tag:blogger.com,1999:blog-26834319043929037762024-02-20T16:39:56.187-08:00V8 JavaScript EngineV8 JavaScript EngineUnknownnoreply@blogger.comBlogger74125tag:blogger.com,1999:blog-2683431904392903776.post-42350475151787526212018-09-18T02:18:00.000-07:002018-09-18T02:18:04.016-07:00Improving DataView performance in V8<style>
figure { margin: 1em 0;}
figcaption { text-align: center; font-size: 90%; }
figure, img { max-width: 100%; height: auto; }
</style>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView"><code>DataView</code>s</a> are one of the two possible ways to do low-level memory accesses in JavaScript, the other one being <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray"><code>TypedArray</code>s</a>. Up until now, <code>DataView</code>s were much less optimized than <code>TypedArray</code>s in V8, resulting in lower performance on tasks such as graphics-intensive workloads or when decoding/encoding binary data. The reasons for this have been mostly historical choices, like the fact that <a href="http://asmjs.org/">asm.js</a> chose <code>TypedArray</code>s instead of <code>DataView</code>s, and so engines were incentivized to focus on performance of <code>TypedArray</code>s.</p>
<p>Because of the performance penalty, JavaScript developers such as the Google Maps team decided to avoid <code>DataView</code>s and rely on <code>TypedArray</code>s instead, at the cost of increased code complexity. This blog post explains how we brought <code>DataView</code> performance to match — and even surpass — equivalent <code>TypedArray</code> code in <a href="https://v8project.blogspot.com/2018/08/v8-release-69.html">V8 v6.9</a>, effectively making <code>DataView</code> usable for performance-critical real-world applications.</p>
<h2>Background</h2>
<p>Since the introduction of ES2015, JavaScript has supported reading and writing data in raw binary buffers called <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code>s</a>. <code>ArrayBuffer</code>s cannot be directly accessed; rather, programs must use a so-called <em>array buffer view</em> object that can be either a <code>DataView</code> or a <code>TypedArray</code>.</p>
<p><code>TypedArray</code>s allow programs to access the buffer as an array of uniformly typed values, such as an <code>Int16Array</code> or a <code>Float32Array</code>.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> buffer = <span class="hljs-keyword">new</span> <span class="hljs-built_in">ArrayBuffer</span>(<span class="hljs-number">32</span>);
<span class="hljs-keyword">const</span> array = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Int16Array</span>(buffer);
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> i = <span class="hljs-number">0</span>; i < array.length; i++) {
array[i] = i * i;
}
<span class="hljs-built_in">console</span>.log(array);
<span class="hljs-comment">// → [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225]</span>
</code></pre>
<p>On the other hand, <code>DataView</code>s allow for more fine-grained data access. They let the programmer choose the type of values read from and written tothe buffer by providing specialized getters and setters for each number type, making them useful for serializing data structures.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> buffer = <span class="hljs-keyword">new</span> <span class="hljs-built_in">ArrayBuffer</span>(<span class="hljs-number">32</span>);
<span class="hljs-keyword">const</span> view = <span class="hljs-keyword">new</span> <span class="hljs-built_in">DataView</span>(buffer);
<span class="hljs-keyword">const</span> person = { <span class="hljs-attr">age</span>: <span class="hljs-number">42</span>, <span class="hljs-attr">height</span>: <span class="hljs-number">1.76</span> };
view.setUint8(<span class="hljs-number">0</span>, person.age);
view.setFloat64(<span class="hljs-number">1</span>, person.height);
<span class="hljs-built_in">console</span>.log(view.getUint8(<span class="hljs-number">0</span>)); <span class="hljs-comment">// Expected output: 42</span>
<span class="hljs-built_in">console</span>.log(view.getFloat64(<span class="hljs-number">1</span>)); <span class="hljs-comment">// Expected output: 1.76</span>
</code></pre>
<p>Moreover, <code>DataView</code>s also allow the choice of the endianness of the data storage, which can be useful when receiving data from external sources such as the network, a file, or a GPU.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> buffer = <span class="hljs-keyword">new</span> <span class="hljs-built_in">ArrayBuffer</span>(<span class="hljs-number">32</span>);
<span class="hljs-keyword">const</span> view = <span class="hljs-keyword">new</span> <span class="hljs-built_in">DataView</span>(buffer);
view.setInt32(<span class="hljs-number">0</span>, <span class="hljs-number">0x8BADF00D</span>, <span class="hljs-literal">true</span>); <span class="hljs-comment">// Little-endian write.</span>
<span class="hljs-built_in">console</span>.log(view.getInt32(<span class="hljs-number">0</span>, <span class="hljs-literal">false</span>)); <span class="hljs-comment">// Big-endian read.</span>
<span class="hljs-comment">// Expected output: 0x0DF0AD8B (233876875)</span>
</code></pre>
<p>An efficient <code>DataView</code> implementation has been a feature request for a long time (see <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=225811">this bug report</a> from over 5 years ago), and we are happy to announce that DataView performance is now on par!</p>
<h2>Legacy runtime implementation</h2>
<p>Until recently, the <code>DataView</code> methods used to be implemented as built-in C++ runtime functions in V8. This is very costly, because each call would require an expensive transition from JavaScript to C++ (and back).</p>
<p>In order to investigate the actual performance cost incurred by this implementation, we set up a performance benchmark that compares the native <code>DataView</code> getter implementation with a JavaScript wrapper simulating <code>DataView</code> behavior. This wrapper uses an <code>Uint8Array</code> to read data byte by byte from the underlying buffer, and then computes the return value from those bytes. Here is, for example, the function for reading little-endian 32-bit unsigned integer values:</p>
<pre class="hljs language-js"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">LittleEndian</span>(<span class="hljs-params">buffer</span>) </span>{ <span class="hljs-comment">// Simulate little-endian DataView reads.</span>
<span class="hljs-keyword">this</span>.uint8View_ = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Uint8Array</span>(buffer);
}
LittleEndian.prototype.getUint32 = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">byteOffset</span>) </span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.uint8View_[byteOffset] |
(<span class="hljs-keyword">this</span>.uint8View_[byteOffset + <span class="hljs-number">1</span>] << <span class="hljs-number">8</span>) |
(<span class="hljs-keyword">this</span>.uint8View_[byteOffset + <span class="hljs-number">2</span>] << <span class="hljs-number">16</span>) |
(<span class="hljs-keyword">this</span>.uint8View_[byteOffset + <span class="hljs-number">3</span>] << <span class="hljs-number">24</span>);
};
</code></pre>
<p><code>TypedArray</code>s are already heavily optimized in V8, so they represent the performance goal that we wanted to match.</p>
<figure>
<img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM3MSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB3aWR0aD0iNjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Im05MC41NSAxOC41NWgzNTMuNjR2MjgyLjloLTM1My42NHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im05MC41IDE4LjV2MjgzIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0ibTE3OC41IDE4LjV2MjgzbTg5LTI4M3YyODNtODgtMjgzdjI4M204OS0yODN2MjgzIiBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgOTl2LTM4aDcyYTIgMiAwIDAgMSAyIDJ2MzRhMiAyIDAgMCAxIC0yIDJ6bTAgMTIwdi0zOGg3MmEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iIzQyODVmNCIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNhKSIgZD0ibTkxIDEzOHYtMzhoMzIzYTIgMiAwIDAgMSAyIDJ2MzRhMiAyIDAgMCAxIC0yIDJ6bTAgMTIwdi0zOGgyNzdhMiAyIDAgMCAxIDIgMnYzNGEyIDIgMCAwIDEgLTIgMnoiIGZpbGw9IiMxYzQ1ODciLz48cGF0aCBkPSJtMTc2LjM1NCAzNDkuNDV2LTguNTMxaDIuNzk3cTEuMzkgMCAyLjA3OC41NzguNzAzLjU2Mi43MDMgMS42ODcgMCAuNjEtLjM0MyAxLjA3OC0uMzI4LjQ1NC0uOTIyLjcwNC43MDMuMTg3IDEuMDk0LjczNC40MDYuNTMxLjQwNiAxLjI4MSAwIDEuMTU2LS43NSAxLjgxMy0uNzM0LjY1Ni0yLjA5NC42NTZ6bTEuMTI1LTMuOTg0djMuMDYyaDEuODZxLjc5NyAwIDEuMjUtLjQwNi40NTMtLjQwNi40NTMtMS4xMjUgMC0xLjUzMS0xLjY4OC0xLjUzMXptMC0uOTA3aDEuNzAzcS43MzUgMCAxLjE3Mi0uMzU5LjQ1My0uMzc1LjQ1My0xLjAxNiAwLS43MDMtLjQwNi0xLjAxNS0uNDA2LS4zMjgtMS4yNS0uMzI4aC0xLjY3MnptOC4zNDQgNS4wMTZxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OC0uNDU0em00LjUzLS43OC4wMzIuNzk2cS43MzQtLjkwNiAxLjkwNi0uOTA2IDIuMDE2IDAgMi4wMzEgMi4yNjV2NC4xODhoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptOC41MTYgNS41NzdxLjU3OCAwIDEuMDE2LS4zNDMuNDM4LS4zNi40ODQtLjg5MWgxLjAzMnEtLjAzMi41NDctLjM5MSAxLjA0Ny0uMzQ0LjQ4NC0uOTIyLjc4MS0uNTYyLjI5Ny0xLjIxOS4yOTctMS4yOTcgMC0yLjA2Mi0uODYtLjc1LS44NzQtLjc1LTIuMzc0di0uMTg4cTAtLjkyMi4zMjgtMS42NC4zNDQtLjcyLjk2OS0xLjExLjY0LS40MDYgMS41MTUtLjQwNiAxLjA2MyAwIDEuNzY2LjY0LjcxOS42MjUuNzY2IDEuNjU3aC0xLjAzMnEtLjA0Ny0uNjI1LS40NjgtMS4wMTYtLjQyMi0uMzktMS4wMzItLjM5LS44MjggMC0xLjI4LjU5My0uNDU0LjU5NC0uNDU0IDEuNzE5di4yMDNxMCAxLjA5NC40NTMgMS42ODguNDUzLjU5MyAxLjI4MS41OTN6bTQuNTQ3LTQuODEycS43MTktLjg3NSAxLjg3NS0uODc1IDIuMDE2IDAgMi4wMzEgMi4yNjV2NC4xODhoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di05aDEuMDc4em02LjkzOC0uNzY2LjAzMS43MDNxLjY4OC0uODEyIDEuODc1LS44MTIgMS4zMjggMCAxLjgxMyAxLjAxNS4zMTItLjQ1My44MTItLjczNC41MTYtLjI4MSAxLjIwMy0uMjgxIDIuMDk0IDAgMi4xMjUgMi4yMDN2NC4yNWgtMS4wNzh2LTQuMTg4cTAtLjY3MS0uMzEzLTEtLjMxMi0uMzQzLTEuMDQ2LS4zNDMtLjYxIDAtMS4wMTYuMzYtLjM5LjM1OC0uNDUzLjk2OHY0LjIwM2gtMS4wNzh2LTQuMTU2cTAtMS4zNzUtMS4zNi0xLjM3NS0xLjA2MiAwLTEuNDUzLjkwNnY0LjYyNWgtMS4wOTR2LTYuMzQ0em0xMy44OSA2LjM0NHEtLjA5My0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTkzLS41MzEtLjU5My0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0N3YtLjVxMC0uNTYyLS4zNDQtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg1LjMyOC0uOTIyLjM0NC0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2Ni40NTItLjI2NS42NTYtLjY4N3YtMS4yOTdoLS44NDRxLTIgMC0yIDEuMTcyIDAgLjUuMzQ0Ljc5Ny4zNDMuMjguODc1LjI4em03Ljk1NC00LjU0N3EtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh6bTIuNzAzIDIuNDM4LS42ODguNzAzdjIuMjM0aC0xLjA3OHYtOWgxLjA3OHY1LjQzOGwuNTc4LS42ODggMS45ODUtMi4wOTRoMS4zMTJsLTIuNDY5IDIuNjU2IDIuNzY2IDMuNjg4aC0xLjI4MWwtMi4yMDMtMi45Mzh6bTEwLjkyMiAxLjI1cTAtLjQzOC0uMzQ0LS42NzItLjMyOC0uMjUtMS4xNTYtLjQyMi0uODEzLS4xNzItMS4yOTctLjQyMi0uNDg1LS4yNS0uNzE5LS41NzgtLjIxOS0uMzQ0LS4yMTktLjgxMyAwLS43ODEuNjU2LTEuMzEyLjY1Ny0uNTQ3IDEuNjg4LS41NDcgMS4wNzggMCAxLjczNC41NjIuNjcyLjU0Ny42NzIgMS40MDdoLTEuMDc4cTAtLjQzOC0uMzktLjc1LS4zNzUtLjMyOS0uOTM4LS4zMjktLjU5NCAwLS45MzguMjY2LS4zMjguMjUtLjMyOC42NTYgMCAuMzkxLjMxMy41OTQuMzEyLjIwMyAxLjEyNS4zOS44MTIuMTczIDEuMzEyLjQyM3QuNzM1LjYwOXEuMjUuMzYuMjUuODYgMCAuODU5LS42ODggMS4zNzQtLjY3Mi41MTYtMS43NS41MTYtLjc2NSAwLTEuMzYtLjI2Ni0uNTc3LS4yOC0uOTA1LS43NjUtLjMyOC0uNDg1LS4zMjgtMS4wNDdoMS4wNzhxLjAzLjU0Ny40MzcuODc1LjQwNi4zMTIgMS4wNzguMzEyLjYxIDAgLjk4NS0uMjV0LjM3NS0uNjcyem00Ljg0My45MjFxLjU3OCAwIDEuMDE2LS4zNDMuNDM4LS4zNi40ODQtLjg5MWgxLjAzMnEtLjAzMi41NDctLjM5MSAxLjA0Ny0uMzQ0LjQ4NC0uOTIyLjc4MS0uNTYyLjI5Ny0xLjIxOS4yOTctMS4yOTcgMC0yLjA2Mi0uODYtLjc1LS44NzQtLjc1LTIuMzc0di0uMTg4cTAtLjkyMi4zMjgtMS42NC4zNDQtLjcyLjk2OS0xLjExLjY0LS40MDYgMS41MTUtLjQwNiAxLjA2MyAwIDEuNzY2LjY0LjcxOS42MjUuNzY2IDEuNjU3aC0xLjAzMnEtLjA0Ny0uNjI1LS40NjgtMS4wMTYtLjQyMi0uMzktMS4wMzItLjM5LS44MjggMC0xLjI4LjU5My0uNDU0LjU5NC0uNDU0IDEuNzE5di4yMDNxMCAxLjA5NC40NTMgMS42ODguNDUzLjU5MyAxLjI4MS41OTN6bTMuMTcyLTIuNDY4cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU2LS4zNi43MzUtMS4wMTUgMS4xNTctLjY1Ny40MDYtMS41MTYuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxem0xLjA5NC4xNHEwIDEuMDQ3LjQ4NCAxLjY4OC41LjY0IDEuMzEzLjY0LjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ni40ODUtMS44MjggMC0xLjAzMi0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjUtLjQ4NCAxLjgyOHptOS4yNjYtMi4yODFxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em0zLjU2MiA1LjVxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em02LjQ2OCAyLjA5NHEwLTEuMzEyLjM0NC0yLjUzMS4zNi0xLjIxOSAxLjA2My0yLjIxOS43MDMtMSAxLjQ2OC0xLjQwNmwuMjE5LjcxOXEtLjg2LjY1Ni0xLjQwNiAyLS41NDcgMS4zNDQtLjU5NCAzLjAxNWwtLjAxNi41cTAgMi4yNjYuODI5IDMuOTIyLjUgMSAxLjE4NyAxLjU2M2wtLjIxOS42NTZxLS43ODEtLjQyMi0xLjUtMS40NTMtMS4zNzUtMS45ODUtMS4zNzUtNC43NjZ6bTUuMTI1LTIuMTFxLjcxOS0uODc0IDEuODc1LS44NzQgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh2My40MjJ6bTcuMDk0IDUuNTc5aC0xLjA3OHYtNi4zNDRoMS4wNzh6bS0xLjE3Mi04LjAxNnEwLS4yNjUuMTU2LS40NTMuMTcyLS4xODcuNDg1LS4xODcuMzEyIDAgLjQ2OS4xODcuMTcxLjE4OC4xNzEuNDUzIDAgLjI1LS4xNzEuNDM4LS4xNTcuMTcyLS40Ny4xNzItLjMxMiAwLS40ODQtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em0yLjczNSA0Ljc5N3EwLTEuNDg0LjY4Ny0yLjM2LjY4OC0uODc0IDEuODEzLS44NzQgMS4xNTYgMCAxLjgxMi44MTJsLjA0Ny0uNzAzaDF2Ni4xODhxMCAxLjIzNC0uNzM0IDEuOTM3LS43MzUuNzE5LTEuOTU0LjcxOS0uNjg3IDAtMS4zNDMtLjI5Ny0uNjU3LS4yOTctMS0uNzk3bC41NjItLjY1NnEuNjg4Ljg2IDEuNzAzLjg2Ljc4MSAwIDEuMjE5LS40NTQuNDUzLS40MzcuNDUzLTEuMjV2LS41NDdxLS42NTYuNzY2LTEuNzgxLjc2Ni0xLjExIDAtMS43OTctLjg5LS42ODgtLjkwNy0uNjg4LTIuNDU0em0xLjA5My4xMjVxMCAxLjA2My40MzggMS42ODguNDM3LjYxIDEuMjM0LjYxIDEuMDE2IDAgMS41LS45Mzh2LTIuODkxcS0uNS0uOTA2LTEuNS0uOTA2LS43ODEgMC0xLjIzNC42MS0uNDM4LjYwOC0uNDM4IDEuODI3em03LjI1LTIuNDg0cS43MTktLjg3NSAxLjg3NS0uODc1IDIuMDE2IDAgMi4wMzEgMi4yNjV2NC4xODhoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di05aDEuMDc4em04LjU0NyA1LjcwM3EtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTYuNTc4LjE4OHEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh6bTUuMTA5IDUuMzc1aC0xLjA3OHYtNi4zNDRoMS4wNzh6bS0xLjE3Mi04LjAxNnEwLS4yNjUuMTU2LS40NTMuMTcyLS4xODcuNDg1LS4xODcuMzEyIDAgLjQ2OS4xODcuMTcxLjE4OC4xNzEuNDUzIDAgLjI1LS4xNzEuNDM4LS4xNTcuMTcyLS40Ny4xNzItLjMxMiAwLS40ODQtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em02LjY4OCA2LjMyOHEwLS40MzctLjM0NC0uNjcxLS4zMjgtLjI1LTEuMTU2LS40MjItLjgxMy0uMTcyLTEuMjk3LS40MjItLjQ4NS0uMjUtLjcxOS0uNTc4LS4yMTktLjM0NC0uMjE5LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTctLjU0NyAxLjY4OC0uNTQ3IDEuMDc4IDAgMS43MzQuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OHEwLS40MzgtLjM5LS43NS0uMzc1LS4zMjktLjkzOC0uMzI5LS41OTQgMC0uOTM4LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTMuNTk0LjMxMi4yMDMgMS4xMjUuMzkuODEyLjE3MyAxLjMxMi40MjN0LjczNS42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg4IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjUgMC0xLjM2LS4yNjYtLjU3Ny0uMjgtLjkwNS0uNzY1LS4zMjktLjQ4NS0uMzI5LTEuMDQ3aDEuMDc5cS4wMy41NDcuNDM3Ljg3NS40MDYuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptMTAuNjcxLTEuNDA2cTAgMS40NTMtLjY3MSAyLjM0NC0uNjU3Ljg3NS0xLjc4Mi44NzUtMS4yMDMgMC0xLjg1OS0uODZsLS4wNjMuNzM1aC0uOTg0di05aDEuMDc4djMuMzZxLjY1Ni0uODEzIDEuODEzLS44MTMgMS4xNTYgMCAxLjgxMi44NzUuNjU2Ljg2LjY1NiAyLjM5em0tMS4wNzgtLjEyNXEwLTEuMTEtLjQzNy0xLjcwMy0uNDIyLS42MS0xLjIxOS0uNjEtMS4wNzggMC0xLjU0Ny45ODV2Mi43NXEuNSAxIDEuNTQ3IDEgLjc4MSAwIDEuMjE5LS42MS40MzctLjYwOS40MzctMS44MTJ6bTUuMzQ0IDMuMzQ0cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIxLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNC45ODQtMi4zMTJ2MS41MzFoMS4xNzJ2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1di0zLjkyMmgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxem00IDB2MS41MzFoMS4xNzJ2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1di0zLjkyMmgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxem01LjE1NiA4cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIxLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMy40MzcgMS45NjlxMCAxLjMxMi0uMzQ0IDIuNTE1LS4zNDMgMS4xODgtMS4wNjIgMi4yMDMtLjcwMyAxLjAxNi0xLjQ2OSAxLjQzOGwtLjIzNC0uNjU2cS45MDYtLjY4OCAxLjQ1My0yLjE0LjU0Ny0xLjQ3LjU2Mi0zLjIzNXYtLjE4OHEwLTEuMjM0LS4yNjUtMi4yOTctLjI1LTEuMDYyLS43MTktMS44OS0uNDUzLS44NDQtMS4wMzEtMS4zMTNsLjIzNC0uNjU2cS43NjYuNDIyIDEuNDY5IDEuNDIyLjcwMyAxIDEuMDQ3IDIuMjE5LjM2IDEuMjAzLjM2IDIuNTc4em0tMzMwLjE2NC0yNDEuNzM1di04LjUzMmgyLjc5N3ExLjM5IDAgMi4wNzguNTc4LjcwMy41NjMuNzAzIDEuNjg4IDAgLjYxLS4zNDMgMS4wNzgtLjMyOC40NTMtLjkyMi43MDMuNzAzLjE4OCAxLjA5NC43MzUuNDA2LjUzLjQwNiAxLjI4IDAgMS4xNTctLjc1IDEuODEzLS43MzUuNjU3LTIuMDk0LjY1N3ptMS4xMjUtMy45ODV2My4wNjNoMS44NnEuNzk3IDAgMS4yNS0uNDA3LjQ1My0uNDA2LjQ1My0xLjEyNSAwLTEuNTMtMS42ODgtMS41M2gtMS44NzR6bTAtLjkwNmgxLjcwNHEuNzM0IDAgMS4xNzEtLjM2LjQ1My0uMzc0LjQ1My0xLjAxNSAwLS43MDMtLjQwNi0xLjAxNi0uNDA2LS4zMjgtMS4yNS0uMzI4aC0xLjY3MXYyLjcxOXptNi44OTEgNC44OWgtMS4wNzh2LTYuMzQzaDEuMDc4djYuMzQ0em0tMS4xNzItOC4wMTVxMC0uMjY2LjE1Ni0uNDUzLjE3Mi0uMTg4LjQ4NS0uMTg4LjMxMiAwIC40NjguMTg4LjE3Mi4xODcuMTcyLjQ1MyAwIC4yNS0uMTcyLjQzNy0uMTU2LjE3Mi0uNDY4LjE3Mi0uMzEzIDAtLjQ4NS0uMTcyLS4xNTYtLjE4Ny0uMTU2LS40Mzd6bTIuNzM0IDQuNzk3cTAtMS40ODUuNjg4LTIuMzYuNjg4LS44NzUgMS44MTMtLjg3NSAxLjE1NiAwIDEuODEyLjgxM2wuMDQ3LS43MDNoMXY2LjE4N3EwIDEuMjM1LS43MzUgMS45MzgtLjczNC43MTktMS45NTMuNzE5LS42ODcgMC0xLjM0My0uMjk3LS42NTctLjI5Ny0xLS43OTdsLjU2Mi0uNjU2cS42ODguODU5IDEuNzAzLjg1OS43ODEgMCAxLjIxOS0uNDUzLjQ1My0uNDM4LjQ1My0xLjI1di0uNTQ3cS0uNjU2Ljc2Ni0xLjc4MS43NjYtMS4xMSAwLTEuNzk3LS44OTEtLjY4OC0uOTA2LS42ODgtMi40NTN6bTEuMDk0LjEyNXEwIDEuMDYyLjQzOCAxLjY4Ny40MzcuNjEgMS4yMzQuNjEgMS4wMTYgMCAxLjUtLjkzOHYtMi44OXEtLjUtLjkwNy0xLjUtLjkwNy0uNzgxIDAtMS4yMzQuNjEtLjQzOC42MDktLjQzOCAxLjgyOHptOC40MjItLjA5NGgtMi44NnYtLjg3NWgyLjg2em0zLjM3NSAzLjMxM3EtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU3LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNS43MTgtLjYyNWwuNjU3LjUxNXEtLjc5NyAxLjIzNS0yLjM5IDEuMjM1em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI5aDMuMTcydi0uMDc5cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00LjUzLS43ODEuMDMyLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg4aC0xLjA5MnYtNC4yMDRxMC0uNjcxLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4Mi0uMzkxLjI4LS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptNS43MiAzLjEyNXEwLTEuNDY5LjY4Ny0yLjM0NC42ODgtLjg5IDEuODEzLS44OSAxLjEwOSAwIDEuNzY1Ljc1di0zLjI5N2gxLjA3OHY5aC0xbC0uMDQ3LS42ODhxLS42NTYuODEzLTEuODEyLjgxMy0xLjA5NCAwLTEuNzk3LS45MDctLjY4OC0uOTA2LS42ODgtMi4zNnYtLjA3N3ptMS4wNzguMTI1cTAgMS4wNzguNDM3IDEuNjg3LjQ1My42MSAxLjIzNC42MSAxLjAzMiAwIDEuNTE2LS45Mzh2LTIuOTA2cS0uNDg0LS44OS0xLjUtLjg5LS43OTcgMC0xLjI1LjYwOS0uNDM3LjYwOS0uNDM3IDEuODI4em03LjM1OSAzLjA5NGgtMS4wNzh2LTYuMzQ0aDEuMDc4em0tMS4xNzItOC4wMTZxMC0uMjY2LjE1Ni0uNDUzLjE3Mi0uMTg4LjQ4NS0uMTg4LjMxMiAwIC40NjguMTg4LjE3Mi4xODcuMTcyLjQ1MyAwIC4yNS0uMTcyLjQzNy0uMTU2LjE3Mi0uNDY4LjE3Mi0uMzEzIDAtLjQ4NS0uMTcyLS4xNTYtLjE4Ny0uMTU2LS40Mzd6bTYuOTA2IDguMDE2cS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMyLS41OTMtLjUzMS0uNTkzLTEuMzYgMC0uOTgzLjc1LTEuNTN0Mi4xMjUtLjU0N2gxLjA0NnYtLjVxMC0uNTYzLS4zNDMtLjg5LS4zMjgtLjM0NS0xLS4zNDUtLjU3OCAwLS45NjkuMjk3LS4zOS4yODItLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIxLjM0My0uNDM4LjkyMi0uNjg4LjU3OC0uMjY2IDEuMjY1LS4yNjYgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTVoLTEuMTR6bS0xLjc5Ny0uODI5cS41MTYgMCAuOTctLjI2NS40NTItLjI2Ni42NTYtLjY4OHYtMS4yOTdoLS44NDRxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjgxLjg3Ni4yODF6bTUuOTA3LTUuNTE1LjAzMS43OTdxLjczNC0uOTA3IDEuOTA2LS45MDcgMi4wMTYgMCAyLjAzMSAyLjI2NnY0LjE4OGgtMS4wOTJ2LTQuMjA0cTAtLjY3MS0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODItLjM5MS4yOC0uNjEuNzM0djQuNTE2aC0xLjA3OHYtNi4zNDRoMS4wMTZ6bS01OC43MTkgMTI1LjgwNWg0LjA0N3YuOTIxaC01LjE4OHYtOC41M2gxLjE0MXptNS44NzUuOTIxaC0xLjA3OHYtNi4zNDNoMS4wNzh6bS0xLjE3Mi04LjAxNXEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OS4xODguMTcxLjE4Ny4xNzEuNDUzIDAgLjI1LS4xNzEuNDM3LS4xNTcuMTcyLS40Ny4xNzItLjMxMiAwLS40ODQtLjE3Mi0uMTU2LS4xODctLjE1Ni0uNDM3em00LjQ2OS4xNHYxLjUzMmgxLjE3MnYuODQzaC0xLjE3MnYzLjkyMnEwIC4zOTEuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM3LS4zNzUtLjQ1My0uMzc1LTEuMjY2di0zLjkyMmgtMS4xNTZ2LS44NDNoMS4xNTZ2LTEuNTMyem00IDB2MS41MzJoMS4xNzJ2Ljg0M2gtMS4xNzJ2My45MjJxMCAuMzkxLjE1Ni41NzguMTU2LjE4OC41MzEuMTg4LjE4OCAwIC41MTYtLjA2M3YuODc1cS0uNDIyLjEyNS0uODI4LjEyNS0uNzE5IDAtMS4wOTQtLjQzNy0uMzc1LS40NTMtLjM3NS0xLjI2NnYtMy45MjJoLTEuMTU2di0uODQzaDEuMTU2di0xLjUzMnptMy43MDMgNy44NzVoLTEuMDc4di05aDEuMDc4em00LjQ1My4xMjVxLTEuMjk3IDAtMi4xMS0uODQzLS43OTYtLjg2LS43OTYtMi4yODJ2LS4xODdxMC0uOTUzLjM2LTEuNjg4LjM1OS0uNzUgMS0xLjE1Ni42NTUtLjQyMiAxLjQwNS0uNDIyIDEuMjM1IDAgMS45MjIuODEzLjY4OC44MTIuNjg4IDIuMzI4di40NTNoLTQuMjk3cS4wMzEuOTM4LjU0NyAxLjUxNi41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzUuNDA2LS4yMzQuNzE4LS42MjVsLjY1Ny41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4N3EtLjY1NyAwLTEuMTEuNDg0LS40MzcuNDctLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yOC0uMzkxLS40NTQtMS4wNzktLjQ1NHptNS43NjUgMi4zNzVoLTIuODZ2LS44NzVoMi44NnptMy4zNzUgMy4zMTJxLTEuMjk3IDAtMi4xMS0uODQzLS43OTYtLjg2LS43OTYtMi4yODJ2LS4xODdxMC0uOTUzLjM2LTEuNjg4LjM1OS0uNzUgMS0xLjE1Ni42NTUtLjQyMiAxLjQwNS0uNDIyIDEuMjM1IDAgMS45MjIuODEzLjY4OC44MTIuNjg4IDIuMzI4di40NTNoLTQuMjk3cS4wMzEuOTM4LjU0NyAxLjUxNi41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzUuNDA2LS4yMzQuNzE4LS42MjVsLjY1Ny41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4N3EtLjY1NyAwLTEuMTEuNDg0LS40MzcuNDctLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yOC0uMzkxLS40NTQtMS4wNzktLjQ1NHptNC41My0uNzgxLjAzMi43OTdxLjczNC0uOTA3IDEuOTA2LS45MDcgMi4wMTYgMCAyLjAzMSAyLjI2NnY0LjE4N2gtMS4wOTJ2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODItLjYxLjczNXY0LjUxNWgtMS4wNzh2LTYuMzQzaDEuMDE2em01LjcyIDMuMTI1cTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTA5IDAgMS43NjUuNzV2LTMuMjk4aDEuMDc4djloLTFsLS4wNDctLjY4N3EtLjY1Ni44MTItMS44MTIuODEyLTEuMDk0IDAtMS43OTctLjkwNi0uNjg4LS45MDYtLjY4OC0yLjM2di0uMDc3em0xLjA3OC4xMjVxMCAxLjA3OC40MzcgMS42ODcuNDUzLjYxIDEuMjM0LjYxIDEuMDMyIDAgMS41MTYtLjkzOHYtMi45MDZxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjA5LS40MzcuNjA5LS40MzcgMS44Mjh6bTcuMzU5IDMuMDkzaC0xLjA3OHYtNi4zNDNoMS4wNzh6bS0xLjE3Mi04LjAxNXEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptNi45MDYgOC4wMTVxLS4wOTMtLjE4Ny0uMTU2LS42NzEtLjc1Ljc5Ni0xLjc5Ny43OTYtLjkzNyAwLTEuNTQ3LS41My0uNTkzLS41MzItLjU5My0xLjM2IDAtLjk4NS43NS0xLjUzMS43NS0uNTQ3IDIuMTI1LS41NDdoMS4wNDZ2LS41cTAtLjU2My0uMzQzLS44OS0uMzI4LS4zNDUtMS0uMzQ1LS41NzggMC0uOTY5LjI5Ny0uMzkuMjgxLS4zOS43MDNoLTEuMDk0cTAtLjQ4NC4zMjgtLjkyMi4zNDMtLjQzNy45MjItLjY4Ny41NzgtLjI2NiAxLjI2NS0uMjY2IDEuMTEgMCAxLjcxOS41NDcuNjI1LjU0Ny42NTYgMS41djIuOTIycTAgLjg3NS4yMTkgMS4zOXYuMDk0aC0xLjE0em0tMS43OTctLjgyOHEuNTE2IDAgLjk3LS4yNjUuNDUyLS4yNjYuNjU2LS42ODh2LTEuMjk3aC0uODQ0cS0yIDAtMiAxLjE3MiAwIC41LjM0My43OTcuMzQ0LjI4MS44NzYuMjgxem01LjkwNy01LjUxNS4wMzEuNzk3cS43MzQtLjkwNyAxLjkwNi0uOTA3IDIuMDE2IDAgMi4wMzEgMi4yNjZ2NC4xODdoLTEuMDkydi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgyLS42MS43MzV2NC41MTVoLTEuMDc4di02LjM0M2gxLjAxNnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJtOTIuNTk3IDMxMy40MTlxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTgyLjI2OS43MDMuMzc1LTMuNTQ2aDMuNjR2LjgyOGgtMi44NzRsLS4yMiAxLjkzN3EuNTE3LS4yOTcgMS4xODgtLjI5Ny45NyAwIDEuNTMyLjY0MS41NzguNjQuNTc4IDEuNzM0IDAgMS4wOTQtLjU5NCAxLjczNS0uNTk0LjYyNS0xLjY1Ni42MjUtLjkzOCAwLTEuNTQ3LS41MTYtLjU5NC0uNTMxLS42NzItMS40NTNoLjg2cS4wNzguNjEuNDIxLjkyMi4zNi4zMTIuOTM4LjMxMi42MjUgMCAuOTg0LS40MjIuMzYtLjQzNy4zNi0xLjE4NyAwLS43MTktLjM5MS0xLjE0LS4zNzUtLjQzOC0xLjAzMS0uNDM4LS41NzggMC0uOTIyLjI1bC0uMjM1LjIwM3ptMTAuMDQ3LjUzMnEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOC0xLjY3Mi0uMzEzLS41My0xLjAxNi0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNzguODMyIDQuMjY2aC0uOTA3di02LjAxNmwtMS44MjguNjU3di0uODEzbDIuNTk0LS45NjloLjE0djcuMTQxem03LjQ4NC0zLjAzMXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTc1LjgzMSA0LjI2NmgtLjkwNnYtNi4wMTZsLTEuODI4LjY1N3YtLjgxM2wyLjU5NC0uOTY5aC4xNHptMy40MzgtMy41NjMuMzc1LTMuNTQ2aDMuNjR2LjgyOGgtMi44NzRsLS4yMiAxLjkzN3EuNTE2LS4yOTcgMS4xODgtLjI5Ny45NyAwIDEuNTMyLjY0MS41NzguNjQuNTc4IDEuNzM0IDAgMS4wOTQtLjU5NCAxLjczNS0uNTk0LjYyNS0xLjY1Ni42MjUtLjkzOCAwLTEuNTQ3LS41MTYtLjU5NC0uNTMxLS42NzItMS40NTNoLjg2cS4wNzcuNjEuNDIxLjkyMi4zNi4zMTIuOTM4LjMxMi42MjUgMCAuOTg0LS40MjIuMzYtLjQzNy4zNi0xLjE4NyAwLS43MTktLjM5MS0xLjE0LS4zNzUtLjQzOC0xLjAzMS0uNDM4LS41NzkgMC0uOTIyLjI1bC0uMjM1LjIwM3ptMTAuMDQ3LjUzMnEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNzcuNTE5IDQuMjY2aC00LjY1NnYtLjY1NmwyLjQ1My0yLjczNXEuNTQ3LS42MDkuNzUtMSAuMjE5LS4zOS4yMTktLjgxMiAwLS41NDctLjM0NC0uOTA2LS4zMjgtLjM2LS44OS0uMzYtLjY3MyAwLTEuMDQ4LjM5LS4zNzUuMzc2LS4zNzUgMS4wNjNoLS45MDZxMC0uOTg0LjYyNS0xLjU3OC42NC0uNjEgMS43MDMtLjYxLjk4NSAwIDEuNTYzLjUxNy41NzguNTE1LjU3OCAxLjM5IDAgMS4wNDctMS4zNDQgMi41bC0xLjg5IDIuMDYzaDMuNTYyem01Ljc5Ny0zLjAzMXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6IiBmaWxsPSIjNjY2Ii8+PHBhdGggZD0ibTQ2Ni40NSAyMC41NWExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxIC0xIDFoLTEwYTEgMSAwIDAgMSAtMS0xeiIgZmlsbD0iIzQyODVmNCIvPjxwYXRoIGQ9Im00ODcuMzU2IDI5LjU1di03LjgyOGgyLjIwM3ExLjAzMiAwIDEuODEzLjQ1My43ODEuNDUzIDEuMjAzIDEuMjk3LjQzOC44MjguNDM4IDEuOTA2di41cTAgMS4xMS0uNDM4IDEuOTM4LS40MjIuODI4LTEuMjE5IDEuMjgtLjc4MS40MzgtMS44MjguNDU0em0xLjAzMS02Ljk2OXY2LjEyNWgxLjA5NHExLjE4OCAwIDEuODQ0LS43MzQuNjcyLS43NS42NzItMi4xMjV2LS40NTNxMC0xLjMyOC0uNjI1LTIuMDYzLS42MjUtLjc1LTEuNzgxLS43NXptOS40MDcgNi45NjlxLS4wOTQtLjE3Mi0uMTQtLjYxLS43MDQuNzItMS42NTcuNzItLjg2IDAtMS40MjItLjQ4NS0uNTQ3LS40ODQtLjU0Ny0xLjIzNCAwLS45MDcuNjg4LTEuNDA3LjcwMy0uNTE1IDEuOTUzLS41MTVoLjk2OXYtLjQ1M3EwLS41MTYtLjMxMy0uODI4LS4zMTMtLjMxMy0uOTIyLS4zMTMtLjUzMSAwLS44OS4yODEtLjM2LjI2Ni0uMzYuNjRoLTFxMC0uNDM3LjMxMy0uODQzLjMxMi0uNDA2LjgyOC0uNjQuNTMxLS4yMzUgMS4xNzItLjIzNSAxIDAgMS41NjIuNS41NzguNS41OTQgMS4zOXYyLjY3M3EwIC43OTcuMjAzIDEuMjY1di4wOTR6bS0xLjY1Ni0uNzVxLjQ2OCAwIC44OS0uMjM0LjQyMi0uMjUuNjEtLjY0MXYtMS4xODhoLS43ODJxLTEuODI4IDAtMS44MjggMS4wNjMgMCAuNDY5LjMxMy43MzQuMzEyLjI2Ni43OTYuMjY2em01LjQwNi02LjQ2OXYxLjQwN2gxLjA5NHYuNzY1aC0xLjA5NHYzLjYxcTAgLjM0My4xNC41My4xNTcuMTczLjUuMTczLjE3MiAwIC40ODUtLjA3OHYuODEycS0uNDA2LjExLS43NjYuMTEtLjY3MiAwLTEuMDE2LS40MDctLjMyOC0uNDA2LS4zMjgtMS4xNHYtMy42MWgtMS4wNjJ2LS43NjVoMS4wNjJ2LTEuNDA4aC45ODV6bTYuMjUgNy4yMTlxLS4wOTQtLjE3Mi0uMTQtLjYxLS43MDQuNzItMS42NTcuNzItLjg2IDAtMS40MjItLjQ4NS0uNTQ3LS40ODQtLjU0Ny0xLjIzNCAwLS45MDcuNjg4LTEuNDA3LjcwMy0uNTE1IDEuOTUzLS41MTVoLjk2OXYtLjQ1M3EwLS41MTYtLjMxMy0uODI4LS4zMTMtLjMxMy0uOTIyLS4zMTMtLjUzMSAwLS44OS4yODEtLjM2LjI2Ni0uMzYuNjRoLTFxMC0uNDM3LjMxMy0uODQzLjMxMi0uNDA2LjgyOC0uNjQuNTMxLS4yMzUgMS4xNzItLjIzNSAxIDAgMS41NjIuNS41NzguNS41OTQgMS4zOXYyLjY3M3EwIC43OTcuMjAzIDEuMjY1di4wOTR6bS0xLjY1Ni0uNzVxLjQ2OCAwIC44OS0uMjM0LjQyMi0uMjUuNjEtLjY0MXYtMS4xODhoLS43ODJxLTEuODI4IDAtMS44MjggMS4wNjMgMCAuNDY5LjMxMy43MzQuMzEyLjI2Ni43OTYuMjY2em02LjgxMi0uNjI1IDIuMjM0LTYuNDUzaDEuMTI1bC0yLjkwNiA3LjgyOGgtLjkwNmwtMi44OS03LjgyOGgxLjEwOXptNS4zMjggMS4zNzVoLS45ODR2LTUuODEzaC45ODR6bS0xLjA3OC03LjM2cTAtLjIzNC4xNC0uMzkuMTU3LS4xNzIuNDU0LS4xNzIuMjk3IDAgLjQzNy4xNzIuMTU3LjE1Ni4xNTcuNDA2IDAgLjIzNS0uMTU3LjM5LS4xNC4xNTctLjQzNy4xNTd0LS40NTMtLjE1NnEtLjE0MS0uMTU2LS4xNDEtLjQwNnptNS40MDYgNy40N3EtMS4xNzIgMC0xLjkyMi0uNzY2LS43MzQtLjc4MS0uNzM0LTIuMDk0di0uMTcycTAtLjg3NS4zMjgtMS41NDcuMzI4LS42ODcuOTIyLTEuMDYyLjU5NC0uMzkgMS4yOTctLjM5IDEuMTI1IDAgMS43NS43NS42NC43NS42NCAyLjE0di40MDZoLTMuOTM3cS4wMTYuODYuNDg0IDEuMzkuNDg1LjUzMiAxLjIzNS41MzIuNTMxIDAgLjg5LS4yMTkuMzYtLjIxOS42NDEtLjU2MmwuNjEuNDY4cS0uNzM1IDEuMTI1LTIuMjA0IDEuMTI1em0tLjExLTUuMjJxLS42MDggMC0xLjAxNS40MzgtLjQwNi40MzgtLjUgMS4yMzVoMi45MDd2LS4wNzlxLS4wNDctLjc1LS40MjItMS4xNzEtLjM2LS40MjItLjk3LS40MjJ6bTguODQ1IDMuNzM1IDEuMTI1LTQuNDM4aDFsLTEuNzAzIDUuODEzaC0uNzk3bC0xLjQyMi00LjQwNi0xLjM3NSA0LjQwNmgtLjc5N2wtMS42ODgtNS44MTNoLjk4NWwxLjE0IDQuMzQ0IDEuMzYtNC4zNDNoLjc5N3oiIGZpbGw9IiM2NjYiLz48cGF0aCBkPSJtNDY2LjQ1IDQ0LjU1YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEgLTEgMWgtMTBhMSAxIDAgMCAxIC0xLTF6IiBmaWxsPSIjMWM0NTg3Ii8+PHBhdGggZD0ibTQ5Mi44NTYgNDUuNzIydjUuMzI4cTAgMS4xMS0uNjg3IDEuODEzLS42ODguNzAzLTEuODc1Ljc4bC0uMjY2LjAxNnEtMS4yOTcgMC0yLjA2Mi0uNjg3LS43NS0uNzAzLS43NjYtMS45MjJ2LTUuMzI4aDEuMDE2djUuMjk3cTAgLjg2LjQ2OCAxLjMyOC40Ny40NjkgMS4zNDQuNDY5Ljg3NSAwIDEuMzI4LS40Ny40NjktLjQ2OC40NjktMS4zMTJ2LTUuMzEyem0yLjQyMiA3LjgyOGgtLjk4NHYtNS44MTNoLjk4NHptLTEuMDc4LTcuMzZxMC0uMjM0LjE0LS4zOS4xNTctLjE3Mi40NTQtLjE3Mi4yOTcgMCAuNDM3LjE3Mi4xNTYuMTU2LjE1Ni40MDYgMCAuMjM1LS4xNTYuMzktLjE0LjE1Ny0uNDM3LjE1N3QtLjQ1My0uMTU2cS0uMTQxLS4xNTYtLjE0MS0uNDA2em0zLjkzOCAxLjU0Ny4wMy43MzVxLjY3My0uODQ0IDEuNzUtLjg0NCAxLjg0NCAwIDEuODYgMi4wNzh2My44NDRoLTF2LTMuODQ0cTAtLjYyNS0uMjgxLS45MjItLjI4MS0uMzEyLS44OS0uMzEyLS40NyAwLS44NDUuMjY1LS4zNTkuMjUtLjU2Mi42NzJ2NC4xNDFoLTF2LTUuODEzem02LjQwNi0xLjQwNnYxLjQwNmgxLjA5NHYuNzY2aC0xLjA5NHYzLjYxcTAgLjM0My4xNC41My4xNTcuMTczLjUuMTczLjE3MiAwIC40ODUtLjA3OXYuODEzcS0uNDA2LjExLS43NjYuMTEtLjY3MiAwLTEuMDE2LS40MDctLjMyOC0uNDA2LS4zMjgtMS4xNHYtMy42MWgtMS4wNjJ2LS43NjZoMS4wNjJ2LTEuNDA2em03LjI5NyAxLjQzOHEwIC41OTMtLjMxMyAxLjA0Ny0uMjk3LjQ1My0uODI4LjcxOC42MS4yNS45NjkuNzY2LjM2LjUuMzYgMS4xNCAwIDEuMDE2LS42ODggMS42MjYtLjY4OC41OTMtMS43OTcuNTkzLTEuMTQgMC0xLjgxMy0uNTkzLS42NzItLjYxLS42NzItMS42MjUgMC0uNjQxLjM0NC0xLjE0MS4zNDQtLjUxNi45NTMtLjc4MS0uNTE1LS4yNS0uODI4LS43MDMtLjI5Ny0uNDctLjI5Ny0xLjA0NyAwLS45ODUuNjI1LTEuNTYzLjY0LS41NzggMS42ODgtLjU3OCAxLjAzMSAwIDEuNjU2LjU3OC42NC41NzguNjQgMS41NjN6bS0uODEzIDMuNjU2cTAtLjY1Ni0uNDIyLTEuMDYzLS40MDYtLjQyMS0xLjA3OC0uNDIxdC0xLjA3OC40MDZxLS40MDYuNDA2LS40MDYgMS4wNzggMCAuNjU2LjM5IDEuMDQ3LjQwNy4zNzUgMS4xMS4zNzUuNjg3IDAgMS4wNzgtLjM3NS40MDYtLjM5LjQwNi0xLjA0N3ptLTEuNDg0LTQuOTg0cS0uNTk0IDAtLjk1My4zNTktLjM2LjM2LS4zNi45ODQgMCAuNTk0LjM2Ljk3LjM1OS4zNTguOTUzLjM1OHQuOTUzLS4zNTlxLjM2LS4zNzUuMzYtLjk2OSAwLS41OTMtLjM3Ni0uOTY4LS4zNzUtLjM3NS0uOTM3LS4zNzV6bTguMTI1IDUuMDYyaC0zLjI2NmwtLjczNCAyLjA0N2gtMS4wNjNsMi45ODUtNy44MjhoLjkwNmwyLjk4NCA3LjgyOGgtMS4wNjJ6bS0yLjk1My0uODQ0aDIuNjU2bC0xLjMyOC0zLjY1NnptOC4yOTctMi4wM3EtLjIzNS0uMDMyLS40ODUtLjAzMi0uOTg0IDAtMS4zMjguODI4djQuMTI1aC0xdi01LjgxM2guOTY5bC4wMTUuNjcycS40ODUtLjc4IDEuMzkxLS43OC4yODEgMCAuNDM4LjA3N3YuOTIyem00IDBxLS4yMzUtLjAzMi0uNDg1LS4wMzItLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd2LjkyMnptNC43OCA0LjkyMXEtLjA5My0uMTcyLS4xNC0uNjEtLjcwMy43Mi0xLjY1Ni43Mi0uODYgMC0xLjQyMi0uNDg1LS41NDctLjQ4NC0uNTQ3LTEuMjM0IDAtLjkwNy42ODgtMS40MDcuNzAzLS41MTUgMS45NTMtLjUxNWguOTY5di0uNDUzcTAtLjUxNi0uMzEzLS44MjktLjMxMy0uMzEyLS45MjItLjMxMi0uNTMxIDAtLjg5LjI4MS0uMzYuMjY2LS4zNi42NGgtMXEwLS40MzcuMzEzLS44NDMuMzEyLS40MDYuODI4LS42NC41MzEtLjIzNSAxLjE3Mi0uMjM1IDEgMCAxLjU2Mi41LjU3OC41LjU5NCAxLjM5djIuNjczcTAgLjc5Ni4yMDMgMS4yNjV2LjA5NGgtMS4wMzF6bS0xLjY1NS0uNzVxLjQ2OCAwIC44OS0uMjM0LjQyMi0uMjUuNjEtLjY0MXYtMS4xODhoLS43ODJxLTEuODI4IDAtMS44MjggMS4wNjMgMCAuNDY5LjMxMy43MzQuMzEyLjI2Ni43OTcuMjY2em01Ljk2OC0uNzAzIDEuMzQ0LTQuMzZoMS4wNzhsLTIuMzQ0IDYuNzA0cS0uNTQ2IDEuNDUzLTEuNzE4IDEuNDUzbC0uMTg4LS4wMTYtLjM3NS0uMDYydi0uODEzbC4yNjYuMDMxcS41IDAgLjc4MS0uMjE4LjI4MS0uMjA0LjQ2OS0uNzM1bC4yMTktLjU5NC0yLjA2My01Ljc1aDEuMDc4em0xMS4yMzUuMDc4IDEuMTI1LTQuNDM4aDFsLTEuNzAzIDUuODEzaC0uNzk3bC0xLjQyMi00LjQwNi0xLjM3NSA0LjQwNmgtLjc5N2wtMS42ODgtNS44MTNoLjk4NWwxLjE0IDQuMzQ0IDEuMzYtNC4zNDRoLjc5N3ptNS42NzItMy41NDdxLS4yMzUtLjAzMS0uNDg1LS4wMzEtLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd6bTQuNzggNC45MjJxLS4wOTMtLjE3Mi0uMTQtLjYxLS43MDMuNzItMS42NTYuNzItLjg2IDAtMS40MjItLjQ4NS0uNTQ3LS40ODQtLjU0Ny0xLjIzNCAwLS45MDcuNjg4LTEuNDA3LjcwMy0uNTE1IDEuOTUzLS41MTVoLjk2OXYtLjQ1M3EwLS41MTYtLjMxMy0uODI5LS4zMTMtLjMxMi0uOTIyLS4zMTItLjUzMSAwLS44OS4yODEtLjM2LjI2Ni0uMzYuNjRoLTFxMC0uNDM3LjMxMy0uODQzLjMxMi0uNDA2LjgyOC0uNjQuNTMxLS4yMzUgMS4xNzItLjIzNSAxIDAgMS41NjIuNS41NzguNS41OTQgMS4zOXYyLjY3M3EwIC43OTYuMjAzIDEuMjY1di4wOTRoLTEuMDMxem0tMS42NTUtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk3LjI2NnptOC45NjgtMi4wOTRxMCAxLjMyOC0uNjEgMi4xNC0uNTkzLjgxMy0xLjY0LjgxM3QtMS42NTYtLjY3MnYyLjc5N2gtMXYtOC4wNDdoLjkwNmwuMDQ3LjY0MXEuNjEtLjc1IDEuNjg4LS43NSAxLjA0NyAwIDEuNjU2Ljc5Ny42MS43ODEuNjEgMi4xODh2LjA5M3ptLS45ODQtLjExcTAtLjk4My0uNDIyLTEuNTQ2LS40MjItLjU3OC0xLjE1Ni0uNTc4LS44OSAwLTEuMzQ0Ljc5N3YyLjc4MXEuNDM4Ljc5NyAxLjM2Ljc5Ny43MTggMCAxLjE0LS41NjMuNDIyLS41NzguNDIyLTEuNjg3em02Ljk4NC4xMXEwIDEuMzI4LS42MSAyLjE0LS41OTMuODEzLTEuNjQuODEzdC0xLjY1Ni0uNjcydjIuNzk3aC0xdi04LjA0N2guOTA2bC4wNDcuNjQxcS42MS0uNzUgMS42ODgtLjc1IDEuMDQ3IDAgMS42NTYuNzk3LjYxLjc4MS42MSAyLjE4OHYuMDkzem0tLjk4NC0uMTFxMC0uOTgzLS40MjItMS41NDYtLjQyMi0uNTc4LTEuMTU2LS41NzgtLjg5IDAtMS4zNDQuNzk3djIuNzgxcS40MzguNzk3IDEuMzYuNzk3LjcxOCAwIDEuMTQtLjU2My40MjItLjU3OC40MjItMS42ODd6bTQuNDg0IDMuMDYzcS0xLjE3MiAwLTEuOTIyLS43NjUtLjczNC0uNzgyLS43MzQtMi4wOTR2LS4xNzJxMC0uODc1LjMyOC0xLjU0Ny4zMjgtLjY4Ny45MjItMS4wNjIuNTk0LS4zOSAxLjI5Ny0uMzkgMS4xMjUgMCAxLjc1Ljc1LjY0Ljc1LjY0IDIuMTR2LjQwNmgtMy45MzdxLjAxNi44Ni40ODQgMS4zOS40ODUuNTMyIDEuMjM1LjUzMi41MzEgMCAuODktLjIxOS4zNi0uMjE5LjY0MS0uNTYybC42MS40NjhxLS43MzUgMS4xMjUtMi4yMDQgMS4xMjV6bS0uMTEtNS4yMThxLS42MDggMC0xLjAxNS40MzctLjQwNi40MzgtLjUgMS4yMzRoMi45MDd2LS4wNzhxLS4wNDctLjc1LS40MjItMS4xNzItLjM2LS40MjEtLjk3LS40MjF6bTYuNTE3LjE4N3EtLjIzNS0uMDMxLS40ODUtLjAzMS0uOTg0IDAtMS4zMjguODI4djQuMTI1aC0xdi01LjgxM2guOTY5bC4wMTUuNjcycS40ODUtLjc4IDEuMzkxLS43OC4yODEgMCAuNDM4LjA3N3oiIGZpbGw9IiM2NjYiLz48L3N2Zz4=" alt="">
<figcaption>Original <code>DataView</code> performance</figcaption>
</figure>
<p>Our benchmark shows that native <code>DataView</code> getter performance was as much as <strong>4 times</strong> slower than the <code>Uint8Array</code> based wrapper, for both big-endian and little-endian reads.</p>
<h2>Improving baseline performance</h2>
<p>Our first step in improving the performance of <code>DataView</code> objects was to move the implementation from the C++ runtime to <a href="https://v8project.blogspot.com/2017/11/csa.html"><code>CodeStubAssembler</code> (also known as CSA)</a>. CSA is a portable assembly language that allows us to write code directly in TurboFan’s machine-level intermediate representation (IR), and we use it to implement optimized parts of V8’s JavaScript standard library. Rewriting code in CSA bypasses the call to C++ completely, and also generates efficient machine code by leveraging TurboFan’s backend.</p>
<p>However, writing CSA code by hand is cumbersome. Control flow in CSA is expressed much like in assembly, using explicit labels and <code>goto</code>s, which makes the code harder to read and understand at a glance.</p>
<p>In order to make it easier for developers to contribute to the optimized JavaScript standard library in V8, and to improve readability and maintainability, we started designing a new language called V8 <em>Torque</em>, that compiles down to CSA. The goal for <em>Torque</em> is to abstract away the low-level details that make CSA code harder to write and maintain, while retaining the same performance profile.</p>
<p>Rewriting the <code>DataView</code> code was an excellent opportunity to start using Torque for new code, and helped provide the Torque developers with a lot of feedback about the language. This is what the <code>DataView</code>’s <code>getUint32()</code> method looks like, written in Torque:</p>
<pre class="hljs language-js"><code>macro LoadDataViewUint32(buffer: JSArrayBuffer, <span class="hljs-attr">offset</span>: intptr,
<span class="hljs-attr">requested_little_endian</span>: bool,
<span class="hljs-attr">signed</span>: constexpr bool): <span class="hljs-built_in">Number</span> {
<span class="hljs-keyword">let</span> data_pointer: RawPtr = buffer.backing_store;
<span class="hljs-keyword">let</span> b0: uint32 = LoadUint8(data_pointer, offset);
<span class="hljs-keyword">let</span> b1: uint32 = LoadUint8(data_pointer, offset + <span class="hljs-number">1</span>);
<span class="hljs-keyword">let</span> b2: uint32 = LoadUint8(data_pointer, offset + <span class="hljs-number">2</span>);
<span class="hljs-keyword">let</span> b3: uint32 = LoadUint8(data_pointer, offset + <span class="hljs-number">3</span>);
<span class="hljs-keyword">let</span> result: uint32;
<span class="hljs-keyword">if</span> (requested_little_endian) {
result = (b3 << <span class="hljs-number">24</span>) | (b2 << <span class="hljs-number">16</span>) | (b1 << <span class="hljs-number">8</span>) | b0;
} <span class="hljs-keyword">else</span> {
result = (b0 << <span class="hljs-number">24</span>) | (b1 << <span class="hljs-number">16</span>) | (b2 << <span class="hljs-number">8</span>) | b3;
}
<span class="hljs-keyword">return</span> convert<<span class="hljs-built_in">Number</span>>(result);
}
</code></pre>
<p>Moving the <code>DataView</code> methods to Torque already showed a <strong>3× improvement</strong> in performance, but did not quite match <code>Uint8Array</code> based wrapper performance yet.</p>
<figure>
<img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM3MSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB3aWR0aD0iNjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Im05MC41NSAxOC41NWgzNTMuNjR2MjgyLjloLTM1My42NHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im05MC41IDE4LjV2MjgzIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0ibTIwOC41IDE4LjV2MjgzbTExOC0yODN2MjgzbTExOC0yODN2MjgzIiBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgOTl2LTM4aDE1OGEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyem0wIDEyMHYtMzhoMTQ1YTIgMiAwIDAgMSAyIDJ2MzRhMiAyIDAgMCAxIC0yIDJ6IiBmaWxsPSIjNDI4NWY0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgMTM4di0zOGgzMDJhMiAyIDAgMCAxIDIgMnYzNGEyIDIgMCAwIDEgLTIgMnptMCAxMjB2LTM4aDIzN2EyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im0xNzYuMzU0IDM0OS40NXYtOC41MzFoMi43OTdxMS4zOSAwIDIuMDc4LjU3OC43MDMuNTYyLjcwMyAxLjY4NyAwIC42MS0uMzQzIDEuMDc4LS4zMjguNDU0LS45MjIuNzA0LjcwMy4xODcgMS4wOTQuNzM0LjQwNi41MzEuNDA2IDEuMjgxIDAgMS4xNTYtLjc1IDEuODEzLS43MzQuNjU2LTIuMDk0LjY1NnptMS4xMjUtMy45ODR2My4wNjJoMS44NnEuNzk3IDAgMS4yNS0uNDA2LjQ1My0uNDA2LjQ1My0xLjEyNSAwLTEuNTMxLTEuNjg4LTEuNTMxem0wLS45MDdoMS43MDNxLjczNSAwIDEuMTcyLS4zNTkuNDUzLS4zNzUuNDUzLTEuMDE2IDAtLjcwMy0uNDA2LTEuMDE1LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcyem04LjM0NCA1LjAxNnEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc4LS40NTR6bTQuNTMtLjc4LjAzMi43OTZxLjczNC0uOTA2IDEuOTA2LS45MDYgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em04LjUxNiA1LjU3N3EuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptNC41NDctNC44MTJxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTYuOTM4LS43NjYuMDMxLjcwM3EuNjg4LS44MTIgMS44NzUtLjgxMiAxLjMyOCAwIDEuODEzIDEuMDE1LjMxMi0uNDUzLjgxMi0uNzM0LjUxNi0uMjgxIDEuMjAzLS4yODEgMi4wOTQgMCAyLjEyNSAyLjIwM3Y0LjI1aC0xLjA3OHYtNC4xODhxMC0uNjcxLS4zMTMtMS0uMzEyLS4zNDMtMS4wNDYtLjM0My0uNjEgMC0xLjAxNi4zNi0uMzkuMzU4LS40NTMuOTY4djQuMjAzaC0xLjA3OHYtNC4xNTZxMC0xLjM3NS0xLjM2LTEuMzc1LTEuMDYyIDAtMS40NTMuOTA2djQuNjI1aC0xLjA5NHYtNi4zNDR6bTEzLjg5IDYuMzQ0cS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMxLS41OTMtLjUzMS0uNTkzLTEuMzYgMC0uOTg0Ljc1LTEuNTMuNzUtLjU0OCAyLjEyNS0uNTQ4aDEuMDQ3di0uNXEwLS41NjItLjM0NC0uODktLjMyOC0uMzQ0LTEtLjM0NC0uNTc4IDAtLjk2OS4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI4LS45MjIuMzQ0LS40MzguOTIyLS42ODguNTc4LS4yNjUgMS4yNjUtLjI2NSAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NGgtMS4xNHptLTEuNzk3LS44MjhxLjUxNiAwIC45Ny0uMjY2LjQ1Mi0uMjY1LjY1Ni0uNjg3di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDQuNzk3LjM0My4yOC44NzUuMjh6bTcuOTU0LTQuNTQ3cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMi43MDMgMi40MzgtLjY4OC43MDN2Mi4yMzRoLTEuMDc4di05aDEuMDc4djUuNDM4bC41NzgtLjY4OCAxLjk4NS0yLjA5NGgxLjMxMmwtMi40NjkgMi42NTYgMi43NjYgMy42ODhoLTEuMjgxbC0yLjIwMy0yLjkzOHptMTAuOTIyIDEuMjVxMC0uNDM4LS4zNDQtLjY3Mi0uMzI4LS4yNS0xLjE1Ni0uNDIyLS44MTMtLjE3Mi0xLjI5Ny0uNDIyLS40ODUtLjI1LS43MTktLjU3OC0uMjE5LS4zNDQtLjIxOS0uODEzIDAtLjc4MS42NTYtMS4zMTIuNjU3LS41NDcgMS42ODgtLjU0NyAxLjA3OCAwIDEuNzM0LjU2Mi42NzIuNTQ3LjY3MiAxLjQwN2gtMS4wNzhxMC0uNDM4LS4zOS0uNzUtLjM3NS0uMzI5LS45MzgtLjMyOS0uNTk0IDAtLjkzOC4yNjYtLjMyOC4yNS0uMzI4LjY1NiAwIC4zOTEuMzEzLjU5NC4zMTIuMjAzIDEuMTI1LjM5LjgxMi4xNzMgMS4zMTIuNDIzdC43MzUuNjA5cS4yNS4zNi4yNS44NiAwIC44NTktLjY4OCAxLjM3NC0uNjcyLjUxNi0xLjc1LjUxNi0uNzY1IDAtMS4zNi0uMjY2LS41NzctLjI4LS45MDUtLjc2NS0uMzI4LS40ODUtLjMyOC0xLjA0N2gxLjA3OHEuMDMuNTQ3LjQzNy44NzUuNDA2LjMxMiAxLjA3OC4zMTIuNjEgMCAuOTg1LS4yNXQuMzc1LS42NzJ6bTQuODQzLjkyMXEuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptMy4xNzItMi40NjhxMC0uOTIyLjM2LTEuNjcyLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNSAxLjE1Ny0uNjU3LjQwNi0xLjUxNi40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF6bTEuMDk0LjE0cTAgMS4wNDcuNDg0IDEuNjg4LjUuNjQgMS4zMTMuNjQuODI4IDAgMS4zMTItLjY0LjQ4NS0uNjU2LjQ4NS0xLjgyOCAwLTEuMDMyLS41LTEuNjcyLS40ODUtLjY1Ni0xLjMxMy0uNjU2LS43OTcgMC0xLjI5Ny42NC0uNDg0LjYyNS0uNDg0IDEuODI4em05LjI2Ni0yLjI4MXEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh6bTMuNTYyIDUuNXEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTYuNDY4IDIuMDk0cTAtMS4zMTIuMzQ0LTIuNTMxLjM2LTEuMjE5IDEuMDYzLTIuMjE5LjcwMy0xIDEuNDY4LTEuNDA2bC4yMTkuNzE5cS0uODYuNjU2LTEuNDA2IDItLjU0NyAxLjM0NC0uNTk0IDMuMDE1bC0uMDE2LjVxMCAyLjI2Ni44MjkgMy45MjIuNSAxIDEuMTg3IDEuNTYzbC0uMjE5LjY1NnEtLjc4MS0uNDIyLTEuNS0xLjQ1My0xLjM3NS0xLjk4NS0xLjM3NS00Ljc2NnptNS4xMjUtMi4xMXEuNzE5LS44NzQgMS44NzUtLjg3NCAyLjAxNiAwIDIuMDMxIDIuMjY1djQuMTg4aC0xLjA5M3YtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4MS0uNjEuNzM0djQuNTE2aC0xLjA3OHYtOWgxLjA3OHYzLjQyMnptNy4wOTQgNS41NzloLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTIuNzM1IDQuNzk3cTAtMS40ODQuNjg3LTIuMzYuNjg4LS44NzQgMS44MTMtLjg3NCAxLjE1NiAwIDEuODEyLjgxMmwuMDQ3LS43MDNoMXY2LjE4OHEwIDEuMjM0LS43MzQgMS45MzctLjczNS43MTktMS45NTQuNzE5LS42ODcgMC0xLjM0My0uMjk3LS42NTctLjI5Ny0xLS43OTdsLjU2Mi0uNjU2cS42ODguODYgMS43MDMuODYuNzgxIDAgMS4yMTktLjQ1NC40NTMtLjQzNy40NTMtMS4yNXYtLjU0N3EtLjY1Ni43NjYtMS43ODEuNzY2LTEuMTEgMC0xLjc5Ny0uODktLjY4OC0uOTA3LS42ODgtMi40NTR6bTEuMDkzLjEyNXEwIDEuMDYzLjQzOCAxLjY4OC40MzcuNjEgMS4yMzQuNjEgMS4wMTYgMCAxLjUtLjkzOHYtMi44OTFxLS41LS45MDYtMS41LS45MDYtLjc4MSAwLTEuMjM0LjYxLS40MzguNjA4LS40MzggMS44Mjd6bTcuMjUtMi40ODRxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTguNTQ3IDUuNzAzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIxLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptNS4xMDkgNS4zNzVoLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTYuNjg4IDYuMzI4cTAtLjQzNy0uMzQ0LS42NzEtLjMyOC0uMjUtMS4xNTYtLjQyMi0uODEzLS4xNzItMS4yOTctLjQyMi0uNDg1LS4yNS0uNzE5LS41NzgtLjIxOS0uMzQ0LS4yMTktLjgxMyAwLS43ODEuNjU2LTEuMzEyLjY1Ny0uNTQ3IDEuNjg4LS41NDcgMS4wNzggMCAxLjczNC41NjIuNjcyLjU0Ny42NzIgMS40MDdoLTEuMDc4cTAtLjQzOC0uMzktLjc1LS4zNzUtLjMyOS0uOTM4LS4zMjktLjU5NCAwLS45MzguMjY2LS4zMjguMjUtLjMyOC42NTYgMCAuMzkxLjMxMy41OTQuMzEyLjIwMyAxLjEyNS4zOS44MTIuMTczIDEuMzEyLjQyM3QuNzM1LjYwOXEuMjUuMzYuMjUuODYgMCAuODU5LS42ODggMS4zNzQtLjY3Mi41MTYtMS43NS41MTYtLjc2NSAwLTEuMzYtLjI2Ni0uNTc3LS4yOC0uOTA1LS43NjUtLjMyOS0uNDg1LS4zMjktMS4wNDdoMS4wNzlxLjAzLjU0Ny40MzcuODc1LjQwNi4zMTIgMS4wNzguMzEyLjYxIDAgLjk4NS0uMjV0LjM3NS0uNjcyem0xMC42NzEtMS40MDZxMCAxLjQ1My0uNjcxIDIuMzQ0LS42NTcuODc1LTEuNzgyLjg3NS0xLjIwMyAwLTEuODU5LS44NmwtLjA2My43MzVoLS45ODR2LTloMS4wNzh2My4zNnEuNjU2LS44MTMgMS44MTMtLjgxMyAxLjE1NiAwIDEuODEyLjg3NS42NTYuODYuNjU2IDIuMzl6bS0xLjA3OC0uMTI1cTAtMS4xMS0uNDM3LTEuNzAzLS40MjItLjYxLTEuMjE5LS42MS0xLjA3OCAwLTEuNTQ3Ljk4NXYyLjc1cS41IDEgMS41NDcgMSAuNzgxIDAgMS4yMTktLjYxLjQzNy0uNjA5LjQzNy0xLjgxMnptNS4zNDQgMy4zNDRxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00Ljk4NC0yLjMxMnYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTQgMHYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTUuMTU2IDhxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em02LjU3OC4xODhxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em0zLjQzNyAxLjk2OXEwIDEuMzEyLS4zNDQgMi41MTUtLjM0MyAxLjE4OC0xLjA2MiAyLjIwMy0uNzAzIDEuMDE2LTEuNDY5IDEuNDM4bC0uMjM0LS42NTZxLjkwNi0uNjg4IDEuNDUzLTIuMTQuNTQ3LTEuNDcuNTYyLTMuMjM1di0uMTg4cTAtMS4yMzQtLjI2NS0yLjI5Ny0uMjUtMS4wNjItLjcxOS0xLjg5LS40NTMtLjg0NC0xLjAzMS0xLjMxM2wuMjM0LS42NTZxLjc2Ni40MjIgMS40NjkgMS40MjIuNzAzIDEgMS4wNDcgMi4yMTkuMzYgMS4yMDMuMzYgMi41Nzh6bS0zMzAuMTY0LTI0MS43MzV2LTguNTMyaDIuNzk3cTEuMzkgMCAyLjA3OC41NzguNzAzLjU2My43MDMgMS42ODggMCAuNjEtLjM0MyAxLjA3OC0uMzI4LjQ1My0uOTIyLjcwMy43MDMuMTg4IDEuMDk0LjczNS40MDYuNTMuNDA2IDEuMjggMCAxLjE1Ny0uNzUgMS44MTMtLjczNS42NTctMi4wOTQuNjU3em0xLjEyNS0zLjk4NXYzLjA2M2gxLjg2cS43OTcgMCAxLjI1LS40MDcuNDUzLS40MDYuNDUzLTEuMTI1IDAtMS41My0xLjY4OC0xLjUzaC0xLjg3NHptMC0uOTA2aDEuNzA0cS43MzQgMCAxLjE3MS0uMzYuNDUzLS4zNzQuNDUzLTEuMDE1IDAtLjcwMy0uNDA2LTEuMDE2LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcxdjIuNzE5em02Ljg5MSA0Ljg5aC0xLjA3OHYtNi4zNDNoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNXEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptMi43MzQgNC43OTdxMC0xLjQ4NS42ODgtMi4zNi42ODgtLjg3NSAxLjgxMy0uODc1IDEuMTU2IDAgMS44MTIuODEzbC4wNDctLjcwM2gxdjYuMTg3cTAgMS4yMzUtLjczNSAxLjkzOC0uNzM0LjcxOS0xLjk1My43MTktLjY4NyAwLTEuMzQzLS4yOTctLjY1Ny0uMjk3LTEtLjc5N2wuNTYyLS42NTZxLjY4OC44NTkgMS43MDMuODU5Ljc4MSAwIDEuMjE5LS40NTMuNDUzLS40MzguNDUzLTEuMjV2LS41NDdxLS42NTYuNzY2LTEuNzgxLjc2Ni0xLjExIDAtMS43OTctLjg5MS0uNjg4LS45MDYtLjY4OC0yLjQ1M3ptMS4wOTQuMTI1cTAgMS4wNjIuNDM4IDEuNjg3LjQzNy42MSAxLjIzNC42MSAxLjAxNiAwIDEuNS0uOTM4di0yLjg5cS0uNS0uOTA3LTEuNS0uOTA3LS43ODEgMC0xLjIzNC42MS0uNDM4LjYwOS0uNDM4IDEuODI4em04LjQyMi0uMDk0aC0yLjg2di0uODc1aDIuODZ6bTMuMzc1IDMuMzEzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTcuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMy42ODguODEyLjY4OCAyLjMyOHYuNDUzaC00LjI5N3EuMDMxLjkzOC41NDcgMS41MTYuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM1LjcxOC0uNjI1bC42NTcuNTE1cS0uNzk3IDEuMjM1LTIuMzkgMS4yMzV6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NC0uNDM3LjQ3LS41MzEgMS4zMjloMy4xNzJ2LS4wNzlxLS4wNDctLjgyOC0uNDUzLTEuMjgtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTQuNTMtLjc4MS4wMzIuNzk3cS43MzQtLjkwNyAxLjkwNi0uOTA3IDIuMDE2IDAgMi4wMzEgMi4yNjZ2NC4xODhoLTEuMDkydi00LjIwNHEwLS42NzEtLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgyLS4zOTEuMjgtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em01LjcyIDMuMTI1cTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTA5IDAgMS43NjUuNzV2LTMuMjk3aDEuMDc4djloLTFsLS4wNDctLjY4OHEtLjY1Ni44MTMtMS44MTIuODEzLTEuMDk0IDAtMS43OTctLjkwNy0uNjg4LS45MDYtLjY4OC0yLjM2di0uMDc3em0xLjA3OC4xMjVxMCAxLjA3OC40MzcgMS42ODcuNDUzLjYxIDEuMjM0LjYxIDEuMDMyIDAgMS41MTYtLjkzOHYtMi45MDZxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjA5LS40MzcuNjA5LS40MzcgMS44Mjh6bTcuMzU5IDMuMDk0aC0xLjA3OHYtNi4zNDRoMS4wNzh6bS0xLjE3Mi04LjAxNnEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptNi45MDYgOC4wMTZxLS4wOTMtLjE4OC0uMTU2LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ3LS41MzItLjU5My0uNTMxLS41OTMtMS4zNiAwLS45ODMuNzUtMS41M3QyLjEyNS0uNTQ3aDEuMDQ2di0uNXEwLS41NjMtLjM0My0uODktLjMyOC0uMzQ1LTEtLjM0NS0uNTc4IDAtLjk2OS4yOTctLjM5LjI4Mi0uMzkuNzAzaC0xLjA5NHEwLS40ODQuMzI4LS45MjEuMzQzLS40MzguOTIyLS42ODguNTc4LS4yNjYgMS4yNjUtLjI2NiAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NWgtMS4xNHptLTEuNzk3LS44MjlxLjUxNiAwIC45Ny0uMjY1LjQ1Mi0uMjY2LjY1Ni0uNjg4di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDMuNzk3LjM0NC4yODEuODc2LjI4MXptNS45MDctNS41MTUuMDMxLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg4aC0xLjA5MnYtNC4yMDRxMC0uNjcxLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4Mi0uMzkxLjI4LS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptLTU4LjcxOSAxMjUuODA1aDQuMDQ3di45MjFoLTUuMTg4di04LjUzaDEuMTQxem01Ljg3NS45MjFoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY5LjE4OC4xNzEuMTg3LjE3MS40NTMgMCAuMjUtLjE3MS40MzctLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4Ny0uMTU2LS40Mzd6bTQuNDY5LjE0djEuNTMyaDEuMTcydi44NDNoLTEuMTcydjMuOTIycTAgLjM5MS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzctLjM3NS0uNDUzLS4zNzUtMS4yNjZ2LTMuOTIyaC0xLjE1NnYtLjg0M2gxLjE1NnYtMS41MzJ6bTQgMHYxLjUzMmgxLjE3MnYuODQzaC0xLjE3MnYzLjkyMnEwIC4zOTEuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM3LS4zNzUtLjQ1My0uMzc1LTEuMjY2di0zLjkyMmgtMS4xNTZ2LS44NDNoMS4xNTZ2LTEuNTMyem0zLjcwMyA3Ljg3NWgtMS4wNzh2LTloMS4wNzh6bTQuNDUzLjEyNXEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em01Ljc2NSAyLjM3NWgtMi44NnYtLjg3NWgyLjg2em0zLjM3NSAzLjMxMnEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00LjUzLS43ODEuMDMyLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg3aC0xLjA5MnYtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4Mi0uNjEuNzM1djQuNTE1aC0xLjA3OHYtNi4zNDNoMS4wMTZ6bTUuNzIgMy4xMjVxMC0xLjQ2OS42ODctMi4zNDQuNjg4LS44OSAxLjgxMy0uODkgMS4xMDkgMCAxLjc2NS43NXYtMy4yOThoMS4wNzh2OWgtMWwtLjA0Ny0uNjg3cS0uNjU2LjgxMi0xLjgxMi44MTItMS4wOTQgMC0xLjc5Ny0uOTA2LS42ODgtLjkwNi0uNjg4LTIuMzZ2LS4wNzd6bTEuMDc4LjEyNXEwIDEuMDc4LjQzNyAxLjY4Ny40NTMuNjEgMS4yMzQuNjEgMS4wMzIgMCAxLjUxNi0uOTM4di0yLjkwNnEtLjQ4NC0uODktMS41LS44OS0uNzk3IDAtMS4yNS42MDktLjQzNy42MDktLjQzNyAxLjgyOHptNy4zNTkgMy4wOTNoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY4LjE4OC4xNzIuMTg3LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzctLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODctLjE1Ni0uNDM3em02LjkwNiA4LjAxNXEtLjA5My0uMTg3LS4xNTYtLjY3MS0uNzUuNzk2LTEuNzk3Ljc5Ni0uOTM3IDAtMS41NDctLjUzLS41OTMtLjUzMi0uNTkzLTEuMzYgMC0uOTg1Ljc1LTEuNTMxLjc1LS41NDcgMi4xMjUtLjU0N2gxLjA0NnYtLjVxMC0uNTYzLS4zNDMtLjg5LS4zMjgtLjM0NS0xLS4zNDUtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIyLjM0My0uNDM3LjkyMi0uNjg3LjU3OC0uMjY2IDEuMjY1LS4yNjYgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2NS40NTItLjI2Ni42NTYtLjY4OHYtMS4yOTdoLS44NDRxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjgxLjg3Ni4yODF6bTUuOTA3LTUuNTE1LjAzMS43OTdxLjczNC0uOTA3IDEuOTA2LS45MDcgMi4wMTYgMCAyLjAzMSAyLjI2NnY0LjE4N2gtMS4wOTJ2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODItLjYxLjczNXY0LjUxNWgtMS4wNzh2LTYuMzQzaDEuMDE2eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Im05Mi41OTcgMzEzLjQxOXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptMTExLjMwMiA0LjI2NmgtLjkwN3YtNi4wMTZsLTEuODI4LjY1N3YtLjgxM2wyLjU5NC0uOTY5aC4xNHY3LjE0MXptNy40ODQtMy4wMzFxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjgtMS42NzItLjMxMy0uNTMtMS4wMTYtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTYuOTA2IDEuMjM1cTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI4LTEuNjcyLS4zMTMtLjUzLTEuMDE2LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE2LjU0Ny42NzEgMCAuOTg0LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1em0xMDYuOTg5IDQuMjY2aC00LjY1NnYtLjY1NmwyLjQ1My0yLjczNXEuNTQ3LS42MDkuNzUtMSAuMjE5LS4zOS4yMTktLjgxMiAwLS41NDctLjM0NC0uOTA2LS4zMjgtLjM2LS44OS0uMzYtLjY3MyAwLTEuMDQ4LjM5LS4zNzUuMzc2LS4zNzUgMS4wNjNoLS45MDZxMC0uOTg0LjYyNS0xLjU3OC42NC0uNjEgMS43MDMtLjYxLjk4NSAwIDEuNTYzLjUxNy41NzguNTE1LjU3OCAxLjM5IDAgMS4wNDctMS4zNDQgMi41bC0xLjg5IDIuMDYzaDMuNTYyem01Ljc5Ny0zLjAzMXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTEwMy42NDUuMjY2aC42NzJxLjY0IDAgMS0uMzI4LjM3NS0uMzI4LjM3NS0uODkgMC0xLjI1LTEuMjUtMS4yNS0uNTc4IDAtLjkzNy4zNDMtLjM0NC4zMjgtLjM0NC44NzVoLS45MDZxMC0uODQ0LjYyNS0xLjM5LjYyNS0uNTYzIDEuNTYyLS41NjMgMS4wMTYgMCAxLjU3OC41MzEuNTc4LjUzMS41NzggMS40NjkgMCAuNDY5LS4yOTYuOTA2LS4yOTcuNDM4LS44MjkuNjU2LjU5NC4xNzIuOTA3LjYxLjMyOC40MjIuMzI4IDEuMDQ3IDAgLjk1My0uNjI1IDEuNTE1LS42MjUuNTYzLTEuNjI1LjU2M3QtMS42NC0uNTMxcS0uNjI2LS41NDctLjYyNi0xLjQzOGguOTIycTAgLjU2My4zNi45MDYuMzU5LjMyOC45ODQuMzI4LjY1NiAwIDEtLjM0My4zNDQtLjM0NC4zNDQtLjk4NSAwLS42MS0uMzkxLS45MzctLjM3NS0uMzQ0LTEuMDk0LS4zNDRoLS42NzJ6bTkuMTQuOTY5cTAgMS41NzgtLjU0NiAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnYxLjE3MnptLS45MDUtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE1LjU0Ny42NzIgMCAuOTg1LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1em02LjkwNiAxLjIzNXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXoiIGZpbGw9IiM2NjYiLz48cGF0aCBkPSJtNDY2LjQ1IDIwLjU1YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEgLTEgMWgtMTBhMSAxIDAgMCAxIC0xLTF6IiBmaWxsPSIjNDI4NWY0Ii8+PHBhdGggZD0ibTQ4Ny4zNTYgMjkuNTV2LTcuODI4aDIuMjAzcTEuMDMyIDAgMS44MTMuNDUzLjc4MS40NTMgMS4yMDMgMS4yOTcuNDM4LjgyOC40MzggMS45MDZ2LjVxMCAxLjExLS40MzggMS45MzgtLjQyMi44MjgtMS4yMTkgMS4yOC0uNzgxLjQzOC0xLjgyOC40NTR6bTEuMDMxLTYuOTY5djYuMTI1aDEuMDk0cTEuMTg4IDAgMS44NDQtLjczNC42NzItLjc1LjY3Mi0yLjEyNXYtLjQ1M3EwLTEuMzI4LS42MjUtMi4wNjMtLjYyNS0uNzUtMS43ODEtLjc1em05LjQwNyA2Ljk2OXEtLjA5NC0uMTcyLS4xNC0uNjEtLjcwNC43Mi0xLjY1Ny43Mi0uODYgMC0xLjQyMi0uNDg1LS41NDctLjQ4NC0uNTQ3LTEuMjM0IDAtLjkwNy42ODgtMS40MDcuNzAzLS41MTUgMS45NTMtLjUxNWguOTY5di0uNDUzcTAtLjUxNi0uMzEzLS44MjgtLjMxMy0uMzEzLS45MjItLjMxMy0uNTMxIDAtLjg5LjI4MS0uMzYuMjY2LS4zNi42NGgtMXEwLS40MzcuMzEzLS44NDMuMzEyLS40MDYuODI4LS42NC41MzEtLjIzNSAxLjE3Mi0uMjM1IDEgMCAxLjU2Mi41LjU3OC41LjU5NCAxLjM5djIuNjczcTAgLjc5Ny4yMDMgMS4yNjV2LjA5NHptLTEuNjU2LS43NXEuNDY4IDAgLjg5LS4yMzQuNDIyLS4yNS42MS0uNjQxdi0xLjE4OGgtLjc4MnEtMS44MjggMC0xLjgyOCAxLjA2MyAwIC40NjkuMzEzLjczNC4zMTIuMjY2Ljc5Ni4yNjZ6bTUuNDA2LTYuNDY5djEuNDA3aDEuMDk0di43NjVoLTEuMDk0djMuNjFxMCAuMzQzLjE0LjUzLjE1Ny4xNzMuNS4xNzMuMTcyIDAgLjQ4NS0uMDc4di44MTJxLS40MDYuMTEtLjc2Ni4xMS0uNjcyIDAtMS4wMTYtLjQwNy0uMzI4LS40MDYtLjMyOC0xLjE0di0zLjYxaC0xLjA2MnYtLjc2NWgxLjA2MnYtMS40MDhoLjk4NXptNi4yNSA3LjIxOXEtLjA5NC0uMTcyLS4xNC0uNjEtLjcwNC43Mi0xLjY1Ny43Mi0uODYgMC0xLjQyMi0uNDg1LS41NDctLjQ4NC0uNTQ3LTEuMjM0IDAtLjkwNy42ODgtMS40MDcuNzAzLS41MTUgMS45NTMtLjUxNWguOTY5di0uNDUzcTAtLjUxNi0uMzEzLS44MjgtLjMxMy0uMzEzLS45MjItLjMxMy0uNTMxIDAtLjg5LjI4MS0uMzYuMjY2LS4zNi42NGgtMXEwLS40MzcuMzEzLS44NDMuMzEyLS40MDYuODI4LS42NC41MzEtLjIzNSAxLjE3Mi0uMjM1IDEgMCAxLjU2Mi41LjU3OC41LjU5NCAxLjM5djIuNjczcTAgLjc5Ny4yMDMgMS4yNjV2LjA5NHptLTEuNjU2LS43NXEuNDY4IDAgLjg5LS4yMzQuNDIyLS4yNS42MS0uNjQxdi0xLjE4OGgtLjc4MnEtMS44MjggMC0xLjgyOCAxLjA2MyAwIC40NjkuMzEzLjczNC4zMTIuMjY2Ljc5Ni4yNjZ6bTYuODEyLS42MjUgMi4yMzQtNi40NTNoMS4xMjVsLTIuOTA2IDcuODI4aC0uOTA2bC0yLjg5LTcuODI4aDEuMTA5em01LjMyOCAxLjM3NWgtLjk4NHYtNS44MTNoLjk4NHptLTEuMDc4LTcuMzZxMC0uMjM0LjE0LS4zOS4xNTctLjE3Mi40NTQtLjE3Mi4yOTcgMCAuNDM3LjE3Mi4xNTcuMTU2LjE1Ny40MDYgMCAuMjM1LS4xNTcuMzktLjE0LjE1Ny0uNDM3LjE1N3QtLjQ1My0uMTU2cS0uMTQxLS4xNTYtLjE0MS0uNDA2em01LjQwNiA3LjQ3cS0xLjE3MiAwLTEuOTIyLS43NjYtLjczNC0uNzgxLS43MzQtMi4wOTR2LS4xNzJxMC0uODc1LjMyOC0xLjU0Ny4zMjgtLjY4Ny45MjItMS4wNjIuNTk0LS4zOSAxLjI5Ny0uMzkgMS4xMjUgMCAxLjc1Ljc1LjY0Ljc1LjY0IDIuMTR2LjQwNmgtMy45MzdxLjAxNi44Ni40ODQgMS4zOS40ODUuNTMyIDEuMjM1LjUzMi41MzEgMCAuODktLjIxOS4zNi0uMjE5LjY0MS0uNTYybC42MS40NjhxLS43MzUgMS4xMjUtMi4yMDQgMS4xMjV6bS0uMTEtNS4yMnEtLjYwOCAwLTEuMDE1LjQzOC0uNDA2LjQzOC0uNSAxLjIzNWgyLjkwN3YtLjA3OXEtLjA0Ny0uNzUtLjQyMi0xLjE3MS0uMzYtLjQyMi0uOTctLjQyMnptOC44NDUgMy43MzUgMS4xMjUtNC40MzhoMWwtMS43MDMgNS44MTNoLS43OTdsLTEuNDIyLTQuNDA2LTEuMzc1IDQuNDA2aC0uNzk3bC0xLjY4OC01LjgxM2guOTg1bDEuMTQgNC4zNDQgMS4zNi00LjM0M2guNzk3eiIgZmlsbD0iIzY2NiIvPjxwYXRoIGQ9Im00NjYuNDUgNDQuNTVhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjEwYTEgMSAwIDAgMSAtMSAxaC0xMGExIDEgMCAwIDEgLTEtMXoiIGZpbGw9IiMxYzQ1ODciLz48cGF0aCBkPSJtNDkyLjg1NiA0NS43MjJ2NS4zMjhxMCAxLjExLS42ODcgMS44MTMtLjY4OC43MDMtMS44NzUuNzhsLS4yNjYuMDE2cS0xLjI5NyAwLTIuMDYyLS42ODctLjc1LS43MDMtLjc2Ni0xLjkyMnYtNS4zMjhoMS4wMTZ2NS4yOTdxMCAuODYuNDY4IDEuMzI4LjQ3LjQ2OSAxLjM0NC40NjkuODc1IDAgMS4zMjgtLjQ3LjQ2OS0uNDY4LjQ2OS0xLjMxMnYtNS4zMTJ6bTIuNDIyIDcuODI4aC0uOTg0di01LjgxM2guOTg0em0tMS4wNzgtNy4zNnEwLS4yMzQuMTQtLjM5LjE1Ny0uMTcyLjQ1NC0uMTcyLjI5NyAwIC40MzcuMTcyLjE1Ni4xNTYuMTU2LjQwNiAwIC4yMzUtLjE1Ni4zOS0uMTQuMTU3LS40MzcuMTU3dC0uNDUzLS4xNTZxLS4xNDEtLjE1Ni0uMTQxLS40MDZ6bTMuOTM4IDEuNTQ3LjAzLjczNXEuNjczLS44NDQgMS43NS0uODQ0IDEuODQ0IDAgMS44NiAyLjA3OHYzLjg0NGgtMXYtMy44NDRxMC0uNjI1LS4yODEtLjkyMi0uMjgxLS4zMTItLjg5LS4zMTItLjQ3IDAtLjg0NS4yNjUtLjM1OS4yNS0uNTYyLjY3MnY0LjE0MWgtMXYtNS44MTN6bTYuNDA2LTEuNDA2djEuNDA2aDEuMDk0di43NjZoLTEuMDk0djMuNjFxMCAuMzQzLjE0LjUzLjE1Ny4xNzMuNS4xNzMuMTcyIDAgLjQ4NS0uMDc5di44MTNxLS40MDYuMTEtLjc2Ni4xMS0uNjcyIDAtMS4wMTYtLjQwNy0uMzI4LS40MDYtLjMyOC0xLjE0di0zLjYxaC0xLjA2MnYtLjc2NmgxLjA2MnYtMS40MDZ6bTcuMjk3IDEuNDM4cTAgLjU5My0uMzEzIDEuMDQ3LS4yOTcuNDUzLS44MjguNzE4LjYxLjI1Ljk2OS43NjYuMzYuNS4zNiAxLjE0IDAgMS4wMTYtLjY4OCAxLjYyNi0uNjg4LjU5My0xLjc5Ny41OTMtMS4xNCAwLTEuODEzLS41OTMtLjY3Mi0uNjEtLjY3Mi0xLjYyNSAwLS42NDEuMzQ0LTEuMTQxLjM0NC0uNTE2Ljk1My0uNzgxLS41MTUtLjI1LS44MjgtLjcwMy0uMjk3LS40Ny0uMjk3LTEuMDQ3IDAtLjk4NS42MjUtMS41NjMuNjQtLjU3OCAxLjY4OC0uNTc4IDEuMDMxIDAgMS42NTYuNTc4LjY0LjU3OC42NCAxLjU2M3ptLS44MTMgMy42NTZxMC0uNjU2LS40MjItMS4wNjMtLjQwNi0uNDIxLTEuMDc4LS40MjF0LTEuMDc4LjQwNnEtLjQwNi40MDYtLjQwNiAxLjA3OCAwIC42NTYuMzkgMS4wNDcuNDA3LjM3NSAxLjExLjM3NS42ODcgMCAxLjA3OC0uMzc1LjQwNi0uMzkuNDA2LTEuMDQ3em0tMS40ODQtNC45ODRxLS41OTQgMC0uOTUzLjM1OS0uMzYuMzYtLjM2Ljk4NCAwIC41OTQuMzYuOTcuMzU5LjM1OC45NTMuMzU4dC45NTMtLjM1OXEuMzYtLjM3NS4zNi0uOTY5IDAtLjU5My0uMzc2LS45NjgtLjM3NS0uMzc1LS45MzctLjM3NXptOC4xMjUgNS4wNjJoLTMuMjY2bC0uNzM0IDIuMDQ3aC0xLjA2M2wyLjk4NS03LjgyOGguOTA2bDIuOTg0IDcuODI4aC0xLjA2MnptLTIuOTUzLS44NDRoMi42NTZsLTEuMzI4LTMuNjU2em04LjI5Ny0yLjAzcS0uMjM1LS4wMzItLjQ4NS0uMDMyLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3di45MjJ6bTQgMHEtLjIzNS0uMDMyLS40ODUtLjAzMi0uOTg0IDAtMS4zMjguODI4djQuMTI1aC0xdi01LjgxM2guOTY5bC4wMTUuNjcycS40ODUtLjc4IDEuMzkxLS43OC4yODEgMCAuNDM4LjA3N3YuOTIyem00Ljc4IDQuOTIxcS0uMDkzLS4xNzItLjE0LS42MS0uNzAzLjcyLTEuNjU2LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOS0uMzEzLS4zMTItLjkyMi0uMzEyLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk2LjIwMyAxLjI2NXYuMDk0aC0xLjAzMXptLTEuNjU1LS43NXEuNDY4IDAgLjg5LS4yMzQuNDIyLS4yNS42MS0uNjQxdi0xLjE4OGgtLjc4MnEtMS44MjggMC0xLjgyOCAxLjA2MyAwIC40NjkuMzEzLjczNC4zMTIuMjY2Ljc5Ny4yNjZ6bTUuOTY4LS43MDMgMS4zNDQtNC4zNmgxLjA3OGwtMi4zNDQgNi43MDRxLS41NDYgMS40NTMtMS43MTggMS40NTNsLS4xODgtLjAxNi0uMzc1LS4wNjJ2LS44MTNsLjI2Ni4wMzFxLjUgMCAuNzgxLS4yMTguMjgxLS4yMDQuNDY5LS43MzVsLjIxOS0uNTk0LTIuMDYzLTUuNzVoMS4wNzh6bTExLjIzNS4wNzggMS4xMjUtNC40MzhoMWwtMS43MDMgNS44MTNoLS43OTdsLTEuNDIyLTQuNDA2LTEuMzc1IDQuNDA2aC0uNzk3bC0xLjY4OC01LjgxM2guOTg1bDEuMTQgNC4zNDQgMS4zNi00LjM0NGguNzk3em01LjY3Mi0zLjU0N3EtLjIzNS0uMDMxLS40ODUtLjAzMS0uOTg0IDAtMS4zMjguODI4djQuMTI1aC0xdi01LjgxM2guOTY5bC4wMTUuNjcycS40ODUtLjc4IDEuMzkxLS43OC4yODEgMCAuNDM4LjA3N3ptNC43OCA0LjkyMnEtLjA5My0uMTcyLS4xNC0uNjEtLjcwMy43Mi0xLjY1Ni43Mi0uODYgMC0xLjQyMi0uNDg1LS41NDctLjQ4NC0uNTQ3LTEuMjM0IDAtLjkwNy42ODgtMS40MDcuNzAzLS41MTUgMS45NTMtLjUxNWguOTY5di0uNDUzcTAtLjUxNi0uMzEzLS44MjktLjMxMy0uMzEyLS45MjItLjMxMi0uNTMxIDAtLjg5LjI4MS0uMzYuMjY2LS4zNi42NGgtMXEwLS40MzcuMzEzLS44NDMuMzEyLS40MDYuODI4LS42NC41MzEtLjIzNSAxLjE3Mi0uMjM1IDEgMCAxLjU2Mi41LjU3OC41LjU5NCAxLjM5djIuNjczcTAgLjc5Ni4yMDMgMS4yNjV2LjA5NGgtMS4wMzF6bS0xLjY1NS0uNzVxLjQ2OCAwIC44OS0uMjM0LjQyMi0uMjUuNjEtLjY0MXYtMS4xODhoLS43ODJxLTEuODI4IDAtMS44MjggMS4wNjMgMCAuNDY5LjMxMy43MzQuMzEyLjI2Ni43OTcuMjY2em04Ljk2OC0yLjA5NHEwIDEuMzI4LS42MSAyLjE0LS41OTMuODEzLTEuNjQuODEzdC0xLjY1Ni0uNjcydjIuNzk3aC0xdi04LjA0N2guOTA2bC4wNDcuNjQxcS42MS0uNzUgMS42ODgtLjc1IDEuMDQ3IDAgMS42NTYuNzk3LjYxLjc4MS42MSAyLjE4OHYuMDkzem0tLjk4NC0uMTFxMC0uOTgzLS40MjItMS41NDYtLjQyMi0uNTc4LTEuMTU2LS41NzgtLjg5IDAtMS4zNDQuNzk3djIuNzgxcS40MzguNzk3IDEuMzYuNzk3LjcxOCAwIDEuMTQtLjU2My40MjItLjU3OC40MjItMS42ODd6bTYuOTg0LjExcTAgMS4zMjgtLjYxIDIuMTQtLjU5My44MTMtMS42NC44MTN0LTEuNjU2LS42NzJ2Mi43OTdoLTF2LTguMDQ3aC45MDZsLjA0Ny42NDFxLjYxLS43NSAxLjY4OC0uNzUgMS4wNDcgMCAxLjY1Ni43OTcuNjEuNzgxLjYxIDIuMTg4di4wOTN6bS0uOTg0LS4xMXEwLS45ODMtLjQyMi0xLjU0Ni0uNDIyLS41NzgtMS4xNTYtLjU3OC0uODkgMC0xLjM0NC43OTd2Mi43ODFxLjQzOC43OTcgMS4zNi43OTcuNzE4IDAgMS4xNC0uNTYzLjQyMi0uNTc4LjQyMi0xLjY4N3ptNC40ODQgMy4wNjNxLTEuMTcyIDAtMS45MjItLjc2NS0uNzM0LS43ODItLjczNC0yLjA5NHYtLjE3MnEwLS44NzUuMzI4LTEuNTQ3LjMyOC0uNjg3LjkyMi0xLjA2Mi41OTQtLjM5IDEuMjk3LS4zOSAxLjEyNSAwIDEuNzUuNzUuNjQuNzUuNjQgMi4xNHYuNDA2aC0zLjkzN3EuMDE2Ljg2LjQ4NCAxLjM5LjQ4NS41MzIgMS4yMzUuNTMyLjUzMSAwIC44OS0uMjE5LjM2LS4yMTkuNjQxLS41NjJsLjYxLjQ2OHEtLjczNSAxLjEyNS0yLjIwNCAxLjEyNXptLS4xMS01LjIxOHEtLjYwOCAwLTEuMDE1LjQzNy0uNDA2LjQzOC0uNSAxLjIzNGgyLjkwN3YtLjA3OHEtLjA0Ny0uNzUtLjQyMi0xLjE3Mi0uMzYtLjQyMS0uOTctLjQyMXptNi41MTcuMTg3cS0uMjM1LS4wMzEtLjQ4NS0uMDMxLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3eiIgZmlsbD0iIzY2NiIvPjwvc3ZnPg==" alt="">
<figcaption>Torque <code>DataView</code> performance</figcaption>
</figure>
<h2>Optimizing for TurboFan</h2>
<p>When JavaScript code gets hot, we compile it using our TurboFan optimizing compiler, in order to generate highly-optimized machine code that runs more efficiently than interpreted bytecode.</p>
<p>TurboFan works by translating the incoming JavaScript code into an internal graph representation (more precisely, <a href="https://darksi.de/d.sea-of-nodes/">a “sea of nodes”</a>). It starts with high-level nodes that match the JavaScript operations and semantics, and gradually refines them into lower and lower level nodes, until it finally generates machine code.</p>
<p>In particular, a function call, such as calling one of the <code>DataView</code> methods, is internally represented as a <code>JSCall</code> node, which eventually boils down to an actual function call in the generated machine code.</p>
<p>However, TurboFan allows us to check whether the <code>JSCall</code> node is actually a call to a known function, for example one of the builtin functions, and inline this node in the IR. This means that the complicated <code>JSCall</code> gets replaced at compile-time by a subgraph that represents the function. This allows TurboFan to optimize the inside of the function in subsequent passes as part of a broader context, instead of on its own, and most importantly to get rid of the costly function call.</p>
<figure>
<img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM3MSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB3aWR0aD0iNjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Im05MC41NSAxOC41NWgzNTMuNjR2MjgyLjloLTM1My42NHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im05MC41IDE4LjV2MjgzIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0ibTE3OC41IDE4LjV2MjgzbTg5LTI4M3YyODNtODgtMjgzdjI4M204OS0yODN2MjgzIiBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgOTl2LTM4aDMzMmEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyem0wIDEyMHYtMzhoMzQ0YTIgMiAwIDAgMSAyIDJ2MzRhMiAyIDAgMCAxIC0yIDJ6IiBmaWxsPSIjNDI4NWY0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgMTM4di0zOGgyNTVhMiAyIDAgMCAxIDIgMnYzNGEyIDIgMCAwIDEgLTIgMnptMCAxMjB2LTM4aDE5NmEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im0xNzYuMzU0IDM0OS40NXYtOC41MzFoMi43OTdxMS4zOSAwIDIuMDc4LjU3OC43MDMuNTYyLjcwMyAxLjY4NyAwIC42MS0uMzQzIDEuMDc4LS4zMjguNDU0LS45MjIuNzA0LjcwMy4xODcgMS4wOTQuNzM0LjQwNi41MzEuNDA2IDEuMjgxIDAgMS4xNTYtLjc1IDEuODEzLS43MzQuNjU2LTIuMDk0LjY1NnptMS4xMjUtMy45ODR2My4wNjJoMS44NnEuNzk3IDAgMS4yNS0uNDA2LjQ1My0uNDA2LjQ1My0xLjEyNSAwLTEuNTMxLTEuNjg4LTEuNTMxem0wLS45MDdoMS43MDNxLjczNSAwIDEuMTcyLS4zNTkuNDUzLS4zNzUuNDUzLTEuMDE2IDAtLjcwMy0uNDA2LTEuMDE1LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcyem04LjM0NCA1LjAxNnEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc4LS40NTR6bTQuNTMtLjc4LjAzMi43OTZxLjczNC0uOTA2IDEuOTA2LS45MDYgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em04LjUxNiA1LjU3N3EuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptNC41NDctNC44MTJxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTYuOTM4LS43NjYuMDMxLjcwM3EuNjg4LS44MTIgMS44NzUtLjgxMiAxLjMyOCAwIDEuODEzIDEuMDE1LjMxMi0uNDUzLjgxMi0uNzM0LjUxNi0uMjgxIDEuMjAzLS4yODEgMi4wOTQgMCAyLjEyNSAyLjIwM3Y0LjI1aC0xLjA3OHYtNC4xODhxMC0uNjcxLS4zMTMtMS0uMzEyLS4zNDMtMS4wNDYtLjM0My0uNjEgMC0xLjAxNi4zNi0uMzkuMzU4LS40NTMuOTY4djQuMjAzaC0xLjA3OHYtNC4xNTZxMC0xLjM3NS0xLjM2LTEuMzc1LTEuMDYyIDAtMS40NTMuOTA2djQuNjI1aC0xLjA5NHYtNi4zNDR6bTEzLjg5IDYuMzQ0cS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMxLS41OTMtLjUzMS0uNTkzLTEuMzYgMC0uOTg0Ljc1LTEuNTMuNzUtLjU0OCAyLjEyNS0uNTQ4aDEuMDQ3di0uNXEwLS41NjItLjM0NC0uODktLjMyOC0uMzQ0LTEtLjM0NC0uNTc4IDAtLjk2OS4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI4LS45MjIuMzQ0LS40MzguOTIyLS42ODguNTc4LS4yNjUgMS4yNjUtLjI2NSAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NGgtMS4xNHptLTEuNzk3LS44MjhxLjUxNiAwIC45Ny0uMjY2LjQ1Mi0uMjY1LjY1Ni0uNjg3di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDQuNzk3LjM0My4yOC44NzUuMjh6bTcuOTU0LTQuNTQ3cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMi43MDMgMi40MzgtLjY4OC43MDN2Mi4yMzRoLTEuMDc4di05aDEuMDc4djUuNDM4bC41NzgtLjY4OCAxLjk4NS0yLjA5NGgxLjMxMmwtMi40NjkgMi42NTYgMi43NjYgMy42ODhoLTEuMjgxbC0yLjIwMy0yLjkzOHptMTAuOTIyIDEuMjVxMC0uNDM4LS4zNDQtLjY3Mi0uMzI4LS4yNS0xLjE1Ni0uNDIyLS44MTMtLjE3Mi0xLjI5Ny0uNDIyLS40ODUtLjI1LS43MTktLjU3OC0uMjE5LS4zNDQtLjIxOS0uODEzIDAtLjc4MS42NTYtMS4zMTIuNjU3LS41NDcgMS42ODgtLjU0NyAxLjA3OCAwIDEuNzM0LjU2Mi42NzIuNTQ3LjY3MiAxLjQwN2gtMS4wNzhxMC0uNDM4LS4zOS0uNzUtLjM3NS0uMzI5LS45MzgtLjMyOS0uNTk0IDAtLjkzOC4yNjYtLjMyOC4yNS0uMzI4LjY1NiAwIC4zOTEuMzEzLjU5NC4zMTIuMjAzIDEuMTI1LjM5LjgxMi4xNzMgMS4zMTIuNDIzdC43MzUuNjA5cS4yNS4zNi4yNS44NiAwIC44NTktLjY4OCAxLjM3NC0uNjcyLjUxNi0xLjc1LjUxNi0uNzY1IDAtMS4zNi0uMjY2LS41NzctLjI4LS45MDUtLjc2NS0uMzI4LS40ODUtLjMyOC0xLjA0N2gxLjA3OHEuMDMuNTQ3LjQzNy44NzUuNDA2LjMxMiAxLjA3OC4zMTIuNjEgMCAuOTg1LS4yNXQuMzc1LS42NzJ6bTQuODQzLjkyMXEuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptMy4xNzItMi40NjhxMC0uOTIyLjM2LTEuNjcyLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNSAxLjE1Ny0uNjU3LjQwNi0xLjUxNi40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF6bTEuMDk0LjE0cTAgMS4wNDcuNDg0IDEuNjg4LjUuNjQgMS4zMTMuNjQuODI4IDAgMS4zMTItLjY0LjQ4NS0uNjU2LjQ4NS0xLjgyOCAwLTEuMDMyLS41LTEuNjcyLS40ODUtLjY1Ni0xLjMxMy0uNjU2LS43OTcgMC0xLjI5Ny42NC0uNDg0LjYyNS0uNDg0IDEuODI4em05LjI2Ni0yLjI4MXEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh6bTMuNTYyIDUuNXEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTYuNDY4IDIuMDk0cTAtMS4zMTIuMzQ0LTIuNTMxLjM2LTEuMjE5IDEuMDYzLTIuMjE5LjcwMy0xIDEuNDY4LTEuNDA2bC4yMTkuNzE5cS0uODYuNjU2LTEuNDA2IDItLjU0NyAxLjM0NC0uNTk0IDMuMDE1bC0uMDE2LjVxMCAyLjI2Ni44MjkgMy45MjIuNSAxIDEuMTg3IDEuNTYzbC0uMjE5LjY1NnEtLjc4MS0uNDIyLTEuNS0xLjQ1My0xLjM3NS0xLjk4NS0xLjM3NS00Ljc2NnptNS4xMjUtMi4xMXEuNzE5LS44NzQgMS44NzUtLjg3NCAyLjAxNiAwIDIuMDMxIDIuMjY1djQuMTg4aC0xLjA5M3YtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4MS0uNjEuNzM0djQuNTE2aC0xLjA3OHYtOWgxLjA3OHYzLjQyMnptNy4wOTQgNS41NzloLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTIuNzM1IDQuNzk3cTAtMS40ODQuNjg3LTIuMzYuNjg4LS44NzQgMS44MTMtLjg3NCAxLjE1NiAwIDEuODEyLjgxMmwuMDQ3LS43MDNoMXY2LjE4OHEwIDEuMjM0LS43MzQgMS45MzctLjczNS43MTktMS45NTQuNzE5LS42ODcgMC0xLjM0My0uMjk3LS42NTctLjI5Ny0xLS43OTdsLjU2Mi0uNjU2cS42ODguODYgMS43MDMuODYuNzgxIDAgMS4yMTktLjQ1NC40NTMtLjQzNy40NTMtMS4yNXYtLjU0N3EtLjY1Ni43NjYtMS43ODEuNzY2LTEuMTEgMC0xLjc5Ny0uODktLjY4OC0uOTA3LS42ODgtMi40NTR6bTEuMDkzLjEyNXEwIDEuMDYzLjQzOCAxLjY4OC40MzcuNjEgMS4yMzQuNjEgMS4wMTYgMCAxLjUtLjkzOHYtMi44OTFxLS41LS45MDYtMS41LS45MDYtLjc4MSAwLTEuMjM0LjYxLS40MzguNjA4LS40MzggMS44Mjd6bTcuMjUtMi40ODRxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTguNTQ3IDUuNzAzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIxLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptNS4xMDkgNS4zNzVoLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTYuNjg4IDYuMzI4cTAtLjQzNy0uMzQ0LS42NzEtLjMyOC0uMjUtMS4xNTYtLjQyMi0uODEzLS4xNzItMS4yOTctLjQyMi0uNDg1LS4yNS0uNzE5LS41NzgtLjIxOS0uMzQ0LS4yMTktLjgxMyAwLS43ODEuNjU2LTEuMzEyLjY1Ny0uNTQ3IDEuNjg4LS41NDcgMS4wNzggMCAxLjczNC41NjIuNjcyLjU0Ny42NzIgMS40MDdoLTEuMDc4cTAtLjQzOC0uMzktLjc1LS4zNzUtLjMyOS0uOTM4LS4zMjktLjU5NCAwLS45MzguMjY2LS4zMjguMjUtLjMyOC42NTYgMCAuMzkxLjMxMy41OTQuMzEyLjIwMyAxLjEyNS4zOS44MTIuMTczIDEuMzEyLjQyM3QuNzM1LjYwOXEuMjUuMzYuMjUuODYgMCAuODU5LS42ODggMS4zNzQtLjY3Mi41MTYtMS43NS41MTYtLjc2NSAwLTEuMzYtLjI2Ni0uNTc3LS4yOC0uOTA1LS43NjUtLjMyOS0uNDg1LS4zMjktMS4wNDdoMS4wNzlxLjAzLjU0Ny40MzcuODc1LjQwNi4zMTIgMS4wNzguMzEyLjYxIDAgLjk4NS0uMjV0LjM3NS0uNjcyem0xMC42NzEtMS40MDZxMCAxLjQ1My0uNjcxIDIuMzQ0LS42NTcuODc1LTEuNzgyLjg3NS0xLjIwMyAwLTEuODU5LS44NmwtLjA2My43MzVoLS45ODR2LTloMS4wNzh2My4zNnEuNjU2LS44MTMgMS44MTMtLjgxMyAxLjE1NiAwIDEuODEyLjg3NS42NTYuODYuNjU2IDIuMzl6bS0xLjA3OC0uMTI1cTAtMS4xMS0uNDM3LTEuNzAzLS40MjItLjYxLTEuMjE5LS42MS0xLjA3OCAwLTEuNTQ3Ljk4NXYyLjc1cS41IDEgMS41NDcgMSAuNzgxIDAgMS4yMTktLjYxLjQzNy0uNjA5LjQzNy0xLjgxMnptNS4zNDQgMy4zNDRxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00Ljk4NC0yLjMxMnYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTQgMHYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTUuMTU2IDhxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em02LjU3OC4xODhxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em0zLjQzNyAxLjk2OXEwIDEuMzEyLS4zNDQgMi41MTUtLjM0MyAxLjE4OC0xLjA2MiAyLjIwMy0uNzAzIDEuMDE2LTEuNDY5IDEuNDM4bC0uMjM0LS42NTZxLjkwNi0uNjg4IDEuNDUzLTIuMTQuNTQ3LTEuNDcuNTYyLTMuMjM1di0uMTg4cTAtMS4yMzQtLjI2NS0yLjI5Ny0uMjUtMS4wNjItLjcxOS0xLjg5LS40NTMtLjg0NC0xLjAzMS0xLjMxM2wuMjM0LS42NTZxLjc2Ni40MjIgMS40NjkgMS40MjIuNzAzIDEgMS4wNDcgMi4yMTkuMzYgMS4yMDMuMzYgMi41Nzh6bS0zMzAuMTY0LTI0MS43MzV2LTguNTMyaDIuNzk3cTEuMzkgMCAyLjA3OC41NzguNzAzLjU2My43MDMgMS42ODggMCAuNjEtLjM0MyAxLjA3OC0uMzI4LjQ1My0uOTIyLjcwMy43MDMuMTg4IDEuMDk0LjczNS40MDYuNTMuNDA2IDEuMjggMCAxLjE1Ny0uNzUgMS44MTMtLjczNS42NTctMi4wOTQuNjU3em0xLjEyNS0zLjk4NXYzLjA2M2gxLjg2cS43OTcgMCAxLjI1LS40MDcuNDUzLS40MDYuNDUzLTEuMTI1IDAtMS41My0xLjY4OC0xLjUzaC0xLjg3NHptMC0uOTA2aDEuNzA0cS43MzQgMCAxLjE3MS0uMzYuNDUzLS4zNzQuNDUzLTEuMDE1IDAtLjcwMy0uNDA2LTEuMDE2LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcxdjIuNzE5em02Ljg5MSA0Ljg5aC0xLjA3OHYtNi4zNDNoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNXEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptMi43MzQgNC43OTdxMC0xLjQ4NS42ODgtMi4zNi42ODgtLjg3NSAxLjgxMy0uODc1IDEuMTU2IDAgMS44MTIuODEzbC4wNDctLjcwM2gxdjYuMTg3cTAgMS4yMzUtLjczNSAxLjkzOC0uNzM0LjcxOS0xLjk1My43MTktLjY4NyAwLTEuMzQzLS4yOTctLjY1Ny0uMjk3LTEtLjc5N2wuNTYyLS42NTZxLjY4OC44NTkgMS43MDMuODU5Ljc4MSAwIDEuMjE5LS40NTMuNDUzLS40MzguNDUzLTEuMjV2LS41NDdxLS42NTYuNzY2LTEuNzgxLjc2Ni0xLjExIDAtMS43OTctLjg5MS0uNjg4LS45MDYtLjY4OC0yLjQ1M3ptMS4wOTQuMTI1cTAgMS4wNjIuNDM4IDEuNjg3LjQzNy42MSAxLjIzNC42MSAxLjAxNiAwIDEuNS0uOTM4di0yLjg5cS0uNS0uOTA3LTEuNS0uOTA3LS43ODEgMC0xLjIzNC42MS0uNDM4LjYwOS0uNDM4IDEuODI4em04LjQyMi0uMDk0aC0yLjg2di0uODc1aDIuODZ6bTMuMzc1IDMuMzEzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTcuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMy42ODguODEyLjY4OCAyLjMyOHYuNDUzaC00LjI5N3EuMDMxLjkzOC41NDcgMS41MTYuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM1LjcxOC0uNjI1bC42NTcuNTE1cS0uNzk3IDEuMjM1LTIuMzkgMS4yMzV6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NC0uNDM3LjQ3LS41MzEgMS4zMjloMy4xNzJ2LS4wNzlxLS4wNDctLjgyOC0uNDUzLTEuMjgtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTQuNTMtLjc4MS4wMzIuNzk3cS43MzQtLjkwNyAxLjkwNi0uOTA3IDIuMDE2IDAgMi4wMzEgMi4yNjZ2NC4xODhoLTEuMDkydi00LjIwNHEwLS42NzEtLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgyLS4zOTEuMjgtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em01LjcyIDMuMTI1cTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTA5IDAgMS43NjUuNzV2LTMuMjk3aDEuMDc4djloLTFsLS4wNDctLjY4OHEtLjY1Ni44MTMtMS44MTIuODEzLTEuMDk0IDAtMS43OTctLjkwNy0uNjg4LS45MDYtLjY4OC0yLjM2di0uMDc3em0xLjA3OC4xMjVxMCAxLjA3OC40MzcgMS42ODcuNDUzLjYxIDEuMjM0LjYxIDEuMDMyIDAgMS41MTYtLjkzOHYtMi45MDZxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjA5LS40MzcuNjA5LS40MzcgMS44Mjh6bTcuMzU5IDMuMDk0aC0xLjA3OHYtNi4zNDRoMS4wNzh6bS0xLjE3Mi04LjAxNnEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptNi45MDYgOC4wMTZxLS4wOTMtLjE4OC0uMTU2LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ3LS41MzItLjU5My0uNTMxLS41OTMtMS4zNiAwLS45ODMuNzUtMS41M3QyLjEyNS0uNTQ3aDEuMDQ2di0uNXEwLS41NjMtLjM0My0uODktLjMyOC0uMzQ1LTEtLjM0NS0uNTc4IDAtLjk2OS4yOTctLjM5LjI4Mi0uMzkuNzAzaC0xLjA5NHEwLS40ODQuMzI4LS45MjEuMzQzLS40MzguOTIyLS42ODguNTc4LS4yNjYgMS4yNjUtLjI2NiAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NWgtMS4xNHptLTEuNzk3LS44MjlxLjUxNiAwIC45Ny0uMjY1LjQ1Mi0uMjY2LjY1Ni0uNjg4di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDMuNzk3LjM0NC4yODEuODc2LjI4MXptNS45MDctNS41MTUuMDMxLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg4aC0xLjA5MnYtNC4yMDRxMC0uNjcxLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4Mi0uMzkxLjI4LS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptLTU4LjcxOSAxMjUuODA1aDQuMDQ3di45MjFoLTUuMTg4di04LjUzaDEuMTQxem01Ljg3NS45MjFoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY5LjE4OC4xNzEuMTg3LjE3MS40NTMgMCAuMjUtLjE3MS40MzctLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4Ny0uMTU2LS40Mzd6bTQuNDY5LjE0djEuNTMyaDEuMTcydi44NDNoLTEuMTcydjMuOTIycTAgLjM5MS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzctLjM3NS0uNDUzLS4zNzUtMS4yNjZ2LTMuOTIyaC0xLjE1NnYtLjg0M2gxLjE1NnYtMS41MzJ6bTQgMHYxLjUzMmgxLjE3MnYuODQzaC0xLjE3MnYzLjkyMnEwIC4zOTEuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM3LS4zNzUtLjQ1My0uMzc1LTEuMjY2di0zLjkyMmgtMS4xNTZ2LS44NDNoMS4xNTZ2LTEuNTMyem0zLjcwMyA3Ljg3NWgtMS4wNzh2LTloMS4wNzh6bTQuNDUzLjEyNXEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em01Ljc2NSAyLjM3NWgtMi44NnYtLjg3NWgyLjg2em0zLjM3NSAzLjMxMnEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00LjUzLS43ODEuMDMyLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg3aC0xLjA5MnYtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4Mi0uNjEuNzM1djQuNTE1aC0xLjA3OHYtNi4zNDNoMS4wMTZ6bTUuNzIgMy4xMjVxMC0xLjQ2OS42ODctMi4zNDQuNjg4LS44OSAxLjgxMy0uODkgMS4xMDkgMCAxLjc2NS43NXYtMy4yOThoMS4wNzh2OWgtMWwtLjA0Ny0uNjg3cS0uNjU2LjgxMi0xLjgxMi44MTItMS4wOTQgMC0xLjc5Ny0uOTA2LS42ODgtLjkwNi0uNjg4LTIuMzZ2LS4wNzd6bTEuMDc4LjEyNXEwIDEuMDc4LjQzNyAxLjY4Ny40NTMuNjEgMS4yMzQuNjEgMS4wMzIgMCAxLjUxNi0uOTM4di0yLjkwNnEtLjQ4NC0uODktMS41LS44OS0uNzk3IDAtMS4yNS42MDktLjQzNy42MDktLjQzNyAxLjgyOHptNy4zNTkgMy4wOTNoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY4LjE4OC4xNzIuMTg3LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzctLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODctLjE1Ni0uNDM3em02LjkwNiA4LjAxNXEtLjA5My0uMTg3LS4xNTYtLjY3MS0uNzUuNzk2LTEuNzk3Ljc5Ni0uOTM3IDAtMS41NDctLjUzLS41OTMtLjUzMi0uNTkzLTEuMzYgMC0uOTg1Ljc1LTEuNTMxLjc1LS41NDcgMi4xMjUtLjU0N2gxLjA0NnYtLjVxMC0uNTYzLS4zNDMtLjg5LS4zMjgtLjM0NS0xLS4zNDUtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIyLjM0My0uNDM3LjkyMi0uNjg3LjU3OC0uMjY2IDEuMjY1LS4yNjYgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2NS40NTItLjI2Ni42NTYtLjY4OHYtMS4yOTdoLS44NDRxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjgxLjg3Ni4yODF6bTUuOTA3LTUuNTE1LjAzMS43OTdxLjczNC0uOTA3IDEuOTA2LS45MDcgMi4wMTYgMCAyLjAzMSAyLjI2NnY0LjE4N2gtMS4wOTJ2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODItLjYxLjczNXY0LjUxNWgtMS4wNzh2LTYuMzQzaDEuMDE2eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Im05Mi41OTcgMzEzLjQxOXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptODEuODMyIDQuMjY2aC0uOTA3di02LjAxNmwtMS44MjguNjU3di0uODEzbDIuNTk0LS45NjloLjE0djcuMTQxem03LjQ4NC0zLjAzMXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOC0xLjY3Mi0uMzEzLS41My0xLjAxNi0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjgtMS42NzItLjMxMy0uNTMtMS4wMTYtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTc3LjUxOSA0LjI2NmgtNC42NTZ2LS42NTZsMi40NTMtMi43MzVxLjU0Ny0uNjA5Ljc1LTEgLjIxOS0uMzkuMjE5LS44MTIgMC0uNTQ3LS4zNDQtLjkwNi0uMzI4LS4zNi0uODktLjM2LS42NzMgMC0xLjA0OC4zOS0uMzc1LjM3Ni0uMzc1IDEuMDYzaC0uOTA2cTAtLjk4NC42MjUtMS41NzguNjQtLjYxIDEuNzAzLS42MS45ODUgMCAxLjU2My41MTcuNTc4LjUxNS41NzggMS4zOSAwIDEuMDQ3LTEuMzQ0IDIuNWwtMS44OSAyLjA2M2gzLjU2MnptNS43OTctMy4wMzFxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTYuOTA2IDEuMjM1cTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE2LjU0Ny42NzEgMCAuOTg0LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1em03NC4xNzUuMjY2aC42NzJxLjY0IDAgMS0uMzI4LjM3NS0uMzI4LjM3NS0uODkgMC0xLjI1LTEuMjUtMS4yNS0uNTc4IDAtLjkzNy4zNDMtLjM0NC4zMjgtLjM0NC44NzVoLS45MDZxMC0uODQ0LjYyNS0xLjM5LjYyNS0uNTYzIDEuNTYyLS41NjMgMS4wMTYgMCAxLjU3OC41MzEuNTc4LjUzMS41NzggMS40NjkgMCAuNDY5LS4yOTcuOTA2LS4yOTYuNDM4LS44MjguNjU2LjU5NC4xNzIuOTA3LjYxLjMyOC40MjIuMzI4IDEuMDQ3IDAgLjk1My0uNjI1IDEuNTE1LS42MjUuNTYzLTEuNjI1LjU2M3QtMS42NC0uNTMxcS0uNjI2LS41NDctLjYyNi0xLjQzOGguOTIycTAgLjU2My4zNi45MDYuMzU5LjMyOC45ODQuMzI4LjY1NiAwIDEtLjM0My4zNDMtLjM0NC4zNDMtLjk4NSAwLS42MS0uMzktLjkzNy0uMzc1LS4zNDQtMS4wOTQtLjM0NGgtLjY3MnptOS4xNC45NjlxMCAxLjU3OC0uNTQ2IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2djEuMTcyem0tLjkwNS0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTYuOTA2IDEuMjM1cTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE1LjU0Ny42NzIgMCAuOTg1LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1em03Ni42NzUgMS44NzZoLjk4NXYuNzM0aC0uOTg1djEuNjU2aC0uOTA2di0xLjY1NmgtMy4yMzR2LS41MzFsMy4xNzEtNC45MjJoLjk3djQuNzE4em0tMy4xMjUgMGgyLjIxOXYtMy40ODVsLS4xMS4yMDMtMi4xMDkgMy4yODF6bTkuNzY2LS42NDFxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTYuOTA2IDEuMjM1cTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE1LjU0Ny42NzIgMCAuOTg1LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1eiIgZmlsbD0iIzY2NiIvPjxwYXRoIGQ9Im00NjYuNDUgMjAuNTVhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjEwYTEgMSAwIDAgMSAtMSAxaC0xMGExIDEgMCAwIDEgLTEtMXoiIGZpbGw9IiM0Mjg1ZjQiLz48cGF0aCBkPSJtNDg3LjM1NiAyOS41NXYtNy44MjhoMi4yMDNxMS4wMzIgMCAxLjgxMy40NTMuNzgxLjQ1MyAxLjIwMyAxLjI5Ny40MzguODI4LjQzOCAxLjkwNnYuNXEwIDEuMTEtLjQzOCAxLjkzOC0uNDIyLjgyOC0xLjIxOSAxLjI4LS43ODEuNDM4LTEuODI4LjQ1NHptMS4wMzEtNi45Njl2Ni4xMjVoMS4wOTRxMS4xODggMCAxLjg0NC0uNzM0LjY3Mi0uNzUuNjcyLTIuMTI1di0uNDUzcTAtMS4zMjgtLjYyNS0yLjA2My0uNjI1LS43NS0xLjc4MS0uNzV6bTkuNDA3IDYuOTY5cS0uMDk0LS4xNzItLjE0LS42MS0uNzA0LjcyLTEuNjU3LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOC0uMzEzLS4zMTMtLjkyMi0uMzEzLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk3LjIwMyAxLjI2NXYuMDk0em0tMS42NTYtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk2LjI2NnptNS40MDYtNi40Njl2MS40MDdoMS4wOTR2Ljc2NWgtMS4wOTR2My42MXEwIC4zNDMuMTQuNTMuMTU3LjE3My41LjE3My4xNzIgMCAuNDg1LS4wNzh2LjgxMnEtLjQwNi4xMS0uNzY2LjExLS42NzIgMC0xLjAxNi0uNDA3LS4zMjgtLjQwNi0uMzI4LTEuMTR2LTMuNjFoLTEuMDYydi0uNzY1aDEuMDYydi0xLjQwOGguOTg1em02LjI1IDcuMjE5cS0uMDk0LS4xNzItLjE0LS42MS0uNzA0LjcyLTEuNjU3LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOC0uMzEzLS4zMTMtLjkyMi0uMzEzLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk3LjIwMyAxLjI2NXYuMDk0em0tMS42NTYtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk2LjI2NnptNi44MTItLjYyNSAyLjIzNC02LjQ1M2gxLjEyNWwtMi45MDYgNy44MjhoLS45MDZsLTIuODktNy44MjhoMS4xMDl6bTUuMzI4IDEuMzc1aC0uOTg0di01LjgxM2guOTg0em0tMS4wNzgtNy4zNnEwLS4yMzQuMTQtLjM5LjE1Ny0uMTcyLjQ1NC0uMTcyLjI5NyAwIC40MzcuMTcyLjE1Ny4xNTYuMTU3LjQwNiAwIC4yMzUtLjE1Ny4zOS0uMTQuMTU3LS40MzcuMTU3dC0uNDUzLS4xNTZxLS4xNDEtLjE1Ni0uMTQxLS40MDZ6bTUuNDA2IDcuNDdxLTEuMTcyIDAtMS45MjItLjc2Ni0uNzM0LS43ODEtLjczNC0yLjA5NHYtLjE3MnEwLS44NzUuMzI4LTEuNTQ3LjMyOC0uNjg3LjkyMi0xLjA2Mi41OTQtLjM5IDEuMjk3LS4zOSAxLjEyNSAwIDEuNzUuNzUuNjQuNzUuNjQgMi4xNHYuNDA2aC0zLjkzN3EuMDE2Ljg2LjQ4NCAxLjM5LjQ4NS41MzIgMS4yMzUuNTMyLjUzMSAwIC44OS0uMjE5LjM2LS4yMTkuNjQxLS41NjJsLjYxLjQ2OHEtLjczNSAxLjEyNS0yLjIwNCAxLjEyNXptLS4xMS01LjIycS0uNjA4IDAtMS4wMTUuNDM4LS40MDYuNDM4LS41IDEuMjM1aDIuOTA3di0uMDc5cS0uMDQ3LS43NS0uNDIyLTEuMTcxLS4zNi0uNDIyLS45Ny0uNDIyem04Ljg0NSAzLjczNSAxLjEyNS00LjQzOGgxbC0xLjcwMyA1LjgxM2gtLjc5N2wtMS40MjItNC40MDYtMS4zNzUgNC40MDZoLS43OTdsLTEuNjg4LTUuODEzaC45ODVsMS4xNCA0LjM0NCAxLjM2LTQuMzQzaC43OTd6IiBmaWxsPSIjNjY2Ii8+PHBhdGggZD0ibTQ2Ni40NSA0NC41NWExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxIC0xIDFoLTEwYTEgMSAwIDAgMSAtMS0xeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im00OTIuODU2IDQ1LjcyMnY1LjMyOHEwIDEuMTEtLjY4NyAxLjgxMy0uNjg4LjcwMy0xLjg3NS43OGwtLjI2Ni4wMTZxLTEuMjk3IDAtMi4wNjItLjY4Ny0uNzUtLjcwMy0uNzY2LTEuOTIydi01LjMyOGgxLjAxNnY1LjI5N3EwIC44Ni40NjggMS4zMjguNDcuNDY5IDEuMzQ0LjQ2OS44NzUgMCAxLjMyOC0uNDcuNDY5LS40NjguNDY5LTEuMzEydi01LjMxMnptMi40MjIgNy44MjhoLS45ODR2LTUuODEzaC45ODR6bS0xLjA3OC03LjM2cTAtLjIzNC4xNC0uMzkuMTU3LS4xNzIuNDU0LS4xNzIuMjk3IDAgLjQzNy4xNzIuMTU2LjE1Ni4xNTYuNDA2IDAgLjIzNS0uMTU2LjM5LS4xNC4xNTctLjQzNy4xNTd0LS40NTMtLjE1NnEtLjE0MS0uMTU2LS4xNDEtLjQwNnptMy45MzggMS41NDcuMDMuNzM1cS42NzMtLjg0NCAxLjc1LS44NDQgMS44NDQgMCAxLjg2IDIuMDc4djMuODQ0aC0xdi0zLjg0NHEwLS42MjUtLjI4MS0uOTIyLS4yODEtLjMxMi0uODktLjMxMi0uNDcgMC0uODQ1LjI2NS0uMzU5LjI1LS41NjIuNjcydjQuMTQxaC0xdi01LjgxM3ptNi40MDYtMS40MDZ2MS40MDZoMS4wOTR2Ljc2NmgtMS4wOTR2My42MXEwIC4zNDMuMTQuNTMuMTU3LjE3My41LjE3My4xNzIgMCAuNDg1LS4wNzl2LjgxM3EtLjQwNi4xMS0uNzY2LjExLS42NzIgMC0xLjAxNi0uNDA3LS4zMjgtLjQwNi0uMzI4LTEuMTR2LTMuNjFoLTEuMDYydi0uNzY2aDEuMDYydi0xLjQwNnptNy4yOTcgMS40MzhxMCAuNTkzLS4zMTMgMS4wNDctLjI5Ny40NTMtLjgyOC43MTguNjEuMjUuOTY5Ljc2Ni4zNi41LjM2IDEuMTQgMCAxLjAxNi0uNjg4IDEuNjI2LS42ODguNTkzLTEuNzk3LjU5My0xLjE0IDAtMS44MTMtLjU5My0uNjcyLS42MS0uNjcyLTEuNjI1IDAtLjY0MS4zNDQtMS4xNDEuMzQ0LS41MTYuOTUzLS43ODEtLjUxNS0uMjUtLjgyOC0uNzAzLS4yOTctLjQ3LS4yOTctMS4wNDcgMC0uOTg1LjYyNS0xLjU2My42NC0uNTc4IDEuNjg4LS41NzggMS4wMzEgMCAxLjY1Ni41NzguNjQuNTc4LjY0IDEuNTYzem0tLjgxMyAzLjY1NnEwLS42NTYtLjQyMi0xLjA2My0uNDA2LS40MjEtMS4wNzgtLjQyMXQtMS4wNzguNDA2cS0uNDA2LjQwNi0uNDA2IDEuMDc4IDAgLjY1Ni4zOSAxLjA0Ny40MDcuMzc1IDEuMTEuMzc1LjY4NyAwIDEuMDc4LS4zNzUuNDA2LS4zOS40MDYtMS4wNDd6bS0xLjQ4NC00Ljk4NHEtLjU5NCAwLS45NTMuMzU5LS4zNi4zNi0uMzYuOTg0IDAgLjU5NC4zNi45Ny4zNTkuMzU4Ljk1My4zNTh0Ljk1My0uMzU5cS4zNi0uMzc1LjM2LS45NjkgMC0uNTkzLS4zNzYtLjk2OC0uMzc1LS4zNzUtLjkzNy0uMzc1em04LjEyNSA1LjA2MmgtMy4yNjZsLS43MzQgMi4wNDdoLTEuMDYzbDIuOTg1LTcuODI4aC45MDZsMi45ODQgNy44MjhoLTEuMDYyem0tMi45NTMtLjg0NGgyLjY1NmwtMS4zMjgtMy42NTZ6bTguMjk3LTIuMDNxLS4yMzUtLjAzMi0uNDg1LS4wMzItLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd2LjkyMnptNCAwcS0uMjM1LS4wMzItLjQ4NS0uMDMyLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3di45MjJ6bTQuNzggNC45MjFxLS4wOTMtLjE3Mi0uMTQtLjYxLS43MDMuNzItMS42NTYuNzItLjg2IDAtMS40MjItLjQ4NS0uNTQ3LS40ODQtLjU0Ny0xLjIzNCAwLS45MDcuNjg4LTEuNDA3LjcwMy0uNTE1IDEuOTUzLS41MTVoLjk2OXYtLjQ1M3EwLS41MTYtLjMxMy0uODI5LS4zMTMtLjMxMi0uOTIyLS4zMTItLjUzMSAwLS44OS4yODEtLjM2LjI2Ni0uMzYuNjRoLTFxMC0uNDM3LjMxMy0uODQzLjMxMi0uNDA2LjgyOC0uNjQuNTMxLS4yMzUgMS4xNzItLjIzNSAxIDAgMS41NjIuNS41NzguNS41OTQgMS4zOXYyLjY3M3EwIC43OTYuMjAzIDEuMjY1di4wOTRoLTEuMDMxem0tMS42NTUtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk3LjI2NnptNS45NjgtLjcwMyAxLjM0NC00LjM2aDEuMDc4bC0yLjM0NCA2LjcwNHEtLjU0NiAxLjQ1My0xLjcxOCAxLjQ1M2wtLjE4OC0uMDE2LS4zNzUtLjA2MnYtLjgxM2wuMjY2LjAzMXEuNSAwIC43ODEtLjIxOC4yODEtLjIwNC40NjktLjczNWwuMjE5LS41OTQtMi4wNjMtNS43NWgxLjA3OHptMTEuMjM1LjA3OCAxLjEyNS00LjQzOGgxbC0xLjcwMyA1LjgxM2gtLjc5N2wtMS40MjItNC40MDYtMS4zNzUgNC40MDZoLS43OTdsLTEuNjg4LTUuODEzaC45ODVsMS4xNCA0LjM0NCAxLjM2LTQuMzQ0aC43OTd6bTUuNjcyLTMuNTQ3cS0uMjM1LS4wMzEtLjQ4NS0uMDMxLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3em00Ljc4IDQuOTIycS0uMDkzLS4xNzItLjE0LS42MS0uNzAzLjcyLTEuNjU2LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOS0uMzEzLS4zMTItLjkyMi0uMzEyLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk2LjIwMyAxLjI2NXYuMDk0aC0xLjAzMXptLTEuNjU1LS43NXEuNDY4IDAgLjg5LS4yMzQuNDIyLS4yNS42MS0uNjQxdi0xLjE4OGgtLjc4MnEtMS44MjggMC0xLjgyOCAxLjA2MyAwIC40NjkuMzEzLjczNC4zMTIuMjY2Ljc5Ny4yNjZ6bTguOTY4LTIuMDk0cTAgMS4zMjgtLjYxIDIuMTQtLjU5My44MTMtMS42NC44MTN0LTEuNjU2LS42NzJ2Mi43OTdoLTF2LTguMDQ3aC45MDZsLjA0Ny42NDFxLjYxLS43NSAxLjY4OC0uNzUgMS4wNDcgMCAxLjY1Ni43OTcuNjEuNzgxLjYxIDIuMTg4di4wOTN6bS0uOTg0LS4xMXEwLS45ODMtLjQyMi0xLjU0Ni0uNDIyLS41NzgtMS4xNTYtLjU3OC0uODkgMC0xLjM0NC43OTd2Mi43ODFxLjQzOC43OTcgMS4zNi43OTcuNzE4IDAgMS4xNC0uNTYzLjQyMi0uNTc4LjQyMi0xLjY4N3ptNi45ODQuMTFxMCAxLjMyOC0uNjEgMi4xNC0uNTkzLjgxMy0xLjY0LjgxM3QtMS42NTYtLjY3MnYyLjc5N2gtMXYtOC4wNDdoLjkwNmwuMDQ3LjY0MXEuNjEtLjc1IDEuNjg4LS43NSAxLjA0NyAwIDEuNjU2Ljc5Ny42MS43ODEuNjEgMi4xODh2LjA5M3ptLS45ODQtLjExcTAtLjk4My0uNDIyLTEuNTQ2LS40MjItLjU3OC0xLjE1Ni0uNTc4LS44OSAwLTEuMzQ0Ljc5N3YyLjc4MXEuNDM4Ljc5NyAxLjM2Ljc5Ny43MTggMCAxLjE0LS41NjMuNDIyLS41NzguNDIyLTEuNjg3em00LjQ4NCAzLjA2M3EtMS4xNzIgMC0xLjkyMi0uNzY1LS43MzQtLjc4Mi0uNzM0LTIuMDk0di0uMTcycTAtLjg3NS4zMjgtMS41NDcuMzI4LS42ODcuOTIyLTEuMDYyLjU5NC0uMzkgMS4yOTctLjM5IDEuMTI1IDAgMS43NS43NS42NC43NS42NCAyLjE0di40MDZoLTMuOTM3cS4wMTYuODYuNDg0IDEuMzkuNDg1LjUzMiAxLjIzNS41MzIuNTMxIDAgLjg5LS4yMTkuMzYtLjIxOS42NDEtLjU2MmwuNjEuNDY4cS0uNzM1IDEuMTI1LTIuMjA0IDEuMTI1em0tLjExLTUuMjE4cS0uNjA4IDAtMS4wMTUuNDM3LS40MDYuNDM4LS41IDEuMjM0aDIuOTA3di0uMDc4cS0uMDQ3LS43NS0uNDIyLTEuMTcyLS4zNi0uNDIxLS45Ny0uNDIxem02LjUxNy4xODdxLS4yMzUtLjAzMS0uNDg1LS4wMzEtLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd6IiBmaWxsPSIjNjY2Ii8+PC9zdmc+" alt="">
<figcaption>Initial TurboFan <code>DataView</code> performance</figcaption>
</figure>
<p>Implementing TurboFan inlining finally allowed us to match, and even exceed, the performance of our <code>Uint8Array</code> wrapper, and be <strong>8 times</strong> as fast as the former C++ implementation.</p>
<h2>Further TurboFan optimizations</h2>
<p>Looking at the machine code generated by TurboFan after inlining the <code>DataView</code> methods, there was still room for some improvement. The first implementation of those methods tried to follow the standard pretty closely, and threw errors when the spec indicates so (for example, when trying to read or write out of the bounds of the underlying <code>ArrayBuffer</code>).</p>
<p>However, the code that we write in TurboFan is meant to be optimized to be as fast as possible for the common, hot cases — it doesn’t need to support every possible edge case. By removing all the intricate handling of those errors, and just deoptimizing back to the baseline Torque implementation when we need to throw, we were able to reduce the size of the generated code by around 35%, generating a quite noticeable speedup, as well as considerably simpler TurboFan code.</p>
<p>Following up on this idea of being as specialized as possible in TurboFan, we also removed support for indices or offsets that are too large (outside of Smi range) inside the TurboFan-optimized code. This allowed us to get rid of handling of the float64 arithmetic that is needed for offsets that do not fit into a 32-bit value, and to avoid storing large integers on the heap.</p>
<p>Compared to the initial TurboFan implementation, this more than doubled the <code>DataView</code> benchmark score. <code>DataView</code>s are now up to 3 times as fast as the <code>Uint8Array</code> wrapper, and around <strong>16 times as fast</strong> as our original <code>DataView</code> implementation!</p>
<figure>
<img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM3MSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB3aWR0aD0iNjAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Im05MC41NSAxOC41NWgzNTMuNjR2MjgyLjloLTM1My42NHoiLz48L2NsaXBQYXRoPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0wIDBoNjAwdjM3MWgtNjAweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im05MC41IDE4LjV2MjgzIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0ibTE3OC41IDE4LjV2MjgzbTg5LTI4M3YyODNtODgtMjgzdjI4M204OS0yODN2MjgzIiBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgOTl2LTM4aDMwMmEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyem0wIDEyMHYtMzhoMzE2YTIgMiAwIDAgMSAyIDJ2MzRhMiAyIDAgMCAxIC0yIDJ6IiBmaWxsPSIjNDI4NWY0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtOTEgMTM4di0zOGgxMzBhMiAyIDAgMCAxIDIgMnYzNGEyIDIgMCAwIDEgLTIgMnptMCAxMjB2LTM4aDEwMGEyIDIgMCAwIDEgMiAydjM0YTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im0xNzYuMzU0IDM0OS40NXYtOC41MzFoMi43OTdxMS4zOSAwIDIuMDc4LjU3OC43MDMuNTYyLjcwMyAxLjY4NyAwIC42MS0uMzQzIDEuMDc4LS4zMjguNDU0LS45MjIuNzA0LjcwMy4xODcgMS4wOTQuNzM0LjQwNi41MzEuNDA2IDEuMjgxIDAgMS4xNTYtLjc1IDEuODEzLS43MzQuNjU2LTIuMDk0LjY1NnptMS4xMjUtMy45ODR2My4wNjJoMS44NnEuNzk3IDAgMS4yNS0uNDA2LjQ1My0uNDA2LjQ1My0xLjEyNSAwLTEuNTMxLTEuNjg4LTEuNTMxem0wLS45MDdoMS43MDNxLjczNSAwIDEuMTcyLS4zNTkuNDUzLS4zNzUuNDUzLTEuMDE2IDAtLjcwMy0uNDA2LTEuMDE1LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcyem04LjM0NCA1LjAxNnEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc4LS40NTR6bTQuNTMtLjc4LjAzMi43OTZxLjczNC0uOTA2IDEuOTA2LS45MDYgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em04LjUxNiA1LjU3N3EuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptNC41NDctNC44MTJxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTYuOTM4LS43NjYuMDMxLjcwM3EuNjg4LS44MTIgMS44NzUtLjgxMiAxLjMyOCAwIDEuODEzIDEuMDE1LjMxMi0uNDUzLjgxMi0uNzM0LjUxNi0uMjgxIDEuMjAzLS4yODEgMi4wOTQgMCAyLjEyNSAyLjIwM3Y0LjI1aC0xLjA3OHYtNC4xODhxMC0uNjcxLS4zMTMtMS0uMzEyLS4zNDMtMS4wNDYtLjM0My0uNjEgMC0xLjAxNi4zNi0uMzkuMzU4LS40NTMuOTY4djQuMjAzaC0xLjA3OHYtNC4xNTZxMC0xLjM3NS0xLjM2LTEuMzc1LTEuMDYyIDAtMS40NTMuOTA2djQuNjI1aC0xLjA5NHYtNi4zNDR6bTEzLjg5IDYuMzQ0cS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMxLS41OTMtLjUzMS0uNTkzLTEuMzYgMC0uOTg0Ljc1LTEuNTMuNzUtLjU0OCAyLjEyNS0uNTQ4aDEuMDQ3di0uNXEwLS41NjItLjM0NC0uODktLjMyOC0uMzQ0LTEtLjM0NC0uNTc4IDAtLjk2OS4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI4LS45MjIuMzQ0LS40MzguOTIyLS42ODguNTc4LS4yNjUgMS4yNjUtLjI2NSAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NGgtMS4xNHptLTEuNzk3LS44MjhxLjUxNiAwIC45Ny0uMjY2LjQ1Mi0uMjY1LjY1Ni0uNjg3di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDQuNzk3LjM0My4yOC44NzUuMjh6bTcuOTU0LTQuNTQ3cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMi43MDMgMi40MzgtLjY4OC43MDN2Mi4yMzRoLTEuMDc4di05aDEuMDc4djUuNDM4bC41NzgtLjY4OCAxLjk4NS0yLjA5NGgxLjMxMmwtMi40NjkgMi42NTYgMi43NjYgMy42ODhoLTEuMjgxbC0yLjIwMy0yLjkzOHptMTAuOTIyIDEuMjVxMC0uNDM4LS4zNDQtLjY3Mi0uMzI4LS4yNS0xLjE1Ni0uNDIyLS44MTMtLjE3Mi0xLjI5Ny0uNDIyLS40ODUtLjI1LS43MTktLjU3OC0uMjE5LS4zNDQtLjIxOS0uODEzIDAtLjc4MS42NTYtMS4zMTIuNjU3LS41NDcgMS42ODgtLjU0NyAxLjA3OCAwIDEuNzM0LjU2Mi42NzIuNTQ3LjY3MiAxLjQwN2gtMS4wNzhxMC0uNDM4LS4zOS0uNzUtLjM3NS0uMzI5LS45MzgtLjMyOS0uNTk0IDAtLjkzOC4yNjYtLjMyOC4yNS0uMzI4LjY1NiAwIC4zOTEuMzEzLjU5NC4zMTIuMjAzIDEuMTI1LjM5LjgxMi4xNzMgMS4zMTIuNDIzdC43MzUuNjA5cS4yNS4zNi4yNS44NiAwIC44NTktLjY4OCAxLjM3NC0uNjcyLjUxNi0xLjc1LjUxNi0uNzY1IDAtMS4zNi0uMjY2LS41NzctLjI4LS45MDUtLjc2NS0uMzI4LS40ODUtLjMyOC0xLjA0N2gxLjA3OHEuMDMuNTQ3LjQzNy44NzUuNDA2LjMxMiAxLjA3OC4zMTIuNjEgMCAuOTg1LS4yNXQuMzc1LS42NzJ6bTQuODQzLjkyMXEuNTc4IDAgMS4wMTYtLjM0My40MzgtLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptMy4xNzItMi40NjhxMC0uOTIyLjM2LTEuNjcyLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNSAxLjE1Ny0uNjU3LjQwNi0xLjUxNi40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF6bTEuMDk0LjE0cTAgMS4wNDcuNDg0IDEuNjg4LjUuNjQgMS4zMTMuNjQuODI4IDAgMS4zMTItLjY0LjQ4NS0uNjU2LjQ4NS0xLjgyOCAwLTEuMDMyLS41LTEuNjcyLS40ODUtLjY1Ni0xLjMxMy0uNjU2LS43OTcgMC0xLjI5Ny42NC0uNDg0LjYyNS0uNDg0IDEuODI4em05LjI2Ni0yLjI4MXEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh6bTMuNTYyIDUuNXEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMS44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTYuNDY4IDIuMDk0cTAtMS4zMTIuMzQ0LTIuNTMxLjM2LTEuMjE5IDEuMDYzLTIuMjE5LjcwMy0xIDEuNDY4LTEuNDA2bC4yMTkuNzE5cS0uODYuNjU2LTEuNDA2IDItLjU0NyAxLjM0NC0uNTk0IDMuMDE1bC0uMDE2LjVxMCAyLjI2Ni44MjkgMy45MjIuNSAxIDEuMTg3IDEuNTYzbC0uMjE5LjY1NnEtLjc4MS0uNDIyLTEuNS0xLjQ1My0xLjM3NS0xLjk4NS0xLjM3NS00Ljc2NnptNS4xMjUtMi4xMXEuNzE5LS44NzQgMS44NzUtLjg3NCAyLjAxNiAwIDIuMDMxIDIuMjY1djQuMTg4aC0xLjA5M3YtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4MS0uNjEuNzM0djQuNTE2aC0xLjA3OHYtOWgxLjA3OHYzLjQyMnptNy4wOTQgNS41NzloLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTIuNzM1IDQuNzk3cTAtMS40ODQuNjg3LTIuMzYuNjg4LS44NzQgMS44MTMtLjg3NCAxLjE1NiAwIDEuODEyLjgxMmwuMDQ3LS43MDNoMXY2LjE4OHEwIDEuMjM0LS43MzQgMS45MzctLjczNS43MTktMS45NTQuNzE5LS42ODcgMC0xLjM0My0uMjk3LS42NTctLjI5Ny0xLS43OTdsLjU2Mi0uNjU2cS42ODguODYgMS43MDMuODYuNzgxIDAgMS4yMTktLjQ1NC40NTMtLjQzNy40NTMtMS4yNXYtLjU0N3EtLjY1Ni43NjYtMS43ODEuNzY2LTEuMTEgMC0xLjc5Ny0uODktLjY4OC0uOTA3LS42ODgtMi40NTR6bTEuMDkzLjEyNXEwIDEuMDYzLjQzOCAxLjY4OC40MzcuNjEgMS4yMzQuNjEgMS4wMTYgMCAxLjUtLjkzOHYtMi44OTFxLS41LS45MDYtMS41LS45MDYtLjc4MSAwLTEuMjM0LjYxLS40MzguNjA4LS40MzggMS44Mjd6bTcuMjUtMi40ODRxLjcxOS0uODc1IDEuODc1LS44NzUgMi4wMTYgMCAyLjAzMSAyLjI2NXY0LjE4OGgtMS4wOTN2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTloMS4wNzh6bTguNTQ3IDUuNzAzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIxLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptNS4xMDkgNS4zNzVoLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3MS40MzgtLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4OC0uMTU2LS40Mzh6bTYuNjg4IDYuMzI4cTAtLjQzNy0uMzQ0LS42NzEtLjMyOC0uMjUtMS4xNTYtLjQyMi0uODEzLS4xNzItMS4yOTctLjQyMi0uNDg1LS4yNS0uNzE5LS41NzgtLjIxOS0uMzQ0LS4yMTktLjgxMyAwLS43ODEuNjU2LTEuMzEyLjY1Ny0uNTQ3IDEuNjg4LS41NDcgMS4wNzggMCAxLjczNC41NjIuNjcyLjU0Ny42NzIgMS40MDdoLTEuMDc4cTAtLjQzOC0uMzktLjc1LS4zNzUtLjMyOS0uOTM4LS4zMjktLjU5NCAwLS45MzguMjY2LS4zMjguMjUtLjMyOC42NTYgMCAuMzkxLjMxMy41OTQuMzEyLjIwMyAxLjEyNS4zOS44MTIuMTczIDEuMzEyLjQyM3QuNzM1LjYwOXEuMjUuMzYuMjUuODYgMCAuODU5LS42ODggMS4zNzQtLjY3Mi41MTYtMS43NS41MTYtLjc2NSAwLTEuMzYtLjI2Ni0uNTc3LS4yOC0uOTA1LS43NjUtLjMyOS0uNDg1LS4zMjktMS4wNDdoMS4wNzlxLjAzLjU0Ny40MzcuODc1LjQwNi4zMTIgMS4wNzguMzEyLjYxIDAgLjk4NS0uMjV0LjM3NS0uNjcyem0xMC42NzEtMS40MDZxMCAxLjQ1My0uNjcxIDIuMzQ0LS42NTcuODc1LTEuNzgyLjg3NS0xLjIwMyAwLTEuODU5LS44NmwtLjA2My43MzVoLS45ODR2LTloMS4wNzh2My4zNnEuNjU2LS44MTMgMS44MTMtLjgxMyAxLjE1NiAwIDEuODEyLjg3NS42NTYuODYuNjU2IDIuMzl6bS0xLjA3OC0uMTI1cTAtMS4xMS0uNDM3LTEuNzAzLS40MjItLjYxLTEuMjE5LS42MS0xLjA3OCAwLTEuNTQ3Ljk4NXYyLjc1cS41IDEgMS41NDcgMSAuNzgxIDAgMS4yMTktLjYxLjQzNy0uNjA5LjQzNy0xLjgxMnptNS4zNDQgMy4zNDRxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00Ljk4NC0yLjMxMnYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTQgMHYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTUuMTU2IDhxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTYtLjQyMiAxLjQwNi0uNDIyIDEuMjM0IDAgMS45MjEuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE5LS42MjVsLjY1Ni41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em02LjU3OC4xODhxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em0zLjQzNyAxLjk2OXEwIDEuMzEyLS4zNDQgMi41MTUtLjM0MyAxLjE4OC0xLjA2MiAyLjIwMy0uNzAzIDEuMDE2LTEuNDY5IDEuNDM4bC0uMjM0LS42NTZxLjkwNi0uNjg4IDEuNDUzLTIuMTQuNTQ3LTEuNDcuNTYyLTMuMjM1di0uMTg4cTAtMS4yMzQtLjI2NS0yLjI5Ny0uMjUtMS4wNjItLjcxOS0xLjg5LS40NTMtLjg0NC0xLjAzMS0xLjMxM2wuMjM0LS42NTZxLjc2Ni40MjIgMS40NjkgMS40MjIuNzAzIDEgMS4wNDcgMi4yMTkuMzYgMS4yMDMuMzYgMi41Nzh6bS0zMzAuMTY0LTI0MS43MzV2LTguNTMyaDIuNzk3cTEuMzkgMCAyLjA3OC41NzguNzAzLjU2My43MDMgMS42ODggMCAuNjEtLjM0MyAxLjA3OC0uMzI4LjQ1My0uOTIyLjcwMy43MDMuMTg4IDEuMDk0LjczNS40MDYuNTMuNDA2IDEuMjggMCAxLjE1Ny0uNzUgMS44MTMtLjczNS42NTctMi4wOTQuNjU3em0xLjEyNS0zLjk4NXYzLjA2M2gxLjg2cS43OTcgMCAxLjI1LS40MDcuNDUzLS40MDYuNDUzLTEuMTI1IDAtMS41My0xLjY4OC0xLjUzaC0xLjg3NHptMC0uOTA2aDEuNzA0cS43MzQgMCAxLjE3MS0uMzYuNDUzLS4zNzQuNDUzLTEuMDE1IDAtLjcwMy0uNDA2LTEuMDE2LS40MDYtLjMyOC0xLjI1LS4zMjhoLTEuNjcxdjIuNzE5em02Ljg5MSA0Ljg5aC0xLjA3OHYtNi4zNDNoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNXEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptMi43MzQgNC43OTdxMC0xLjQ4NS42ODgtMi4zNi42ODgtLjg3NSAxLjgxMy0uODc1IDEuMTU2IDAgMS44MTIuODEzbC4wNDctLjcwM2gxdjYuMTg3cTAgMS4yMzUtLjczNSAxLjkzOC0uNzM0LjcxOS0xLjk1My43MTktLjY4NyAwLTEuMzQzLS4yOTctLjY1Ny0uMjk3LTEtLjc5N2wuNTYyLS42NTZxLjY4OC44NTkgMS43MDMuODU5Ljc4MSAwIDEuMjE5LS40NTMuNDUzLS40MzguNDUzLTEuMjV2LS41NDdxLS42NTYuNzY2LTEuNzgxLjc2Ni0xLjExIDAtMS43OTctLjg5MS0uNjg4LS45MDYtLjY4OC0yLjQ1M3ptMS4wOTQuMTI1cTAgMS4wNjIuNDM4IDEuNjg3LjQzNy42MSAxLjIzNC42MSAxLjAxNiAwIDEuNS0uOTM4di0yLjg5cS0uNS0uOTA3LTEuNS0uOTA3LS43ODEgMC0xLjIzNC42MS0uNDM4LjYwOS0uNDM4IDEuODI4em04LjQyMi0uMDk0aC0yLjg2di0uODc1aDIuODZ6bTMuMzc1IDMuMzEzcS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTcuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMy42ODguODEyLjY4OCAyLjMyOHYuNDUzaC00LjI5N3EuMDMxLjkzOC41NDcgMS41MTYuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM1LjcxOC0uNjI1bC42NTcuNTE1cS0uNzk3IDEuMjM1LTIuMzkgMS4yMzV6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NC0uNDM3LjQ3LS41MzEgMS4zMjloMy4xNzJ2LS4wNzlxLS4wNDctLjgyOC0uNDUzLTEuMjgtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTQuNTMtLjc4MS4wMzIuNzk3cS43MzQtLjkwNyAxLjkwNi0uOTA3IDIuMDE2IDAgMi4wMzEgMi4yNjZ2NC4xODhoLTEuMDkydi00LjIwNHEwLS42NzEtLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgyLS4zOTEuMjgtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em01LjcyIDMuMTI1cTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTA5IDAgMS43NjUuNzV2LTMuMjk3aDEuMDc4djloLTFsLS4wNDctLjY4OHEtLjY1Ni44MTMtMS44MTIuODEzLTEuMDk0IDAtMS43OTctLjkwNy0uNjg4LS45MDYtLjY4OC0yLjM2di0uMDc3em0xLjA3OC4xMjVxMCAxLjA3OC40MzcgMS42ODcuNDUzLjYxIDEuMjM0LjYxIDEuMDMyIDAgMS41MTYtLjkzOHYtMi45MDZxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjA5LS40MzcuNjA5LS40MzcgMS44Mjh6bTcuMzU5IDMuMDk0aC0xLjA3OHYtNi4zNDRoMS4wNzh6bS0xLjE3Mi04LjAxNnEwLS4yNjYuMTU2LS40NTMuMTcyLS4xODguNDg1LS4xODguMzEyIDAgLjQ2OC4xODguMTcyLjE4Ny4xNzIuNDUzIDAgLjI1LS4xNzIuNDM3LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg3LS4xNTYtLjQzN3ptNi45MDYgOC4wMTZxLS4wOTMtLjE4OC0uMTU2LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ3LS41MzItLjU5My0uNTMxLS41OTMtMS4zNiAwLS45ODMuNzUtMS41M3QyLjEyNS0uNTQ3aDEuMDQ2di0uNXEwLS41NjMtLjM0My0uODktLjMyOC0uMzQ1LTEtLjM0NS0uNTc4IDAtLjk2OS4yOTctLjM5LjI4Mi0uMzkuNzAzaC0xLjA5NHEwLS40ODQuMzI4LS45MjEuMzQzLS40MzguOTIyLS42ODguNTc4LS4yNjYgMS4yNjUtLjI2NiAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NWgtMS4xNHptLTEuNzk3LS44MjlxLjUxNiAwIC45Ny0uMjY1LjQ1Mi0uMjY2LjY1Ni0uNjg4di0xLjI5N2gtLjg0NHEtMiAwLTIgMS4xNzIgMCAuNS4zNDMuNzk3LjM0NC4yODEuODc2LjI4MXptNS45MDctNS41MTUuMDMxLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg4aC0xLjA5MnYtNC4yMDRxMC0uNjcxLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4Mi0uMzkxLjI4LS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptLTU4LjcxOSAxMjUuODA1aDQuMDQ3di45MjFoLTUuMTg4di04LjUzaDEuMTQxem01Ljg3NS45MjFoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY5LjE4OC4xNzEuMTg3LjE3MS40NTMgMCAuMjUtLjE3MS40MzctLjE1Ny4xNzItLjQ3LjE3Mi0uMzEyIDAtLjQ4NC0uMTcyLS4xNTYtLjE4Ny0uMTU2LS40Mzd6bTQuNDY5LjE0djEuNTMyaDEuMTcydi44NDNoLTEuMTcydjMuOTIycTAgLjM5MS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzctLjM3NS0uNDUzLS4zNzUtMS4yNjZ2LTMuOTIyaC0xLjE1NnYtLjg0M2gxLjE1NnYtMS41MzJ6bTQgMHYxLjUzMmgxLjE3MnYuODQzaC0xLjE3MnYzLjkyMnEwIC4zOTEuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM3LS4zNzUtLjQ1My0uMzc1LTEuMjY2di0zLjkyMmgtMS4xNTZ2LS44NDNoMS4xNTZ2LTEuNTMyem0zLjcwMyA3Ljg3NWgtMS4wNzh2LTloMS4wNzh6bTQuNDUzLjEyNXEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em01Ljc2NSAyLjM3NWgtMi44NnYtLjg3NWgyLjg2em0zLjM3NSAzLjMxMnEtMS4yOTcgMC0yLjExLS44NDMtLjc5Ni0uODYtLjc5Ni0yLjI4MnYtLjE4N3EwLS45NTMuMzYtMS42ODguMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTMuNjg4LjgxMi42ODggMi4zMjh2LjQ1M2gtNC4yOTdxLjAzMS45MzguNTQ3IDEuNTE2LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNS40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg3cS0uNjU3IDAtMS4xMS40ODQtLjQzNy40Ny0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4LS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00LjUzLS43ODEuMDMyLjc5N3EuNzM0LS45MDcgMS45MDYtLjkwNyAyLjAxNiAwIDIuMDMxIDIuMjY2djQuMTg3aC0xLjA5MnYtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4Mi0uNjEuNzM1djQuNTE1aC0xLjA3OHYtNi4zNDNoMS4wMTZ6bTUuNzIgMy4xMjVxMC0xLjQ2OS42ODctMi4zNDQuNjg4LS44OSAxLjgxMy0uODkgMS4xMDkgMCAxLjc2NS43NXYtMy4yOThoMS4wNzh2OWgtMWwtLjA0Ny0uNjg3cS0uNjU2LjgxMi0xLjgxMi44MTItMS4wOTQgMC0xLjc5Ny0uOTA2LS42ODgtLjkwNi0uNjg4LTIuMzZ2LS4wNzd6bTEuMDc4LjEyNXEwIDEuMDc4LjQzNyAxLjY4Ny40NTMuNjEgMS4yMzQuNjEgMS4wMzIgMCAxLjUxNi0uOTM4di0yLjkwNnEtLjQ4NC0uODktMS41LS44OS0uNzk3IDAtMS4yNS42MDktLjQzNy42MDktLjQzNyAxLjgyOHptNy4zNTkgMy4wOTNoLTEuMDc4di02LjM0M2gxLjA3OHptLTEuMTcyLTguMDE1cTAtLjI2Ni4xNTYtLjQ1My4xNzItLjE4OC40ODUtLjE4OC4zMTIgMCAuNDY4LjE4OC4xNzIuMTg3LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzctLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODctLjE1Ni0uNDM3em02LjkwNiA4LjAxNXEtLjA5My0uMTg3LS4xNTYtLjY3MS0uNzUuNzk2LTEuNzk3Ljc5Ni0uOTM3IDAtMS41NDctLjUzLS41OTMtLjUzMi0uNTkzLTEuMzYgMC0uOTg1Ljc1LTEuNTMxLjc1LS41NDcgMi4xMjUtLjU0N2gxLjA0NnYtLjVxMC0uNTYzLS4zNDMtLjg5LS4zMjgtLjM0NS0xLS4zNDUtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIyLjM0My0uNDM3LjkyMi0uNjg3LjU3OC0uMjY2IDEuMjY1LS4yNjYgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2NS40NTItLjI2Ni42NTYtLjY4OHYtMS4yOTdoLS44NDRxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjgxLjg3Ni4yODF6bTUuOTA3LTUuNTE1LjAzMS43OTdxLjczNC0uOTA3IDEuOTA2LS45MDcgMi4wMTYgMCAyLjAzMSAyLjI2NnY0LjE4N2gtMS4wOTJ2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ny0uMzI4LS45NTMtLjMyOC0uNTMxIDAtLjkzNy4yODEtLjM5MS4yODItLjYxLjczNXY0LjUxNWgtMS4wNzh2LTYuMzQzaDEuMDE2eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Im05Mi41OTcgMzEzLjQxOXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptODMuNTE5IDQuMjY2aC00LjY1NnYtLjY1NmwyLjQ1My0yLjczNXEuNTQ3LS42MDkuNzUtMSAuMjE5LS4zOS4yMTktLjgxMiAwLS41NDctLjM0NC0uOTA2LS4zMjgtLjM2LS44OS0uMzYtLjY3MyAwLTEuMDQ4LjM5LS4zNzUuMzc2LS4zNzUgMS4wNjNoLS45MDZxMC0uOTg0LjYyNS0xLjU3OC42NC0uNjEgMS43MDMtLjYxLjk4NSAwIDEuNTYzLjUxNy41NzguNTE1LjU3OCAxLjM5IDAgMS4wNDctMS4zNDQgMi41bC0xLjg5IDIuMDYzaDMuNTYyem01Ljc5Ny0zLjAzMXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOC0xLjY3Mi0uMzEzLS41My0xLjAxNi0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjgtMS42NzItLjMxMy0uNTMtMS4wMTYtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTc2LjY3NSAxLjg3NmguOTg1di43MzRoLS45ODV2MS42NTZoLS45MDZ2LTEuNjU2aC0zLjIzNHYtLjUzMWwzLjE3MS00LjkyMmguOTd2NC43MTh6bS0zLjEyNSAwaDIuMjE5di0zLjQ4NWwtLjExLjIwMy0yLjEwOSAzLjI4MXptOS43NjYtLjY0MXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNi41NDcuNjcxIDAgLjk4NC0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTYuNTQ3LjY3MSAwIC45ODQtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTc2LjQwOS0yLjg0NHYuNzY2aC0uMTcxcS0xLjA0Ny4wMTYtMS42NzIuNjI1LS42MjUuNTk0LS43MzUgMS43MDMuNTYzLS42NCAxLjUzMi0uNjQuOTM3IDAgMS40ODQuNjU2LjU2My42NC41NjMgMS42ODggMCAxLjA5My0uNjEgMS43NS0uNTk0LjY1Ni0xLjU5NC42NTYtMS4wMTUgMC0xLjY1Ni0uNzgxLS42NC0uNzgyLS42NC0yLjAxNnYtLjM0NHEwLTEuOTY5LjgyOC0zIC44NDMtMS4wNDcgMi41LTEuMDYyaC4xNzJ6bS0xLjE4NyAzLjIwNHEtLjQ2OSAwLS44Ni4yODEtLjM5LjI2Ni0uNTQ2LjY4OHYuMzI4cTAgLjg5LjM5IDEuNDIxLjQwNy41MzIgMSAuNTMyLjYxIDAgLjk1NC0uNDM4LjM1OS0uNDUzLjM1OS0xLjE4NyAwLS43MzUtLjM2LTEuMTcyLS4zNTktLjQ1My0uOTM3LS40NTN6bTguMDk0Ljg3NXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOS0xLjY3Mi0uMzEyLS41My0xLjAxNS0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNi45MDYgMS4yMzVxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTc3LjE3NS0uOTg0cTAgLjUzMS0uMjgxLjk1My0uMjgxLjQwNi0uNzY2LjY0LjU2My4yMzUuODc1LjcwNC4zMjkuNDUzLjMyOSAxLjAzMSAwIC45MjItLjYyNSAxLjQ2OS0uNjEuNTQ3LTEuNjI1LjU0Ny0xLjAzMiAwLTEuNjU3LS41NDctLjYxLS41NDctLjYxLTEuNDY5IDAtLjU3OC4zMTMtMS4wMzEuMzEzLS40NjkuODc1LS43MDMtLjQ2OC0uMjM1LS43NS0uNjU2LS4yNjUtLjQyMi0uMjY1LS45MzggMC0uOTA2LjU2Mi0xLjQyMi41NzgtLjUzMSAxLjUzMS0uNTMxLjkzOCAwIDEuNTE2LjUzMS41NzguNTE2LjU3OCAxLjQyMnptLS43MzQgMy4zMTNxMC0uNTk0LS4zOS0uOTctLjM3Ni0uMzc0LS45ODUtLjM3NC0uNjEgMC0uOTg1LjM3NS0uMzU5LjM2LS4zNTkuOTY5dC4zNi45NTNxLjM1OS4zNDMgMSAuMzQzLjYyNSAwIC45ODQtLjM0My4zNzUtLjM2LjM3NS0uOTU0em0tMS4zNi00LjUzMnEtLjUzIDAtLjg3NS4zMjgtLjMyOC4zMjgtLjMyOC45MDcgMCAuNTMuMzI5Ljg3NS4zMjguMzI4Ljg1OS4zMjguNTQ3IDAgLjg3NS0uMzI4LjMyOC0uMzQ0LjMyOC0uODc1IDAtLjU0Ny0uMzQ0LS44OTEtLjMyOC0uMzQ0LS44NDQtLjM0NHptOC4yMzUgMy40MzhxMCAxLjU3OC0uNTQ3IDIuMzYtLjUzMS43NjUtMS42ODguNzY1LTEuMTQgMC0xLjY4Ny0uNzUtLjU0Ny0uNzUtLjU2My0yLjI1di0xLjIwM3EwLTEuNTc5LjUzMi0yLjMyOS41NDctLjc2NSAxLjcwMy0uNzY1IDEuMTU2IDAgMS42ODcuNzM0LjU0Ny43MzUuNTYzIDIuMjY2em0tLjkwNi0xLjIzNXEwLTEuMTU2LS4zMjktMS42NzItLjMxMi0uNTMtMS4wMTUtLjUzLS42ODggMC0xLjAxNi41My0uMzEyLjUxNi0uMzEyIDEuNTk0djEuNDUzcTAgMS4xNTcuMzI4IDEuNzAzLjM0NC41NDcgMS4wMTUuNTQ3LjY3MiAwIC45ODUtLjUxNS4zMjgtLjUxNi4zNDQtMS42MjV6bTYuOTA2IDEuMjM1cTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE1LjU0Ny42NzIgMCAuOTg1LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1eiIgZmlsbD0iIzY2NiIvPjxwYXRoIGQ9Im00NjYuNDUgMjAuNTVhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjEwYTEgMSAwIDAgMSAtMSAxaC0xMGExIDEgMCAwIDEgLTEtMXoiIGZpbGw9IiM0Mjg1ZjQiLz48cGF0aCBkPSJtNDg3LjM1NiAyOS41NXYtNy44MjhoMi4yMDNxMS4wMzIgMCAxLjgxMy40NTMuNzgxLjQ1MyAxLjIwMyAxLjI5Ny40MzguODI4LjQzOCAxLjkwNnYuNXEwIDEuMTEtLjQzOCAxLjkzOC0uNDIyLjgyOC0xLjIxOSAxLjI4LS43ODEuNDM4LTEuODI4LjQ1NHptMS4wMzEtNi45Njl2Ni4xMjVoMS4wOTRxMS4xODggMCAxLjg0NC0uNzM0LjY3Mi0uNzUuNjcyLTIuMTI1di0uNDUzcTAtMS4zMjgtLjYyNS0yLjA2My0uNjI1LS43NS0xLjc4MS0uNzV6bTkuNDA3IDYuOTY5cS0uMDk0LS4xNzItLjE0LS42MS0uNzA0LjcyLTEuNjU3LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOC0uMzEzLS4zMTMtLjkyMi0uMzEzLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk3LjIwMyAxLjI2NXYuMDk0em0tMS42NTYtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk2LjI2NnptNS40MDYtNi40Njl2MS40MDdoMS4wOTR2Ljc2NWgtMS4wOTR2My42MXEwIC4zNDMuMTQuNTMuMTU3LjE3My41LjE3My4xNzIgMCAuNDg1LS4wNzh2LjgxMnEtLjQwNi4xMS0uNzY2LjExLS42NzIgMC0xLjAxNi0uNDA3LS4zMjgtLjQwNi0uMzI4LTEuMTR2LTMuNjFoLTEuMDYydi0uNzY1aDEuMDYydi0xLjQwOGguOTg1em02LjI1IDcuMjE5cS0uMDk0LS4xNzItLjE0LS42MS0uNzA0LjcyLTEuNjU3LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOC0uMzEzLS4zMTMtLjkyMi0uMzEzLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk3LjIwMyAxLjI2NXYuMDk0em0tMS42NTYtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk2LjI2NnptNi44MTItLjYyNSAyLjIzNC02LjQ1M2gxLjEyNWwtMi45MDYgNy44MjhoLS45MDZsLTIuODktNy44MjhoMS4xMDl6bTUuMzI4IDEuMzc1aC0uOTg0di01LjgxM2guOTg0em0tMS4wNzgtNy4zNnEwLS4yMzQuMTQtLjM5LjE1Ny0uMTcyLjQ1NC0uMTcyLjI5NyAwIC40MzcuMTcyLjE1Ny4xNTYuMTU3LjQwNiAwIC4yMzUtLjE1Ny4zOS0uMTQuMTU3LS40MzcuMTU3dC0uNDUzLS4xNTZxLS4xNDEtLjE1Ni0uMTQxLS40MDZ6bTUuNDA2IDcuNDdxLTEuMTcyIDAtMS45MjItLjc2Ni0uNzM0LS43ODEtLjczNC0yLjA5NHYtLjE3MnEwLS44NzUuMzI4LTEuNTQ3LjMyOC0uNjg3LjkyMi0xLjA2Mi41OTQtLjM5IDEuMjk3LS4zOSAxLjEyNSAwIDEuNzUuNzUuNjQuNzUuNjQgMi4xNHYuNDA2aC0zLjkzN3EuMDE2Ljg2LjQ4NCAxLjM5LjQ4NS41MzIgMS4yMzUuNTMyLjUzMSAwIC44OS0uMjE5LjM2LS4yMTkuNjQxLS41NjJsLjYxLjQ2OHEtLjczNSAxLjEyNS0yLjIwNCAxLjEyNXptLS4xMS01LjIycS0uNjA4IDAtMS4wMTUuNDM4LS40MDYuNDM4LS41IDEuMjM1aDIuOTA3di0uMDc5cS0uMDQ3LS43NS0uNDIyLTEuMTcxLS4zNi0uNDIyLS45Ny0uNDIyem04Ljg0NSAzLjczNSAxLjEyNS00LjQzOGgxbC0xLjcwMyA1LjgxM2gtLjc5N2wtMS40MjItNC40MDYtMS4zNzUgNC40MDZoLS43OTdsLTEuNjg4LTUuODEzaC45ODVsMS4xNCA0LjM0NCAxLjM2LTQuMzQzaC43OTd6IiBmaWxsPSIjNjY2Ii8+PHBhdGggZD0ibTQ2Ni40NSA0NC41NWExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxIC0xIDFoLTEwYTEgMSAwIDAgMSAtMS0xeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im00OTIuODU2IDQ1LjcyMnY1LjMyOHEwIDEuMTEtLjY4NyAxLjgxMy0uNjg4LjcwMy0xLjg3NS43OGwtLjI2Ni4wMTZxLTEuMjk3IDAtMi4wNjItLjY4Ny0uNzUtLjcwMy0uNzY2LTEuOTIydi01LjMyOGgxLjAxNnY1LjI5N3EwIC44Ni40NjggMS4zMjguNDcuNDY5IDEuMzQ0LjQ2OS44NzUgMCAxLjMyOC0uNDcuNDY5LS40NjguNDY5LTEuMzEydi01LjMxMnptMi40MjIgNy44MjhoLS45ODR2LTUuODEzaC45ODR6bS0xLjA3OC03LjM2cTAtLjIzNC4xNC0uMzkuMTU3LS4xNzIuNDU0LS4xNzIuMjk3IDAgLjQzNy4xNzIuMTU2LjE1Ni4xNTYuNDA2IDAgLjIzNS0uMTU2LjM5LS4xNC4xNTctLjQzNy4xNTd0LS40NTMtLjE1NnEtLjE0MS0uMTU2LS4xNDEtLjQwNnptMy45MzggMS41NDcuMDMuNzM1cS42NzMtLjg0NCAxLjc1LS44NDQgMS44NDQgMCAxLjg2IDIuMDc4djMuODQ0aC0xdi0zLjg0NHEwLS42MjUtLjI4MS0uOTIyLS4yODEtLjMxMi0uODktLjMxMi0uNDcgMC0uODQ1LjI2NS0uMzU5LjI1LS41NjIuNjcydjQuMTQxaC0xdi01LjgxM3ptNi40MDYtMS40MDZ2MS40MDZoMS4wOTR2Ljc2NmgtMS4wOTR2My42MXEwIC4zNDMuMTQuNTMuMTU3LjE3My41LjE3My4xNzIgMCAuNDg1LS4wNzl2LjgxM3EtLjQwNi4xMS0uNzY2LjExLS42NzIgMC0xLjAxNi0uNDA3LS4zMjgtLjQwNi0uMzI4LTEuMTR2LTMuNjFoLTEuMDYydi0uNzY2aDEuMDYydi0xLjQwNnptNy4yOTcgMS40MzhxMCAuNTkzLS4zMTMgMS4wNDctLjI5Ny40NTMtLjgyOC43MTguNjEuMjUuOTY5Ljc2Ni4zNi41LjM2IDEuMTQgMCAxLjAxNi0uNjg4IDEuNjI2LS42ODguNTkzLTEuNzk3LjU5My0xLjE0IDAtMS44MTMtLjU5My0uNjcyLS42MS0uNjcyLTEuNjI1IDAtLjY0MS4zNDQtMS4xNDEuMzQ0LS41MTYuOTUzLS43ODEtLjUxNS0uMjUtLjgyOC0uNzAzLS4yOTctLjQ3LS4yOTctMS4wNDcgMC0uOTg1LjYyNS0xLjU2My42NC0uNTc4IDEuNjg4LS41NzggMS4wMzEgMCAxLjY1Ni41NzguNjQuNTc4LjY0IDEuNTYzem0tLjgxMyAzLjY1NnEwLS42NTYtLjQyMi0xLjA2My0uNDA2LS40MjEtMS4wNzgtLjQyMXQtMS4wNzguNDA2cS0uNDA2LjQwNi0uNDA2IDEuMDc4IDAgLjY1Ni4zOSAxLjA0Ny40MDcuMzc1IDEuMTEuMzc1LjY4NyAwIDEuMDc4LS4zNzUuNDA2LS4zOS40MDYtMS4wNDd6bS0xLjQ4NC00Ljk4NHEtLjU5NCAwLS45NTMuMzU5LS4zNi4zNi0uMzYuOTg0IDAgLjU5NC4zNi45Ny4zNTkuMzU4Ljk1My4zNTh0Ljk1My0uMzU5cS4zNi0uMzc1LjM2LS45NjkgMC0uNTkzLS4zNzYtLjk2OC0uMzc1LS4zNzUtLjkzNy0uMzc1em04LjEyNSA1LjA2MmgtMy4yNjZsLS43MzQgMi4wNDdoLTEuMDYzbDIuOTg1LTcuODI4aC45MDZsMi45ODQgNy44MjhoLTEuMDYyem0tMi45NTMtLjg0NGgyLjY1NmwtMS4zMjgtMy42NTZ6bTguMjk3LTIuMDNxLS4yMzUtLjAzMi0uNDg1LS4wMzItLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd2LjkyMnptNCAwcS0uMjM1LS4wMzItLjQ4NS0uMDMyLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3di45MjJ6bTQuNzggNC45MjFxLS4wOTMtLjE3Mi0uMTQtLjYxLS43MDMuNzItMS42NTYuNzItLjg2IDAtMS40MjItLjQ4NS0uNTQ3LS40ODQtLjU0Ny0xLjIzNCAwLS45MDcuNjg4LTEuNDA3LjcwMy0uNTE1IDEuOTUzLS41MTVoLjk2OXYtLjQ1M3EwLS41MTYtLjMxMy0uODI5LS4zMTMtLjMxMi0uOTIyLS4zMTItLjUzMSAwLS44OS4yODEtLjM2LjI2Ni0uMzYuNjRoLTFxMC0uNDM3LjMxMy0uODQzLjMxMi0uNDA2LjgyOC0uNjQuNTMxLS4yMzUgMS4xNzItLjIzNSAxIDAgMS41NjIuNS41NzguNS41OTQgMS4zOXYyLjY3M3EwIC43OTYuMjAzIDEuMjY1di4wOTRoLTEuMDMxem0tMS42NTUtLjc1cS40NjggMCAuODktLjIzNC40MjItLjI1LjYxLS42NDF2LTEuMTg4aC0uNzgycS0xLjgyOCAwLTEuODI4IDEuMDYzIDAgLjQ2OS4zMTMuNzM0LjMxMi4yNjYuNzk3LjI2NnptNS45NjgtLjcwMyAxLjM0NC00LjM2aDEuMDc4bC0yLjM0NCA2LjcwNHEtLjU0NiAxLjQ1My0xLjcxOCAxLjQ1M2wtLjE4OC0uMDE2LS4zNzUtLjA2MnYtLjgxM2wuMjY2LjAzMXEuNSAwIC43ODEtLjIxOC4yODEtLjIwNC40NjktLjczNWwuMjE5LS41OTQtMi4wNjMtNS43NWgxLjA3OHptMTEuMjM1LjA3OCAxLjEyNS00LjQzOGgxbC0xLjcwMyA1LjgxM2gtLjc5N2wtMS40MjItNC40MDYtMS4zNzUgNC40MDZoLS43OTdsLTEuNjg4LTUuODEzaC45ODVsMS4xNCA0LjM0NCAxLjM2LTQuMzQ0aC43OTd6bTUuNjcyLTMuNTQ3cS0uMjM1LS4wMzEtLjQ4NS0uMDMxLS45ODQgMC0xLjMyOC44Mjh2NC4xMjVoLTF2LTUuODEzaC45NjlsLjAxNS42NzJxLjQ4NS0uNzggMS4zOTEtLjc4LjI4MSAwIC40MzguMDc3em00Ljc4IDQuOTIycS0uMDkzLS4xNzItLjE0LS42MS0uNzAzLjcyLTEuNjU2LjcyLS44NiAwLTEuNDIyLS40ODUtLjU0Ny0uNDg0LS41NDctMS4yMzQgMC0uOTA3LjY4OC0xLjQwNy43MDMtLjUxNSAxLjk1My0uNTE1aC45Njl2LS40NTNxMC0uNTE2LS4zMTMtLjgyOS0uMzEzLS4zMTItLjkyMi0uMzEyLS41MzEgMC0uODkuMjgxLS4zNi4yNjYtLjM2LjY0aC0xcTAtLjQzNy4zMTMtLjg0My4zMTItLjQwNi44MjgtLjY0LjUzMS0uMjM1IDEuMTcyLS4yMzUgMSAwIDEuNTYyLjUuNTc4LjUuNTk0IDEuMzl2Mi42NzNxMCAuNzk2LjIwMyAxLjI2NXYuMDk0aC0xLjAzMXptLTEuNjU1LS43NXEuNDY4IDAgLjg5LS4yMzQuNDIyLS4yNS42MS0uNjQxdi0xLjE4OGgtLjc4MnEtMS44MjggMC0xLjgyOCAxLjA2MyAwIC40NjkuMzEzLjczNC4zMTIuMjY2Ljc5Ny4yNjZ6bTguOTY4LTIuMDk0cTAgMS4zMjgtLjYxIDIuMTQtLjU5My44MTMtMS42NC44MTN0LTEuNjU2LS42NzJ2Mi43OTdoLTF2LTguMDQ3aC45MDZsLjA0Ny42NDFxLjYxLS43NSAxLjY4OC0uNzUgMS4wNDcgMCAxLjY1Ni43OTcuNjEuNzgxLjYxIDIuMTg4di4wOTN6bS0uOTg0LS4xMXEwLS45ODMtLjQyMi0xLjU0Ni0uNDIyLS41NzgtMS4xNTYtLjU3OC0uODkgMC0xLjM0NC43OTd2Mi43ODFxLjQzOC43OTcgMS4zNi43OTcuNzE4IDAgMS4xNC0uNTYzLjQyMi0uNTc4LjQyMi0xLjY4N3ptNi45ODQuMTFxMCAxLjMyOC0uNjEgMi4xNC0uNTkzLjgxMy0xLjY0LjgxM3QtMS42NTYtLjY3MnYyLjc5N2gtMXYtOC4wNDdoLjkwNmwuMDQ3LjY0MXEuNjEtLjc1IDEuNjg4LS43NSAxLjA0NyAwIDEuNjU2Ljc5Ny42MS43ODEuNjEgMi4xODh2LjA5M3ptLS45ODQtLjExcTAtLjk4My0uNDIyLTEuNTQ2LS40MjItLjU3OC0xLjE1Ni0uNTc4LS44OSAwLTEuMzQ0Ljc5N3YyLjc4MXEuNDM4Ljc5NyAxLjM2Ljc5Ny43MTggMCAxLjE0LS41NjMuNDIyLS41NzguNDIyLTEuNjg3em00LjQ4NCAzLjA2M3EtMS4xNzIgMC0xLjkyMi0uNzY1LS43MzQtLjc4Mi0uNzM0LTIuMDk0di0uMTcycTAtLjg3NS4zMjgtMS41NDcuMzI4LS42ODcuOTIyLTEuMDYyLjU5NC0uMzkgMS4yOTctLjM5IDEuMTI1IDAgMS43NS43NS42NC43NS42NCAyLjE0di40MDZoLTMuOTM3cS4wMTYuODYuNDg0IDEuMzkuNDg1LjUzMiAxLjIzNS41MzIuNTMxIDAgLjg5LS4yMTkuMzYtLjIxOS42NDEtLjU2MmwuNjEuNDY4cS0uNzM1IDEuMTI1LTIuMjA0IDEuMTI1em0tLjExLTUuMjE4cS0uNjA4IDAtMS4wMTUuNDM3LS40MDYuNDM4LS41IDEuMjM0aDIuOTA3di0uMDc4cS0uMDQ3LS43NS0uNDIyLTEuMTcyLS4zNi0uNDIxLS45Ny0uNDIxem02LjUxNy4xODdxLS4yMzUtLjAzMS0uNDg1LS4wMzEtLjk4NCAwLTEuMzI4LjgyOHY0LjEyNWgtMXYtNS44MTNoLjk2OWwuMDE1LjY3MnEuNDg1LS43OCAxLjM5MS0uNzguMjgxIDAgLjQzOC4wNzd6IiBmaWxsPSIjNjY2Ii8+PC9zdmc+" alt="">
<figcaption>Final TurboFan <code>DataView</code> performance</figcaption>
</figure>
<h2>Impact</h2>
<p>We’ve evaluated the performance impact of the new implementation on some real-world examples, on top of our own benchmark.</p>
<p><code>DataView</code>s are often used when decoding data encoded in binary formats from JavaScript. One such binary format is <a href="https://en.wikipedia.org/wiki/FBX">FBX</a>, a format that is used for exchanging 3D animations. We’ve instrumented the FBX loader of the popular <a href="https://threejs.org/">three.js</a> JavaScript 3D library, and measured a 10% (around 80 ms) reduction in its execution time.</p>
<p>We compared the overall performance of <code>DataView</code>s against <code>TypedArray</code>s. We found that our new <code>DataView</code> implementation provides almost the same performance as <code>TypedArray</code>s when accessing data aligned in the native endianness (little-endian on Intel processors), bridging much of the performance gap and making <code>DataView</code>s a practical choice in V8.</p>
<figure>
<img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjM2MiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB3aWR0aD0iNTg2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Im0xOC4xIDE4LjFoNDcyLjA4djI3NC44aC00NzIuMDh6Ii8+PC9jbGlwUGF0aD48cGF0aCBkPSJtMCAwaDU4NnYzNjJoLTU4NnoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMCAwaDU4NnYzNjJoLTU4NnoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTguNSAxOC41djI3NCIgc3Ryb2tlPSIjMzMzIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Im0xNzUuNSAxOC41djI3NG0xNTctMjc0djI3NG0xNTgtMjc0djI3NCIgc3Ryb2tlPSIjY2NjIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNhKSIgZD0ibTE4IDE1NXYtNjVoNDYyYTIgMiAwIDAgMSAyIDJ2NjFhMiAyIDAgMCAxIC0yIDJ6IiBmaWxsPSIjNDI4NWY0Ii8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJtMTggMjIxdi02NWgzOGEyIDIgMCAwIDEgMiAydjYxYTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im00NDQuNDYzIDEyNy41aC0xLjA3OHYtNy4yMTlsLTIuMTg4Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ6bTguMDE2LTIuODZoMS4xODd2Ljg3NmgtMS4xODd2MS45ODRoLTEuMDc5di0xLjk4NGgtMy44OXYtLjY0MWwzLjgxMi01LjkwNmgxLjE1N3Y1LjY3MnptLTMuNzM1IDBoMi42NTZ2LTQuMTg3bC0uMTQuMjM0LTIuNTE2IDMuOTU0em02LjI5NyAyLjI5N3EwLS4yOC4xNTYtLjQ2OC4xNzItLjE4OC41LS4xODguMzQ0IDAgLjUxNi4xODguMTcyLjE4Ny4xNzIuNDY5IDAgLjI2NS0uMTcyLjQ1My0uMTcyLjE3MS0uNTE2LjE3MS0uMzI4IDAtLjUtLjE3MS0uMTU2LS4xODgtLjE1Ni0uNDU0em04LjM3NS03LjM1OS0zLjUzMSA3LjkyMmgtMS4xNGwzLjUxNS03LjY0aC00LjYxdi0uODkxaDUuNzY2di42MXptNi4wNjMgNS4wNjNoMS4xODd2Ljg3NWgtMS4xODd2MS45ODRoLTEuMDc5di0xLjk4NGgtMy44OXYtLjY0MWwzLjgxMi01LjkwNmgxLjE1N3ptLTMuNzM1IDBoMi42NTZ2LTQuMTg4bC0uMTQuMjM0em01Ljk2OS45MzcgMS45MzctMS45NjktMS45MjEtMS45NjguNzAzLS43MiAxLjkyMiAxLjk1NCAxLjkzNy0xLjk1My42ODguNzE5LTEuOTIyIDEuOTY4IDEuOTM3IDEuOTctLjcwMy43MTgtMS45MzctMS45ODQtMS45MzggMS45ODR6IiBzdHJva2U9IiM0Mjg1ZjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+PHBhdGggZD0ibTQ0NC40NjMgMTI3LjVoLTEuMDc4di03LjIxOWwtMi4xODguNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnptOC4wMTYtMi44NmgxLjE4N3YuODc2aC0xLjE4N3YxLjk4NGgtMS4wNzl2LTEuOTg0aC0zLjg5di0uNjQxbDMuODEyLTUuOTA2aDEuMTU3djUuNjcyem0tMy43MzUgMGgyLjY1NnYtNC4xODdsLS4xNC4yMzQtMi41MTYgMy45NTR6bTYuMjk3IDIuMjk3cTAtLjI4LjE1Ni0uNDY4LjE3Mi0uMTg4LjUtLjE4OC4zNDQgMCAuNTE2LjE4OC4xNzIuMTg3LjE3Mi40NjkgMCAuMjY1LS4xNzIuNDUzLS4xNzIuMTcxLS41MTYuMTcxLS4zMjggMC0uNS0uMTcxLS4xNTYtLjE4OC0uMTU2LS40NTR6bTguMzc1LTcuMzU5LTMuNTMxIDcuOTIyaC0xLjE0bDMuNTE1LTcuNjRoLTQuNjF2LS44OTFoNS43NjZ2LjYxem02LjA2MyA1LjA2M2gxLjE4N3YuODc1aC0xLjE4N3YxLjk4NGgtMS4wNzl2LTEuOTg0aC0zLjg5di0uNjQxbDMuODEyLTUuOTA2aDEuMTU3em0tMy43MzUgMGgyLjY1NnYtNC4xODhsLS4xNC4yMzR6bTUuOTY5LjkzNyAxLjkzNy0xLjk2OS0xLjkyMS0xLjk2OC43MDMtLjcyIDEuOTIyIDEuOTU0IDEuOTM3LTEuOTUzLjY4OC43MTktMS45MjIgMS45NjggMS45MzcgMS45Ny0uNzAzLjcxOC0xLjkzNy0xLjk4NC0xLjkzOCAxLjk4NHoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMjcuODUgMTkzLjVoLTEuMDc4di03LjIxOWwtMi4xODguNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnptMy41NzgtLjU2M3EwLS4yOC4xNTYtLjQ2OC4xNzItLjE4OC41LS4xODguMzQ0IDAgLjUxNi4xODguMTcyLjE4Ny4xNzIuNDY5IDAgLjI2NS0uMTcyLjQ1My0uMTcyLjE3Mi0uNTE2LjE3Mi0uMzI4IDAtLjUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDUzem04LjQ1My41NjNoLTUuNTk0di0uNzgxbDIuOTUzLTMuMjgxcS42NTctLjc1LjkwNy0xLjIwNC4yNS0uNDY4LjI1LS45NjggMC0uNjcyLS40MDctMS4wOTQtLjM5LS40MzgtMS4wNzgtLjQzOC0uNzk3IDAtMS4yNS40Ny0uNDUzLjQ1Mi0uNDUzIDEuMjhoLTEuMDc4cTAtMS4xODcuNzUtMS45MDYuNzY2LS43MzQgMi4wMzEtLjczNCAxLjIwMyAwIDEuODkuNjI1LjY4OC42MjUuNjg4IDEuNjcyIDAgMS4yNS0xLjYwOSAzbC0yLjI4MSAyLjQ2OGg0LjI4MXptNi41OTQtNi4zMTNxMCAuNjQxLS4zNDQgMS4xNDF0LS45MDYuNzgxcS42NTYuMjgyIDEuMDQ3Ljg0NC4zOS41NDcuMzkgMS4yNSAwIDEuMDk0LS43NSAxLjc2Ni0uNzM0LjY1Ni0xLjk1My42NTYtMS4yMzQgMC0xLjk4NC0uNjU2LS43MzUtLjY3Mi0uNzM1LTEuNzY2IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MiAxLjA0Ny0uODQ0LS41NjItLjI4LS44OS0uNzgtLjMyOC0uNS0uMzI4LTEuMTQyIDAtMS4wNzguNjg3LTEuNzAzLjY4OC0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkgMy45ODVxMC0uNzE5LS40NTQtMS4xNTYtLjQ1My0uNDUzLTEuMTg3LS40NTMtLjczNSAwLTEuMTg4LjQ1My0uNDM3LjQzNy0uNDM3IDEuMTcyIDAgLjcxOC40MzcgMS4xNC40MzguNDA2IDEuMjAzLjQwNi43NSAwIDEuMTg4LS40MjIuNDM3LS40MjEuNDM3LTEuMTR6bS0xLjYyNi01LjQzOHEtLjY0IDAtMS4wNDcuNDA3LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMyLjQwNi42NTYgMCAxLjA0Ni0uNDA2LjM5MS0uNDA3LjM5MS0xLjA0NyAwLS42NTYtLjQwNi0xLjA2My0uNDA2LS40MjItMS4wMTYtLjQyMnptNC4xNCA1Ljg0NCAxLjkzOC0xLjk2OS0xLjkyMi0xLjk2OC43MDQtLjcyIDEuOTIxIDEuOTU0IDEuOTM4LTEuOTUzLjY4Ny43MTktMS45MjEgMS45NjggMS45MzcgMS45Ny0uNzAzLjcxOC0xLjkzOC0xLjk4NC0xLjkzNyAxLjk4NC0uNzAzLS43MTl6IiBzdHJva2U9IiMxYzQ1ODciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+PHBhdGggZD0ibTI3Ljg1IDE5My41aC0xLjA3OHYtNy4yMTlsLTIuMTg4Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ6bTMuNTc4LS41NjNxMC0uMjguMTU2LS40NjguMTcyLS4xODguNS0uMTg4LjM0NCAwIC41MTYuMTg4LjE3Mi4xODcuMTcyLjQ2OSAwIC4yNjUtLjE3Mi40NTMtLjE3Mi4xNzItLjUxNi4xNzItLjMyOCAwLS41LS4xNzItLjE1Ni0uMTg4LS4xNTYtLjQ1M3ptOC40NTMuNTYzaC01LjU5NHYtLjc4MWwyLjk1My0zLjI4MXEuNjU3LS43NS45MDctMS4yMDQuMjUtLjQ2OC4yNS0uOTY4IDAtLjY3Mi0uNDA3LTEuMDk0LS4zOS0uNDM4LTEuMDc4LS40MzgtLjc5NyAwLTEuMjUuNDctLjQ1My40NTItLjQ1MyAxLjI4aC0xLjA3OHEwLTEuMTg3Ljc1LTEuOTA2Ljc2Ni0uNzM0IDIuMDMxLS43MzQgMS4yMDMgMCAxLjg5LjYyNS42ODguNjI1LjY4OCAxLjY3MiAwIDEuMjUtMS42MDkgM2wtMi4yODEgMi40NjhoNC4yODF6bTYuNTk0LTYuMzEzcTAgLjY0MS0uMzQ0IDEuMTQxdC0uOTA2Ljc4MXEuNjU2LjI4MiAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjYtLjczNC42NTYtMS45NTMuNjU2LTEuMjM0IDAtMS45ODQtLjY1Ni0uNzM1LS42NzItLjczNS0xLjc2NiAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjIgMS4wNDctLjg0NC0uNTYyLS4yOC0uODktLjc4LS4zMjgtLjUtLjMyOC0xLjE0MiAwLTEuMDc4LjY4Ny0xLjcwMy42ODgtLjY0IDEuODI4LS42NCAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjUuNzAzIDEuNzAzem0tLjg5IDMuOTg1cTAtLjcxOS0uNDU0LTEuMTU2LS40NTMtLjQ1My0xLjE4Ny0uNDUzLS43MzUgMC0xLjE4OC40NTMtLjQzNy40MzctLjQzNyAxLjE3MiAwIC43MTguNDM3IDEuMTQuNDM4LjQwNiAxLjIwMy40MDYuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIxLjQzNy0xLjE0em0tMS42MjYtNS40MzhxLS42NCAwLTEuMDQ3LjQwNy0uMzkuMzktLjM5IDEuMDc4IDAgLjY0LjM5IDEuMDQ3LjM5LjQwNiAxLjAzMi40MDYuNjU2IDAgMS4wNDYtLjQwNi4zOTEtLjQwNy4zOTEtMS4wNDcgMC0uNjU2LS40MDYtMS4wNjMtLjQwNi0uNDIyLTEuMDE2LS40MjJ6bTQuMTQgNS44NDQgMS45MzgtMS45NjktMS45MjItMS45NjguNzA0LS43MiAxLjkyMSAxLjk1NCAxLjkzOC0xLjk1My42ODcuNzE5LTEuOTIxIDEuOTY4IDEuOTM3IDEuOTctLjcwMy43MTgtMS45MzgtMS45ODQtMS45MzcgMS45ODQtLjcwMy0uNzE5eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im03Ny42NCAzMzcuMTAzcS0xLjQzOC0uNDIyLTIuMTEtMS4wMzEtLjY1Ni0uNjEtLjY1Ni0xLjUgMC0xIC43OTctMS42NTYuODEzLS42NzIgMi4xMS0uNjcyLjg3NSAwIDEuNTYyLjM0My42ODguMzQ0IDEuMDYzLjkzOC4zOS41OTQuMzkgMS4zMTNoLTEuMTRxMC0uNzgyLS41LTEuMjItLjQ4NS0uNDM3LTEuMzc1LS40MzctLjgyOSAwLTEuMjk3LjM3NS0uNDY5LjM2LS40NjkgMSAwIC41MzEuNDM4Ljg5LjQ1My4zNiAxLjUxNS42NTcgMS4wNjMuMjk3IDEuNjU2LjY1Ni42MS4zNi44OTEuODQ0LjI5Ny40ODQuMjk3IDEuMTI1IDAgMS4wNDctLjgxMyAxLjY3Mi0uODEyLjYyNS0yLjE1Ni42MjUtLjg5IDAtMS42NTYtLjM0NC0uNzUtLjM0NC0xLjE3Mi0uOTIyLS40MDYtLjU5My0uNDA2LTEuMzI4aDEuMTI1cTAgLjc2Ni41NzggMS4yMTkuNTc4LjQ1MyAxLjUzMS40NTMuODkgMCAxLjM2LS4zNi40NjgtLjM3NC40NjgtMSAwLS42MjQtLjQzNy0uOTY4LS40MzgtLjM0NC0xLjU5NC0uNjcyem01LjUgMy43OTdoLTEuMDc4di05aDEuMDc4em0xLjUzMS0zLjIzNHEwLS45MjIuMzYtMS42NzIuMzc1LS43NSAxLjAzLTEuMTQuNjU3LS40MDcgMS40ODUtLjQwNyAxLjI5NyAwIDIuMDk0Ljg5LjgxMy44OTEuODEzIDIuMzkxdi4wNzhxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE2IDEuMTU3LS42NTYuNDA2LTEuNTE1LjQwNi0xLjI4MSAwLTIuMDk0LS44OS0uNzk3LS45MDctLjc5Ny0yLjM5MXptMS4wOTQuMTRxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMi0uNjQuNDg1LS42NTcuNDg1LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em0xMS44MTMgMS41OTQgMS4yMTgtNC44NDRoMS4wNzhsLTEuODQzIDYuMzQ0aC0uODc1bC0xLjU0Ny00LjgxMy0xLjUgNC44MTNoLS44NzVsLTEuODQ0LTYuMzQ0aDEuMDc4bDEuMjUgNC43NSAxLjQ4NC00Ljc1aC44NnptMy4xMjQtMS43MTlxMC0xLjQ2OS42ODgtMi4zNDQuNjg4LS44OSAxLjgxMy0uODkgMS4xMDkgMCAxLjc2NS43NXYtMy4yOTdoMS4wNzh2OWgtMWwtLjA0Ny0uNjg4cS0uNjU2LjgxMy0xLjgxMi44MTMtMS4wOTQgMC0xLjc5Ny0uOTA2LS42ODgtLjkwNy0uNjg4LTIuMzZ6bTEuMDc5LjEyNXEwIDEuMDc4LjQzNyAxLjY4OC40NTMuNjEgMS4yMzQuNjEgMS4wMzIgMCAxLjUxNi0uOTM4di0yLjkwN3EtLjQ4NC0uODktMS41LS44OS0uNzk3IDAtMS4yNS42MS0uNDM3LjYwOC0uNDM3IDEuODI3em01Ljg5LS4xNHEwLS45MjIuMzYtMS42NzIuMzc1LS43NSAxLjAzLTEuMTQuNjU3LS40MDcgMS40ODUtLjQwNyAxLjI5NyAwIDIuMDk0Ljg5LjgxMy44OTEuODEzIDIuMzkxdi4wNzhxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE2IDEuMTU3LS42NTYuNDA2LTEuNTE1LjQwNi0xLjI4MSAwLTIuMDk0LS44OS0uNzk3LS45MDctLjc5Ny0yLjM5MXptMS4wOTQuMTRxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMi0uNjQuNDg1LS42NTcuNDg1LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em0xMS44MTMgMS41OTQgMS4yMTgtNC44NDRoMS4wNzhsLTEuODQzIDYuMzQ0aC0uODc1bC0xLjU0Ny00LjgxMy0xLjUgNC44MTNoLS44NzVsLTEuODQ0LTYuMzQ0aDEuMDc4bDEuMjUgNC43NSAxLjQ4NC00Ljc1aC44NnptNC40MDYtNC44NDQuMDMxLjc5N3EuNzM0LS45MDYgMS45MDYtLjkwNiAyLjAxNiAwIDIuMDMxIDIuMjY1djQuMTg4aC0xLjA5M3YtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4MS0uNjEuNzM0djQuNTE2aC0xLjA3OHYtNi4zNDR6bTguNjg3IDMuMTFxMC0uOTIyLjM2LTEuNjcyLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNiAxLjE1Ny0uNjU2LjQwNi0xLjUxNS40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF6bTEuMDk0LjE0cTAgMS4wNDcuNDg0IDEuNjg4LjUuNjQgMS4zMTMuNjQuODI4IDAgMS4zMTItLjY0LjQ4NS0uNjU3LjQ4NS0xLjgyOCAwLTEuMDMyLS41LTEuNjcyLS40ODUtLjY1Ny0xLjMxMy0uNjU3LS43OTcgMC0xLjI5Ny42NDEtLjQ4NC42MjUtLjQ4NCAxLjgyOHptNi43MzQgMy4wOTR2LTUuNWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzkuNTQ2LS41NjIgMS41NDYtLjU2Mi4zNzUgMCAuNzUuMDk0bC0uMDYyLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgyLjMxMy0uMjgyLjg3NXYuNjcyaDEuMzZ2Ljg0NGgtMS4zNnY1LjVoLTEuMDc3em02LjYyNSAwdi04LjUzMWgyLjQyMnExLjExIDAgMS45NTMuNS44Ni40ODQgMS4zMjggMS4zOS40Ny45MDcuNDcgMi4wOTR2LjUzMXEwIDEuMjItLjQ3IDIuMTI1LS40NTMuOTA3LTEuMzI4IDEuMzkxLS44NTkuNDg0LTIgLjV6bTEuMTI1LTcuNjF2Ni42ODhoMS4xODhxMS4yOTcgMCAyLjAxNS0uNzk3LjczNS0uODEyLjczNS0yLjMxMnYtLjVxMC0xLjQ1My0uNjg4LTIuMjUtLjY3Mi0uODEzLTEuOTM3LS44MjhoLTEuMzEzem0xMC42MjUgNy42MXEtLjA5My0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTkzLS41MzItLjU5My0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0NnYtLjVxMC0uNTYyLS4zNDMtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg1LjMyOC0uOTIyLjM0My0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2Ni40NTItLjI2NS42NTUtLjY4N3YtMS4yOTdoLS44NDNxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjguODc1LjI4em02LjM2LTcuMDQ3djEuNTMxaDEuMTcydi44NDRoLTEuMTcydjMuOTIycTAgLjM5LjE1Ni41NzguMTU2LjE4OC41MzEuMTg4LjE4OCAwIC41MTYtLjA2M3YuODc1cS0uNDIyLjEyNS0uODI4LjEyNS0uNzE5IDAtMS4wOTQtLjQzOC0uMzc1LS40NTMtLjM3NS0xLjI2NXYtMy45MjJoLTEuMTU2di0uODQ0aDEuMTU2di0xLjUzMXptNi40MzcgNy44NzVxLS4wOTMtLjE4OC0uMTU2LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ3LS41MzEtLjU5My0uNTMyLS41OTMtMS4zNiAwLS45ODQuNzUtMS41My43NS0uNTQ4IDIuMTI1LS41NDhoMS4wNDZ2LS41cTAtLjU2Mi0uMzQzLS44OS0uMzI4LS4zNDQtMS0uMzQ0LS41NzggMC0uOTY5LjI5Ny0uMzkuMjgxLS4zOS43MDNoLTEuMDk0cTAtLjQ4NS4zMjgtLjkyMi4zNDMtLjQzOC45MjItLjY4OC41NzgtLjI2NSAxLjI2NS0uMjY1IDEuMTEgMCAxLjcxOS41NDcuNjI1LjU0Ny42NTYgMS41djIuOTIycTAgLjg3NS4yMTkgMS4zOXYuMDk0aC0xLjE0em0tMS43OTctLjgyOHEuNTE2IDAgLjk3LS4yNjYuNDUyLS4yNjUuNjU1LS42ODd2LTEuMjk3aC0uODQzcS0yIDAtMiAxLjE3MiAwIC41LjM0My43OTcuMzQ0LjI4Ljg3NS4yOHptNy44NzUtLjY3MiAyLjQzOC03LjAzMWgxLjIzNGwtMy4xNzIgOC41MzFoLS45ODRsLTMuMTU2LTguNTMxaDEuMjE5em02LjE4OCAxLjVoLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY4LjE4Ny4xNzIuMTg4LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzgtLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em01LjYyNSA4LjE0MXEtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTkuMTI0IDQuMDYzIDEuMjItNC44NDRoMS4wNzdsLTEuODQzIDYuMzQ0aC0uODc1bC0xLjU0Ny00LjgxMy0xLjUgNC44MTNoLS44NzVsLTEuODQ0LTYuMzQ0aDEuMDc4bDEuMjUgNC43NSAxLjQ4NC00Ljc1aC44NnptNy4wNzktLjE4OHEwLS40MzctLjM0NC0uNjcxLS4zMjgtLjI1LTEuMTU2LS40MjItLjgxMy0uMTcyLTEuMjk3LS40MjItLjQ4NS0uMjUtLjcxOS0uNTc4LS4yMTktLjM0NC0uMjE5LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTctLjU0NyAxLjY4OC0uNTQ3IDEuMDc4IDAgMS43MzQuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OHEwLS40MzgtLjM5LS43NS0uMzc2LS4zMjktLjkzOC0uMzI5LS41OTQgMC0uOTM4LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTMuNTk0LjMxMi4yMDMgMS4xMjUuMzkuODEyLjE3MyAxLjMxMi40MjN0LjczNS42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg4IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjUgMC0xLjM2LS4yNjYtLjU3Ny0uMjgtLjkwNS0uNzY1LS4zMjktLjQ4NS0uMzI5LTEuMDQ3aDEuMDc5cS4wMy41NDcuNDM3Ljg3NS40MDYuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptNy44NDMuOTIycS41NzggMCAxLjAxNi0uMzQzLjQzOC0uMzYuNDg0LS44OTFoMS4wMzJxLS4wMzIuNTQ3LS4zOTEgMS4wNDctLjM0NC40ODQtLjkyMi43ODEtLjU2Mi4yOTctMS4yMTkuMjk3LTEuMjk3IDAtMi4wNjItLjg2LS43NS0uODc0LS43NS0yLjM3NHYtLjE4OHEwLS45MjIuMzI4LTEuNjQuMzQ0LS43Mi45NjktMS4xMS42NC0uNDA2IDEuNTE1LS40MDYgMS4wNjMgMCAxLjc2Ni42NC43MTkuNjI1Ljc2NiAxLjY1N2gtMS4wMzJxLS4wNDctLjYyNS0uNDY4LTEuMDE2LS40MjItLjM5LTEuMDMyLS4zOS0uODI4IDAtMS4yOC41OTMtLjQ1NC41OTQtLjQ1NCAxLjcxOXYuMjAzcTAgMS4wOTQuNDUzIDEuNjg4LjQ1My41OTMgMS4yODEuNTkzem0zLjE3Mi0yLjQ2OHEwLS45MjIuMzYtMS42NzIuMzc1LS43NSAxLjAzLTEuMTQuNjU3LS40MDcgMS40ODUtLjQwNyAxLjI5NyAwIDIuMDk0Ljg5LjgxMy44OTEuODEzIDIuMzkxdi4wNzhxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE2IDEuMTU3LS42NTYuNDA2LTEuNTE1LjQwNi0xLjI4MSAwLTIuMDk0LS44OS0uNzk3LS45MDctLjc5Ny0yLjM5MXptMS4wOTQuMTRxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMi0uNjQuNDg1LS42NTcuNDg1LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em03LjIxOS0zLjI1LjAzMS43MDNxLjY4OC0uODEyIDEuODc1LS44MTIgMS4zMjggMCAxLjgxMyAxLjAxNS4zMTItLjQ1My44MTItLjczNC41MTYtLjI4MSAxLjIwMy0uMjgxIDIuMDk0IDAgMi4xMjUgMi4yMDN2NC4yNWgtMS4wNzh2LTQuMTg4cTAtLjY3MS0uMzEzLTEtLjMxMi0uMzQzLTEuMDQ2LS4zNDMtLjYxIDAtMS4wMTYuMzYtLjM5LjM1OC0uNDUzLjk2OHY0LjIwM2gtMS4wNzh2LTQuMTU2cTAtMS4zNzUtMS4zNi0xLjM3NS0xLjA2MiAwLTEuNDUzLjkwNnY0LjYyNWgtMS4wOTR2LTYuMzQ0em0xNS4zMjggMy4yNXEwIDEuNDM4LS42NTYgMi4zMjgtLjY1Ny44OTEtMS43OTcuODkxLTEuMTU3IDAtMS44MTMtLjczNHYzLjA0NmgtMS4wNzh2LTguNzhoLjk4NGwuMDQ3LjcwMnEuNjcyLS44MTIgMS44NDQtLjgxMiAxLjE0IDAgMS43OTcuODYuNjcyLjg1OS42NzIgMi4zOXYuMTF6bS0xLjA3OC0uMTI1cTAtMS4wNzgtLjQ2OS0xLjY4Ny0uNDUzLS42MjUtMS4yNS0uNjI1LS45ODQgMC0xLjQ2OS44NnYzLjAzcS40ODUuODc1IDEuNDg1Ljg3NS43OCAwIDEuMjM0LS42MDkuNDY5LS42MjUuNDY5LTEuODQ0em02LjY0IDMuMjE5cS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMxLS41OTMtLjUzMi0uNTkzLTEuMzYgMC0uOTg0Ljc1LTEuNTMuNzUtLjU0OCAyLjEyNS0uNTQ4aDEuMDQ2di0uNXEwLS41NjItLjM0My0uODktLjMyOC0uMzQ0LTEtLjM0NC0uNTc4IDAtLjk2OS4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI4LS45MjIuMzQzLS40MzguOTIyLS42ODguNTc4LS4yNjUgMS4yNjUtLjI2NSAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NGgtMS4xNHptLTEuNzk3LS44MjhxLjUxNiAwIC45Ny0uMjY2LjQ1Mi0uMjY1LjY1NS0uNjg3di0xLjI5N2gtLjg0M3EtMiAwLTIgMS4xNzIgMCAuNS4zNDMuNzk3LjM0NC4yOC44NzUuMjh6bTcuOTU0LTQuNTQ3cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMy41NjIgNS41cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOC0uNjI1bC42NTcuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptMy4yNSAyLjM0NHEwLTEuNDY5LjY4Ny0yLjM0NC42ODgtLjg5IDEuODEzLS44OSAxLjEwOSAwIDEuNzY1Ljc1di0zLjI5N2gxLjA3OHY5aC0xbC0uMDQ3LS42ODhxLS42NTYuODEzLTEuODEyLjgxMy0xLjA5NCAwLTEuNzk3LS45MDYtLjY4OC0uOTA3LS42ODgtMi4zNnYtLjA3OHptMS4wNzguMTI1cTAgMS4wNzguNDM3IDEuNjg4LjQ1My42MSAxLjIzNC42MSAxLjAzMiAwIDEuNTE2LS45Mzh2LTIuOTA3cS0uNDg0LS44OS0xLjUtLjg5LS43OTcgMC0xLjI1LjYxLS40MzcuNjA4LS40MzcgMS44Mjd6bTEwLjY1Ni00Ljc4MXYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTYuNTc4LjE1Ni4xODguNTMxLjE4OC4xODggMCAuNTE2LS4wNjN2Ljg3NXEtLjQyMi4xMjUtLjgyOC4xMjUtLjcxOSAwLTEuMDk0LS40MzgtLjM3NS0uNDUzLS4zNzUtMS4yNjV2LTMuOTIyaC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzF6bTIuMjM0IDQuNjRxMC0uOTIxLjM2LTEuNjcxLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNiAxLjE1Ny0uNjU2LjQwNi0xLjUxNS40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF2LS4wNzh6bTEuMDk0LjE0MXEwIDEuMDQ3LjQ4NCAxLjY4OC41LjY0IDEuMzEzLjY0LjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ny40ODUtMS44MjggMC0xLjAzMi0uNS0xLjY3Mi0uNDg1LS42NTctMS4zMTMtLjY1Ny0uNzk3IDAtMS4yOTcuNjQxLS40ODQuNjI1LS40ODQgMS44Mjh6bTE1LjI2Ni00LjUxNWgtMi43NXY3LjYwOWgtMS4xMXYtNy42MWgtMi43NXYtLjkyMWg2LjYxem0zIDYuMDE1IDEuNDg0LTQuNzVoMS4xNTZsLTIuNTQ3IDcuMzI4cS0uNTkzIDEuNTc4LTEuODc1IDEuNTc4bC0uMjE4LS4wMTUtLjM5MS0uMDc4di0uODc1bC4yODEuMDE1cS41NjMgMCAuODYtLjIxOC4zMTItLjIyLjUxNS0uODEzbC4yMzUtLjY1Ni0yLjI2Ni02LjI2NmgxLjE4OHptOS4yOC0xLjVxMCAxLjQzOC0uNjU1IDIuMzI4LS42NTcuODkxLTEuNzk3Ljg5MS0xLjE1NiAwLTEuODEzLS43MzR2My4wNDZoLTEuMDc4di04Ljc4aC45ODRsLjA0Ny43MDJxLjY3Mi0uODEyIDEuODQ0LS44MTIgMS4xNCAwIDEuNzk3Ljg2LjY3Mi44NTkuNjcyIDIuMzl2LjExem0tMS4wNzctLjEyNXEwLTEuMDc4LS40NjktMS42ODctLjQ1My0uNjI1LTEuMjUtLjYyNS0uOTg0IDAtMS40NjkuODZ2My4wM3EuNDg1Ljg3NSAxLjQ4NS44NzUuNzggMCAxLjIzNC0uNjA5LjQ2OS0uNjI1LjQ2OS0xLjg0NHptNS4zNiAzLjM0NHEtMS4yOTggMC0yLjExLS44NDQtLjc5Ny0uODYtLjc5Ny0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0Mi01LjY4OHEtLjY1NiAwLTEuMTA5LjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptMy4yNSAyLjM0NHEwLTEuNDY5LjY4OC0yLjM0NC42ODgtLjg5IDEuODEzLS44OSAxLjEwOSAwIDEuNzY1Ljc1di0zLjI5N2gxLjA3OHY5aC0xbC0uMDQ3LS42ODhxLS42NTYuODEzLTEuODEyLjgxMy0xLjA5NCAwLTEuNzk3LS45MDYtLjY4OC0uOTA3LS42ODgtMi4zNnptMS4wNzkuMTI1cTAgMS4wNzguNDM3IDEuNjg4LjQ1My42MSAxLjIzNC42MSAxLjAzMiAwIDEuNTE2LS45Mzh2LTIuOTA3cS0uNDg0LS44OS0xLjUtLjg5LS43OTcgMC0xLjI1LjYxLS40MzcuNjA4LS40MzcgMS44Mjd6bTExLjA2Mi44NmgtMy41NzhsLS43OTcgMi4yMzRoLTEuMTU2bDMuMjUtOC41MzFoLjk4NGwzLjI2NiA4LjUzMWgtMS4xNTZ6bS0zLjIzNC0uOTIyaDIuOTA2bC0xLjQ1My0zLjk4NXptOS40MjItMi4yMTlxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em00IDBxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4em00Ljg0MyA1LjM3NXEtLjA5My0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTkzLS41MzItLjU5My0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0NnYtLjVxMC0uNTYyLS4zNDMtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg1LjMyOC0uOTIyLjM0NC0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2Ni40NTItLjI2NS42NTUtLjY4N3YtMS4yOTdoLS44NDNxLTIgMC0yIDEuMTcyIDAgLjUuMzQ0Ljc5Ny4zNDMuMjguODc1LjI4em02Ljk1NC0uNzY2IDEuNDg0LTQuNzVoMS4xNTZsLTIuNTQ3IDcuMzI4cS0uNTkzIDEuNTc4LTEuODc1IDEuNTc4bC0uMjE4LS4wMTUtLjM5MS0uMDc4di0uODc1bC4yODEuMDE1cS41NjMgMCAuODYtLjIxOC4zMTItLjIyLjUxNS0uODEzbC4yMzUtLjY1Ni0yLjI2Ni02LjI2NmgxLjE4OHptNy42MjUtLjA5NHEwLS40MzctLjM0NC0uNjcxLS4zMjgtLjI1LTEuMTU2LS40MjItLjgxMy0uMTcyLTEuMjk3LS40MjItLjQ4NS0uMjUtLjcxOS0uNTc4LS4yMTktLjM0NC0uMjE5LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTctLjU0NyAxLjY4OC0uNTQ3IDEuMDc4IDAgMS43MzQuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OHEwLS40MzgtLjM5LS43NS0uMzc1LS4zMjktLjkzOC0uMzI5LS41OTQgMC0uOTM4LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTMuNTk0LjMxMi4yMDMgMS4xMjUuMzkuODEyLjE3MyAxLjMxMi40MjN0LjczNS42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg4IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjUgMC0xLjM2LS4yNjYtLjU3Ny0uMjgtLjkwNS0uNzY1LS4zMjktLjQ4NS0uMzI5LTEuMDQ3aDEuMDc5cS4wMy41NDcuNDM3Ljg3NS40MDYuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptNS4yNjUtMS43OHEwLTEuMzEzLjM0NC0yLjUzMi4zNi0xLjIxOSAxLjA2My0yLjIxOS43MDMtMSAxLjQ2OC0xLjQwNmwuMjE5LjcxOXEtLjg2LjY1Ni0xLjQwNiAyLS41NDcgMS4zNDMtLjU5NCAzLjAxNWwtLjAxNi41cTAgMi4yNjYuODI4IDMuOTIyLjUgMSAxLjE4OCAxLjU2M2wtLjIxOS42NTZxLS43ODEtLjQyMi0xLjUtMS40NTMtMS4zNzUtMS45ODUtMS4zNzUtNC43NjZ6bTUuMjE5IDMuNDY4aC0xLjA3OHYtOWgxLjA3OHptMS41MzEtMy4yMzRxMC0uOTIyLjM2LTEuNjcyLjM3NS0uNzUgMS4wMy0xLjE0LjY1Ny0uNDA3IDEuNDg1LS40MDcgMS4yOTcgMCAyLjA5NC44OS44MTMuODkxLjgxMyAyLjM5MXYuMDc4cTAgLjkyMi0uMzYgMS42NTYtLjM2LjczNS0xLjAxNiAxLjE1Ny0uNjU2LjQwNi0xLjUxNS40MDYtMS4yODEgMC0yLjA5NC0uODktLjc5Ny0uOTA3LS43OTctMi4zOTF6bTEuMDk0LjE0cTAgMS4wNDcuNDg0IDEuNjg4LjUuNjQgMS4zMTMuNjQuODI4IDAgMS4zMTItLjY0LjQ4NS0uNjU3LjQ4NS0xLjgyOCAwLTEuMDMyLS41LTEuNjcyLS40ODUtLjY1Ny0xLjMxMy0uNjU3LS43OTcgMC0xLjI5Ny42NDEtLjQ4NC42MjUtLjQ4NCAxLjgyOHptMTEuODEzIDEuNTk0IDEuMjE4LTQuODQ0aDEuMDc4bC0xLjg0MyA2LjM0NGgtLjg3NWwtMS41NDctNC44MTMtMS41IDQuODEzaC0uODc1bC0xLjg0NC02LjM0NGgxLjA3OGwxLjI1IDQuNzUgMS40ODQtNC43NWguODZsMS41MTUgNC44NDR6bTYuMDE1IDEuNjI1cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptNS4xMDkgNS4zNzVoLTEuMDc4di02LjM0NGgxLjA3OHptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY5LjE4Ny4xNzEuMTg4LjE3MS40NTMgMCAuMjUtLjE3Mi40MzgtLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em02LjY4OCA2LjMyOHEwLS40MzctLjM0NC0uNjcxLS4zMjgtLjI1LTEuMTU2LS40MjItLjgxMy0uMTcyLTEuMjk3LS40MjItLjQ4NS0uMjUtLjcxOS0uNTc4LS4yMTktLjM0NC0uMjE5LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTctLjU0NyAxLjY4OC0uNTQ3IDEuMDc4IDAgMS43MzQuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OHEwLS40MzgtLjM5LS43NS0uMzc1LS4zMjktLjkzOC0uMzI5LS41OTQgMC0uOTM4LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTMuNTk0LjMxMi4yMDMgMS4xMjUuMzkuODEyLjE3MyAxLjMxMi40MjN0LjczNS42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg4IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjUgMC0xLjM2LS4yNjYtLjU3Ny0uMjgtLjkwNS0uNzY1LS4zMjktLjQ4NS0uMzI5LTEuMDQ3aDEuMDc5cS4wMy41NDcuNDM3Ljg3NS40MDYuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptMTAuNjcxLTEuNDA2cTAgMS40NTMtLjY3MSAyLjM0NC0uNjU3Ljg3NS0xLjc4Mi44NzUtMS4yMDMgMC0xLjg1OS0uODZsLS4wNjMuNzM1aC0uOTg0di05aDEuMDc4djMuMzZxLjY1Ni0uODEzIDEuODEzLS44MTMgMS4xNTYgMCAxLjgxMi44NzUuNjU2Ljg2LjY1NiAyLjM5em0tMS4wNzgtLjEyNXEwLTEuMTEtLjQzNy0xLjcwMy0uNDIyLS42MS0xLjIxOS0uNjEtMS4wNzggMC0xLjU0Ny45ODV2Mi43NXEuNSAxIDEuNTQ3IDEgLjc4MSAwIDEuMjE5LS42MS40MzctLjYwOS40MzctMS44MTJ6bTUuMzQ0IDMuMzQ0cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNC45ODQtMi4zMTJ2MS41MzFoMS4xNzJ2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1di0zLjkyMmgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxem00IDB2MS41MzFoMS4xNzJ2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1di0zLjkyMmgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxem01LjE1NiA4cS0xLjI5NyAwLTIuMTEtLjg0NC0uNzk2LS44Ni0uNzk2LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU1LS40MjIgMS40MDUtLjQyMiAxLjIzNSAwIDEuOTIyLjgxMi42ODguODEzLjY4OCAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMxIDEuMzI4aDMuMTcydi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzkxLS40NTQtMS4wNzktLjQ1NHptNi41NzguMTg4cS0uMjUtLjAzMS0uNTMyLS4wMzEtMS4wNzggMC0xLjQ1My45MDZ2NC41aC0xLjA3OHYtNi4zNDRoMS4wNDdsLjAxNi43MzVxLjUzLS44NDQgMS41MTUtLjg0NC4zMTMgMCAuNDg1LjA3OHptMy40MzcgMS45NjlxMCAxLjMxMi0uMzQ0IDIuNTE1LS4zNDMgMS4xODgtMS4wNjIgMi4yMDMtLjcwMyAxLjAxNi0xLjQ2OSAxLjQzOGwtLjIzNC0uNjU2cS45MDYtLjY4OCAxLjQ1My0yLjE0LjU0Ny0xLjQ3LjU2Mi0zLjIzNXYtLjE4OHEwLTEuMjM0LS4yNjUtMi4yOTctLjI1LTEuMDYyLS43MTktMS44OS0uNDUzLS44NDQtMS4wMzEtMS4zMTNsLjIzNC0uNjU2cS43NjYuNDIyIDEuNDY5IDEuNDIyLjcwMyAxIDEuMDQ3IDIuMjE5LjM2IDEuMjAzLjM2IDIuNTc4eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Im0xNy42NDcgMzA0Ljg2OXEwIDEuNTc4LS41NDcgMi4zNi0uNTMxLjc2NS0xLjY4OC43NjUtMS4xNCAwLTEuNjg3LS43NS0uNTQ3LS43NS0uNTYzLTIuMjV2LTEuMjAzcTAtMS41NzkuNTMyLTIuMzI5LjU0Ny0uNzY1IDEuNzAzLS43NjUgMS4xNTYgMCAxLjY4Ny43MzQuNTQ3LjczNS41NjMgMi4yNjZ6bS0uOTA2LTEuMjM1cTAtMS4xNTYtLjMyOC0xLjY3Mi0uMzEzLS41My0xLjAxNi0uNTMtLjY4OCAwLTEuMDE2LjUzLS4zMTIuNTE2LS4zMTIgMS41OTR2MS40NTNxMCAxLjE1Ny4zMjggMS43MDMuMzQ0LjU0NyAxLjAxNS41NDcuNjcyIDAgLjk4NS0uNTE1LjMyOC0uNTE2LjM0NC0xLjYyNXptNC4zMTIuOTA3IDEuMTcyLTEuOTIyaDEuMDYzbC0xLjczNSAyLjYxIDEuNzgxIDIuNjcxaC0xLjA0NmwtMS4yMi0xLjk4NC0xLjIxOCAxLjk4NGgtMS4wNDdsMS43ODEtMi42NzItMS43MzQtMi42MWgxLjA0N3ptMTQ5LjkwNy0uMjA0LjM3NS0zLjU0NmgzLjY0di44MjhoLTIuODc0bC0uMjIgMS45MzdxLjUxNy0uMjk3IDEuMTg4LS4yOTcuOTcgMCAxLjUzMi42NDEuNTc4LjY0LjU3OCAxLjczNCAwIDEuMDk0LS41OTQgMS43MzUtLjU5NC42MjUtMS42NTYuNjI1LS45MzggMC0xLjU0Ny0uNTE2LS41OTQtLjUzMS0uNjcyLTEuNDUzaC44NnEuMDc4LjYxLjQyMS45MjIuMzYuMzEyLjkzOC4zMTIuNjI1IDAgLjk4NC0uNDIyLjM2LS40MzcuMzYtMS4xODcgMC0uNzE5LS4zOTEtMS4xNC0uMzc1LS40MzgtMS4wMzEtLjQzOC0uNTc4IDAtLjkyMi4yNWwtLjIzNS4yMDN6bTcuNDUzLjIwNCAxLjE3Mi0xLjkyMmgxLjA2M2wtMS43MzUgMi42MSAxLjc4MSAyLjY3MWgtMS4wNDZsLTEuMjItMS45ODQtMS4yMTggMS45ODRoLTEuMDQ3bDEuNzgxLTIuNjcyLTEuNzM0LTIuNjFoMS4wNDd6bTE0OS40NjkgMy4zNTloLS45MDZ2LTYuMDE2bC0xLjgyOC42NTd2LS44MTNsMi41OTQtLjk2OWguMTR6bTcuNDg1LTMuMDMxcTAgMS41NzgtLjU0NyAyLjM2LS41MzEuNzY1LTEuNjg4Ljc2NS0xLjE0IDAtMS42ODctLjc1LS41NDctLjc1LS41NjMtMi4yNXYtMS4yMDNxMC0xLjU3OS41MzItMi4zMjkuNTQ3LS43NjUgMS43MDMtLjc2NSAxLjE1NiAwIDEuNjg3LjczNC41NDcuNzM1LjU2MyAyLjI2NnptLS45MDYtMS4yMzVxMC0xLjE1Ni0uMzI5LTEuNjcyLS4zMTItLjUzLTEuMDE1LS41My0uNjg4IDAtMS4wMTYuNTMtLjMxMi41MTYtLjMxMiAxLjU5NHYxLjQ1M3EwIDEuMTU3LjMyOCAxLjcwMy4zNDQuNTQ3IDEuMDE1LjU0Ny42NzIgMCAuOTg1LS41MTUuMzI4LS41MTYuMzQ0LTEuNjI1em00LjMxMi45MDcgMS4xNzItMS45MjJoMS4wNjNsLTEuNzM1IDIuNjEgMS43ODEgMi42NzFoLTEuMDQ2bC0xLjIyLTEuOTg0LTEuMjE4IDEuOTg0aC0xLjA0N2wxLjc4MS0yLjY3Mi0xLjczNC0yLjYxaDEuMDQ3em0xNDYuNDcgMy4zNTloLS45MDd2LTYuMDE2bC0xLjgyOC42NTd2LS44MTNsMi41OTQtLjk2OWguMTR2Ny4xNDF6bTMuNDM3LTMuNTYzLjM3NS0zLjU0NmgzLjY0di44MjhoLTIuODc0bC0uMjIgMS45MzdxLjUxNy0uMjk3IDEuMTg4LS4yOTcuOTcgMCAxLjUzMi42NDEuNTc4LjY0LjU3OCAxLjczNCAwIDEuMDk0LS41OTQgMS43MzUtLjU5NC42MjUtMS42NTYuNjI1LS45MzggMC0xLjU0Ny0uNTE2LS41OTQtLjUzMS0uNjcyLTEuNDUzaC44NnEuMDc3LjYxLjQyMS45MjIuMzYuMzEyLjkzOC4zMTIuNjI1IDAgLjk4NC0uNDIyLjM2LS40MzcuMzYtMS4xODcgMC0uNzE5LS4zOTEtMS4xNC0uMzc1LS40MzgtMS4wMzEtLjQzOC0uNTc5IDAtLjkyMi4yNWwtLjIzNS4yMDN6bTcuNDUzLjIwNCAxLjE3Mi0xLjkyMmgxLjA2M2wtMS43MzUgMi42MSAxLjc4MSAyLjY3MWgtMS4wNDZsLTEuMjItMS45ODQtMS4yMTggMS45ODRoLTEuMDQ3bDEuNzgxLTIuNjcyLTEuNzM0LTIuNjFoMS4wNDd6IiBmaWxsPSIjYjdiN2I3Ii8+PHBhdGggZD0ibTUxMS45IDIwLjFhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjEwYTEgMSAwIDAgMSAtMSAxaC0xMGExIDEgMCAwIDEgLTEtMXoiIGZpbGw9IiM0Mjg1ZjQiLz48cGF0aCBkPSJtNTM1LjQgMjcuNzI1IDIuMjM0LTYuNDUzaDEuMTI1bC0yLjkwNiA3LjgyOGgtLjkwNmwtMi44OS03LjgyOGgxLjEwOXptOC44OS00LjQwNnEwIC41OTQtLjMxMiAxLjA0Ny0uMjk3LjQ1My0uODI4LjcxOC42MS4yNS45NjkuNzY2LjM2LjUuMzYgMS4xNCAwIDEuMDE2LS42ODggMS42MjYtLjY4OC41OTMtMS43OTcuNTkzLTEuMTQgMC0xLjgxMy0uNTkzLS42NzItLjYxLS42NzItMS42MjUgMC0uNjQxLjM0NC0xLjE0MS4zNDQtLjUxNi45NTMtLjc4MS0uNTE1LS4yNS0uODI4LS43MDMtLjI5Ny0uNDctLjI5Ny0xLjA0NyAwLS45ODUuNjI1LTEuNTYzLjY0LS41NzggMS42ODgtLjU3OCAxLjAzMSAwIDEuNjU2LjU3OC42NC41NzguNjQgMS41NjN6bS0uODEyIDMuNjU2cTAtLjY1Ni0uNDIyLTEuMDYzLS40MDYtLjQyMS0xLjA3OC0uNDIxdC0xLjA3OC40MDZxLS40MDYuNDA2LS40MDYgMS4wNzggMCAuNjU2LjM5IDEuMDQ3LjQwNy4zNzUgMS4xMS4zNzUuNjg3IDAgMS4wNzgtLjM3NS40MDYtLjM5LjQwNi0xLjA0N3ptLTEuNDg0LTQuOTg0cS0uNTk0IDAtLjk1My4zNTktLjM2LjM2LS4zNi45ODQgMCAuNTk0LjM2Ljk3LjM1OS4zNTkuOTUzLjM1OS41OTMgMCAuOTUzLS4zNi4zNi0uMzc1LjM2LS45NjkgMC0uNTkzLS4zNzYtLjk2OC0uMzc1LS4zNzUtLjkzNy0uMzc1em04LjU3OCA1Ljc2NSAxLjQzNy00LjQ2OGgxLjAxNmwtMi4wNzggNS44MTJoLS43NjZsLTIuMTEtNS44MTNoMS4wMTZsMS40ODUgNC40N3ptNi44NzUtNi40ODR2Ljg0NGgtLjE4OHEtMS4xNTYuMDE1LTEuODQzLjY4Ny0uNjg4LjY3Mi0uNzk3IDEuODc1LjYyNS0uNzAzIDEuNjg3LS43MDMgMS4wMzEgMCAxLjY0LjcxOS42MS43MTkuNjEgMS44NiAwIDEuMjAyLS42NzIgMS45MzctLjY1Ni43MTgtMS43NS43MTgtMS4xMjUgMC0xLjgyOC0uODU5LS43MDMtLjg2LS43MDMtMi4yMTl2LS4zOXEwLTIuMTU3LjkyMi0zLjI5Ny45MjItMS4xNCAyLjc1LTEuMTcyem0tMS4yOTcgMy41MzFxLS41MTYgMC0uOTUzLjMxMy0uNDIyLjI5Ny0uNTk0Ljc1di4zNzVxMCAuOTY4LjQzOCAxLjU2Mi40MzcuNTc4IDEuMDkzLjU3OC42NzIgMCAxLjA0Ny0uNDg0LjM5LS41LjM5LTEuMjk3IDAtLjgxMy0uMzktMS4yOTctLjM5LS41LTEuMDMxLS41em0zLjUzMSAzLjc4MXEwLS4yNjUuMTQtLjQzNy4xNTctLjE3Mi40NTQtLjE3Mi4zMTMgMCAuNDY5LjE3Mi4xNzIuMTcyLjE3Mi40MzcgMCAuMjM1LS4xNzIuNDA3LS4xNTcuMTcyLS40NjkuMTcyLS4yOTcgMC0uNDUzLS4xNzItLjE0LS4xNzItLjE0LS40MDd6bTcuNjEtNS4yNjVxMCAuNTk0LS4zMTMgMS4wNDctLjI5Ny40NTMtLjgyOC43MTguNjEuMjUuOTY5Ljc2Ni4zNi41LjM2IDEuMTQgMCAxLjAxNi0uNjg4IDEuNjI2LS42ODguNTkzLTEuNzk3LjU5My0xLjE0IDAtMS44MTMtLjU5My0uNjcyLS42MS0uNjcyLTEuNjI1IDAtLjY0MS4zNDQtMS4xNDEuMzQ0LS41MTYuOTUzLS43ODEtLjUxNS0uMjUtLjgyOC0uNzAzLS4yOTctLjQ3LS4yOTctMS4wNDcgMC0uOTg1LjYyNS0xLjU2My42NC0uNTc4IDEuNjg4LS41NzggMS4wMzEgMCAxLjY1Ni41NzguNjQuNTc4LjY0IDEuNTYzem0tLjgxMyAzLjY1NnEwLS42NTYtLjQyMi0xLjA2My0uNDA2LS40MjEtMS4wNzgtLjQyMXQtMS4wNzguNDA2cS0uNDA2LjQwNi0uNDA2IDEuMDc4IDAgLjY1Ni4zOSAxLjA0Ny40MDcuMzc1IDEuMTEuMzc1LjY4NyAwIDEuMDc4LS4zNzUuNDA2LS4zOS40MDYtMS4wNDd6bS0xLjQ4NC00Ljk4NHEtLjU5NCAwLS45NTMuMzU5LS4zNi4zNi0uMzYuOTg0IDAgLjU5NC4zNi45Ny4zNTkuMzU5Ljk1My4zNTkuNTkzIDAgLjk1My0uMzYuMzYtLjM3NS4zNi0uOTY5IDAtLjU5My0uMzc2LS45NjgtLjM3NS0uMzc1LS45MzctLjM3NXoiIGZpbGw9IiM2NjYiLz48cGF0aCBkPSJtNTExLjkgNDQuMWExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxIC0xIDFoLTEwYTEgMSAwIDAgMSAtMS0xeiIgZmlsbD0iIzFjNDU4NyIvPjxwYXRoIGQ9Im01MzUuNCA1MS43MjUgMi4yMzQtNi40NTNoMS4xMjVsLTIuOTA2IDcuODI4aC0uOTA2bC0yLjg5LTcuODI4aDEuMTA5em04Ljg5LTQuNDA2cTAgLjU5My0uMzEyIDEuMDQ3LS4yOTcuNDUzLS44MjguNzE4LjYxLjI1Ljk2OS43NjYuMzYuNS4zNiAxLjE0IDAgMS4wMTYtLjY4OCAxLjYyNi0uNjg4LjU5My0xLjc5Ny41OTMtMS4xNCAwLTEuODEzLS41OTMtLjY3Mi0uNjEtLjY3Mi0xLjYyNSAwLS42NDEuMzQ0LTEuMTQxLjM0NC0uNTE2Ljk1My0uNzgxLS41MTUtLjI1LS44MjgtLjcwMy0uMjk3LS40Ny0uMjk3LTEuMDQ3IDAtLjk4NS42MjUtMS41NjMuNjQtLjU3OCAxLjY4OC0uNTc4IDEuMDMxIDAgMS42NTYuNTc4LjY0LjU3OC42NCAxLjU2M3ptLS44MTIgMy42NTZxMC0uNjU2LS40MjItMS4wNjMtLjQwNi0uNDIxLTEuMDc4LS40MjF0LTEuMDc4LjQwNnEtLjQwNi40MDYtLjQwNiAxLjA3OCAwIC42NTYuMzkgMS4wNDcuNDA3LjM3NSAxLjExLjM3NS42ODcgMCAxLjA3OC0uMzc1LjQwNi0uMzkuNDA2LTEuMDQ3em0tMS40ODQtNC45ODRxLS41OTQgMC0uOTUzLjM1OS0uMzYuMzYtLjM2Ljk4NCAwIC41OTQuMzYuOTcuMzU5LjM1OC45NTMuMzU4LjU5MyAwIC45NTMtLjM1OS4zNi0uMzc1LjM2LS45NjkgMC0uNTkzLS4zNzYtLjk2OC0uMzc1LS4zNzUtLjkzNy0uMzc1em04LjU3OCA1Ljc2NSAxLjQzNy00LjQ2OGgxLjAxNmwtMi4wNzggNS44MTJoLS43NjZsLTIuMTEtNS44MTNoMS4wMTZsMS40ODUgNC40N3ptOC4wMzEtNS45MjItMy4yNSA3LjI2NmgtMS4wMzFsMy4yMTktN2gtNC4yMzV2LS44MjhoNS4yOTd6bTEuMDc4IDYuNzVxMC0uMjY1LjE0LS40MzcuMTU3LS4xNzIuNDU0LS4xNzIuMzEzIDAgLjQ2OS4xNzIuMTcyLjE3Mi4xNzIuNDM3IDAgLjIzNS0uMTcyLjQwNy0uMTU3LjE3Mi0uNDY5LjE3Mi0uMjk3IDAtLjQ1My0uMTcyLS4xNC0uMTcyLS4xNC0uNDA3em03Ljc2Ni0yLjgxMnEwIDEuNzM0LS41OTQgMi41OTQtLjU5NC44NDMtMS44Ni44NDMtMS4yNSAwLTEuODU5LS44MjgtLjU5My0uODI4LS42MDktMi40ODR2LTEuMzI4cTAtMS43MTkuNTk0LTIuNTQ3LjU5My0uODQ0IDEuODYtLjg0NCAxLjI2NSAwIDEuODU4LjgxMy41OTQuNzk3LjYxIDIuNDg0em0tLjk4NS0xLjM2cTAtMS4yNjUtLjM1OS0xLjg0My0uMzYtLjU3OC0xLjEyNS0uNTc4LS43NSAwLTEuMTEuNTc4LS4zNDMuNTYyLS4zNTkgMS43NjV2MS41NzhxMCAxLjI4Mi4zNiAxLjg5MS4zNzUuNTk0IDEuMTI1LjU5NC43MzQgMCAxLjA5My0uNTYzLjM2LS41NzguMzc1LTEuNzk3di0xLjYyNHoiIGZpbGw9IiM2NjYiLz48L3N2Zz4=" alt="">
<figcaption><code>DataView</code> vs. <code>TypedArray</code> peak performance</figcaption>
</figure>
<p>We hope that you’re now able to start using <code>DataView</code>s where it makes sense, instead of relying on <code>TypedArray</code> shims. Please send us feedback on your <code>DataView</code> uses! You can reach us <a href="https://crbug.com/v8/new">via our bug tracker</a>, via mail to <a href="mailto:v8-users@googlegroups.com">v8-users@googlegroups.com</a>, or via <a href="https://twitter.com/v8js">@v8js on Twitter</a>.</p>
<p><em>Posted by Théotime Grohens, <i lang="fr">le savant de Data-Vue</i>, and Benedikt Meurer (<a href="https://twitter.com/bmeurer">@bmeurer</a>), professional performance pal</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-38019586786052148072018-09-11T09:59:00.000-07:002018-09-11T09:59:55.195-07:00Celebrating 10 years of V8<style>
figure { margin: 1em 0;}
figcaption { text-align: center; font-size: 90%; }
figure, img { max-width: 100%; height: auto; }
</style>
<p>This month marks the 10-year anniversary of shipping not just Google Chrome, but also the V8 project. This post gives an overview of major milestones for the V8 project in the past 10 years as well as the years before, when the project was still secret.</p>
<figure>
<iframe height="369" src="https://www.youtube.com/embed/G0vnrPTuxZA" width="656" style="max-width: 100%; border: 0;"></iframe>
<figcaption>A visualization of the V8 code base over time, created using <a href="http://gource.io/"><code>gource</code></a>.</figcaption>
</figure>
<h2 id="before-v8-shipped-the-early-years">Before V8 shipped: the early years </h2>
<p>Google hired <a href="https://en.wikipedia.org/wiki/Lars_Bak_%28computer_programmer%29">Lars Bak</a> in the autumn of <strong>2006</strong> to build a new JavaScript engine for the Chrome web browser, which at the time was still a secret internal Google project. Lars had recently moved back to Aarhus, Denmark, from Silicon Valley. Since there was no Google office there and Lars wanted to remain in Denmark, Lars and several of the project’s original engineers began working on the project in an outbuilding on his farm. The new JavaScript runtime was christened “V8”, a playful reference to the powerful engine you can find in a classic muscle car. Later, when the V8 team had grown, the developers moved from their modest quarters to a modern office building in Aarhus, but the team took with them their singular drive and focus on building the fastest JavaScript runtime on the planet.</p>
<h2 id="launching-and-evolving-v8">Launching and evolving V8 </h2>
<p>V8 went open-source the same day <a href="https://blog.chromium.org/2008/09/welcome-to-chromium_02.html">Chrome was launched</a>: on September 2nd, <strong>2008</strong>. <a href="https://chromium.googlesource.com/v8/v8/+/43d26ecc3563a46f62a0224030667c8f8f3f6ceb">The initial commit</a> dates back to June 30th, 2008. Prior to that date, V8 development happened in a private CVS repository. Initially, V8 supported only the ia32 and ARM instruction sets and used <a href="https://scons.org/">SCons</a> as its build system.</p>
<p><strong>2009</strong> saw the introduction of a brand new regular expression engine named <a href="https://blog.chromium.org/2009/02/irregexp-google-chromes-new-regexp.html">Irregexp</a>, resulting in performance improvements for real-world regular expressions. With the introduction of an x64 port, the number of supported instruction sets increased from two to three. 2009 also marked <a href="https://github.com/nodejs/node-v0.x-archive/releases/tag/v0.0.1">the first release of the Node.js project</a>, which embeds V8. The possibility for non-browser projects to embed V8 was <a href="https://www.google.com/googlebooks/chrome/big_16.html">explicitly mentioned</a> in the original Chrome comic. With Node.js, it actually happened! Node.js grew to be one of the most popular JavaScript ecosystems.</p>
<p><strong>2010</strong> witnessed a big boost in runtime performance as V8 introduced a brand-new optimizing JIT compiler. <a href="https://blog.chromium.org/2010/12/new-crankshaft-for-v8.html">Crankshaft</a> generated machine code that was twice as fast and 30% smaller than the previous (unnamed) V8 compiler. That same year, V8 added its fourth instruction set: 32-bit MIPS.</p>
<p><strong>2011</strong> came, and garbage collection was vastly improved. <a href="https://blog.chromium.org/2011/11/game-changer-for-interactive.html">A new incremental garbage collector</a> drastically reduced pause times while maintaining great peak performance and low memory usage. V8 introduced the concept of Isolates, which allows embedders to spin up multiple instances of the V8 runtime in a process, paving the way for lighter-weight Web Workers in Chrome. The first of V8’s two build system migrations occurred as we transitioned from SCons to <a href="https://gyp.gsrc.io/">GYP</a>. We implemented support for ES5 strict mode. Meanwhile, development moved from Aarhus to Munich (Germany) under new leadership with lots of cross-pollination from the original team in Aarhus.</p>
<p><strong>2012</strong> was a year of benchmarks for the V8 project. The team did speed sprints to optimize V8’s performance as measured through the <a href="https://webkit.org/perf/sunspider/sunspider.html">Sunspider</a> and <a href="https://krakenbenchmark.mozilla.org/">Kraken</a> benchmark suites. Later, we developed a new benchmark suite named <a href="https://chromium.github.io/octane/">Octane</a> (with <a href="http://www.netchain.com/Tools/v8/">V8 Bench</a> at its core) that brought peak performance competition to the forefront and spurred massive improvements in runtime and JIT technology in all major JS engines. One outcome of these efforts was the switch from randomized sampling to a deterministic, count-based technique for detecting “hot” functions in V8’s runtime profiler. This made it significantly less likely that some page loads (or benchmark runs) would randomly be much slower than others.</p>
<p><strong>2013</strong> witnessed the appearance of a low-level subset of JavaScript named <a href="http://asmjs.org/">asm.js</a>. Since asm.js is limited to statically-typed arithmetic, function calls, and heap accesses with primitive types only, validated asm.js code could run with predictable performance. We released a new version of Octane, <a href="https://blog.chromium.org/2013/11/announcing-octane-20.html">Octane 2.0</a> with updates to existing benchmarks as well as new benchmarks that target use cases like asm.js. Octane spurred the development of new compiler optimizations like <a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42478.pdf">allocation folding</a> and <a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43823.pdf">allocation-site-based optimizations for type transitioning and pretenuring</a> that vastly improved peak performance. As part of an effort we internally nicknamed “Handlepocalypse”, the V8 Handle API was completely rewritten to make it easier to use correctly and safely. Also in 2013, Chrome’s implementation of <code>TypedArray</code>s in JavaScript was <a href="https://codereview.chromium.org/13064003">moved from Blink to V8</a>.</p>
<p>In <strong>2014</strong>, V8 moved some of the work of JIT compilation off the main thread with <a href="https://blog.chromium.org/2014/02/compiling-in-background-for-smoother.html">concurrent compilation</a>, reducing jank and significantly improving performance. Later that year, we <a href="https://github.com/v8/v8/commit/a1383e2250dc5b56b777f2057f1600537f02023e">landed</a> the initial version of a new optimizing compiler named TurboFan. Meanwhile, our partners helped port V8 to three new instruction set architectures: PPC, MIPS64, and ARM64. Following Chromium, V8 transitioned to yet another build system, <a href="https://gn.googlesource.com/gn/#gn">GN</a>. The V8 testing infrastructure saw significant improvements, with a <em>Tryserver</em> now available to test each patch on various build bots before landing. For source control, V8 migrated from SVN to Git.</p>
<p><strong>2015</strong> was a busy year for V8 on a number of fronts. We implemented <a href="https://blog.chromium.org/2015/03/new-javascript-techniques-for-rapid.html">code caching and script streaming</a>, significantly speeding up web page load times. Work on our runtime system’s use of allocation mementos was <a href="https://ai.google/research/pubs/pub43823">published in ISMM 2015</a>. Later that year, we <a href="https://github.com/v8/v8/commit/7877c4e0c77b5c2b97678406eab7e9ad6eba4a4d">kicked off</a> the work on a new interpreter named Ignition. We experimented with the idea of subsetting JavaScript with <a href="https://docs.google.com/document/d/1Qk0qC4s_XNCLemj42FqfsRLp49nDQMZ1y7fwf5YjaI4/view">strong mode</a> to achieve stronger guarantees and more predictable performance. We implemented strong mode behind a flag, but later found its benefits did not justify the costs. The addition of a <a href="https://dev.chromium.org/developers/testing/commit-queue">commit queue</a> made big improvements in productivity and stability. V8’s garbage collector also began cooperating with embedders such as Blink to schedule garbage collection work during idle periods. <a href="https://v8project.blogspot.com/2015/08/getting-garbage-collection-for-free.html">Idle-time garbage collection</a> significantly reduced observable garbage collection jank and memory consumption. In December, <a href="https://github.com/titzer/v8-native-prototype">the first WebAssembly prototype</a> landed in V8.</p>
<p>In <strong>2016</strong>, we shipped the last pieces of the ES2015 (previously known as “ES6”) feature set (including promises, class syntax, lexical scoping, destructuring, and more), as well as some ES2016 features. We also started rolling out the new Ignition and TurboFan pipeline, using it to <a href="https://v8project.blogspot.com/2016/12/v8-release-56.html">compile and optimize ES2015 and ES2016 features</a>, and shipping Ignition by default for <a href="https://v8project.blogspot.com/2016/08/firing-up-ignition-interpreter.html">low-end Android devices</a>. Our successful work on idle-time garbage collection was presented at <a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45361.pdf">PLDI 2016</a>. We kicked off <a href="https://v8project.blogspot.com/2016/04/jank-busters-part-two-orinoco.html">the Orinoco project</a>, a new mostly-parallel and concurrent garbage collector for V8 to reduce main thread garbage collection time. In a major refocus, we shifted our performance efforts away from synthetic micro-benchmarks and instead began to seriously measure and optimize <a href="https://v8project.blogspot.com/2016/12/how-v8-measures-real-world-performance.html">real-world performance</a>. For debugging, the V8 inspector was <a href="https://v8project.blogspot.com/2016/10/v8-release-55.html">migrated</a> from Chromium to V8, allowing any V8 embedder (and not just Chromium) to use the Chrome DevTools to debug JavaScript running in V8. The WebAssembly prototype graduated from prototype to experimental support, in coordination with other browser vendors <a href="https://v8project.blogspot.com/2016/03/experimental-support-for-webassembly.html">experimental support for WebAssembly</a>. V8 received <a href="http://www.sigplan.org/Awards/Software/">the ACM SIGPLAN Programming Languages Software Award</a>. And another port was added: S390.</p>
<p>In <strong>2017</strong>, we finally completed our multi-year overhaul of the engine, enabling the new <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">Ignition and TurboFan</a> pipeline by default. This made it possible to later remove Crankshaft (<a href="https://chromium-review.googlesource.com/c/v8/v8/+/547717">130,380 deleted lines of code</a>) and <a href="https://chromium-review.googlesource.com/c/v8/v8/+/584773">Full-codegen</a> from the codebase. We launched Orinoco v1.0, including <a href="https://v8project.blogspot.com/2018/06/concurrent-marking.html">concurrent marking</a>, concurrent sweeping, parallel scavenging, and parallel compaction. We officially recognized Node.js as a first-class V8 embedder alongside Chromium. Since then, it’s impossible for a V8 patch to land if doing so breaks the Node.js test suite. Our infrastructure gained support for correctness fuzzing, ensuring that any piece of code produces consistent results regardless of the configuration it runs in.</p>
<p>In an industry-wide coordinated launch, V8 <a href="https://v8project.blogspot.com/2017/02/v8-release-57.html">shipped WebAssembly on-by-default</a>. We implemented support for <a href="https://developers.google.com/web/fundamentals/primers/modules">JavaScript modules</a> as well as the full ES2017 and ES2018 feature sets (including async functions, shared memory, async iteration, rest/spread properties, and RegExp features). We shipped <a href="https://v8project.blogspot.com/2017/12/javascript-code-coverage.html">native support for JavaScript code coverage</a>, and launched the <a href="https://v8project.blogspot.com/2017/11/web-tooling-benchmark.html">Web Tooling Benchmark</a> to help us measure how V8’s optimizations impact performance for real-world developer tools and the JavaScript output they generate. <a href="https://v8project.blogspot.com/2018/03/tracing-js-dom.html">Wrapper tracing</a> from JavaScript objects to C++ DOM objects and back allowed us to resolve long-standing memory leaks in Chrome and to handle the transitive closure of objects over the JavaScript and Blink heap efficiently. We later used this infrastructure to increase the capabilities of the heap snapshotting developer tool.</p>
<p><strong>2018</strong> saw an industry-wide security event upend what we thought we knew about CPU information security with the public disclosure of <a href="https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html">the Spectre/Meltdown vulnerabilities</a>. V8 engineers performed extensive offensive research to help understand the threat for managed languages and develop mitigations. V8 shipped <a href="https://github.com/v8/v8/wiki/Untrusted-code-mitigations">mitigations</a> against Spectre and similar side-channel attacks for embedders that run untrusted code.</p>
<p>Recently, we shipped a baseline compiler for WebAssembly named <a href="https://v8project.blogspot.com/2018/08/liftoff.html">Liftoff</a> which greatly reduces startup time for WebAssembly applications while still achieving predictable performance. We shipped <a href="https://v8project.blogspot.com/2018/05/bigint.html"><code>BigInt</code></a>, a new JavaScript primitive that enables <a href="https://developers.google.com/web/updates/2018/05/bigint">arbitrary-precision integers</a>. We implemented <a href="https://v8project.blogspot.com/2018/08/embedded-builtins.html">embedded builtins</a>, and made it possible to <a href="https://v8project.blogspot.com/2018/02/lazy-deserialization.html">lazily deserialize them</a>, significantly reducing V8’s footprint for multiple Isolates. We made it possible to <a href="https://v8project.blogspot.com/2018/03/background-compilation.html">compile script bytecode on a background thread</a>. We started <a href="https://docs.google.com/presentation/d/12ZkJ0BZ35fKXtpM342PmKM5ZSxPt03_wsRgbsJYl3Pc">the Unified V8-Blink Heap project</a> to run a cross-component V8 and Blink garbage collection in sync. And the year’s not over yet…</p>
<h2 id="performance-ups-and-downs">Performance ups and downs </h2>
<p>Chrome’s V8 Bench score over the years shows the performance impact of V8’s changes. (We’re using the V8 Bench because it’s one of the few benchmarks that can still run in the original Chrome beta.)</p>
<figure><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik9WccjKBmXnbhyphenhyphen7M0TrSia_eaaPOXolb83WKdGliRcTWs72sz-Y_M0GTyRdYoiZZRNs2Obgt-tKFjH7V7nZFVfx8vwJwcSMutvf_W97R0oGjlfosYqHCObGDtXS71LExnKGJRDzXkF56b/s1600/v8-bench%25402x.png">
<figcaption>Chrome’s <a href="http://www.netchain.com/Tools/v8/">V8 Bench</a> score from 2008 to 2018</figcaption>
</figure>
<p>Our score on this benchmark went up <strong>4×</strong> over the last ten years!</p>
<p>However, you might notice two performance dips over the years. Both are interesting because they correspond to significant events in V8’s history. The performance drop in 2015 happened when V8 shipped baseline versions of ES2015 features. These features were cross-cutting in the V8 code base, and we therefore focused on correctness rather than performance for their initial release. We accepted these slight speed regressions to get features to developers as quickly as possible. In early 2018, the Spectre vulnerability was disclosed, and V8 shipped mitigations to protect users against potential exploits, resulting in another regression in performance. Luckily, now that Chrome is shipping <a href="https://developers.google.com/web/updates/2018/07/site-isolation">Site Isolation</a>, we can disable the mitigations again, bringing performance back on par.</p>
<p>Another take-away from this chart is that it starts to level off around 2013. Does that mean V8 gave up and stopped investing in performance? Quite the opposite! The flattening of the graphs represents the V8 team’s pivot from synthetic micro-benchmarks (such as V8 Bench and Octane) to optimizing for <a href="https://v8project.blogspot.com/2016/12/how-v8-measures-real-world-performance.html">real-world performance</a>. V8 Bench is an old benchmark that doesn’t use any modern JavaScript features, nor does it approximate actual real-world production code. Contrast this with the more recent Speedometer benchmark suite:</p>
<figure><img alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4nyALw23u6uN6Ad978ndjwyb5DGbZF89BC7LofznT9VZIlUpmsgRa_cjyTagQfFpfIvvTsGBvcKmnpgJw2k7HRURpqKXBWmWZvmDrCKY5qGs-5KSvfO6EMCdg6hikYfoqHTx42WIry7MR/s1600/speedometer-1%25402x.png">
<figcaption>Chrome’s <a href="https://browserbench.org/Speedometer/">Speedometer 1</a> score from 2013 to 2018</figcaption>
</figure>
<p>Although V8 Bench shows minimal improvements from 2013 to 2018, our Speedometer 1 score went up (another) <strong>4×</strong> during this same time period. (We used Speedometer 1 because Speedometer 2 uses modern JavaScript features that weren’t yet supported in 2013.)</p>
<p>Nowadays, we have <a href="https://v8project.blogspot.com/2018/01/speedometer-2.html">even better</a> <a href="https://v8project.blogspot.com/2017/11/web-tooling-benchmark.html">benchmarks</a> that more accurately reflect modern JavaScript apps, and on top of that, we <a href="https://www.youtube.com/watch?v=xCx4uC7mn6Y">actively measure and optimize for existing web apps</a>.</p>
<h2 id="summary">Summary </h2>
<p>Although V8 was originally built for Google Chrome, it has always been a stand-alone project with a separate codebase and an embedding API that allows any program to use its JavaScript execution services. Over the last 10 years, the open nature of the project has helped it become a key technology not only for the Web Platform, but in other contexts, like Node.js. Along the way the project evolved and remain relevant despite many changes and dramatic growth.</p>
<p>Initially, V8 supported only two instruction sets. In the last 10 years the list of supported platforms reached eight: ia32, x64, ARM, ARM64, 32- and 64-bit MIPS, 64-bit PPC, and S390. V8’s build system migrated from SCons to GYP to GN. The project moved from Denmark to Germany, and now has engineers all over the world, including in London, Mountain View, and San Francisco, with contributors outside of Google from many more places. We’ve transformed our entire JavaScript compilation pipeline from unnamed components to Full-codegen (a baseline compiler) and Crankshaft (an feedback-driven optimizing compiler) to Ignition (an interpreter) and TurboFan (a better feedback-driven optimizing compiler). V8 went from being “just” a JavaScript engine to also supporting WebAssembly. The JavaScript language itself evolved from ECMAScript 3 to ES2018; the latest V8 even implements post-ES2018 features.</p>
<p>The story arc of Web is a long and enduring one. Celebrating Chrome and V8’s 10th birthday is a good opportunity to reflect that even though this is a big milestone, the Web Platform’s narrative has lasted for more than 25 years. We have no doubt the Web’s story will continue for at least that long in the future. We’re committed to making sure that V8, JavaScript, and WebAssembly continue to be interesting characters in that narrative. We’re excited to see what the next decade has in store. Stay tuned!</p>Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com1tag:blogger.com,1999:blog-2683431904392903776.post-81976973161565509072018-08-20T06:45:00.000-07:002018-08-20T06:45:07.289-07:00Liftoff: a new baseline compiler for WebAssembly in V8<style>img{max-width:100%;}</style>
<p>V8 <a href="https://v8project.blogspot.com/2018/08/v8-release-69.html">v6.9</a> includes Liftoff, a new baseline compiler for WebAssembly. Liftoff is now enabled by default on desktop systems. This article details the motivation to add another compilation tier and describes the implementation and performance of Liftoff.</p>
<p>Since WebAssembly <a href="https://v8project.blogspot.com/2017/02/v8-release-57.html">launched</a> more than a year ago, adoption on the web has been steadily increasing. Big applications targeting WebAssembly have started to appear. For example, Epic’s <a href="https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html">ZenGarden benchmark</a> comprises a 39.5 MB WebAssembly binary, and <a href="https://web.autocad.com/">AutoDesk</a> ships as a 36.8 MB binary. Since compilation time is essentially linear in the binary size, these applications take a considerable time to start up. On many machines it’s more than 30 seconds, which does not provide a great user experience.</p>
<p>But why does it take this long to start up a WebAssembly app, if similar JS apps start up much faster? The reason is that WebAssembly promises to deliver <em>predictable performance</em>, so once the app is running, you can be sure to consistently meet your performance goals (e.g. rendering 60 frames per second, no audio lag or artifacts…). In order to achieve this, WebAssembly code is compiled <em>ahead of time</em> in V8, to avoid any compilation pause introduced by a just-in-time compiler that could result in visible jank in the app.</p>
<h2>The existing compilation pipeline (TurboFan)</h2>
<p>V8’s approach to compiling WebAssembly has relied on <em>TurboFan</em>, the optimizing compiler we designed for JavaScript and asm.js. TurboFan is a powerful compiler with a graph-based <em>intermediate representation (IR)</em> suitable for advanced optimizations such as strength reduction, inlining, code motion, instruction combining, and sophisticated register allocation. TurboFan’s design supports entering the pipeline very late, nearer to machine code, which bypasses many of the stages necessary for supporting JavaScript compilation. By design, transforming WebAssembly code into TurboFan’s IR (including <a href="https://en.wikipedia.org/wiki/Static_single_assignment_form"><em>SSA-construction</em></a>) in a straightforward single pass is very efficient, partially due to WebAssembly’s structured control flow. Yet the backend of the compilation process still consumes considerable time and memory.</p>
<h2>The new compilation pipeline (Liftoff)</h2>
<p>The goal of Liftoff is to reduce startup time for WebAssembly-based apps by generating code as fast as possible. Code quality is secondary, as hot code will eventually be recompiled with Turbofan anyway.. Liftoff avoids the time and memory overhead of constructing an IR and generates machine code in a single pass over the bytecode of a WebAssembly function.</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHdpZHRoPSI3MDEuMDA4IiBoZWlnaHQ9IjQ2OS45OTIiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0iTTAgMGg5NjB2NzIwSDB6Ii8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjYSkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDYuNSAtNTcuNSkiPjxwYXRoIGQ9Ik01OTUgNjFoMjA5LjAwOHYyNjRINTk1eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik01OTUgNjFoMjA5LjAwOHYyNjRINTk1eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMTAgNjFoNDM4Ljk5MnY0NjIuOTkySDExMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTEwIDYxaDQzOC45OTJ2NDYyLjk5MkgxMTB6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTExNyAxNTUuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTExNyAxNTUuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xNTQuODM4IDE3NS40MTZ2LTEzLjM2aDkuMDE1djEuNTc5aC03LjI1djQuMTRoNi4yNjZ2MS41NzloLTYuMjY2djYuMDYyem0xNy40MjcgMHYtMS40MjJxLTEuMTI1IDEuNjQtMy4wNjMgMS42NC0uODYgMC0xLjYxLS4zMjctLjczNC0uMzI4LTEuMDkzLS44MjgtLjM2LS41LS41LTEuMjItLjExLS40NjgtLjExLTEuNTN2LTUuOTg1aDEuNjQxdjUuMzZxMCAxLjI4LjExIDEuNzM0LjE1Ni42NC42NTYgMS4wMTYuNS4zNzUgMS4yMzQuMzc1LjczNSAwIDEuMzc1LS4zNzUuNjU3LS4zOTEuOTIyLTEuMDMyLjI2Ni0uNjU2LjI2Ni0xLjg5di01LjE4OGgxLjY0djkuNjcyem00LjA0NyAwdi05LjY3MmgxLjQ3djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc3LTEuNTk0Ljg3NSAwIDEuNjEuMzEzLjczNC4zMTIgMS4wOTMuODI4LjM3NS41LjUxNiAxLjIwMy4wOTQuNDUzLjA5NCAxLjU5NHY1Ljk1M2gtMS42NDF2LTUuODlxMC0xLS4yMDMtMS40ODUtLjE4OC0uNS0uNjcyLS43OTctLjQ4NC0uMjk3LTEuMTQtLjI5Ny0xLjA0NyAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXptMTYuNjg5LTMuNTQ3bDEuNjA5LjIxOXEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcxLjkzNy0xLjk4NSAwLTMuMTg4LTEuMjk3dC0xLjIwMy0zLjcxOXEwLTEuNTc4LjUxNi0yLjc1LjUxNS0xLjE3MiAxLjU3OC0xLjc1IDEuMDYyLS41OTQgMi4zMTItLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODIgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY4LS44MTMtMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4MS44OTEtLjc4MSAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTY5IDAgMS42MS0uNTk0LjY1Ni0uNTkzLjgyOC0xLjgyOHptNi41OTMgMi4wNzhsLjIzNSAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODEtLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwNC4xMS41NzkuMTEuMjY1IDAgLjcxOC0uMDYzem0xLjYwNS0xMHYtMS44OWgxLjY0MXYxLjg5em0wIDExLjQ3di05LjY3M2gxLjY0MXY5LjY3MnptMy41MzYtNC44NDVxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NiAxLjMxMyAxLjI2NSAxLjI5NyAxLjI2NSAzLjYxIDAgMS44NTktLjU2MiAyLjkzNy0uNTYzIDEuMDYyLTEuNjQgMS42NTYtMS4wNjMuNTk0LTIuMzI5LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMy45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzEtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEzLTIuNzE4LS44MTItLjkyMi0yLjAzLS45MjItMS4yMzUgMC0yLjA0OC45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptOS4yOTggNC44NDR2LTkuNjcyaDEuNDY5djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc4LTEuNTk0Ljg3NSAwIDEuNjEuMzEzLjczNC4zMTIgMS4wOTMuODI4LjM3NS41LjUxNiAxLjIwMy4wOTMuNDUzLjA5MyAxLjU5NHY1Ljk1M2gtMS42NHYtNS44OXEwLTEtLjIwMy0xLjQ4NS0uMTg4LS41LS42NzItLjc5Ny0uNDg1LS4yOTctMS4xNC0uMjk3LTEuMDQ4IDAtMS44MTMuNjcyLS43NS42NTYtLjc1IDIuNTE2djUuMjgxem0xNS42ODQgMHYtMTMuMzZoNS4wMTZxMS41MyAwIDIuNDUzLjQwNy45MjIuNDA2IDEuNDM3IDEuMjUuNTMyLjg0NC41MzIgMS43NjYgMCAuODU5LS40NyAxLjYyNS0uNDUyLjc1LTEuMzkgMS4yMDMgMS4yMDMuMzYgMS44NiAxLjIxOC42NTYuODYuNjU2IDIuMDE2IDAgLjkzOC0uNDA2IDEuNzUtLjM5MS43OTctLjk4NSAxLjIzNC0uNTc4LjQzOC0xLjQ1My42NzItLjg3NS4yMi0yLjE1Ni4yMnptMS43ODEtNy43NWgyLjg3NXExLjE4OCAwIDEuNjg4LS4xNC42NzItLjIwNCAxLjAxNS0uNjcyLjM0NC0uNDcuMzQ0LTEuMTcyIDAtLjY1Ny0uMzI4LTEuMTU3LS4zMTItLjUxNS0uOTA2LS43MDMtLjU5NC0uMTg3LTIuMDMxLS4xODdoLTIuNjU3em0wIDYuMTcyaDMuMzEzcS44NiAwIDEuMjAzLS4wNjMuNjEtLjEwOSAxLjAxNi0uMzU5LjQyMS0uMjY2LjY4Ny0uNzUuMjY2LS40ODQuMjY2LTEuMTI1IDAtLjc1LS4zOTEtMS4yOTctLjM3NS0uNTQ3LTEuMDYyLS43NjUtLjY3Mi0uMjM1LTEuOTU0LS4yMzVoLTMuMDc4em05LjkyOC0zLjI2NnEwLTIuNjg3IDEuNDg1LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDYtMS4wNzkgMiAwIDMuMjY2IDEuMzEzIDEuMjY2IDEuMjk3IDEuMjY2IDMuNjEgMCAxLjg1OS0uNTYzIDIuOTM3LS41NjIgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjkuNTk0LTIuMDMgMC0zLjI4LTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODggMHEwIDEuODYuNzk3IDIuNzk3LjgxMi45MjIgMi4wNDYuOTIyIDEuMjIgMCAyLjAzMi0uOTIyLjgxMi0uOTM3LjgxMi0yLjg0NCAwLTEuNzk2LS44MTItMi43MTgtLjgxMy0uOTIyLTIuMDMyLS45MjItMS4yMzQgMC0yLjA0Ni45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptMTUuNTYzIDQuODQ0di0xLjIxOXEtLjkwNiAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NiAwLTIuMTI1LS42NC0uOTY5LS42NDEtMS41LTEuNzgyLS41MzEtMS4xNC0uNTMxLTIuNjI1IDAtMS40NTMuNDg0LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45Ny0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4OC4zNiAxLjExLjk1NHYtNC43OTdoMS42NHYxMy4zNnptLTUuMTcyLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgyLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4NyAwLTEuOTg1LS43NjUtMi45MDctLjc2Ni0uOTM3LTEuODkxLS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5MS0uNzM0IDIuODEzem05LjIwNCA4LjU0N2wtLjE4OC0xLjUzMXEuNTQ3LjE0LjkzOC4xNC41NDcgMCAuODc1LS4xODcuMzI4LS4xNzIuNTQ3LS41LjE1Ni0uMjUuNS0xLjIyLjA0Ny0uMTQuMTQtLjQwNWwtMy42NzEtOS42ODhoMS43NjVsMi4wMTYgNS41OTRxLjM5IDEuMDc4LjcwMyAyLjI1LjI4MS0xLjEyNS42NzItMi4yMDNsMi4wNzgtNS42NGgxLjY0bC0zLjY4NyA5LjgyN3EtLjU5NCAxLjYxLS45MjIgMi4yMDMtLjQzNy44MTMtMSAxLjE4OC0uNTYyLjM3NS0xLjM0NC4zNzUtLjQ4NCAwLTEuMDYyLS4yMDN6TTE3OS4xMTYgMTk3LjQxNnYtMTMuMzZoNC42MXExLjU0NiAwIDIuMzc1LjIwNCAxLjE0LjI1IDEuOTUzLjk1MyAxLjA2Mi44OSAxLjU3OCAyLjI4MS41MzEgMS4zOS41MzEgMy4xNzIgMCAxLjUxNi0uMzYgMi43MDMtLjM1OSAxLjE3Mi0uOTIxIDEuOTM4LS41NDcuNzY1LTEuMjAzIDEuMjE4LS42NTcuNDM4LTEuNTk0LjY3Mi0uOTM4LjIyLTIuMTQuMjJ6bTEuNzY2LTEuNTc4aDIuODZxMS4zMTIgMCAyLjA2Mi0uMjM0Ljc1LS4yNSAxLjIwMy0uNzA0LjYyNS0uNjI1Ljk2OS0xLjY4Ny4zNTktMS4wNjMuMzU5LTIuNTc4IDAtMi4wOTQtLjY4OC0zLjIxOS0uNjg3LTEuMTI1LTEuNjcxLTEuNS0uNzA0LS4yODEtMi4yODItLjI4MWgtMi44MTJ6bTE4LjEyOS0xLjUzMWwxLjY4OC4yMDNxLS40MDcgMS40ODQtMS40ODUgMi4zMTItMS4wNzguODEzLTIuNzY1LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ2LS40NjkuNjQxLS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY1Ljc1LS44NDQgMi4wMTV6bTE1LjQ1MyAyLjIybDEuNjEuMjE4cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzIuOTM3LTEuOTg0IDAtMy4xODctMS4yOTctMS4yMDMtMS4yOTctMS4yMDMtMy43MTkgMC0xLjU3OC41MTUtMi43NS41MTYtMS4xNzIgMS41NzgtMS43NSAxLjA2My0uNTk0IDIuMzEzLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgxIDIuMjY2bC0xLjU5My4yMzRxLS4yMzUtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OCAwIDEuNjEtLjU5NC42NTUtLjU5My44MjctMS44Mjh6bTIuNDA2LTEuMjk4cTAtMi42ODcgMS40ODUtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjUgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOC41OTQtMi4wMzIgMC0zLjI4Mi0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg4IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTIuOTIyIDIuMDQ3LjkyMiAxLjIxOCAwIDIuMDMxLS45MjIuODEyLS45MzcuODEyLTIuODQ0IDAtMS43OTYtLjgxMi0yLjcxOC0uODEzLS45MjItMi4wMzEtLjkyMi0xLjIzNSAwLTIuMDQ3LjkyMi0uNzk3LjkwNi0uNzk3IDIuNzY1em0xNS41NjMgNC44NDR2LTEuMjE5cS0uOTA2IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU2IDAtMi4xMjUtLjY0LS45NjktLjY0MS0xLjUtMS43ODItLjUzMS0xLjE0LS41MzEtMi42MjUgMC0xLjQ1My40ODQtMi42MjUuNDg1LTEuMTg4IDEuNDM4LTEuODEzLjk2OC0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDYuMzc1LjY4OC4zNiAxLjExLjk1NHYtNC43OTdoMS42NHYxMy4zNnptLTUuMTcyLTQuODI4cTAgMS44Ni43ODIgMi43ODEuNzguOTIyIDEuODQzLjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg3IDAtMS45ODUtLjc2NS0yLjkwNy0uNzY2LS45MzctMS44OS0uOTM3LTEuMDc5IDAtMS44MTMuODktLjczNS44OTEtLjczNSAyLjgxM3ptMTUuOTA3IDEuNzE5bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NSAyLjMxMi0xLjA3OC44MTMtMi43NjUuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzUtMS4zMTMtMS4yMzUtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM4IDAgMy4xNTYgMS4zMjkgMS4yMzUgMS4zMTIgMS4yMzUgMy43MDN2LjQzN2gtNy4yMnEuMDk1IDEuNTk0LjkwNyAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA3Ljc2Ni0uNzY1Ljc1LS44NDMgMi4wMTV6bTkuMTI1IDUuNzY2di05LjY3MmgxLjQ3djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODcuNTMybC0uNTYyIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIyLjMyNy0uNjEuODktLjI4Ljg3NS0uMjggMS45MjJ2NS4wNjJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTExNyAyNTYuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTExNyAyNTYuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMzkuNzQxIDI3MS4xODJ2LTEuNTc4aDUuNjU3djQuOTUzcS0xLjI5NyAxLjA0Ny0yLjY4OCAxLjU3OC0xLjM3NS41MTUtMi44NDQuNTE1LTEuOTY4IDAtMy41NzgtLjg0My0xLjYxLS44NDQtMi40MjItMi40MzgtLjgxMi0xLjU5NC0uODEyLTMuNTYyIDAtMS45NTMuODEyLTMuNjQuODEzLTEuNjg4IDIuMzQ0LTIuNSAxLjUzMS0uODI5IDMuNTE2LS44MjkgMS40NTMgMCAyLjYyNS40NjkgMS4xNzIuNDY4IDEuODI4IDEuMzEyLjY3Mi44MjggMS4wMTUgMi4xNzJsLTEuNTkzLjQzOHEtLjI5Ny0xLjAxNi0uNzUtMS41OTQtLjQzOC0uNTk0LTEuMjY2LS45MzgtLjgyOC0uMzQzLTEuODQ0LS4zNDMtMS4yMDMgMC0yLjA5My4zNzUtLjg5MS4zNTktMS40MzguOTY4LS41MzEuNTk0LS44MjggMS4zMTMtLjUxNiAxLjIzNC0uNTE2IDIuNjg3IDAgMS43ODIuNjEgMi45ODUuNjI1IDEuMjAzIDEuNzk3IDEuNzk3IDEuMTcxLjU3OCAyLjUuNTc4IDEuMTQgMCAyLjIzNC0uNDM4IDEuMDk0LS40NTMgMS42NTYtLjk1M3YtMi40ODR6bTguMDQzIDUuMjM0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMxLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjkgMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MDktLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OC4zMy0uNDIyLjMyNy0uNjEuODktLjI4MS44NzUtLjI4MSAxLjkyMnY1LjA2MnptMTIuNTQtMS4xODdxLS45MjEuNzY1LTEuNzY1IDEuMDkzLS44MjguMzEzLTEuNzk3LjMxMy0xLjU5MyAwLTIuNDUzLS43ODEtLjg2LS43ODItLjg2LTEuOTg1IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTMuODQ0LS45MzcuNTMtLjM2IDEuMTg3LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ2OS0xLjQyMi0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYwOS0uMjE5cS4yMTktMS4wMTUuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMS4wNzguNDIxLjA3OCAxLjUxNXYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTEuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIyLjM0NC0uMjIuNzgxIDAgLjY1Ny41IDEuMDk0LjUuNDM4IDEuNDU0LjQzOC45MzcgMCAxLjY3Mi0uNDA3Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NHptNC4yMDQgOC41NjJ2LTEzLjM3NWgxLjQ4NHYxLjI1cS41MzItLjczNCAxLjE4OC0xLjA5NC42NzItLjM3NSAxLjYyNS0uMzc1IDEuMjM0IDAgMi4xNzIuNjQxLjk1My42MjUgMS40MzcgMS43OTcuNDg1IDEuMTU2LjQ4NSAyLjU0NyAwIDEuNDg0LS41MzIgMi42NzItLjUzIDEuMTg3LTEuNTQ3IDEuODI4LTEuMDE1LjYyNS0yLjE0LjYyNS0uODEzIDAtMS40NjktLjM0NC0uNjU2LS4zNDQtMS4wNjItLjg3NXY0LjcwM3ptMS40ODQtOC40ODRxMCAxLjg2Ljc1IDIuNzY1Ljc2Ni44OTEgMS44MjguODkxIDEuMDk0IDAgMS44NzUtLjkyMi43ODItLjkzNy43ODItMi44NzUgMC0xLjg0NC0uNzY2LTIuNzY1LS43NS0uOTIyLTEuODEyLS45MjItMS4wNDcgMC0xLjg2Ljk4NC0uNzk3Ljk2OS0uNzk3IDIuODQ0em04Ljg5MiA0Ljc4MXYtMTMuMzZoMS42NHY0Ljc5OHExLjE0MS0xLjMyOSAyLjg5MS0xLjMyOSAxLjA3OCAwIDEuODYuNDIyLjc5Ni40MjIgMS4xNCAxLjE3Mi4zNDQuNzUuMzQ0IDIuMTcydjYuMTI1aC0xLjY0di02LjEyNXEwLTEuMjM0LS41MzItMS43OTctLjUzMS0uNTYyLTEuNTE2LS41NjItLjcxOSAwLTEuMzYuMzktLjY0LjM3NS0uOTIxIDEuMDE2LS4yNjYuNjQtLjI2NiAxLjc4MXY1LjI5N3ptMjUuMjkzLTQuNjg3bDEuNzY2LjQ1M3EtLjU2MyAyLjE3Mi0yIDMuMzI4LTEuNDM4IDEuMTQtMy41MzIgMS4xNC0yLjE1NiAwLTMuNTE1LS44NzUtMS4zNDQtLjg5LTIuMDYzLTIuNTQ2LS43MDMtMS42NzItLjcwMy0zLjU5NCAwLTIuMDc4Ljc5Ny0zLjYyNS43OTctMS41NjMgMi4yNjYtMi4zNiAxLjQ4NC0uODEyIDMuMjUtLjgxMiAyIDAgMy4zNiAxLjAxNiAxLjM3NCAxLjAxNSAxLjkwNSAyLjg3NWwtMS43MzQuNDA2cS0uNDY5LTEuNDUzLTEuMzYtMi4xMS0uODc0LS42NzEtMi4yMDMtLjY3MS0xLjU0NiAwLTIuNTc4LjczNC0xLjAzLjczNC0xLjQ1MyAxLjk4NC0uNDIyIDEuMjM1LS40MjIgMi41NjMgMCAxLjcwMy41IDIuOTY5LjUgMS4yNjUgMS41NDcgMS45MDYgMS4wNDcuNjI1IDIuMjY2LjYyNSAxLjQ4NCAwIDIuNTE1LS44NiAxLjAzMi0uODU5IDEuMzkxLTIuNTQ2em0zLjEzLS4xNTdxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NSAxLjMxMyAxLjI2NiAxLjI5NyAxLjI2NiAzLjYxIDAgMS44NTktLjU2MyAyLjkzNy0uNTYyIDEuMDYyLTEuNjQgMS42NTYtMS4wNjMuNTk0LTIuMzI4LjU5NC0yLjAzMiAwLTMuMjgyLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMi45MjIgMi4wNDcuOTIyIDEuMjE4IDAgMi4wMy0uOTIyLjgxMy0uOTM3LjgxMy0yLjg0NCAwLTEuNzk2LS44MTItMi43MTgtLjgxMy0uOTIyLTIuMDMxLS45MjItMS4yMzUgMC0yLjA0Ny45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptOS4yOTcgNC44NDR2LTkuNjcyaDEuNDd2MS4zNzVxMS4wNjItMS41OTQgMy4wNzctMS41OTQuODc1IDAgMS42MS4zMTMuNzM0LjMxMiAxLjA5My44MjguMzc1LjUuNTE2IDEuMjAzLjA5NC40NTMuMDk0IDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjA0LTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTkuNzItMi44OWwxLjYyNS0uMjVxLjEyNS45NjguNzUgMS41LjYyNS41MTUgMS43NS41MTV0MS42NzItLjQ1M3EuNTQ3LS40NjkuNTQ3LTEuMDk0IDAtLjU0Ny0uNDg1LS44NzUtLjMyOC0uMjE5LTEuNjcyLS41NDctMS44MTItLjQ2OC0yLjUxNS0uNzk3LS42ODgtLjMyOC0xLjA0Ny0uOTA2LS4zNi0uNTk0LS4zNi0xLjMxMiAwLS42NC4yOTctMS4xODguMjk3LS41NjIuODEzLS45MjIuMzc1LS4yOCAxLjAzMS0uNDY4LjY3Mi0uMjA0IDEuNDIyLS4yMDQgMS4xNCAwIDIgLjMyOS44Ni4zMjggMS4yNjYuODkuNDIxLjU2My41NzggMS41bC0xLjYxLjIxOXEtLjEwOS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ2OS0uNDIyLTEuMTQgMC0xLjYyNS4zNzUtLjQ2OS4zNzUtLjQ2OS44NzUgMCAuMzEzLjE4OC41NzguMjAzLjI2Ni42NC40MzguMjM1LjA5NCAxLjQzOC40MjIgMS43NS40NTMgMi40MzcuNzUuNjg4LjI5NyAxLjA3OC44Ni4zOTEuNTYyLjM5MSAxLjQwNSAwIC44MjgtLjQ4NCAxLjU0Ny0uNDY5LjcxOS0xLjM3NSAxLjEyNS0uOTA3LjM5LTIuMDQ3LjM5LTEuODc1IDAtMi44NzUtLjc4LS45ODUtLjc4Mi0xLjI1LTIuMzI5em0xMy41NjIgMS40MjFsLjIzNSAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODEtLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwNC4xMS41NzkuMTEuMjY1IDAgLjcxOC0uMDYzem0xLjU5IDEuNDd2LTkuNjczaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI5IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjA5LS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjguMzMtLjQyMi4zMjctLjYxLjg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjU1NiAwdi0xLjQyM3EtMS4xMjUgMS42NC0zLjA2MiAxLjY0LS44NiAwLTEuNjEtLjMyNy0uNzM0LS4zMjgtMS4wOTMtLjgyOC0uMzYtLjUtLjUtMS4yMi0uMTEtLjQ2OC0uMTEtMS41M3YtNS45ODVoMS42NDF2NS4zNnEwIDEuMjguMTEgMS43MzQuMTU2LjY0LjY1NiAxLjAxNi41LjM3NSAxLjIzNC4zNzV0MS4zNzUtLjM3NXEuNjU2LS4zOTEuOTIyLTEuMDMyLjI2NS0uNjU2LjI2NS0xLjg5di01LjE4OGgxLjY0MXY5LjY3MnptMTAuMzYtMy41NDhsMS42MS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3MS45MzctMS45ODUgMC0zLjE4OC0xLjI5N3QtMS4yMDMtMy43MTlxMC0xLjU3OC41MTYtMi43NS41MTUtMS4xNzIgMS41NzgtMS43NSAxLjA2Mi0uNTk0IDIuMzEyLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgyIDIuMjY2bC0xLjU5NC4yMzRxLS4yMzUtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjctMS44Mjh6bTYuNTk0IDIuMDc4bC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgxLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43Mi0uMDYzem0xLjYwNS0xMHYtMS44OWgxLjY0MXYxLjg5em0wIDExLjQ3di05LjY3M2gxLjY0MXY5LjY3MnptMy41MzYtNC44NDVxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NiAxLjMxMyAxLjI2NSAxLjI5NyAxLjI2NSAzLjYxIDAgMS44NTktLjU2MiAyLjkzNy0uNTYzIDEuMDYyLTEuNjQgMS42NTYtMS4wNjMuNTk0LTIuMzI5LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMy45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzEtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEzLTIuNzE4LS44MTItLjkyMi0yLjAzMS0uOTIyLTEuMjM0IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTkuMjk4IDQuODQ0di05LjY3MmgxLjQ2OXYxLjM3NXExLjA2Mi0xLjU5NCAzLjA3OC0xLjU5NC44NzUgMCAxLjYxLjMxMy43MzQuMzEyIDEuMDkzLjgyOC4zNzUuNS41MTYgMS4yMDMuMDkzLjQ1My4wOTMgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDQtMS40ODUtLjE4Ny0uNS0uNjcxLS43OTctLjQ4NS0uMjk3LTEuMTQxLS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6TTE5Mi40MTggMzAyLjMzOHEtMS4zNTktMS43MDMtMi4yOTctNC0uOTM3LTIuMjk3LS45MzctNC43NjYgMC0yLjE1Ni43MDMtNC4xNC44MjgtMi4zMTMgMi41MzEtNC41OTRoMS4xNzJxLTEuMDk0IDEuODktMS40NTMgMi43MDMtLjU0NyAxLjI1LS44NzUgMi42MjUtLjM5IDEuNzAzLS4zOSAzLjQyMiAwIDQuMzc1IDIuNzE4IDguNzV6bTIuNjk3LTguMjE5bDEuNjU3LS4xNHEuMTI1IDEgLjU0NyAxLjY0LjQzNy42NCAxLjM0MyAxLjA0Ny45MjIuMzkgMi4wNjMuMzkgMSAwIDEuNzgxLS4yOTYuNzgxLS4yOTcgMS4xNTYtLjgxMy4zNzUtLjUzLjM3NS0xLjE1NiAwLS42MjUtLjM3NS0xLjA5NC0uMzYtLjQ2OC0xLjE4Ny0uNzk3LS41NDctLjIwMy0yLjM5LS42NC0xLjgyOS0uNDUzLTIuNTYzLS44NDQtLjk3LS41LTEuNDM4LTEuMjM0LS40NjktLjc1LS40NjktMS42NzIgMC0xIC41NzktMS44NzUuNTc4LS44OSAxLjY3MS0xLjM0NCAxLjExLS40NTMgMi40NTQtLjQ1MyAxLjQ4NCAwIDIuNjA5LjQ4NCAxLjE0LjQ3IDEuNzUgMS40MDcuNjEuOTIxLjY1NiAyLjA5M2wtMS42ODcuMTI1cS0uMTQxLTEuMjY1LS45MzgtMS45MDYtLjc4MS0uNjU2LTIuMzEyLS42NTYtMS42MSAwLTIuMzQ0LjU5NC0uNzM0LjU5My0uNzM0IDEuNDIxIDAgLjcyLjUzIDEuMTcyLjUuNDcgMi42NTcuOTcgMi4xNTYuNDgzIDIuOTUzLjg0MyAxLjE3Mi41MzEgMS43MTkgMS4zNi41NjIuODI3LjU2MiAxLjkwNSAwIDEuMDYzLS42MDkgMi4wMTYtLjYxLjkzOC0xLjc1IDEuNDY5LTEuMTQuNTE1LTIuNTc4LjUxNS0xLjgxMyAwLTMuMDQ3LS41My0xLjIxOS0uNTMyLTEuOTIyLTEuNTk1LS42ODctMS4wNjItLjcxOS0yLjQwNnptMTIuNDQ0IDBsMS42NTYtLjE0cS4xMjUgMSAuNTQ3IDEuNjQuNDM4LjY0IDEuMzQ0IDEuMDQ3LjkyMi4zOSAyLjA2Mi4zOSAxIDAgMS43ODItLjI5Ni43OC0uMjk3IDEuMTU2LS44MTMuMzc1LS41My4zNzUtMS4xNTYgMC0uNjI1LS4zNzUtMS4wOTQtLjM2LS40NjgtMS4xODgtLjc5Ny0uNTQ3LS4yMDMtMi4zOS0uNjQtMS44MjgtLjQ1My0yLjU2My0uODQ0LS45NjktLjUtMS40MzctMS4yMzQtLjQ2OS0uNzUtLjQ2OS0xLjY3MiAwLTEgLjU3OC0xLjg3NS41NzgtLjg5IDEuNjcyLTEuMzQ0IDEuMTEtLjQ1MyAyLjQ1My0uNDUzIDEuNDg0IDAgMi42MS40ODQgMS4xNC40NyAxLjc1IDEuNDA3LjYwOS45MjEuNjU2IDIuMDkzbC0xLjY4OC4xMjVxLS4xNC0xLjI2NS0uOTM3LTEuOTA2LS43ODItLjY1Ni0yLjMxMy0uNjU2LTEuNjEgMC0yLjM0NC41OTQtLjczNC41OTMtLjczNCAxLjQyMSAwIC43Mi41MzEgMS4xNzIuNS40NyAyLjY1Ny45NyAyLjE1Ni40ODMgMi45NTMuODQzIDEuMTcyLjUzMSAxLjcxOCAxLjM2LjU2My44MjcuNTYzIDEuOTA1IDAgMS4wNjMtLjYxIDIuMDE2LS42MDkuOTM4LTEuNzUgMS40NjktMS4xNC41MTUtMi41NzguNTE1LTEuODEyIDAtMy4wNDYtLjUzLTEuMjItLjUzMi0xLjkyMi0xLjU5NS0uNjg4LTEuMDYyLS43MTktMi40MDZ6bTExLjU2OSA0LjI5N2w1LjEyNS0xMy4zNmgxLjkwNmw1LjQ2OSAxMy4zNmgtMi4wMTZsLTEuNTQ3LTQuMDQ3aC01LjU5NGwtMS40NjggNC4wNDd6bTMuODU5LTUuNDg0aDQuNTMxbC0xLjQwNi0zLjcwM3EtLjYyNS0xLjY4OC0uOTM4LTIuNzY2LS4yNjUgMS4yODEtLjcxOCAyLjU0N3ptMTAuOTI4IDkuNDA2aC0xLjE4OHEyLjczNS00LjM3NSAyLjczNS04Ljc1IDAtMS43MTktLjM5LTMuMzktLjMxMy0xLjM3Ni0uODc2LTIuNjI2LS4zNi0uODI4LTEuNDY5LTIuNzM0aDEuMTg4cTEuNzAzIDIuMjgxIDIuNTMxIDQuNTk0LjY4OCAxLjk4NC42ODggNC4xNCAwIDIuNDctLjkzOCA0Ljc2Ni0uOTM3IDIuMjk3LTIuMjgxIDR6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTExNyAzNTcuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTExNyAzNTcuODMyYzAtNi41MzUgNS4yOTctMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNSAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xNTcuMzM3IDM4MS45MTZxMC0zLjMyOCAxLjc4MS01LjIwMyAxLjc4Mi0xLjg5IDQuNjEtMS44OSAxLjg0MyAwIDMuMzI4Ljg5IDEuNDg0Ljg3NSAyLjI2NSAyLjQ2OS43ODIgMS41NzguNzgyIDMuNTc4IDAgMi4wMzEtLjgyOCAzLjY0LS44MTMgMS41OTQtMi4zMTMgMi40MjItMS41LjgyOC0zLjI1LjgyOC0xLjg3NSAwLTMuMzYtLjkwNi0xLjQ4NC0uOTIyLTIuMjUtMi41LS43NjUtMS41NzgtLjc2NS0zLjMyOHptMS44MTMuMDE2cTAgMi40MjIgMS4yOTYgMy44MTIgMS4yOTcgMS4zOSAzLjI2NiAxLjM5IDIgMCAzLjI4MS0xLjQwNSAxLjI4Mi0xLjQwNyAxLjI4Mi0zLjk4NSAwLTEuNjI1LS41NDctMi44NDQtLjU0Ny0xLjIxOC0xLjYxLTEuODc1LTEuMDYyLS42NzEtMi4zNzUtLjY3MS0xLjg5IDAtMy4yNSAxLjI5Ni0xLjM0MyAxLjI4Mi0xLjM0MyA0LjI4MnptMTMuMDI3IDEwLjE4N3YtMTMuMzc1aDEuNDg0djEuMjVxLjUzMS0uNzM0IDEuMTg3LTEuMDk0LjY3Mi0uMzc1IDEuNjI1LS4zNzUgMS4yMzUgMCAyLjE3Mi42NDEuOTUzLjYyNSAxLjQzOCAxLjc5Ny40ODQgMS4xNTYuNDg0IDIuNTQ3IDAgMS40ODQtLjUzMSAyLjY3Mi0uNTMxIDEuMTg3LTEuNTQ3IDEuODI4LTEuMDE2LjYyNS0yLjE0LjYyNS0uODEzIDAtMS40Ny0uMzQ0LS42NTYtLjM0NC0xLjA2Mi0uODc1djQuNzAzem0xLjQ4NC04LjQ4NHEwIDEuODYuNzUgMi43NjUuNzY2Ljg5MSAxLjgyOC44OTEgMS4wOTQgMCAxLjg3NS0uOTIyLjc4MS0uOTM3Ljc4MS0yLjg3NSAwLTEuODQ0LS43NjUtMi43NjUtLjc1LS45MjItMS44MTMtLjkyMi0xLjA0NyAwLTEuODYuOTg0LS43OTYuOTY5LS43OTYgMi44NDR6bTEyLjQ3IDMuMzEybC4yMzQgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgxLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTgtLjA2M3ptMS42MDUtMTB2LTEuODloMS42NHYxLjg5em0wIDExLjQ3di05LjY3M2gxLjY0djkuNjcyem00LjE0NCAwdi05LjY3M2gxLjQ3djEuMzZxLjQ1Mi0uNzIgMS4yMDItMS4xNDEuNzY2LS40MzggMS43Mi0uNDM4IDEuMDc3IDAgMS43NjUuNDU0LjY4Ny40MzcuOTY4IDEuMjM0IDEuMTU3LTEuNjg4IDIuOTg1LTEuNjg4IDEuNDUzIDAgMi4yMTkuNzk3Ljc4Ljc5Ny43OCAyLjQ1M3Y2LjY0MWgtMS42NHYtNi4wOTRxMC0uOTg0LS4xNTYtMS40MDYtLjE1Ni0uNDM3LS41NzgtLjcwMy0uNDIyLS4yNjYtLjk4NS0uMjY2LTEuMDE1IDAtMS42ODcuNjg4LS42NzIuNjcyLS42NzIgMi4xNTZ2NS42MjVoLTEuNjR2LTYuMjgxcTAtMS4wOTQtLjQwNy0xLjY0LS40MDYtLjU0OC0xLjMxMi0uNTQ4LS42ODggMC0xLjI4Mi4zNi0uNTkzLjM2LS44NTkgMS4wNjItLjI1LjcwMy0uMjUgMi4wMzF2NS4wMTZ6bTE1LjU0MS0xMS40N3YtMS44OWgxLjY0djEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjR2OS42NzJ6bTMuMjcgMHYtMS4zM2w2LjE1Ni03LjA3N3EtMS4wNDcuMDYyLTEuODQzLjA2MmgtMy45Mzh2LTEuMzI4aDcuOTA2djEuMDc4bC01LjI1IDYuMTQtMSAxLjEyNnExLjA5NC0uMDc4IDIuMDYzLS4wNzhoNC40Njl2MS40MDZ6bTE2LjUxNi0xLjE4OHEtLjkyMi43NjUtMS43NjYgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDQtLjkzNy41My0uMzYgMS4xODctLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNCAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIxIDAtMS0uNDctMS40MjItLjYyNC0uNTQ3LTEuODc0LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNS43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgyIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTEuMDc4LjQyLjA3OCAxLjUxNXYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NS40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4N3ptLS4xNC0zLjY3MnEtLjg5Mi4zNzUtMi42NzMuNjI1LTEuMDE1LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1My40MzguOTM3IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjR6bTcuNzgxIDMuMzlsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODEtLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwMy4xMS41NzguMTEuMjY2IDAgLjcxOS0uMDYzem0xLjYwNS0xMHYtMS44OWgxLjY0djEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjR2OS42NzJ6bTMuNTM2LTQuODQ1cTAtMi42ODcgMS40ODQtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjYgMS4zMTMgMS4yNjUgMS4yOTcgMS4yNjUgMy42MSAwIDEuODU5LS41NjIgMi45MzctLjU2MyAxLjA2Mi0xLjY0MSAxLjY1Ni0xLjA2Mi41OTQtMi4zMjguNTk0LTIuMDMxIDAtMy4yODEtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4NyAwcTAgMS44Ni43OTcgMi43OTcuODEzLjkyMiAyLjA0Ny45MjIgMS4yMTkgMCAyLjAzMS0uOTIyLjgxMy0uOTM3LjgxMy0yLjg0NCAwLTEuNzk2LS44MTMtMi43MTgtLjgxMi0uOTIyLTIuMDMxLS45MjItMS4yMzQgMC0yLjA0Ny45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptOS4yOTggNC44NDR2LTkuNjcyaDEuNDY4djEuMzc1cTEuMDYzLTEuNTk0IDMuMDc5LTEuNTk0Ljg3NSAwIDEuNjA5LjMxMy43MzQuMzEyIDEuMDk0LjgyOC4zNzUuNS41MTUgMS4yMDMuMDk0LjQ1My4wOTQgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDQtMS40ODUtLjE4Ny0uNS0uNjcyLS43OTctLjQ4NC0uMjk3LTEuMTQtLjI5Ny0xLjA0NyAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXptOS43Mi0yLjg5bDEuNjI0LS4yNXEuMTI1Ljk2OC43NSAxLjUuNjI1LjUxNSAxLjc1LjUxNXQxLjY3Mi0uNDUzcS41NDctLjQ2OS41NDctMS4wOTQgMC0uNTQ3LS40ODQtLjg3NS0uMzI5LS4yMTktMS42NzItLjU0Ny0xLjgxMy0uNDY4LTIuNTE2LS43OTctLjY4Ny0uMzI4LTEuMDQ3LS45MDYtLjM2LS41OTQtLjM2LTEuMzEyIDAtLjY0LjI5OC0xLjE4OC4yOTctLjU2Mi44MTItLjkyMi4zNzUtLjI4IDEuMDMxLS40NjguNjcyLS4yMDQgMS40MjItLjIwNCAxLjE0MSAwIDIgLjMyOS44Ni4zMjggMS4yNjYuODkuNDIyLjU2My41NzggMS41bC0xLjYxLjIxOXEtLjEwOS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ2OS0uNDIyLTEuMTQgMC0xLjYyNS4zNzUtLjQ2OC4zNzUtLjQ2OC44NzUgMCAuMzEzLjE4Ny41NzguMjAzLjI2Ni42NC40MzguMjM1LjA5NCAxLjQzOC40MjIgMS43NS40NTMgMi40MzguNzUuNjg3LjI5NyAxLjA3OC44Ni4zOS41NjIuMzkgMS40MDUgMCAuODI4LS40ODQgMS41NDctLjQ2OS43MTktMS4zNzUgMS4xMjUtLjkwNi4zOS0yLjA0Ny4zOS0xLjg3NSAwLTIuODc1LS43OC0uOTg0LS43ODItMS4yNS0yLjMyOXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTE3IDQ1OC44MzJjMC02LjUzNSA1LjI5Ny0xMS44MzIgMTEuODMyLTExLjgzMmgxNjguMjFhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM1IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTE3IDQ1OC44MzJjMC02LjUzNSA1LjI5Ny0xMS44MzIgMTEuODMyLTExLjgzMmgxNjguMjFhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM1IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE2Ny42MjMgNDg1LjEybDEuNjU2LS4xNDFxLjEyNSAxIC41NDcgMS42NC40MzguNjQgMS4zNDQgMS4wNDcuOTIyLjM5IDIuMDYyLjM5IDEgMCAxLjc4Mi0uMjk2Ljc4LS4yOTcgMS4xNTYtLjgxMy4zNzUtLjUzLjM3NS0xLjE1NiAwLS42MjUtLjM3NS0xLjA5NC0uMzYtLjQ2OC0xLjE4OC0uNzk3LS41NDctLjIwMy0yLjM5LS42NC0xLjgyOC0uNDUzLTIuNTYzLS44NDQtLjk2OS0uNS0xLjQzNy0xLjIzNC0uNDctLjc1LS40Ny0xLjY3MiAwLTEgLjU4LTEuODc1LjU3Ny0uODkgMS42Ny0xLjM0NCAxLjExLS40NTMgMi40NTQtLjQ1MyAxLjQ4NCAwIDIuNjEuNDg0IDEuMTQuNDcgMS43NSAxLjQwNy42MDkuOTIxLjY1NiAyLjA5M2wtMS42ODguMTI1cS0uMTQtMS4yNjUtLjkzNy0xLjkwNi0uNzgyLS42NTYtMi4zMTMtLjY1Ni0xLjYxIDAtMi4zNDQuNTk0LS43MzQuNTkzLS43MzQgMS40MjEgMCAuNzIuNTMxIDEuMTcyLjUuNDcgMi42NTcuOTcgMi4xNTYuNDgzIDIuOTUzLjg0MyAxLjE3Mi41MzEgMS43MTggMS4zNi41NjMuODI3LjU2MyAxLjkwNSAwIDEuMDYzLS42MSAyLjAxNi0uNjA5LjkzOC0xLjc1IDEuNDY5LTEuMTQuNTE1LTIuNTc4LjUxNS0xLjgxMiAwLTMuMDQ2LS41My0xLjIyLS41MzItMS45MjItMS41OTUtLjY4OC0xLjA2Mi0uNzItMi40MDZ6bTE5LjE0Ny43NWwxLjYwOS4yMThxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc3LjkzNy0yLjY3MS45MzctMS45ODUgMC0zLjE4OC0xLjI5N3QtMS4yMDMtMy43MTlxMC0xLjU3OC41MTYtMi43NS41MTUtMS4xNzIgMS41NzgtMS43NSAxLjA2Mi0uNTk0IDIuMzEyLS41OTQgMS41NzkgMCAyLjU3OS43OTcgMSAuNzk3IDEuMjggMi4yNjZsLTEuNTkzLjIzNHEtLjIzNC0uOTY4LS44MTItMS40NTMtLjU3OS0uNS0xLjM5MS0uNS0xLjIzNCAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTMuMDE1IDMuNTQ2di0xMy4zNmgxLjY0djQuNzk4cTEuMTQyLTEuMzI5IDIuODkyLTEuMzI5IDEuMDc4IDAgMS44NTkuNDIyLjc5Ny40MjIgMS4xNCAxLjE3Mi4zNDQuNzUuMzQ0IDIuMTcydjYuMTI1aC0xLjY0di02LjEyNXEwLTEuMjM0LS41MzItMS43OTctLjUzLS41NjItMS41MTUtLjU2Mi0uNzE5IDAtMS4zNi4zOS0uNjQuMzc1LS45MjEgMS4wMTYtLjI2Ni42NC0uMjY2IDEuNzgxdjUuMjk3em0xNy4wMDEtMy4xMWwxLjY4Ny4yMDRxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNyAwIDEuNTQ3LS40NjkuNjQxLS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU2aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTE1LjQwNiA1Ljc2NnYtMS4yMTlxLS45MDYgMS40MzgtMi43MDMgMS40MzgtMS4xNTYgMC0yLjEyNS0uNjQtLjk2OS0uNjQxLTEuNS0xLjc4Mi0uNTMxLTEuMTQtLjUzMS0yLjYyNSAwLTEuNDUzLjQ4NC0yLjYyNS40ODUtMS4xODggMS40MzgtMS44MTMuOTY5LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg3LjM2IDEuMTA5Ljk1NHYtNC43OTdoMS42NHYxMy4zNnptLTUuMTcyLTQuODI4cTAgMS44Ni43ODIgMi43ODEuNzgxLjkyMiAxLjg0My45MjIgMS4wNzkgMCAxLjgyOS0uODc1Ljc1LS44OS43NS0yLjY4NyAwLTEuOTg1LS43NjYtMi45MDctLjc2Ni0uOTM3LTEuODktLjkzNy0xLjA3OSAwLTEuODEzLjg5LS43MzUuODkxLS43MzUgMi44MTN6bTE1LjYxIDQuODI4di0xLjQyMnEtMS4xMjQgMS42NC0zLjA2MiAxLjY0LS44NiAwLTEuNjEtLjMyNy0uNzM0LS4zMjgtMS4wOTMtLjgyOC0uMzYtLjUtLjUtMS4yMi0uMTEtLjQ2OC0uMTEtMS41M3YtNS45ODVoMS42NDF2NS4zNnEwIDEuMjguMTEgMS43MzQuMTU2LjY0LjY1NiAxLjAxNi41LjM3NSAxLjIzNC4zNzUuNzM1IDAgMS4zNzUtLjM3NS42NTYtLjM5MS45MjItMS4wMzIuMjY2LS42NTYuMjY2LTEuODl2LTUuMTg4aDEuNjR2OS42NzJ6bTQuMDAxIDB2LTEzLjM2aDEuNjR2MTMuMzZ6bTQuMTkyLTExLjQ2OXYtMS44OWgxLjY0djEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjR2OS42NzJ6bTQuMTQ1IDB2LTkuNjczaDEuNDY5djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc4LTEuNTk0Ljg3NSAwIDEuNjA5LjMxMy43MzQuMzEyIDEuMDk0LjgyOC4zNzUuNS41MTUgMS4yMDMuMDk0LjQ1My4wOTQgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDQtMS40ODUtLjE4Ny0uNS0uNjcyLS43OTctLjQ4NC0uMjk3LTEuMTQtLjI5Ny0xLjA0NyAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXptMTAuMDYzLjc5NmwxLjU5NC4yMzRxLjExLjc1LjU2MiAxLjA3OC42MS40NTQgMS42NzIuNDU0IDEuMTQgMCAxLjc1LS40NTQuNjI1LS40NTMuODQ0LTEuMjY1LjEyNS0uNS4xMS0yLjExLTEuMDYzIDEuMjY2LTIuNjczIDEuMjY2LTIgMC0zLjA5My0xLjQzNy0xLjA5NC0xLjQzOC0xLjA5NC0zLjQ1NCAwLTEuMzkuNS0yLjU2Mi41MTUtMS4xNzIgMS40NTMtMS43OTcuOTUzLS42NCAyLjI1LS42NCAxLjcwMyAwIDIuODEyIDEuMzc0di0xLjE1NmgxLjUxNnY4LjM2cTAgMi4yNjUtLjQ2OSAzLjIwMy0uNDUzLjkzNy0xLjQ1MyAxLjQ4NC0uOTg0LjU0Ny0yLjQ1My41NDctMS43MTkgMC0yLjc5Ny0uNzgxLTEuMDYyLS43NjYtMS4wMzEtMi4zNDR6bTEuMzYtNS44MTNxMCAxLjkwNy43NSAyLjc4Mi43NjUuODc1IDEuOTA2Ljg3NSAxLjEyNSAwIDEuODktLjg2Ljc2Ni0uODc1Ljc2Ni0yLjczNCAwLTEuNzgxLS43OTctMi42NzItLjc4MS0uOTA2LTEuODktLjkwNi0xLjA5NCAwLTEuODYuODktLjc2Ni44NzUtLjc2NiAyLjYyNXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMzQ4LjI5MiA0NTguODMyYzAtNi41MzUgNS4yOTgtMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNCAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTM0OC4yOTIgNDU4LjgzMmMwLTYuNTM1IDUuMjk4LTExLjgzMiAxMS44MzItMTEuODMyaDE2OC4yMWExMS44MzIgMTEuODMyIDAgMCAxIDExLjgzMiAxMS44MzJ2NDcuMzI4YzAgNi41MzUtNS4yOTcgMTEuODMyLTExLjgzMiAxMS44MzJoLTE2OC4yMWMtNi41MzQgMC0xMS44MzItNS4yOTctMTEuODMyLTExLjgzMnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDAyLjkzIDQ3OC40MTZ2LTEzLjM2aDEuNzY2djEzLjM2em00LjY4MyAwdi05LjY3MmgxLjQ3djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc3LTEuNTk0Ljg3NSAwIDEuNjEuMzEzLjczNC4zMTIgMS4wOTMuODI4LjM3NS41LjUxNiAxLjIwMy4wOTQuNDUzLjA5NCAxLjU5NHY1Ljk1M2gtMS42NHYtNS44OXEwLTEtLjIwNC0xLjQ4NS0uMTg3LS41LS42NzItLjc5Ny0uNDg0LS4yOTctMS4xNC0uMjk3LTEuMDQ3IDAtMS44MTMuNjcyLS43NS42NTYtLjc1IDIuNTE2djUuMjgxem05LjcyLTIuODlsMS42MjUtLjI1cS4xMjUuOTY4Ljc1IDEuNS42MjUuNTE1IDEuNzUuNTE1dDEuNjcyLS40NTNxLjU0Ny0uNDY5LjU0Ny0xLjA5NCAwLS41NDctLjQ4NS0uODc1LS4zMjgtLjIxOS0xLjY3Mi0uNTQ3LTEuODEyLS40NjgtMi41MTUtLjc5Ny0uNjg4LS4zMjgtMS4wNDctLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQuMjk3LTEuMTg4LjI5Ny0uNTYyLjgxMy0uOTIyLjM3NS0uMjggMS4wMzEtLjQ2OC42NzItLjIwNCAxLjQyMi0uMjA0IDEuMTQgMCAyIC4zMjkuODYuMzI4IDEuMjY2Ljg5LjQyMi41NjMuNTc4IDEuNWwtMS42MS4yMTlxLS4xMDktLjc1LS42NC0xLjE3Mi0uNTE2LS40MjItMS40NjktLjQyMi0xLjE0IDAtMS42MjUuMzc1LS40NjkuMzc1LS40NjkuODc1IDAgLjMxMy4xODguNTc4LjIwMy4yNjYuNjQuNDM4LjIzNS4wOTQgMS40MzguNDIyIDEuNzUuNDUzIDIuNDM3Ljc1LjY4OC4yOTcgMS4wNzkuODYuMzkuNTYyLjM5IDEuNDA1IDAgLjgyOC0uNDg0IDEuNTQ3LS40NjkuNzE5LTEuMzc1IDEuMTI1LS45MDYuMzktMi4wNDcuMzktMS44NzUgMC0yLjg3NS0uNzgtLjk4NC0uNzgyLTEuMjUtMi4zMjl6bTEzLjU2MiAxLjQyMWwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4MS0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4Mi4zMjguMjAzLjExLjU3OC4xMS4yNjUgMCAuNzE4LS4wNjN6bTEuNTkgMS40N3YtOS42NzNoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzMS0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI5IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjA5LS4zNTktMS4yMDMtLjM1OS0uNTQ3IDAtLjk2OC4zMjgtLjQyMi4zMjgtLjYxLjg5LS4yODEuODc2LS4yODEgMS45MjN2NS4wNjJ6bTEyLjU1NiAwdi0xLjQyM3EtMS4xMjUgMS42NC0zLjA2MiAxLjY0LS44NiAwLTEuNjEtLjMyNy0uNzM0LS4zMjgtMS4wOTMtLjgyOC0uMzYtLjUtLjUtMS4yMi0uMTEtLjQ2OC0uMTEtMS41M3YtNS45ODVoMS42NDF2NS4zNnEwIDEuMjguMTEgMS43MzQuMTU2LjY0LjY1NiAxLjAxNi41LjM3NSAxLjIzNC4zNzV0MS4zNzUtLjM3NXEuNjU2LS4zOTEuOTIyLTEuMDMyLjI2Ni0uNjU2LjI2Ni0xLjg5di01LjE4OGgxLjY0djkuNjcyem0xMC4zNi0zLjU0OGwxLjYxLjIxOXEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcxLjkzNy0xLjk4NSAwLTMuMTg4LTEuMjk3dC0xLjIwMy0zLjcxOXEwLTEuNTc4LjUxNi0yLjc1LjUxNS0xLjE3MiAxLjU3OC0xLjc1IDEuMDYyLS41OTQgMi4zMTItLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODIgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNS0uOTY4LS44MTMtMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4MS44OTEtLjc4MSAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTY5IDAgMS42MS0uNTk0LjY1Ni0uNTkzLjgyNy0xLjgyOHptNi41OTQgMi4wNzhsLjIzNSAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODEtLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwMy4xMS41NzguMTEuMjY2IDAgLjcyLS4wNjN6bTEuNjA1LTEwdi0xLjg5aDEuNjQxdjEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjQxdjkuNjcyem0zLjUzNi00Ljg0NXEwLTIuNjg3IDEuNDg0LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDctMS4wNzkgMiAwIDMuMjY2IDEuMzEzIDEuMjY1IDEuMjk3IDEuMjY1IDMuNjEgMCAxLjg1OS0uNTYyIDIuOTM3LS41NjMgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjkuNTk0LTIuMDMxIDAtMy4yODEtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4NyAwcTAgMS44Ni43OTcgMi43OTcuODEzLjkyMiAyLjA0Ny45MjIgMS4yMTkgMCAyLjAzMS0uOTIyLjgxMy0uOTM3LjgxMy0yLjg0NCAwLTEuNzk2LS44MTMtMi43MTgtLjgxMi0uOTIyLTIuMDMtLjkyMi0xLjIzNSAwLTIuMDQ4LjkyMi0uNzk3LjkwNi0uNzk3IDIuNzY1em05LjI5OCA0Ljg0NHYtOS42NzJoMS40Njl2MS4zNzVxMS4wNjItMS41OTQgMy4wNzgtMS41OTQuODc1IDAgMS42MS4zMTMuNzM0LjMxMiAxLjA5My44MjguMzc1LjUuNTE2IDEuMjAzLjA5My40NTMuMDkzIDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjAzLTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODUtLjI5Ny0xLjE0MS0uMjk3LTEuMDQ3IDAtMS44MTIuNjcyLS43NS42NTYtLjc1IDIuNTE2djUuMjgxek00MDYuNjk5IDQ5Ni4xMmwxLjY1Ni0uMTQxcS4xMjUgMSAuNTQ3IDEuNjQuNDM4LjY0IDEuMzQ0IDEuMDQ3LjkyMi4zOSAyLjA2Mi4zOSAxIDAgMS43ODItLjI5Ni43OC0uMjk3IDEuMTU2LS44MTMuMzc1LS41My4zNzUtMS4xNTYgMC0uNjI1LS4zNzUtMS4wOTQtLjM2LS40NjgtMS4xODgtLjc5Ny0uNTQ2LS4yMDMtMi4zOS0uNjQtMS44MjgtLjQ1My0yLjU2My0uODQ0LS45NjktLjUtMS40MzctMS4yMzQtLjQ2OS0uNzUtLjQ2OS0xLjY3MiAwLTEgLjU3OC0xLjg3NS41NzgtLjg5IDEuNjcyLTEuMzQ0IDEuMTEtLjQ1MyAyLjQ1My0uNDUzIDEuNDg1IDAgMi42MS40ODQgMS4xNC40NyAxLjc1IDEuNDA3LjYwOS45MjEuNjU2IDIuMDkzbC0xLjY4OC4xMjVxLS4xNC0xLjI2NS0uOTM3LTEuOTA2LS43ODEtLjY1Ni0yLjMxMy0uNjU2LTEuNjEgMC0yLjM0NC41OTQtLjczNC41OTMtLjczNCAxLjQyMSAwIC43Mi41MzEgMS4xNzIuNS40NyAyLjY1Ny45NyAyLjE1Ni40ODMgMi45NTMuODQzIDEuMTcyLjUzMSAxLjcxOSAxLjM2LjU2Mi44MjcuNTYyIDEuOTA1IDAgMS4wNjMtLjYxIDIuMDE2LS42MDkuOTM4LTEuNzUgMS40NjktMS4xNC41MTUtMi41NzcuNTE1LTEuODEzIDAtMy4wNDctLjUzLTEuMjItLjUzMi0xLjkyMi0xLjU5NS0uNjg4LTEuMDYyLS43MTktMi40MDZ6bTE5LjQ2IDEuMTg3bDEuNjg3LjIwM3EtLjQwNyAxLjQ4NC0xLjQ4NSAyLjMxMi0xLjA3OC44MTMtMi43NjUuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzUtMS4zMTMtMS4yMzUtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM3IDAgMy4xNTYgMS4zMjkgMS4yMzUgMS4zMTIgMS4yMzUgMy43MDN2LjQzN2gtNy4yMnEuMDk1IDEuNTk0LjkwNyAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5MS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNy43NjYtLjc2NS43NS0uODQzIDIuMDE1em05LjA5NCA1Ljc2NnYtMTMuMzZoMS42NHYxMy4zNnptMTAuODE3LTMuMTFsMS42ODcuMjA0cS0uNDA2IDEuNDg0LTEuNDg0IDIuMzEyLTEuMDc4LjgxMy0yLjc2Ni44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNC0xLjMxMy0xLjIzNC0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjUtMS4zNDQgMy4yNjUtMS4zNDQgMS45MzggMCAzLjE1NyAxLjMyOSAxLjIzNCAxLjMxMiAxLjIzNCAzLjcwM3YuNDM3aC03LjIxOXEuMDk0IDEuNTk0LjkwNyAyLjQ1My44MTIuODQ0IDIuMDE1Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU2aDUuNDA1cS0uMTA5LTEuMjE4LS42MjUtMS44MjgtLjc4LS45NTMtMi4wMy0uOTUzLTEuMTI2IDAtMS45MDcuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptMTUuNDUzIDIuMjJsMS42MS4yMThxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3Mi45MzctMS45ODQgMC0zLjE4Ny0xLjI5Ny0xLjIwNC0xLjI5Ny0xLjIwNC0zLjcxOSAwLTEuNTc4LjUxNi0yLjc1dDEuNTc4LTEuNzVxMS4wNjMtLjU5NCAyLjMxMy0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MSAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMi0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNi44OS0uNzgyLjg5MS0uNzgyIDIuODEzIDAgMS45NTMuNzUgMi44NDQuNzUuODc1IDEuOTUzLjg3NS45NyAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTYuNTk0IDIuMDc3bC4yMzQgMS40NTNxLS42ODcuMTQxLTEuMjM0LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgxLS42ODgtLjczNS0uMjA0LS40NjgtLjIwNC0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU3djEuMjY2aC0xLjY1N3Y1LjY3MnEwIC42ODcuMDc5Ljg5LjA5My4yMDMuMjguMzI4LjIwNC4xMS41NzkuMTEuMjY2IDAgLjcxOS0uMDYzem0xLjYwNS0xMHYtMS44OWgxLjY0djEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjR2OS42NzJ6bTMuNTM1LTQuODQ1cTAtMi42ODcgMS40ODUtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjUgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOC41OTQtMi4wMzIgMC0zLjI4Mi0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg4IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTIuOTIyIDIuMDQ3LjkyMiAxLjIxOCAwIDIuMDMtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEyLTIuNzE4LS44MTMtLjkyMi0yLjAzMS0uOTIyLTEuMjM1IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTkuMjk3IDQuODQ0di05LjY3MmgxLjQ3djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc3LTEuNTk0Ljg3NSAwIDEuNjEuMzEzLjczNC4zMTIgMS4wOTMuODI4LjM3NS41LjUxNiAxLjIwMy4wOTQuNDUzLjA5NCAxLjU5NHY1Ljk1M2gtMS42NHYtNS44OXEwLTEtLjIwNC0xLjQ4NS0uMTg3LS41LS42NzItLjc5Ny0uNDg0LS4yOTctMS4xNC0uMjk3LTEuMDQ3IDAtMS44MTMuNjcyLS43NS42NTYtLjc1IDIuNTE2djUuMjgxeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0zNDguMjkyIDM1Ny44MzJjMC02LjUzNSA1LjI5OC0xMS44MzIgMTEuODMyLTExLjgzMmgxNjguMjFhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM0IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMzQ4LjI5MiAzNTcuODMyYzAtNi41MzUgNS4yOTgtMTEuODMyIDExLjgzMi0xMS44MzJoMTY4LjIxYTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNCAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zNjcuOTI1IDM4OC40MTZ2LTEzLjM2aDUuOTIycTEuNzgyIDAgMi43MDMuMzYuOTM4LjM2IDEuNDg1IDEuMjgxLjU2Mi45MDcuNTYyIDIuMDE2IDAgMS40MDYtLjkyMiAyLjM5LS45MjEuOTctMi44NDMgMS4yMzUuNzAzLjM0NCAxLjA3OC42NzIuNzY1LjcwMyAxLjQ1MyAxLjc2NWwyLjMyOCAzLjY0MWgtMi4yMTlsLTEuNzY1LTIuNzgxcS0uNzgyLTEuMjAzLTEuMjgyLTEuODI4LS41LS42NC0uOTA2LS44OS0uMzktLjI2Ny0uNzk3LS4zNi0uMjk3LS4wNzgtLjk4NC0uMDc4aC0yLjA0N3Y1LjkzN3ptMS43NjYtNy40NTNoMy43OTdxMS4yMTkgMCAxLjg5LS4yNS42ODgtLjI2NiAxLjA0Ny0uODEzLjM2LS41NDYuMzYtMS4xODcgMC0uOTUzLS42ODgtMS41NjMtLjY4Ny0uNjA5LTIuMTg3LS42MDloLTQuMjE5em0xOC4wOTggNC4zNDRsMS42ODguMjAzcS0uNDA3IDEuNDg0LTEuNDg1IDIuMzEyLTEuMDc4LjgxMy0yLjc2NS44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNS0xLjMxMy0xLjIzNS0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjYtMS4zNDQgMy4yNjYtMS4zNDQgMS45MzcgMCAzLjE1NiAxLjMyOSAxLjIzNCAxLjMxMiAxLjIzNCAzLjcwM3YuNDM3aC03LjIxOHEuMDkzIDEuNTk0LjkwNiAyLjQ1My44MTIuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ni0uNDY5LjY0MS0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4Mi0uOTUzLTIuMDMyLS45NTMtMS4xMjUgMC0xLjkwNi43NjYtLjc2NS43NS0uODQ0IDIuMDE1em04LjgyOCA2LjU2M2wxLjU5NC4yMzRxLjExLjc1LjU2MiAxLjA3OC42MS40NTQgMS42NzIuNDU0IDEuMTQxIDAgMS43NS0uNDU0LjYyNS0uNDUzLjg0NC0xLjI2NS4xMjUtLjUuMTEtMi4xMS0xLjA2MyAxLjI2Ni0yLjY3MiAxLjI2Ni0yIDAtMy4wOTQtMS40MzctMS4wOTQtMS40MzgtMS4wOTQtMy40NTQgMC0xLjM5LjUtMi41NjIuNTE2LTEuMTcyIDEuNDUzLTEuNzk3Ljk1My0uNjQgMi4yNS0uNjQgMS43MDMgMCAyLjgxMyAxLjM3NHYtMS4xNTZoMS41MTV2OC4zNnEwIDIuMjY1LS40NjggMy4yMDMtLjQ1NC45MzctMS40NTQgMS40ODQtLjk4NC41NDctMi40NTMuNTQ3LTEuNzE4IDAtMi43OTctLjc4MS0xLjA2Mi0uNzY2LTEuMDMtMi4zNDR6bTEuMzYtNS44MTNxMCAxLjkwNy43NSAyLjc4Mi43NjUuODc1IDEuOTA2Ljg3NSAxLjEyNSAwIDEuODktLjg2Ljc2Ni0uODc1Ljc2Ni0yLjczNCAwLTEuNzgxLS43OTctMi42NzItLjc4MS0uOTA2LTEuODktLjkwNi0xLjA5NCAwLTEuODYuODktLjc2NS44NzUtLjc2NSAyLjYyNXptOS4zMjgtNi40NTN2LTEuODloMS42NDF2MS44OXptMCAxMS40N3YtOS42NzNoMS42NDF2OS42NzJ6bTMuNDg5LTIuODkybDEuNjI1LS4yNXEuMTI1Ljk3Ljc1IDEuNS42MjUuNTE2IDEuNzUuNTE2dDEuNjcyLS40NTNxLjU0Ny0uNDY5LjU0Ny0xLjA5NCAwLS41NDctLjQ4NS0uODc1LS4zMjgtLjIxOS0xLjY3MS0uNTQ3LTEuODEzLS40NjgtMi41MTYtLjc5Ny0uNjg4LS4zMjgtMS4wNDctLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQuMjk4LTEuMTg4LjI5Ni0uNTYyLjgxMi0uOTIyLjM3NS0uMjggMS4wMzEtLjQ2OC42NzItLjIwNCAxLjQyMi0uMjA0IDEuMTQgMCAyIC4zMjkuODYuMzI4IDEuMjY2Ljg5LjQyMi41NjMuNTc4IDEuNWwtMS42MS4yMTlxLS4xMDktLjc1LS42NC0xLjE3Mi0uNTE2LS40MjItMS40NjktLjQyMi0xLjE0IDAtMS42MjUuMzc1LS40NjkuMzc1LS40NjkuODc1IDAgLjMxMy4xODguNTc4LjIwMy4yNjYuNjQuNDM4LjIzNS4wOTQgMS40MzguNDIyIDEuNzUuNDUzIDIuNDM4Ljc1LjY4Ny4yOTcgMS4wNzguODYuMzkuNTYyLjM5IDEuNDA1IDAgLjgyOC0uNDg0IDEuNTQ3LS40NjkuNzE5LTEuMzc1IDEuMTI1LS45MDYuMzktMi4wNDcuMzktMS44NzUgMC0yLjg3NS0uNzgtLjk4NC0uNzgyLTEuMjUtMi4zMjl6bTEzLjU2MyAxLjQyMmwuMjM0IDEuNDUzcS0uNjg4LjE0MS0xLjIzNC4xNDEtLjg5MSAwLTEuMzkxLS4yODEtLjQ4NC0uMjgxLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU3djEuMjY2aC0xLjY1N3Y1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTktLjA2M3ptOC4yMy0xLjY0bDEuNjg3LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY1LTEuMzQ0IDMuMjY1LTEuMzQ0IDEuOTM4IDAgMy4xNTcgMS4zMjkgMS4yMzQgMS4zMTIgMS4yMzQgMy43MDN2LjQzN2gtNy4yMTlxLjA5NCAxLjU5NC45MDcgMi40NTMuODEyLjg0NCAyLjAxNS44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNXEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4LS45NTMtMi4wMy0uOTUzLTEuMTI2IDAtMS45MDcuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xMjUgNS43NjZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM1OS0xLjIwMy0uMzU5LS41NDcgMC0uOTY5LjMyOC0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjN2NS4wNjJ6bTEwLjE0NiAwbDUuMTI1LTEzLjM2aDEuOTA2bDUuNDY5IDEzLjM2aC0yLjAxNmwtMS41NDctNC4wNDdoLTUuNTkzbC0xLjQ3IDQuMDQ3em0zLjg2LTUuNDg0aDQuNTNsLTEuNDA2LTMuNzAzcS0uNjI1LTEuNjg4LS45MzctMi43NjYtLjI2NiAxLjI4MS0uNzIgMi41NDd6bTkuODAyIDUuNDg0di0xMy4zNmgxLjY0djEzLjM2em00LjE0NSAwdi0xMy4zNmgxLjY0djEzLjM2em0zLjU4Mi00Ljg0NHEwLTIuNjg3IDEuNDg1LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDYtMS4wNzkgMiAwIDMuMjY2IDEuMzEzIDEuMjY2IDEuMjk3IDEuMjY2IDMuNjEgMCAxLjg1OS0uNTYzIDIuOTM3LS41NjIgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjkuNTk0LTIuMDMgMC0zLjI4LTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODggMHEwIDEuODYuNzk3IDIuNzk3LjgxMi45MjIgMi4wNDYuOTIyIDEuMjIgMCAyLjAzMi0uOTIyLjgxMi0uOTM3LjgxMi0yLjg0NCAwLTEuNzk2LS44MTItMi43MTgtLjgxMy0uOTIyLTIuMDMyLS45MjItMS4yMzQgMC0yLjA0Ni45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptMTUuNjEgMS4yOTdsMS42MS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3Mi45MzctMS45ODQgMC0zLjE4OC0xLjI5Ny0xLjIwMy0xLjI5Ny0xLjIwMy0zLjcxOSAwLTEuNTc4LjUxNi0yLjc1dDEuNTc4LTEuNzVxMS4wNjMtLjU5NCAyLjMxMy0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MSAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMi0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNy44OS0uNzguODkxLS43OCAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1Mi44NzUuOTcgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em05LjMyOCAyLjM2cS0uOTIyLjc2NS0xLjc2NiAxLjA5My0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTMgMC0yLjQ1My0uNzgxLS44NTktLjc4Mi0uODU5LTEuOTg1IDAtLjcxOS4zMjgtMS4yOTcuMzI4LS41OTMuODQ0LS45MzcuNTMxLS4zNiAxLjE4Ny0uNTQ3LjQ3LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ2OS0xLjQyMi0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEyIDEuNDIybC0xLjYxLS4yMTlxLjIxOS0xLjAxNS43MTktMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNS4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzYuNDM3LjUxNiAxLjExLjA3OS40MjEuMDc5IDEuNTE1djIuMTg3cTAgMi4yODEuMTA5IDIuODkuMTEuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkxLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMTkuMzQ0LS4yMTkuNzgxIDAgLjY1Ny41IDEuMDk0LjUuNDM4IDEuNDUzLjQzOC45MzggMCAxLjY3Mi0uNDA3Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NHptNy43ODEgMy4zOWwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4MS0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjA0LjExLjU3OS4xMS4yNjUgMCAuNzE4LS4wNjN6bTEuNjA1LTEwdi0xLjg5aDEuNjQxdjEuODl6bTAgMTEuNDd2LTkuNjczaDEuNjQxdjkuNjcyem0zLjUzNi00Ljg0NXEwLTIuNjg3IDEuNDg0LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDctMS4wNzkgMiAwIDMuMjY2IDEuMzEzIDEuMjY1IDEuMjk3IDEuMjY1IDMuNjEgMCAxLjg1OS0uNTYyIDIuOTM3LS41NjMgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjkuNTk0LTIuMDMxIDAtMy4yODEtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4NyAwcTAgMS44Ni43OTcgMi43OTcuODEzLjkyMiAyLjA0Ny45MjIgMS4yMTkgMCAyLjAzMS0uOTIyLjgxMy0uOTM3LjgxMy0yLjg0NCAwLTEuNzk2LS44MTMtMi43MTgtLjgxMi0uOTIyLTIuMDMtLjkyMi0xLjIzNSAwLTIuMDQ4LjkyMi0uNzk3LjkwNi0uNzk3IDIuNzY1em05LjI5OCA0Ljg0NHYtOS42NzJoMS40Njl2MS4zNzVxMS4wNjItMS41OTQgMy4wNzgtMS41OTQuODc1IDAgMS42MS4zMTMuNzM0LjMxMiAxLjA5My44MjguMzc1LjUuNTE2IDEuMjAzLjA5My40NTMuMDkzIDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjAzLTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODUtLjI5Ny0xLjE0LS4yOTctMS4wNDggMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTM0OC4yOTIgMjU2LjgzMmMwLTYuNTM1IDUuMjk4LTExLjgzMiAxMS44MzItMTEuODMyaDE2OC4yMWExMS44MzIgMTEuODMyIDAgMCAxIDExLjgzMiAxMS44MzJ2NDcuMzI4YzAgNi41MzUtNS4yOTcgMTEuODMyLTExLjgzMiAxMS44MzJoLTE2OC4yMWMtNi41MzQgMC0xMS44MzItNS4yOTctMTEuODMyLTExLjgzMnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0zNDguMjkyIDI1Ni44MzJjMC02LjUzNSA1LjI5OC0xMS44MzIgMTEuODMyLTExLjgzMmgxNjguMjFhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM0IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTM4NC4xNTMgMjgyLjcyOWwxLjc2NS40NTNxLS41NjIgMi4xNzItMiAzLjMyOC0xLjQzNyAxLjE0LTMuNTMgMS4xNC0yLjE1NyAwLTMuNTE2LS44NzUtMS4zNDQtLjg5LTIuMDYzLTIuNTQ2LS43MDMtMS42NzItLjcwMy0zLjU5NCAwLTIuMDc4Ljc5Ny0zLjYyNS43OTctMS41NjMgMi4yNjUtMi4zNiAxLjQ4NS0uODEyIDMuMjUtLjgxMiAyIDAgMy4zNiAxLjAxNiAxLjM3NSAxLjAxNSAxLjkwNiAyLjg3NWwtMS43MzQuNDA2cS0uNDctMS40NTMtMS4zNi0yLjExLS44NzUtLjY3MS0yLjIwMy0uNjcxLTEuNTQ3IDAtMi41NzguNzM0dC0xLjQ1MyAxLjk4NHEtLjQyMiAxLjIzNS0uNDIyIDIuNTYzIDAgMS43MDMuNSAyLjk2OS41IDEuMjY1IDEuNTQ3IDEuOTA2IDEuMDQ3LjYyNSAyLjI2Ni42MjUgMS40ODQgMCAyLjUxNS0uODYgMS4wMzEtLjg1OSAxLjM5LTIuNTQ2em0zLjEyOS0uMTU3cTAtMi42ODcgMS40ODQtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjYgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOS41OTQtMi4wMzEgMC0zLjI4MS0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg4IDBxMCAxLjg2Ljc5NiAyLjc5Ny44MTMuOTIyIDIuMDQ3LjkyMiAxLjIxOSAwIDIuMDMyLS45MjIuODEyLS45MzcuODEyLTIuODQ0IDAtMS43OTYtLjgxMi0yLjcxOC0uODEzLS45MjItMi4wMzItLjkyMi0xLjIzNCAwLTIuMDQ3LjkyMi0uNzk2LjkwNi0uNzk2IDIuNzY1em0xNS41NjMgNC44NDR2LTEuMjE5cS0uOTA3IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU3IDAtMi4xMjUtLjY0LS45Ny0uNjQxLTEuNS0xLjc4Mi0uNTMyLTEuMTQtLjUzMi0yLjYyNSAwLTEuNDUzLjQ4NS0yLjYyNS40ODQtMS4xODggMS40MzctMS44MTMuOTY5LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg3LjM2IDEuMTEuOTU0di00Ljc5N2gxLjY0djEzLjM2em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODEuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg3IDAtMS45ODUtLjc2Ni0yLjkwNy0uNzY1LS45MzctMS44OS0uOTM3LTEuMDc4IDAtMS44MTMuODktLjczNC44OTEtLjczNCAyLjgxM3ptMTUuOTA3IDEuNzE5bDEuNjg3LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM3IDAgMy4xNTYgMS4zMjkgMS4yMzQgMS4zMTIgMS4yMzQgMy43MDN2LjQzN2gtNy4yMTlxLjA5NCAxLjU5NC45MDcgMi40NTMuODEyLjg0NCAyLjAxNS44NDQuOTA3IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNXEtLjEwOS0xLjIxOC0uNjI1LTEuODI4LS43OC0uOTUzLTIuMDMtLjk1My0xLjEyNiAwLTEuOTA3Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTIwLjc3Ny41MzJ2LTEuNTc4aDUuNjU2djQuOTUzcS0xLjI5NyAxLjA0Ny0yLjY4NyAxLjU3OC0xLjM3NS41MTUtMi44NDQuNTE1LTEuOTY5IDAtMy41NzgtLjg0My0xLjYxLS44NDQtMi40MjItMi40MzgtLjgxMy0xLjU5NC0uODEzLTMuNTYyIDAtMS45NTMuODEzLTMuNjQuODEyLTEuNjg4IDIuMzQ0LTIuNSAxLjUzMS0uODI5IDMuNTE1LS44MjkgMS40NTMgMCAyLjYyNS40NjkgMS4xNzIuNDY4IDEuODI4IDEuMzEyLjY3Mi44MjggMS4wMTYgMi4xNzJsLTEuNTk0LjQzOHEtLjI5Ny0xLjAxNi0uNzUtMS41OTQtLjQzNy0uNTk0LTEuMjY1LS45MzgtLjgyOC0uMzQzLTEuODQ0LS4zNDMtMS4yMDMgMC0yLjA5NC4zNzUtLjg5LjM1OS0xLjQzNy45NjgtLjUzMi41OTQtLjgyOCAxLjMxMy0uNTE2IDEuMjM0LS41MTYgMi42ODcgMCAxLjc4Mi42MSAyLjk4NS42MjQgMS4yMDMgMS43OTYgMS43OTcgMS4xNzIuNTc4IDIuNS41NzggMS4xNCAwIDIuMjM1LS40MzggMS4wOTMtLjQ1MyAxLjY1Ni0uOTUzdi0yLjQ4NHptMTQuNjgzIDIuMTI1bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NSAyLjMxMi0xLjA3OC44MTMtMi43NjUuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzUtMS4zMTMtMS4yMzUtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM4IDAgMy4xNTYgMS4zMjkgMS4yMzUgMS4zMTIgMS4yMzUgMy43MDN2LjQzN2gtNy4yMnEuMDk1IDEuNTk0LjkwNyAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA3Ljc2Ni0uNzY1Ljc1LS44NDMgMi4wMTV6bTkuMTQxIDUuNzY2di05LjY3MmgxLjQ2OXYxLjM3NXExLjA2Mi0xLjU5NCAzLjA3OC0xLjU5NC44NzUgMCAxLjYxLjMxMy43MzQuMzEyIDEuMDkzLjgyOC4zNzUuNS41MTYgMS4yMDMuMDkzLjQ1My4wOTMgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDMtMS40ODUtLjE4OC0uNS0uNjcyLS43OTctLjQ4NS0uMjk3LTEuMTQtLjI5Ny0xLjA0OCAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXptMTctMy4xMWwxLjY4OC4yMDRxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU3IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA3IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTZoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43OC0uOTUzLTIuMDMtLjk1My0xLjEyNiAwLTEuOTA3Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTkuMTI2IDUuNzY2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNTktMS4yMDMtLjM1OS0uNTQ3IDAtLjk2OS4zMjgtLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIzdjUuMDYyem0xMi41NC0xLjE4N3EtLjkyMS43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ3LTEuNDIyLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTUuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjExLjA3OC40MjEuMDc4IDEuNTE1djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTMuNDM4LjkzNyAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0em03Ljc4MiAzLjM5bC4yMzQgMS40NTNxLS42ODcuMTQxLTEuMjM0LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgxLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5My4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43MTktLjA2M3ptMS42MDUtMTB2LTEuODloMS42NHYxLjg5em0wIDExLjQ3di05LjY3M2gxLjY0djkuNjcyem0zLjUzNi00Ljg0NXEwLTIuNjg3IDEuNDg0LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDctMS4wNzkgMiAwIDMuMjY1IDEuMzEzIDEuMjY2IDEuMjk3IDEuMjY2IDMuNjEgMCAxLjg1OS0uNTYyIDIuOTM3LS41NjMgMS4wNjItMS42NDEgMS42NTYtMS4wNjMuNTk0LTIuMzI4LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMi45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzEtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEzLTIuNzE4LS44MTItLjkyMi0yLjAzMS0uOTIyLTEuMjM1IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTkuMjk4IDQuODQ0di05LjY3MmgxLjQ2OHYxLjM3NXExLjA2My0xLjU5NCAzLjA3OS0xLjU5NC44NzUgMCAxLjYwOS4zMTMuNzM0LjMxMiAxLjA5NC44MjguMzc1LjUuNTE1IDEuMjAzLjA5NC40NTMuMDk0IDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjA0LTEuNDg1LS4xODctLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTIxMi45MzcgMjE0Ljk5MnYzMC4wMTYiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjEyLjkzNyAyMTQuOTkydjE4LjAxNiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTIwOS42MzQgMjMzLjAwOGwzLjMwMyA5LjA3NiAzLjMwMy05LjA3NnoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTIxMi45MzcgMzE1Ljk5MnYzMC4wMTYiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjEyLjkzNyAzMTUuOTkydjE4LjAxNiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTIwOS42MzQgMzM0LjAwOGwzLjMwMyA5LjA3NiAzLjMwMy05LjA3NnoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTIxMi45MzcgNDE2Ljk5MnYzMC4wMTYiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjEyLjkzNyA0MTYuOTkydjE4LjAxNiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTIwOS42MzQgNDM1LjAwOGwzLjMwMyA5LjA3NiAzLjMwMy05LjA3NnoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTMwOC44NzQgNDgyLjQ5NmgzOS40MzMiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMzA4Ljg3NCA0ODIuNDk2aDI3LjQzMyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTMzNi4zMDcgNDg1LjhsOS4wNzYtMy4zMDQtOS4wNzYtMy4zMDN6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik00NDQuMjI5IDQ0N3YtMzAuMDE2IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTQ0NC4yMjkgNDQ3di0xOC4wMTYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00NDcuNTMzIDQyOC45ODRsLTMuMzA0LTkuMDc2LTMuMzAzIDkuMDc2eiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNNDQ0LjIyOSAzNDZ2LTMwLjAxNiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik00NDQuMjI5IDM0NnYtMTguMDE2IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDQ3LjUzMyAzMjcuOTg0bC0zLjMwNC05LjA3Ni0zLjMwMyA5LjA3NnoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTYwMy4xMjIgMTU1LjgzMmMwLTYuNTM1IDUuMjk4LTExLjgzMiAxMS44MzMtMTEuODMyaDE2OC4yMDlhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM0IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNjAzLjEyMiAxNTUuODMyYzAtNi41MzUgNS4yOTgtMTEuODMyIDExLjgzMy0xMS44MzJoMTY4LjIwOWExMS44MzIgMTEuODMyIDAgMCAxIDExLjgzMiAxMS44MzJ2NDcuMzI4YzAgNi41MzUtNS4yOTcgMTEuODMyLTExLjgzMiAxMS44MzJoLTE2OC4yMWMtNi41MzQgMC0xMS44MzItNS4yOTctMTEuODMyLTExLjgzMnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjQwLjk2IDE3NS40MTZ2LTEzLjM2aDkuMDE1djEuNTc5aC03LjI1djQuMTRoNi4yNjZ2MS41NzloLTYuMjY2djYuMDYyem0xNy40MjcgMHYtMS40MjJxLTEuMTI1IDEuNjQtMy4wNjIgMS42NC0uODYgMC0xLjYxLS4zMjctLjczNC0uMzI4LTEuMDk0LS44MjgtLjM1OS0uNS0uNS0xLjIyLS4xMDktLjQ2OC0uMTA5LTEuNTN2LTUuOTg1aDEuNjR2NS4zNnEwIDEuMjguMTEgMS43MzQuMTU2LjY0LjY1NiAxLjAxNi41LjM3NSAxLjIzNS4zNzUuNzM0IDAgMS4zNzUtLjM3NS42NTYtLjM5MS45MjItMS4wMzIuMjY1LS42NTYuMjY1LTEuODl2LTUuMTg4aDEuNjR2OS42NzJ6bTQuMDQ4IDB2LTkuNjcyaDEuNDY4djEuMzc1cTEuMDYzLTEuNTk0IDMuMDc5LTEuNTk0Ljg3NSAwIDEuNjA5LjMxMy43MzQuMzEyIDEuMDk0LjgyOC4zNzUuNS41MTUgMS4yMDMuMDk0LjQ1My4wOTQgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDQtMS40ODUtLjE4Ny0uNS0uNjcyLS43OTctLjQ4NC0uMjk3LTEuMTQtLjI5Ny0xLjA0NyAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXptMTYuNjg4LTMuNTQ3bDEuNjEuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzIuOTM3LTEuOTg0IDAtMy4xODctMS4yOTctMS4yMDQtMS4yOTctMS4yMDQtMy43MTkgMC0xLjU3OC41MTYtMi43NXQxLjU3OC0xLjc1cTEuMDYzLS41OTQgMi4zMTMtLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODEgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY4LS44MTItMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4Mi44OTEtLjc4MiAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTcgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em02LjU5NCAyLjA3OGwuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5MSAwLTEuMzkxLS4yODEtLjQ4NC0uMjgxLS42ODctLjczNS0uMjA0LS40NjgtLjIwNC0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU3djEuMjY2aC0xLjY1N3Y1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTktLjA2M3ptMS42MDUtMTB2LTEuODloMS42NHYxLjg5em0wIDExLjQ3di05LjY3M2gxLjY0djkuNjcyem0zLjUzNS00Ljg0NXEwLTIuNjg3IDEuNDg1LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDctMS4wNzkgMiAwIDMuMjY1IDEuMzEzIDEuMjY2IDEuMjk3IDEuMjY2IDMuNjEgMCAxLjg1OS0uNTYzIDIuOTM3LS41NjIgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjguNTk0LTIuMDMyIDAtMy4yODItMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4OCAwcTAgMS44Ni43OTcgMi43OTcuODEyLjkyMiAyLjA0Ny45MjIgMS4yMTggMCAyLjAzLS45MjIuODEzLS45MzcuODEzLTIuODQ0IDAtMS43OTYtLjgxMi0yLjcxOC0uODEzLS45MjItMi4wMzEtLjkyMi0xLjIzNSAwLTIuMDQ3LjkyMi0uNzk3LjkwNi0uNzk3IDIuNzY1em05LjI5NyA0Ljg0NHYtOS42NzJoMS40N3YxLjM3NXExLjA2Mi0xLjU5NCAzLjA3Ny0xLjU5NC44NzUgMCAxLjYxLjMxMy43MzQuMzEyIDEuMDkzLjgyOC4zNzUuNS41MTYgMS4yMDMuMDk0LjQ1My4wOTQgMS41OTR2NS45NTNoLTEuNjQxdi01Ljg5cTAtMS0uMjAzLTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE1LjY4NCAwdi0xMy4zNmg1LjAxNnExLjUzMSAwIDIuNDUzLjQwNy45MjIuNDA2IDEuNDM4IDEuMjUuNTMuODQ0LjUzIDEuNzY2IDAgLjg1OS0uNDY4IDEuNjI1LS40NTMuNzUtMS4zOSAxLjIwMyAxLjIwMy4zNiAxLjg1OSAxLjIxOC42NTYuODYuNjU2IDIuMDE2IDAgLjkzOC0uNDA2IDEuNzUtLjM5Ljc5Ny0uOTg1IDEuMjM0LS41NzguNDM4LTEuNDUzLjY3Mi0uODc1LjIyLTIuMTU2LjIyem0xLjc4Mi03Ljc1aDIuODc1cTEuMTg3IDAgMS42ODctLjE0LjY3Mi0uMjA0IDEuMDE2LS42NzIuMzQzLS40Ny4zNDMtMS4xNzIgMC0uNjU3LS4zMjgtMS4xNTctLjMxMi0uNTE1LS45MDYtLjcwMy0uNTk0LS4xODctMi4wMzEtLjE4N2gtMi42NTZ6bTAgNi4xNzJoMy4zMTJxLjg2IDAgMS4yMDMtLjA2My42MS0uMTA5IDEuMDE2LS4zNTkuNDIyLS4yNjYuNjg3LS43NS4yNjYtLjQ4NC4yNjYtMS4xMjUgMC0uNzUtLjM5LTEuMjk3LS4zNzYtLjU0Ny0xLjA2My0uNzY1LS42NzItLjIzNS0xLjk1My0uMjM1aC0zLjA3OHptOS45MjgtMy4yNjZxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NSAxLjMxMyAxLjI2NiAxLjI5NyAxLjI2NiAzLjYxIDAgMS44NTktLjU2MiAyLjkzNy0uNTYzIDEuMDYyLTEuNjQxIDEuNjU2LTEuMDYzLjU5NC0yLjMyOC41OTQtMi4wMzEgMC0zLjI4MS0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg3IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTIuOTIyIDIuMDQ3LjkyMiAxLjIxOSAwIDIuMDMxLS45MjIuODEzLS45MzcuODEzLTIuODQ0IDAtMS43OTYtLjgxMy0yLjcxOC0uODEyLS45MjItMi4wMzEtLjkyMi0xLjIzNSAwLTIuMDQ3LjkyMi0uNzk3LjkwNi0uNzk3IDIuNzY1em0xNS41NjMgNC44NDR2LTEuMjE5cS0uOTA2IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU2IDAtMi4xMjUtLjY0LS45NjktLjY0MS0xLjUtMS43ODItLjUzMS0xLjE0LS41MzEtMi42MjUgMC0xLjQ1My40ODQtMi42MjUuNDg1LTEuMTg4IDEuNDM4LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjEwOS45NTR2LTQuNzk3aDEuNjR2MTMuMzZ6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgyIDIuNzgxLjc4LjkyMiAxLjg0My45MjIgMS4wNzkgMCAxLjgyOS0uODc1Ljc1LS44OS43NS0yLjY4NyAwLTEuOTg1LS43NjYtMi45MDctLjc2Ni0uOTM3LTEuODktLjkzNy0xLjA3OSAwLTEuODEzLjg5LS43MzUuODkxLS43MzUgMi44MTN6bTkuMjA0IDguNTQ3bC0uMTg3LTEuNTMxcS41NDcuMTQuOTM3LjE0LjU0NyAwIC44NzUtLjE4Ny4zMjgtLjE3Mi41NDctLjUuMTU2LS4yNS41LTEuMjIuMDQ3LS4xNC4xNC0uNDA1bC0zLjY3MS05LjY4OGgxLjc2NmwyLjAxNSA1LjU5NHEuMzkgMS4wNzguNzAzIDIuMjUuMjgyLTEuMTI1LjY3Mi0yLjIwM2wyLjA3OC01LjY0aDEuNjRsLTMuNjg3IDkuODI3cS0uNTkzIDEuNjEtLjkyMSAyLjIwMy0uNDM4LjgxMy0xIDEuMTg4LS41NjMuMzc1LTEuMzQ0LjM3NS0uNDg1IDAtMS4wNjMtLjIwM3pNNjY1LjIzOSAxOTcuNDE2di0xMy4zNmg0LjYwOXExLjU0NyAwIDIuMzc1LjIwNCAxLjE0LjI1IDEuOTUzLjk1MyAxLjA2My44OSAxLjU3OCAyLjI4MS41MzEgMS4zOS41MzEgMy4xNzIgMCAxLjUxNi0uMzU5IDIuNzAzLS4zNiAxLjE3Mi0uOTIyIDEuOTM4LS41NDcuNzY1LTEuMjAzIDEuMjE4LS42NTYuNDM4LTEuNTk0LjY3Mi0uOTM3LjIyLTIuMTQuMjJ6bTEuNzY1LTEuNTc4aDIuODZxMS4zMTIgMCAyLjA2Mi0uMjM0Ljc1LS4yNSAxLjIwMy0uNzA0LjYyNS0uNjI1Ljk2OS0xLjY4Ny4zNi0xLjA2My4zNi0yLjU3OCAwLTIuMDk0LS42ODgtMy4yMTl0LTEuNjcyLTEuNXEtLjcwMy0uMjgxLTIuMjgxLS4yODFoLTIuODEzem0xOC4xMy0xLjUzMWwxLjY4Ny4yMDNxLS40MDYgMS40ODQtMS40ODUgMi4zMTItMS4wNzguODEzLTIuNzY1LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzOCAwIDMuMTU2IDEuMzI5IDEuMjM1IDEuMzEyIDEuMjM1IDMuNzAzdi40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA2IDIuNDUzLjgxMy44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNS0xLjUxNXptLTUuMzkxLTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA3Ljc2Ni0uNzY1Ljc1LS44NDMgMi4wMTV6bTE1LjQ1NCAyLjIybDEuNjA5LjIxOHEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcxLjkzNy0xLjk4NSAwLTMuMTg4LTEuMjk3dC0xLjIwMy0zLjcxOXEwLTEuNTc4LjUxNi0yLjc1LjUxNS0xLjE3MiAxLjU3OC0xLjc1IDEuMDYyLS41OTQgMi4zMTItLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODIgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY4LS44MTMtMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4MS44OTEtLjc4MSAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTY5IDAgMS42MS0uNTk0LjY1Ni0uNTkzLjgyOC0xLjgyOHptMi40MDYtMS4yOThxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NiAxLjMxMyAxLjI2NSAxLjI5NyAxLjI2NSAzLjYxIDAgMS44NTktLjU2MiAyLjkzNy0uNTYzIDEuMDYyLTEuNjQgMS42NTYtMS4wNjMuNTk0LTIuMzI5LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMy45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzEtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEzLTIuNzE4LS44MTItLjkyMi0yLjAzMS0uOTIyLTEuMjM0IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTE1LjU2MyA0Ljg0NHYtMS4yMTlxLS45MDYgMS40MzgtMi43MDMgMS40MzgtMS4xNTYgMC0yLjEyNS0uNjQtLjk2OC0uNjQxLTEuNS0xLjc4Mi0uNTMtMS4xNC0uNTMtMi42MjUgMC0xLjQ1My40ODMtMi42MjUuNDg1LTEuMTg4IDEuNDM4LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1NHYtNC43OTdoMS42NHYxMy4zNnptLTUuMTcxLTQuODI4cTAgMS44Ni43OCAyLjc4MS43ODIuOTIyIDEuODQ1LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg3IDAtMS45ODUtLjc2Ni0yLjkwNy0uNzY2LS45MzctMS44OS0uOTM3LTEuMDc5IDAtMS44MTMuODktLjczNC44OTEtLjczNCAyLjgxM3ptMTUuOTA3IDEuNzE5bDEuNjg3LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY1LTEuMzQ0IDMuMjY1LTEuMzQ0IDEuOTM4IDAgMy4xNTcgMS4zMjkgMS4yMzQgMS4zMTIgMS4yMzQgMy43MDN2LjQzN2gtNy4yMTlxLjA5NCAxLjU5NC45MDYgMi40NTMuODEzLjg0NCAyLjAxNi44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOTEtMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODEtLjk1My0yLjAzMS0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xMjYgNS43NjZ2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMi4zMjctLjYxLjg5LS4yOC44NzUtLjI4IDEuOTIydjUuMDYyeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02MDMuMTIyIDI1Ni44MzJjMC02LjUzNSA1LjI5OC0xMS44MzIgMTEuODMzLTExLjgzMmgxNjguMjA5YTExLjgzMiAxMS44MzIgMCAwIDEgMTEuODMyIDExLjgzMnY0Ny4zMjhjMCA2LjUzNS01LjI5NyAxMS44MzItMTEuODMyIDExLjgzMmgtMTY4LjIxYy02LjUzNCAwLTExLjgzMi01LjI5Ny0xMS44MzItMTEuODMyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTYwMy4xMjIgMjU2LjgzMmMwLTYuNTM1IDUuMjk4LTExLjgzMiAxMS44MzMtMTEuODMyaDE2OC4yMDlhMTEuODMyIDExLjgzMiAwIDAgMSAxMS44MzIgMTEuODMydjQ3LjMyOGMwIDYuNTM1LTUuMjk3IDExLjgzMi0xMS44MzIgMTEuODMyaC0xNjguMjFjLTYuNTM0IDAtMTEuODMyLTUuMjk3LTExLjgzMi0xMS44MzJ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYzOC45ODMgMjgyLjcyOWwxLjc2Ni40NTNxLS41NjMgMi4xNzItMiAzLjMyOC0xLjQzOCAxLjE0LTMuNTMyIDEuMTQtMi4xNTYgMC0zLjUxNS0uODc1LTEuMzQ0LS44OS0yLjA2My0yLjU0Ni0uNzAzLTEuNjcyLS43MDMtMy41OTQgMC0yLjA3OC43OTctMy42MjUuNzk3LTEuNTYzIDIuMjY2LTIuMzYgMS40ODQtLjgxMiAzLjI1LS44MTIgMiAwIDMuMzYgMS4wMTYgMS4zNzQgMS4wMTUgMS45MDUgMi44NzVsLTEuNzM0LjQwNnEtLjQ2OS0xLjQ1My0xLjM2LTIuMTEtLjg3NC0uNjcxLTIuMjAzLS42NzEtMS41NDYgMC0yLjU3OC43MzQtMS4wMy43MzQtMS40NTMgMS45ODQtLjQyMiAxLjIzNS0uNDIyIDIuNTYzIDAgMS43MDMuNSAyLjk2OS41IDEuMjY1IDEuNTQ3IDEuOTA2IDEuMDQ3LjYyNSAyLjI2Ni42MjUgMS40ODQgMCAyLjUxNS0uODYgMS4wMzItLjg1OSAxLjM5MS0yLjU0NnptMy4xMy0uMTU3cTAtMi42ODcgMS40ODQtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjUgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOC41OTQtMi4wMzIgMC0zLjI4Mi0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg3IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTIuOTIyIDIuMDQ3LjkyMiAxLjIxOCAwIDIuMDMtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ni0uODEyLTIuNzE4LS44MTMtLjkyMi0yLjAzMS0uOTIyLTEuMjM1IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTE1LjU2MyA0Ljg0NHYtMS4yMTlxLS45MDYgMS40MzgtMi43MDMgMS40MzgtMS4xNTYgMC0yLjEyNS0uNjQtLjk2OS0uNjQxLTEuNS0xLjc4Mi0uNTMxLTEuMTQtLjUzMS0yLjYyNSAwLTEuNDUzLjQ4NC0yLjYyNS40ODQtMS4xODggMS40MzgtMS44MTMuOTY4LS42MjUgMi4xNzEtLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg4LjM2IDEuMTEuOTU0di00Ljc5N2gxLjY0djEzLjM2em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODIuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg3IDAtMS45ODUtLjc2NS0yLjkwNy0uNzY2LS45MzctMS44OTEtLjkzNy0xLjA3OCAwLTEuODEyLjg5LS43MzUuODkxLS43MzUgMi44MTN6bTE1LjkwNyAxLjcxOWwxLjY4OC4yMDNxLS40MDcgMS40ODQtMS40ODUgMi4zMTItMS4wNzguODEzLTIuNzY1LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ2LS40NjkuNjQxLS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY1Ljc1LS44NDQgMi4wMTV6bTIwLjc3Ny41MzJ2LTEuNTc4aDUuNjU2djQuOTUzcS0xLjI5NiAxLjA0Ny0yLjY4NyAxLjU3OC0xLjM3NS41MTUtMi44NDQuNTE1LTEuOTY5IDAtMy41NzgtLjg0My0xLjYxLS44NDQtMi40MjItMi40MzgtLjgxMi0xLjU5NC0uODEyLTMuNTYyIDAtMS45NTMuODEyLTMuNjQuODEzLTEuNjg4IDIuMzQ0LTIuNSAxLjUzMS0uODI5IDMuNTE2LS44MjkgMS40NTMgMCAyLjYyNS40NjkgMS4xNzEuNDY4IDEuODI4IDEuMzEyLjY3Mi44MjggMS4wMTUgMi4xNzJsLTEuNTkzLjQzOHEtLjI5Ny0xLjAxNi0uNzUtMS41OTQtLjQzOC0uNTk0LTEuMjY2LS45MzgtLjgyOC0uMzQzLTEuODQ0LS4zNDMtMS4yMDMgMC0yLjA5NC4zNzUtLjg5LjM1OS0xLjQzNy45NjgtLjUzMS41OTQtLjgyOCAxLjMxMy0uNTE2IDEuMjM0LS41MTYgMi42ODcgMCAxLjc4Mi42MSAyLjk4NS42MjUgMS4yMDMgMS43OTYgMS43OTcgMS4xNzIuNTc4IDIuNS41NzggMS4xNDEgMCAyLjIzNS0uNDM4IDEuMDk0LS40NTMgMS42NTYtLjk1M3YtMi40ODR6bTE0LjY4NCAyLjEyNWwxLjY4Ny4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU3IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA2IDIuNDUzLjgxMy44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzkxLTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTkuMTQxIDUuNzY2di05LjY3MmgxLjQ2OXYxLjM3NXExLjA2My0xLjU5NCAzLjA3OC0xLjU5NC44NzUgMCAxLjYxLjMxMy43MzQuMzEyIDEuMDkzLjgyOC4zNzUuNS41MTYgMS4yMDMuMDk0LjQ1My4wOTQgMS41OTR2NS45NTNoLTEuNjQxdi01Ljg5cTAtMS0uMjAzLTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDggMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE3LjAwMS0zLjExbDEuNjg3LjIwNHEtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM3IDAgMy4xNTYgMS4zMjkgMS4yMzQgMS4zMTIgMS4yMzQgMy43MDN2LjQzN2gtNy4yMThxLjA5MyAxLjU5NC45MDYgMi40NTMuODEyLjg0NCAyLjAxNS44NDQuOTA3IDAgMS41NDctLjQ2OS42NDEtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTZoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODItLjk1My0yLjAzMi0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xMjUgNS43NjZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMzEtMS4zNi40ODQtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg3LjUzMmwtLjU2MiAxLjUxNXEtLjYxLS4zNTktMS4yMDQtLjM1OS0uNTQ2IDAtLjk2OC4zMjgtLjQyMi4zMjgtLjYxLjg5LS4yOC44NzYtLjI4IDEuOTIzdjUuMDYyem0xMi41NC0xLjE4N3EtLjkyMS43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTkzIDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDQtLjkzNy41MzEtLjM2IDEuMTg3LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ2OS0xLjQyMi0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYwOS0uMjE5cS4yMTktMS4wMTUuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTUuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMS4wNzguNDIxLjA3OCAxLjUxNXYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTEuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIyLjM0NC0uMjIuNzgxIDAgLjY1Ny41IDEuMDk0LjUuNDM4IDEuNDU0LjQzOC45MzggMCAxLjY3Mi0uNDA3Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NHptNy43ODIgMy4zOWwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4MS0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzItLjA2M3ptMS42MDUtMTB2LTEuODloMS42NDF2MS44OXptMCAxMS40N3YtOS42NzNoMS42NDF2OS42NzJ6bTMuNTM2LTQuODQ1cTAtMi42ODcgMS40ODQtMy45NjggMS4yNS0xLjA3OSAzLjA0Ny0xLjA3OSAyIDAgMy4yNjYgMS4zMTMgMS4yNjUgMS4yOTcgMS4yNjUgMy42MSAwIDEuODU5LS41NjIgMi45MzctLjU2MyAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOS41OTQtMi4wMzEgMC0zLjI4MS0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg3IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTMuOTIyIDIuMDQ3LjkyMiAxLjIxOSAwIDIuMDMxLS45MjIuODEzLS45MzcuODEzLTIuODQ0IDAtMS43OTYtLjgxMy0yLjcxOC0uODEyLS45MjItMi4wMy0uOTIyLTEuMjM1IDAtMi4wNDguOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTkuMjk4IDQuODQ0di05LjY3MmgxLjQ2OXYxLjM3NXExLjA2Mi0xLjU5NCAzLjA3OC0xLjU5NC44NzUgMCAxLjYxLjMxMy43MzQuMzEyIDEuMDkzLjgyOC4zNzUuNS41MTYgMS4yMDMuMDkzLjQ1My4wOTMgMS41OTR2NS45NTNoLTEuNjR2LTUuODlxMC0xLS4yMDMtMS40ODUtLjE4OC0uNS0uNjcyLS43OTctLjQ4NS0uMjk3LTEuMTQxLS4yOTctMS4wNDcgMC0xLjgxMi42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTY5OS4wNiAyMTQuOTkydjMwLjAxNiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik02OTkuMDYgMjE0Ljk5MnYxOC4wMTYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik02OTUuNzU2IDIzMy4wMDhsMy4zMDMgOS4wNzYgMy4zMDQtOS4wNzZ6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0xMTAgNjFoNDAwLjUwNHY1My4wMDhIMTEweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMjcuMjk3IDEwMC43MlY4MC41MTdoLTcuNTQ3di0yLjcwM2gxOC4xNTZ2Mi43MDNoLTcuNTc4djIwLjIwM3ptMjQuMjM0IDB2LTIuNDM4cS0xLjkzNyAyLjgxMy01LjI2NSAyLjgxMy0xLjQ3IDAtMi43NS0uNTYzLTEuMjY2LS41NjItMS44OTEtMS40MDYtLjYxLS44Ni0uODYtMi4wOTQtLjE3MS0uODI4LS4xNzEtMi42MjRWODQuMTI2aDIuODEydjkuMjAzcTAgMi4yMDQuMTcyIDIuOTcuMjY2IDEuMTA4IDEuMTI1IDEuNzUuODYuNjI0IDIuMTI1LjYyNCAxLjI2NiAwIDIuMzc1LS42NCAxLjExLS42NTcgMS41NjMtMS43NjYuNDY4LTEuMTI1LjQ2OC0zLjI1di04Ljg5aDIuODEzdjE2LjU5M3ptNi44OSAwVjg0LjEyNmgyLjUzMnYyLjUxNnEuOTY5LTEuNzY2IDEuNzgxLTIuMzI4LjgyOS0uNTYzIDEuODEzLS41NjMgMS40MjIgMCAyLjg5LjkwNmwtLjk2OCAyLjYxcS0xLjAzMS0uNjEtMi4wNjMtLjYxLS45MjIgMC0xLjY1Ni41NjMtLjczNC41NDctMS4wNDcgMS41MzEtLjQ2OSAxLjUtLjQ2OSAzLjI4MXY4LjY4OHptMTMuMjgyIDBoLTIuNjFWNzcuODE0aDIuODEzdjguMTcycTEuNzgxLTIuMjM1IDQuNTQ3LTIuMjM1IDEuNTMxIDAgMi44OS42MjUgMS4zNzYuNjEgMi4yNSAxLjczNS44OTEgMS4xMDkgMS4zOTEgMi42ODcuNSAxLjU3OC41IDMuMzc1IDAgNC4yNjYtMi4xMDkgNi41OTQtMi4xMSAyLjMyOC01LjA2MyAyLjMyOC0yLjkzNyAwLTQuNjA5LTIuNDUzem0tLjAzMS04LjQyMnEwIDIuOTg0LjgxMiA0LjMxMyAxLjMyOSAyLjE3MSAzLjU5NCAyLjE3MSAxLjg0NCAwIDMuMTg4LTEuNTkzIDEuMzQzLTEuNjEgMS4zNDMtNC43ODEgMC0zLjI1LTEuMjk2LTQuNzk3LTEuMjgyLTEuNTQ3LTMuMTEtMS41NDctMS44NDQgMC0zLjE4NyAxLjYxLTEuMzQ0IDEuNTkzLTEuMzQ0IDQuNjI0em0xNC4xODcuMTI1cTAtNC42MSAyLjU2My02LjgyOCAyLjE0LTEuODQ0IDUuMjE5LTEuODQ0IDMuNDIyIDAgNS41OTMgMi4yNSAyLjE3MiAyLjIzNSAyLjE3MiA2LjE4OCAwIDMuMjAzLS45NjggNS4wNDctLjk1NCAxLjgyOC0yLjc5NyAyLjg0My0xLjgyOCAxLjAxNi00IDEuMDE2LTMuNDg1IDAtNS42NC0yLjIzNC0yLjE0Mi0yLjIzNS0yLjE0Mi02LjQzOHptMi44OTEgMHEwIDMuMTg4IDEuMzkgNC43ODEgMS4zOTEgMS41NzkgMy41IDEuNTc5IDIuMDk0IDAgMy40ODUtMS41OTQgMS4zOS0xLjU5NCAxLjM5LTQuODYgMC0zLjA3OC0xLjQwNi00LjY1Ni0xLjM5LTEuNTk0LTMuNDY4LTEuNTk0LTIuMTEgMC0zLjUgMS41NzktMS4zOTEgMS41NzgtMS4zOTEgNC43NjV6bTE2LjQ2OSA4LjI5N1Y3Ny44MTRoMTUuNDUzdjIuNzAzSDIwOC4yNXY3LjA5NEgyMTl2Mi43MDNoLTEwLjc1djEwLjQwNnptMjkuODYtMi4wNDdxLTEuNTYzIDEuMzI4LTMuMDE2IDEuODc1LTEuNDM4LjU0Ny0zLjA5NC41NDctMi43MzUgMC00LjIwMy0xLjMyOC0xLjQ3LTEuMzQ0LTEuNDctMy40MjIgMC0xLjIxOS41NDgtMi4yMTkuNTYyLTEuMDE1IDEuNDUzLTEuNjI1LjkwNi0uNjEgMi4wMzEtLjkyMi44MjgtLjIxOCAyLjUtLjQyMSAzLjQwNi0uNDA3IDUuMDE2LS45Ny4wMTUtLjU3Ny4wMTUtLjczNCAwLTEuNzE4LS43OTctMi40MjEtMS4wNzgtLjk1NC0zLjIwMy0uOTU0LTEuOTg0IDAtMi45MzcuNzA0LS45MzguNjg3LTEuMzkgMi40NTNsLTIuNzUtLjM3NXEuMzc0LTEuNzY2IDEuMjM0LTIuODQ0Ljg1OS0xLjA5NCAyLjQ4NC0xLjY3MiAxLjYyNS0uNTk0IDMuNzY2LS41OTQgMi4xMjUgMCAzLjQ1My41IDEuMzI4LjUgMS45NTMgMS4yNjYuNjI1Ljc1Ljg3NSAxLjkwNi4xNC43MTkuMTQgMi41OTR2My43NXEwIDMuOTIyLjE3MiA0Ljk2OS4xODggMS4wMy43MiAxLjk4NGgtMi45MzhxLS40MzgtLjg3NS0uNTYzLTIuMDQ3em0tLjIzNS02LjI4MXEtMS41MzEuNjI1LTQuNTk0IDEuMDYyLTEuNzM0LjI1LTIuNDUzLjU2My0uNzE5LjMxMi0xLjExLjkyMi0uMzkuNTk0LS4zOSAxLjMyOCAwIDEuMTI1Ljg0NCAxLjg3NS44NTkuNzUgMi41Ljc1IDEuNjI1IDAgMi44OS0uNzAzIDEuMjY2LS43MTkgMS44Ni0xLjk1My40NTMtLjk1NC40NTMtMi44MTN6bTcuMjAzIDguMzI4Vjg0LjEyNmgyLjUzMXYyLjM2cTEuODI4LTIuNzM1IDUuMjgxLTIuNzM1IDEuNSAwIDIuNzUuNTQ3IDEuMjY2LjUzMSAxLjg5MSAxLjQwNi42MjUuODc1Ljg3NSAyLjA3OS4xNTYuNzguMTU2IDIuNzM0djEwLjIwM2gtMi44MTJWOTAuNjI2cTAtMS43MTktLjMyOC0yLjU2Mi0uMzI4LS44Ni0xLjE3Mi0xLjM2LS44MjgtLjUxNS0xLjk1My0uNTE1LTEuNzk3IDAtMy4xMSAxLjE0LTEuMjk3IDEuMTQxLTEuMjk3IDQuMzI5djkuMDYyeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik01ODkgNjFoMTE2Ljk0NXY1My4wMDhINTg5eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik02MDAuMzQ0IDEwMC43MlY3Ny44MTRoMy4wMzF2MjAuMjAzaDExLjI4MXYyLjcwM3ptMTcuNTc4LTE5LjY3MnYtMy4yMzRoMi44MTJ2My4yMzR6bTAgMTkuNjcyVjg0LjEyNmgyLjgxMnYxNi41OTR6bTcuNzY1IDBWODYuMzE0aC0yLjQ4NHYtMi4xODhoMi40ODV2LTEuNzY1cTAtMS42NzIuMjk2LTIuNDg1LjQwNy0xLjA5NCAxLjQyMi0xLjc2NSAxLjAzMi0uNjg4IDIuODc1LS42ODggMS4xODggMCAyLjYyNS4yODFsLS40MjIgMi40NTRRNjMxLjYxIDgwIDYzMC44MjggODBxLTEuMjgxIDAtMS44MTIuNTQ3LS41MzIuNTQ3LS41MzIgMi4wNDd2MS41MzFoMy4yMzV2Mi4xODhoLTMuMjM1djE0LjQwNnptMTQuMzYtMi41MTZsLjQwNiAyLjQ4NXEtMS4xODcuMjUtMi4xMjUuMjUtMS41MzEgMC0yLjM3NS0uNDg1LS44NDQtLjQ4NC0xLjE4Ny0xLjI2NS0uMzQ0LS43OTctLjM0NC0zLjMyOHYtOS41NDdoLTIuMDYzdi0yLjE4OGgyLjA2M3YtNC4xMWwyLjc5Ny0xLjY4N3Y1Ljc5N2gyLjgyOHYyLjE4OGgtMi44Mjh2OS43MDNxMCAxLjIwMy4xNCAxLjU0Ny4xNTcuMzQ0LjQ4NS41NDcuMzQzLjIwMy45NjguMjAzLjQ3IDAgMS4yMzUtLjExem0xLjcwMy01Ljc4cTAtNC42MSAyLjU2My02LjgyOSAyLjE0LTEuODQ0IDUuMjE4LTEuODQ0IDMuNDIyIDAgNS41OTQgMi4yNSAyLjE3MiAyLjIzNSAyLjE3MiA2LjE4OCAwIDMuMjAzLS45NjkgNS4wNDctLjk1MyAxLjgyOC0yLjc5NyAyLjg0My0xLjgyOCAxLjAxNi00IDEuMDE2LTMuNDg0IDAtNS42NC0yLjIzNC0yLjE0MS0yLjIzNS0yLjE0MS02LjQzOHptMi44OSAwcTAgMy4xODcgMS4zOTEgNC43OCAxLjM5IDEuNTc5IDMuNSAxLjU3OSAyLjA5NCAwIDMuNDg1LTEuNTk0IDEuMzktMS41OTQgMS4zOS00Ljg2IDAtMy4wNzgtMS40MDYtNC42NTYtMS4zOS0xLjU5NC0zLjQ2OS0xLjU5NC0yLjExIDAtMy41IDEuNTc5LTEuMzkgMS41NzgtMS4zOSA0Ljc2NXptMTYuNjI2IDguMjk2Vjg2LjMxNGgtMi40ODV2LTIuMTg4aDIuNDg1di0xLjc2NXEwLTEuNjcyLjI5Ny0yLjQ4NS40MDYtMS4wOTQgMS40MjEtMS43NjUgMS4wMzItLjY4OCAyLjg3NS0uNjg4IDEuMTg4IDAgMi42MjUuMjgxbC0uNDIyIDIuNDU0cS0uODc1LS4xNTctMS42NTYtLjE1Ny0xLjI4MSAwLTEuODEyLjU0Ny0uNTMyLjU0Ny0uNTMyIDIuMDQ3djEuNTMxaDMuMjM1djIuMTg4aC0zLjIzNXYxNC40MDZ6bTguODkgMFY4Ni4zMTRoLTIuNDg0di0yLjE4OGgyLjQ4NHYtMS43NjVxMC0xLjY3Mi4yOTctMi40ODUuNDA2LTEuMDk0IDEuNDIyLTEuNzY1IDEuMDMxLS42ODggMi44NzUtLjY4OCAxLjE4OCAwIDIuNjI1LjI4MWwtLjQyMiAyLjQ1NHEtLjg3NS0uMTU3LTEuNjU2LS4xNTctMS4yODEgMC0xLjgxMy41NDctLjUzLjU0Ny0uNTMgMi4wNDd2MS41MzFoMy4yMzR2Mi4xODhoLTMuMjM1djE0LjQwNnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDczLjkxNiA2NS4wMDNoNzAuOTkydjcwLjk5MmgtNzAuOTkyeiIgZmlsbD0ibm9uZSIvPjxnIHRyYW5zZm9ybT0ibWF0cml4KC4yNzczMSAwIDAgLjI3NzMxIDQ3My45MTYgNjUuMDAzKSI+PGNsaXBQYXRoIGlkPSJiIj48cGF0aCBkPSJNMCAwaDI1NnYyNTZIMHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGltYWdlIGNsaXAtcGF0aD0idXJsKCNiKSIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQlp5RWxFUVZSNDJ1MjlCM2hVMlhibjJ4N2ZzY2N6RHQvenZIZm5lNTU1OXRqekhHYnM1enUrSFVoQ3Fsd1NFaEs1YVJvNkVFUlFEb2dNQWlXRVJNNTBON25EcFc4M0lDRWhRSW1jYzg0WjVWeEJvc0o2ZSsxelRxbXFWT0dVVkVuMFh0KzMrcUJVRXJSKy83M1MzdnU5OTVneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1tZGNONEEvUU16UGgzNkdQM1FkL0tOYUZyeEZlZy8xak1tTVdwSkFMY0dkV3dhOEVlSDN4clJ4K0h5WU96Smo1RjNZQlFIQURueVFUL3NPWDZ6cityeWxmZC82L3NkdTF2NTI1WFI4V3QwTTdMSDZuYm5UOER0MkV1QjM2U1FrNzlGOGs3TlIvTm11bi9sUHl2ckZ4MjdWUk03YnJaZE4yYUQrTTNkcjFUeE8zYXY5dlZRSDhKM2MvbXJVd01GRmd4c3pMd0R0YjFjZHViZjZMMkIyYS95OXVsMjVrNGs1ZGV1SnUvZWFrM2ZxU3BEMjZLOG03ZFMrUzkyamJrbmJyak1RaEVYMlhEaExRZCtvZzNzcnhiWHgvb3VEYzU1dkoxMm5JYTcxSjJxdS9sYmhiZXl4cHQzWUhFWXlGczdiclBwbTJUZnZocE0wZHYzYjhvNU9mblFrQ00yYWVReS9rNGZZZmlzNXYrTE5aWkdWTzJOazVNMm1QL3V1VTNmcnpLWHYxRGNsNzlBUldQY1R0ME1IMGIzUXc5U3NkZkxGRkJ4TTNhZUdURFZvWXQwNExvOWRxWWVScXJXbkVLcTBwWnFYV0dJMWVhT3Y0ZnZ6NFNPS2oxMmpOWThqWGZMeGVDeE0yYXVHenpUcVl2RTBIMDc3V3djd2RuR2lnU0JCQklBS2p2MEhFNTN2eS9XZkhmcU9YamlWUmg2UDBnZml2ZkpXZU1HUFc3NkczaDJONEp2ekhHVHQxUXdqY0M1TDM2c3NJN0hVSWU4SXVQWkF3blFMNTZVWWRqQ1dnRW5DTlVZVmF3N0FDclRGaUJYVVRjVE41VzNDSUZIeUYxWi90MzgvN01PSVJuSnZEODZtYmlOUFhKcDlyR0U3RVloUVJDUlNJU1VSb3BuNmxoWm5idVVpQ2lzSXUzV2tTVWF5WVRsS09Ud3JiLzA5SDBRRVRBMlpzcGJkYjZjbEsrMThUU1c2ZXZGdi9RK29lL1dzRVBtNm5ucTdxRXpmcFlBeUJEbGR2QXFHUlFHb2lia1o0bzlBTFJYcUJPTGNXQi91M1VWQlFKTUx6TldiMWNnMFJCdzM1ZVRTR21KVWEwOGNrNHZoaWk1WkdJMVFRZHVsYUVuWnBqOHphb1V1YXRMSGpmL1lRQXhJWnNEU0IyUy9DaEp6ZStuMVlhRXZjMlJtYnNrZC9oRUN2VFNRclBNSXppWVRkSkF3M0Q4ZVZmUVVGM293Z2tyY2R1aThGd0pVVDhDMGVrYStCOE9XY0tKQS9HNkpSRUVpVThPVldQa0xBK3NOdTNZVzRIZnI1WDJ4dC82Y2VoVVFXRlRCN0Y4MSt0WTlJZ0QrTzM2RWRrYnFuY3orQlhvUFFZMzQ5WVlOT0NPZHhsVGM3Z3oxWUJjRGVyUVNCUmdna2JZRFBObXRKQ3NPTHdTN2R5Wm5idGJIV2RRUGdveU1XRlRCN0o4QzNidGQ5c2FYejcwbE9uNXU2Vi84aWFiY2VZbm5vWTFaeFlUMEIxRXp5YTRpMjgvNHFBT2lSZ2hnUVZ4TkJVR0Ywd0l2QjV5UlZJS2tCSk83U3RzWHYxRzZmL0kxdWtGM0V4TklEbi8rU2poMUxRcS9NWHpIM3BsZlpoUGt6ZHVnbHlYczdmMHJacXpkaFR2LzVGaDJNV3QwTmZiUUQ2TjhWQVJEZ0Y5eGVESVlWYUF6WXFaajZOZGRkaU51bE96MTl1KzZUOThaMlIweGNCNEg5WHZuQVdjcmxTOFArUElIK05CYnpNSzhmdjE0SDBTU25KNENaeVJQY2dmK3VDSUM5Q1BRUUEwd1Q4alhHbUZVYU02WUlHQlVrN05ROW5MNURsL0IrNXB2L3lINlRmR2pwNmVsTDVzNmRtMHM4dXplZWtaRVJ0RTcrYnY1eCtyMHlzbFBpSnVja0pNVGx4SzA2bTVYNjdkc0xTWHU0dnZ5WXRWclRjTExhSTZneEJPZ1JLN25uTDBVQUlrUjYrSElTRmVScFRGRUZHdU9uRzdVdzR4c3RKT3pxZkQ1ejQ2T0M2WEd6cytLbWpzK0pqNC9QVGt4TXpzYW52MzNXckZsKzl4a3pabmpkcDArZm5rVjhSV3hzN05UM1VsTlRONldrcEVCZlBEazUyV3VlbEpUa1ZVOU1USFRyQ1FrSnZYVDgraVNJbnhVTGNUT25RL0xpalpDNitUYjJ3bW1mSHNOOEFoTU8ybERnN1owSmdJT29BQXVIK1p3UWtEOGJQbG1QUWtBaWdpMVBJVzdKTG9pZFBnT21UWjRFMDJmTTRIejZkS2RPZnNHOTV0T21UUlBsVTZkTzlhcFBtVExGYXo1NThtUWJKMyt2Q1VJZDRCWnhJTjVGM09DSmp4a3pScFNQSGozYXJZOGFOY3FyUG5Ma1NGRStZc1FJVVI0VEUwTThtbnVPR0dtSUhoNXBpQXFYRzBaL2xtU1l1ZktDSWVWN01FejV4bXdnNEdPWWIzSUdQaE1BRjU3UCtURCtTWVRBakMzRjhSc05ocGw3d0RCOS9TUER5TWxMREVxNXhLQlNTQTNoRWNNTTRlSGh4Tlg4azNPMVdpM0tWU3FWVjEycFZJcHloVUxoMXVWeXVWZGRKcE1acEZKcEoza0NlZTYxcEFIanhvMGJ3UXVBa1grS2RnSzNLQ2VBaTNJQ3J0ZWN3QzNLQ2R5aW5JQVBNZmdrUGp4Q0RqRmpKc0NVcFVWQXduMll2Z3RnekJvTmdVeURlYjRsekdjQzRJRUk1UGYwYmlIb2dNajhkcGk0eFFEeGV3RW1MejhEVVdPbmdWSTZCTUxWS2lCQ0FBUjhHeWVBaTNJQ3J0ZWN3QzNLQ2VDaW5JRHJUVGNqL0NnRTVHZjlXNzdDeWxVQ2lRZ2M2NDBJQkxNQWlCVUJzUUl3WXVRb2lJNktnT0dSRWZCcDBtcEkzdDRBOGQ4Q25abVBLdXlnc0k1WTVSNThGZ0dJRjRDZVF0Qk9mcjUyK1BJYmdQaWRlcGlRc1JmVUVaR2drb2RDQkJXQkNDWUF6dDNBQzBBMk1pK1JTSDVGMjRENHhzY2ZmL3diVDFmL1gwd0VnSjlEUElxcytxTW1USWVacXk1QnlnOEFrN1owRWZqYUFYdjNNYXVzbkFtQTF3WEFXZ2pVeXpXZ3pHM0hEVTR3WXpmQWpJMVBZY1JuYzBBcEM3R0pCcGdBMkxnSm53VCtsNE1HRGZvVFB2am5aaXlvRW5CUndBWWViRU1nQkNBUXE3OWJBUmc1R21LaUkrbktQeWx0SzZUdTBjRDBuUUFqVjNYUWNOOEdmQThFSUpvSlFLOEVJSUl2RW9aemN3U2d6bXVEQ1p0SldyREhCSk1XSGlEUlFCU0pCc0tJQ0VReUFiQjFJLytjYU0zOGU5WktRSUQrUytMTlBOem1YMEw0NzF3QThHTWs1QittaEZIanZ5U3Iva1ZJL2g3Z2s0MTZBZ2dKOTFmeDRiNlBCYUEvandMN1dnQUV4MmhnT0VuQlluZHgwVURNcDhtME5rQUJGeEVKL0FJRXdNaXYvcWRzVm41ckV4U0JwQUlKWXFPQWQxWUFDUGdqUnNUQWNBTC9oRm01a0xLemhSYjVScXpDWHpTTmMvQ1pBQVJFQUNMNHRFQWxSQU83RFRBKzlSdFF5cVdnVXNxSkNBejdwUXVBR1ovazlRWUswNy91eG9OdjhKQ2IrZ3AvdnhNQUllU1BIZzVUTXZkREtsbjFKMjRtdVg1QnUrdFZud2xBd0FUQVBocUlXYW1CbVhzQUp1ZWZnL0NvTWFDVURhVjFnVitvQUJqNDV3NjM4QXNmSERkdW5QcVhLQUFqQ2Z6UmtTb1krZkhuRUxmdUppUjh5N1gyUkszNkFTd0FNZ0d3alFhd05oQyt2QTIrK0JwZzV0WWFpQ1lwZ1VJeW1IWUkxT3J3WDVJQW1QbW5obnpQdjdMdStya1ZBZkk4NEt3dDJCL2c5N1FGaVBuKzhHRUtHRGRsRG0zdlRkc0JFRlBZVG1FZEtYYmwvNFVKZ0ZkbkFMd2tBTllwZ1NLbkRjWnRlQXR4dTdwZ3pLeFZvSEJTRjNpSEJjREFoLzV6SFJYK25CeGF3U25FeHg5Ly9BOVdFWUM1Ti9EM2k5V2ZkNFIvWXRKcU90VHoyZGEzTk9RZndZTXZHbjRtQUVFaEFJSnpJc0NKT0tZRW44N2JCd3E1Rk5RcUJSR0JpSGRkQUV3OC9BK3R3bjV4VzZ1dDJvTDUxZ1ZCWDhFZk1BRVlOWXF1L3NNajFmRGxndThnNVhzYzZ0RVIrRHNzcXo0VGdQNHBBQWcvT2xjWDZDQmYxMDY3QkYvbW5nQ1ZPZ0pVU2hsTkNid0pmNUFKZ0ZENUh5bXE4R2RuUWx2d1Q0blg4RUNiK3N2cUwwb0FSbzJHa1NOaUlIcDRKRXpMTG9QRTd3QkdyOFl4WGswUCtOOFpBUWptTVdBZkNRQVZBVzZYSWFoeTIrREw3UUJUVjkrRThNaFJvRkpJYUNUd0RncUEwUE0vS2lydmR4TUZUT2FCTnZTWDFkK3RBRkQ0b3lFbVpnVE1LRGdGY1hzQlJxenNzTW4zbVFDOE93Smc3VmdYbUxRTllQcUdweEFSOHdrb1phRWtEWWg0SjJzQVVxbjBONzBXQU90SWdBQjluZ2ZiNkczNC9SNytFL2hIeEF5bjdiNjROVmZvS0NrdDlqa0IzeGNDRU0wMkFnVk1BQVFSK0dTekNXWnNlUVBEUm40R0NtbUkxeUtCSUJBQW9lMjNRWFRoejExSFlQejQ4VU41dU0zQkRyOUxBUkRnSHpVRzR0ZGRwOE05MFhiRnZqNEpBR3NCK2x3QXdyMGdBSUlJZkx6UkNETzIxc0d3MFY5eUl1Q0ZTTUNiQXRDSGdaOW10VnI5bHg0Vi9rUzBCYjhWa3dvRXJRQmcyQjhUVFZmKytQVTNhRUZvdURmaFp3TFFyd1FnbkJlQnNSdFFCT3BoMktqUGlRZ003Yk1JQkZnQWhMWmZRcDlYZi91MklCR0F2eWFBNjExRkFzRUF2ME1Cd1BlTmlLSHovWEZycjFMNG93dkZ3YzhFb1A4TUFYa2lBRUtIUUU1RVlNeDZJZ0piYWlGaXhLZWc2R05OSUlBQ1lPS2ZON3grYnFDZ0pFUUVGanVMQW9JVy9wSDR2aEVRRXowY1pxMDh3NFg5aGR4V1VpWUF2MndCb002THdOZ05KcGkrOFFVM09peVhnRW9kM3QveWY2SHZyKzVOMjA5c1cvQ1BDTHhQcmR1Q25vSWZDQUdJamdxSDZYbkhZTVllcnVEbkNmenZiZ2RBUTc4MjJ2cTEzckVoSURHdTRrVkFoaldCVFdhWXR1WWVxTUlqUWFtUWVTd0NBUlFBb2UxM3dCZncyMGNCSHdzZGdXQ0hmOVFvYnJaL3l1TGYwVlpmekVvTy92NncrdmV0QTZDeGN1RjlPdDcxMUljWGRoSUFkS0RJMVlJcVQwdHlZb1NhKzV6aEszWGsrK3ZvMTBVU29lajJkMU1BVlB5ZlVRUW1iTVhqeHM0VEFPVUVhaVZ4ZGJBTGdOa3FBdmlIdnJiOVJOVURDUHhWUE16R1lJSGZYZ0JHalJwRDRGZkM1Mm5yNmFZZVBNRERVL2o3eCtwdkRUcUJkaVVCZkdVblJLM3E0cDRVWkx5aHB4MGlsN2RBWkY0VDhRWUl6NjZEeVZ2YUlHMnZEbVo4bzRIUE5uWEFxSlZ0b01wdGdkQ2xMUkMyckIyVWVmaDZYUkM5K2kwUmhVNklKSy9QQ1FEQzNmRk9DWURnbUE1ODlqWEFaNHNQZ1Z3U1FxS0FvQmNBb2UyWDc3WENuNGlPd1B2QnRQTGJDd0RDSHhPbGhrOWlGMExTWGdPTVhvTjM3bW5lSVFIZ3duZGNxWWRiWUNmZ3IyZ2pjTmREUkJiSlpUUHZnM3JSRFZEUHZ3U3F1V2RCbVhFU0ZMT1BneUs5Q2xRWlZUQmcxbEU0ZlA0MW9CbE5KdWg4YTRTR3RyZHc1NFVHRGw5c2dsWDdYOExVdFE5QXNmQU9ESjc3RU9STDM1RFhieVhmbDRoQUlZcUJIb1lWNkhqUU81d0tRckROQUxnVEFIUkZiaHRNM2c0d1Bua3J5TU1HaVM0S0JrQUFoTUpmRFFIL1Q3M1M5aE9iQ3BBb1lCc1B0aUdZNEtlOS91aElHRE5oS2lUdGFJYVBOM1FSOERyd2pIN2ZoZjkrRVFBQmVoSytFK0NIVStCYllWak9Ld2hmY3BlQ3JweHpDcFFFY0dWNkJTalR5cmxuZWlWMWhjVlJBS3BoWU53eE9IemhEUlVBazhrTWpzeHNOc0xEbHkyd3ZmUWhUTXc5QXdNVEttRm8yaGtJWDN3YndwYzlnNGpjUm5wTk9BckNzQUs5bFJqMER3RlFPWEZsWGdkNWRzQzA3U1lZK2VVQ0Vna01FU1VDQVJBQW9lMDMyZWVydjMxQmNOS2tTYjhtWUxmeGdKc0RDWCszQUdDN2p6dk9LMzdqWFppMHpVd3IvcjJCUHpqeWYrNHNBcnJTSS9RWTRpOG4wQzE3Qk9FTExoT1FUMWpCVGtDZlRlQ2ZYVTM4dUoxWFUvQUZ0eGNBSXhFQU13V2VpSUdaRXdRU0ZOZ1lmazdsMVZxSVhYa2VQcHA1R0VLVGp0TFhsYzg1RDZyRmR5RThwNWE3REpTS2dZNkh2eU1vWndEY0NRQVhCWFRRS0NkMkd4SFprWk5BS1E5eld4VDBzd0FJaGIvemZsbjVuUlFFVTkxRkFmNkR2N3ZvRjV0ZEFsTjJRQS80KzAvNEw2ejJuVnlJbjk5Q29IOE02Z1VYS2J6SzlISlF6YTdnZ2UrRzNKbGJ3Mjh0QUdWV0F1RE1URVFWN0Q5ZWVyNEdSaXc2QlIvTk9rYWpDbG5xTWVJVklNODRTOFRnSG9rTTZqa1JJRkZCaEJnaHlBOCtBVkR6OVlDUjYwd3daZFZ0VUNMa1N0ZEZRVDhMZ0ZEOEcrcXp5cis3S0FDdnZpYVEzK1ZoTndVV2ZxN285MW55U3BpRjdiNlZIVGJnK3d4K3J3cUFobnV1NnVSeTdkd2FDQ2Q1dkdyT0NWQlI2Q3NwdktxTTQ5UmRRZTh0QWJDUEFnUnIxNzZGeFR0dlVoR1FwWkZJSUwyYWlvQTBCZDhtcWNhOFM2QmU5cHlBUytBblVVRUVTUldjQ2tFUUNvRFFIcFJudDhFbld3QW1MdmlacEFLRDZZbENRVEFFWk9DMytuNGJDUGh0Q29KanhveUpjdFFSOEFmOEZnSGc4LzZ4RTZkRHdvNTJHTDFXYjFQMEMvN1Zud00vWm5VbmZVWm12K1JXZXdTZXJQVGQwRmZidUw4RndKRVEvSzdxQlF4SnJBQkpLdFlYcXFrWXlOS3FpQmlVVTVkbm5BRlY1aU1DY0p0eklRaFNBYkNrQXpudDlIaXhVVk16ZVJHSTZEWDhYaEFBWWVYdkpKLzMxejV0KzNrd0psd2lpSUMvd0xkdisrRW1uMWxyYjhDRUxlWWVSYi9nWHYwMWRNWEh2bnRremd0UXp6L1BRVyt6MmxjNzlFQUpBRmpxQmR6WG5iaFJENUtVU3VweTh2cFVBTko0TVNCUmdZeEVCZkxacDBDMTVDRTltSU1UQXF2VUlNZ0ZnQjRvc3FJVHBteHVoSWpvY2FCVVNIdTBCLzBZL2d0dHY4WCtMUHk1RTREL1piWHFtLzBwQUVMb1AzbitMcGk2MDNIZUgralZQOFlwK0hvS2YxUWVDZlhwaWkrQTd4ejZ2c0x2TFFHd1JBTkc3bXZQM21tRTBPUktrS1pXV1ltQXRSaFU4a0p3R2xSTG4zS1JBTllJTUVVSW9oWmdEOC9EeTBlNFZHRFVlb0RQYzA3Uy9RSUJFZ0NoN2ZjVXAzTDlYdnh6MHhaY3pZTnA4R2ZvSHpOOEdJei9JZ2xtN2V5RUVRN0E5eFIrZjRYL01hdTdZUGlLRm9oWWRKMFA5Y1dCSDJ3Q2dHYmdSZURJeFJvWUdGL08xUVBTcWh3NFJnUzhFTXk5QUdyc0hCU1FhQ0JmNjFZSUFyWDYwNU9FckVSZzRqYUFzVE1MZXFRQ2ZoSUFvZkwvY2NCWGZ3ZjdCUDZDZ0Zudmp5aWdSK2kvN2lhTTMyUnlXUGdMcnZCZldQWDFNQ3pyQ1MzdUtWM2srUDFGQUt4ZlkydlJRL2h3SnRjaWRDd0NWZDJwQVhIbHdsc1FzWnlrQlN0Y1J3T0JGZ0R1U0xFT1VPZnI0Y3ROelRBc1pyeE5LdUFIQVJEZ3J3cG8zdThtQ3BqdWp5akFPdlQvTW1NclRON2huZERmdCtHL2hsLzFtMmtQbjdieU1xbzhCajlZQmNENkZXYXRQZytEU0NTZ2NDY0M1Q2xOUGdxeTJhZEFuZldHandhQ1dBQ0lLN0t4TlFnd2FXazVQVVJFbUEzd1Z3MUFLcFcrSDdES3Z4Z2pnRjdoUVRYNkx2UWZSVmIrS0JnN1lRck0rcVlWUnE3UkU5ZzFRYnI2OHhWK2t1dEhacjhncS81eHZyTGZPL0Q3Q3IrdkJNQjZvdkRKbTNZS3R0UXAvTjJPTlFOcFNqbDE1YUs3WERxd1F0Y2pHZ2dXQWVCU2dYYVl1TlVNbzc1Y1lCRUJId3VBMFBiYkZreWh2N045QWpJZVZwTXZ4MzF4MWo4MnI0THUzckxlNVJkY3F6OGY4cE0vUnl5NXpZZjdWWDJDUDVnRndQcTFOdTIvQ3gvRWxyaEpCVkFBS2kwdUlhSWhuM01Cd3ZOYWVxUUV3U0lBNkhqOVdFVEJXL2hpOVNNNkY2QlVLbnpaQWhUYWZtMGswdmgxVUJUKzNJbkE2TkdqOTNrN0ZiQ0ZQeHcralowUDAzWVk2UXJyVi9oWGlZY2ZWLzNoQmEyMHdzK0YvSDBEdno4SUFOOFpoRmJOVzRpYVV3NmhpVWNjZEFWNndzOTVGVGRJbEg0QzFOazFmRXJRNGYxRFFQb0F2M1ZCY093bWdQRXBXMEVXTm9pa0FlRStYZjJKcHdYdDZtL2ZGaVFDOEhjRTJyZmVLZ2phSC9DQmhiOFphMjdTVTF4R3JBckd3cDhHUm1DK3Y3d0IxSE5QV1VKK05RRXZuS1FBNFhPUFF3VHY0Vlp1L1Q3MUhOL0E3MnNCc0g2OWJVWDM0WU5wUmFEQVVXRlJBbERablJLa2tuK3pwYytvQ0FUVDZ0L3RIWFM3OUdjYm1pQWllaXk5Y1VqcHBoYlFDd0V3OGFIL1hhdFYvdy9lQzJhektnaG04ZEFhdkFZL25mVlh3bWRKQmZEbE4xajQ2L0J2NFcrVmVQaWpjdDlRME5RazVJK1llNEtDai9DRkpsZkE0SVJ5V2lUREovcVFSTzQ1aUg4L3ZoMldVZ21LMlZYMDZ5S3NCS0UvQ0lBUUJieHUxSUlpcFF3a2lhVWdTemtxVWdCNEVjQW5pUWFVaXgvUWRDRDRCSUE3VkhURU9vQUo4MzRDV2VoQUlnQnFyNGIvQkh3VGNmeHpWRkFYL3B5MEJmK0UrQXVyTVdHenA4NUhEeFluSW1BZU0zYXNlZnFHSnpCcW5RRkc5bkhjMTJmdzU3d2t3Q0s4MVRUOFJiaERraW9nZXVGSmlGdDdDWlovZnhkMkhYa0tSV2RlUS9ubFdxaThXZ2RITDlYQXp5ZGZ3bGNsajJIWm5sc1F1K29pUk0wL1FiOE92eDZCVU04NVRqM1lCVURZUklRMmI5c2wrR2g2TWNpVEQzTVZmMUVDWUZzWFVDeThDK0VpUk1EZkFrQkZJRmNMRXpacUlIcmNaTE5DTGpHcjFHb3p5ZFVkT2hFQlVVNkVBTjJncEp1UFZDVkIxL1lUa1FyUUtHRG56cDJmL3ZEREQwRDhMWEd6Si83OTk5L2IrSGZmLzJEZTkvMXU4NXE5cDQyZmJETDJlZGJmK3dMQXQvbHlYNUFWdTRxczRCeTRZNWFlaHNKOTkrRDByUVpvYXUveUNLTDYxazQ0ZGJNQjF2eDBIeWJtbnJPSUFjN2N1NG9HWE1Idkx3RVFYdlBveGRmd1lTd1JBQklKU0pOS2JVUkFqQUJnTkJDR3hjR0Z0MTJLZ0RwQUFvQmp3dXFDdHpEdjY5dkd2YnUrTXUzY3RkdThhOWN1VTErY2NJTlA4NDRkTzh4YnRtejVYLzFPQUt3amdXUEhqcDA2Y3VRSUVEZnlUN2RlVmxibTJJOGNOV2ZzYlROaFpUMjRRbjl1NVkvSmV3bnlOQzZjbjFKNEFVck92UUdOM3VDd1hXYmszV1RsbHZlWmV3TDUxbWlDQy9lYVlObnUyelFLa0tkVk9SV0JZQkFBNGEvUTBFcWdUVDhLWVFra0RVZzZiQkVCY2ZCWDBrMUdFb3NJM0hFcUF2NHFBRHB5V1U0SFROaWtOKzhycWphWEhqb0l4Y1dIaUJmMzJnOGRPbVRBWjJscDZXcnJCYlZmMmI1OSsyaStVbFJVTkxDa3BBU0ltL21uU3lkLytSNWVmS2dFanBRY2dLOSt2bXJBKzk1SCtEdjBYK1VlL3VqbGIyQkl3bEVZdCt3MGxKNS8wd040ZExQWmM0Z0VZYkMyZXkvYWFWMEFJNEcrQ01CaEh3cUF0UWpFcnprTEEyY2NJbWtBUmdHY0NFaVNqbmdnQU4waW9GaDBEeUpvWWJBajRPRS9qUUR5dUJPRUZNczdJWFBQSTlPaGd6L0N6L3NQd1A3OSszdnJadjdaUUJqNkMySGIvWHY5MFFRUklFcTJremdxbW9GL09uUlh3bEJhV21LZXZidlI2R2oxRDFqb2p6Y0pyeUU1ZjE0ZERFMHFoeFUvM0NFcnZ0RW1EUFltV2lnR3d0eDk3cmQzYU1IUXZpYmdEbjUvQ29Ed3Vwc1AzT082QVNtQ0FCeW1oVUV4SWlDeGN4UUI1WkluUFVRZ2tBTEFSUUVhK0dTRHh2ekQvcVBtb2dNL3c0RURCM3JyQm53ZVBIaHdCckpUVlZYMXEvZjZxd2w1eTlHalIvK0tBSzdsUVRkN0F2NmhrbEk0VW5vUWRoNjRhQnkvc2VmcTczUDRWemxmK1VldDZZU0kzQ1lJbjNjS2psMTY0M0MvdksrS2E3ZWV0dEpPZ1gwYUlFWUFzQjA1d0E4Q0lFd0dWbHgrQXg5WjZnQUl2K0R1UlVEaXlGUEtRYlhzRmQ4ZDZBaUNDSUNMQXBUNVhVU1k3NXBMU0JTdy84REIzc0J2NHA5WDNudFhURkN3dzRjUHozVVVCYmhOQ1lpWGxSYWJGKzZ0TWVEVzJWR3JOVUVBdjViOEhEcFE1N1hEMk93cjhPQmxhL2VLN3p2MmU0VFdpUnV1ME1LZzJ1cDBvS0FTQVA0SGZmaXlEVUlUU3ExV2YzRWlJSEhxRlNCSkkzK1BuRVlJWDBIK1B5enZDTGdBY0ZHQUZqN2YxR2IrNlVDSitlQ0IvYjBXQUJMK3k2MGo2SDV0UXY2Q2Z4a0MvRU1lZkpPb2VnQlovY3RLaStDSG9wUEdpWnM3elFqa3FDQ0FINzkvZUw0V0poYmVoNXJHRHBzdHNmNHdZV1U5ZHJuV0pnMFFBNytRQWd6d1l3MmdwYU1MSXVjY3M0aUFyUUE0RndIbkFsQkZvd0RwN0RNUVR1SFhCbmoxNXgwN0FpdTZZTTBQVjNzVEJSajQ1NC92RFB3T29vQlIvS3B2RkNzQVIwbjR2L3lISjhibzFWMldEVCs5Z2Q5YkFqQ1N2QjhQdS94azVTc0wvRVkvd205dFhRWVRUTWcrUzAvaVFhaURUUUM2VXlJVFRNeXFnaUZ4SlNCTEtuTWdBSTVGUU9KR0JHaG5ZUDUxdWtWWFRCVGdhd0hBNlVCcGpoN2l2cW96RngzMGFPVTNDeUx3MDA4Ly9WMS9iZnVKcWdjUXNJL3hnQnZkaGY2bEpjVlFWSExVR1B0Vmh4R1B6QW8wL0NOV2N1Znl4NnhvaElldk92d0NqN3NDR3c0VURZd3JwMkY5c0VZQWJXM3RNRzV4T1lURWx6aUpBSHFLZ0VTVTg1MkJKYzlJS3REcFZnUjhIZ0hnSGdFU0JRd25xZXIyMzU4MEZ4LzRQUW5uUFZyOXMvdDk0YytkQUJRWEYvOEdvd0FTRFppSUc1MTU2ZUV5WTNsWmtXbnJ6OWNNbzlaeXhiOUF3cyt0L2pxNkU2enFabURodDRhcnJrVVB3K2Flb0hNQllnVkE2UzhCNEpJaldQbmRKUmd3ZzVzR3BKQlRkeTBDRXBFaWdBTlhZYW5Wb01wcEpwR0FMdUFDUUtPQTNDNVl0T3V4K1hEeFQrYURSY1hHb3FJaVYvNldPTUwvaW9UOWY5S3YyMzd1UllCVHRwMjdkbTM2NnB2dDRNcTNmYk1EdHUvNEd0SzJ2elRncFJnamV5a0FNVjRTQUt3OXlITTBzS0ZNdzBNREFUZWhGb0F0UVd6cmlVa0Q1SDRTQU9FbFMwODlnSUVFZmxseUtkZi9UeXdWSlFKaElrVWdMQVdqZ0dNZ25YTVp3bDBJZ0QvZ3R5NEdUbGpmYXRxd2JTZHMyTFFKMW0vYVRKNk9uWDVzODJiNCt1c2RrL3J0MEkrbkJjRWxCUVcvWHJWMmZmR3FkZXVQckZxMzd2REtkZXZMYkgxRDJacTFxMHJ5TjM5L1p1SW03a1NkUU1LUHI0VUhWVXpicHFFVGVkWXJjRUFGd0tvbGlKdU04S0tRWUJBQTRkL200Yk5hQ0U4N0RFUGpENUhjM3g1KzF5SVFsbGdpU2dTd0ZZb2lJRWs1Qm9wTTU2bUF2d1JBU2ZjSGRKaUhGWGJDbkxWSDdxMVl2clFvdTZDd0xIdEZ3V0Y3ejhrdktNMWRVVkNSbmI5aTYzdS9GUE1rdkpteEc5TEdyTlVoaElaQXdXOHRBSmVmR0FJZStqdHRDYTYvVEhjUnF0eDBBM3d0QU1MUG85TjJ3TFRsVlRUMHg5VmZna0FubElnU2dUQ01BS2k3RmdHRVg2Z0Y0QVVsSWNuSFFaWGJTanMwZ1JRQTRrWjhyVSsyR1BhL3g4eXhDR0JOd0pYajUwM1pwcjNPQTIwS0pQd1lXbWJzYVFKelZ5djVEVGRCOE9CdjJ4SjBsd2JJL1NFQWZONWYrTzFGK0dEYVFaTDNjL0FMQWlCR0JMb0Z3TGtJWUtFUU54VGhGdXFQWnBWRHlzWkxjT2JxSS9pMDhBRUp3ZlY4ZTlCRCtMMG5BR1o1cmdaR3I5RjBMZmkyNVcrRTlOZmQ3enN6K2c4RjlCOWovbmRkL3pwaG84N2o4RC9HcTNQKy9MbCtoUnFJV25RT2xteS9CSGNmdndhelFVdVh1bUFTQW13SmZwSjlodVREemxNQlh3dUE4REtIYWQ1L2tPVDhod2pRaDJ6Z0Z5TUN0Z0xRVXdUdzd6Q1UvRDNmbjNHTS9KMVBRK25wUjlEU1ZBOUdYVFA4Y1BRT0RGbndoclpxaFZUQXovRHphWURHR0ZtZ2dTbGJ0VlA1Myt0Zk1ickZDUUQ5aDVxNVF6ZG56RnF0UitGL2pOY0ZnTi9mbi8yRVFGVk9mdWtxSVdyQmNkaXkveGJVMU5hVDMvak9vS2dGV0xjRUI4dzY2ckFsS1BleEFBai9Ebytlazd3L3ZaVGsvY1ZXQW5Db2h3QTRFNEV3cDE0QzBoUk9CRDRnNFQ2ZXRmQjEwVzJvcmEyRGp0Wkc4ditqRm1ycjZxRzI1alZNeUxzRzB1enVFZUZBQ0FDbUFmZ2N2MEZiVE0vSDJBZC95T2dXcFFCY0JEQjVxKzQ0RDdZeE1QQ2o2eUNta1B3aXpUdE5EL2lJbU1kTjNBMU9ySUFKWk9VNWNQd0JkTFExazk5K1EwQ2pBZXVXSU80U3BKZHorbEVBclBQK1dNejdweDhrZVgrSkJYNU9BTVNKZ0NQNEpYUUw4V0Y2c0VoSVFoa3MyM1VWSGp4NURkcjJScWl2cTRPYW1scW9JODgzNUtsdGI0THR4VGRnNEp3bjlERFJBQXFBR1RjSWpWeXRiYzdjQjMvSjU3NS93QUIzWFJ5Zy8wRForM1QvOWRPTk9oMGYvcHNEQXorLyt1TUZIck81Y1Z2aFhENkVESSs4SHBwVUNZbnJ6c1BaNjgvQTBOa1IwUHFBcTVhZzNOY0NJUFQ3TWUrZmVnRGtTUVRzQkh2NHhZa0FEZmNGOFBFb01RTCs0Rm1INEVNQy84ekNrM0RtMmhQUXREVkNVMk05QlI3QkZ4eWpnYWJHQnJqLytEazlpRldlM1V5QWJTTndhNzI2LzEra0FPQU9RVlBrQ2cxTTI2YU5ZbEdBQ0JQK2dlSjM2TWFPNWNKL28wL0E5K0J3ei9ENVowbElYZG5qa0U1OEc4TlF2QThQb2NyWmZSVWVQaVZBR1hRQnFRKzRhZ242VWdBc2VmOXBrdmVUbFYrSzBDZFllUThCY0M0Q0hQeWM0NG8vTktFVTNwOVdCR01XbGNQUGxYZEpudDhBYlMwTmRNVkgySzNoRjd5R1R3a3lOcDJEUWZPZWdTcTNpY0FvUWdTOEREODNGYWd4NE5kTTJLaFpnNy9YRWxZSEVDY0EwN2JwdC9CanY0YkF3STlEUjUwUWhiZjFabFRZclA3MkhzNExBMTZSSGIzd0JBay9iME45UXdNaG84dnY5UUdibG1BQzF4S1UrMUFBaE8vM21PVDlFV2tsTURTdXVJY0FoRGwxT3hFUXdLZUhoWlRBQjdGRklFODVEQnQrdkFxdjM5VFNWUitoeDF6ZkVmZ1dBYWpCejIyQ0g0L2RnbytTTGhCb1cwQ1JYZTgrRXZDeUFDaHlxWnR3ZUd6MEd1MFZScmNITm1tVDdqcmZnak1GWnVYSHp5WDU5TUxMVkFERW5PY2ZQcGM3OVJlRjRQTzhNMUI2K2lGb08xcjlXaDhRMG9CeXE1YWdBRDJlTUl6MUMrRm54ZlpaWDY4SFI5TnJOVEE5dnhJR3htTG9md2lrQ2NXMkFoRFB1eHNSa05CVnY1VE9EUXlhVlF6enQ1NkZXdzllMHB5K29iNDd6M2ZuS0JMTkpGSzQ5ZUFGeUZQTFFiYTBCaFE1alVRRUdnakE3YzVGd0RjQ1FPc0F3d3UxblduZjZ2K0cxUUZFNVA5enY5Zi85L0hyZFYweER2TC9HRC9DUHp5L2dSYitQTG13UTgzRGhZTXBtQnFrYmJvSWwyNC9CMk1YamcvN3J6N3dWbWdKcG5DcEMzY2NlU1hYTXlmQ2dNOS9ubndZaXMrK3RnbmpQYy83amJEcXU0dnc0ZFQ5b09EaEY3eUhBTVE3RndDY0VoeE1vSDkvMmtHWW5GY05WUmNmMFRBZVFjWTh2MVlFK1BiZVVGOFBrN0lxWUVqR0xVc1VvTXh1ZEN3Q1Bnai9lUUhBOFhFakZpTS8zNndiemVvQUlzTC9tVHUwSThZNHlQLzlCajlmL0l0Y2VwY1cvM3B6bTQ5UUg4QzJJWWJiQmQ5ZGc2Y3ZhZ2d2ZW9xT0w0WEEwaEk4K2hUK2Qrd1JDbnNvRVlMeFdhZGg3bGRYWWVPQmUvQmoxVk00ZU9vNVBLOXBBN1BKQUYxdjM0TEJZQ0FSQkJFcEVYbUxJQmhsbVBlVGxkOGFmR3UzZ2QrQkNFaEpxQjhhWHdLL25Yb1Foczg5QXQ4ZHVVV0xlKzB0alM3emZIZU9hVUlIU1JrV2tDamlnN2hxV2dmQUNBQUZ3S0VJK0ZBQWlCdnc3WEhyZFFXc0R1RENoSCtZeVYvcDhxenoveGkvd3Q5OTFwOTYzaGtpQUZWOXVzSXJuSzhkWUZvd2F2RkoyRnQyaDZ4cWpVUUQzdnBNQkFSK2E1czc0ZlA4YzdCaC96MjQ5ckFCMmpxMHRDNkIxWHJCRFc4N1FhZlQyYmhlcjRldXJpNHdHbzN1OC81VWt2ZlBLdUpXL1BpZUFvRHZjeVFDV0NkQS96RDJJQTM5QzcrOUJNOWV2cUhodmdCd2I4QzNyZ1BnYTIzODZUcjhkdG9oVUM1N1FkSUFKeUtRNTdQd1gzQWpUZ1dPV3EycHRtNXpNM1BTLzUrNFNYdEU2UC83SFh5aCtKZFhRK0N2OU1vOWZrTGJVRTdyQTVVd1pjVlpLRC8vR0RxMWJUU0VOdnRFQk16d2xxenFXZ0kwU1FnSStHK2hxeE5oMTVQM2RidGUzd21kbmQyTzhLTmJpd0ZHQmozeWZoMlg5dytZZGdCa1dQU0xMN2E0TmZ5Q0MrQmpTaUFqd0ErY1VVUm5CZExXbjRLcmQ1NVRXQnNiZXJiMStpSUFXRFQ4M2JHNzhENkpMdVR6YnhBUXU5TUFHeEhJMC9weTlhZDFBRG10QTJocTh3L0NuN0U2Z0l2OHYvUWgvUEdFRGJybjNIWGFXck4vNGUrKzNDTml5UjJ2WHVacFNRdUlFSEM3MXlwaDd0WkxjUDNlU3hJTWFMMmFGaUN3QXNTZG5Sem9PdksyTmVpNHd0dTc5Y2V0QlVFUWd1Nkl3QWlydjc5RXdOcFBpMzdXb0Z1TGdQMzdFUHdRelBPbkhJQ0pTeXVnN013REd1cTNOUE41Zm0yZFYrQzNwQUN0alhRck1zNFBTTk5PRVBnYmJTSUFpd2praWhPQlBnZ0EzVVllc1VJRGs3L1IvTVo2M0oyWjNmei83Rzg3LzM3c09xMlJGd0EvdzgvUC9hL0U4UCtzVnlNQSs3YWhtcVlGbGZTNVp0OE5lUG02bGhzcnRoVFhlcmZxZDNaMldvQjFCenc2UmduT1BtWXZCRnF0anNKLzhQZzkrR2dhRHo4dDloVTdGSUZ1OERtUlFQQWowZy9EanVJYmRIclBNcjdyUmZDdEJhQ2R2SDc1dVVjd1lBYnVJeWdEZWVaTG1nWW9lNGhBa3lnUjZDMzhWQUJJR29BVGlXUnhHODhLZ1M0S2dOTy8xb1NQV2tNZ1hLVTErUnQrRkIyOGN5QnFlVDBCdGNvbjhGdmY4S3VldzEzc01TaWhBc1ptbmlMaDZqMW9hK25kV0RFVzc3cFhmY2ZnSSt4aTNaRVFZUHBnTW5UQnFXdXZRSkY4aUt6bVJSemNEa1FnRE9jQmVQZ3hUUWdsbjV1ejR6dzhldnE2TzgvM1VyanZWQUJJZEZGK0hnV2dsT3MwTExoRFlHeTJqUUt5T0FGd0p3TEtQZ3FBVUFnY3MxcTdqQlVDWFJRQXY5aXFTeDZ4bW9KczhPZXFMNno4R1A0UHkzcnM5ZkRmMWZYZVdDakUrKzh3SXBpKzhod2N2L1FFM3VyYlJiY05CZml0VjMxbjRHTjY0TTRkQ1lId3VwaE9ZQlJ3N1g0dHlJa0lESTByQW1saWNROFJrSkZjZnhESjhUK2FlZ0RpVng2SDg5ZWZVdkFkamUvNlRBQklCSERzN0VNdUFzQTVnOW5uU0FUZ1hBQzZSY0FuQW1ERTU4aFYyaDlaQk9BaUF2aDBzMjRqRDdUQmZ5Ry80QnJBZXdmQ0YxMGo0WCtGVHdUQTJXV2VYSTNnT0cwYlNsS3FZUEUzbCtIT28xZmNXTEdMK2dDRy9jN2dkd1M5MFdCMDZhNkVRSGg5RFo4S25McjJFb2JNUE5nTlAzRk1DN0FyOFA3ay9UQnU0VkU0V0gwWFdrbU9qMTVUNDV0dzMxVU5vSWlrS3gvR0h1SzJHSk4vVzBWV0hhMEYyQWlBQ0JIb0kveVdpY0NvQXMwbHZ1akZpb0NPT2dEak4rZ1BSM05RRy8yejZ0dDVZWWRYMm4rZXdHL3Q2Z3hockxpU2RnNDIvWHlUMjNaczduSllIeEJ5Zm5mdzk0RGQ2TUNkaUlHamFFQVFnVjJsZCtDRHFUK1RsS0NFUmdJZlROMFBTdkxuemIrL1NsZDZzZU83WGhjQS9udnZLYjBKNzA4akFwQlVCcUZFQk9TWkw3cnJBRm1PQlVDSkc0aXNSRURwSFFHZ25ZQmhLelExbWZ2Z1Qxa253SW1OVzZlOXdRdUF5ZS93MCttL1JyK0UvV0tFQUUrN0dSaGZEdU9YbllMOVZmZWhvNzJGOXU0RkVVQW8zY0h2Q25wTUhkQ05KdWRpNEVnRWJHb0N4aTVJWEgwUy92V0xuMmc2c0dqYldiajdpQnZmcmEvM2JaN3ZkZzZBQ0FET0YveDI2aUY2eW5Bb3JRUGM0K29BV2E0RXdGWUV2Q2tBNGNzMVhWOXMxdjkzSmdBT1dvRFlJeDJ6Vmx2anRnVzQwZ2Z3OCtGL1pNNUxuNFQvbmdvQVBicWJ2OElMVzRhREV5b2dmczA1T0hQdEtSZzdPd2ljQmdxZ0VQcTdoRitBMnRRTnZTc1hLd0w0L1hHKzRPYWpPb2pOcjRJVGx4N1RUVGpOZnNyejNlMEhhR3V1aDZRMUowa0tVTUpGQURpQU5PZUthQUVRUk1BTDhBdWRBRE5PSFk1ZHAvdUl0UUlkQ0VEU2J2MWZqMXFqMWZNUmdObC84RnNWQUpjKzhIb0JzRGZ3MjV6aGora0llWDlJWWdVOURTZDcxeFZvYkc0bElIYmFDSUFyK0FXNHNXYmd6aDBKZ1RNUm9GT0RtQkswdDNKNWZtMmQzL0o4ZC9zQVhyeDhEU1BuSDRQQnMzQ2JjUm1OQUNUcHA3bUpRSkVDb01DblNCRndKd0JZQ01UUEc3bEtHOE1LZ1E1bUFDWnYwZndHUjRDamZRUytjL2k3STRDSVJkZTlHZ0gwRlg3N0N6MkhKdUZKUkdkb0R1NG85SGNLdjdrYmZuZXpCR0pFd0RvVlFCSG82TkQ0UGM5M1ZRQnNhMm1FazVjZUVQaExDUGlIZVMrbDBaUWlxNTU0bzJnQm9DS0FOLzk2UXdESWsveStUV01DNEtBRDhObEd2WFRrYXJ2ODMrZmdXN3NPd3VkZjhOb0FrS2Z3dXhNQWZFM2M0cnV2OGdtdEJXQkx6bnIxdHluNFdjRXZCbnhIUW1BakFsYnBnS01vQUwyeEVRdCtnUmVCbXBvNmtvbzB3TnJ2TDlKOUFEVDhGMFFnNlNqSWw3N21PZ0VlQ0lBaXA0VmUvTmtIK09rc0FENGpDN1FMMkN5QUF3R1lzRkUzaXM0QXJOUWF2UVcrSi9EVERzRGMwNzNxQUtqNWpUOUsvbXV4cFJmT08vNVpMVVFVdllTZm51cVR4a1VCVDE2MzBJRWNuT04zdGZyM0ZuNVhJdUFvQ2hEU2tMYTJ0cUFRZ0hvUy9yOTU4eG9tWkpiRHdKa1kvdlB3SjNKQ0lGLzhqRUJOSU05eTNRbFEyQW1BS3hFUUt3QzRLU2hpaGFhUUNZQURBUmkvVHYvRmlKWGVFNEJvVDN5VkRvYXZhQUhWbkJNZVR3SGlqRDhDak1kd1JjNC9RYXYzdVBzUEsvaDRhU2RlMzQzNU80YWYrREhydnI4Z0VsekVVT1gwT0c5OFA3N0dqRlVYNEsyRDNOOSs5YmZPK2Z1eW9VZ1FBZnRVd05HUWtFYWpDWXJ3SHljQVM0L2Y0Z2FBQlBoNUFSZ2FYd0t5aFErNXNMNFhBdUJNQkVRS0FOMFZHSjZ2K1pxbEFBNm1BTWV0MHlYeThCcjhDcitsQmRqZytWdy9QWUczaWw3UC9YM2xjMmh1NzRKN0w5cmg5SzBHT0hEcUZXdzc5Qmh5OXQ2QmxJMVg0ZlBsNTJIRW9sTzhXRlJTWVVDQndMQitjUHd4a3QrWDA5ZkJFMzJ4QTZEaTI0RnFmamZoNElSeVdQbTdPM1IzbjZQdzM1dXJmMitpQUd4Sk5qUTBCTGI2WDFjUFRmVnZJSDVsTlh3NHZZUU9BTmtLd0NHUXpyL3JWZ0FVcmdRZ3A5VkdCRVRDYnhFQWRiN21CeVlBRGdSZ3pCck5uTDRLUUhTdm5Dc0FSdVhWZXBUL1IvQTcrNFl2T0FHWDdqZUxPcWlqVmZNV250ZHA0ZXJERmpoNnFSYjJsaitEVlQvZWczbGZYWWZZbFJkaDNOTFQ5SFVsdFBWWERnTm1IYU9PNS92OVpsb1o3S3Q2YXNuL0hZYi9kcm0vdDdZV082c0YyTmNCbXBxYUFwWUdZQWNDRHd3dE8za1RCczIwVy8ycGwwRUk3bEdZZDVNRHVTOENZQ1VDWWdWQXpndUFhcm1teUhyNGpRa0FMd0NqMW1xWDlFVUFvdnNnQURFb0FMbXZSWGNBRUZJTStjZG5uWUdYOVZvTDRNaWNpUUpqcG0ram0vajNpekZkbHhGcW0vVnc5MFVibkxyWkFEK2ZmQWxiaWg5Qjl0N2JNSDNWUlRoL3U0NzIzblY2NXdMZ2pmQy9Od0tBeitibTVvQUpBTTM5WDcyQUw3SXI2QVlnaVowQURDV09BaUNaYzlVN0FrQmNRVVRBVXdFZ29uR0VDWUFEQVJpeFdydXNOd0lRM1dmbmg0Q3l4UTBCQ2ZCUHpEMExUVzFkSFB4R3MralRldXhGQXA4bWtiQzY3ZjBMcTcvSjdCc0JNTG9XZ0phV2xvQUlBRjM5bTJ0aHk0OFg0SVBZa2g3d0N3S0FLWUFrNDdMTEZFRGhpUUJrRTgvcEVBTy9SUUFVeXpYbFRBQWNDY0JLVGE0bkFoRHRKUjllcUlIaEt6dGhXUFp6dHdLQUJUc016OGN0T3cwTnJaMCt1VmpUYVJUQnovNkxFUUNmUlFCT0NvR0JGQUNFSCs4RlBIbmhOcjFiWUdqOFlRaXpoeisrMUVvQUxucFhBTExiM0lxQXRRREljenVxMkNTZ0F3RVl1YW9qUjR3QVJIc1ZmdkVDSUp5dWl4SEFremVhZ0Z3VEhvd0NFTWdJQUtjTzhTaXhCdzhmd3NlTGo4R0FtVTVXZjJzQm1PMWNBQlFlQ0FBSFB5OEFia1RBVGdBcW1BQTRFSUNZd3JhbDdnVEErL0NMRndCYy9VT1NLcUQ2V2oxMzlKYlIvNWVBSVhEQ0JpQ25SVUJUQUl1QXpTMzhLSEM5WCtESHZQL1ZpNmVRc0xLS2hQNDQ5T01FZm44SWdCTVJrUGNRZ0xaalRBQWNDRUIwWWR0Q1J3SVE3VFB3N1FYZ2hWTUJpT0F2MGxqejAvMkFyUHpnWUFlZ1A3b0FQV1lCWEJZQjlUUVVyNjk5RGZWMU5RUlNidjgvZGJ5MWwvYzZpL2VsM1ZkSGR4dStlZmtVNW0wNkFlOVQrRXQ3d085UUFESXVFZGhiK2lRQTNmRGJDb0RjZ1FqWUM0QXN1N1dVQ1lDakNHQkZVN3ExQUVUN0JmNXVBWWpNZWVWUUFERDBsNlpXMHFKZmw4RmtjenF1djgxQWR3SGE3Z01JeEJ6QVcwUFA3Y0VkR2kwVVYxMkhzdU5YNE56bFczRHo5bDE0L09nQnZIeitHR3BmUFlQNm1oZlFVUHVLT0FyRUd3SXlFUW4rVE1EYU9rY2k0UnArZk4zNUF2eUpwWFRXM3luOEZnSEFMc0FWQXJHZEFOakEzemNCc0JZQnVXTUIrSm5OQVRpWUJCeXhvbkVtbnNwTFFEWDZCM3c3QWNoOTQzQU9BSWQ5aGlTV3c0bnI5UUZkL1lYanY2d1AvYlRVQVF4dkF6WUppRCtMMmRnRjk1ODF3dUFaUlRCMFZqR29VZzVCek54U21MVDBDQ1FVVnNEaUxjZGh6YmVuWWZmQjgxQmNjUmxPbkxzQlY2N2ZodnYzNzhPenA0L0lTdjRFNnQ0OGg0YWFsMVFrVUNBY1JSRjRPRXBEZlEwOGVQQUFrbFpYMjhIdlRnREs2TjJGa3JuWFBSTUFLL2g3Q2tDYlF3RVFSTUNoQUdRMTdtRUM0RUFBWXBiWFRvajJnUUM0aHAvM2xYcUl6S3Zyc1E4QTgzN2NnWmU4OFdwQVYzNVhoVUJYVVVCZlJFRHNGQ0IzVHFBQjlsVThnQSttN0tjSGdZYkVGUkV4T0FnRFlnL0NoOU1PMEN2RDhmbFI3QUY2akJpZUhqUXN2UlRHTFNxRGFYbmxNSHQ5RmVUdE9BbGJmendIKzhvdXdkR1QxMmdVY2NzcWlxZ2hVVVJqN1FzNGQra1dURnhXenVmODF2Q1hPb2RmRUFBOHNuemVyUjRDb1BCQUFKeXQvdllDUU4xV0FPaGVBUG15K28xTUFCd0lRUFR5VjVHNElZZEFhL0liK0ZZQ0VKWGY1S0R5ZjV6TzRKKzcwMmh6K1dZZ3pkRkpRTjdjRGVod1M3Q0wzWUI0TUFoR0FBbXJUOEZIQkhLRU96UytDTUo0bDhSek53ZmgrNlVKNUczaXVCSVBtVlZFTHdqQjI0SHdUc0RmVHVPZUgwMHZJZ0p5Q0JRcHBSQXpyd3creXlxSGhGVlZrUG5WU1NqY2ZScUd6VDVDUGtjbytIa3FBSWRBdXVCZWp4cUFMd1JBbHROT1haN2JZU01BMHN6NkhMWVp5TXFFWWtoVTdyTkIwWVh0dURQUDdEZndMYTZEcUJWdG9KcHowcklaQ0dmd2NXWi9hdUZGQ0NaemxBYTRQUS9BNUp2ekFIQWlFU2NUYnordXAwZUNoY1Z6OElmRzJYcFl2SzJIMHR1Q2lybG5BdStKaCtnek5PRVFCWFVJRVlGQk00dGh3SXhEOUhLUEQyS0xTY2hQaENPdTFDN3NkeVFBcFE0RTREQzNHV2pSWTI2N3J3Qi9Ed0Z3bnY4cnNqMFhBQ3NSTU9CVHV2aFZDaE1BQndJUW5YWHZINk1MMmt4MGE2NWY0ZSt1QmVDRklNclpsWmJqdW5HekRtN3lDWFR1NzZvZDZNMFRnWndkRFdZUGYzZjRyNlBoZjg2dXkvUkFVTHI2aTRCZmNJd0VNQ3kzOVVNV3gxTjh3aEs1cThPcEorRVovKzdnZDdENkN3S0EyNEdYdk9pREFMU0tFZ0NablFCd0lxQXh5c2xUc3ZqbHB5d0ZzRGIrU0REVmt0Ty9IbDdRMHNZTGdObC80SGVuQWVvRmwwR1pYa0VFNExobG4vNnpXbTNRNVAvZFVZQVpPdlhkVjM2Sk9oUFE2T1V6QVdueDd5M2NlbFJIODNzTTZUMFJBQXAvbkhQNEJRR3c5VklYN21iMXgvY25IZ1BGMGhvQ2ZsTTMvQ0lGUUo3dFdnRGs3Z1FnUjJQQ2owa1dQbEJRQVJqTEJNQkdBTWFPSGZ0SHcxYzBQZUVGd09RMzhLMDZBZUdMYjRFeWpXc0ZZdmcvYldWd2hmOFdEVEp5QjNEZzJRQTZuVjdja2VEMkovK2FuQndQTHZKVVlDRUZlZlc2RnJiOC9oS3QvTDgvWmI4bDcvY2NmdThJZ05QVm40VC9vU25WTnVjQkt0emwvMTRTQURsMkJIS3dBOUFNa3ZUci84TDJBamdSZ2VITDY4K0tFUUR2Z2ErRktPb2FpRnJWQlJITFNINllWazdDL3hOMHYvNnFIKzhIVGZHUCt3a00wTkhXUXE4UncrUENyejlzNE00SDBPcjllaTlBOStodksrM0o0ekhnZHg4OGcwVmJUc0tnNlFlNFlpQzlMS1QzQXVBWi9LWE80YmNxQUlhbG43T0Uvd294QW1BRnYxeGsvaTl6TEFCbTJnSmMxdGcrSUtuOHYvQy85T3hZY1B0T3dQQzhtaDk0eUkyK2hONFdmbDRBY0Jvd2w0U0g2WlZjL2s4RW9Pak02NERuLzl4M05vR2hzd05PWG5sS3J3L0Qrd1EvaWl1SGozRlRVbk1IUFNKTTZ5UVNFR1lFeE53TzVPaG1vSzYzWFE1WC92YjJkc3R3RGg0RDN0elVBQjJ0RFZCOTRUNU15U21uRjRaZ3kwK1dXQnpZMWQvSkRJQlBCYUJIK045aG9oMkFwYlVQeWEvNUh6SUJjRElOT0R6N1dRNC9DMkR3RC9oV1RpS1B5SHp5eTVGeGduWUJzUDkvK1FGMzBJY3BBQVdBN25CZkQvY2V2NFlsMnkvVHE4UHdqZ0RMSWFGRXBLWVdub2UyZGkyOXBFT0lCQndLZ1JmdUJoVGc3K2pvY0RpYnp4M0swUWlORFhYdzNlRnJFSjFSUXRLQ255bjRrc1JEZlJDQXZxeitoeTBSZ0d6aEk5b0NWRGdWZ09ZK0NZRE11UUFZTVFXUVpMNnFaR1BBTGlLQXFHWDNQeHRlUUZ1QlJsK0E3eFIraSt0QVBlOENqUUx3NXQ0bk5ScS9Gd0F0VjRDWjMwSmRmUU5zUFhBVEl1Wld3d0N5NHVQQm9BZy9Ia01tbkMrSW5Zb3BCZWVocnFuZDVyZ3diOThPN0dqbGQzWXVIejd4a3BDbnoxL0JpdDNuYUQzZ0E1SVdoTVh6SXVEVjFWK01BQkJQeEN2Q1gzTlRmeDdrLzQ3aDc0MEFkRURZZ2lkYldRZkFSU3R3MktKTEE2TElLank4VUdmMkwvamRkWUR3eGJkQm5sb093K2Fkb0tmeitGTUF1RzlqQkcxSEt4U2RlQUNmWkorQ0FXU1ZsNlFTOEdkWFc4QzNkaFFCM0tnMGN2RXB1SFMzamtZQzFyY0cyUXVCR0xlK1lselk2WWZlMnRvcWVzTU9wZ1c0VlJldjZMcDQ0ekVrcktxbUU0RURaaFIxUndNTzRPOU4rTzhVZnBzQzRISGIzTDlQNFgrcmMvaDc1UCswQTJDUWs2OEpuWDh2aVl0NHE5Z01nRjBWa0dzRnB2Lzg2NmpsOVczWWtpUFFtdjBEdmwwZElQc2x5SWdBUkM4OENVM3RYWDRSQURQL1gxT1hCaTdjZkE2SjY4N0Q0TVFLR3ZJajRISUg0TnVMQUtZREphY2VnVjdiWnJrNHhQN21ZR3QzRGp3MzNxdTFFaEU4OGJjMzUvM1J0SUFJQVhkRGNEMFVWZCtHc1l1T3dMOU4yUTlENHJqaEg5K3YvbnorbjNIWjQvQmZnTitqOE45UkJ5QlhZNUl0YTRLd3RJdEtydU8xajBVQXppd3k5L1cxNFNRZkovQ2EvQU8rYlIwZ2FnWDVINTUrbkFqQUNYcktyeThGd1BLeXBrNTQ4cndHY3ZkY0JTa0JHdUhIbzhEbDZhN0JGK0QvY0ZZNWJONS9DL1FkVFhUbHhkTjVzVTFvUFN4a3ZaSUxZR012WDRCZEFON3d0b3QyR3pBRjBlbTAwTnpjd3NOYzI2Zmp1bEVNOE1iZU4yOXFZTlB2TDRNOCtSRDhkdXBCT3ZrWGx1QU1maStzL3BiOC82R3RBTGdKLzYzaGR5Y0FNdGZodjFtZXF3WFowbHA5Nkt3RC93OHJBTHFwQTBSbVBkbkRRMnowSy95OFkvU2huSGNKSXVkV1FYMUxwODhFUUdqcjRjcTZzK1EyUkMvZ09nL3lkQTVxZCtCYnIveUo2eTVBUzFPRDNlcGJTdy9Nd0ZONnNHaG5QVDRzclBRNHlJTXBCd1Vlc0VQUUNUVU5iVkIrNFRuTTIzd09MdHg0U3ZmNGUrdStQNHdHOEdmQ3R1SHRCL2c5VHNPQTZVWHc0ZlFpT3VtSFUzOWVXLzF0Qm9DT2dtSnBMUUZmZlA3dkhIN3g0WDkzQjBBTDBzWFA3NUZmYndhKzgwNEFseGRGTHI2ZGdIUDV3d3QxQm4rQ0w2UUJ3N0VPc1BRUktOS093Zk02N3hjQmhiWmVKd25WajV4OUJKOHZQME1oeG9zL3NiSXZadFZIeDgvRFlhVVlFcWs4ZXZZR21ob2RneXFzM0FnZWlnMEtRZ3ZKNWJXYWRyaHk5dzNzcTNnSXUwcnV3dkxkVjJCbXdRbUlTRHNNQTZZZGdIK2E4Q1BrN1R4UFlmWDJOZC9kYmNOR3FEei9BRDdQcnFEUkFNNy9TK2tPUHpId2w0cGUvY1BTejNKei9HS24vMXl1L2g0TEFDMEFTaFk4WlBjQmlDa0Voczg3UFNocWVTT3V4R2IvUUcvdmVvaGEzZ1NoU1JWdzQzR1QxOXFBUXA1dk5tamgydDJYTUh2elJSaEN2Z2UyRzVVRWZJWElrTjhpQU1UeGlMTHk4MDhvU0dLdTVLNmxvWGd0RGNNeEhNLzg2Z3o4NHljL3dvZFQ5OFA3ay9kVDhJZk9MQUlaQ2NsRFNkNGNOYnVVcENhdmFUR3YxZ2RIZXRHYmZGcTV0dUdlMGhzUW1WSEdwd1hDMlg2OWhOOU9BSEFIb01JZjRiL2pDVUNETEtzRmhzNitsc0lLZ0NJS2dSRUo2LzQ4S3ZkMW5idENZSlF2dklEem1KV2RNRGpsTEJ3NS82TFBrNENXcnpSM3djdlhkYkRxaCtzVWRoem13YWNBdmlmd1krai9FY243Ti81MGk2elE0dUMzejhteFRiZDgxd1VZRUhzQWxNa2xJRTg4Uk1HbkUzenh4WFJmUHdyRFhnSW1mcTYzb3dEN3RpRkdHbytmdllMY1hlY2hKSzRFUG93dHBpSVFsdGpiMWI4Ny9KZDdFUDdMdlJ2K0F3bi96YktsZFRBNHVYb1FHd0VXMnc1Yzl2aUlzenFBTDhIbkhDOEtlUXNoY3gvQzVnTzMrelFKS09UNWJhM044TVBSdXpCcXlVbmExcU1ROCtGK2IrQWZHRjhCQ1RUdnIrOTFMbzVRWTRpUGtDUHNDTDIxb3hBTW1uNFF2c3d1cHl1MHJ3LzV0RzRibnIvK0JPSlducUJiZ1BHV0gyblNZWnRkZ0o2cy9tR3pMOWl1L203Q2Y3a0g0YjlNWkFGUXN1aDU3VCtQemZ4VFZnQVVXUWNZdHZqNnZLZ1ZyWlk2UUpRdnZhQ25SNVBvQXpkdXBHNjZ5b1h0dmN6ejMrbzdvUHJTRTVoV2VCWUdKbkFYaEtyc3dQY283T2Z6L3VnRkorRGgwOWZRM05pN0FwMjFBSHpnUkFBNEVUZ0VnNGtJVkpFOEhTL2RyUEh4a2QvNGQzbGphUnMyd0lHcXV6QjZZVGxKQzRvbzJNSWhJT0pXZjJILy94UFI0Yi9jZy9CZkxpcjg1d2VBNXQwdFpoT0FIa1FBRVJsVkEvR0lycWlWZXJNL3dSZDhPSWtDaGhWMHdxanNPOURZMGk2NkVDamsrV0RVd1oxSHIyRGgxNWNvc0VQczh2emV3Qy9rL1hqejhMSHpqMFhuL2E0RUlIZm5CVHFjSThNS1BLNldkaTRsd3ZBKytmajh6YWZvOTZ2eDA1bi8xbTNEMTI5cVlQMitLeUJMUGd6dlR5dW1sZit3QkJFQ2dNTS95Y2R0UTM4dnJ2NGl3MzhEOXY5RDB5NndBU0NQNmdBUkVYODhMT3ZwOHlnOHFxdFFhL1lYK0xaUlFDZElsOVJBMWVXWGJ1c0ExbmwrVFYwOWJQejVKb1RQcWFhcnZvSy85cnN2NEZ2bi9ldC91dG1ydk4rWkFDRGdVaWNDZ0tmMjRIMTZpdVJEY09mQmN4SnhOSGl0SlNqMjUyemcyNFkzNzcrQWpJMW42SEZnOUVpd1JBZlJnR1gxRnk0Q3ZjTWQ0aWxtOWM4U0x3QnljZUUvRVFBZG5nQUVBMlllL0ZlVy8zczREeEN4K05iT3FJSU9uTTgzK2hOOGl3Q1FyNUZtYXlINys2YzBuSGZHdnpDK3EybHZnZjNWOStIalpkejRydFJCbnQ4WCtESHZqMTk3QVpxYjZyMENsa1VBcGpnV0FHSDNIa1lCdjUyeUh6Yi8vckpQV29KaTdnRGcyb2IxSkExcGdHTm5IOENrckNyNHR5bEZNSGdXMXkzb3VmcGo4YThjRk12cXhSZi9zdnF3K2pzTy8wM3lIQzJFemI5L20xSHRpUUR3WTVLcWVhZkhST2JWWXhwZzlDZjQzV21BbHFRQmVoaFZRTUxSaGxiTG1YbjI0YjZ4U3dObnJ6K0QrRFhjTnQxUVBzOVhPQUMvTi9BTGVUOWVRLzZnRDNtL1F3SFk1VHdDQ0xVNnMyL1F6Q0lZdC9nSWJSL2lQRUZBcnY4bVAvT2JtaHA2QlhoOVhTM3NQSFFEd3RPUFVDRkE0TU1TeTJ4V2Y4bmNtNEZkL1lYMlgvckYxU3o4NzBVYW9KN3k5VjhPeTNyV2pQUDVVWVVhczcvQXQwMER0Q0RKMHNCM1ZiWDhQSUQxK0s2ZUR1Qms3YnBDaDNpRThWMUhlWDV2NFJjRUFQUCtvK2Y2bHZjN0ZRQTh2Q09waEk3akNoNUtEK2ZzZHR5ODgySHNBU2crZnR1dnRRRDcrUVZoaHFHV3RqRWI0ZEhUVjVDOTR3SU1qaXVseDRSeklzQWYvYldzVHR6cW45VlRBUHF5K2x1Ri95YnA0dGNRRW45WXd1Yi9lNXNHTExyNWU0L1RnQUx2T1hZZzFQbDYrR3hESXgybkJYNmJibU5qSTN4VGZCdWk1bHVQN3pvSHY3ZndDM24vdXQvM1BlOFhLd0QyOEhNQ1VFd0ZJSEYxTmQzVTQ4ODZnTDBBQ0k3RndZWjZMQlEyd05sclQyQm00VWw0UDdhRW5pU01aLzhyZkxUNmV4VCt6N3YzOVAzMzMvLzNyUDNYeXpRZ2ZPN0pzY05vTjZEVDZFL3dCWS9rUlNBc1d3djdUallDdkcyRmtsTVBZVkx1YVg2YnJ1TzJYbC9CUjFmd2VYL2Ntdk0wN1BkMk9PMUlBQnpCYisrWGJqNkdsbWIvRlFNZHdTODQvajFRQ0hBZUF2ZEMvUDdZVFhxNWkyeHBRL2UrZjNmd2V6SDN0d24vbHpWRFNOcUZOU3o4NzBzMzROTjFmeDZ4OUdFOTF3MXdrQVlVK000amVjYy9xL04xTUhGRE8yUnN1V1RacHF0eTB0YnpCdnhDM2g4MS93VGNmOExsL1RXMTNoYUFSbDRBRHZMejk0ZGN1b1NJQkY3ZXNXTFBPZnExL2lnR3VvTGZQaHJBZjZOTDEyNkRlc2tERHVTQXJmNTRCTGpPTEZuMG5LUW14V3o2cjg5UndJSXJYMFd1YU1XdHVnWi9naDlwSXdJYWlDam9oTkI1ZCtrbUlicEhQOTAzOEZ2bi9VZk9QZ1pOcS9kQy81NENjQkUrbUZaRUl3QjNBb0I3OXdmUEtvYm91WWZoNmZPWDBPQ0QvUUc5RVFDdUhsRlBid3Fldk9JaURGbmNDS3JzUnIvRGJ4UCtaMnNnZE82TjY0eGlMd2lBZW5iWlVMeTZtNlFCSmdUUm4rRGJpRUFoUGFNQUZIUE9nanl0Z2tCYTdYWHdyZlArdFQ5Nk4rOTNKZ0FZQVVoRUNJQVFCWHhBUHYvN3c5ZDlIZ1dJWGYzeDM2ZXRxUWJXZm44ZUJzNTlBZXFjWm03MTd3Ry92d1JBWjVCbTFzTFFwQk96V2ZqdkpWTXZ2SDZWQjlYa2IvQzdYUU9SaFowUWtWUExDNEQzNGNkekNMR29PR3YxZWJxOTE1Y3R0ZTRhd0VHM0VVQVl2MWNmUDIvQWpHS1lrbGNKamZWQkFQOGJBbjl6UFpSV1g0R2hHVGNDVnZpendKL2RiaVlDZ01VLy9ZQ3BlLzhiSy81NWFXK0FPdU5FL0RBQ1hsUmhweUV3OEhlTFFOVEtMbEF2dmd1eTFHT1dLS0N2NEF0aFArNFZpRmwwZ3A0Q2pJTXZOYlcrRkFBK0JZZ2xLVUJ5cVFWeXQ1NVFRbE9CNHhmdjB4T0FmZEVTRkx2eVkvSHY4clU3RURIdk5FaVdOb0ZTYk9qdnM5VmZZOFRpMzlDMHM5K3oxcCtYWndMQ0Y5OXRwbnYxQzdSbS80UGYwNVZ6enhOd2NXZGZ0VmNFQUFlSGNKQW9lZjBGZXI2K0w4TnJteFFnOXFCb0FhRDc5RWtVOFA2MElsaTg3VFIwdERSNFhhVEV3bzlGdnp2M0hzS1lSUlVRc3VBVnFHam9MMkt2dis5V2YxRGs2azJTQlk5aGNGeEpLQk1BYjBjQmM4K3NpY3hyeEFNN0RJRUVuMHNGOUJCQmZoWU8va3F2UlFBaFNaVXdNZWMwZDV5WGo2ZnFQQlVBNFpndTNJZ1RFbDhDNnJURDlEYWdKaS91RC9CazViOXo3eEdNWDN3RUJzMitCK3BjQXUweWIrWDlyWTZ2K25JckFCcVRQS3NOUW1kZk9NdXRYU3owOTRvSk93U1ZpY1YvSDc3a3ZvbWtBZUJKTVREU0J6NXNSUWNNSXorSGV0a0xlb0t3VndTQXVJU2tBSkh6anRPdHZ2UVVubHAvQ0lDUUFqaDMrOE00Y0ZzdTdzemI5dk5scnhVRDNWYjdhL2lDWDNNZFhMeDJIMGJOUHd3RGtpOTVCcjlkejkvTHE3OVJzdkFaaWVLT2ZzSldmNS90RHpqN2JlVHlKb3dDaklFQlgyUGxIYlFvcUZwOEQ2UXB4N3lTQ3FBSVlQLy8xTlduNUJlOXdTODFnUGRqaTRrQUhCWU5QenErZitETUVwaVFlUXhxM3J6Mnl2NEFkNnMrM2tIWTJ2Z0dEbFplQjJWS0NReElPTWxYL0J2OUYvbzdGUUJzL2JYRDBQUkw5OTlqQjMvNk1BcElMdm5mSkFxZ2hUaG5VVUNrWCtDMzhnSWRLT2RmODRvSTRQUWYzZ0MwcCt5dVQ5dHNZZ1hBMVpsOCtQRUJNdzVCNlluYmZESFErL0RqejRsUlVHdFRIVHg5K2dUeWRwNkZnVE9LNmZWb3FpeXJuWDVlZ2I5UHE3OEJWLy9CaVVkaVdldlAxMUhBbkRNL1J1YlpSZ0dSZ1FEZjR0em5LT1plQkdscTM0cUNRaHR3d1ZlWHVVSmdBQ01BZHlmeVNoSzVEVGlwYTQ5RFc4TkxxSytyZ2RxNmV1cDlnVjhJOWZGakxRVDgyamN2WUgvNU5SaTN1QngrUzlJTzdvanZOL3hHbnQ3Qjc3M1EzM3Ixdi9oRUlzbjhGV3Y5K1RnS1VLY1cveVo4OFYwYUJkQ0NYTURBNzA0Rmh1SG41NU5maWpubitKcEFkWjlHZ01jc09Ra3ZYOWZRd3pBQ0lRQmlqdVMyRm9JVnUwN0R1Y3UzNFBXTEo5Qlk5NXI4M0xYOFh2NTYzdXRzcGdhRnR3WGdxZk5pMTlTQW9YNE52SGorRElwSXVEODl2d28rbWtHaURaSnloQ1VkQWZtU0Y5MUhmTHU3MnkrN2QvQjd2dm8vSVZGSjJUUzIrdnNwQ2xCbW5Od2RrVnVQT2JnaGNPRGJpNEFPSXBhM2dqempiSjlGQU1lQUt5NDhwZ2RnK0NJS2NDVUFuc0JQVCtSSndFaWdCT1FwWlpDMHVocDJGMTJFQzFkdXcvT25qNkcrNWdVMDFiOG1VTmZRZzBVYkxGNVBuNDBOMk02cmhSWUNmRlBkS3dMOVV6aDk2UTVzK04xNStIUnBPWVgrd3huODkwb3NBOW5pWi96dFB0Nkh2M2VyUDFiK1d5RWs3ZHhkUnFjZm93QkZ5cUcvVXkyOFljQjJISUhXSERqd3ZTOENRaDBBenhud1ZSM0FtUUNJQi8rd2pVc0luQ0h4aCtIRDZTWFVsYWxsTURtM0VySytPUVU3RDE2RTB1cHJjUHJpTGJoeS9TN2N1SFVQYnR5K0QxZHUzQ1h2dTAwK2RoMjJIN2dJUzdhZGdvbkx5c25QY1JoK1N3Umx3RXdPZXZ5NThKQVAzOER2ZWVodnUvcDNHc1BtMzRkQjhZZkhzc3EvbitjQ2xMT3I4OE96WG1FcVlPaExLdEIzOEcxRklBSkZJSi84TXMwNUQ3SmVGQWFGVHNEdytkWHcrSmx2THVYb0ZvQkxGZ0d3aDdvM2pzZHpvYU1ZREpqQlJRWW9DSU5ubGRLanZkVnBSMkRZYlBReVVLV1YwWGJpSVBJeDNNZi9QZzk5Q0I3NmllZjk0ZUVlOFNYY3VmNUxubnNVOW9zNzRMTlBWWC95MUJweDIzRkl5c2tUTE84UHdIUmdkTWJCUDFQT3UxZ2J1UUxoMTVrQ0M3NEdJaXpPaXdCNUt1WmQ5cmc3SUUydHBHbkFSN09Pd2M1RHQrZzUrYjdiRFhpSkZ2S2tTV1ZlRVlBZVlwREVQY1BvT1gxRUdPSU9VekhBRTN5R3hIRkNFWnJJQWM5QmY5am1UUC9RNUFxUVo3N21ydXJPOWczOHZRdjl5ZXFmb3plSFpseUhnWEVsQTlqcUg3QW9vT0lMM1A4ZHRmS3Q2Q2pBMitEYndtOGxBaXUwUkFpMG9GeDRpNDhFcXR3S0FjS1BqdE9GZU8zWHVNd1RkSys3dDgvaHM0a0FwdUV1UCs4TFFBOG5LM3Bvb3ZCbjdqblVvWE5uK29XbG51U085Y29PRHZqdEMzL1NSUyt3VnZNVksvd0ZPQktRWjV3NkhwSGJnQVZCb3lzUjhBLzREcnhBRDZyTXh5QkRzRk1ySElxQUFMNjFDMUhBTjBYZTN4WnNMUUMvOWJVQVVQRExuTUJ1Q3o0K1EvQlNrb3hMb013U0lCY0pQNGtTNURtK2hwOFcvc3p5ckhiYzhOUDhVZHpQLzVtRi93RXVDS3JTai95TGNzRVZjRlFROUFYMG9zRzNpZ2JvMkRCdUk1NTlxa2Rkd0JIOE5Bb2dqcldBWVhPcjRQNmpGMTZkdWZlTEFQRGdVL2pkQ2dDZjc1TS95K2JmNVU3emRUamE2eHgraFlmd0szcVQ5M09GUDBQWTNOc3dPTDdzUzdiNkIwa3FvRWl2eUZSblBxS3BnSytnN3gzODFuVUJQUzBPS3ZpcFFRNTA1d0xBUlFHVnRDTXdkL041YUcveDN2Wmdud2lBRmZEMjduYlZKeUYvYU1weFVDeDVDYXFjTm85Q2ZyL0FuMlBKK3cxNDB1K1E1TW9qL0NyRWp2b0tiQmJRSFhvcE1rNWVEOCt0eDdQOGpiUWxGeFRnMjR1QWxrOEpub0UwN1RoSWtvKzZGQUFxQWlSS0dCQjNETDQ3ZkpNdkNBYUpBTGdBWGpUODhZZm9tZjdTT2Rmb0laNUtENHQ5dm9hL1IraFBSQ0FrOVd6bjRMaUt2K0VFZ0ozMUZ6VERRWXJVNC8rbW1IdEpHTTAxQncvNFZwNlAza0h2SFF6UGErbU9CbExLblVZRG1BcmdMa0dzSDV5Ni9BRGF2WEJHb0VNQlNQUytPMS8xUy9sQzN3azYyYWZLYmVNRUlMdFJIUGg5Z0YvUksvaTUwRDkwemswMjd4L01xWUFzdldxT2N0RWRpQ3pzTXZRMUNvandDZnpkSWtDN0JDdjBvRjcyR21RWlo3bG9JS1hDb1JESSthN0E4UGxWY1AzT1kzbzdUbDhpQVJzQmlDMGgzL3VJSCtEdkJqODA2UmlYNnhPUU1kOUg4SlVlcnZyMkF1QVQrTHNIZnVobW55RUpGUWRaNkIvc1hZSDA2bU80VHgvSGhIc2pBcjRGMzVFUTZPbWZWVXVlZ0N6OWxFTWhrUEN0UVR3eGFQVGlhcmgrK3hFVmdkN1dCSHd0QU03QUg1cDRCS1J6cjRFaXE5NW0xVmQ2dU9yM0ZuNTVMK0NYNTJoTnNxV05FSko4b2k1azdzbi9nNFgrd2Q0VldITDYxL0xacDVvaThwcHdOTmNrVmdRaS9BNi9sUWprYzllUlJ5eHZCK1dTaDFRSXBGUUl1TXRISkVRTXFBaWtjeUlRczdBS1RsMjZDKzB0L0lhYjJ1QVJBTnNjdjVTMjlSQjh5Wnlyb0ZoYXc0UGZiQUZmMlF2d3UrRnY5U0g4MU0yWSt3OU5PNDhUaVhJVyt2ZWJya0NWUWpIM0FsOEwwSnFERTN4SFFxRHRGb0xNSnlETk9FZnlmeUlDS2NlSUFGUlFJWkRoWmlHU0RpaUlHUHhRZGcyYTZsL1JjZUdhMnZxQUM0QlExY2ZpWGdnL3lTZWRkd01VeTJvNThITnN3VmU2QTk4Ri9BcGZ3cDlqbmZkZmg4RUpSeFl5K1B1WkNNalRLK2NwRjF6blV3RS9RTjhuK0cyRklKd0lRVGdXQ2pFMXlIb044dm5YUUpKV0RXRWtLZ2lqY3dTVkVKckNIU0s2Y050WnVIMzNBYlEwdnFFVGcyTDI0M3RQQUk3d2p1Q1hVT2l4NXgrV2RocGtDeCtBTXF2QktmaktYb0RQalFUN0QvNncrUTlJM24vc0lCdjI2WC81QUUwSENDaS9VeTIrajBYQnQzU2pUbENEejNtNHhUdTQ1d285ZFhWZUM0MEtaSE12VVRHUTBPN0JNZmdvN2hoRUw2aUc3UWV2d09QSGo2RzUvZzI5Tk5QVjRSeHZlaTBBUjZ6OE1MY2RtRzdZS2FNVmZlbThtNkRJZkUzYmVTcGEzSE1NdnVBZWdVOWRQUGg5aFYrNitDVU1UcXA0RUxFTy9wamwvZjIwSUpnSjhPL2thVlZYVkV1ZndyRENMa09FTDBUQTYrRGJld2ZuZEc4QmlRcFc2RUNkU3dES2ZFWWlnK3NnenpoTk93UWZ6VG9DSDJkV3d0YWZMc0MxRzNlZzl2VXphS3dYRHVjUUR1Wm9vTTgzSkYzUXREZEQ3dTRyOE52cHBiVHdhQXUzdlF0ekFxVVFHbytuQXhQZ2t5dEJNdnNjeU9iZklkQy9va0J6cTMyTFRYSFBIbnFuOExzQW43Nm1uK0NYNStoTXNzdzZHSkpjclJrOCsvVC9zRzQxTSt1SDh3R3FKZGQvTFo5OXZGWk5RdWxoaFoxR3I0bEF2ai9nZHlRR0drNE1zSHVBMGNIeURsRG4xSU1xOHlrTW5YTVRCaVNmaDhqNXAyRE9walB3WGNrbE9ILzVCangrZUJmZXZIZ0k5YStmUUgzTk15SU96MEhYOGhweWRwNGpFVUF4M2JWbjJlc2Z6ME1lTHh6RWNRVENpTURnNWh4cHhpV1FMYmdEOHN6bkJPSjZDaVZPN29tRjNpSDhMbGQ4RG56SDhMZTVoRi9lSy9pMVpucXJiOHBKR0pKWUxXVjUvenRTRDFETnYvZ3Y4dGtudTlRNWRYMFhnZnhBd2U4NE1sQXYxOURiaThOWGRKS2ZEMTFId0dtRGtNWDFNSFRSSzRqTWZnWlQxajZCaGJzZXcvcjlqMkhQa1Vmd1U5VmpxRGovQkpJMlhvV0JTYWRCT3Zzc1NOS0p6NzRBMGptWGFlRk90dUF1eUJjL0JzVlNzcnBuMVhGNWZDNkJNWThBbjl2QzUvVk5vb0IzQ0w5SThEMkJYOTViK0hNNCtNblhtVU5TejBCSVlzVWtCdis3SmdKelQ4dHdNMDU0YmlPTzQ1bzhGb0dnQWIvYktmd1c3K0JkUTR1SUtBUVlJYWlXNjBHYW80ZlFMQjBNWGFhRHNDd3RlVnNMOGx3dEtKZHJRU1VBalhCVGIrTWdwKzl2N1lZOXA2bmJQUURlQm40MzBOdUQzeFArTmgvQnJ6SGp0VjVEMDg3QjRNVHlEQWIvdTlvZXpEZzFTajc3TklUbk5Za1hnU0FFdnlmOHpwd1RoWEIrMXNENlo4Q1BxNmgzOERsMlUwL1FMZSt6Y2svQjUzTjRUOEVYQzcvY0dmd093SGNDUDczVGIyajZlZHpmbjhkeS9uZGNCSlFaSnlkaDRjeXRDT1QzaDFYZmMxYzU4ZTZWM29WN0NMMFkrQjJCYnlzQWJiNkczekEwL1FLRUpKV3Y1WDlWL29DMS9ONzVTT0RrbDVaMG9MRFRWZ1R5Ky91cTd6bjhva1JBSk94aTRIY0ZmVGY4NHNHWGV4VHk4L0RuYXZtd242NzhtK3c3U016ZTlVR2hqRk9meTJlZmhQQWMzRUpNUk1BdVRINlh3QmNEZnc4Um9IV0JGcmVBaTRWZkRQU2N0M2tNdjF6MHFpL0FyOE90dlFUK3N3ai9PZ2IvTDFVRVpwLzZXSloySEdpTHNLREw2RTBSNkkvd2Q0dEFhNThGd0RQb09mQmR3Uy8zQnZ6WTZzdlRtMlZaTGVhUWxOTVFrbGlaeitEL3BZdkEzRFBoMHJRcU14N1NRVVRBMEZjUkNPOUhJYjliRWZBUWVoV2RDL0FjZWxmd3V3SmZMbnJWNTFaK1JWNm5TYmEwSGtLU2orT3BQdk5ZenM5RWdDc01MamovZ1RTMXNrVzU2QjZtQTIrdGQrbjFSL0Q3Q2ovMVBBMFBxV1BJbmJtbjBEdUQzeDM0SHNPL3ZNc29YZndDaGlSVndlQ1VhbnFlSHpjeXp1Qm5Ja0JzMklJN2Z5Tk5yYmlQcC9SRTVHc050STh1UWdTQ0RYeTFGOEMzY1FLbk8ramR3OS9tMGtXRDd3SitaK0RMY3pVRS9rNkRaTUVEa3UrWDZ3ZW5uRmF4UGo4emh5SXdkaFg4aVR5MXNreVdjUTZQN0RLNUtnNkcveExnOTBBRVBBSGVIbjY1QitCN0JIK2VEcXY5aHRDTWF6QWtvZnpwa0l6ci84amdaK2JRckljL1pPbkhDMlRwSjBDMTdCVmZIT3hPQ2Q1SjhGM0I3MVlFMmp3QzNnSitqdWZneTBXQkw0VDhKTi9QYWpRUHhkSGVoUEl5VlFIOEp3WS9NNWVXYWJYbFV6N245SGhwYXVWYnhjSTdPRlpMVXdMTFpweGZHdncySW1Ecm5rS3ZFQU8vSGZUMjhMc0Nud3Y1dXd5U1JVOGhKS2thUWhLcnNoMkpQRE5tamczZ0R5eDFnWG5YL2tHYVVuRmROdWM4cUhPYlRCRWtKWGlud1BjRWZvc0l0SHNFdjhLQmV3cCt0d0IwdUlZL1QyK1c1M2JRa0Q4a3NieGxhUHJwU0V1bG4rM25aOWFidWdEOWMrcng5WGdJaDJMSll6eWN3eERleTJqQVcrQ3JBd0crbFNzSmJKNEE3eForTitETDNZSFByZnBHNlpMWE1EVGxKTzdtT3lxZi8rUy9kUDkvWkpWK1puMnNDMGpublJzbVNhMm9rYzI5eUVjRFhTYWJQZnI5QmZ5K3dpODQ1dGtpZ0hjS3Yxdm84ZlU3cUxzVWdPV2RadkkwaE0yNWdlQ2JoNmFjU0hFazRzeVk5VFluc0tRRUVldWEvbHlhWHIyTFJnT0xIK0RCSENRYTBKdGRpY0E3Q1QvdkNnOUVRQXp3OXVDN2hCOHIvTXZ4Nks3bjNLcWZWSEVxTk9QeS8yUWhQek9mcHdSY05GRDVSSnB4bGg3YUdWSFFhYlJQQzk0bDhCM0I3MVlFY3RzdDdpbjBMdUhQMVdLNGI1SXRhelNGenI2RXViNDJKT2xrSWx2MW1ma2xHaERTZ3JINzRJOGthY2Z6aUJDWVpmT3VrclNnMFJSZTBHVlU1MnN0QjNPODYvQmJSTUFLZG52dkRmZ080ZWNHZWt6a2EranR2Q0ZKVlJqeS8wNlM4ZkMvQ2FzK3EvSXo4M3R0SUh6aDlYK1VwRlVWU1ZLclFUYi9GcWh5VzBrMDBHVlNMKytiRUtqNkNmeXVSTUFUNEozQ3o0RnZKaytEWk1GREdKcDhBdnY2MTBMU3p5cllxczhzS0dvRGFMSzU1MVJoS2VVWEphbkhRYjd3TGk4RW5hYmVSQVQ5Q1h4bkl1QXA5RDNncDZFK0QvN0N4eVRQUDRYZ3Z4eWFkR0thalJDelhKOVpJQTJIaDZ3akFrbjY2ZkZoS1JXM0pXa242QW02cXR3V0ZBSWpIdHhwZlc3ZnU3RHFPeGFCRG8rQXQ0RS9GNHQ3WEk2UGxYM0pna2M4K0JYMVE1T3JNeVE3NEQ4NGlzS1lNUXVXdE9BUHJJUmdJaEdDRzJFa0lwRE52NEhIYUp2RDgvVkc0dWJ1OC9xQ0MveSt3OCs3V09oekJkZmdFQSt1K0VaWmRvc3hiUDVkRXVxZnhCVy9aa2p5aVhrUm1VMS96c0o5WnYydVBrQlRnL1F6SThPU0swK0dwVlNCZE00bFVHUytRT2dOWEhxZ3N4ek0rYzdBNzBvRUxCL24vNXluNDhMOFBKMUJtbGtEZElJUHgzY1R5dStSVUQ5ZW1OL3ZCcDhOOUREcnIwSXc1OEpnU1dyVlhoSVZhQ1Y0ZHg1SkQ1VFpEV1pWdnM2Z1h0R0p6OTZMUVFEQmR3aS9ReGVneCtQSU84M0VqZktzWmlNdDdLV2V4WW8rbnRCekxDVGx6RWlBYnRBWitNemVBU0hvL2dWV0xybjNWNUxVNCtsaHlSWFh3NUtyUURMN1BNZ1hQY1FqdUUyOEdKaHN4YUFqYUZkOTEvQjMyS3owRlBvOEFuMTJxMUc2NkNuUUhqNjI4aExLWDVCbm9TVDkrcjlZLzdzeDhKbTkwOFZDTk9uc2kwTWtLY2ZYRXpGNEhwWlNUY1ZBdHZBK3ZZbEhsZGRPYi94UjVldWhoeURrZFFRaC9CMDJxN3lDNVBSS3pPdXhzTGVzQWFRTEgzUFFKMWZUalRwa3hmOCtOUFZzdEhWaEQwL29ZY1U5WnUrNDJiWVAwZkFHV2tYNldRVVJnWTFoU2VXUHFCaGtYQUhwZ3ZzZ3ozeUJxWUpGRU5UNTNHMC9LbnFyajRZWEEydjNKZmdkMUcxZ3gzWWRydkRXd0djMWdYVEpLd2hiOEFDR3pybEc3OW9MU1RwV0Y1SkVvRTg1TlU0Kzc5Vi83ckhhczNZZXMxOWlWT0NvcWkyZnV1VmorWVJNa0U3YmJnNUxLSUd3MUZNUU51Y3FTT2JmQmRuaXA2QllWc1BkeHB1SG5RUnNMK3FwYzhKQW9vVThyUjMwM1FLaDlNZ0Y4REZ2MS9HdTUySFhjU0tRM1FLeXBYV0FNL2xoOCs4VDRLOURTQnJKNlJPT3dORFlQU0NabUF1eUVkTkJPVHIrQS92VXlENDlZc2JzRnhzVmNFQmsvaEcrRlQ3a2IvOVJMUThGbFZJT3FtR2pRREZxQnNnK3pRTEoxSzhnTE81bkNFMnVnTkQwczd3bzNDYmg5VU9RTDNrT2lxVnZTUHJRUU0vMXg2dTZPWUhRVXBGUVdRUkN6NmNWZG03OWNRcTZsb00vdDUwNzVqdXJrWUJlQTNpd0pnN21oTTY3eThHZWZwNEw2K09LSUhUcURnTDhjcENOVGdENXNMR2dVTWhCS1EwQmhYUW9LRUlIMG8wNjc4ZHUvZmNNZW1iTUhFWUVtVFFNVmtSRS81dEtIUTRxbFpvVEFVVVlvQ0NvbFRKUWhVZUJNbm9pS01ZbWcyeGlOa2duYjRLd0dkOUJhRHdCTUxrY1FsTlBFbkU0QjJFWmx5RnM3blVJbTNlTCtCMGlGUGNCRDhhVUxIeEU4M0hwSWl2SHQ4bjdKVVJJSkNUdHdENTgyTHpiRUVvQUR5V3BDTDA2aTBRaElVbVZFQkovQ0liTytCMkVUdDVHWVplT1RRZDU5T2VnQ0k4R2hWeldEYnhjUWdSQUFRcWxDdVFLSlVoVXFuK3gvanN5WThiTWlRQ28xZXJmcUZRcTRGek51VVVRRkVRUXBLQ1M4NktBZjhiM1I4UVFZZmlVUkF2VFFUNHVEZVFURm9OMDBuS1FmTEVXd2ladmdiQ3AyeUdNaE9TaE0zNkEwSmsvUWRpc24wazBjWUE4OTBQb3JKL0krL2VSaisrRnNHazdJV3dLZ2Z1TDllVHJWNEQwRTVLS2pKME5zcEV6UUQ2Y0NFLzRDQUsxR3BRRWNJU2RBaThMcGZBTHdGTW4wT1BiY3JtY3VsUXEvV2NtQU15WWVTd0FqcHdYQkVFVThIMVVHRWlFb0pBUWNTRHBnMndvNS9obmhKVjhUS2xVZ3BKOHZsSWRRWHdZOFVqK0djRzlIeit1a0ZzRVJrbSt2aHR5c3FyTHdnam9VaHJhVThCdFlPZUF0M1lCZmlZQXpKaDVWUUNjaUFKQ2JPOEUwRzRuZ0JPaHNMaUNkOHY3bEpiUFZTaXRBQmZlZGdLNkk3ZUdud2tBTTJZK0Z3QUI4TDY3R01ERmdzOEVnQmt6SHd0QU1JRHZDbjRtQU15WStVZ0ErZ1A4VEFDWU1mT3lBQVFMK0dMZ1p3TEFqSm1YQk1CYjRQdGoxV2NDd0l5WkZ3V2d2OExQQklBWnN6NElRRENCM3h2NG1RQXdZOVlMQVhnWHdHY0N3SXhaTHdUZ1hZS2ZDUUF6WmdFUUFHK0E3dzM0bVFBd1krWm5BUWdXOEprQU1HUG1Sd0VJcGxXZkNRQXpabjRVZ0dDRm53a0FNMlkrRklCZ0JwOEpBRE5tUGhJQWI0SHZhL2laQURCajVrVUI2RS9nTXdGZ3hzeUxBdEFmNFdjQ3dJeFpId1dndjRMUEJJQVpzejRJUUg4SG53a0FNMmE5RUFCdmdoOW8rSmtBTUdNV0lBRUlOUGhNQUpneEM0QUFCQXY0VEFDWU1ldTlBQmg3NHdTNG9IR1pUR1pDWndMQWpKbElBU0FRLzl1N3NPb1Q4QzFPM3Y1WEpnRE1tSWtRQUFMTS95QkFueUJlTGNiSjV3ZXpIMGRYcVZSL3kvODEyY1dnekpneFk4YU1tY3RvNEYxeTluK1VHVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekpneFk4YU1HVE5tekhyWS93L245S1FwcFdOZ3h3QUFBQUJKUlU1RXJrSmdnZz09IiBmaWxsPSIjMDAwIi8+PC9nPjxwYXRoIGQ9Ik03MjguNjkzIDY1LjAwMmg3MC45OTJ2NzAuOTkyaC03MC45OTJ6IiBmaWxsPSJub25lIi8+PGcgdHJhbnNmb3JtPSJtYXRyaXgoLjI3NzMxIDAgMCAuMjc3MzEgNzI4LjY5MyA2NS4wMDIpIj48Y2xpcFBhdGggaWQ9ImMiPjxwYXRoIGQ9Ik0wIDBoMjU2djI1NkgweiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48aW1hZ2UgY2xpcC1wYXRoPSJ1cmwoI2MpIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBMGtFbEVRVlI0MnUxOUMzeFUxYmx2VVh1c3A2M24ySHQ3enIyMzdXbDdmL2Q0ZXYzZG5yYmlLVDU0aEpDSDRSR1NrQVJSVWFUMWdSV2ZyVkplbVFSQmtDU2dnQVdsSXFDQzRBc1FDd0pGZVlsUFZONEVrcEJBQWlTekp3RUVZaDdycnYrYXZZYVZuY25NbnBrOWo3M24rMzYvN3pjN016c3plNi8xZmYvdnVkYisxcmVJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlHSkZMcGZyRXY3U3c4OUhQZlRQaUlpSW5FZ3BLU21YcVFydjc5aHdEaEVSa1JPc3ZyVHVxYW1wMTZhbHBmMWZSZkdGOHVNOWZHWThuNGlJeUNGV255djVQUU1HREdDY0IrUHZnb0tDUzhFNHhudjRqSjl6TjNrRFJFVDJweDVTZ1RNek0zL0FsZnR0WGZsWmVucjZBQ01BNEQzNU9jN0YveWdnMElPR2s0aklKaVNWV3JIc0RicGl0K2l2Nlg0OGdIVERPUTNTVXpCK0p4RVJVWUs3L0ZCWXJzRHpGS3ZleXJuZEJBQzA2K2ZLLzVzbno2R1FnSWdvUVVrdDcvWHYzNzluYW1ycWZrV2gyNVZqTXdEUTZmL3dYZmhPR1ZwUWdwQ0lLQUd0UGlndExXMmN3ZW96aFVNQmdDN2ZnZS8yOTV0RVJFVHhvUjVTZ1RNeU1uN0NMZlg3aXVLMkdSUTVYQURvOUYzNERmeVdraGVnQkNFUlVUeXRQbGZNMnpsL3JWanNEajlLSEFrQU1QMDdwVGVBMzdxZHZBRWlvamhZZmFsdzNCSi9sMXZrVndLNC9GWUNRSmZmd0cvakdoUVFJRytBaUNoYXBKYml1UEtsY2lVOHByam9IVUVVMXlvQWtONkFEQXVPNFZyOFhTTVJFVkYwWFA0WklWajlhQUNBdjkrZVFTRUJFWkhGcFBibGN5VzdodlBuaWhVT1JWbUZjcWVscGJGQmd3WmxHbjhINytHemNMNVQ4VDV3YmRjWXI1dUlpQ2hDcTgrVmM2eWlhSzBoS3FsZ0hxKzM4KzlrVjF4eFJTOTg1NmVmZnZxUFlCeGZlZVdWdmZBWnpnbm51NVZyQXNpTUpXK0FpQ2g4VXN0Ny84SVZhbTJROGw1QVRrOVBGNisvL2Uxdk83S3pzOW4yN2R1Zlo0eXRhbXRycXoxOStuUXRmMTIxYWRPbTU0Y01HY0o2OWVyVm9mNVBpTnltOUF5c3pjcksrcUdTRjZBRUlSRlJNRElrK25LNU1ubE1sUGNDV1gzV3UzZHZCdXYrbDcvOGhUVTNOM2R3NVdjZEhSMkN6NTQ5eXpnSXNIUG56ckc2dXJxT1o1OTlsdlh2MzUvMTZkTkgvRzhZSU9BckYzSVEwSEFQL3U2TmlJaklZUFdsdTl5elo4OXZjOFY1UHN4RVh5Zmx2Lzc2NjludHQ5L09EaHc0d0NSeHhXL2pMMjM4dFlNRFFNZVpNMmZhT0FpMEFRUkFuMy8rT2J2MTFsdkYvNFlKQXNaeTRmTzRKeVVrSUcrQWlFaE45Q214L3ZXY0svejA4WWVzL056bFo0OC8vamhyYVdrUmlzMWRmV0gxRlNBUUhnQUhBTUh3QkpxYW1zUjVicmViUGZiWVl3Z0pJZ0VCMy9Yam5uQnYvdTZaaUlnU2ZkOFNXZjdKa1ZwOVZmbExTa3A4eWc2bE5wSVJBQ1FEQk02ZlA4OHVYTGpBSmsrZUhDa0lHTzlsTWlVSWlZZ1VLOGlWNitkY01iWkhrdWd6S2o4VVYxSjdlenZ6UjkwQkFMaTV1Wmw5L2ZYWHduc1lQMzY4RlNDZ3JpZllobnNtVDRBbzZZa3J3MTFjS1M1RWt1aFRsZitHRzI1Z0R6endRRkRsRHdZQUtnamduREZqeG9qdmpoQUUxUFVFRjNEdkpBRkVTWm53MDEzKytWWllmVDNHWm4zNzltVjVlWG5DaFErbS9HWUFRSUlBdklEang0K3ozTnhjOFJ0Nnc1QWwzZ0RHUUIwVElxS2tJUzc4bFZZb3Z3UUFsTzZRd2U4dTVnOEhBR1JPQU9kdTM3NWQvSVlGQUtEZWN5VkpBbEd5QXNCWFlmVGZkeHYzejU4LzM3VHlod0lBRWdSQWMrYk1FYjhWWVNpZzN2TlhKQWxFeVFvQWV5SUZBSFRzb2RIbnpqdnY5TG44YXFuUEtnQkFpUkRuSWlRWU9YS2s4QVRDN0JZMEFzQWVrZ1FpQW9BSVhQK2JicnFKZmZMSkp5RlovMUFCUU9ZREFESmJ0bXdSdnhsaEtFQUFRRVFBRUFrQXdBS2pXMCtXL0lJbC9TSUZBQlVFVUJyRWIwZmdCUkFBRUJFQVdKRURxSzZ1amhrQUlCVDQ1cHR2Mkw1OSs2ektBUkFBRUNVUEZheGdsNElGQUtUMi96SmNBRUFTRHMwNU0yZk9ETm4xandRQXBCY0Ftalp0bXJpR01MMEE3ejN6TVRDT0N4R1JzNGl4SGtLNCthc1BDSjQ1LzI5cE4yZlhjQVZnNFRUL3BLYW1paGk4dHJZMnBNU2ZGUUFBTHdDOUFWaGdoR3ZBdFlUVkZNVHZIV09Bc1FnMFZrUkV0bFg4RkJmcjFPOWVXTmJRdjdCVVcxWlExblErSTJjMFMwM3AzVEVneEdRYUxDNHM3OVNwVThOeS9TTUZBT2tGNFArTGk0dkR5d1VBT1BpOVl3d3dGaGdUakkwNlZtTHNDQWlJN0s3NEJTNzJEd1ZsbmxFRlpkcW5uSm1YUFN4ajZLaU8xSlErTEZRQWtGMS8rL2Z2anlzQXRMYTJzczgrK3l5ODdrQUJBSDNFR0dBc0xvNEx4b2lQRlI4ekFnSWkyMUVueFo5MzZudjU1ZTdIdUZCWEt3TGV6cm1OQ3ptM2ZxTllxQUFBUzN2ampUZXloeDkrT0d6WDN3b0FVRU9Cc1dQSGltc0t5UXVRQU1ESEFHUGhIUk14Tm5LY3FzWFk4VEgwTjdaRVJBbVgzSlBIUXhiVS9XTitxZlk0RitKNlJhQU5BdTVoNFFJQTNQOE5HemFFbmZ5ekNnQmtHTEJtelpyUXc0RE9BTUM2QXFUdjczcU1KY2JVMzFnVEVjV1ZYQzUyQ1ZqK25WK3UzYytGOXBnaXdLMEd5eFkyQU1ETjd0ZXZIOHZQenhlcjlCTEJBOEIxbkRwMVNpeEN3cldaRGdWVUFDajNzSzdqSThhc1ZmbjdHTWEydTNFbklvcHJuSjlmN2huS2hYU2ZRZkU3L0FoMjJBQWdlLzVuelpvVmx2V0h3dU4vRUx2TFYxaHg5UGxMaGxLSFV4SjgrdW1uUXl3SmNnRG8zNGVsWjkvTzhtZWU2ZzRFbUQ2R0toRHN3MWhUZm9Bb0lkejlZYVdOdnlnbzE5NDFyL2lSZVFEbysvL2lpeTlNSi8razBwdE5GQ0ttbDZCZ0ZnRHcvUjkrK0dHSUt3WDVlZjM3c3ZRaHQ3RzhLUlhHTUNBNEVQQXh4OWhUV0VBVUY2c1A5N09nMUYyc0tIdWJmMWZmR2dDUXkzM3Z1T01PMDhwczlCQ09IVHZHM25yckxWRzYrOTN2ZmlkQ2laeWNIUEdkRXlaTVlNdVdMV01IRHg3MGZUL0NBek5BSUJjSllmTlI4eUFBRDZDdjhBQnlpL2F3WVUvVmNxVnVNak4yYW82Z0EzTWdRd0h5Qm9oaVl2VjVMTnFIQzk5K1E0S1BoY2FoQVlCMC8rZk5teGZVL1lmVlYxY0dRckdobEZkY2NRVURqQVZpbklOdHdSY3RXaVRDQVJDVU8xQm9JTU1BaENibXd3QWRBSVp3QUhEdDVieVBGY3hzTU9NSitCdnovWmdUOGdhSW9rSytXQjlkYW1XZXN0RGRmV3M4QUxqL3UzYnRDdWorcThBQWEvK0xYL3lpazRKZmV1bWw3TExMTGhPdi9sZzk5K3FycjJhdnZ2cXErQzVzR2Q2ZE55RERnQjA3ZG9ockRNa0RFQUN3VDNnQmVVOGVEcFFMTUpFZjhKUkpENEJLaGtTV1p2aUhsM2wreFlWc2p5SjQ3ZUVwZnVnQUlCdC9DZ3NMeFU2OTNXWC9wZklqanNlKy9xclNnM3YwNkNINGtrc3U2Y0x5TTdBUkRQQzcyQ1ljU2NQdVFBRFZnTWJHUmxaUVVHQ3lHbUFBQUhnQlJidFovdlRqWmtNQlkxZ2dnWGdQNW9vcUJVVFd1ZnlsbnJFR3E4OGlaL01BWUtiMVZ5ci9pUk1uMkRYWFhOTko4VlVBQ0JZQ3FBQ2dBZ0U4aVNOSGpvamY5Z2NDY3Btd2kydWN1WjRBUHdEZzJzTnlpL2V6Z3RMR2NNZlZOemVZTXdvSmlDSnkrYk9lWlpjWGxubFdSQmJyV3djQTY5ZXY5d3NBOHUrR2hnYjIwNS8rVkNqczVaZGYzc1dsQjE5NTVaWHM1ei8vT2Z2TmIzNGpOdlZBQjkrdmYvMXI5ck9mL1l4OS8vdmY3M0krdmdQZmhlT2YvT1FuWXVreGxnTkQ0ZjAxQmExYXRTb0NBUEI2QWNPbVZvYmpCWFNaby94UzdUWE1JWVVFUkNFcmY4SHNodjhvS0hjZmlqeldqeHdBc05vT0NvVXN2dEg5VjQ5Nzl1d3BGUFU3My9tT1Q0R3Z1dW9xTm5Ub1VGWmVYczQrK09BRFZsVlZKU3c0UWdsNERZanRvYnduVDU0VUZRQjBHS0ttandlRjRuL2w5MGdRQUZoSWwxOU5ETXEyNEVPSERvbHJEYjVDc0JzQUVDQ3doK1hQcUE4MUgrQS9ONEE1NUhOSklFQVV0TVFuNDBXdW5ObGNlRnFzZGZuREF3Q1ovTHY3N3JzREp2M1FqNjlhN211dnZaWXRXTERBQnhwcW5WL3U5UStsUmR3TzFqUk4vSTBuQXNHamdKV0h5ejkzN2x5aDlPcDMzM2ZmZmVLNy9JVUMrTjdSbzBlYlNBWUdBQUFlQ3VTVkhMQmluT1hjdFdCT1pWNkFTb1ZFWFpKOUYwdDhZdkZPRkZ6KzhBQkFsdjlnd1kxWmZubU03THRVemgvLytNZHM2ZEtsUW9GQnNQU3c4TVpTbm13QlJuSlBNb0FBWVFSYWU4RXlyc2Q1TDc3NEl2dlJqMzdrKzUxTm16WUo3ME1OQlVMckNnd0VBSG9vTU8xb0pLRkExNUNBejYyL09TY2k1ZmNtaThxME9kWmwrYTBCQUJuL3YvZmVlMTNpZjNrTVN3dWxIREZpaEZCaWtGUklxZXpkc1FvQVJzWjNBUWp3aXQvQ3cwRlFFY0J2b1ZjQTd4a0JBS0N3ZXZWcUUzbUFJQUNnYy83VEp5TUpCZnhWQ2VZUUNCQjF5UTV6aFh4ZHNSZ2QwVlYrOHdBZ1krbWpSNDkyaXZtbDhtTTNZQ2prRTA4OElmNkdDdy9YUEpEU213VUFsWkVqa0E4SWVmVFJSOFZ2SXFlZ2VnRXlENEI5Q2tMdUEvQUhBT2dObUhJb2xPYWdZSGtCM1J2d3ZFNFZBbEwrUytWclFibDdVM1RqL2ZBQVFMYi8zbmJiYmFJR3I1TDhHM3YwRHg4KzNOZTZLL2Z2dHhvQXdBZ1BwSWN4Yk5nd2Rzc3R0NGhqajhmVEtiVEEzL0JHQW04VVlzNERFS0dBK1RaaDgza0J6TGtpQTZRUlNhajhLQkZ4WWZoUUY0eHZZcWY4NWdCQWJ2dU5QbjEvNVQ4b0d4cHZrTlFESUlTaStPRUFnR1NaUE1TekF1RVpvSkpnN0FvY04yNmNlSmhvOTJHQVNRRFEyNFR6UTJzVERzWnlyaitVWlVJQ2dTUlQvbEd1cXU4VWxMay9pWS95bXdNQW1RQmNzbVJKcDZTZkJBSThCM0R0MnJYaUdDQUFSWXcyQUtCYUFPV0g2Ly9HRzIrd2JkdTJpZXVSQ1ViNUNMR0ZDeGNHZWFSNENBQVFYcHV3U1JCd2Z3SlpJQkJJSXVXL1p3SDdObGZBaitLbi9PWTlBRmhSUEpSVFZYeVpCMERkSGdxSjk1SHRsK1c5YUFPQWRQbFJZc1RhQk1UOUVnQms1UUJWZ3NEYmhJWGlBZXhsT1ZneEdGNmJzQWtROEh3RW1TQVFTSjVzLzViNEtyODVBSkJiZjlmVTFQanQvNGZDd3l0QXlTL1dBQ0JMaXdnQjFGMkZ6RzhaSGlJQWdJc1BSTkltSEN3YytJQ3FBMDRsZFQvK01tMU4vSlUvT0FESUJVQkl0RUdoL0FHQVhQWWJEd0NRdXdmNVd5YU02OEM1S0JsMm53Z01GUUQyQ1M4Z2IycVYxVjZBS2d0ci9Na01rVU9zUDFlNmhZbWgvTUVCUU83Kys4Z2pqd1RjK3kvZUFCQm90K0FISDN3d1FCaGdIZ0NFOGtzdTJodHBtM0NRcmtIUFF2SUNIRVN5Lzd1d3pPMktmYWt2ZkFDUUNjQ3lzcktBNi84VEVRQmtROUQwNmRNRGRBU2FBNEJPeWkrWXYxOXlFTW03YU15TGtJMzhNaytSS2p0RU5sZisvRkx0Tmo4ZFliWUFnSlVyVndiY0FTaFJBUUQweWl1dlJBRUE5RkRBbWpaaGY4MUM3ZnBLd3RzSUJCeWcvTVBLbTY0elREQ3pBd0RJRUdEbnpwMjI5QUJ3WFpzM2I0NG9CUENyL0FwYjFDYnNEd1RFTVdTSFFNREdNZit0VHpWZHBUeWNveTF4bE45OEt6Q1c3OW94QjRCcjJydDNiMFJWZ0lBQVVNVFBFYnNKUjJWK3BLelVRNFlvSjJEYmpMOTdZMkxGL2VZQUFGbnpsSlFVMFdrbk4rYTBHd0NnS2FtK3ZsN3NPb3g3NlZvSkNBd0F3YXkvREFVc2JoUDJreFIwYi9USkZWVUdiSlQwSzNWUFNWemxEdzRBV0UvLys5Ly9QdWpXMzRrSUFPYjJCdWdlQUV3cHY4NURYZnV0YmhQdUFnS1FKUW9GN0pUMEsyc2FrSGd4djNrQUNMWUd3QTRBRUh4TlFPUUFBT1VmV3NULzk4a2owY2dGZE1vSlFLWUlCR3dROTkvMnJQdEtKZTV2dHlNQXlBckFjODg5Ri9RWkFJa01BS0RaczJkM1V3bndEd0NoV244SkFsRm9FMllHR2FxSGJGRStJRUhKdDdTelRGdWUySzYvZVFEQUJwdDJCNEFWSzFaRUJRQjh5aSs1K0tEZUp1eUpZajVBVzY3S0dsR2l1ZjdsMmkySm1mRVBQUVRBanIzWTdNUE9JUUN1YmN1V0xlSmV6T1FBd3JMK1BpK0FBNGhvRS9aRXRUSUFHYU5RSUFHei9nWGx6VC9nRStST2ZOZmZmQmtRVzNBSGV3UjRvZ0tBYkFmZXQyK2ZxVEpnUk1xdmhnTFJhUk8rS0ZPbFdpTmt6Vmh4SW9xMzYxK3VMYkdINng4WUFHUUpFT1d6WUNYQVJBY0FXUXJFdHVSZFM0SGhBVUMzeWkrWW4xTnlLRnB0d3NwdVF0b1NDZ1VTU2ZsTDNlbjJzZnpCQVFCbE01VFB6RkFpbHdFbGp4bzF5czlUZ3k4Q1FJNWxBT0FOQmFMVUptendCTnpwQkFJSjAvQ2o3WE1LQU1oTlFGQStDeGIvSnpvQUlBK0FyY3IrOUtjLytTa0Y4bnYyQWNCK2E1UmY0V0hSYVJOV1pXeXZQMWtraW5YRFQ1bjdqL1p5L1FNRGdLd0FQUFBNTTBFckFIWUFBRkJwYWFtZlNrRDBBQ0M3aUwrV0hJN20vSGtiaExqc1VVSXdub20vWjgvOGtFOUVjK0kzL1lRT0FNRldBZG9CQU9UK2dDKy8vSExFQUJDSzljOTJIZUFnc0kvbFBYV01GVVluRkpDeTFnd1pKQzhnVHRaZmVaQ0h6YXgvOEJBQTVUTW5oQUJJWU9LaEpwR0VBQ0VydjhMUmJoT1dEeG9oTHlER0hYL0RubTcrZHlVZTYzQUtBQ0JSMXE5ZlA3R25ubE55QU5pOUdQZGtUQUphRFFCRzVVY29rRE9sTWxxNUFDbHo3WkJGNmhDa3NwOGxBSUJIYm1WbFpZbEhjZ1VyQVNZNkFPQnpYQmVXTk9PZWNHK2hBa0FrMWwrQ1FONzB1dWl1R0tTeVlHeXRmMEdwK3hwN0tuMWdBRkEzQW9YaTJCMEFBbThRYWkwQStGVit5Y1VIV1g3MDJvU1pYaGE4aHJ5QUdGbi93akp0c2IydHYzOEFrQzNBOTk5L1B6TkxkdWdEd1BNSzc3MzNYbkZ2Ri9NQXdRRWdZdXV2aGdKUFZrY3JGTkFyQXRwaThnSmlZZjNMbS8rUDB1dmY0VFFBd0RMZ29xSWlVL0cvSFFCQXJnbkEwdWJPaWNEQUFHQ1o4aXNnRUtVMjRRN2ZXZ0V1bStRRlJEbnpuMS9tZnNiKzF0OC9BSVN5RE5oT0FPQi9XYkExQUdCSytRWHpjMHNxb3J5YnNQc1pxZ2hFc2U2Zk8vZjBmK01EM1dSLzZ4OFlBTXoyQU5nSkFMcnVFTnc5QUZodS9Ua1BjUjFrZzRzT3NKeHBOYXd3ZWw1QUUyU1UrZ0tpVnZkM1Arb002eDg0QlBqZ2d3OGNGUUlna2JsdTNUclRJWUQxMXQ4TEFGNCtFSzAyWWJtSDRLUGtCVVFyQ1ZpbTdiVmZ6My9vVllBOWUvWTRDZ0RRQzRDOURjeFVBYUpsL1gzTXZZRHNraU94V1NOQVpHSG12OVNkNlJ6bDl3OEEyRUliWVVCZFhaMnBFcUFkQUVEMkFsUlVWSWg3dTdoTmVGY0FHQnAxNjM5UUR3WDJzOXpvdEFsN0h5cFM3czZnaW9EbEFLQXRzODl1UDZFRGdPd0F6TXZMRTRycEpBREF2Z0I0aWpDMk9iL1lFZWdQQUtLdi9DcEhvVTI0emJ1THNMYU1BTURDNUYvQjA2ZitCeC9ZTTg1SS9uVVBBTmdINEs2NzdtS2hrQjM2QUNUZmVlZWR5cjRBblFFZzZxNi9rWGtvTUJSdHd0WUNnSlROTTVCWlNnWmFsZndyMWU1eFR2TFBQd0RJUjRFOSt1aWpwcTIvWFFEQS85T0N3d01BcTZ5L3JBcWdUZGppcWtDcnZuWFlQWlFNdEt6NXg3M0pXZTYvZndCQW1XektsQ21tRTRCMkFRRFpESVFHSjFRNUxnSkFId0VBTWJmK0toY2YwdHVFTFg2c0dKZFphZ3F5UVBsdm1lWDVHUi9RYjV6bC9uY0ZnSENhZ093RUFDQnNjbkt4RjBBRmdBTXh0LzZxRnpEMHlhTldlZ0ZTUnIrQjdCSUlSRno3MThZNHovM3ZIZ0N3ajc3VEFFQnVETEowNmRLd0FTQWF5aThBd0hXSWc4QkJsamZqaEpVZ0lHVjFESVVCa2JyL1pkcmZuT2YrK3c4QjRCNXYyclRKa1NFQWNocHIxNjd0SmdRNEVIdlhYeXEvWUlRQ2g2MXNFNWF5K2pmeUFDTEovdHQ2eTYvd3FnQzdkdTF5SkFEQW85bXhZOGZGQjRXbW1RZUFxTGorUHVYMzhpRHVCZVJNdGF4Tm1MWU1zNkwyWDFEdXlYV205VGNDUUxxdkVhaXlzdEtSVlFCY0l6b2NmWTFBVVFDQThLeS93aHdFTEd3VDFwT0JubHpxQ1FpLytXZWVNK1AvemdDUXhnRUF1K1VNSERqUTlFNUFkZ01BWEIrZWRDUjNCc0k5bXdHQVdGaC9IMDgreUxLTGoxaWFCNEFNRXdDRTMvdS8yMW50djkwREFEcmtoZzBiSnBUWWlRQ0Fia0NBR3pvZHZkMkF3UUVncW9tL0x0YmZ5NE00Q09ST08yWkZLQ0JsZGpkcGNoakp2Mkd6bXY2M1l2azdIQTBBNlJtaVF3NmRjbVlWMzI2ZGdQZ3RuRDl5NUVodk4yQzZkUUJnbGZLckxOcUVJd01CS2JPdGtHVktCb1lhLzVlNWh6czMvdThNQU9rY0FOQWhOM2JzMkpDc3Y1MEFRSVlCMk83TXV6VllSa0FBaUtucmIxQitlQUhaSmRWV3RBbnJzdXNlVG1GQXFQWC9jdmRzNThiL0JnREl5QkRsc1lrVEo0WlVBYkFUQU1oS0FCNTU1dDBYd0JvQWlJYjFIMXhVd1FaT1BzUnluNHE0VFZnK1FXZ1c5UU9FV2dJczA3WTVOLzd2REFBWkdabWlRV2JtekptT0JnQjROazg5OVpTM0dTaWpld0NJcC9VWEhnQUhBTUd1dzVIdUppeGxkeHVWQWtOUi91bmFQL0ZCYTNCdS9OOFZBTkFGdUdEQmdwQzZBTzBHQUtDNWMrY0tBTUE5K3dPQWVDVCsvQ3EvN2dWa1I5WW1MR1gzRkdTYVFNQnNBckRNOHh0bktuMWdBRmkrZkxsakFVQzJBeTlldk5nU0FJaU82OThaQUNRSTVFMlB2RTBZTWsySlFKTUp3UHhTN1Rabkp3RDlod0R2dnZ1dTR6MkFOOTk4MDlzTzdDY0VTQmpYdnhQai9DTjQ4RWRFaVVESU5DVUNUU1lBODh1MXFjNU9BSGF0QWlBeHRtM2JOa2ZuQUhDdEd6WnMwUGNFeVBEdEIrQUZnTVJ4L2YxNUFVT24xb2JyQlhpM0RPY3lUWWxBMHkzQTdqZVN5UU5BVFJ3OThsOSsrYVhqcXdBN2QrNVUrZ0F1QWtCaVd2L09uZ0RhaE1NQUFiay93QnZrQVpqdkFQek0yUldBaXdBd1FGOE1oUGJZSTBlT09Mb1BBTmU1ZS9kdS9TR2hhV0VCUUt5dHY0KzVGekNrdURLU1NzQm5wTmxtS2dEelRuMlBEMWE5c3lzQUNnRHdPRGcxZFFETHpNd01hVGRndXpZQ0hUNThXTjhkZUlBUEFMSzVzaVpTNHE4N3prSW9NTzE0cUY2QWxPRjZ5RFpWQW9JQVFGNnA1NmQ4c0ZxU0NRRDY5MDlsZ3djUEZncm1aQURBUTBKcmFtcllvRUdEeEQwbkFnQ1lWWDZSQ3lnNkxIaFlhRzNDVW9aYklOc0VBRUZLZ0FYbGpiOTF2dkpmQklDMDFMNDhKdTdMUm8wYUZWTHNiOGRkZ2VWNmdEdnV1RVBjYzFwcVA5TUFrQ2pLbnpXNWdnMEp2VTNZSzh0Y3Rxa1VHQ1FCV0ZpdURYRisvSDhSQU5JSDlHTzllbDB2SHA0WmFnTFFiZ0FnUzRHelpzMFM5NXcrSU1WeUFMQTI4ZGRaK1ZVUXlBbXRUVmpJTW1TYkVvSEJLd0MvYzM0Rm9MTUgwTHQzSDdaOSsvYWtBQUJVQXJadTNTcnVXWGdBMmNFQklGR3NmeWQySFFtbFRiaE5YeE13bWdBZ1NBOUFZWm4yaFBON0FMd0FrSmw3Rit2YiszcFdVRkFZVnZ4dk53QUE0eHF4TDBCQllTRy85eHRZUnZiSWdBQVFzZkpiYlAwN2hRSlRURzhocGk4SzBwNmdYb0JnVFVCbDJ2UmtBWUNiODBhelh2OTFMWnZ5NUpOaEtiOGRBVUErTFBUSko2ZUtlOC9NdVRPNkFCQU42NitBUUs2NU5tRnZNeENYYlFLQVlEbUFNbTErc29RQU4rZU9aamRlZngxNzc3ME5Rdm1UQlFCd3ZSczJiT1QzL2w4c2MrZ2QzUUpBSWl1LzVFR3VTaDRLdU0yMkEvK0ZRb0NnT1FCdFNUSUFBS3pHZ01FaldlN1FRZXpZOFRwUklndUg3QVlBa28vWDFmRjdIOHo2RHh6QmhoWWZUUGpFWHlBdklIdHEwQzNFOUc1QWJRa0JRRkFBOEt4TUJnQVlQcnVaM1pSZXdJb20vWmxkYVBuRzkwVGdaQUFBL0g4THYrYWlTZVBaalFQeVdFNUpoUzJ0dndDQW9pUHM1c21IV2Q2TVU0RkFRTzRRdkpJQUlGZ2ZRSm0yS2lrQVlGWXo2NU14bksxN2R6VUhnSmJrQXdBT2V1dmVYY051U2h2R0FlQ1FMUkovM1FGQUZnZUFRY1hWWmg0VXNvcjZBSUkyQW1udk9CMEFZQ255bm01ZytYYzh5STdYVnJHbTV0TkpGUUxnZjV2NS94NnZyV2JEYnY4REd6UnBiNmN3d0U3V1h6SzhnQUJ0d2pJRWVJY0FJRGdBdk90MEFJRDFIMWhTeTZhV0wySXQ1OCt5eGthM1VPQmtBUUFrQXQxdWpiVmNPTXVtbEw3QUJ2enBNMThZRU85Ky81Q3R2NEhSSnV3SEJDUUF2RXNBRUR3RVdPTjhBR2hpUTZiV3MvYy9ybUFYenAxbWpWeXhXbmdZa0d3QWNPSGNHYlo1NTM2V01lNUxYeGhnSzlmZndQQUNCcGNjRFJRQ3JDRUFDSllFTE5QZWRqSUFGSlpyTFBkcGpkMjd3TU1hM00xY2tUeENxWklKQVBCL212Z09qRUVUdTZ1TUs5K2svU3k3Mkg2dXZ6OFF5SG1xM3VnRlNGbCttNUtBd1FGZ3VaTUJZRGdIZ0lIVE5EWi9uY2ErT2VkaGJzMExBRkRpWkFJQWZJZmI3V0hmbkc5aWM5K3VZYW5qOXJPaEpmYTEvcDI1a3VYUDdOUW1MR1Y1T1FGQVVBQndMM0o2Q0pBM1UyTmZWSGpZdVROUS91UUZBTno3dWJOTmJOZkJVMnpnWlB0YmY5VUxNTFFKeXdlRUxDSUFDTzRCekhGcUt6RGMvK3daR250OGljYk9uUFlJTjlpckNKcG9qMDAyQUJEM3p2bk02U2IyOFB4S2xqSGhRTkF3SUJFVGYvNUI0QWpMbWU3YlFreks4aHdDZ0dDTGdVcmRVNXdLQUhEL0J6MmxzZFU3UGF4RmQvK2xJaVFyQUlndzRGd1RlMnRySFV2OTg0R0FZVURpdS80S0FQQXdJTXRWSmR1RTlTY0Z1NmZRV29BZ0FNRGRwRWVkQ0FDRnV1cy9lcDdHNms5NVdIUFRSUThBSE1wVzRFN3pBSnFiUGF6dXBNWnVuVkVoUW9Gc203citxdktETTdrWE1PUkowU2FzeTdMN1VRS0E0SXVCYm5kaURtRDRMRy95NzY4YkxpYi9QQVFBU2pLd21jMS9wNWIxN3lZWmFEZnJyNEpBM294VGJRZ0ZJTnNVQWdRQmdQeHlkNFlUZHdUS0wrVVdicmJHS285NXZQRy9BUURDMlE3TUtRQ0FzVUFlb0xMV3pmS21RSW50Yi8xOXpBRmdZSEYxdXpjRWJNb2dBQWpTQ0RTOHpQTXJwOFgrdDNEcm44V3QvOEwzL0Z2L1pBZUFUbDdBR3E4WGtGTml3OFNmVWZrVkx5QjcybkUyL05tenY2SkdvTzVJN2dvOHErRi9jcVU1NjVTTlFhSDhRNlpyN082L2FPeEVROWZZUHhrQlFDNEk2dVFGNkxtQUU2YzBkc2ZNQ3BZKy9vQUFnV2k0L2pHei9sN3UwRisvenA1Ujg3OVVXU2Z5QXdCWno3TEx1ZUpVT3dFQUVQY1Bma3BqbytacTdLdkQzcnEvUCtzUFpVcDJBQkJlZ040WDhNV2hCalppZWdVYklLb0N0bForSHdCa3VhcU9aajFiY1RrQmdBa1F3UFBVN1p3SFFMMGZyMGo2VFY2bXNkb1RFR3oveWkrVktaemRnSndHQUNvSTFOYTcyYmdYcTFqS3VBTkM2WWNVMnlmeForQjJIUUIyNkVKT3loKzBHY2pHdXdMQjZxUFhQNGZ6MHMwZTl2VVpiOUt2TytVbkFQQVBBa2dLZm4ybWlTMWFkNXhsVGp6SWJwNTAwT3NOMk12NnM1dGRsVzE0SGVpcVhpcGt1NEFTZ01GN0FVcTFjWGJzQmJoRmQvbnZtcWV4RC9kNVdPczViMnlyQlZCK0FnRC9MRnFrMFNCMXZwbHQvK29VR3pIak1FdjlNd2VCWW5zay9oUnU5WG9BMWVPOU1yNlplZ0NDdHdON3N1M2tBY0RsTDlSZC9rbXZjcGUvM3NNdWZPMWhqVzVQVUVFbkFBak1HTU9XYzAyc3BzN05IbC9JUTRJbnNHVDRrT0NFdC82cUIxQmNOWlJLZ0taTGdRMVgyeVgrUjNzdk92eUd6dERZU3hzOTdPeHAzZVUzcWZ3ZWtmMXVKZ0FJQWdJSUNjN3lrT0NGdGNkWStuaHZTSkJkWEpIbzFsL25xbzZicHh6L0R5b0JobFlKT0pyb2xRRGg4ay9YMkIxek5MWjF0MGZVK0QwbVhINENnTkFBUUIxVGhBVHY3enJKQ3FZaEpEaGtDZ1Rpa1BqclhBSjBWZFdNY2xWOWh5b0FJWGdCWE1IV0ptb1lJRngrZlYzL3VLVWFxejdPM2RTdlE3UDZCQURoalpVTUNhcU91ZG5EQzZwWnZ5ZFFHYWdRbkZDdXYrNytaNklSeUZWTlc0R0ZtZ2pNTC9NVUpXSWlFQzcvc0puZTVwNEY2elIydXRucjlvZXIvQklBd3FWa0F3QUpBZ2dITVBaelZ4MFRuc0ROa3lyWUVGZWl1ZjZWclpsRlZSd0lqcm9vQWVpQU5RRncrYk9uZTN2Nk4rNEszK1VuQVBEdURCekptTGw5SVVFVFcvL3hDWlpUY3BnTkdOODFKSWliOVlmbEw2cHFGd0JRWEpOSkNjQlFtNEdlUGZORHJuVE5pWkFIS0ZTMjhucGtrY1lPMVhpNjdla1BQYmJWNGdZQVVFUzdBb0JzSDViYmloMnNibVJqNWxhSmtHQ0lIaExFMmZwM1FQazVuODR0T3ZFdkZQK0gxeEc0SmQ1ZUFCUWZLL213a2NjemE3ekNqK2FlUm5ma3loOXZBQURqOSswS0FHcElnS1loSE05Y2ljVkVoOFFqdXdhN0VzRDZ1NnEzVWdkZ21IbUF3akszSzU1NUFMajhLTy9CQTNqblkyK2lEenZaV21INTR3MEE4bHc3ZXdER2tBQnpnOTJGM3Q1V3p3YTVFQkpVc0NIRnNWZCtMd0JVaS9nL3E2aTZoT0wvTUNzQitlVmFuM2lFQUtyTC80Y1hOTGFuOHFMTHIxa290UEVDQUNnZ3p0KytmVHZic21XTCtQM0d4a1piQTRBdkpOQzhlWUd2S2hyWjZGa0lDYmdud0VGZ1VPeGNmNmE3L3NJREdPaXE2VXZ4ZjVnaEFHcW5YQ0ZyWWdrQ3c1V0ZQRSsvcWJFR3QzY2hqMVV1ZnlJQXdMbHo1NFRDcjFpeFFuQmRYWjIrSnQvZUFLQ0dCT2ZQTnJHR1JnOHJlYVZHZ0FDVTNSZ1NSTW4xQjNmbzd2K3hndkxhS3lqK3Q4bkNJQ3prd1NJZWRQYTl2dDNETHB6MXJ0KzMwdVdQTndCQStmQVFrb3FLQ3JaczJUTEIrL2J0TSswRjJBRUFaRWlBL1FVdWZOM0VsbSt1WjVtVERyUDBDWjFEZ3FoWmYxZFZtdzRBdEFBb2NnRHc1TVlDQUtEOFNQUmg0NDdQRG5sZGZ1K2UvWjZvQ21xOEFPQ3p6ejVqcjc3NnF1Q1BQLzVZS0xPVEFNQzNvRWdQQ1Q3WjM4QnVtMW5KK28zemdrQVVyYjhQQUFZV1Z3OGo5ei9DTUNCbmx1ZWZDMHExeG1pRkFlcmEvWklWM2gxN3owZlI1VThFQU1DNUgzendnVkIrZUFDYk4yOTJuQWRnREFuZ0NXRG40ZkV2SFdWOWVFZ0F4UjdvaWtyc0w4dC83a0ZQSGIySzNIOHJ2SUF5N1pWb2VBR0k5M1AxaFR3dmIvYnUySVB1TXJmbWlabHd4aU1IZ1BQV3IxOHZsSC81OHVYc2IzLzdtK2x5b0IwQlFPNDVpTG5GWmlNdnJxdGpBeWJ3a0dEaUVUYW8yRkxsditqK0YxVy9TdTYvVlYyQlpkcGdxd0ZBcnQyL2M0N0dkdXpWWFg1UDlGMytlQU1Bem9IaXJsNjlXaWovYTYrOUpvNGJHaHBNZ1lCZEFjQVlFbXo1OGhUTG4xYkpVdjU4bUEwdXRzajE3eFQvMTJTVCsyOVJHR0RsNmtCMUljK2ZYOWJZMGJyUTF1N2JIUUJRQVlBaXYvbm1tMEw1d1crODhRYXJyNjkzUEFBWUZ4UlZIOGVDSW9RRWgwVTRvSVlFWVZsL1gvYi9LSzMrczM1eGtEWXowcVlnZFNIUDgrczFkc2FDaFR4MkFnQW8zdm56NTluSmt5Zlp5cFVyZldWQWNHMXRyYWxTb0JNQXdMZWc2SFNUMkx0aHpxcmp3aFBJbU1SREFoZVVQMHpycnpmLzNPeXFMcVBtSDR1YmdvYlAxUDVmSWk3a3NTTUFIRHQyVExqL1V2bHhYRlZWSlpReVdDTFFLUUJnWEZDMDd1T1RMTHVra3ZVZmY1Z05LcTRNRXdDOGZITlI3WCtxc2t0a0VRZ1VsSG8yaEpvTGlPWkNIanNDQU02cnJxNFdDVUI0QVdBY295L0FUQ1hBU1FCZ1hGQjBvTHFSM1RQbktPdjlCTUtCU2g0S2hCUDdWMjhpNVk5V01yRFVreGNLQUtnTGVXWkhZU0dQVlJ4ckFEaDgrTEFvQVVvQXdQSCsvZnVURWdEVWtPQ2N2cUJvK29yanJNKzRJeXh6Y3FVQUFsT1dYd2VBcktLaitaVDhpMkpTc0tETWM5RE1Da0c1a0FmSGF6Nkt6a0llT3dJQW1vQU9IRGpBWG5ubGxVNEFzR2ZQbnFRR0FPT0NvamUzbmhDS25qcmhpTitRd0FBQWN1VmZoYy95VS9Jdk9zbkF3akxQZzhHU2diRDhnN2pMUCtaNWpYMTFKSG9MZWV3S0FGQjJGUUJ3L01VWFg1anFCa3lFSFlHaVhTcVVDNHErT05USTdpaXZabjBRRWhRSGl2djFsWCt1cW9kVldTV0tRa213WU42cDczRXY0SVMva3FEYTFUZnRkWTJkYW94dFY1OWRBT0RMTDcvc0FnQm9EU1lBNkxxZzZHU0R4aVl2clJWNUFmMEpQMFlBNk5CRGdGTlpMdmVWWlAxalVSSXM5MHcwZWdIeWlUemcxN1o0RlQvV1hYMlJBRUFzTmdXVkFQRDU1NTkzQVlCUFB2bUVBS0NiN2tHMEVTL2RXTS9TSnZLUVlLTFk0NzlyNmEvNGFCR1YvdUswUGtCMjlZMmVwN0dQOSt0UDVOSGlYK0pMVkFENDlOTlB1d0RBenAwN0NRQUNkQSsyOFpCZ3g1NEdWakNEaHdUamZDQWdyYjlHZmY4eDlnSzQ0ay9RdS9wYXhSTjVsbW5zMkluNGR2V0Z5N0Y2TXBBRWdJOCsrcWdMQU96WXNZTUFJRmozNE5kNGFLbkdIbHRZeTI1OEF0dCtWN2ZlakpDZ3VIb1NXZjhZZXdFamw1ejRidDVNclM1N2hzWVdiZFRhZlUvazBUeTJFNjVZQThDSEgzN1lwUXFBM1lGaVdRV3cyeHhkZkVLUmQvL0IrV3ZyTzFMR1Y3SzBTVlVua0pjaTZ4L0x4cUROWGkvZ2QvTzArOWQveHQyekM1NjJST2pxc3dzQVFObU5BTEIxNjFZQ2dCQ2VVTlRSMHRUMnpzNlRiUGlNMmdmMHhoK3kvckZ6QXJ4TkZxeTFPUlBiZFhHcjMyNVhnWW8xQU9DOGJkdTJkUUVBczNzREpqc0FLRDBEN2FnU1FBWlZtU1NLRFFBSXRHM1V0UHQxUkc0akFEQVBBTEQyUmdEQUJpRUVBQ0Z4RzhKTnlLQXFrMFF4QkFBdWhGUDF5V2kxT3dCQWtXTUZBTEQyeGxaZ3M3c0NFUUQ0dUZVZmg2a0VBSEVLQWZnRUxKWm9UQUJnSGdEa2RtQkdBSWpsYWtBbmVBRDY2MklLQVdJUEFKZm9BTERSQ1FBQWppVUF2UC8rKzEwQTRPOS8venNCUUhnQXNGR1ZTYUp3TS9zdTF5WGNDbDIyWXNXS1N3T3hQQWZuODhIZm8wOUNPd0dBK2YwQVlPMk5BTEJwMDZhWUFRRCt6d0VBSUdWdUQyUlJsYzFnOG92elNlTU55aC9PLy9IQlA2RlBRZ2NCQUFGQWpGbkszSWxZeXJ6akNLaUkxN2ZlZXV2WGI3Lzk5bkxPTC9Mamw3cmpWYXRXdmZUbW0yLytsUXZzYTF3WVd4MGdTSUxiMnRwaUJnQnc5d2tBTE52UXBSV3lDSm1FYkFhU1hjZzJaQnl5cnNwK01zZnlQZVJBOElFNXdKa0ZZejdJWWhQTGpSczNKdVNhY3JzQ2dCeFBBb0RRRTdnWU84Z2taTk9NREVQV3BmS3paTzRlUkR5RVZ6NGdjL1dCdWNDNUxSRHpRVzU3L2ZYWDI3WnQyOVlHUVpJQ1NRQkFBQkNQN2R4d0w1QkZ5Q1JrTTVqODZqSU9XWityNmtBeUsvOUFmVURhelhvQWZMREY0NndnVEU0QmdOYldWZ0lBR3dJQTdnZXlDSmtNd1FPUXNqNHdLVUZBSmtCNExQVFBmQkJPaGdNQTJOVENLUUNBZXlBQXNDOEFRQmJEQklDVDBJR2tTd3JLbStVRDhMbytFSzBtQjg0SEFOalhMdGtCQU8zRENCMENBUURHU0w1QzhmQmdrTzRBQU5lQ0p3UUZBZ0VWQU5BNVNBQndSc2hpaUFDZ3l2enJTUVVBMHQzaGd6VmFINEMyRUFaTk1KNXFnMzNzblpJRGlNUURNSG9CVUhCWWVTTmpGU0RPQVdoMDF3aUU4eURRVU94QVNTOThqckdYanhvenc3Z3VGWWljbEFPQUxFSW1RNVZqS2Z2UWhhUUlCU1RLclY2OSt1ZEtNcVFqaklFVEQ3ZUFJRG9sQjRCN2daSmd6MzdVNmJGZ0J6MzdZQnhqRXcvRW1pcGpGeDk1SHRwN3dmamZOV3ZXc0hmZWVVY3dqdGV0VzhmbXpKbkQvdkNIUDdBSEgzeVF2ZkRDQ3lKcnJUNGE3UG5uWDJBUFBQQUFHelBtUGpaLy9ueXhZaENsUVFBRHZoT3ZlQTk3Q1dEekVMemltdkFlUHBjTWNNRzUrRjA4Y3hDTVl5Z0lMQ1ZBd0VFbFFERnZrTVZ3WkZpUi9RdlFDY2Q3QXJMa3dSRnZhN2pXbjhkTVFyQlBuVG9sckpGVEFFQzZrM3YzN2hWUDZvRlN3cTBFNC9qZGQ5OFZUL0ZWR2VNQUM2NmVoeWY5UFAvODgwTEp3UXNXTEdCTGxpeGhZOGVPWmRkZGR4M3IxYXNYS3lzckUyTXBBUURIZUErZjllelprejMrK09OczdkcTE0cnZ4bmZKYThCN0FSUDQranFIYzhyY2w0LzhXTGx6b3V3WWNQL2ZjYzJ6WHJsM0NHM0RTbkVFR0lZdVlDOGhtQkY3QVZrZVhCWldzLzRSUTQzNmordy9oUTZ3cTNWR3c3QW53OTRCTHZKZm9qT3VFTzRrSGRFQ0pZRGtSVTRKeC9ONTc3N0VOR3paMFlpaWd6SXRJeHZnc1dyU0l2ZlRTUzRKeERCZi9qMy84SSt2WHJ4OUxUVTFsczJmUEZzSXFBUURIZUErZjllM2JsMDJhTkVsOE45NlgzNHRqdklmZnhiWEk2d0V3R2E4QjV5NWV2TmgzRFRnR0VHRHJjWUNjbmVZa1VQNUR5aDFrRVRJWlpoaWc2c0lFUjRZQ3N1bUJDOGQxZnR5ZmtCbENoZ0dIcXdsWEZKWUZpbE5aV1NrZWNubjgrSEZXVjFjbkdNZDREMXhUVTlPRjVXZnhabHdMcmhmM1ltd3F3Zkg2OWV0OWlpZVZEMk9nV2gwVkFDUy8rT0tMWXUzL1k0ODl4dnIwNmNOU1VsTFlyRm16dWdBQTNzTm52WHYzWmhNblRoVEtyZ3EwQkFEak5jQXJNRm8rL0MzQlI0SVJBQUFoQTU1Q25HamozcDFNK0pNanlCaGtEZk1FMllNTVloNUNUQUIyRndyZ2U2NXpWSmVnb2R0dmY3aXV2ejlQUUhXVDhUY3NKWVFVc1NqaVkxZ2N4SjBxTUVpV2szLzA2TkV1N0U4b29zMzRYVnlYM1FBQUhvQVJBUEIvL2dBQWN3SmxpdWNZKzV0cm8yemdQY2dNWkFjeWhPdUdUT0grSVdPNFB6WHNpc0R5ZHdrRm9DT082aEowdVZ6UzlaK251NGh0cXJ0b0pVdEJsZUFnSndieEdZUVZ5VExzZjc5NzkyN3hNRXloZE1lT0NhR3NCOUpEQVBqZkVBaDhob1FjT0JiQUVBNEFHT1BPZUFBQUZNSXNBTUFEaUFVQXlQbFM1MDhvdVpqcjQ5NjVGbGI5bVBnTXNnQ1pnR3hBUnVUWXFvWUdyL0krb3lXL1VqZWdLNnJ1T0VINU0vVkJiT0hjR2d2bWsrVTc1ci9keXRHNmRlWEtsYTBjWGNVcjNsK3paazNydXZVYjJQc2ZiR1VmZmZ3SisvS3JQZXpBd1FvdU5FZlp5Wk1uZmJFZmtqd1FHQWlYRkNxcmdTRWNBREFxWDZ3QkFDdy9pd2NBR0JVZExFTXB6Sm1jUDh3bFBqdHc4SkNZWTh3MTVuemQrdmVReEJTeW9Nb0daQVV5NDArV1lzQXRtSC9vaksxQlFKWXpmdm5MWDE2Vm5aMWRsNU9UdzRZT0hYcUI4emV4WnY3YlhaaS8zOEt2NjVzaDJUbHM4SkNoZ3JPSDVyS2N2SHcyWXNTdG9sdzJmY1lNOXZMTEw0czREeFlDd2lVRkM4MHlFQ3pwTWhxQklWa0FRQ2I5b2cwQS9oUWQ0NFU1a0kxTG1CdThqN25DbkdIdVp2QTV4RnhpVG5OeTg1azYzemlHREVBV3VwR1JlUEFGNkFwMEJycGoyOUtndk9nQkF3YTgxYjkvZndoWEd3UXMwYmcvdUwrWHhYdjkrb2xNK0UwMzNjU3V2LzU2ZHNNTk40aS9CdzRjeUVhT0hDbXk2VkFXbExwUWcwZENDSUlvaFJBWjRSTW5Ub2phc0ZGb0F3aytBWUIvUmNmZkdFdU1LY1pXZ2kvR0NtT1BPY0JjNFBveE41Z2p6QlhtREhPSE9jUmM0dStVbEg3ZU9kZm51MzhDeXFQT2JkQVo2STR0QVlEZndHVzY4dC9MR1RmU21wYVd4dXpFNmVucFBzYmZtQkFvMEkwMzN1Z0RCcnpIa1pxTkhqMmFUWmd3UWRTNm9SQVFkTVNWeUhpcjFnbC9kNWRmU0RZQTZDNU94eGlwWGhiK3hsamlmL0ZiR0dPTU5jWWNZNDg1a0lxT3VjRTk0ajEvYzJnbmhzN291bk92cWxNSlR3VUZCWmZxeW4rMWNoTWQrcXV0MlNoVWVFOHFqV3B0OFA2d1ljUFlmZmZkeDBwS1N0aGYvL3BYb1R4NEtDZmFScnZMTDhEUzRSeW5BZ0RLWmpKazhoZW5ZMnh3Ly9nZGpCbkdEbU9Jc2NTWXFsNFpyaFBYaS9lTml1NEVXVk4wQmpwMHRhcGJpVXkrc2dXLzZFLzBHMmh6eUlSMEN3citnQUZOTjFKZ3dSRFl6TXhNTm56NGNHOStZZnIwVHZrRldFQTBtdXpidDYvTHdoSW5BQUM2RTFGU1ErTU03bFdOMHpFV0dCT01EY1lJMXlESERXT0lzZlNuNkE1Uzl1NVk2czdIL25Rc2tWMy9hUXA2c1dSa2Z5Nm83TFRyTHI4QUpVWHJMdHByallwdFZMeEVCZ0JqSXhBWTNZQllqeEFzVHNjWStSdTdaSlVqUlllbUpYUW9JQytNVDFhS2s5eitXQUFEWWxaWXVXdXZ2WmJkYzg4OVhaUVBiS1lHbndnQUlMZHNNMTREMnBIdnZQTk9zZFlBOTlwZG5FNHkwbjA0d01lb1g2S0NnSEJMTWpJeXZzc3Z0RmEvNkhhYU9QUE14MDVZUUxqQ3hnNC9IT005WXg5K29nSUFRaGo4cnZFYTdyMzNYcUg4TWt3aU5zMVNsMnFnWXdrWENzamtCSGZmWGtsMjF6OFN6d0RLaHlXNVRnVUFlRGU0QnJMMDRZY0MwTEdFU2doS2Q0UmYyTWhrU1BvUkFCQUF4RHNwQ0YxTGlGQkFOaWp3Q2YwM2ZtSG5LUGEzQmdDd3dBWnhOQlJMcm0zQXFqdFVBcUNFWUJ4TGhaZm40QlhLaHhJYWxBNk10ZmpJdEljQ0FLaXpHNjlCN2tsZ3ZBYjF0K1VyR25QVWE4QXhydUh1dSs4bUFMQ21OSGdPT3BjSVRVSTk5S3ovRm5MOUkyUEV4Y2lFUC9UUVEyTGxtYm9CQ0k3eG50d2hTTzRTQkFWVXo0TlNBaWlnYkxDNFlCd0RGTERKaDFrQTRFSWxmZy9mcFY0RGR2dFJyd0dzYmhDaWJoSml2QWFBQW1yNkJBQ1dWUVcyeERVWG9HVDlKNUx5VytNQlFBSFI5UEx3d3c4TFR3QzcrSUJ4alBjZWVlU1JUb3lFb1hxZVBCZXV0c3BqeG94aGhZV0Z2bXBEZHdBZ3MvTWpSb3d3ZlEzcWIwdkcxbVArcmdFOTducUxLN0UxK1lBSmNRa0ZaQUtDVDJZdlArNEpjUVFNRUlBbkFFdXNNdDR6c3ZFY3liQ3lLc3V1T1lCTU1BQ1E1MWg5RGJKRmwrYlkwbEFBWTlvcjFrbEI0WEwwN05uejIxeFlLaWp4RjUwK2dVQnJFeUxwYnpjREFORzZCcHBmNnhPQzBFSG9Zc3pDQWFYWC93VnkvZTBITG1ZQWdNYktkdm1BRjJMaUJTaHgvekJxOWlFQUlFNmNKaUhvWkZUekFjcjYvbi9sM0VRQVFBQkFuRkJkZ3RESmY0MW1hYkNIYnYzWGsrdFBBRUNja0tIQXVxZ0FnT0w2UDBMS2IzOEF3RE1BM2w2MVNqeEVCSXhqdkVjQVlIOFFnSTVhR2dvb1NiLy9wSktmTXdEZzZhZG5zQlhMWDJVdkwxMHNHTWQ0andEQUdhVkI2S3BWU1VGZldTRTFOWFUzbGZ5YzBHelVqNDJmUEpYTm1iK1lsYzk1UVRDTzhSNCtJd0J3eEZxQjNaWnNJS0pzOFBFTXVmNU80RFNXbXRLSERYN2tMWlk3dFlybEZPOWxPYTY5TFBmSktqYjQ0YmZFWnppSHhza1IrWURaRVlVQ3lpcS9MTXI0T3djQUJxVDBabGtQcldhRHB0UjJESnA4ME1zbHRSMTRENThSQURpbk1nRGREUXNFWkJheGQrL2VWL0V2T1VVQTRDd0FHUGp3S2paa1NnMGJQUG1BNENFbE5XemdRNnNJQUp4WEdqd0pIUTY1TXFEdTZVK3V2OU1Bb0ErVXZXWElsTnFXd1VVSFc4RTRIdmpRMnkwREtBUndZaWdRMnJNRi9PM3BUNFBwSk11UXl0THl4dHhhc0lMOWNQREVYZjhPSHZFcSsrOXBlZmZjaXMvSTAzTWtDSmg3dG9DVDkvUW5WdHBHVTY1UE1jNDkzcU5RejdHbFFWUFBGa2k2UGYyVE5qbVVucDdodFFpdXk4QWkyY3ZmSXdCd2Jta1FPaDJ3TkVoNytpZFZjaWhkV2dQRjYwc25BSEI4S09ELzJRTEtycjU5RlNHUTNFSHNDRzVYMXBDbkdRRUE3eWtXZytiZFdmUGVycFFHK3hwREFlRU9aR1ptL2tBcCtSRTd1eU13MHc4QVpOTFlPSitoNDdJMEtIUmZLZm5Od0pKQ2ZaZWZhczVWeEk3alN0U0crUnozbHFVaFpXZm4zdmhNUDRmR3lubGNyZXMybGczUE1KWUdlL0M0NEh2WVdpZ3JLK3R5YmhYK2dkaVpqUG4xVnhQR2V6VDN6cDk3NkRoMFBhRWZNa3BFUkJTZlBmNkprNE5KQm9pSmlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUJLRy9qOUxQYXFEL1V3OHNBQUFBQUJKUlU1RXJrSmdnZz09IiBmaWxsPSIjMDAwIi8+PC9nPjwvZz48L3N2Zz4=" alt="Pipeline"></p>
<p>From the diagram above it is obvious that Liftoff should be able to generate code much faster than TurboFan since the pipeline only consists of two stages. In fact, the <em>function body decoder</em> does a single pass over the raw WebAssembly bytes and interacts with the subsequent stage via callbacks, so <em>code generation</em> is performed <em>while decoding and validating</em> the function body. Together with WebAssembly’s <em><a href="https://v8project.blogspot.com/2018/02/v8-release-65.html">streaming APIs</a></em>, this allows V8 to compile WebAssembly code to machine code while downloading over the network.</p>
<h3>Code generation in Liftoff</h3>
<p>Liftoff is a simple code generator, and fast. It performs only one pass over the opcodes of a function, generating code for each opcode, one at a time. For simple opcodes like arithmetics, this is often a single machine instruction, but can be more for others like calls. Liftoff maintains metadata about the operand stack in order to know where the inputs of each operation are currently stored. This <em>virtual stack</em> exists only during compilation. WebAssembly’s structured control flow and validation rules guarantee that the location of these inputs can be statically determined. Thus an actual runtime stack onto which operands are pushed and popped is not necessary. During execution, each value on the virtual stack will either be held in a register or be spilled to the physical stack frame of that function. For small integer constants (generated by <code>i32.const</code>), Liftoff only records the constant’s value in the virtual stack and does not generate any code. Only when the constant is used by a subsequent operation, it is emitted or combined with the operation, for example by directly emitting a <code>addl <reg>, <const></code> instruction on x64. This avoids ever loading that constant into a register, resulting in better code.</p>
<p>Let’s go through a very simple function to see how Liftoff generates code for that.</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgd2lkdGg9IjgwNy45NjIiIGhlaWdodD0iNzAwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIj48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGQ9Ik0wIDBoOTYwdjcyMEgweiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAuNDM4IC01LjUpIj48cGF0aCBkPSJNMTEwIDloNjg1LjVMODE0IDI3LjV2OTIuNDkySDExMHoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xMTAgOWg2ODUuNUw4MTQgMjcuNXY5Mi40OTJIMTEweiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xMzYuNDE0IDMxLjI2MnYxLjYyNXEwIDIuMTI1LTEgMy4zNi0uNzk3Ljk2OC0yIC45NjgtLjU3OCAwLTEuMDk0LS4yMzQtLjUtLjIzNS0uODYtLjY0LS4yMzMtLjI2Ni0uNS0uODI5LS4yNjUtLjU3OC0uMzktMS4wNDctLjE3Mi0uNjcyLS4xNzItMS41Nzh2LTEuNjI1cTAtMi4xMjUgMS0zLjM2Ljc5Ny0uOTY4IDItLjk2OC41NzkgMCAxLjA3OS4yMzQuNTE1LjIzNS44NzUuNjQxLjIzNC4yNjYuNS44NDQuMjY1LjU2Mi4zOSAxLjAzMS4xNzIuNjcyLjE3MiAxLjU3OHptLS42NTYuMDk0cTAtLjkzOC0uMjY2LTEuNzM1LS4yNS0uNzk2LS41NzgtMS4yOC0uMjAzLS4yNjYtLjUxNi0uNDctLjQzNy0uMjY1LTEtLjI2NS0xLjA5MyAwLTEuNzE4IDEuMTI1dC0uNjI1IDIuNjI1djEuNDM3cTAgLjkzOC4yNSAxLjc1LjI2NS43OTcuNjEgMS4yNjYuMTg3LjI2Ni41LjQ2OS40MzcuMjgxIDEgLjI4MSAxLjA5MyAwIDEuNzE4LTEuMTI1LjYyNS0xLjE0LjYyNS0yLjY0em0yNi4zODMgMS43MzRxMC0uOTA2LjIzNC0xLjkwNi4yMzQtMS4wMTYuODktMi4zMjguNjczLTEuMzI4Ljk3LTEuNTk0LjA5My0uMDk0LjIwMi0uMDk0LjE0MSAwIC4yMzUuMDk0LjExLjA5NC4xMS4yMzQgMCAuMDc5LS4wNjMuMTcyLS44NiAxLjU3OC0xLjIzNSAyLjg2LS4zNTkgMS4yODEtLjM1OSAyLjU2MnQuMzYgMi41NjNxLjM3NCAxLjI4MSAxLjIzNCAyLjg2LjA2Mi4wOTMuMDYyLjE3MSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4yMzMuMDk0LS4xMSAwLS4yMDQtLjA3OC0uMjgtLjI2Ni0uOTM3LTEuNTYzLS42NTYtMS4yOTYtLjkwNi0yLjI4LS4yNS0xLS4yNS0yem05LjI0Mi0yLjIxOXY1LjQ1NGgyLjg3NXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC01LjEyNXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaDEuNTc4VjMwLjg3aC0xLjQyMnEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS40MjJ2LTFxMC0uODI4LjY3Mi0xLjQzNy42NzItLjYxIDEuNzgxLS42MS45MzggMCAxLjk4NC4xNzIuNDA3LjA2My40ODUuMTU2LjA3OC4wNzkuMDc4LjIyIDAgLjE0LS4wOTQuMjM0LS4wOTMuMDkzLS4yNS4wOTMtLjA2MiAwLS4yMDMtLjAzLTEuMTg3LS4xNzMtMi0uMTczLS44NiAwLTEuMzI4LjQyMi0uNDUzLjQyMi0uNDUzLjk1M3YxaDMuMDYycS4yMzUgMCAuMzI4LjA5NC4xMS4wOTQuMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzem0xMi4yNzMgNi4xMXYtLjk2OXEtMS4zNDQgMS4yMzQtMi45MDYgMS4yMzQtLjk1MyAwLTEuNDUzLS41My0uNjU2LS42ODgtLjY1Ni0xLjYxVjMwLjg3aC0uODc1cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjUzdjQuODlxMCAuNjQxLjQwNyAxLjA2My40MDYuNDA3IDEuMDE2LjQwNyAxLjYxIDAgMi45MzctMS40N3YtNC4yMzRoLTEuMjAzcS0uMjM0IDAtLjM0NC0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjg2djYuMTFoLjU2MnEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0em01LjI0Mi02Ljc2NnYuOTg1cS42ODgtLjY4OCAxLjIzNS0uOTU0LjU2Mi0uMjY1IDEuMjUtLjI2NS43NSAwIDEuMzc1LjMxMi40MzcuMjM1Ljc4MS43ODIuMzYuNTQ2LjM2IDEuMTA5djQuMTRoLjU2MnEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0xLjc2NnEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMDktLjA5My4zNDMtLjA5M2guNTQ3di00LjAzMnEwLS42ODctLjUxNS0xLjE3Mi0uNS0uNDg0LTEuMzQ0LS40ODQtLjY1NiAwLTEuMTQuMjY2LS40Ny4yNjUtMS4zNDUgMS4yOTd2NC4xMjVoLjczNXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0yLjE0cS0uMjM1IDAtLjM0NS0uMDk0LS4wOTMtLjA5NC0uMDkzLS4yMzQgMC0uMTU3LjA5My0uMjM1LjExLS4wOTMuMzQ0LS4wOTNoLjc1VjMwLjg3aC0uNTYycS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NHptMTQuNDYxLjY1NnYtLjIxOHEwLS4yMzUuMDk0LS4zMjguMDk0LS4xMS4yMzQtLjExLjE0MSAwIC4yMzUuMTEuMDk0LjA5My4wOTQuMzI4djEuNDg0cTAgLjI1LS4wOTQuMzYtLjA5NC4wOTMtLjIzNS4wOTMtLjE0IDAtLjIzNC0uMDk0LS4wNzgtLjA5My0uMDk0LS4yOTYtLjA0Ny0uNTYzLS43MzQtMS4wNjMtLjY4OC0uNS0xLjg0NC0uNS0xLjQ1MyAwLTIuMjE5LjkyMi0uNzUuOTA2LS43NSAyLjA5NCAwIDEuMjY1LjgyOSAyLjA5My44NDMuODI5IDIuMTcxLjgyOS43NjYgMCAxLjU0Ny0uMjgyLjc5Ny0uMjggMS40MzgtLjkwNi4xNzItLjE1Ni4yOTctLjE1NnQuMjE4LjA5NHEuMDk0LjA5My4wOTQuMjE4IDAgLjM0NC0uNzk3Ljg2LTEuMjY1Ljg0My0yLjgyOC44NDMtMS41OTQgMC0yLjYxLTEuMDE1LTEuMDE1LTEuMDE2LTEuMDE1LTIuNTc4IDAtMS41NzggMS4wMzEtMi42MjUgMS4wNDctMS4wNDcgMi42NDEtMS4wNDcgMS41IDAgMi41MzEuODl6bTE2LjM5MSAyLjIycTAtLjkwNy4yMzQtMS45MDcuMjM1LTEuMDE2Ljg5MS0yLjMyOC42NzItMS4zMjguOTY5LTEuNTk0LjA5My0uMDk0LjIwMy0uMDk0LjE0IDAgLjIzNC4wOTQuMTEuMDk0LjExLjIzNCAwIC4wNzktLjA2My4xNzItLjg2IDEuNTc4LTEuMjM0IDIuODYtLjM2IDEuMjgxLS4zNiAyLjU2MnQuMzYgMi41NjNxLjM3NSAxLjI4MSAxLjIzNCAyLjg2LjA2My4wOTMuMDYzLjE3MSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4yMzQuMDk0LS4xMSAwLS4yMDMtLjA3OC0uMjgxLS4yNjYtLjkzOC0xLjU2My0uNjU2LTEuMjk2LS45MDYtMi4yOC0uMjUtMS0uMjUtMnptNy4xOTUtMi44NzZ2MS4xODhxLjU5NC0uNzAzIDEuMjY2LTEuMDYzdDEuNTc4LS4zNnEuOTY5IDAgMS43ODEuNDU0LjgyOC40NTMgMS4yODIgMS4yNjYuNDUzLjc5Ni40NTMgMS42ODcgMCAxLjQyMi0xLjAxNiAyLjQyMi0xLjAxNiAxLTIuNDg0IDEtMS43NjYgMC0yLjg2LTEuNDIydjMuOTUzaDEuNTk0cS4yMzQgMCAuMzI4LjA5NC4xMS4wOTQuMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0zLjEyNXEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wNzgtLjA5My0uMjM1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjg3NXYtOC40NjloLS44NzVxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjY4OCAzLjE3MnEwLTEuMTI1LS44MjgtMS45MzctLjgxMy0uODEzLTItLjgxMy0xLjIwMyAwLTIuMDMyLjgxMy0uODI4LjgxMi0uODI4IDEuOTM3IDAgMS4xNC44MjggMS45NTMuODI5LjgxMyAyLjAzMi44MTMgMS4xNzIgMCAyLS44MTMuODI4LS44MTIuODI4LTEuOTUzem04LjI3MyAzLjU5NHYtLjk1M3EtMS40MjIgMS4yMTgtMy4wNDcgMS4yMTgtMS4xODcgMC0xLjg1OS0uNTkzLS42NTYtLjYxLS42NTYtMS40ODUgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcxOSAyLjU2Mi0uNzE5LjQ1MyAwIC45ODUuMDYzLjUzLjA2MiAxLjE0LjE4N3YtMS4wNjJxMC0uNTQ3LS41LS45MzgtLjUtLjQwNi0xLjUtLjQwNi0uNzY1IDAtMi4xNC40NTMtLjI1LjA3OC0uMzI4LjA3OC0uMTI1IDAtLjIyLS4wOTMtLjA3Ny0uMDk0LS4wNzctLjIzNSAwLS4xNC4wNzgtLjIxOS4xMS0uMTA5Ljg3NS0uMzEyIDEuMjE5LS4zMjggMS44NDQtLjMyOCAxLjI1IDAgMS45MzcuNjEuNzAzLjYwOS43MDMgMS4zOXY0LjM0NGguODc1cS4yMzUgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyOC4wOTR6bTAtMy4yNjZxLS40NTMtLjE0LS45NjktLjIwMy0uNTE1LS4wNjItMS4wOTMtLjA2Mi0xLjQyMiAwLTIuMjM1LjYyNS0uNjA5LjQ1My0uNjA5IDEuMDkzIDAgLjU5NC40NjkgMSAuNDY5LjQwNyAxLjM2LjQwNy44NDMgMCAxLjU3Ny0uMzI5LjczNS0uMzQzIDEuNS0xLjA5M3ptNi45My0zLjV2MS42NTZxMS4yODEtMS4xNTYgMS45MjItMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5MyAwIDEuMDkzLjQwNy41LjM5LjUuNTkzIDAgLjE0MS0uMDkzLjI1LS4wOTQuMDk0LS4yNS4wOTQtLjA3OCAwLS4xNC0uMDMxLS4wNDgtLjAzMS0uMTg4LS4xNzItLjI4Mi0uMjgxLS40ODUtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0Ny4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODh2My41OTRoMi45MDZxLjI1IDAgLjM0NC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zNDQuMDk0aC01LjE0cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzQgMC0uMTI1LjA5NC0uMjE5dC4zNDQtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzR0LjM0NC0uMDk0em0xMi4yNzMgNi43NjZ2LS45NTNxLTEuNDIxIDEuMjE4LTMuMDQ2IDEuMjE4LTEuMTg4IDAtMS44Ni0uNTkzLS42NTYtLjYxLS42NTYtMS40ODUgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcxOSAyLjU2Mi0uNzE5LjQ1NCAwIC45ODUuMDYzLjUzMS4wNjIgMS4xNC4xODd2LTEuMDYycTAtLjU0Ny0uNS0uOTM4LS41LS40MDYtMS41LS40MDYtLjc2NSAwLTIuMTQuNDUzLS4yNS4wNzgtLjMyOC4wNzgtLjEyNSAwLS4yMi0uMDkzLS4wNzctLjA5NC0uMDc3LS4yMzUgMC0uMTQuMDc4LS4yMTkuMTEtLjEwOS44NzUtLjMxMiAxLjIxOS0uMzI4IDEuODQ0LS4zMjggMS4yNSAwIDEuOTM3LjYxLjcwMy42MDkuNzAzIDEuMzl2NC4zNDRoLjg3NXEuMjM1IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0em0wLTMuMjY2cS0uNDUzLS4xNC0uOTY4LS4yMDMtLjUxNi0uMDYyLTEuMDk0LS4wNjItMS40MjIgMC0yLjIzNS42MjUtLjYwOS40NTMtLjYwOSAxLjA5MyAwIC41OTQuNDY5IDEgLjQ2OS40MDcgMS4zNi40MDcuODQzIDAgMS41NzctLjMyOS43MzUtLjM0MyAxLjUtMS4wOTN6bTQuNzI3LTMuNXYuNjU2cS44NDQtLjg5IDEuNjg3LS44OS41IDAgLjg3NS4yNjUuMzkxLjI2Ni42NTcuODEzLjQzNy0uNTQ3Ljg3NS0uODEzLjQ1My0uMjY1LjkwNi0uMjY1LjcxOSAwIDEuMTQuNDUzLjU0Ny41OTQuNTQ3IDEuMjk3djQuNTk0aC41NjNxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtMS4yMTl2LTUuMTg4cTAtLjUtLjMxMi0uODI4LS4yOTctLjMyOC0uNjg4LS4zMjgtLjM2IDAtLjc2NS4yODEtLjM5MS4yNjYtLjkwNyAxLjA0N3Y0LjM2aC41NDdxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtMS4yMDN2LTUuMTRxMC0uNTE2LS4zMTItLjg2LS4zMTMtLjM0NC0uNjg4LS4zNDQtLjM2IDAtLjcwMy4yMzQtLjQ2OS4zMTMtMSAxLjA5NHY0LjM2aC41NjJxLjIzNSAwIC4zMjkuMDkzLjEwOS4wNzguMTA5LjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC0xLjc2NXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaC41NDdWMzAuODdoLS41NDdxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em0yMS44Ni0yLjU5NHYtLjgyOHEwLS4yNS4wNzctLjM0My4wOTQtLjExLjI1LS4xMS4xNDEgMCAuMjM1LjExLjA5My4wOTMuMDkzLjM0M3YuODI4cS41MzIuMDQ3Ljg3NS4xNzIuMzQ0LjExLjgxMy40MjIgMC0uMTg3LjA5NC0uMjgxLjA5My0uMDk0LjIzNC0uMDk0LjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zMjh2Ljk2OHEwIC4yMzUtLjA5NC4zNDQtLjA5My4wOTQtLjIzNC4wOTQtLjEyNSAwLS4yMTktLjA3OC0uMDc4LS4wNzgtLjExLS4yODEtLjA0Ni0uMzYtLjQ4My0uNjU3LS42NDEtLjQyMi0xLjUxNi0uNDIydC0xLjQ1My41MTZxLS41NzguNTE2LS41NzggMS4xNTYgMCAuNjU3LjUxNSAxIC4zNzUuMjY2IDEuNjEuNSAxLjIzNC4yMiAxLjY3Mi40MjIuNjI1LjI4MS45MjEuNzUuMzEzLjQ2OS4zMTMgMS4xMjUgMCAuODktLjcwMyAxLjU3OC0uNjg4LjY3Mi0xLjk4NS43OTd2MS45MzhxMCAuMjUtLjA5My4zNDMtLjA5NC4xMS0uMjM1LjExLS4xNTYgMC0uMjUtLjExLS4wNzgtLjA5My0uMDc4LS4zNDNWMzYuMDlxLTEuMjAzLS4wNzgtMi4wMzEtLjc4MSAwIC4zNDQtLjAzMS40MjItLjAxNi4wNzgtLjExLjE0LS4wNzguMDQ3LS4xODcuMDQ3LS4xNCAwLS4yMzQtLjA5My0uMDk0LS4xMS0uMDk0LS4zNDRWMzQuMnEwLS4yMzUuMDk0LS4zMjkuMDkzLS4xMDkuMjM0LS4xMDkuMTQgMCAuMjUuMDk0LjA2Mi4wNzguMDc4LjMxMi4wNDcuNDIyLjY3Mi44Ni42MjUuNDIyIDEuNjg3LjQyMiAxLjA5NCAwIDEuNzItLjUxNi42NC0uNTMxLjY0LTEuMjE5IDAtLjQ2OS0uMjM1LS43OTctLjIzNC0uMzI4LS43MzQtLjUzLS4zMjgtLjE0Mi0xLjM3NS0uMzMtMS41MTYtLjI5Ni0yLjA5NC0uNzY1LS41OTMtLjQ2OC0uNTkzLTEuMzc1IDAtLjg0My42NC0xLjUuNjQtLjY3MiAxLjcwMy0uNzk3em0xMC4yNzMtLjQ1M3Y5LjE1N2gyLjU3OHEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC01LjgxM3EtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMDktLjA5My4zNDMtLjA5M2gyLjU3OVYyNy44NGgtMS44OTFxLS4yMzUgMC0uMzQ0LS4wOTQtLjExLS4wOTMtLjExLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bTcuMTAxIDB2NC4wNDdxLjYyNS0uNjg3IDEuMjAzLS45NTMuNTc5LS4yODEgMS4yODItLjI4MS43NjUgMCAxLjI5Ny4yNjUuNTQ2LjI2Ni45MDYuODI5LjM2LjU2Mi4zNiAxLjE3MXY0LjA3OWguNzM0cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTIuMTQxcS0uMjM0IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzQgMC0uMTU3LjA5NC0uMjM1LjExLS4wOTMuMzQ0LS4wOTNoLjczNHYtNC4wMzJxMC0uNzAzLS41MTUtMS4xNzItLjUtLjQ4NC0xLjQyMi0uNDg0LS43MTkgMC0xLjIxOS4zNDQtLjM3NS4yNS0xLjIxOSAxLjE4N3Y0LjE1N2guNzVxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtMi4xNHEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaC43MzRWMjcuODRoLS44NzVxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjI1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTEzLjkzIDMuNDdxMC0uMjIuMDk0LS4zMTMuMDkzLS4xMS4yMzQtLjExLjE1NiAwIC4yNS4xMS4wOTQuMDkzLjA5NC4zMjh2MS4xMjVxMCAuMjM0LS4wOTQuMzQzLS4wOTQuMDk0LS4yNS4wOTQtLjEyNSAwLS4yMTktLjA3OC0uMDkzLS4wOTQtLjEwOS0uMjgxLS4wNDctLjQ2OS0uNDg0LS43ODEtLjY0MS0uNDM4LTEuNjg4LS40MzgtMS4xMSAwLTEuNzE5LjQ1My0uNDUzLjMyOC0uNDUzLjc1IDAgLjQ2OS41NDcuNzgxLjM3NS4yMiAxLjQyMi4zMjkgMS4zNi4xNTYgMS44OS4zNDMuNzY2LjI2NiAxLjEyNi43NS4zNzUuNDg1LjM3NSAxLjA0NyAwIC44NDQtLjgxMyAxLjUtLjc5Ny42NTYtMi4zNDQuNjU2LTEuNTYyIDAtMi41NDctLjc5NiAwIC4yNjUtLjAzLjM0My0uMDMyLjA3OC0uMTI2LjE0LS4wNzguMDQ4LS4xNzIuMDQ4LS4xNCAwLS4yMzQtLjA5NC0uMDk0LS4xMS0uMDk0LS4zNDR2LTEuMzZxMC0uMjMzLjA3OC0uMzI3LjA5NC0uMTEuMjUtLjExLjE0MSAwIC4yMzUuMTEuMDkzLjA5NC4wOTMuMjUgMCAuMzYuMTg4LjYxLjI2Ni4zNzQuODYuNjI0LjYwOS4yMzUgMS40NjguMjM1IDEuMjgxIDAgMS45MDYtLjQ3LjYyNS0uNDg0LjYyNS0xLjAxNSAwLS42MS0uNjI1LS45NjktLjY0LS4zNzUtMS44NzUtLjUtMS4yMTgtLjEyNS0xLjc1LS4zMjgtLjUzLS4yMDMtLjgyOC0uNjEtLjI5Ny0uNDA1LS4yOTctLjg3NCAwLS44NDQuODI4LTEuMzI4LjgyOS0uNSAxLjk4NS0uNSAxLjM2IDAgMi4yMDMuNjU2em0xNy4zNi0zLjc5OHYxLjcwM2gtLjk3VjI2Ljg0em0uMDMgMy4zNzV2Ni4xMWgyLjU3OXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC01LjgxM3EtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjM0IDAtLjE1Ny4wOTMtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaDIuNTc4VjMwLjg3aC0xLjkyMnEtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQzLS4wOTR6bTEwLjYwMiAxLjQyMnEuOTA2LjQwNiAxLjM3NSAxLjEyNS40ODUuNzAzLjQ4NSAxLjQ2OSAwIDEuMTcyLS45NyAyLjA3OC0uOTUyLjkwNi0yLjM5LjkwNi0uODQ0IDAtMS43NS0uMzYtLjkwNi0uMzU5LTEuMjY1LS43MzQtLjExLS4xMjUtLjExLS4yNjUgMC0uMTI1LjA3OC0uMjE5LjA5NC0uMDk0LjIxOS0uMDk0dC4yODEuMTFxMS4yMTkuOTA2IDIuNTYzLjkwNiAxLjE0IDAgMS45MDYtLjcxOS43ODEtLjcxOS43ODEtMS41OTQgMC0uNTc4LS4zOS0xLjE0LS4zNzUtLjU2My0xLjA5NC0uODktLjcwMy0uMzI5LTEuNDIyLS4zMjktLjIzNCAwLS4zNDQtLjA3OC0uMDkzLS4wOTQtLjA5My0uMjUgMC0uMTQuMDkzLS4yMzQuMDk0LS4wOTQuMjk3LS4wOTRsLjU2My4wMTVxLjg3NSAwIDEuNDUzLS41My41NzgtLjU0OC41NzgtMS4yNjYgMC0uNzM1LS42MS0xLjI5Ny0uNTkzLS41NjMtMS41NjItLjU2My0uNjg4IDAtMS4yNjYuMjM1LS41NjIuMjM0LS45MDYuNjQtLjEyNS4xNTYtLjE4Ny4yMDMtLjA2My4wMzItLjE1Ny4wMzItLjEyNSAwLS4yMTgtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjE5IDAtLjMxMi42NzItLjc4MS45NTMtLjY3MiAyLjE1Ni0uNjcyIDEuMjM0IDAgMi4wMzEuNzUuNzk3Ljc1Ljc5NyAxLjc4MSAwIC42NTYtLjM5IDEuMjUtLjM3NS41NzgtMS4xMS45MjJ6bTUuNDMgNC42ODhoNS4wMzF2LS4yNjZxMC0uMjM0LjA5NC0uMzI4LjA5My0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDk0LjA5NC4zMjh2LjkyMmgtNi4zNDR2LS45NjlxMi0xLjc5NyAzLjg5LTMuNjU2Ljg3Ni0uODc1IDEuMjA0LTEuMjgxLjMyOC0uNDA3LjQ1My0uNzA0LjEyNS0uMzEyLjEyNS0uNjI1IDAtLjg0My0uNjg4LTEuNDg0LS42NzEtLjY1Ni0xLjY0LS42NTYtLjg2IDAtMS41MzEuNS0uNjU3LjQ4NC0uODQ0IDEuMjAzLS4wNDcuMTg3LS4xMjUuMjUtLjA5NC4wNzgtLjIxOS4wNzh0LS4yMTktLjA5NHEtLjA5My0uMDkzLS4wOTMtLjIxOCAwLS4zNzUuNDA2LTEuMDE2LjQyMi0uNjQgMS4xNC0xIC43Mi0uMzc1IDEuNDg1LS4zNzUgMS4yMTkgMCAyLjA5NC44Ni44OS44NDMuODkgMS45MjEgMCAuNDUzLS4xNTYuODQ0LS4xNC4zNzUtLjUuODI4LS4zNDQuNDM4LTEuMjY2IDEuMzQ0LTIuMzEyIDIuMjgxLTMuNzY1IDMuNTQ3em0xMi42MTctMy4yMzVxMCAuOTA2LS4yMzQgMS45MDYtLjIzNSAxLS45MDcgMi4zMjktLjY1NiAxLjMyOC0uOTY4IDEuNTkzLS4wOTQuMDk0LS4yMDMuMDk0LS4xNDEgMC0uMjM1LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4wNzguMDQ3LS4xNzIuODYtMS41NzggMS4yMi0yLjg2LjM3NC0xLjI4LjM3NC0yLjU2MiAwLTEuMjgxLS4zNzUtMi41NjItLjM2LTEuMjgyLTEuMjE5LTIuODYtLjA0Ny0uMDkzLS4wNDctLjE3MiAwLS4xNC4wOTQtLjIzNHQuMjM1LS4wOTRxLjEwOSAwIC4yMDMuMDk0LjI5Ny4yNjYuOTUzIDEuNTYzLjY1NiAxLjI4LjkwNiAyLjI4LjI1Ljk4NS4yNSAxLjk4NXptMTguOTM4IDBxMC0uOTA2LjIzNC0xLjkwNi4yMzQtMS4wMTYuODktMi4zMjguNjcyLTEuMzI4Ljk3LTEuNTk0LjA5My0uMDk0LjIwMi0uMDk0LjE0MSAwIC4yMzUuMDk0LjExLjA5NC4xMS4yMzQgMCAuMDc5LS4wNjMuMTcyLS44NiAxLjU3OC0xLjIzNSAyLjg2LS4zNiAxLjI4MS0uMzYgMi41NjJ0LjM2IDIuNTYzcS4zNzUgMS4yODEgMS4yMzUgMi44Ni4wNjIuMDkzLjA2Mi4xNzEgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMjM0LjA5NC0uMTA5IDAtLjIwMy0uMDc4LS4yODEtLjI2Ni0uOTM3LTEuNTYzLS42NTYtMS4yOTYtLjkwNi0yLjI4LS4yNS0xLS4yNS0yem03LjE5NS0yLjg3NXYxLjE4OHEuNTk0LS43MDMgMS4yNjUtMS4wNjMuNjcyLS4zNiAxLjU3OS0uMzYuOTY4IDAgMS43OC40NTQuODI5LjQ1MyAxLjI4MiAxLjI2Ni40NTMuNzk2LjQ1MyAxLjY4NyAwIDEuNDIyLTEuMDE1IDIuNDIyLTEuMDE2IDEtMi40ODUgMS0xLjc2NSAwLTIuODYtMS40MjJ2My45NTNoMS41OTVxLjIzNCAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTNoLTMuMTI1cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA3OC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGguODc1di04LjQ2OWgtLjg3NXEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTUuNjg3IDMuMTcycTAtMS4xMjUtLjgyOC0xLjkzNy0uODEyLS44MTMtMi0uODEzLTEuMjAzIDAtMi4wMzEuODEzLS44MjguODEyLS44MjggMS45MzcgMCAxLjE0LjgyOCAxLjk1My44MjguODEzIDIuMDMxLjgxMyAxLjE3MiAwIDItLjgxMy44MjgtLjgxMi44MjgtMS45NTN6bTguMjc0IDMuNTk0di0uOTUzcS0xLjQyMiAxLjIxOC0zLjA0NyAxLjIxOC0xLjE4OCAwLTEuODYtLjU5My0uNjU2LS42MS0uNjU2LTEuNDg1IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2My41MzEuMDYyIDEuMTQuMTg3di0xLjA2MnEwLS41NDctLjUtLjkzOC0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTMtLjA3OC0uMDk0LS4wNzgtLjIzNSAwLS4xNC4wNzgtLjIxOS4xMS0uMTA5Ljg3NS0uMzEyIDEuMjE5LS4zMjggMS44NDQtLjMyOCAxLjI1IDAgMS45MzguNjEuNzAzLjYwOS43MDMgMS4zOXY0LjM0NGguODc1cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTR6bTAtMy4yNjZxLS40NTMtLjE0LS45NjktLjIwMy0uNTE2LS4wNjItMS4wOTQtLjA2Mi0xLjQyMiAwLTIuMjM0LjYyNS0uNjEuNDUzLS42MSAxLjA5MyAwIC41OTQuNDcgMSAuNDY4LjQwNyAxLjM1OS40MDcuODQzIDAgMS41NzgtLjMyOS43MzQtLjM0MyAxLjUtMS4wOTN6bTYuOTMtMy41djEuNjU2cTEuMjgtMS4xNTYgMS45MjEtMS40ODQuNjQxLS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDcuNS4zOS41LjU5MyAwIC4xNDEtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMS0uMDQ3LS4wMzEtLjE4OC0uMTcyLS4yODEtLjI4MS0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDguMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg4djMuNTk0aDIuOTA3cS4yNSAwIC4zNDQuMDkzLjEwOS4wNzguMTA5LjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zNDMuMDk0aC01LjE0cS0uMjM1IDAtLjM0NS0uMDk0LS4wOTMtLjA5NC0uMDkzLS4yMzQgMC0uMTI1LjA5My0uMjE5LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4wOTQtLjA5NC4zNDQtLjA5NHptMTIuMjczIDYuNzY2di0uOTUzcS0xLjQyMiAxLjIxOC0zLjA0NyAxLjIxOC0xLjE4NyAwLTEuODYtLjU5My0uNjU2LS42MS0uNjU2LTEuNDg1IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2My41MzIuMDYyIDEuMTQuMTg3di0xLjA2MnEwLS41NDctLjUtLjkzOC0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTMtLjA3OC0uMDk0LS4wNzgtLjIzNSAwLS4xNC4wNzgtLjIxOS4xMS0uMTA5Ljg3NS0uMzEyIDEuMjItLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzOC42MS43MDMuNjA5LjcwMyAxLjM5djQuMzQ0aC44NzVxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NHptMC0zLjI2NnEtLjQ1My0uMTQtLjk2OS0uMjAzLS41MTUtLjA2Mi0xLjA5NC0uMDYyLTEuNDIxIDAtMi4yMzQuNjI1LS42MS40NTMtLjYxIDEuMDkzIDAgLjU5NC40NyAxIC40NjguNDA3IDEuMzU5LjQwNy44NDQgMCAxLjU3OC0uMzI5LjczNC0uMzQzIDEuNS0xLjA5M3ptNC43MjYtMy41di42NTZxLjg0NC0uODkgMS42ODgtLjg5LjUgMCAuODc1LjI2NS4zOS4yNjYuNjU2LjgxMy40MzgtLjU0Ny44NzUtLjgxMy40NTMtLjI2NS45MDYtLjI2NS43MiAwIDEuMTQxLjQ1My41NDcuNTk0LjU0NyAxLjI5N3Y0LjU5NGguNTYycS4yMzUgMCAuMzI5LjA5My4xMDkuMDc4LjEwOS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtMS4yMTh2LTUuMTg4cTAtLjUtLjMxMy0uODI4LS4yOTctLjMyOC0uNjg3LS4zMjgtLjM2IDAtLjc2Ni4yODEtLjM5LjI2Ni0uOTA2IDEuMDQ3djQuMzZoLjU0N3EuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0xLjIwM3YtNS4xNHEwLS41MTYtLjMxMy0uODYtLjMxMi0uMzQ0LS42ODctLjM0NC0uMzYgMC0uNzA0LjIzNC0uNDY4LjMxMy0xIDEuMDk0djQuMzZoLjU2M3EuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0xLjc2NnEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMDktLjA5My4zNDMtLjA5M2guNTQ3VjMwLjg3aC0uNTQ3cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTR6bTIxLjg2LTIuNTk0di0uODI4cTAtLjI1LjA3OC0uMzQzLjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zNDN2LjgyOHEuNTMxLjA0Ny44NzUuMTcyLjM0NC4xMS44MTIuNDIyIDAtLjE4Ny4wOTQtLjI4MS4wOTQtLjA5NC4yMzUtLjA5NC4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzI4di45NjhxMCAuMjM1LS4wOTQuMzQ0LS4wOTQuMDk0LS4yMzQuMDk0LS4xMjUgMC0uMjItLjA3OC0uMDc3LS4wNzgtLjEwOS0uMjgxLS4wNDYtLjM2LS40ODQtLjY1Ny0uNjQtLjQyMi0xLjUxNi0uNDIyLS44NzUgMC0xLjQ1My41MTYtLjU3OC41MTYtLjU3OCAxLjE1NiAwIC42NTcuNTE2IDEgLjM3NS4yNjYgMS42MS41IDEuMjM0LjIyIDEuNjcxLjQyMi42MjUuMjgxLjkyMi43NS4zMTIuNDY5LjMxMiAxLjEyNSAwIC44OS0uNzAzIDEuNTc4LS42ODcuNjcyLTEuOTg0Ljc5N3YxLjkzOHEwIC4yNS0uMDk0LjM0My0uMDkzLjExLS4yMzQuMTEtLjE1NiAwLS4yNS0uMTEtLjA3OC0uMDkzLS4wNzgtLjM0M1YzNi4wOXEtMS4yMDMtLjA3OC0yLjAzMS0uNzgxIDAgLjM0NC0uMDMyLjQyMi0uMDE1LjA3OC0uMTA5LjE0LS4wNzguMDQ3LS4xODguMDQ3LS4xNCAwLS4yMzQtLjA5My0uMDk0LS4xMS0uMDk0LS4zNDRWMzQuMnEwLS4yMzUuMDk0LS4zMjkuMDk0LS4xMDkuMjM0LS4xMDkuMTQxIDAgLjI1LjA5NC4wNjMuMDc4LjA3OS4zMTIuMDQ2LjQyMi42NzEuODYuNjI1LjQyMiAxLjY4OC40MjIgMS4wOTQgMCAxLjcxOS0uNTE2LjY0LS41MzEuNjQtMS4yMTkgMC0uNDY5LS4yMzQtLjc5Ny0uMjM0LS4zMjgtLjczNC0uNTMtLjMyOS0uMTQyLTEuMzc1LS4zMy0xLjUxNi0uMjk2LTIuMDk0LS43NjUtLjU5NC0uNDY4LS41OTQtMS4zNzUgMC0uODQzLjY0LTEuNS42NDEtLjY3MiAxLjcwNC0uNzk3em05LjE0OCAyLjU5NHYxLjY1NnExLjI4Mi0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTk0IDAgMS4wOTQuNDA3LjUuMzkuNS41OTMgMCAuMTQxLS4wOTQuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0LS4wMzEtLjA0Ny0uMDMxLS4xODgtLjE3Mi0uMjgxLS4yODEtLjQ4NC0uMzc1LS4yMDQtLjExLS4zOTEtLjExLS40MzggMC0xLjA0Ny4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODh2My41OTRoMi45MDdxLjI1IDAgLjM0My4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zNDMuMDk0aC01LjE0MXEtLjIzNCAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjEyNS4wOTQtLjIxOXQuMzQ0LS4wOTRoMS41Nzh2LTUuNDY5aC0xLjIwM3EtLjIzNCAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0dC4zNDQtLjA5NHptOC4yMjctMy4wNDd2NC4wNDdxLjYyNS0uNjg3IDEuMjAzLS45NTMuNTc4LS4yODEgMS4yODEtLjI4MS43NjYgMCAxLjI5Ny4yNjUuNTQ3LjI2Ni45MDYuODI5LjM2LjU2Mi4zNiAxLjE3MXY0LjA3OWguNzM0cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyOC4wOTRoLTIuMTRxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTEtLjA5My4zNDMtLjA5M2guNzM1di00LjAzMnEwLS43MDMtLjUxNi0xLjE3Mi0uNS0uNDg0LTEuNDIyLS40ODQtLjcxOCAwLTEuMjE4LjM0NC0uMzc1LjI1LTEuMjIgMS4xODd2NC4xNTdoLjc1cS4yMzUgMCAuMzI5LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTIuMTRxLS4yMzUgMC0uMzQ1LS4wOTQtLjA5My0uMDk0LS4wOTMtLjIzNCAwLS4xNTcuMDkzLS4yMzUuMTEtLjA5My4zNDQtLjA5M2guNzM1VjI3Ljg0aC0uODc1cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em0xMy45MyAzLjQ3cTAtLjIyLjA5My0uMzEzLjA5NC0uMTEuMjM1LS4xMS4xNTYgMCAuMjUuMTEuMDkzLjA5My4wOTMuMzI4djEuMTI1cTAgLjIzNC0uMDkzLjM0My0uMDk0LjA5NC0uMjUuMDk0LS4xMjUgMC0uMjItLjA3OC0uMDkzLS4wOTQtLjEwOS0uMjgxLS4wNDYtLjQ2OS0uNDg0LS43ODEtLjY0LS40MzgtMS42ODctLjQzOC0xLjExIDAtMS43Mi40NTMtLjQ1Mi4zMjgtLjQ1Mi43NSAwIC40NjkuNTQ3Ljc4MS4zNzUuMjIgMS40MjEuMzI5IDEuMzYuMTU2IDEuODkxLjM0My43NjYuMjY2IDEuMTI1Ljc1LjM3NS40ODUuMzc1IDEuMDQ3IDAgLjg0NC0uODEyIDEuNS0uNzk3LjY1Ni0yLjM0NC42NTYtMS41NjMgMC0yLjU0Ny0uNzk2IDAgLjI2NS0uMDMxLjM0My0uMDMxLjA3OC0uMTI1LjE0LS4wNzguMDQ4LS4xNzIuMDQ4LS4xNCAwLS4yMzQtLjA5NC0uMDk0LS4xMS0uMDk0LS4zNDR2LTEuMzZxMC0uMjMzLjA3OC0uMzI3LjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDk0LjA5NC4yNSAwIC4zNi4xODcuNjEuMjY2LjM3NC44Ni42MjQuNjEuMjM1IDEuNDY5LjIzNSAxLjI4IDAgMS45MDYtLjQ3LjYyNS0uNDg0LjYyNS0xLjAxNSAwLS42MS0uNjI1LS45NjktLjY0LS4zNzUtMS44NzUtLjUtMS4yMTktLjEyNS0xLjc1LS4zMjgtLjUzMS0uMjAzLS44MjgtLjYxLS4yOTctLjQwNS0uMjk3LS44NzQgMC0uODQ0LjgyOC0xLjMyOC44MjgtLjUgMS45ODQtLjUgMS4zNiAwIDIuMjAzLjY1NnptMTcuMzU5LTMuNzk4djEuNzAzaC0uOTY5VjI2Ljg0em0uMDMxIDMuMzc1djYuMTFoMi41NzhxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtNS44MTJxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFYzMC44N2gtMS45MjJxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em0xMC42MDIgMS40MjJxLjkwNi40MDYgMS4zNzUgMS4xMjUuNDg0LjcwMy40ODQgMS40NjkgMCAxLjE3Mi0uOTY5IDIuMDc4LS45NTMuOTA2LTIuMzkuOTA2LS44NDQgMC0xLjc1LS4zNi0uOTA3LS4zNTktMS4yNjYtLjczNC0uMTEtLjEyNS0uMTEtLjI2NSAwLS4xMjUuMDc5LS4yMTkuMDkzLS4wOTQuMjE5LS4wOTQuMTI1IDAgLjI4LjExIDEuMjIuOTA2IDIuNTYzLjkwNiAxLjE0IDAgMS45MDctLjcxOS43OC0uNzE5Ljc4LTEuNTk0IDAtLjU3OC0uMzktMS4xNC0uMzc1LS41NjMtMS4wOTQtLjg5LS43MDMtLjMyOS0xLjQyMS0uMzI5LS4yMzUgMC0uMzQ0LS4wNzgtLjA5NC0uMDk0LS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM0LjA5My0uMDk0LjI5Ny0uMDk0bC41NjIuMDE1cS44NzUgMCAxLjQ1My0uNTMuNTc4LS41NDguNTc4LTEuMjY2IDAtLjczNS0uNjA5LTEuMjk3LS41OTQtLjU2My0xLjU2Mi0uNTYzLS42ODggMC0xLjI2Ni4yMzUtLjU2My4yMzQtLjkwNi42NC0uMTI1LjE1Ni0uMTg4LjIwMy0uMDYyLjAzMi0uMTU2LjAzMi0uMTI1IDAtLjIxOS0uMDk0dC0uMDk0LS4yMTlxMC0uMzEyLjY3Mi0uNzgxLjk1My0uNjcyIDIuMTU3LS42NzIgMS4yMzQgMCAyLjAzLjc1Ljc5OC43NS43OTggMS43ODEgMCAuNjU2LS4zOSAxLjI1LS4zNzYuNTc4LTEuMTEuOTIyem01LjQzIDQuNjg4aDUuMDN2LS4yNjZxMC0uMjM0LjA5NC0uMzI4LjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNS4xMS4wOTMuMDk0LjA5My4zMjh2LjkyMmgtNi4zNDN2LS45NjlxMi0xLjc5NyAzLjg5LTMuNjU2Ljg3NS0uODc1IDEuMjAzLTEuMjgxLjMyOC0uNDA3LjQ1My0uNzA0LjEyNS0uMzEyLjEyNS0uNjI1IDAtLjg0My0uNjg3LTEuNDg0LS42NzItLjY1Ni0xLjY0LS42NTYtLjg2IDAtMS41MzIuNS0uNjU2LjQ4NC0uODQ0IDEuMjAzLS4wNDcuMTg3LS4xMjUuMjUtLjA5My4wNzgtLjIxOC4wNzh0LS4yMi0uMDk0cS0uMDkzLS4wOTMtLjA5My0uMjE4IDAtLjM3NS40MDYtMS4wMTYuNDIyLS42NCAxLjE0MS0xIC43MTktLjM3NSAxLjQ4NC0uMzc1IDEuMjIgMCAyLjA5NC44Ni44OS44NDMuODkgMS45MjEgMCAuNDUzLS4xNTUuODQ0LS4xNDEuMzc1LS41LjgyOC0uMzQ0LjQzOC0xLjI2NiAxLjM0NC0yLjMxMyAyLjI4MS0zLjc2NiAzLjU0N3ptMTIuNjE3LTMuMjM1cTAgLjkwNi0uMjM1IDEuOTA2LS4yMzQgMS0uOTA2IDIuMzI5LS42NTYgMS4zMjgtLjk2OSAxLjU5My0uMDk0LjA5NC0uMjAzLjA5NC0uMTQgMC0uMjM0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4wNzguMDQ3LS4xNzIuODYtMS41NzggMS4yMTktMi44Ni4zNzUtMS4yOC4zNzUtMi41NjIgMC0xLjI4MS0uMzc1LTIuNTYyLS4zNi0xLjI4Mi0xLjIyLTIuODYtLjA0Ni0uMDkzLS4wNDYtLjE3MiAwLS4xNC4wOTQtLjIzNC4wOTMtLjA5NC4yMzQtLjA5NC4xMSAwIC4yMDMuMDk0LjI5Ny4yNjYuOTUzIDEuNTYzLjY1NyAxLjI4LjkwNyAyLjI4LjI1Ljk4NS4yNSAxLjk4NXptMTguOTM3IDBxMC0uOTA2LjIzNC0xLjkwNi4yMzUtMS4wMTYuODkxLTIuMzI4LjY3Mi0xLjMyOC45NjktMS41OTQuMDkzLS4wOTQuMjAzLS4wOTQuMTQgMCAuMjM0LjA5NC4xMS4wOTQuMTEuMjM0IDAgLjA3OS0uMDYzLjE3Mi0uODYgMS41NzgtMS4yMzQgMi44Ni0uMzYgMS4yODEtLjM2IDIuNTYydC4zNiAyLjU2M3EuMzc1IDEuMjgxIDEuMjM0IDIuODYuMDYzLjA5My4wNjMuMTcxIDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjIzNC4wOTQtLjExIDAtLjIwMy0uMDc4LS4yODEtLjI2Ni0uOTM4LTEuNTYzLS42NTYtMS4yOTYtLjkwNi0yLjI4LS4yNS0xLS4yNS0yem04Ljg4My0yLjg3NXYxLjY1NnExLjI4MS0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTkzIDAgMS4wOTMuNDA3LjUuMzkuNS41OTMgMCAuMTQxLS4wOTMuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0MS0uMDMxLS4wNDctLjAzMS0uMTg3LS4xNzItLjI4Mi0uMjgxLS40ODUtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0Ny4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODh2My41OTRoMi45MDZxLjI1IDAgLjM0NC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zNDQuMDk0aC01LjE0cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzQgMC0uMTI1LjA5NC0uMjE5LjA5My0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4wOTMtLjA5NC4zNDQtLjA5NHptMTMuOTQ1IDMuNTMxaC02LjY4N3EuMTcyIDEuMjgyIDEuMDYyIDIuMDYzLjg5Ljc2NiAyLjIxOS43NjYuNzM0IDAgMS41MzEtLjIzNS44MTMtLjI1IDEuMzEzLS42NC4xNTYtLjEyNS4yNjUtLjEyNS4xMjUgMCAuMjE5LjEwOS4wOTQuMDk0LjA5NC4yMTkgMCAuMTQtLjEyNS4yNjUtLjM3NS4zOTEtMS4zNDQuNzM1LS45NTMuMzQzLTEuOTUzLjM0My0xLjY4OCAwLTIuODI4LTEuMTA5LTEuMTI1LTEuMTEtMS4xMjUtMi42ODcgMC0xLjQyMiAxLjA2Mi0yLjQzOCAxLjA2My0xLjAzMSAyLjYyNS0xLjAzMSAxLjYxIDAgMi42NCAxLjA0NyAxLjA0OCAxLjA0NyAxLjAzMiAyLjcxOHptLS42NzItLjY1NnEtLjE4Ny0xLjA5NC0xLjAzMS0xLjc2NS0uODI4LS42ODgtMS45NjktLjY4OC0xLjE1NiAwLTEuOTg0LjY3Mi0uODI4LjY3Mi0xLjAzMSAxLjc4MXptOC44ODMtMi40NTNxMC0uMjE5LjA5NC0uMzEyLjA5My0uMTEuMjM0LS4xMS4xNTYgMCAuMjUuMTEuMDk0LjA5My4wOTQuMzI4djEuMTI1cTAgLjIzNC0uMDk0LjM0My0uMDk0LjA5NC0uMjUuMDk0LS4xMjUgMC0uMjE5LS4wNzgtLjA5My0uMDk0LS4xMDktLjI4MS0uMDQ3LS40NjktLjQ4NC0uNzgxLS42NDEtLjQzOC0xLjY4OC0uNDM4LTEuMTEgMC0xLjcxOS40NTMtLjQ1My4zMjgtLjQ1My43NSAwIC40NjkuNTQ3Ljc4MS4zNzUuMjIgMS40MjIuMzI5IDEuMzYuMTU2IDEuODkuMzQzLjc2Ni4yNjYgMS4xMjYuNzUuMzc1LjQ4NS4zNzUgMS4wNDcgMCAuODQ0LS44MTMgMS41LS43OTcuNjU2LTIuMzQ0LjY1Ni0xLjU2MiAwLTIuNTQ2LS43OTYgMCAuMjY1LS4wMzIuMzQzLS4wMy4wNzgtLjEyNS4xNC0uMDc4LjA0OC0uMTcyLjA0OC0uMTQgMC0uMjM0LS4wOTQtLjA5NC0uMTEtLjA5NC0uMzQ0di0xLjM2cTAtLjIzMy4wNzgtLjMyNy4wOTQtLjExLjI1LS4xMS4xNDEgMCAuMjM1LjExLjA5NC4wOTQuMDk0LjI1IDAgLjM2LjE4Ny42MS4yNjYuMzc0Ljg2LjYyNC42MDkuMjM1IDEuNDY4LjIzNSAxLjI4MSAwIDEuOTA2LS40Ny42MjUtLjQ4NC42MjUtMS4wMTUgMC0uNjEtLjYyNS0uOTY5LS42NC0uMzc1LTEuODc1LS41LTEuMjE4LS4xMjUtMS43NS0uMzI4LS41My0uMjAzLS44MjgtLjYxLS4yOTctLjQwNS0uMjk3LS44NzQgMC0uODQ0LjgyOS0xLjMyOC44MjgtLjUgMS45ODQtLjUgMS4zNiAwIDIuMjAzLjY1NnptOS42OCA2LjM0NHYtLjk2OXEtMS4zNDQgMS4yMzQtMi45MDYgMS4yMzQtLjk1NCAwLTEuNDU0LS41My0uNjU2LS42ODgtLjY1Ni0xLjYxVjMwLjg3aC0uODc1cS0uMjM0IDAtLjM0NC0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjUzMXY0Ljg5cTAgLjY0MS40MDcgMS4wNjMuNDA2LjQwNyAxLjAxNS40MDcgMS42MSAwIDIuOTM4LTEuNDd2LTQuMjM0aC0xLjIwM3EtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS44NTl2Ni4xMWguNTYzcS4yMzQgMCAuMzI4LjA5My4xMDkuMDc4LjEwOS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI3LjA5NHptNy42OTUtOS44MTN2OS4xNTdoMi41NzhxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtNS44MTJxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFYyNy44NGgtMS44OXEtLjIzNSAwLS4zNDUtLjA5NC0uMTA5LS4wOTMtLjEwOS0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em03LjkxNCAzLjA0N2gzLjU2M3EuMjM0IDAgLjMyOC4wOTQuMTEuMDk0LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M2gtMy41NjN2NC4zNzVxMCAuNTYzLjQ1My45NTQuNDY5LjM3NSAxLjM0NC4zNzUuNjcyIDAgMS40MzgtLjE4OC43OC0uMjAzIDEuMjAzLS40NTMuMTU2LS4xMS4yNjUtLjExLjEyNSAwIC4yMTkuMTEuMDk0LjA5NC4wOTQuMjE5dC0uMTEuMjE4cS0uMjUuMjY2LTEuMjE4LjU3OS0uOTU0LjI5Ni0xLjg0NC4yOTYtMS4xNCAwLTEuODI4LS41NDYtLjY3Mi0uNTQ3LS42NzItMS40NTR2LTQuMzc1aC0xLjIxOXEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS4yMTl2LTEuOTM3cTAtLjIzNS4wOTQtLjMyOC4wOTMtLjExLjIzNC0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjMyOHptMjAuODc1LTMuMzc1djEuNzAzaC0uOTY5VjI2Ljg0em0uMDMxIDMuMzc1djYuMTFoMi41NzhxLjIzNSAwIC4zMjkuMDkzLjEwOS4wNzguMTA5LjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC01LjgxMnEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjM0IDAtLjE1Ny4wOTMtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaDIuNTc4VjMwLjg3aC0xLjkyMnEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTEwLjYwMiAxLjQyMnEuOTA2LjQwNiAxLjM3NSAxLjEyNS40ODQuNzAzLjQ4NCAxLjQ2OSAwIDEuMTcyLS45NjggMi4wNzgtLjk1NC45MDYtMi4zOTEuOTA2LS44NDQgMC0xLjc1LS4zNi0uOTA2LS4zNTktMS4yNjYtLjczNC0uMTEtLjEyNS0uMTEtLjI2NSAwLS4xMjUuMDc5LS4yMTkuMDk0LS4wOTQuMjE5LS4wOTR0LjI4MS4xMXExLjIxOS45MDYgMi41NjMuOTA2IDEuMTQgMCAxLjkwNi0uNzE5Ljc4MS0uNzE5Ljc4MS0xLjU5NCAwLS41NzgtLjM5LTEuMTQtLjM3Ni0uNTYzLTEuMDk0LS44OS0uNzAzLS4zMjktMS40MjItLjMyOS0uMjM1IDAtLjM0NC0uMDc4LS4wOTQtLjA5NC0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNHQuMjk3LS4wOTRsLjU2Mi4wMTVxLjg3NSAwIDEuNDU0LS41My41NzgtLjU0OC41NzgtMS4yNjYgMC0uNzM1LS42MS0xLjI5Ny0uNTkzLS41NjMtMS41NjItLjU2My0uNjg4IDAtMS4yNjYuMjM1LS41NjIuMjM0LS45MDYuNjQtLjEyNS4xNTYtLjE4OC4yMDMtLjA2Mi4wMzItLjE1Ni4wMzItLjEyNSAwLS4yMTktLjA5NC0uMDkzLS4wOTQtLjA5My0uMjE5IDAtLjMxMi42NzItLjc4MS45NTMtLjY3MiAyLjE1Ni0uNjcyIDEuMjM0IDAgMi4wMzEuNzUuNzk3Ljc1Ljc5NyAxLjc4MSAwIC42NTYtLjM5IDEuMjUtLjM3Ni41NzgtMS4xMS45MjJ6bTUuNDMgNC42ODhoNS4wMzF2LS4yNjZxMC0uMjM0LjA5NC0uMzI4LjA5My0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDk0LjA5NC4zMjh2LjkyMmgtNi4zNDR2LS45NjlxMi0xLjc5NyAzLjg5LTMuNjU2Ljg3Ni0uODc1IDEuMjA0LTEuMjgxLjMyOC0uNDA3LjQ1My0uNzA0LjEyNS0uMzEyLjEyNS0uNjI1IDAtLjg0My0uNjg4LTEuNDg0LS42NzEtLjY1Ni0xLjY0LS42NTYtLjg2IDAtMS41MzEuNS0uNjU3LjQ4NC0uODQ0IDEuMjAzLS4wNDcuMTg3LS4xMjUuMjUtLjA5NC4wNzgtLjIxOS4wNzh0LS4yMTktLjA5NHEtLjA5My0uMDkzLS4wOTMtLjIxOCAwLS4zNzUuNDA2LTEuMDE2LjQyMi0uNjQgMS4xNC0xIC43Mi0uMzc1IDEuNDg1LS4zNzUgMS4yMTkgMCAyLjA5NC44Ni44OS44NDMuODkgMS45MjEgMCAuNDUzLS4xNTYuODQ0LS4xNC4zNzUtLjUuODI4LS4zNDQuNDM4LTEuMjY2IDEuMzQ0LTIuMzEyIDIuMjgxLTMuNzY1IDMuNTQ3em0xMi42MTctMy4yMzVxMCAuOTA2LS4yMzUgMS45MDYtLjIzNCAxLS45MDYgMi4zMjktLjY1NiAxLjMyOC0uOTY5IDEuNTkzLS4wOTMuMDk0LS4yMDMuMDk0LS4xNCAwLS4yMzQtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjA3OC4wNDctLjE3Mi44Ni0xLjU3OCAxLjIxOS0yLjg2LjM3NS0xLjI4LjM3NS0yLjU2MiAwLTEuMjgxLS4zNzUtMi41NjItLjM2LTEuMjgyLTEuMjE5LTIuODYtLjA0Ny0uMDkzLS4wNDctLjE3MiAwLS4xNC4wOTQtLjIzNHQuMjM0LS4wOTRxLjExIDAgLjIwMy4wOTQuMjk3LjI2Ni45NTQgMS41NjMuNjU2IDEuMjguOTA2IDIuMjguMjUuOTg1LjI1IDEuOTg1ek0xMzMuNzI3IDQ2LjA0M3Y5LjI4MmgyLjI1cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTUuMTU3cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzQgMC0uMTU3LjA5NC0uMjM1LjEwOS0uMDkzLjM0My0uMDkzaDIuMjVWNDYuOTVsLTIuMTQuNjcxcS0uMTU3LjA0Ny0uMjIuMDQ3LS4xMjQgMC0uMjE4LS4wOTMtLjA5NC0uMTEtLjA5NC0uMjM1IDAtLjEyNS4wNzktLjIxOS4wNjItLjA2Mi4yNS0uMTR6bTQ5Ljg5OCA0LjM3NXYtMS4yMDNoMS41MzFxLjIzNSAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLS44NzV2Ni41NjNxMCAuNjU2LS4yODEgMS4xNzItLjE4OC4zNDQtLjYyNS43MDMtLjQzOC4zNzUtLjc5Ny41MzEtLjM2LjE1Ni0uOTY5LjE1NmgtMS44NTlxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDc4LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDEuODlxLjU3OSAwIDEuMDMyLS4yOTcuNDY5LS4yOTcuNzgxLS44NTkuMTcyLS4zMjguMTcyLS44NDR2LTEuOTY5cS0xLjA2MyAxLjQzOC0yLjcxOSAxLjQzOC0xLjM2IDAtMi4zNDQtMS0uOTY4LTEtLjk2OC0yLjQyMiAwLTEuNDA2Ljk2OS0yLjQwNi45ODQtMSAyLjM0My0xIDEuNjU2IDAgMi43MTkgMS40Mzd6bTAgMS45N3EwLTEuMTU3LS43OTctMS45NTQtLjc5Ny0uNzk3LTEuODktLjc5Ny0xLjExIDAtMS45MDcuODEzLS43ODEuNzk2LS43ODEgMS45MzcgMCAxLjE1Ni43ODEgMS45NjkuNzk3Ljc5NyAxLjkwNi43OTcgMS4wOTQgMCAxLjg5MS0uNzk3Ljc5Ny0uODEzLjc5Ny0xLjk2OXptMTAuOTQ1LjM1OGgtNi42ODdxLjE3MiAxLjI4MiAxLjA2MiAyLjA2My44OS43NjYgMi4yMi43NjYuNzMzIDAgMS41My0uMjM1LjgxMy0uMjUgMS4zMTMtLjY0LjE1Ni0uMTI1LjI2NS0uMTI1LjEyNSAwIC4yMi4xMDkuMDkzLjA5NC4wOTMuMjE5IDAgLjE0LS4xMjUuMjY1LS4zNzUuMzkxLTEuMzQ0LjczNS0uOTUzLjM0My0xLjk1My4zNDMtMS42ODcgMC0yLjgyOC0xLjEwOS0xLjEyNS0xLjExLTEuMTI1LTIuNjg3IDAtMS40MjIgMS4wNjItMi40MzggMS4wNjMtMS4wMzEgMi42MjUtMS4wMzEgMS42MSAwIDIuNjQxIDEuMDQ3IDEuMDQ3IDEuMDQ3IDEuMDMxIDIuNzE4em0tLjY3Mi0uNjU2cS0uMTg3LTEuMDk0LTEuMDMtMS43NjUtLjgyOS0uNjg4LTEuOTctLjY4OC0xLjE1NiAwLTEuOTg0LjY3Mi0uODI4LjY3Mi0xLjAzMSAxLjc4MXptNS4zNjgtMi44NzVoMy41NjJxLjIzNCAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTMuNTYydjQuMzc1cTAgLjU2My40NTMuOTU0LjQ2OC4zNzUgMS4zNDMuMzc1LjY3MiAwIDEuNDM4LS4xODguNzgxLS4yMDMgMS4yMDMtLjQ1My4xNTYtLjExLjI2Ni0uMTEuMTI1IDAgLjIxOC4xMS4wOTQuMDk0LjA5NC4yMTl0LS4xMS4yMThxLS4yNS4yNjYtMS4yMTguNTc5LS45NTMuMjk2LTEuODQ0LjI5Ni0xLjE0IDAtMS44MjgtLjU0Ni0uNjcyLS41NDctLjY3Mi0xLjQ1NHYtNC4zNzVoLTEuMjE4cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjIxOHYtMS45MzdxMC0uMjM1LjA5NC0uMzI4LjA5NC0uMTEuMjM0LS4xMS4xNDEgMCAuMjM1LjExLjA5My4wOTMuMDkzLjMyOHptMTUuMzIgMTEuMTU2aC04LjczNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjI1LjExLS4wNzguMzQ0LS4wNzhoOC43MzRxLjIzNCAwIC4zMjguMDc4LjExLjA5NC4xMS4yNSAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M3ptNS41Ny0xNC4yMDN2OS4xNTdoMi41NzhxLjIzNSAwIC4zMjkuMDkzLjEwOS4wNzguMTA5LjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC01LjgxMnEtLjIzNCAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaDIuNTc4VjQ2Ljg0aC0xLjg5cS0uMjM1IDAtLjM0NC0uMDk0LS4xMS0uMDkzLS4xMS0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em0xMi45MyA2LjQzOHEwIDEuNS0xLjA3OCAyLjU3OC0xLjA2MyAxLjA2Mi0yLjU3OCAxLjA2Mi0xLjUzMiAwLTIuNjEtMS4wNjItMS4wNjItMS4wNzgtMS4wNjItMi41NzggMC0xLjUgMS4wNjItMi41NjMgMS4wNzgtMS4wNjIgMi42MS0xLjA2MiAxLjUxNSAwIDIuNTc4IDEuMDYyIDEuMDc4IDEuMDYzIDEuMDc4IDIuNTYzem0tLjY1NiAwcTAtMS4yMzUtLjg5LTIuMDk0LS44NzYtLjg3NS0yLjEyNi0uODc1dC0yLjEyNS44NzVxLS44NzUuODc1LS44NzUgMi4wOTQgMCAxLjIxOS44NzUgMi4wOTQuODc1Ljg3NSAyLjEyNS44NzV0Mi4xMjUtLjg2cS44OS0uODc1Ljg5LTIuMTF6bTkuMzM2LTIuNzM1di0uMjE4cTAtLjIzNS4wOTMtLjMyOC4wOTQtLjExLjIzNS0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjMyOHYxLjQ4NHEwIC4yNS0uMDk0LjM2LS4wOTQuMDkzLS4yMzQuMDkzdC0uMjM1LS4wOTRxLS4wNzgtLjA5My0uMDkzLS4yOTYtLjA0Ny0uNTYzLS43MzUtMS4wNjMtLjY4Ny0uNS0xLjg0NC0uNS0xLjQ1MyAwLTIuMjE4LjkyMi0uNzUuOTA2LS43NSAyLjA5NCAwIDEuMjY1LjgyOCAyLjA5My44NDQuODI5IDIuMTcyLjgyOS43NjUgMCAxLjU0Ny0uMjgyLjc5Ni0uMjggMS40MzctLjkwNi4xNzItLjE1Ni4yOTctLjE1NnQuMjE5LjA5NHEuMDkzLjA5My4wOTMuMjE4IDAgLjM0NC0uNzk2Ljg2LTEuMjY2Ljg0My0yLjgyOS44NDMtMS41OTMgMC0yLjYwOS0xLjAxNS0xLjAxNi0xLjAxNi0xLjAxNi0yLjU3OCAwLTEuNTc4IDEuMDMyLTIuNjI1IDEuMDQ3LTEuMDQ3IDIuNjQtMS4wNDcgMS41IDAgMi41MzIuODl6bTguNzQyIDYuMTF2LS45NTNxLTEuNDIyIDEuMjE4LTMuMDQ3IDEuMjE4LTEuMTg4IDAtMS44Ni0uNTkzLS42NTYtLjYxLS42NTYtMS40ODUgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcxOSAyLjU2My0uNzE5LjQ1MyAwIC45ODQuMDYzLjUzMS4wNjIgMS4xNC4xODd2LTEuMDYycTAtLjU0Ny0uNS0uOTM4LS41LS40MDYtMS41LS40MDYtLjc2NSAwLTIuMTQuNDUzLS4yNS4wNzgtLjMyOC4wNzgtLjEyNSAwLS4yMTktLjA5My0uMDc4LS4wOTQtLjA3OC0uMjM1IDAtLjE0LjA3OC0uMjE5LjExLS4xMDkuODc1LS4zMTIgMS4yMi0uMzI4IDEuODQ0LS4zMjggMS4yNSAwIDEuOTM4LjYxLjcwMy42MDkuNzAzIDEuMzl2NC4zNDRoLjg3NXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0em0wLTMuMjY2cS0uNDUzLS4xNC0uOTY5LS4yMDMtLjUxNi0uMDYyLTEuMDk0LS4wNjItMS40MjIgMC0yLjIzNC42MjUtLjYxLjQ1My0uNjEgMS4wOTMgMCAuNTk0LjQ3IDEgLjQ2OC40MDcgMS4zNTkuNDA3Ljg0MyAwIDEuNTc4LS4zMjkuNzM0LS4zNDMgMS41LTEuMDkzem04LjA1NC02LjU0N3Y5LjE1N2gyLjU3OXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC01LjgxM3EtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjM0IDAtLjE1Ny4wOTMtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaDIuNTc4VjQ2Ljg0aC0xLjg5cS0uMjM1IDAtLjM0NC0uMDk0LS4xMS0uMDkzLS4xMS0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em0xOC41MzIuNDUzdi0uODI4cTAtLjI1LjA3OC0uMzQzLjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zNDN2LjgyOHEuNTMxLjA0Ny44NzUuMTcyLjM0NC4xMS44MTIuNDIyIDAtLjE4Ny4wOTQtLjI4MS4wOTQtLjA5NC4yMzUtLjA5NC4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzI4di45NjhxMCAuMjM1LS4wOTQuMzQ0LS4wOTQuMDk0LS4yMzQuMDk0LS4xMjUgMC0uMjItLjA3OC0uMDc3LS4wNzgtLjEwOS0uMjgxLS4wNDctLjM2LS40ODQtLjY1Ny0uNjQtLjQyMi0xLjUxNi0uNDIyLS44NzUgMC0xLjQ1My41MTYtLjU3OC41MTYtLjU3OCAxLjE1NiAwIC42NTcuNTE2IDEgLjM3NS4yNjYgMS42MS41IDEuMjM0LjIyIDEuNjcxLjQyMi42MjUuMjgxLjkyMi43NS4zMTIuNDY5LjMxMiAxLjEyNSAwIC44OS0uNzAzIDEuNTc4LS42ODcuNjcyLTEuOTg0Ljc5N3YxLjkzOHEwIC4yNS0uMDk0LjM0My0uMDk0LjExLS4yMzQuMTEtLjE1NiAwLS4yNS0uMTEtLjA3OC0uMDkzLS4wNzgtLjM0M1Y1NS4wOXEtMS4yMDMtLjA3OC0yLjAzMi0uNzgxIDAgLjM0NC0uMDMuNDIyLS4wMTYuMDc4LS4xMS4xNC0uMDc4LjA0Ny0uMTg4LjA0Ny0uMTQgMC0uMjM0LS4wOTMtLjA5NC0uMTEtLjA5NC0uMzQ0VjUzLjJxMC0uMjM1LjA5NC0uMzI5LjA5NC0uMTA5LjIzNC0uMTA5LjE0MSAwIC4yNS4wOTQuMDYzLjA3OC4wNzguMzEyLjA0Ny40MjIuNjcyLjg2LjYyNS40MjIgMS42ODguNDIyIDEuMDk0IDAgMS43MTktLjUxNi42NC0uNTMxLjY0LTEuMjE5IDAtLjQ2OS0uMjM0LS43OTctLjIzNS0uMzI4LS43MzUtLjUzLS4zMjgtLjE0Mi0xLjM3NS0uMzMtMS41MTUtLjI5Ni0yLjA5My0uNzY1LS41OTQtLjQ2OC0uNTk0LTEuMzc1IDAtLjg0My42NC0xLjUuNjQxLS42NzIgMS43MDQtLjc5N3ptMTAuMjczLS40NTN2OS4xNTdoMi41NzhxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtNS44MTJxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFY0Ni44NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5My0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptNy4xMDIgMHY0LjA0N3EuNjI1LS42ODcgMS4yMDMtLjk1My41NzgtLjI4MSAxLjI4MS0uMjgxLjc2NiAwIDEuMjk3LjI2NS41NDcuMjY2LjkwNi44MjkuMzYuNTYyLjM2IDEuMTcxdjQuMDc5aC43MzRxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtMi4xNHEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMDktLjA5My4zNDMtLjA5M2guNzM1di00LjAzMnEwLS43MDMtLjUxNi0xLjE3Mi0uNS0uNDg0LTEuNDIyLS40ODQtLjcxOSAwLTEuMjE5LjM0NC0uMzc1LjI1LTEuMjE4IDEuMTg3djQuMTU3aC43NXEuMjM0IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0yLjE0cS0uMjM1IDAtLjM0NS0uMDk0LS4wOTMtLjA5NC0uMDkzLS4yMzQgMC0uMTU3LjA5My0uMjM1LjExLS4wOTMuMzQ0LS4wOTNoLjczNVY0Ni44NGgtLjg3NXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NHptMTMuOTMgMy40N3EwLS4yMi4wOTMtLjMxMy4wOTQtLjExLjIzNS0uMTEuMTU2IDAgLjI1LjExLjA5My4wOTMuMDkzLjMyOHYxLjEyNXEwIC4yMzQtLjA5My4zNDMtLjA5NC4wOTQtLjI1LjA5NC0uMTI1IDAtLjIyLS4wNzgtLjA5My0uMDk0LS4xMDktLjI4MS0uMDQ3LS40NjktLjQ4NC0uNzgxLS42NC0uNDM4LTEuNjg3LS40MzgtMS4xMSAwLTEuNzIuNDUzLS40NTIuMzI4LS40NTIuNzUgMCAuNDY5LjU0Ny43ODEuMzc1LjIyIDEuNDIxLjMyOSAxLjM2LjE1NiAxLjg5MS4zNDMuNzY2LjI2NiAxLjEyNS43NS4zNzUuNDg1LjM3NSAxLjA0NyAwIC44NDQtLjgxMiAxLjUtLjc5Ny42NTYtMi4zNDQuNjU2LTEuNTYzIDAtMi41NDctLjc5NiAwIC4yNjUtLjAzMS4zNDMtLjAzMi4wNzgtLjEyNS4xNC0uMDc4LjA0OC0uMTcyLjA0OC0uMTQgMC0uMjM1LS4wOTQtLjA5My0uMTEtLjA5My0uMzQ0di0xLjM2cTAtLjIzMy4wNzgtLjMyNy4wOTQtLjExLjI1LS4xMS4xNCAwIC4yMzQuMTEuMDk0LjA5NC4wOTQuMjUgMCAuMzYuMTg3LjYxLjI2Ni4zNzQuODYuNjI0LjYxLjIzNSAxLjQ2OS4yMzUgMS4yOCAwIDEuOTA2LS40Ny42MjUtLjQ4NC42MjUtMS4wMTUgMC0uNjEtLjYyNS0uOTY5LS42NC0uMzc1LTEuODc1LS41LTEuMjE5LS4xMjUtMS43NS0uMzI4LS41MzEtLjIwMy0uODI4LS42MS0uMjk3LS40MDUtLjI5Ny0uODc0IDAtLjg0NC44MjgtMS4zMjguODI4LS41IDEuOTg0LS41IDEuMzYgMCAyLjIwMy42NTZ6TTEzMC41ODYgNzQuMzI1aDUuMDMxdi0uMjY2cTAtLjIzNC4wOTQtLjMyOC4wOTQtLjExLjI1LS4xMS4xNCAwIC4yMzQuMTEuMDk0LjA5NC4wOTQuMzI4di45MjJoLTYuMzQ0di0uOTY5cTItMS43OTcgMy44OS0zLjY1Ni44NzYtLjg3NSAxLjIwNC0xLjI4MS4zMjgtLjQwNy40NTMtLjcwNC4xMjUtLjMxMi4xMjUtLjYyNSAwLS44NDMtLjY4Ny0xLjQ4NC0uNjcyLS42NTYtMS42NDEtLjY1Ni0uODYgMC0xLjUzMS41LS42NTcuNDg0LS44NDQgMS4yMDMtLjA0Ny4xODctLjEyNS4yNS0uMDk0LjA3OC0uMjE5LjA3OHQtLjIxOS0uMDk0cS0uMDkzLS4wOTMtLjA5My0uMjE4IDAtLjM3NS40MDYtMS4wMTYuNDIyLS42NCAxLjE0LTEgLjcyLS4zNzUgMS40ODUtLjM3NSAxLjIxOSAwIDIuMDk0Ljg2Ljg5Ljg0My44OSAxLjkyMSAwIC40NTMtLjE1Ni44NDQtLjE0LjM3NS0uNS44MjgtLjM0NC40MzgtMS4yNjUgMS4zNDQtMi4zMTMgMi4yODEtMy43NjYgMy41NDd6bTUzLjAzOS00LjkwN3YtMS4yMDNoMS41MzFxLjIzNSAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLS44NzV2Ni41NjNxMCAuNjU2LS4yODEgMS4xNzItLjE4OC4zNDQtLjYyNS43MDMtLjQzOC4zNzUtLjc5Ny41MzEtLjM2LjE1Ni0uOTY5LjE1NmgtMS44NTlxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDc4LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDEuODlxLjU3OSAwIDEuMDMyLS4yOTcuNDY5LS4yOTcuNzgxLS44NTkuMTcyLS4zMjguMTcyLS44NDR2LTEuOTY5cS0xLjA2MyAxLjQzOC0yLjcxOSAxLjQzOC0xLjM2IDAtMi4zNDQtMS0uOTY4LTEtLjk2OC0yLjQyMiAwLTEuNDA2Ljk2OS0yLjQwNi45ODQtMSAyLjM0My0xIDEuNjU2IDAgMi43MTkgMS40Mzd6bTAgMS45N3EwLTEuMTU3LS43OTctMS45NTQtLjc5Ny0uNzk3LTEuODktLjc5Ny0xLjExIDAtMS45MDcuODEzLS43ODEuNzk2LS43ODEgMS45MzcgMCAxLjE1Ni43ODEgMS45NjkuNzk3Ljc5NyAxLjkwNi43OTcgMS4wOTQgMCAxLjg5MS0uNzk3Ljc5Ny0uODEzLjc5Ny0xLjk2OXptMTAuOTQ1LjM1OGgtNi42ODdxLjE3MiAxLjI4MiAxLjA2MiAyLjA2My44OS43NjYgMi4yMi43NjYuNzMzIDAgMS41My0uMjM1LjgxMy0uMjUgMS4zMTMtLjY0LjE1Ni0uMTI1LjI2NS0uMTI1LjEyNSAwIC4yMi4xMDkuMDkzLjA5NC4wOTMuMjE5IDAgLjE0LS4xMjUuMjY1LS4zNzUuMzkxLTEuMzQ0LjczNS0uOTUzLjM0My0xLjk1My4zNDMtMS42ODcgMC0yLjgyOC0xLjEwOS0xLjEyNS0xLjExLTEuMTI1LTIuNjg3IDAtMS40MjIgMS4wNjItMi40MzggMS4wNjMtMS4wMzEgMi42MjUtMS4wMzEgMS42MSAwIDIuNjQxIDEuMDQ3IDEuMDQ3IDEuMDQ3IDEuMDMxIDIuNzE4em0tLjY3Mi0uNjU2cS0uMTg3LTEuMDk0LTEuMDMtMS43NjUtLjgyOS0uNjg4LTEuOTctLjY4OC0xLjE1NiAwLTEuOTg0LjY3Mi0uODI4LjY3Mi0xLjAzMSAxLjc4MXptNS4zNjgtMi44NzVoMy41NjJxLjIzNCAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTMuNTYydjQuMzc1cTAgLjU2My40NTMuOTU0LjQ2OS4zNzUgMS4zNDQuMzc1LjY3MSAwIDEuNDM3LS4xODguNzgxLS4yMDMgMS4yMDMtLjQ1My4xNTYtLjExLjI2Ni0uMTEuMTI1IDAgLjIxOS4xMS4wOTMuMDk0LjA5My4yMTl0LS4xMS4yMThxLS4yNS4yNjYtMS4yMTguNTc5LS45NTMuMjk2LTEuODQ0LjI5Ni0xLjE0IDAtMS44MjgtLjU0Ni0uNjcyLS41NDctLjY3Mi0xLjQ1NHYtNC4zNzVoLTEuMjE4cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjIxOHYtMS45MzdxMC0uMjM1LjA5NC0uMzI4LjA5NC0uMTEuMjM0LS4xMS4xNDEgMCAuMjM1LjExLjA5My4wOTMuMDkzLjMyOHptMTUuMzIgMTEuMTU2aC04LjczNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjI1LjExLS4wNzguMzQ0LS4wNzhoOC43MzRxLjIzNCAwIC4zMjguMDc4LjExLjA5NC4xMS4yNSAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M3ptNS41Ny0xNC4yMDN2OS4xNTdoMi41NzhxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtNS44MTJxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFY2NS44NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5My0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptMTIuOTMgNi40MzhxMCAxLjUtMS4wNzggMi41NzgtMS4wNjMgMS4wNjItMi41NzggMS4wNjItMS41MzIgMC0yLjYxLTEuMDYyLTEuMDYyLTEuMDc4LTEuMDYyLTIuNTc4IDAtMS41IDEuMDYyLTIuNTYzIDEuMDc4LTEuMDYyIDIuNjEtMS4wNjIgMS41MTUgMCAyLjU3OCAxLjA2MiAxLjA3OCAxLjA2MyAxLjA3OCAyLjU2M3ptLS42NTYgMHEwLTEuMjM1LS44OS0yLjA5NC0uODc2LS44NzUtMi4xMjYtLjg3NXQtMi4xMjUuODc1cS0uODc1Ljg3NS0uODc1IDIuMDk0IDAgMS4yMTkuODc1IDIuMDk0Ljg3NS44NzUgMi4xMjUuODc1dDIuMTI1LS44NnEuODktLjg3NS44OS0yLjExem05LjMzNi0yLjczNXYtLjIxOHEwLS4yMzUuMDkzLS4zMjguMDk0LS4xMS4yMzUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zMjh2MS40ODRxMCAuMjUtLjA5NC4zNi0uMDk0LjA5My0uMjM0LjA5M3QtLjIzNS0uMDk0cS0uMDc4LS4wOTMtLjA5My0uMjk2LS4wNDctLjU2My0uNzM1LTEuMDYzLS42ODctLjUtMS44NDQtLjUtMS40NTMgMC0yLjIxOC45MjItLjc1LjkwNi0uNzUgMi4wOTQgMCAxLjI2NS44MjggMi4wOTMuODQ0LjgyOSAyLjE3Mi44MjkuNzY1IDAgMS41NDctLjI4Mi43OTYtLjI4IDEuNDM3LS45MDYuMTcyLS4xNTYuMjk3LS4xNTZ0LjIxOS4wOTRxLjA5My4wOTMuMDkzLjIxOCAwIC4zNDQtLjc5Ni44Ni0xLjI2Ni44NDMtMi44MjkuODQzLTEuNTkzIDAtMi42MDktMS4wMTUtMS4wMTYtMS4wMTYtMS4wMTYtMi41NzggMC0xLjU3OCAxLjAzMi0yLjYyNSAxLjA0Ny0xLjA0NyAyLjY0LTEuMDQ3IDEuNSAwIDIuNTMyLjg5em04Ljc0MiA2LjExdi0uOTUzcS0xLjQyMiAxLjIxOC0zLjA0NyAxLjIxOC0xLjE4OCAwLTEuODYtLjU5My0uNjU2LS42MS0uNjU2LTEuNDg1IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2My41MzEuMDYyIDEuMTQuMTg3di0xLjA2MnEwLS41NDctLjUtLjkzOC0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTMtLjA3OC0uMDk0LS4wNzgtLjIzNSAwLS4xNC4wNzgtLjIxOS4xMS0uMTA5Ljg3NS0uMzEyIDEuMjItLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzOC42MS43MDMuNjA5LjcwMyAxLjM5djQuMzQ0aC44NzVxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NHptMC0zLjI2NnEtLjQ1My0uMTQtLjk2OS0uMjAzLS41MTYtLjA2Mi0xLjA5NC0uMDYyLTEuNDIyIDAtMi4yMzQuNjI1LS42MS40NTMtLjYxIDEuMDkzIDAgLjU5NC40NyAxIC40NjguNDA3IDEuMzU5LjQwNy44NDMgMCAxLjU3OC0uMzI5LjczNC0uMzQzIDEuNS0xLjA5M3ptOC4wNTQtNi41NDd2OS4xNTdoMi41NzlxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtNS44MTNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDk0LS4wOTMtLjIzNCAwLS4xNTcuMDkzLS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFY2NS44NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5My0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptMTguNTMyLjQ1M3YtLjgyOHEwLS4yNS4wNzgtLjM0My4wOTQtLjExLjI1LS4xMS4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzQzdi44MjhxLjUzMS4wNDcuODc1LjE3Mi4zNDQuMTEuODEyLjQyMiAwLS4xODcuMDk0LS4yODEuMDk0LS4wOTQuMjM1LS4wOTQuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjMyOHYuOTY4cTAgLjIzNS0uMDk0LjM0NC0uMDk0LjA5NC0uMjM0LjA5NC0uMTI1IDAtLjIyLS4wNzgtLjA3Ny0uMDc4LS4xMDktLjI4MS0uMDQ3LS4zNi0uNDg0LS42NTctLjY0LS40MjItMS41MTYtLjQyMi0uODc1IDAtMS40NTMuNTE2LS41NzguNTE2LS41NzggMS4xNTYgMCAuNjU3LjUxNiAxIC4zNzUuMjY2IDEuNjEuNSAxLjIzNC4yMiAxLjY3MS40MjIuNjI1LjI4MS45MjIuNzUuMzEyLjQ2OS4zMTIgMS4xMjUgMCAuODktLjcwMyAxLjU3OC0uNjg3LjY3Mi0xLjk4NC43OTd2MS45MzhxMCAuMjUtLjA5NC4zNDMtLjA5NC4xMS0uMjM0LjExLS4xNTYgMC0uMjUtLjExLS4wNzgtLjA5My0uMDc4LS4zNDNWNzQuMDlxLTEuMjAzLS4wNzgtMi4wMzItLjc4MSAwIC4zNDQtLjAzLjQyMi0uMDE2LjA3OC0uMTEuMTQtLjA3OC4wNDctLjE4OC4wNDctLjE0IDAtLjIzNC0uMDkzLS4wOTQtLjExLS4wOTQtLjM0NFY3Mi4ycTAtLjIzNS4wOTQtLjMyOS4wOTQtLjEwOS4yMzQtLjEwOS4xNDEgMCAuMjUuMDk0LjA2My4wNzguMDc4LjMxMi4wNDcuNDIyLjY3Mi44Ni42MjUuNDIyIDEuNjg4LjQyMiAxLjA5NCAwIDEuNzE5LS41MTYuNjQtLjUzMS42NC0xLjIxOSAwLS40NjktLjIzNC0uNzk3LS4yMzUtLjMyOC0uNzM1LS41My0uMzI4LS4xNDItMS4zNzUtLjMzLTEuNTE1LS4yOTYtMi4wOTMtLjc2NS0uNTk0LS40NjgtLjU5NC0xLjM3NSAwLS44NDMuNjQtMS41LjY0MS0uNjcyIDEuNzA0LS43OTd6bTkuMTQ4IDIuNTk0djEuNjU2cTEuMjgxLTEuMTU2IDEuOTIyLTEuNDg0LjY0LS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDcuNS4zOS41LjU5MyAwIC4xNDEtLjA5NC4yNS0uMDk0LjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMS0uMDQ4LS4wMzEtLjE4OC0uMTcyLS4yODEtLjI4MS0uNDg1LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDcuMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg4djMuNTk0aDIuOTA2cS4yNSAwIC4zNDQuMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzQ0LjA5NGgtNS4xNHEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjEyNS4wOTQtLjIxOXQuMzQ0LS4wOTRoMS41Nzh2LTUuNDY5aC0xLjIwM3EtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0dC4zNDQtLjA5NHptOC4yMjctMy4wNDd2NC4wNDdxLjYyNS0uNjg3IDEuMjAzLS45NTMuNTc4LS4yODEgMS4yODEtLjI4MS43NjYgMCAxLjI5Ny4yNjUuNTQ3LjI2Ni45MDYuODI5LjM2LjU2Mi4zNiAxLjE3MXY0LjA3OWguNzM0cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTIuMTRxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNCAwLS4xNTcuMDk0LS4yMzUuMTA5LS4wOTMuMzQzLS4wOTNoLjczNXYtNC4wMzJxMC0uNzAzLS41MTYtMS4xNzItLjUtLjQ4NC0xLjQyMi0uNDg0LS43MTkgMC0xLjIxOS4zNDQtLjM3NS4yNS0xLjIxOCAxLjE4N3Y0LjE1N2guNzVxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtMi4xNHEtLjIzNSAwLS4zNDUtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjM0IDAtLjE1Ny4wOTMtLjIzNS4xMS0uMDkzLjM0NC0uMDkzaC43MzVWNjUuODRoLS44NzVxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTEzLjkzIDMuNDdxMC0uMjIuMDkzLS4zMTMuMDk0LS4xMS4yMzUtLjExLjE1NiAwIC4yNS4xMS4wOTMuMDkzLjA5My4zMjh2MS4xMjVxMCAuMjM0LS4wOTMuMzQzLS4wOTQuMDk0LS4yNS4wOTQtLjEyNSAwLS4yMi0uMDc4LS4wOTMtLjA5NC0uMTA5LS4yODEtLjA0Ny0uNDY5LS40ODQtLjc4MS0uNjQtLjQzOC0xLjY4Ny0uNDM4LTEuMTEgMC0xLjcyLjQ1My0uNDUyLjMyOC0uNDUyLjc1IDAgLjQ2OS41NDcuNzgxLjM3NS4yMiAxLjQyMS4zMjkgMS4zNi4xNTYgMS44OTEuMzQzLjc2Ni4yNjYgMS4xMjUuNzUuMzc1LjQ4NS4zNzUgMS4wNDcgMCAuODQ0LS44MTIgMS41LS43OTcuNjU2LTIuMzQ0LjY1Ni0xLjU2MyAwLTIuNTQ3LS43OTYgMCAuMjY1LS4wMzEuMzQzLS4wMzIuMDc4LS4xMjUuMTQtLjA3OC4wNDgtLjE3Mi4wNDgtLjE0IDAtLjIzNS0uMDk0LS4wOTMtLjExLS4wOTMtLjM0NHYtMS4zNnEwLS4yMzMuMDc4LS4zMjcuMDk0LS4xMS4yNS0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTQuMDk0LjI1IDAgLjM2LjE4Ny42MS4yNjYuMzc0Ljg2LjYyNC42MS4yMzUgMS40NjkuMjM1IDEuMjggMCAxLjkwNi0uNDcuNjI1LS40ODQuNjI1LTEuMDE1IDAtLjYxLS42MjUtLjk2OS0uNjQtLjM3NS0xLjg3NS0uNS0xLjIxOS0uMTI1LTEuNzUtLjMyOC0uNTMxLS4yMDMtLjgyOC0uNjEtLjI5Ny0uNDA1LS4yOTctLjg3NCAwLS44NDQuODI4LTEuMzI4LjgyOC0uNSAxLjk4NC0uNSAxLjM2IDAgMi4yMDMuNjU2ek0xMzQuNzU4IDg4LjYzN3EuOTA2LjQwNiAxLjM3NSAxLjEyNS40ODQuNzAzLjQ4NCAxLjQ2OSAwIDEuMTcyLS45NjkgMi4wNzgtLjk1My45MDYtMi4zOS45MDYtLjg0NCAwLTEuNzUtLjM2LS45MDYtLjM1OS0xLjI2Ni0uNzM0LS4xMS0uMTI1LS4xMS0uMjY1IDAtLjEyNS4wNzktLjIxOS4wOTQtLjA5NC4yMTktLjA5NHQuMjguMTFxMS4yMi45MDYgMi41NjMuOTA2IDEuMTQxIDAgMS45MDctLjcxOS43OC0uNzE5Ljc4LTEuNTk0IDAtLjU3OC0uMzktMS4xNC0uMzc1LS41NjMtMS4wOTMtLjg5LS43MDQtLjMyOS0xLjQyMi0uMzI5LS4yMzUgMC0uMzQ0LS4wNzgtLjA5NC0uMDk0LS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM0dC4yOTctLjA5NGwuNTYyLjAxNXEuODc1IDAgMS40NTMtLjUzLjU3OS0uNTQ4LjU3OS0xLjI2NiAwLS43MzUtLjYxLTEuMjk3LS41OTQtLjU2My0xLjU2Mi0uNTYzLS42ODggMC0xLjI2Ni4yMzUtLjU2Mi4yMzQtLjkwNi42NC0uMTI1LjE1Ni0uMTg4LjIwMy0uMDYyLjAzMi0uMTU2LjAzMi0uMTI1IDAtLjIxOS0uMDk0LS4wOTMtLjA5NC0uMDkzLS4yMTkgMC0uMzEyLjY3MS0uNzgxLjk1NC0uNjcyIDIuMTU3LS42NzIgMS4yMzQgMCAyLjAzMS43NS43OTcuNzUuNzk3IDEuNzgxIDAgLjY1Ni0uMzkgMS4yNS0uMzc2LjU3OC0xLjExLjkyMnptNDYuOTc2LTQuNzk3djEuNzAzaC0uOTY4VjgzLjg0em0uMDMyIDMuMzc1djYuMTFoMi41NzhxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtNS44MTNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDk0LS4wOTMtLjIzNCAwLS4xNTcuMDkzLS4yMzUuMTEtLjA5My4zNDQtLjA5M2gyLjU3OFY4Ny44N2gtMS45MjJxLS4yMzQgMC0uMzQzLS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0My0uMDk0em0xMC42MDEgMS40MjJxLjkwNi40MDYgMS4zNzUgMS4xMjUuNDg1LjcwMy40ODUgMS40NjkgMCAxLjE3Mi0uOTcgMi4wNzgtLjk1Mi45MDYtMi4zOS45MDYtLjg0NCAwLTEuNzUtLjM2LS45MDYtLjM1OS0xLjI2NS0uNzM0LS4xMS0uMTI1LS4xMS0uMjY1IDAtLjEyNS4wNzgtLjIxOS4wOTQtLjA5NC4yMTktLjA5NHQuMjgxLjExcTEuMjE5LjkwNiAyLjU2My45MDYgMS4xNCAwIDEuOTA2LS43MTkuNzgxLS43MTkuNzgxLTEuNTk0IDAtLjU3OC0uMzktMS4xNC0uMzc1LS41NjMtMS4wOTQtLjg5LS43MDMtLjMyOS0xLjQyMi0uMzI5LS4yMzQgMC0uMzQ0LS4wNzgtLjA5My0uMDk0LS4wOTMtLjI1IDAtLjE0LjA5My0uMjM0LjA5NC0uMDk0LjI5Ny0uMDk0bC41NjMuMDE1cS44NzUgMCAxLjQ1My0uNTMuNTc4LS41NDguNTc4LTEuMjY2IDAtLjczNS0uNjEtMS4yOTctLjU5My0uNTYzLTEuNTYyLS41NjMtLjY4OCAwLTEuMjY2LjIzNS0uNTYyLjIzNC0uOTA2LjY0LS4xMjUuMTU2LS4xODcuMjAzLS4wNjMuMDMyLS4xNTcuMDMyLS4xMjUgMC0uMjE4LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIxOSAwLS4zMTIuNjcyLS43ODEuOTUzLS42NzIgMi4xNTYtLjY3MiAxLjIzNCAwIDIuMDMxLjc1Ljc5Ny43NS43OTcgMS43ODEgMCAuNjU2LS4zOSAxLjI1LS4zNzUuNTc4LTEuMTEuOTIyem01LjQzIDQuNjg4aDUuMDMxdi0uMjY2cTAtLjIzNC4wOTQtLjMyOC4wOTMtLjExLjI1LS4xMS4xNCAwIC4yMzQuMTEuMDk0LjA5NC4wOTQuMzI4di45MjJoLTYuMzQ0di0uOTY5cTItMS43OTcgMy44OS0zLjY1Ni44NzYtLjg3NSAxLjIwNC0xLjI4MS4zMjgtLjQwNy40NTMtLjcwNC4xMjUtLjMxMi4xMjUtLjYyNSAwLS44NDMtLjY4OC0xLjQ4NC0uNjcxLS42NTYtMS42NC0uNjU2LS44NiAwLTEuNTMxLjUtLjY1Ny40ODQtLjg0NCAxLjIwMy0uMDQ3LjE4Ny0uMTI1LjI1LS4wOTQuMDc4LS4yMTkuMDc4dC0uMjE5LS4wOTRxLS4wOTMtLjA5My0uMDkzLS4yMTggMC0uMzc1LjQwNi0xLjAxNi40MjItLjY0IDEuMTQtMSAuNzItLjM3NSAxLjQ4NS0uMzc1IDEuMjE5IDAgMi4wOTQuODYuODkuODQzLjg5IDEuOTIxIDAgLjQ1My0uMTU2Ljg0NC0uMTQuMzc1LS41LjgyOC0uMzQ0LjQzOC0xLjI2NiAxLjM0NC0yLjMxMiAyLjI4MS0zLjc2NSAzLjU0N3ptMTIuMjg5LTEuMjM1aC4yODFxLjQzOCAwIC43NS4zMTMuMzEzLjMxMi4zMTMuNzUgMCAuNDUzLS4zMjguNzY1LS4zMTMuMjk3LS43MzUuMjk3aC0uMjgxcS0uNDM4IDAtLjc1LS4zMTItLjMxMy0uMzEzLS4zMTMtLjc1IDAtLjQ1My4zMTMtLjc1LjMxMi0uMzEzLjc1LS4zMTN6bTExLjYxNyAxLjg5di0uOTUycS0xLjQyMiAxLjIxOC0zLjA0NyAxLjIxOC0xLjE4NyAwLTEuODYtLjU5My0uNjU1LS42MS0uNjU1LTEuNDg1IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjItLjcxOS40NTMgMCAuOTg0LjA2My41MzIuMDYyIDEuMTQxLjE4N3YtMS4wNjJxMC0uNTQ3LS41LS45MzgtLjUtLjQwNi0xLjUtLjQwNi0uNzY2IDAtMi4xNC40NTMtLjI1LjA3OC0uMzI5LjA3OC0uMTI1IDAtLjIxOC0uMDkzLS4wNzktLjA5NC0uMDc5LS4yMzUgMC0uMTQuMDc5LS4yMTkuMTA5LS4xMDkuODc1LS4zMTIgMS4yMTgtLjMyOCAxLjg0My0uMzI4IDEuMjUgMCAxLjkzOC42MS43MDMuNjA5LjcwMyAxLjM5djQuMzQ0aC44NzVxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NHptMC0zLjI2NXEtLjQ1My0uMTQtLjk2OS0uMjAzLS41MTUtLjA2Mi0xLjA5My0uMDYyLTEuNDIyIDAtMi4yMzUuNjI1LS42MS40NTMtLjYxIDEuMDkzIDAgLjU5NC40NyAxIC40NjguNDA3IDEuMzU5LjQwNy44NDQgMCAxLjU3OC0uMzI5LjczNS0uMzQzIDEuNS0xLjA5M3ptMTAuOTMtNi41NDd2OS4xNTdoLjg3NXEuMjUgMCAuMzQ0LjA5My4xMDkuMDc4LjEwOS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzQzLjA5NGgtMS41MzF2LTEuMzEzcS0xLjE0MSAxLjU3OC0yLjkwNyAxLjU3OC0uODkgMC0xLjcwMy0uNDY4LS44MTItLjQ4NS0xLjI5Ny0xLjM2LS40NjgtLjg3NS0uNDY4LTEuODEyIDAtLjkzOC40NjgtMS43OTcuNDg1LS44NzUgMS4yOTctMS4zNDQuODEzLS40ODQgMS43MTktLjQ4NCAxLjcxOSAwIDIuODkgMS41NjJWODQuODRoLS44NzRxLS4yNSAwLS4zNi0uMDk0LS4wOTQtLjA5My0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bS0uNjU2IDYuNDM4cTAtMS4yNS0uODQ0LTIuMTEtLjg0NC0uODU5LTIuMDE2LS44NTktMS4xNzIgMC0yLjAxNS44Ni0uODQ0Ljg1OS0uODQ0IDIuMTA5dC44NDQgMi4xMXEuODQzLjg1OSAyLjAxNS44NTkgMS4xNzIgMCAyLjAxNi0uODYuODQ0LS44Ni44NDQtMi4xMXptMTAuMjU3LTYuNDM4djkuMTU3aC44NzVxLjI1IDAgLjM0NC4wOTMuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zNDQuMDk0aC0xLjUzdi0xLjMxM3EtMS4xNDIgMS41NzgtMi45MDcgMS41NzgtLjg5IDAtMS43MDMtLjQ2OC0uODEzLS40ODUtMS4yOTctMS4zNi0uNDY5LS44NzUtLjQ2OS0xLjgxMiAwLS45MzguNDY5LTEuNzk3LjQ4NC0uODc1IDEuMjk3LTEuMzQ0LjgxMi0uNDg0IDEuNzE4LS40ODQgMS43MiAwIDIuODkxIDEuNTYyVjg0Ljg0aC0uODc1cS0uMjUgMC0uMzYtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em0tLjY1NiA2LjQzOHEwLTEuMjUtLjg0NC0yLjExLS44NDMtLjg1OS0yLjAxNS0uODU5LTEuMTcyIDAtMi4wMTYuODYtLjg0NC44NTktLjg0NCAyLjEwOXQuODQ0IDIuMTFxLjg0NC44NTkgMi4wMTYuODU5IDEuMTcyIDAgMi4wMTUtLjg2Ljg0NC0uODYuODQ0LTIuMTF6bTcuMjQyLS41MTZxMCAuOTA2LS4yMzQgMS45MDYtLjIzNCAxLS45MDYgMi4zMjktLjY1NyAxLjMyOC0uOTcgMS41OTMtLjA5My4wOTQtLjIwMi4wOTQtLjE0IDAtLjIzNS0uMDk0LS4wOTMtLjA5My0uMDkzLS4yMzQgMC0uMDc4LjA0Ny0uMTcyLjg1OS0xLjU3OCAxLjIxOC0yLjg2LjM3NS0xLjI4LjM3NS0yLjU2MiAwLTEuMjgxLS4zNzUtMi41NjItLjM1OS0xLjI4Mi0xLjIxOC0yLjg2LS4wNDctLjA5My0uMDQ3LS4xNzIgMC0uMTQuMDkzLS4yMzQuMDk0LS4wOTQuMjM1LS4wOTQuMTEgMCAuMjAzLjA5NC4yOTcuMjY2Ljk1MyAxLjU2My42NTYgMS4yOC45MDYgMi4yOC4yNS45ODUuMjUgMS45ODV6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE3NCAzNjRoNTMuMDA4djUzLjAwOEgxNzR6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTc0IDM2NGg1My4wMDh2NTMuMDA4SDE3NHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTg0LjIxOSAzOTcuNDI0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNTQtMS4xODhxLS45MjEuNzY2LTEuNzY1IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMiAwLTEtLjQ3LTEuNDIxLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOS0xLjE4OHptLS4xNC0zLjY3MXEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTMuMTEgNC44NTlsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0N2wxLjQ4NCAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0xNzQgMzAyaDUzLjAwOHY1My4wMDhIMTc0eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE3NCAzMDJoNTMuMDA4djUzLjAwOEgxNzR6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE4NC4yMTkgMzM1LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjQ5NCAwdi0xLjIxOXEtLjkwNyAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5LS43MzQgMi44MTN6bTguMTg4IDQuODI4bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDdsMS40ODQgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTY1IDQyOS4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMjkwYzAtMS4xMDUgNS4zNzMtMiAxMi0yeiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xNjUgNDI5LjAwOGMtNi42MjcgMC0xMi0uODk2LTEyLTJ2LTY2LjUwNGMwLTEuMTA1LTUuMzczLTItMTItMiA2LjYyNyAwIDEyLS44OTUgMTItMlYyOTBjMC0xLjEwNSA1LjM3My0yIDEyLTIiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTY1IDQyOS4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMjkwYzAtMS4xMDUgNS4zNzMtMiAxMi0yIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMjcuMTg2IDMyOS40OTZoMTEzLjgyN3Y1My4wMDhIMjcuMTg2eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik03NS4xMzcgMzU2LjQxNnYtMTMuMzZoMS42NHYxMy4zNnptMy41ODItNC44NDRxMC0yLjY4NyAxLjQ4NC0zLjk2OCAxLjI1LTEuMDc5IDMuMDQ3LTEuMDc5IDIgMCAzLjI2NiAxLjMxMyAxLjI2NiAxLjI5NyAxLjI2NiAzLjYxIDAgMS44NTktLjU2MyAyLjkzNy0uNTYyIDEuMDYyLTEuNjQgMS42NTYtMS4wNjMuNTk0LTIuMzI5LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODggMHEwIDEuODYuNzk2IDIuNzk3LjgxMy45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzItLjkyMi44MTItLjkzNy44MTItMi44NDQgMC0xLjc5Ni0uODEyLTIuNzE4LS44MTMtLjkyMi0yLjAzMi0uOTIyLTEuMjM0IDAtMi4wNDcuOTIyLS43OTYuOTA2LS43OTYgMi43NjV6bTE1LjYxIDEuMjk3bDEuNjA5LjIxOXEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcxLjkzNy0xLjk4NSAwLTMuMTg4LTEuMjk3dC0xLjIwMy0zLjcxOXEwLTEuNTc4LjUxNi0yLjc1LjUxNS0xLjE3MiAxLjU3OC0xLjc1IDEuMDYyLS41OTQgMi4zMTItLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODIgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY4LS44MTMtMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4MS44OTEtLjc4MSAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTY5IDAgMS42MS0uNTk0LjY1Ni0uNTkzLjgyOC0xLjgyOHptOS4zMjggMi4zNnEtLjkyMi43NjUtMS43NjYgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDQtLjkzNy41My0uMzYgMS4xODctLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNCAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIxIDAtMS0uNDctMS40MjItLjYyNC0uNTQ3LTEuODc0LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNS43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgyIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkyLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ny41IDEuMDk0LjUuNDM4IDEuNDUzLjQzOC45MzcgMCAxLjY3Mi0uNDA3Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTQuMTU2IDQuODU5di0xMy4zNmgxLjY0djEzLjM2em0zLjUzNi0yLjg5bDEuNjI1LS4yNXEuMTI1Ljk2OC43NSAxLjUuNjI1LjUxNSAxLjc1LjUxNXQxLjY3MS0uNDUzcS41NDctLjQ2OS41NDctMS4wOTQgMC0uNTQ3LS40ODQtLjg3NS0uMzI4LS4yMTktMS42NzItLjU0Ny0xLjgxMi0uNDY4LTIuNTE2LS43OTctLjY4Ny0uMzI4LTEuMDQ2LS45MDYtLjM2LS41OTQtLjM2LTEuMzEyIDAtLjY0MS4yOTctMS4xODguMjk3LS41NjIuODEzLS45MjIuMzc1LS4yODEgMS4wMy0uNDY4LjY3My0uMjA0IDEuNDIzLS4yMDQgMS4xNCAwIDIgLjMyOS44NTkuMzI4IDEuMjY1Ljg5LjQyMi41NjMuNTc4IDEuNWwtMS42MDkuMjE5cS0uMTEtLjc1LS42NC0xLjE3Mi0uNTE2LS40MjItMS40Ny0uNDIyLTEuMTQgMC0xLjYyNC4zNzUtLjQ3LjM3NS0uNDcuODc1IDAgLjMxMy4xODguNTc4LjIwNC4yNjYuNjQxLjQzOC4yMzQuMDkzIDEuNDM4LjQyMiAxLjc1LjQ1MyAyLjQzNy43NS42ODguMjk3IDEuMDc4Ljg1OS4zOS41NjMuMzkgMS40MDYgMCAuODI4LS40ODQgMS41NDctLjQ2OC43MTktMS4zNzUgMS4xMjUtLjkwNi4zOS0yLjA0Ni4zOS0xLjg3NSAwLTIuODc1LS43OC0uOTg1LS43ODItMS4yNS0yLjMyOXptMTMuOTMzIDMuMTI0bDMuODc1LTEzLjgxMmgxLjMxMmwtMy44NiAxMy44MTJ6TTM4Ljg5MSAzODIuMTJ2LTEzLjM3NmgxLjQ4NXYxLjI1cS41MzEtLjczNCAxLjE4Ny0xLjA5NC42NzItLjM3NSAxLjYyNS0uMzc1IDEuMjM1IDAgMi4xNzIuNjQxLjk1My42MjUgMS40MzggMS43OTcuNDg0IDEuMTU2LjQ4NCAyLjU0NyAwIDEuNDg0LS41MzEgMi42NzItLjUzMiAxLjE4Ny0xLjU0NyAxLjgyOC0xLjAxNi42MjUtMi4xNC42MjUtLjgxMyAwLTEuNDctLjM0NC0uNjU2LS4zNDQtMS4wNjItLjg3NXY0LjcwM3ptMS40ODUtOC40ODVxMCAxLjg2Ljc1IDIuNzY1Ljc2NS44OTEgMS44MjguODkxIDEuMDk0IDAgMS44NzUtLjkyMi43ODEtLjkzNy43ODEtMi44NzUgMC0xLjg0NC0uNzY2LTIuNzY1LS43NS0uOTIyLTEuODEyLS45MjItMS4wNDcgMC0xLjg2Ljk4NC0uNzk2Ljk2OS0uNzk2IDIuODQ0em0xNS4yMDQgMy41OTRxLS45MjIuNzY1LTEuNzY2IDEuMDkzLS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODEtLjg2LS43ODItLjg2LTEuOTg1IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTMuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM0IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjEgMC0xLS40Ny0xLjQyMi0uNjI0LS41NDctMS44NzQtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE1LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTUuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODd6bS0uMTQxLTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTMuNDM4LjkzNyAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptNC4xODggNC44NTl2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMzEtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg3LjUzMmwtLjU2MiAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45Ny4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjguODc2LS4yOCAxLjkyM3Y1LjA2MnptMTIuNTQtMS4xODdxLS45Mi43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTkzIDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMzLTEuMjk3LjMyNy0uNTkzLjg0My0uOTM3LjUzMS0uMzYgMS4xODctLjU0Ny40Ny0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM0IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjEgMC0xLS40NjktMS40MjItLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMiAxLjQyMmwtMS42MS0uMjE5cS4yMTktMS4wMTUuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTUuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMDkuMDc5LjQyMi4wNzkgMS41MTZ2Mi4xODdxMCAyLjI4MS4xMDkgMi44OS4xMS41OTUuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODd6bS0uMTQtMy42NzJxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE1LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU2LjUzMS0uMjIuMzQ0LS4yMi43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTQuNDM4LjkzOCAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0MXptNC4yMDQgNC44NTl2LTkuNjcySDc3Ljd2MS4zNnEuNDUzLS43MiAxLjIwMy0xLjE0MS43NjYtLjQzOCAxLjcxOS0uNDM4IDEuMDc4IDAgMS43NjUuNDU0LjY4OC40MzcuOTcgMS4yMzQgMS4xNTUtMS42ODggMi45ODQtMS42ODggMS40NTMgMCAyLjIxOC43OTcuNzgyLjc5Ny43ODIgMi40NTN2Ni42NDFIODcuN3YtNi4wOTRxMC0uOTg0LS4xNTYtMS40MDYtLjE1Ny0uNDM3LS41NzgtLjcwMy0uNDIyLS4yNjYtLjk4NS0uMjY2LTEuMDE1IDAtMS42ODcuNjg4LS42NzIuNjcyLS42NzIgMi4xNTZ2NS42MjVoLTEuNjR2LTYuMjgxcTAtMS4wOTQtLjQwNy0xLjY0LS40MDYtLjU0OC0xLjMxMy0uNTQ4LS42ODcgMC0xLjI4LjM2LS41OTUuMzU5LS44NiAxLjA2Mi0uMjUuNzAzLS4yNSAyLjAzMXY1LjAxNnptMjIuMTY2LTMuMTFsMS42ODcuMjA0cS0uNDA2IDEuNDg0LTEuNDg0IDIuMzEyLTEuMDc4LjgxMy0yLjc2Ni44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNC0xLjMxMy0xLjIzNC0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjYtMS4zNDQgMy4yNjYtMS4zNDQgMS45MzcgMCAzLjE1NiAxLjMyOSAxLjIzNCAxLjMxMiAxLjIzNCAzLjcwM3YuNDM3aC03LjIxOHEuMDkzIDEuNTk0LjkwNiAyLjQ1My44MTIuODQ0IDIuMDE1Ljg0NC45MDcgMCAxLjU0Ny0uNDY5LjY0MS0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1Nmg1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4Mi0uOTUzLTIuMDMyLS45NTMtMS4xMjUgMC0xLjkwNi43NjYtLjc2Ni43NS0uODQ0IDIuMDE1em0xMi43MTkgNC4yOTdsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODEtLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDR2LTEuMjY2aDEuMjA0di0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDkzLjIwMy4yOC4zMjguMjA0LjExLjU3OS4xMS4yNjYgMCAuNzE5LS4wNjN6bTguMjMtMS42NGwxLjY4Ny4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNyAwIDEuNTQ3LS40NjkuNjQxLS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTkuMTI1IDUuNzY2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMxLTEuMzYuNDg0LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4Ny41MzJsLS41NjIgMS41MTVxLS42MS0uMzYtMS4yMDQtLjM2LS41NDYgMC0uOTY4LjMyOS0uNDIyLjMyOC0uNjEuODktLjI4Ljg3Ni0uMjggMS45MjN2NS4wNjJ6bTUuNTcyLTIuODlsMS42MjUtLjI1cS4xMjUuOTY4Ljc1IDEuNS42MjUuNTE1IDEuNzUuNTE1dDEuNjcyLS40NTNxLjU0Ny0uNDY5LjU0Ny0xLjA5NCAwLS41NDctLjQ4NC0uODc1LS4zMjktLjIxOS0xLjY3Mi0uNTQ3LTEuODEzLS40NjgtMi41MTYtLjc5Ny0uNjg4LS4zMjgtMS4wNDctLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQxLjI5OC0xLjE4OC4yOTctLjU2Mi44MTItLjkyMi4zNzUtLjI4MSAxLjAzMS0uNDY4LjY3Mi0uMjA0IDEuNDIyLS4yMDQgMS4xNCAwIDIgLjMyOS44Ni4zMjggMS4yNjYuODkuNDIyLjU2My41NzggMS41bC0xLjYxLjIxOXEtLjEwOS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ2OS0uNDIyLTEuMTQgMC0xLjYyNS4zNzUtLjQ2OC4zNzUtLjQ2OC44NzUgMCAuMzEzLjE4Ny41NzguMjAzLjI2Ni42NC40MzguMjM1LjA5MyAxLjQzOC40MjIgMS43NS40NTMgMi40MzguNzUuNjg3LjI5NyAxLjA3OC44NTkuMzkuNTYzLjM5IDEuNDA2IDAgLjgyOC0uNDg0IDEuNTQ3LS40NjkuNzE5LTEuMzc1IDEuMTI1LS45MDYuMzktMi4wNDcuMzktMS44NzUgMC0yLjg3NS0uNzgtLjk4NC0uNzgyLTEuMjUtMi4zMjl6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE2NSAyNzcuMDA4Yy02LjYyNyAwLTEyLS44OTYtMTItMnYtNjYuNTA0YzAtMS4xMDUtNS4zNzMtMi0xMi0yIDYuNjI3IDAgMTItLjg5NSAxMi0yVjEzOGMwLTEuMTA1IDUuMzczLTIgMTItMnoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTY1IDI3Ny4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMTM4YzAtMS4xMDUgNS4zNzMtMiAxMi0yIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE2NSAyNzcuMDA4Yy02LjYyNyAwLTEyLS44OTYtMTItMnYtNjYuNTA0YzAtMS4xMDUtNS4zNzMtMi0xMi0yIDYuNjI3IDAgMTItLjg5NSAxMi0yVjEzOGMwLTEuMTA1IDUuMzczLTIgMTItMiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYyLjAwOCAxODUuNDk2SDE0MXYzNC4wMTZINjIuMDA4eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik04OS4wMzUgMjA5LjUyNWwxLjYyNS0uMjVxLjEyNS45Ny43NSAxLjUuNjI1LjUxNiAxLjc1LjUxNnQxLjY3Mi0uNDUzcS41NDYtLjQ2OS41NDYtMS4wOTQgMC0uNTQ3LS40ODQtLjg3NS0uMzI4LS4yMTktMS42NzItLjU0Ny0xLjgxMi0uNDY4LTIuNTE1LS43OTctLjY4OC0uMzI4LTEuMDQ3LS45MDYtLjM2LS41OTQtLjM2LTEuMzEyIDAtLjY0LjI5Ny0xLjE4OC4yOTctLjU2Mi44MTMtLjkyMi4zNzUtLjI4IDEuMDMxLS40NjguNjcyLS4yMDQgMS40MjItLjIwNCAxLjE0IDAgMiAuMzI5Ljg2LjMyOCAxLjI2NS44OS40MjIuNTYzLjU3OSAxLjVsLTEuNjEuMjE5cS0uMTEtLjc1LS42NC0xLjE3Mi0uNTE2LS40MjItMS40Ny0uNDIyLTEuMTQgMC0xLjYyNC4zNzUtLjQ2OS4zNzUtLjQ2OS44NzUgMCAuMzEzLjE4OC41NzguMjAzLjI2Ni42NC40MzguMjM1LjA5NCAxLjQzOC40MjIgMS43NS40NTMgMi40MzcuNzUuNjg4LjI5NyAxLjA3OC44Ni4zOTEuNTYyLjM5MSAxLjQwNSAwIC44MjgtLjQ4NCAxLjU0Ny0uNDcuNzE5LTEuMzc1IDEuMTI1LS45MDcuMzktMi4wNDcuMzktMS44NzUgMC0yLjg3NS0uNzgtLjk4NS0uNzgyLTEuMjUtMi4zMjl6bTEzLjU2MiAxLjQyMmwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4MS0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzItLjA2M3ptNy45MTguMjgycS0uOTIyLjc2NS0xLjc2NiAxLjA5My0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTMgMC0yLjQ1My0uNzgxLS44Ni0uNzgyLS44Ni0xLjk4NSAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTkzLjg0NC0uOTM3LjUzMS0uMzYgMS4xODctLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNCAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIxIDAtMS0uNDY5LTEuNDIyLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjA5LS4yMTlxLjIxOS0xLjAxNS43MTktMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNS4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzYuNDM3LjUxNiAxLjExLjA3OC40Mi4wNzggMS41MTV2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjExLjU5NS40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4N3ptLS4xNC0zLjY3MnEtLjg5MS4zNzUtMi42NzMuNjI1LTEuMDE1LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU2LjUzMS0uMjIuMzQ0LS4yMi43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTQuNDM4LjkzOCAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0em0xMC41MTYgMS4zMTJsMS42MDkuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3Ny45MzctMi42NzEuOTM3LTEuOTg1IDAtMy4xODgtMS4yOTd0LTEuMjAzLTMuNzE5cTAtMS41NzguNTE2LTIuNzUuNTE1LTEuMTcyIDEuNTc4LTEuNzUgMS4wNjItLjU5NCAyLjMxMi0uNTk0IDEuNTc5IDAgMi41NzkuNzk3IDEgLjc5NyAxLjI4IDIuMjY2bC0xLjU5My4yMzRxLS4yMzQtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNCAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTMuMDE1IDMuNTQ3di0xMy4zNmgxLjY0djcuNjI2bDMuODkxLTMuOTM4aDIuMTFsLTMuNjg4IDMuNTk0IDQuMDYzIDYuMDc4aC0yLjAxNmwtMy4yMDMtNC45NTMtMS4xNTYgMS4xMjV2My44Mjh6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTEwNCA0MzhoMTM3Ljk4NHYzNC4wMTZIMTA0eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMTMuODQ0IDQ2MC42MjNsMS42NTYtLjE0cS4xMjUgMSAuNTQ3IDEuNjQuNDM3LjY0IDEuMzQ0IDEuMDQ3LjkyMS4zOSAyLjA2Mi4zOSAxIDAgMS43ODEtLjI5Ni43ODItLjI5NyAxLjE1Ny0uODEzLjM3NS0uNTMxLjM3NS0xLjE1NiAwLS42MjUtLjM3NS0xLjA5NC0uMzYtLjQ2OS0xLjE4OC0uNzk3LS41NDctLjIwMy0yLjM5LS42NC0xLjgyOS0uNDUzLTIuNTYzLS44NDQtLjk2OS0uNS0xLjQzOC0xLjIzNC0uNDY4LS43NS0uNDY4LTEuNjcyIDAtMSAuNTc4LTEuODc1LjU3OC0uODkgMS42NzItMS4zNDQgMS4xMS0uNDUzIDIuNDUzLS40NTMgMS40ODQgMCAyLjYxLjQ4NCAxLjE0LjQ2OSAxLjc1IDEuNDA2LjYwOS45MjIuNjU2IDIuMDk0bC0xLjY4OC4xMjVxLS4xNC0xLjI2NS0uOTM4LTEuOTA2LS43OC0uNjU2LTIuMzEyLS42NTYtMS42MSAwLTIuMzQ0LjU5My0uNzM0LjU5NC0uNzM0IDEuNDIyIDAgLjcyLjUzMSAxLjE3Mi41LjQ2OSAyLjY1Ni45NjkgMi4xNTcuNDg0IDIuOTU0Ljg0NCAxLjE3MS41MzEgMS43MTggMS4zNi41NjMuODI3LjU2MyAxLjkwNSAwIDEuMDYzLS42MSAyLjAxNi0uNjA5LjkzNy0xLjc1IDEuNDY5LTEuMTQuNTE1LTIuNTc4LjUxNS0xLjgxMiAwLTMuMDQ3LS41My0xLjIxOC0uNTMyLTEuOTIxLTEuNTk1LS42ODgtMS4wNjItLjcyLTIuNDA2em0xNi40MTIgMi44MjhsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZIMTI4LjZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzE5LS4wNjN6bTcuOTE4LjI4MXEtLjkyMi43NjYtMS43NjYgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0NC0uOTM3LjUzLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40NjktMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MDktLjIxOXEuMjE5LTEuMDE2LjcxOS0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODh6bS0uMTQtMy42NzFxLS44OTIuMzc1LTIuNjczLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptNy43ODEgMy4zOWwuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzItLjA2M3ptOC4yMy0xLjY0bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NSAyLjMxMi0xLjA3OC44MTMtMi43NjUuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzUtMS4zMTMtMS4yMzUtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM4IDAgMy4xNTYgMS4zMjggMS4yMzUgMS4zMTMgMS4yMzUgMy43MDR2LjQzN2gtNy4yMnEuMDk1IDEuNTk0LjkwNyAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA3Ljc2Ni0uNzY1Ljc1LS44NDMgMi4wMTV6bTIwLjYzNyA0LjU3OHEtLjkyMi43NjYtMS43NjYgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTkzIDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0NC0uOTM3LjUzLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40NjktMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MDktLjIxOXEuMjE5LTEuMDE2LjcxOS0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODh6bS0uMTQtMy42NzFxLS44OTEuMzc1LTIuNjczLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIyLjM0NC0uMjIuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDU0LjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NDF6bTQuNTk0IDQuODU5di04LjQwNmgtMS40NTN2LTEuMjY2aDEuNDUzdi0xLjAzMXEwLS45NjkuMTcyLTEuNDUzLjIzNC0uNjQuODI4LTEuMDMyLjU5My0uMzkgMS42NzItLjM5LjY4NyAwIDEuNTMuMTU2bC0uMjUgMS40MzhxLS41LS4wOTQtLjk1Mi0uMDk0LS43NSAwLTEuMDYzLjMyOC0uMzEyLjMxMy0uMzEyIDEuMTg4di44OWgxLjg5djEuMjY2aC0xLjg5djguNDA2em04LjM3LTEuNDY5bC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgyLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTgtLjA2M3ptOC4yMy0xLjY0bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY1LTEuMzQ0IDMuMjY1LTEuMzQ0IDEuOTM4IDAgMy4xNTcgMS4zMjggMS4yMzQgMS4zMTMgMS4yMzQgMy43MDR2LjQzN2gtNy4yMTlxLjA5NCAxLjU5NC45MDYgMi40NTMuODEzLjg0NCAyLjAxNi44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNi43NjYtLjc2Ni43NS0uODQ0IDIuMDE1em05LjEyNiA1Ljc2NnYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMi4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMC45NTgtNi41OTRxMC0yLjM2LjQ4NS0zLjc5Ny40ODQtMS40NTMgMS40MzctMi4yMzQuOTY5LS43ODEgMi40MjItLjc4MSAxLjA3OCAwIDEuODkuNDM3LjgxMy40MjIgMS4zMjkgMS4yNS41My44MTMuODI4IDEuOTg1LjMxMiAxLjE1Ni4zMTIgMy4xNCAwIDIuMzYtLjQ4NCAzLjgxMy0uNDg0IDEuNDM3LTEuNDUzIDIuMjM0LS45NTMuNzgxLTIuNDIyLjc4MS0xLjkyMiAwLTMuMDMxLTEuMzktMS4zMTMtMS42NzItMS4zMTMtNS40Mzh6bTEuNjcyIDBxMCAzLjI5Ny43NjYgNC4zOS43OCAxLjA3OSAxLjkwNiAxLjA3OSAxLjE0IDAgMS45MDYtMS4wOTR0Ljc2Ni00LjM3NXEwLTMuMjk3LS43NjYtNC4zNzUtLjc2NS0xLjA3OC0xLjkyMi0xLjA3OC0xLjEyNSAwLTEuNzk3Ljk1My0uODU5IDEuMjE5LS44NTkgNC41eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yOTQgMzY0aDUzLjAwOHY1My4wMDhIMjk0eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTI5NCAzNjRoNTMuMDA4djUzLjAwOEgyOTR6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTMwNC4yMTkgMzk3LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjU0LTEuMTg4cS0uOTIxLjc2Ni0xLjc2NSAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40Ny0xLjQyMS0uNjI0LS41NDctMS44NzQtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODh6bS0uMTQtMy42NzFxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1My40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem0zLjExIDQuODU5bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjk0IDMwMmg1My4wMDh2NTMuMDA4SDI5NHoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yOTQgMzAyaDUzLjAwOHY1My4wMDhIMjk0eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zMDQuMjE5IDMzNS40MjR2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi40OTQgMHYtMS4yMTlxLS45MDcgMS40MzgtMi43MDMgMS40MzgtMS4xNTcgMC0yLjEyNS0uNjQtLjk3LS42NDItMS41LTEuNzgyLS41MzItMS4xNC0uNTMyLTIuNjI1IDAtMS40NTMuNDg1LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTN2LTQuNzk2aDEuNjR2MTMuMzU5em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODEuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2Ni0yLjkwNi0uNzY1LS45MzctMS44OS0uOTM3LTEuMDc4IDAtMS44MTMuODktLjczNC44OS0uNzM0IDIuODEzem04LjE4OCA0LjgyOGwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTI1NiA0MzhoMTM3Ljk4NHYzNC4wMTZIMjU2eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yNjUuODQ0IDQ2MC42MjNsMS42NTYtLjE0cS4xMjUgMSAuNTQ3IDEuNjQuNDM3LjY0IDEuMzQ0IDEuMDQ3LjkyMS4zOSAyLjA2Mi4zOSAxIDAgMS43ODEtLjI5Ni43ODItLjI5NyAxLjE1Ny0uODEzLjM3NS0uNTMxLjM3NS0xLjE1NiAwLS42MjUtLjM3NS0xLjA5NC0uMzYtLjQ2OS0xLjE4OC0uNzk3LS41NDctLjIwMy0yLjM5LS42NC0xLjgyOS0uNDUzLTIuNTYzLS44NDQtLjk2OS0uNS0xLjQzOC0xLjIzNC0uNDY4LS43NS0uNDY4LTEuNjcyIDAtMSAuNTc4LTEuODc1LjU3OC0uODkgMS42NzItMS4zNDQgMS4xMS0uNDUzIDIuNDUzLS40NTMgMS40ODQgMCAyLjYxLjQ4NCAxLjE0LjQ2OSAxLjc1IDEuNDA2LjYwOS45MjIuNjU2IDIuMDk0bC0xLjY4OC4xMjVxLS4xNC0xLjI2NS0uOTM4LTEuOTA2LS43OC0uNjU2LTIuMzEyLS42NTYtMS42MSAwLTIuMzQ0LjU5My0uNzM0LjU5NC0uNzM0IDEuNDIyIDAgLjcyLjUzMSAxLjE3Mi41LjQ2OSAyLjY1Ni45NjkgMi4xNTcuNDg0IDIuOTU0Ljg0NCAxLjE3MS41MzEgMS43MTggMS4zNi41NjMuODI3LjU2MyAxLjkwNSAwIDEuMDYzLS42MSAyLjAxNi0uNjA5LjkzNy0xLjc1IDEuNDY5LTEuMTQuNTE1LTIuNTc4LjUxNS0xLjgxMiAwLTMuMDQ3LS41My0xLjIxOC0uNTMyLTEuOTIxLTEuNTk1LS42ODgtMS4wNjItLjcyLTIuNDA2em0xNi40MTIgMi44MjhsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZIMjgwLjZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzE5LS4wNjN6bTcuOTE4LjI4MXEtLjkyMi43NjYtMS43NjYgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTkzIDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0NC0uOTM3LjUzLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40NjktMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MDktLjIxOXEuMjE5LTEuMDE2LjcxOS0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODh6bS0uMTQtMy42NzFxLS44OTEuMzc1LTIuNjczLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIyLjM0NC0uMjIuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDU0LjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NDF6bTcuNzgxIDMuMzlsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwMy4xMS41NzguMTEuMjY2IDAgLjcyLS4wNjN6bTguMjMtMS42NGwxLjY4OC4yMDNxLS40MDYgMS40ODQtMS40ODUgMi4zMTItMS4wNzguODEzLTIuNzY1LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzOCAwIDMuMTU2IDEuMzI4IDEuMjM1IDEuMzEzIDEuMjM1IDMuNzA0di40MzdoLTcuMjJxLjA5NSAxLjU5NC45MDcgMi40NTMuODEzLjg0NCAyLjAxNi44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE1LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNy43NjYtLjc2NS43NS0uODQzIDIuMDE1em0yMC42MzcgNC41NzhxLS45MjIuNzY2LTEuNzY2IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5MyAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDQtLjkzNy41My0uMzYgMS4xODctLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIyIDAtMS0uNDY5LTEuNDIxLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjA5LS4yMTlxLjIxOS0xLjAxNi43MTktMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzYuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTEuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcxcS0uODkxLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMi4zNDQtLjIyLjc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1NC40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDk0LTEuMTQuMjY1LS41NjMuMjY1LTEuNjQxem00LjU5NCA0Ljg1OXYtOC40MDZoLTEuNDUzdi0xLjI2NmgxLjQ1M3YtMS4wMzFxMC0uOTY5LjE3Mi0xLjQ1My4yMzQtLjY0LjgyOC0xLjAzMi41OTMtLjM5IDEuNjcyLS4zOS42ODcgMCAxLjUzLjE1NmwtLjI1IDEuNDM4cS0uNS0uMDk0LS45NTItLjA5NC0uNzUgMC0xLjA2My4zMjgtLjMxMi4zMTMtLjMxMiAxLjE4OHYuODloMS44OXYxLjI2NmgtMS44OXY4LjQwNnptOC4zNy0xLjQ2OWwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4Mi4zMjguMjAzLjExLjU3OC4xMS4yNjUgMCAuNzE4LS4wNjN6bTguMjMtMS42NGwxLjY4OC4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU3IDEuMzI4IDEuMjM0IDEuMzEzIDEuMjM0IDMuNzA0di40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA2IDIuNDUzLjgxMy44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODEtLjk1My0yLjAzMS0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xMjYgNS43NjZ2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjIuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTcuMTMgMGgtMS42NHYtMTAuNDUzcS0uNTk0LjU2Mi0xLjU2MyAxLjE0LS45NTMuNTYzLTEuNzE5Ljg0NHYtMS41OTRxMS4zNzUtLjY0IDIuNDA2LTEuNTYyIDEuMDMyLS45MjIgMS40NTQtMS43ODFoMS4wNjJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTQ0NiAzNjRoNTMuMDA4djUzLjAwOEg0NDZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDQ2IDM2NGg1My4wMDh2NTMuMDA4SDQ0NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDU2LjIxOSAzOTcuNDI0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNTQtMS4xODhxLS45MjEuNzY2LTEuNzY1IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMiAwLTEtLjQ3LTEuNDIxLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOS0xLjE4OHptLS4xNC0zLjY3MXEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTMuMTEgNC44NTlsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik00NDYgMzAyaDUzLjAwOHY1My4wMDhINDQ2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTQ0NiAzMDJoNTMuMDA4djUzLjAwOEg0NDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTQ1Ni4yMTkgMzM1LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjQ5NCAwdi0xLjIxOXEtLjkwNyAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5LS43MzQgMi44MTN6bTguMTg4IDQuODI4bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDA4IDQzOGgxMzcuOTg0djM0LjAxNkg0MDh6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTQxNy44NDQgNDYwLjYyM2wxLjY1Ni0uMTRxLjEyNSAxIC41NDcgMS42NC40MzcuNjQgMS4zNDQgMS4wNDcuOTIxLjM5IDIuMDYyLjM5IDEgMCAxLjc4MS0uMjk2Ljc4Mi0uMjk3IDEuMTU3LS44MTMuMzc1LS41MzEuMzc1LTEuMTU2IDAtLjYyNS0uMzc1LTEuMDk0LS4zNi0uNDY5LTEuMTg4LS43OTctLjU0Ny0uMjAzLTIuMzktLjY0LTEuODI5LS40NTMtMi41NjMtLjg0NC0uOTY5LS41LTEuNDM4LTEuMjM0LS40NjgtLjc1LS40NjgtMS42NzIgMC0xIC41NzgtMS44NzUuNTc4LS44OSAxLjY3Mi0xLjM0NCAxLjExLS40NTMgMi40NTMtLjQ1MyAxLjQ4NCAwIDIuNjEuNDg0IDEuMTQuNDY5IDEuNzUgMS40MDYuNjA5LjkyMi42NTYgMi4wOTRsLTEuNjg4LjEyNXEtLjE0LTEuMjY1LS45MzgtMS45MDYtLjc4LS42NTYtMi4zMTItLjY1Ni0xLjYxIDAtMi4zNDQuNTkzLS43MzQuNTk0LS43MzQgMS40MjIgMCAuNzIuNTMxIDEuMTcyLjUuNDY5IDIuNjU2Ljk2OSAyLjE1Ny40ODQgMi45NTQuODQ0IDEuMTcxLjUzMSAxLjcxOCAxLjM2LjU2My44MjcuNTYzIDEuOTA1IDAgMS4wNjMtLjYxIDIuMDE2LS42MDkuOTM3LTEuNzUgMS40NjktMS4xNC41MTUtMi41NzguNTE1LTEuODEyIDAtMy4wNDctLjUzLTEuMjE4LS41MzItMS45MjEtMS41OTUtLjY4OC0xLjA2Mi0uNzItMi40MDZ6bTE2LjQxMiAyLjgyOGwuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2Nkg0MzIuNnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43MTktLjA2M3ptNy45MTguMjgxcS0uOTIyLjc2Ni0xLjc2NiAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTMgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQ0LS45MzcuNTMtLjM2IDEuMTg3LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzUgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMiAwLTEtLjQ2OS0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYwOS0uMjE5cS4yMTktMS4wMTYuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjExLjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4OHptLS4xNC0zLjY3MXEtLjg5MS4zNzUtMi42NzMuNjI1LTEuMDE1LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU2LjUzMS0uMjIuMzQ0LS4yMi43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTQuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0MXptNy43ODEgMy4zOWwuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzItLjA2M3ptOC4yMy0xLjY0bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NSAyLjMxMi0xLjA3OC44MTMtMi43NjUuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzUtMS4zMTMtMS4yMzUtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM4IDAgMy4xNTYgMS4zMjggMS4yMzUgMS4zMTMgMS4yMzUgMy43MDR2LjQzN2gtNy4yMnEuMDk1IDEuNTk0LjkwNyAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA3Ljc2Ni0uNzY1Ljc1LS44NDMgMi4wMTV6bTIwLjYzNyA0LjU3OHEtLjkyMi43NjYtMS43NjYgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTkzIDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0NC0uOTM3LjUzLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40NjktMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MDktLjIxOXEuMjE5LTEuMDE2LjcxOS0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODh6bS0uMTQtMy42NzFxLS44OTEuMzc1LTIuNjczLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIyLjM0NC0uMjIuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDU0LjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjUtLjU2My4yNjUtMS42NDF6bTQuNTk0IDQuODU5di04LjQwNmgtMS40NTN2LTEuMjY2aDEuNDUzdi0xLjAzMXEwLS45NjkuMTcyLTEuNDUzLjIzNC0uNjQuODI4LTEuMDMyLjU5My0uMzkgMS42NzItLjM5LjY4NyAwIDEuNTMuMTU2bC0uMjUgMS40MzhxLS41LS4wOTQtLjk1Mi0uMDk0LS43NSAwLTEuMDYzLjMyOC0uMzEyLjMxMy0uMzEyIDEuMTg4di44OWgxLjg5djEuMjY2aC0xLjg5djguNDA2em04LjM3LTEuNDY5bC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgyLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTgtLjA2M3ptOC4yMy0xLjY0bDEuNjg4LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY1LTEuMzQ0IDMuMjY1LTEuMzQ0IDEuOTM4IDAgMy4xNTcgMS4zMjggMS4yMzQgMS4zMTMgMS4yMzQgMy43MDR2LjQzN2gtNy4yMTlxLjA5NCAxLjU5NC45MDYgMi40NTMuODEzLjg0NCAyLjAxNi44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE2LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNi43NjYtLjc2Ni43NS0uODQ0IDIuMDE1em05LjEyNiA1Ljc2NnYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMi4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xOS41NjgtMS41Nzh2MS41NzhoLTguODI5cS0uMDE1LS41OTQuMTg4LTEuMTQuMzQ0LS45MDcgMS4wNzgtMS43ODIuNzUtLjg3NSAyLjE1Ni0yLjAxNiAyLjE3Mi0xLjc4IDIuOTM4LTIuODI4Ljc2NS0xLjA0Ny43NjUtMS45NjggMC0uOTg1LS43MDMtMS42NDEtLjY4Ny0uNjcyLTEuODEyLS42NzItMS4xODggMC0xLjkwNi43MTktLjcwNC43MDMtLjcwNCAxLjk1M2wtMS42ODctLjE3MnEuMTcyLTEuODkgMS4yOTctMi44NzUgMS4xNC0uOTg0IDMuMDMxLS45ODQgMS45MjIgMCAzLjA0NyAxLjA2MiAxLjEyNSAxLjA2MyAxLjEyNSAyLjY0IDAgLjc5OC0uMzI4IDEuNTc5LS4zMjguNzgxLTEuMDk0IDEuNjQtLjc1Ljg0NC0yLjUzMSAyLjM0NC0xLjQ2OSAxLjIzNS0xLjg5IDEuNjg4LS40MjMuNDM3LS42ODguODc1eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02MDYgMzY0aDUzLjAwOHY1My4wMDhINjA2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTYwNiAzNjRoNTMuMDA4djUzLjAwOEg2MDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYxNi4yMTkgMzk3LjQyNHYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMi4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi41NC0xLjE4OHEtLjkyMS43NjYtMS43NjUgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0My0uOTM3LjUzMi0uMzYgMS4xODgtLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNSAyLjkyMi0uNTYzLjAxNS0uMzQzLjAxNS0uNDIyIDAtMS0uNDY4LTEuNDIxLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU3IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOS0xLjE4OHptLS4xNC0zLjY3MXEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTMuMTEgNC44NTlsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02MDYgMzAyaDUzLjAwOHY1My4wMDhINjA2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTYwNiAzMDJoNTMuMDA4djUzLjAwOEg2MDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYxNi4yMTkgMzM1LjQyNHYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMi4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi40OTQgMHYtMS4yMTlxLS45MDcgMS40MzgtMi43MDMgMS40MzgtMS4xNTcgMC0yLjEyNS0uNjQtLjk3LS42NDItMS41LTEuNzgyLS41MzItMS4xNC0uNTMyLTIuNjI1IDAtMS40NTMuNDg1LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTN2LTQuNzk2aDEuNjR2MTMuMzU5em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODEuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2Ni0yLjkwNi0uNzY1LS45MzctMS44OS0uOTM3LTEuMDc4IDAtMS44MTMuODktLjczNC44OS0uNzM0IDIuODEzem04LjE4OCA0LjgyOGwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTU2OCA0MzhoMTM3Ljk4NHYzNC4wMTZINTY4eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik01NzcuODQ0IDQ2MC42MjNsMS42NTYtLjE0cS4xMjUgMSAuNTQ3IDEuNjQuNDM3LjY0IDEuMzQ0IDEuMDQ3LjkyMi4zOSAyLjA2Mi4zOSAxIDAgMS43ODEtLjI5Ni43ODItLjI5NyAxLjE1Ny0uODEzLjM3NS0uNTMxLjM3NS0xLjE1NiAwLS42MjUtLjM3NS0xLjA5NC0uMzYtLjQ2OS0xLjE4OC0uNzk3LS41NDctLjIwMy0yLjM5LS42NC0xLjgyOS0uNDUzLTIuNTYzLS44NDQtLjk2OS0uNS0xLjQzOC0xLjIzNC0uNDY4LS43NS0uNDY4LTEuNjcyIDAtMSAuNTc4LTEuODc1LjU3OC0uODkgMS42NzItMS4zNDQgMS4xMS0uNDUzIDIuNDUzLS40NTMgMS40ODQgMCAyLjYxLjQ4NCAxLjE0LjQ2OSAxLjc1IDEuNDA2LjYwOS45MjIuNjU1IDIuMDk0bC0xLjY4Ny4xMjVxLS4xNC0xLjI2NS0uOTM4LTEuOTA2LS43OC0uNjU2LTIuMzEyLS42NTYtMS42MSAwLTIuMzQ0LjU5My0uNzM0LjU5NC0uNzM0IDEuNDIyIDAgLjcyLjUzMSAxLjE3Mi41LjQ2OSAyLjY1Ni45NjkgMi4xNTcuNDg0IDIuOTUzLjg0NCAxLjE3Mi41MzEgMS43MiAxLjM2LjU2Mi44MjcuNTYyIDEuOTA1IDAgMS4wNjMtLjYxIDIuMDE2LS42MDkuOTM3LTEuNzUgMS40NjktMS4xNC41MTUtMi41NzguNTE1LTEuODEyIDAtMy4wNDctLjUzLTEuMjE4LS41MzItMS45MjItMS41OTUtLjY4Ny0xLjA2Mi0uNzE4LTIuNDA2em0xNi40MTIgMi44MjhsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZINTkyLjZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzItLjA2M3ptNy45MTguMjgxcS0uOTIyLjc2Ni0xLjc2NiAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTMgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQ0LS45MzcuNTMtLjM2IDEuMTg3LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzUgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMiAwLTEtLjQ2OS0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYwOS0uMjE5cS4yMTktMS4wMTYuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjExLjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4OHptLS4xNC0zLjY3MXEtLjg5MS4zNzUtMi42NzMuNjI1LTEuMDE1LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU2LjUzMS0uMjIuMzQ0LS4yMi43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTQuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0MXptNy43ODEgMy4zOWwuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4MS4zMjguMjAzLjExLjU3OC4xMS4yNjYgMCAuNzE5LS4wNjN6bTguMjMtMS42NGwxLjY4OC4yMDNxLS40MDYgMS40ODQtMS40ODUgMi4zMTItMS4wNzguODEzLTIuNzY1LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzOCAwIDMuMTU2IDEuMzI4IDEuMjM1IDEuMzEzIDEuMjM1IDMuNzA0di40MzdoLTcuMjJxLjA5NSAxLjU5NC45MDcgMi40NTMuODEzLjg0NCAyLjAxNi44NDQuOTA2IDAgMS41NDctLjQ2OS42NC0uNDg0IDEuMDE1LTEuNTE1em0tNS4zOS0yLjY1N2g1LjQwNnEtLjExLTEuMjE4LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNy43NjYtLjc2NS43NS0uODQzIDIuMDE1em0yMC42MzcgNC41NzhxLS45MjIuNzY2LTEuNzY2IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5MyAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDQtLjkzNy41My0uMzYgMS4xODctLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIyIDAtMS0uNDY5LTEuNDIxLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjA5LS4yMTlxLjIxOS0xLjAxNi43MTktMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzYuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTEuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcxcS0uODkxLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMi4zNDQtLjIyLjc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1NC40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDk0LTEuMTQuMjY1LS41NjMuMjY1LTEuNjQxem00LjU5NCA0Ljg1OXYtOC40MDZoLTEuNDU0di0xLjI2NmgxLjQ1NHYtMS4wMzFxMC0uOTY5LjE3MS0xLjQ1My4yMzUtLjY0LjgyOS0xLjAzMi41OTMtLjM5IDEuNjcxLS4zOS42ODggMCAxLjUzMi4xNTZsLS4yNSAxLjQzOHEtLjUtLjA5NC0uOTUzLS4wOTQtLjc1IDAtMS4wNjMuMzI4LS4zMTIuMzEzLS4zMTIgMS4xODh2Ljg5aDEuODl2MS4yNjZoLTEuODl2OC40MDZ6bTguMzctMS40NjlsLjIzNSAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODIuMzI4LjIwMy4xMS41NzguMTEuMjY1IDAgLjcxOC0uMDYzem04LjIzLTEuNjRsMS42ODguMjAzcS0uNDA2IDEuNDg0LTEuNDg0IDIuMzEyLTEuMDc4LjgxMy0yLjc2Ni44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNC0xLjMxMy0xLjIzNC0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjUtMS4zNDQgMy4yNjUtMS4zNDQgMS45MzggMCAzLjE1NyAxLjMyOCAxLjIzNCAxLjMxMyAxLjIzNCAzLjcwNHYuNDM3aC03LjIxOXEuMDk0IDEuNTk0LjkwNyAyLjQ1My44MTIuODQ0IDIuMDE1Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTkuMTI2IDUuNzY2di05LjY3MmgxLjQ2OHYxLjQ2OXEuNTYzLTEuMDMxIDEuMDMyLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIyLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEwLjk1OC0zLjUzMWwxLjY0LS4yMTlxLjI4MiAxLjQwNi45NTQgMi4wMTYuNjg3LjYwOSAxLjY1Ni42MDkgMS4xNTYgMCAxLjk1My0uNzk3Ljc5Ny0uNzk3Ljc5Ny0xLjk4NCAwLTEuMTI1LS43MzQtMS44Ni0uNzM1LS43MzQtMS44NzUtLjczNC0uNDY5IDAtMS4xNTYuMTcybC4xODctMS40MzhxLjE1Ni4wMTYuMjY2LjAxNiAxLjA0NyAwIDEuODc1LS41NDcuODQzLS41NDcuODQzLTEuNjcyIDAtLjkwNi0uNjA5LTEuNS0uNjEtLjU5NC0xLjU3OC0uNTk0LS45NTMgMC0xLjU5NC42MS0uNjQuNTk0LS44MTIgMS43OTdsLTEuNjQxLS4yOTdxLjI5Ny0xLjY0IDEuMzYtMi41NDcgMS4wNjItLjkwNiAyLjY1Ni0uOTA2IDEuMDkzIDAgMiAuNDY4LjkyMi40NyAxLjQwNiAxLjI4Mi41LjgxMi41IDEuNzE4IDAgLjg2LS40NjkgMS41NzktLjQ2OS43MDMtMS4zNzUgMS4xMjUgMS4xODguMjggMS44NDQgMS4xNC42NTYuODYuNjU2IDIuMTU2IDAgMS43MzUtMS4yODEgMi45NTQtMS4yNjYgMS4yMTgtMy4yMTkgMS4yMTgtMS43NjUgMC0yLjkyMi0xLjA0Ny0xLjE1Ni0xLjA0Ni0xLjMyOC0yLjcxOHoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDQ2IDIxMS40OTJoNTMuMDA4VjI2NC41SDQ0NnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik00NDYgMjExLjQ5Mmg1My4wMDhWMjY0LjVINDQ2eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00NTYuMjE5IDI0NC45MTZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIxLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjU0LTEuMTg3cS0uOTIxLjc2NS0xLjc2NSAxLjA5My0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgxLS44Ni0uNzgyLS44Ni0xLjk4NSAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTkzLjg0My0uOTM3LjUzMi0uMzYgMS4xODgtLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNCAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIxIDAtMS0uNDctMS40MjItLjYyNC0uNTQ3LTEuODc0LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNS43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgyIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTEuMDc4LjQyLjA3OCAxLjUxNXYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NS40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOS0xLjE4N3ptLS4xNC0zLjY3MnEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ny41IDEuMDk0LjUuNDM4IDEuNDUzLjQzOC45MzcgMCAxLjY3Mi0uNDA3Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NHptMy4xMSA0Ljg2bDMuNTMxLTUuMDMyLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMi0yLjU0NyAzLjgxMnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDQ2IDE0OS40OTJoNTMuMDA4VjIwMi41SDQ0NnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik00NDYgMTQ5LjQ5Mmg1My4wMDhWMjAyLjVINDQ2eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00NTYuMjE5IDE4Mi45MTZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIxLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjQ5NCAwdi0xLjIxOXEtLjkwNyAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0MS0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1NHYtNC43OTdoMS42NHYxMy4zNnptLTUuMTcyLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgxLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4NyAwLTEuOTg1LS43NjYtMi45MDctLjc2NS0uOTM3LTEuODktLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODkxLS43MzQgMi44MTN6bTguMTg4IDQuODI4bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMi0yLjU0NyAzLjgxMnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjk1IDIxMS40OWg1My4wMDhWMjY0LjVIMjk1eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTI5NSAyMTEuNDloNTMuMDA4VjI2NC41SDI5NXoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMzA1LjIxOSAyNDQuOTE1di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMyIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMWwtLjU2MyAxLjUxNnEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzUtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNTQtMS4xODhxLS45MjEuNzY2LTEuNzY1IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43ODEtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzguNTMyLS4zNTkgMS4xODgtLjU0Ni40NjktLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQ0LjAxNi0uNDIyIDAtMS0uNDctMS40MjItLjYyNC0uNTQ2LTEuODc0LS41NDYtMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjJxLjIyLTEuMDE1LjcyLTEuNjQuNS0uNjQgMS40NTMtLjk4NC45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNC4zNzUuNDM4LjUxNiAxLjExLjA3OC40MjIuMDc4IDEuNTE1djIuMTg4cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg4em0tLjE0LTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNDEtMS40MzcuMzI5LS40MjIuMTg3LS42NTcuNTMtLjIxOC4zNDUtLjIxOC43ODIgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptMy4xMSA0Ljg2bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjQxaDIuMDQ2bDEuNDg1IDIuMjY2cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjgxaDEuOTU0bC0zLjM0NCA0LjU0NyAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02MDYgMjExLjQ5Mmg1My4wMDhWMjY0LjVINjA2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTYwNiAyMTEuNDkyaDUzLjAwOFYyNjQuNUg2MDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYxNi4yMTkgMjQ0LjkxNnYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIyLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjU0LTMuNTQ3bDEuNjEuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzEuOTM3LTEuOTg1IDAtMy4xODgtMS4yOTd0LTEuMjAzLTMuNzE5cTAtMS41NzguNTE2LTIuNzUuNTE1LTEuMTcyIDEuNTc4LTEuNzUgMS4wNjItLjU5NCAyLjMxMi0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MiAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMy0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNi44OS0uNzgxLjg5MS0uNzgxIDIuODEzIDAgMS45NTMuNzUgMi44NDQuNzUuODc1IDEuOTUzLjg3NS45NjkgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em0xLjkyMiAzLjU0N2wzLjUzMi01LjAzMS0zLjI2Ni00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNS0xLjA2M2wxLjY0LTIuMjhoMS45NTNsLTMuMzQzIDQuNTQ2IDMuNTkzIDUuMTI1aC0yLjAxNWwtMS45ODUtMy0uNTE1LS44MTItMi41NDcgMy44MTJ6TTczOC41MzEgNDY0Ljkydi0xMy4zNmg5LjAxNnYxLjU3OWgtNy4yNXY0LjE0aDYuMjY1djEuNTc4aC02LjI2NXY2LjA2M3ptMTEuMS0xMS40Njl2LTEuODloMS42NHYxLjg5em0wIDExLjQ2OXYtOS42NzJoMS42NHY5LjY3MnptNC4xNDQgMHYtOS42NzJoMS40Njl2MS4zNzVxMS4wNjItMS41OTQgMy4wNzgtMS41OTQuODc1IDAgMS42MS4zMTMuNzM0LjMxMiAxLjA5My44MjguMzc1LjUuNTE2IDEuMjAzLjA5My40NTMuMDkzIDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjAzLTEuNDg1LS4xODgtLjUtLjY3Mi0uNzk3LS40ODUtLjI5Ny0xLjE0LS4yOTctMS4wNDggMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE2LjY4OC0xLjE4OHEtLjkyMi43NjYtMS43NjUgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI4LTEuMjk3LjMyOS0uNTk0Ljg0NC0uOTM3LjUzMS0uMzYgMS4xODgtLjU0Ny40NjgtLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNSAyLjkyMi0uNTYzLjAxNS0uMzQzLjAxNS0uNDIyIDAtMS0uNDY4LTEuNDIxLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU3IDAtMS43MDQuNDA2LS41NDYuNDA2LS44MTIgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTItLjk4NS45NTQtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzguMjgxIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDRxLS4yNjUtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcxcS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzOC4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIxOS4zNDQtLjIxOS43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzOCAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5NC0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptNC4xNTcgNC44NTl2LTEzLjM2aDEuNjR2MTMuMzZ6bTguOTg0LTQuMjk3bDEuNjU2LS4xNHEuMTI1IDEgLjU0NyAxLjY0LjQzOC42NCAxLjM0NCAxLjA0Ny45MjIuMzkgMi4wNjIuMzkgMSAwIDEuNzgyLS4yOTYuNzgxLS4yOTcgMS4xNTYtLjgxMy4zNzUtLjUzMS4zNzUtMS4xNTYgMC0uNjI1LS4zNzUtMS4wOTQtLjM2LS40NjktMS4xODgtLjc5Ny0uNTQ2LS4yMDMtMi4zOS0uNjQtMS44MjgtLjQ1My0yLjU2My0uODQ0LS45NjgtLjUtMS40MzctMS4yMzQtLjQ2OS0uNzUtLjQ2OS0xLjY3MiAwLTEgLjU3OC0xLjg3NS41NzgtLjg5IDEuNjcyLTEuMzQ0IDEuMTEtLjQ1MyAyLjQ1My0uNDUzIDEuNDg1IDAgMi42MS40ODQgMS4xNC40NjkgMS43NSAxLjQwNi42MDkuOTIyLjY1NiAyLjA5NGwtMS42ODguMTI1cS0uMTQtMS4yNjUtLjkzNy0xLjkwNi0uNzgxLS42NTYtMi4zMTMtLjY1Ni0xLjYwOSAwLTIuMzQzLjU5My0uNzM1LjU5NC0uNzM1IDEuNDIyIDAgLjcyLjUzMSAxLjE3Mi41LjQ2OSAyLjY1Ny45NjkgMi4xNTYuNDg0IDIuOTUzLjg0NCAxLjE3Mi41MzEgMS43MTkgMS4zNi41NjIuODI3LjU2MiAxLjkwNSAwIDEuMDYzLS42MSAyLjAxNi0uNjA5LjkzNy0xLjc1IDEuNDY5LTEuMTQuNTE1LTIuNTc3LjUxNS0xLjgxMyAwLTMuMDQ3LS41My0xLjIxOS0uNTMyLTEuOTIyLTEuNTk1LS42ODgtMS4wNjItLjcxOS0yLjQwNnptMTYuNDEyIDIuODI4bC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgyLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgyLjMyOC4yMDMuMTEuNTc4LjExLjI2NSAwIC43MTgtLjA2M3ptNy45MTguMjgxcS0uOTIyLjc2Ni0xLjc2NiAxLjA5NC0uODI4LjMxMy0xLjc5Ni4zMTMtMS41OTQgMC0yLjQ1NC0uNzgyLS44NTktLjc4LS44NTktMS45ODQgMC0uNzE5LjMyOC0xLjI5Ny4zMjgtLjU5NC44NDQtLjkzNy41MzEtLjM2IDEuMTg3LS41NDcuNDctLjEyNSAxLjQ1NC0uMjUgMS45ODQtLjIzNSAyLjkyMS0uNTYzLjAxNi0uMzQzLjAxNi0uNDIyIDAtMS0uNDY5LTEuNDIxLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTIgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTItLjk4NS45NTMtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNS4yOTcuNzgyLjI4MSAxLjE0MS43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOC41OTQuNDA1IDEuMTU3aC0xLjcwM3EtLjI2NS0uNTE2LS4zMjgtMS4xODh6bS0uMTQtMy42NzFxLS44OTEuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzOC4zMjgtLjQyMi4xODctLjY1Ni41MzEtLjIxOS4zNDQtLjIxOS43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzOCAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0MXptNy43ODEgMy4zOWwuMjM1IDEuNDUzcS0uNjg4LjE0MS0xLjIzNS4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1NnYxLjI2NmgtMS42NTZ2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4Mi4zMjguMjAzLjExLjU3OC4xMS4yNjUgMCAuNzE4LS4wNjN6bTguMjMtMS42NGwxLjY4OC4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU3IDEuMzI4IDEuMjM0IDEuMzEzIDEuMjM0IDMuNzA0di40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA3IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODEtLjk1My0yLjAzMS0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNzY2IDIxMS40OTJoNTMuMDA4VjI2NC41SDc2NnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NjYgMjExLjQ5Mmg1My4wMDhWMjY0LjVINzY2eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik03NzYuMjE5IDI0NC45MTZ2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMi4zMjctLjYwOS44OS0uMjgxLjg3NS0uMjgxIDEuOTIydjUuMDYyem0xMi41NC0xLjE4N3EtLjkyMS43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzQgMi45MjItLjU2My4wMTUtLjM0My4wMTUtLjQyMSAwLTEtLjQ2OC0xLjQyMi0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NyAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE1LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMS4wNzguNDIuMDc4IDEuNTE1djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg3em0tLjE0LTMuNjcycS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTMuNDM4LjkzNyAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0em0zLjExIDQuODZsMy41MzEtNS4wMzItMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEyLTIuNTQ3IDMuODEyeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0zMCA0OTZoMTM3LjAwOCIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0zMCA0OTZoMTI1LjAwOCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE1NS4wMDggNDk5LjMwM2w5LjA3Ni0zLjMwMy05LjA3Ni0zLjMwM3oiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTIzLjQzOCA0OTBoMTMzLjEzNHYyOEgyMy40Mzh6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTM3LjE3OSA1MTQuMDNsMS42MjUtLjI1cS4xMjUuOTY4Ljc1IDEuNS42MjUuNTE1IDEuNzUuNTE1dDEuNjcyLS40NTNxLjU0Ny0uNDY5LjU0Ny0xLjA5NCAwLS41NDctLjQ4NS0uODc1LS4zMjgtLjIxOS0xLjY3Mi0uNTQ3LTEuODEyLS40NjktMi41MTUtLjc5Ny0uNjg4LS4zMjgtMS4wNDctLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQxLjI5Ny0xLjE4OC4yOTctLjU2Mi44MTMtLjkyMi4zNzUtLjI4MSAxLjAzMS0uNDY5LjY3Mi0uMjAzIDEuNDIyLS4yMDMgMS4xNCAwIDIgLjMyOC44Ni4zMjkgMS4yNjYuODkxLjQyMi41NjMuNTc4IDEuNWwtMS42MS4yMTlxLS4xMDktLjc1LS42NC0xLjE3Mi0uNTE2LS40MjItMS40NjktLjQyMi0xLjE0IDAtMS42MjUuMzc1LS40NjkuMzc1LS40NjkuODc1IDAgLjMxMy4xODguNTc4LjIwMy4yNjYuNjQuNDM4LjIzNS4wOTMgMS40MzguNDIyIDEuNzUuNDUzIDIuNDM3Ljc1LjY4OC4yOTYgMS4wNzkuODU5LjM5LjU2Mi4zOSAxLjQwNiAwIC44MjgtLjQ4NCAxLjU0Ny0uNDY5LjcxOS0xLjM3NSAxLjEyNS0uOTA2LjM5LTIuMDQ3LjM5LTEuODc1IDAtMi44NzUtLjc4LS45ODQtLjc4Mi0xLjI1LTIuMzI5em0xMy41NjIgMS40MjFsLjIzNSAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODIuMzI4LjIwMy4xMS41NzguMTEuMjY1IDAgLjcxOC0uMDYzem03LjkxOC4yODFxLS45MjIuNzY2LTEuNzY1IDEuMDk0LS44MjkuMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOC0xLjI5Ny4zMjgtLjU5NC44NDQtLjkzNy41MzEtLjM2IDEuMTg4LS41NDcuNDY4LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTUtLjM0My4wMTUtLjQyMiAwLTEtLjQ2OS0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEyIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUyLS45ODUuOTUzLS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTUuMjk3Ljc4Mi4yODEgMS4xNDEuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNSAxLjE1N2gtMS43MDNxLS4yNjUtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcxcS0uODkxLjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzguMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMTkuMzQ0LS4yMTkuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzggMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTQuMTg4IDQuODU5di05LjY3MmgxLjQ2OHYxLjQ2OXEuNTYzLTEuMDMxIDEuMDMyLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIyLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTkuODA2LTEuNDY5bC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgyLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43Mi0uMDYzem03LjE4IDEuNDY5di04LjQwNmgtMS40NTR2LTEuMjY2aDEuNDUzdi0xLjAzMXEwLS45NjkuMTcyLTEuNDUzLjIzNS0uNjQuODI4LTEuMDMyLjU5NC0uMzkgMS42NzItLjM5LjY4OCAwIDEuNTMxLjE1NmwtLjI1IDEuNDM4cS0uNS0uMDk0LS45NTMtLjA5NC0uNzUgMC0xLjA2Mi4zMjgtLjMxMy4zMTMtLjMxMyAxLjE4OHYuODloMS44OXYxLjI2NmgtMS44OXY4LjQwNnptMTEuMTIgMHYtMS40MjJxLTEuMTI1IDEuNjQtMy4wNjIgMS42NC0uODYgMC0xLjYxLS4zMjctLjczNC0uMzI5LTEuMDk0LS44MjktLjM1OS0uNS0uNS0xLjIxOC0uMTA5LS40NjktLjEwOS0xLjUzMnYtNS45ODRoMS42NHY1LjM2cTAgMS4yOC4xMSAxLjczNC4xNTYuNjQuNjU2IDEuMDE1LjUuMzc1IDEuMjM1LjM3NS43MzQgMCAxLjM3NS0uMzc1LjY1Ni0uMzkuOTIyLTEuMDMuMjY1LS42NTcuMjY1LTEuODkxdi01LjE4OGgxLjY0djkuNjcyem00LjA0OCAwdi05LjY3MmgxLjQ2OHYxLjM3NXExLjA2My0xLjU5NCAzLjA3OS0xLjU5NC44NzUgMCAxLjYwOS4zMTMuNzM0LjMxMiAxLjA5NC44MjguMzc1LjUuNTE1IDEuMjAzLjA5NC40NTMuMDk0IDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjA0LTEuNDg1LS4xODctLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE2LjY4OC0zLjU0N2wxLjYxLjIxOXEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcyLjkzNy0xLjk4NCAwLTMuMTg3LTEuMjk3LTEuMjA0LTEuMjk3LTEuMjA0LTMuNzE5IDAtMS41NzguNTE2LTIuNzV0MS41NzgtMS43NXExLjA2My0uNTk0IDIuMzEzLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgxIDIuMjY2bC0xLjU5NC4yMzRxLS4yMzQtLjk2OS0uODEyLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODIuODkxLS43ODIgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk3IDAgMS42MS0uNTk0LjY1Ni0uNTk0LjgyOC0xLjgyOHptNi41OTQgMi4wNzhsLjIzNCAxLjQ1M3EtLjY4Ny4xNDEtMS4yMzQuMTQxLS44OTEgMC0xLjM5MS0uMjgxLS40ODQtLjI4Mi0uNjg3LS43MzUtLjIwNC0uNDY4LS4yMDQtMS45Mzd2LTUuNTc4aC0xLjIwM3YtMS4yNjZoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1N3YxLjI2NmgtMS42NTd2NS42NzJxMCAuNjg3LjA3OC44OS4wOTQuMjAzLjI4Mi4zMjguMjAzLjExLjU3OC4xMS4yNjUgMCAuNzE5LS4wNjN6bTEuNjA1LTEwdi0xLjg5aDEuNjR2MS44OXptMCAxMS40Njl2LTkuNjcyaDEuNjR2OS42NzJ6bTMuNTM1LTQuODQ0cTAtMi42ODcgMS40ODUtMy45NjkgMS4yNS0xLjA3OCAzLjA0Ny0xLjA3OCAyIDAgMy4yNjUgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOC41OTQtMi4wMzIgMC0zLjI4Mi0xLjI5Ny0xLjI1LTEuMzEzLTEuMjUtMy43NjZ6bTEuNjg4IDBxMCAxLjg2Ljc5NyAyLjc5Ny44MTIuOTIyIDIuMDQ3LjkyMiAxLjIxOCAwIDIuMDMtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ny0uODEyLTIuNzE4LS44MTMtLjkyMi0yLjAzMS0uOTIyLTEuMjM1IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTkuMjk3IDQuODQ0di05LjY3MmgxLjQ3djEuMzc1cTEuMDYyLTEuNTk0IDMuMDc3LTEuNTk0Ljg3NSAwIDEuNjEuMzEzLjczNC4zMTIgMS4wOTMuODI4LjM3NS41LjUxNiAxLjIwMy4wOTQuNDUzLjA5NCAxLjU5NHY1Ljk1M2gtMS42NDF2LTUuODlxMC0xLS4yMDMtMS40ODUtLjE4OC0uNS0uNjcyLS43OTctLjQ4NC0uMjk3LTEuMTQtLjI5Ny0xLjA0NyAwLTEuODEzLjY3Mi0uNzUuNjU2LS43NSAyLjUxNnY1LjI4MXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTgyIDQ5NmgxMzcuMDA4IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4MiA0OTZoMTI1LjAwOCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTMwNy4wMDggNDk5LjMwM2w5LjA3Ni0zLjMwMy05LjA3Ni0zLjMwM3oiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0Ii8+PHBhdGggZD0iTTE3MyA0OTBoMTM3Ljk4NHYyOEgxNzN6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTIwNS41NzQgNTE3LjcxN2wxLjU5NC4yMzRxLjExLjc1LjU2MiAxLjA3OC42MS40NTMgMS42NzIuNDUzIDEuMTQgMCAxLjc1LS40NTMuNjI1LS40NTMuODQ0LTEuMjY1LjEyNS0uNS4xMS0yLjExLTEuMDYzIDEuMjY2LTIuNjcyIDEuMjY2LTIgMC0zLjA5NC0xLjQzOC0xLjA5NC0xLjQzNy0xLjA5NC0zLjQ1MyAwLTEuMzkuNS0yLjU2Mi41MTYtMS4xNzIgMS40NTMtMS43OTcuOTUzLS42NCAyLjI1LS42NCAxLjcwMyAwIDIuODEzIDEuMzc0di0xLjE1NmgxLjUxNXY4LjM2cTAgMi4yNjUtLjQ2OCAzLjIwMy0uNDU0LjkzNy0xLjQ1NCAxLjQ4NC0uOTg0LjU0Ny0yLjQ1My41NDctMS43MTggMC0yLjc5Ny0uNzgxLTEuMDYyLS43NjYtMS4wMy0yLjM0NHptMS4zNi01LjgxM3EwIDEuOTA3Ljc1IDIuNzgyLjc2NS44NzUgMS45MDYuODc1IDEuMTI1IDAgMS44OS0uODYuNzY2LS44NzUuNzY2LTIuNzM0IDAtMS43ODEtLjc5Ny0yLjY3Mi0uNzgxLS45MDYtMS44OS0uOTA2LTEuMDk0IDAtMS44Ni44OS0uNzY1Ljg3NS0uNzY1IDIuNjI1em0xNS45NTMgMS45MDdsMS42ODguMjAzcS0uNDA2IDEuNDg0LTEuNDg0IDIuMzEyLTEuMDc5LjgxMy0yLjc2Ni44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNC0xLjMxMy0xLjIzNC0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjUtMS4zNDQgMy4yNjUtMS4zNDQgMS45MzggMCAzLjE1NiAxLjMyOCAxLjIzNSAxLjMxMyAxLjIzNSAzLjcwNHYuNDM3aC03LjIxOXEuMDk0IDEuNTk0LjkwNiAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTUtMS41MTV6bS01LjM5LTIuNjU3aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgxLS45NTMtMi4wMzEtLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTEyLjcyIDQuMjk3bC4yMzQgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgyLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43Mi0uMDYzem0uMDg5IDUuMTcydi0xLjE4N2gxMC44NnYxLjE4N3ptMTEuODQ0LTMuNzAzdi0xMy4zNmgxLjY0djEzLjM2em0zLjU4My00Ljg0NHEwLTIuNjg3IDEuNDg0LTMuOTY5IDEuMjUtMS4wNzggMy4wNDctMS4wNzggMiAwIDMuMjY2IDEuMzEzIDEuMjY1IDEuMjk3IDEuMjY1IDMuNjEgMCAxLjg1OS0uNTYyIDIuOTM3LS41NjMgMS4wNjItMS42NDEgMS42NTYtMS4wNjMuNTk0LTIuMzI4LjU5NC0yLjAzMSAwLTMuMjgxLTEuMjk3LTEuMjUtMS4zMTMtMS4yNS0zLjc2NnptMS42ODcgMHEwIDEuODYuNzk3IDIuNzk3LjgxMy45MjIgMi4wNDcuOTIyIDEuMjE5IDAgMi4wMzEtLjkyMi44MTMtLjkzNy44MTMtMi44NDQgMC0xLjc5Ny0uODEzLTIuNzE4LS44MTItLjkyMi0yLjAzMS0uOTIyLTEuMjM0IDAtMi4wNDcuOTIyLS43OTcuOTA2LS43OTcgMi43NjV6bTE1LjYxIDEuMjk3bDEuNjEuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzIuOTM3LTEuOTg0IDAtMy4xODctMS4yOTctMS4yMDMtMS4yOTctMS4yMDMtMy43MTkgMC0xLjU3OC41MTUtMi43NS41MTYtMS4xNzIgMS41NzgtMS43NSAxLjA2My0uNTk0IDIuMzEzLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgxIDIuMjY2bC0xLjU5My4yMzRxLS4yMzUtLjk2OS0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OCAwIDEuNjEtLjU5NC42NTUtLjU5NC44MjctMS44Mjh6bTkuMzI4IDIuMzZxLS45MjIuNzY1LTEuNzY1IDEuMDkzLS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOC0xLjI5Ny4zMjktLjU5NC44NDQtLjkzNy41MzEtLjM2IDEuMTg4LS41NDcuNDY4LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTUtLjM0My4wMTUtLjQyMiAwLTEtLjQ2OC0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NyAwLTEuNzA0LjQwNi0uNTQ2LjQwNi0uODEyIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUyLS45ODUuOTU0LS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4LjI4MSAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDYgMS4xNTdoLTEuNzA0cS0uMjY1LS41MTYtLjMyOC0xLjE4OHptLS4xNC0zLjY3MnEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzguMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMTkuMzQ0LS4yMTkuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzggMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTQuMTU3IDQuODU5di0xMy4zNmgxLjY0djEzLjM2eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0zMzQgNDk2aDEzNy4wMDgiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMzM0IDQ5NmgxMjUuMDA4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDU5LjAwOCA0OTkuMzAzbDkuMDc2LTMuMzAzLTkuMDc2LTMuMzAzeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzI1IDQ5MGgxMzcuOTg0djI4SDMyNXoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMzU3LjU3NCA1MTcuNzE3bDEuNTk0LjIzNHEuMTEuNzUuNTYyIDEuMDc4LjYxLjQ1MyAxLjY3Mi40NTMgMS4xNCAwIDEuNzUtLjQ1My42MjUtLjQ1My44NDQtMS4yNjUuMTI1LS41LjExLTIuMTEtMS4wNjMgMS4yNjYtMi42NzIgMS4yNjYtMiAwLTMuMDk0LTEuNDM4LTEuMDk0LTEuNDM3LTEuMDk0LTMuNDUzIDAtMS4zOS41LTIuNTYyLjUxNi0xLjE3MiAxLjQ1My0xLjc5Ny45NTMtLjY0IDIuMjUtLjY0IDEuNzAzIDAgMi44MTMgMS4zNzR2LTEuMTU2aDEuNTE1djguMzZxMCAyLjI2NS0uNDY4IDMuMjAzLS40NTQuOTM3LTEuNDU0IDEuNDg0LS45ODQuNTQ3LTIuNDUzLjU0Ny0xLjcxOCAwLTIuNzk3LS43ODEtMS4wNjItLjc2Ni0xLjAzLTIuMzQ0em0xLjM2LTUuODEzcTAgMS45MDcuNzUgMi43ODIuNzY1Ljg3NSAxLjkwNi44NzUgMS4xMjUgMCAxLjg5LS44Ni43NjYtLjg3NS43NjYtMi43MzQgMC0xLjc4MS0uNzk3LTIuNjcyLS43ODEtLjkwNi0xLjg5LS45MDYtMS4wOTQgMC0xLjg2Ljg5LS43NjUuODc1LS43NjUgMi42MjV6bTE1Ljk1MyAxLjkwN2wxLjY4OC4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzkuODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU2IDEuMzI4IDEuMjM1IDEuMzEzIDEuMjM1IDMuNzA0di40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA2IDIuNDUzLjgxMy44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNS0xLjUxNXptLTUuMzktMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODEtLjk1My0yLjAzMS0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptMTIuNzIgNC4yOTdsLjIzNCAxLjQ1M3EtLjY4OC4xNDEtMS4yMzUuMTQxLS44OSAwLTEuMzktLjI4MS0uNDg1LS4yODItLjY4OC0uNzM1LS4yMDMtLjQ2OC0uMjAzLTEuOTM3di01LjU3OGgtMS4yMDN2LTEuMjY2aDEuMjAzdi0yLjM5bDEuNjI1LS45ODV2My4zNzVoMS42NTZ2MS4yNjZoLTEuNjU2djUuNjcycTAgLjY4Ny4wNzguODkuMDk0LjIwMy4yODEuMzI4LjIwMy4xMS41NzguMTEuMjY2IDAgLjcyLS4wNjN6bS4wODkgNS4xNzJ2LTEuMTg3aDEwLjg2djEuMTg3em0xMS44NDQtMy43MDN2LTEzLjM2aDEuNjR2MTMuMzZ6bTMuNTgzLTQuODQ0cTAtMi42ODcgMS40ODQtMy45NjkgMS4yNS0xLjA3OCAzLjA0Ny0xLjA3OCAyIDAgMy4yNjUgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU5LS41NjIgMi45MzctLjU2MyAxLjA2Mi0xLjY0MSAxLjY1Ni0xLjA2My41OTQtMi4zMjguNTk0LTIuMDMxIDAtMy4yODEtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4NyAwcTAgMS44Ni43OTcgMi43OTcuODEyLjkyMiAyLjA0Ny45MjIgMS4yMTkgMCAyLjAzMS0uOTIyLjgxMy0uOTM3LjgxMy0yLjg0NCAwLTEuNzk3LS44MTMtMi43MTgtLjgxMi0uOTIyLTIuMDMxLS45MjItMS4yMzUgMC0yLjA0Ny45MjItLjc5Ny45MDYtLjc5NyAyLjc2NXptMTUuNjEgMS4yOTdsMS42MS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3Mi45MzctMS45ODQgMC0zLjE4Ny0xLjI5Ny0xLjIwMy0xLjI5Ny0xLjIwMy0zLjcxOSAwLTEuNTc4LjUxNS0yLjc1LjUxNi0xLjE3MiAxLjU3OC0xLjc1IDEuMDYzLS41OTQgMi4zMTMtLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODEgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY5LS44MTItMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4Mi44OTEtLjc4MiAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1NC44NzUuOTY4IDAgMS42MDktLjU5NC42NTYtLjU5NC44MjgtMS44Mjh6bTkuMzI4IDIuMzZxLS45MjIuNzY1LTEuNzY1IDEuMDkzLS44MjkuMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOC0xLjI5Ny4zMjgtLjU5NC44NDQtLjkzNy41MzEtLjM2IDEuMTg4LS41NDcuNDY4LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTUtLjM0My4wMTUtLjQyMiAwLTEtLjQ2OS0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEyIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUyLS45ODUuOTUzLS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTUuMjk3Ljc4Mi4yODEgMS4xNDEuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNSAxLjE1N2gtMS43MDNxLS4yNjUtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcycS0uODkxLjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzguMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMTkuMzQ0LS4yMTkuNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzggMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTQtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTQuMTU3IDQuODU5di0xMy4zNmgxLjY0djEzLjM2eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik00ODYgNDk2aDEzNy4wMDgiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNDg2IDQ5NmgxMjUuMDA4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjExLjAwOCA0OTkuMzAzbDkuMDc2LTMuMzAzLTkuMDc2LTMuMzAzeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNNDc3IDQ5MGgxMzcuOTg0djI4SDQ3N3oiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNTE2LjYyMyA1MDUuNDUxdi0xLjg5aDEuNjR2MS44OXptMCAxMS40Njl2LTkuNjcyaDEuNjR2OS42NzJ6bTMuNjkyLTMuNTMxbDEuNjQtLjIxOXEuMjgyIDEuNDA2Ljk1NCAyLjAxNi42ODcuNjA5IDEuNjU2LjYwOSAxLjE1NiAwIDEuOTUzLS43OTcuNzk3LS43OTcuNzk3LTEuOTg0IDAtMS4xMjUtLjczNS0xLjg2LS43MzQtLjczNC0xLjg3NS0uNzM0LS40NjggMC0xLjE1Ni4xNzJsLjE4OC0xLjQzOHEuMTU2LjAxNi4yNjUuMDE2IDEuMDQ3IDAgMS44NzUtLjU0Ny44NDQtLjU0Ny44NDQtMS42NzIgMC0uOTA2LS42MS0xLjUtLjYwOS0uNTk0LTEuNTc3LS41OTQtLjk1NCAwLTEuNTk0LjYxLS42NC41OTQtLjgxMyAxLjc5N2wtMS42NC0uMjk3cS4yOTctMS42NCAxLjM2LTIuNTQ3IDEuMDYyLS45MDYgMi42NTUtLjkwNiAxLjA5NCAwIDIgLjQ2OC45MjIuNDcgMS40MDcgMS4yODIuNS44MTIuNSAxLjcxOCAwIC44Ni0uNDcgMS41NzktLjQ2OC43MDMtMS4zNzQgMS4xMjUgMS4xODcuMjggMS44NDQgMS4xNC42NTYuODYuNjU2IDIuMTU2IDAgMS43MzUtMS4yODEgMi45NTQtMS4yNjYgMS4yMTgtMy4yMiAxLjIxOC0xLjc2NSAwLTIuOTIxLTEuMDQ3LTEuMTU2LTEuMDQ2LTEuMzI4LTIuNzE4em0xOC45ODUgMS45NTN2MS41NzhoLTguODI4cS0uMDE2LS41OTQuMTg3LTEuMTQuMzQ0LS45MDcgMS4wNzgtMS43ODIuNzUtLjg3NSAyLjE1Ny0yLjAxNiAyLjE3Mi0xLjc4IDIuOTM3LTIuODI4Ljc2Ni0xLjA0Ny43NjYtMS45NjggMC0uOTg1LS43MDMtMS42NDEtLjY4OC0uNjcyLTEuODEzLS42NzItMS4xODcgMC0xLjkwNi43MTktLjcwMy43MDMtLjcwMyAxLjk1M2wtMS42ODgtLjE3MnEuMTcyLTEuODkgMS4yOTctMi44NzUgMS4xNC0uOTg0IDMuMDMxLS45ODQgMS45MjIgMCAzLjA0NyAxLjA2MiAxLjEyNSAxLjA2MyAxLjEyNSAyLjY0IDAgLjc5OC0uMzI4IDEuNTc5LS4zMjguNzgxLTEuMDk0IDEuNjQtLjc1Ljg0NC0yLjUzIDIuMzQ0LTEuNDcgMS4yMzUtMS44OTEgMS42ODgtLjQyMi40MzctLjY4OC44NzV6bTIuNjczIDEuNTc4di0xLjg3NWgxLjg3NXYxLjg3NXptMTEuMDQyLTEuMTg4cS0uOTIyLjc2Ni0xLjc2NSAxLjA5NC0uODI5LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjgtMS4yOTcuMzI4LS41OTQuODQ0LS45MzcuNTMxLS4zNiAxLjE4OC0uNTQ3LjQ2OC0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE1LS4zNDMuMDE1LS40MjIgMC0xLS40NjktMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMiAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNi43Mi0xLjY0LjUtLjY0MSAxLjQ1Mi0uOTg1Ljk1My0uMzQ0IDIuMTg4LS4zNDQgMS4yNSAwIDIuMDE1LjI5Ny43ODIuMjgxIDEuMTQxLjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDUgMS4xNTdoLTEuNzAzcS0uMjY1LS41MTYtLjMyOC0xLjE4OHptLS4xNC0zLjY3MXEtLjg5MS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM4LjMyOC0uNDIyLjE4Ny0uNjU2LjUzMS0uMjE5LjM0NC0uMjE5Ljc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1My40MzcuOTM4IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDk0LTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem0xMC40NyA0Ljg1OXYtMS4yMTlxLS45MDcgMS40MzgtMi43MDQgMS40MzgtMS4xNTYgMC0yLjEyNS0uNjQtLjk2OS0uNjQyLTEuNS0xLjc4Mi0uNTMxLTEuMTQtLjUzMS0yLjYyNSAwLTEuNDUzLjQ4NC0yLjYyNS40ODQtMS4xODggMS40MzgtMS44MTMuOTY4LS42MjUgMi4xNzEtLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg4LjM2IDEuMTEuOTUzdi00Ljc5NmgxLjY0djEzLjM1OXptLTUuMTczLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgyLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4OCAwLTEuOTg0LS43NjUtMi45MDYtLjc2Ni0uOTM3LTEuODktLjkzNy0xLjA4IDAtMS44MTMuODktLjczNS44OTEtLjczNSAyLjgxM3ptMTUuNTQ4IDQuODI4di0xLjIxOXEtLjkwNiAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4OC4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5MS0uNzM0IDIuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02MzggNDk2aDEzNy4wMDgiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNjM4IDQ5NmgxMjUuMDA4IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNzYzLjAwOCA0OTkuMzAzbDkuMDc2LTMuMzAzLTkuMDc2LTMuMzAzeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNNjI5IDQ5MGgxMzcuOTg0djI4SDYyOXoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNjgwLjU3NSA1MjAuODQycS0xLjM2LTEuNzAzLTIuMjk3LTQtLjkzNy0yLjI5Ny0uOTM3LTQuNzY2IDAtMi4xNTYuNzAzLTQuMTQuODI4LTIuMzEzIDIuNTMxLTQuNTk0aDEuMTcycS0xLjA5NCAxLjg5LTEuNDUzIDIuNzAzLS41NDcgMS4yNS0uODc1IDIuNjI1LS4zOSAxLjcwMy0uMzkgMy40MjIgMCA0LjM3NSAyLjcxOCA4Ljc1em05LjcxMy03LjAzMWwxLjY4Ny4yMDNxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI4IDEuMjM0IDEuMzEzIDEuMjM0IDMuNzA0di40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNyAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODItLjk1My0yLjAzMi0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xNCA1Ljc2NnYtOS42NzJoMS40N3YxLjM3NXExLjA2Mi0xLjU5NCAzLjA3OC0xLjU5NC44NzUgMCAxLjYwOS4zMTMuNzM0LjMxMiAxLjA5NC44MjguMzc1LjUuNTE1IDEuMjAzLjA5NC40NTMuMDk0IDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjA0LTEuNDg1LS4xODctLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE2LjY0MiAwdi0xLjIxOXEtLjkwNiAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NiAwLTIuMTI1LS42NC0uOTY5LS42NDItMS41LTEuNzgyLS41MzEtMS4xNC0uNTMxLTIuNjI1IDAtMS40NTMuNDg0LTIuNjI1LjQ4NC0xLjE4OCAxLjQzOC0xLjgxMy45NjgtLjYyNSAyLjE3MS0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODguMzYgMS4xMS45NTN2LTQuNzk2aDEuNjR2MTMuMzU5em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODIuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2NS0yLjkwNi0uNzY2LS45MzctMS44OTEtLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODkxLS43MzQgMi44MTN6bTEwLjM2IDguNzVoLTEuMTg3cTIuNzM0LTQuMzc1IDIuNzM0LTguNzUgMC0xLjcxOS0uMzktMy4zOS0uMzEzLTEuMzc2LS44NzYtMi42MjYtLjM1OS0uODI4LTEuNDY4LTIuNzM0aDEuMTg3cTEuNzAzIDIuMjgxIDIuNTMxIDQuNTk0LjY4OCAxLjk4NC42ODggNC4xNCAwIDIuNDY5LS45MzggNC43NjYtLjkzNyAyLjI5Ny0yLjI4IDR6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTIyMiA1MzhoNDUyLjY2Nkw3MDIgNTY1LjMzNFY3MDJIMjIyeiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTIyMiA1MzhoNDUyLjY2Nkw3MDIgNTY1LjMzNFY3MDJIMjIyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMzMuMzI4IDU2OC45Mjh2MS4xODdxLjU5NC0uNzAzIDEuMjY2LTEuMDYyLjY3Mi0uMzYgMS41NzgtLjM2Ljk2OSAwIDEuNzgxLjQ1NC44MjguNDUzIDEuMjgxIDEuMjY1LjQ1NC43OTcuNDU0IDEuNjg4IDAgMS40MjItMS4wMTYgMi40MjItMS4wMTYgMS0yLjQ4NCAxLTEuNzY2IDAtMi44Ni0xLjQyMnYzLjk1M2gxLjU5NHEuMjM0IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0zLjEyNXEtLjIzNCAwLS4zNDQtLjA5NC0uMDk0LS4wNzgtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjg3NXYtOC40NjloLS44NzVxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjY4OCAzLjE3MnEwLTEuMTI1LS44MjgtMS45MzgtLjgxMy0uODEyLTItLjgxMi0xLjIwNCAwLTIuMDMyLjgxMi0uODI4LjgxMy0uODI4IDEuOTM4IDAgMS4xNC44MjggMS45NTMuODI4LjgxMiAyLjAzMS44MTIgMS4xNzIgMCAyLS44MTIuODI5LS44MTMuODI5LTEuOTUzem04LjYzMiAzLjU5M3YtLjk2OHEtMS4zNDMgMS4yMzQtMi45MDYgMS4yMzQtLjk1MyAwLTEuNDUzLS41MzEtLjY1Ni0uNjg4LS42NTYtMS42MXYtNC4yMzRoLS44NzVxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDEuNTMxdjQuODlxMCAuNjQxLjQwNiAxLjA2My40MDcuNDA2IDEuMDE2LjQwNiAxLjYxIDAgMi45MzctMS40Njh2LTQuMjM1aC0xLjIwM3EtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDEuODZ2Ni4xMWguNTYycS4yMzUgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM1IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyOC4wOTR6bTkuNTI0LTYuMzQzcTAtLjIxOS4wOTQtLjMxMy4wOTMtLjExLjIzNC0uMTEuMTU2IDAgLjI1LjExLjA5NC4wOTQuMDk0LjMyOHYxLjEyNXEwIC4yMzUtLjA5NC4zNDQtLjA5NC4wOTQtLjI1LjA5NC0uMTI1IDAtLjIxOS0uMDc4LS4wOTMtLjA5NC0uMTEtLjI4Mi0uMDQ2LS40NjgtLjQ4NC0uNzgtLjY0LS40MzgtMS42ODctLjQzOC0xLjExIDAtMS43MTkuNDUzLS40NTMuMzI4LS40NTMuNzUgMCAuNDY5LjU0Ny43ODEuMzc1LjIxOSAxLjQyMi4zMjggMS4zNi4xNTYgMS44OS4zNDQuNzY2LjI2NiAxLjEyNS43NS4zNzUuNDg0LjM3NSAxLjA0NyAwIC44NDQtLjgxMiAxLjUtLjc5Ny42NTYtMi4zNDQuNjU2LTEuNTYyIDAtMi41NDctLjc5NyAwIC4yNjYtLjAzLjM0NC0uMDMyLjA3OC0uMTI2LjE0LS4wNzguMDQ3LS4xNzIuMDQ3LS4xNCAwLS4yMzQtLjA5My0uMDk0LS4xMS0uMDk0LS4zNDR2LTEuMzZxMC0uMjM0LjA3OC0uMzI3LjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNS4xMS4wOTMuMDkzLjA5My4yNSAwIC4zNTkuMTg4LjYwOS4yNjUuMzc1Ljg2LjYyNS42MDkuMjM0IDEuNDY4LjIzNCAxLjI4MSAwIDEuOTA2LS40NjguNjI1LS40ODUuNjI1LTEuMDE2IDAtLjYxLS42MjUtLjk2OS0uNjQtLjM3NS0xLjg3NS0uNS0xLjIxOS0uMTI1LTEuNzUtLjMyOC0uNTMxLS4yMDMtLjgyOC0uNjEtLjI5Ny0uNDA2LS4yOTctLjg3NCAwLS44NDQuODI4LTEuMzI4LjgyOC0uNSAxLjk4NS0uNSAxLjM2IDAgMi4yMDMuNjU2em01LjI3My0zLjQ2OXY0LjA0N3EuNjI1LS42ODggMS4yMDMtLjk1My41NzktLjI4MiAxLjI4Mi0uMjgyLjc2NSAwIDEuMjk3LjI2Ni41NDYuMjY2LjkwNi44MjguMzYuNTYzLjM2IDEuMTcydjQuMDc4aC43MzRxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M2gtMi4xNDFxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGguNzM0di00LjAzMXEwLS43MDMtLjUxNS0xLjE3Mi0uNS0uNDg0LTEuNDIyLS40ODQtLjcxOSAwLTEuMjE5LjM0My0uMzc1LjI1LTEuMjE5IDEuMTg4djQuMTU2aC43NXEuMjM1IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC0yLjE0cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjczNHYtOC40ODRoLS44NzVxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDk0LS4wOTMtLjI1IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTIwLjU3OCAzLjA0N3YxLjY1NnExLjI4Mi0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTk0IDAgMS4wOTQuNDA2LjUuMzkuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMi0uMDQ3LS4wMy0uMTg4LS4xNzEtLjI4MS0uMjgyLS40ODQtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0OC4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODd2My41OTRoMi45MDdxLjI1IDAgLjM0My4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zNDMuMDkzaC01LjE0cS0uMjM1IDAtLjM0NS0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTI1LjA5My0uMjE4LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4wOTQtLjA5NC4zNDQtLjA5NHptNy45MTQtMy4wNDd2NC4zNnExLjE4OC0xLjU0OCAyLjg3NS0xLjU0OCAxLjQzOCAwIDIuNDU0IDEuMDQ3IDEuMDMgMS4wMzIgMS4wMyAyLjU0NyAwIDEuNTMxLTEuMDQ2IDIuNjEtMS4wMzEgMS4wNjItMi40MzggMS4wNjItMS43MTggMC0yLjg3NS0xLjU2MnYxLjI5NmgtMS41M3EtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC44NzV2LTguNDg0aC0uODc1cS0uMjM0IDAtLjM0NC0uMDk0LS4wOTMtLjA5My0uMDkzLS4yNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjcwNCA2LjQzN3EwLTEuMjM0LS44Ni0yLjA5My0uODQ0LS44NzUtMS45ODQtLjg3NS0xLjE0IDAtMiAuODc1LS44NDQuODYtLjg0NCAyLjA5MyAwIDEuMjUuODQ0IDIuMTEuODYuODYgMiAuODYgMS4xNCAwIDEuOTg0LS44Ni44Ni0uODYuODYtMi4xMXptNi44Mi0uMTcxbDMuMDE2IDIuODlxLjI5NiAwIC4zNzUuMDMxLjA3OC4wMTYuMTI1LjExLjA2Mi4wNzguMDYyLjE4NyAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjcuMDkzaC0yLjExcS0uMjUgMC0uMzYtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS4wNzdsLTIuNTQ3LTIuNDUzLTIuNTQ2IDIuNDUzaDEuMDkzcS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTI1cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTEuMDQ3LS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuMzc1LS4wM2wzLTIuODkxLTIuNjcxLTIuNTYzcS0uMjgyIDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjUtLjExLS4wNjItLjA5My0uMDYyLS4xODcgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzgxcS4yNSAwIC4zNDQuMDk0LjA5My4wOTMuMDkzLjIzNCAwIC4xNC0uMDkzLjIzNC0uMDk0LjA5NC0uMzQ0LjA5NGgtLjc4MWwyLjIxOCAyLjE0IDIuMjItMi4xNGgtLjc4MnEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS43OTdxLjIzNCAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjMuMDc4LS4xNC4xMDktLjA2My4wMzEtLjM0NS4wMzF6bTE4NC45My02LjczNWwtNS4yODIgMTEuMzEzcS0uMTI1LjI5Ny0uMzQzLjI5Ny0uMTI1IDAtLjIzNS0uMTEtLjA5My0uMDkzLS4wOTMtLjIwMyAwLS4wOTQuMDc4LS4yNjZsNS4yOC0xMS4zMTJxLjA3OS0uMTg4LjE1Ny0uMjM0LjA3OC0uMDYzLjE4OC0uMDYzLjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4yMDMgMCAuMDkzLS4wNzguMjY1em05LjYwMSAwbC01LjI4MSAxMS4zMTNxLS4xMjUuMjk3LS4zNDQuMjk3LS4xMjUgMC0uMjM0LS4xMS0uMDk0LS4wOTMtLjA5NC0uMjAzIDAtLjA5NC4wNzgtLjI2Nmw1LjI4MS0xMS4zMTJxLjA3OS0uMTg4LjE1Ny0uMjM0LjA3OC0uMDYzLjE4Ny0uMDYzLjE0IDAgLjIzNS4xMS4wOTMuMDkzLjA5My4yMDMgMCAuMDkzLS4wNzguMjY1em0xOS4yNjYgNC41NjN2MS42MjVxMCAyLjEyNS0xIDMuMzYtLjc5Ny45NjgtMiAuOTY4LS41NzggMC0xLjA5NC0uMjM1LS41LS4yMzQtLjg2LS42NC0uMjM0LS4yNjYtLjUtLjgyOC0uMjY1LS41NzgtLjM5LTEuMDQ3LS4xNzItLjY3Mi0uMTcyLTEuNTc4di0xLjYyNXEwLTIuMTI1IDEtMy4zNi43OTctLjk2OCAyLS45NjguNTc4IDAgMS4wNzguMjM0LjUxNi4yMzQuODc1LjY0LjIzNS4yNjYuNS44NDQuMjY2LjU2My4zOSAxLjAzMi4xNzMuNjcxLjE3MyAxLjU3OHptLS42NTYuMDkzcTAtLjkzNy0uMjY2LTEuNzM0LS4yNS0uNzk3LS41NzgtMS4yODEtLjIwMy0uMjY2LS41MTYtLjQ2OS0uNDM3LS4yNjYtMS0uMjY2LTEuMDk0IDAtMS43MTkgMS4xMjV0LS42MjUgMi42MjV2MS40MzhxMCAuOTM3LjI1IDEuNzUuMjY2Ljc5Ny42MSAxLjI2Ni4xODcuMjY1LjUuNDY4LjQzNy4yODIgMSAuMjgyIDEuMDk0IDAgMS43MTktMS4xMjUuNjI1LTEuMTQxLjYyNS0yLjY0MXpNMjMzLjY3MiA1OTAuNjE1djMuNDIyaDEuMjAzcS4yNSAwIC4zNDQuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDk0LjA5My0uMzQ0LjA5M2gtMi43NXEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE1Ni4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC44OXYtNy44MjhoLS44OXEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE1Ni4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDMuOTY5cTEuMjM0IDAgMi4wNjIuNzgxLjg0NC43NjYuODQ0IDEuNzUgMCAuNzAzLS41MTYgMS4zMjgtLjUxNS42MS0xLjczNCAxLjAzMi43MDMuNDg0IDEuMjAzIDEuMDkzLjUuNjEgMS41OTQgMi41aC41cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0uODc1cS0xLjIxOS0yLjE4Ny0xLjg5LTIuOTIxLS42NTctLjc1LTEuNTMyLTEuMTU3em0wLS42NTZoMS43ODFxLjg2IDAgMS41NjMtLjMxMi43MDMtLjMxMyAxLjAxNS0uNzM1LjMxMy0uNDIyLjMxMy0uODYgMC0uNjU1LS42NTYtMS4yNS0uNjU3LS41OTMtMS42MS0uNTkzaC0yLjQwNnptOS42MDEuMzEzdjMuNzY1aDUuMDQ3VjU5Mi4xcTAtLjIzNS4wNzgtLjMyOC4wOTQtLjExLjI1LS4xMS4xNDEgMCAuMjM1LjExLjA5My4wOTMuMDkzLjMyOHYyLjU5M2gtNy4yNXEtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0My0uMDk0aC44OTF2LTcuODI4aC0uODlxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDMtLjA5NGg2LjkwN3YyLjI1cTAgLjIzNC0uMDk0LjM0NC0uMDk0LjA5NC0uMjM0LjA5NC0uMTU3IDAtLjI1LS4wOTQtLjA3OC0uMTEtLjA3OC0uMzQ0di0xLjU5NGgtNC43MDR2My40MDdoMi4zNDR2LS43MzVxMC0uMjM0LjA5NC0uMzI4LjA5NC0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDk0LjA5NC4zMjh2Mi4xNHEwIC4yMzUtLjA5NC4zNDUtLjA5My4wOTMtLjIzNC4wOTMtLjE1NiAwLS4yNS0uMDkzLS4wOTQtLjExLS4wOTQtLjM0NHYtLjc1em0xMi4xMzMtLjI2NmwzLjExIDQuMDMxaC4yNXEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0yLjExcS0uMjM0IDAtLjM0NC0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTU2LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS4wNDdMMjU1IDU5MC41NTNsLTIuNjg4IDMuNDg0aDEuMDQ3cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMDkzcS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTEuMDYzLS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuNDg1LS4wM2wzLjA3OC00LjAzMi0yLjkzOC0zLjc5N2gtLjI1cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTU2LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDEuNzk3cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyOC4wOTRoLS43MzRsMi41MzEgMy4yNjYgMi41MTYtMy4yNjZoLS43MzVxLS4yNSAwLS4zNi0uMDk0LS4wOTMtLjA5My0uMDkzLS4yMzQgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NGgxLjc5NnEuMjM1IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC0uMjV6bTkuMDcgMi43OTdoLjI4MnEuNDM3IDAgLjc1LjMxMi4zMTIuMzEzLjMxMi43NSAwIC40NTMtLjMyOC43NjYtLjMxMi4yOTctLjczNC4yOTdoLS4yODFxLS40MzggMC0uNzUtLjMxMy0uMzEzLS4zMTItLjMxMy0uNzUgMC0uNDUzLjMxMy0uNzUuMzEyLS4zMTIuNzUtLjMxMnptMTIuNjE4IDEuODloLTEuMDMxbC0xLjg2LTYuNS0xLjgyOCA2LjVoLTEuMDMxbC0uOTY5LTguNDg0aC0uMjM0cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMi40MzdxLjIzNSAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtMS41MzFsLjg2IDcuNzM0IDEuNzgtNi4zNzVoMWwxLjgyOSA2LjM3NS44NDMtNy43MzRoLTEuNTNxLS4yMzUgMC0uMzQ1LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNTYuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgyLjQyMnEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0SDI3OHptMTMuMzI4LTYuNzY1di42NTZxLjg0NC0uODkgMS42ODctLjg5LjUgMCAuODc1LjI2NS4zOTEuMjY2LjY1Ny44MTMuNDM3LS41NDcuODc1LS44MTMuNDUzLS4yNjYuOTA2LS4yNjYuNzE5IDAgMS4xNC40NTQuNTQ3LjU5My41NDcgMS4yOTZ2NC41OTRoLjU2M3EuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0xLjIxOXYtNS4xODdxMC0uNS0uMzEyLS44MjgtLjI5Ny0uMzI4LS42ODgtLjMyOC0uMzYgMC0uNzY1LjI4LS4zOTEuMjY3LS45MDcgMS4wNDh2NC4zNmguNTQ3cS4yMzUgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTEuMjAzdi01LjE0cTAtLjUxNi0uMzEzLS44Ni0uMzEyLS4zNDMtLjY4Ny0uMzQzLS4zNiAwLS43MDMuMjM0LS40NjkuMzEyLTEgMS4wOTR2NC4zNTloLjU2MnEuMjM1IDAgLjMyOS4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyOC4wOTRoLTEuNzY1cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjU0N3YtNS40NTNoLS41NDdxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNS4xMS0uMDkzLjM0NC0uMDkzem0xNi4yNTggMy4zOXEwIDEuNS0xLjA3OCAyLjU3OS0xLjA2MyAxLjA2Mi0yLjU3OSAxLjA2Mi0xLjUzIDAtMi42MDktMS4wNjItMS4wNjItMS4wNzktMS4wNjItMi41NzkgMC0xLjUgMS4wNjItMi41NjIgMS4wNzgtMS4wNjMgMi42MS0xLjA2MyAxLjUxNSAwIDIuNTc4IDEuMDYzIDEuMDc4IDEuMDYyIDEuMDc4IDIuNTYyem0tLjY1NyAwcTAtMS4yMzQtLjg5LTIuMDkzLS44NzUtLjg3NS0yLjEyNS0uODc1dC0yLjEyNS44NzVxLS44NzUuODc1LS44NzUgMi4wOTMgMCAxLjIyLjg3NSAyLjA5NC44NzUuODc1IDIuMTI1Ljg3NXQyLjEyNS0uODZxLjg5LS44NzQuODktMi4xMDl6bTcuMTY0IDMuMzc1aC0xLjEwOWwtMi42ODctNi4xMDloLS42NzJxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuNDUzcS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTEuMDc4bDIuNDA2IDUuNDUzaC4yODFsMi4zNi01LjQ1M2gtMS4wOTRxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuNDY5cS4yNSAwIC4zNDMuMDk0LjA5NC4wOTMuMDk0LjIzNCAwIC4xNC0uMDk0LjIzNC0uMDkzLjA5NC0uMzQzLjA5NGgtLjY1N3ptMTEuNTctNS41Nzh2LTEuMTg3aDEuNTQ4cS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLS44NzV2OC40NjloLjg3NXEuMjM0IDAgLjMyOC4wOTMuMTEuMDk0LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0zLjEyNXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wNzgtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM1LjExLS4wOTMuMzQ0LS4wOTNoMS41NzhWNTkzLjFxLTEuMDc4IDEuNDIyLTIuODQ0IDEuNDIyLTEuNDY5IDAtMi40ODQtMS0xLjAxNi0xLTEuMDE2LTIuNDIyIDAtMS40MjIgMS4wMTYtMi40MDcgMS4wMTUtMSAyLjUtMSAxLjc1IDAgMi44MjggMS40MjJ6bTAgMS45ODVxMC0xLjEyNS0uODI3LTEuOTM4LS44MjgtLjgxMi0yLjAxNi0uODEyLTEuMTg3IDAtMi4wMTYuODEyLS44MjguODEzLS44MjggMS45MzggMCAxLjE0LjgyOCAxLjk1My44MjkuODEyIDIuMDE2LjgxMiAxLjE4OCAwIDIuMDE2LS44MTIuODI4LS44MTMuODI4LTEuOTUzem0xNS44NzYtMy4xNzJ2MS42NTZxMS4yODEtMS4xNTYgMS45MjItMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5MyAwIDEuMDkzLjQwNi41LjM5LjUuNTk0IDAgLjE0LS4wOTMuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0MS0uMDMyLS4wNDctLjAzLS4xODgtLjE3MS0uMjgtLjI4Mi0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDcuMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg3djMuNTk0aDIuOTA2cS4yNSAwIC4zNDQuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDk0LjA5My0uMzQ0LjA5M2gtNS4xNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEyNS4wOTQtLjIxOC4wOTMtLjA5NC4zNDMtLjA5NGgxLjU3OXYtNS40NjloLTEuMjA0cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMDkzLS4wOTQuMzQzLS4wOTR6bTcuOTE0LTMuMDQ3djQuMzZxMS4xODctMS41NDggMi44NzUtMS41NDggMS40MzcgMCAyLjQ1MyAxLjA0NyAxLjAzMSAxLjAzMiAxLjAzMSAyLjU0NyAwIDEuNTMxLTEuMDQ3IDIuNjEtMS4wMyAxLjA2Mi0yLjQzNyAxLjA2Mi0xLjcxOSAwLTIuODc1LTEuNTYydjEuMjk2aC0xLjUzMXEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC44NzV2LTguNDg0aC0uODc1cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjcwMyA2LjQzN3EwLTEuMjM0LS44Ni0yLjA5My0uODQzLS44NzUtMS45ODQtLjg3NS0xLjE0IDAtMiAuODc1LS44NDQuODYtLjg0NCAyLjA5MyAwIDEuMjUuODQ0IDIuMTEuODYuODYgMiAuODYgMS4xNCAwIDEuOTg1LS44Ni44NTktLjg2Ljg1OS0yLjExem0zLjg5OC0zLjM5djEuMTg3cS41OTQtLjcwMyAxLjI2Ni0xLjA2Mi42NzItLjM2IDEuNTc4LS4zNi45NjkgMCAxLjc4MS40NTQuODI5LjQ1MyAxLjI4MiAxLjI2NS40NTMuNzk3LjQ1MyAxLjY4OCAwIDEuNDIyLTEuMDE2IDIuNDIyLTEuMDE1IDEtMi40ODQgMS0xLjc2NiAwLTIuODYtMS40MjJ2My45NTNoMS41OTRxLjIzNSAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NGgtMy4xMjVxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDc4LS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC44NzV2LTguNDY5aC0uODc1cS0uMjM0IDAtLjM0NC0uMDk0LS4wOTMtLjA5My0uMDkzLS4yMzQgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NHptNS42ODggMy4xNzJxMC0xLjEyNS0uODI4LTEuOTM4LS44MTMtLjgxMi0yLS44MTItMS4yMDMgMC0yLjAzMS44MTItLjgyOS44MTMtLjgyOSAxLjkzOCAwIDEuMTQuODI5IDEuOTUzLjgyOC44MTIgMi4wMy44MTIgMS4xNzMgMCAyLS44MTIuODI5LS44MTMuODI5LTEuOTUzem01LjA4NiAxLjIzNGgyLjE0bC0yLjMyOCA0LjMxM3EtLjIwMy4zOS0uNS4zOS0uMjAzIDAtLjM0My0uMTQtLjEyNS0uMTI1LS4xMjUtLjMyOSAwLS4wNzguMDE1LS4xNzF6bTE5LjcxOS00LjQwNnYxLjY1NnExLjI4LTEuMTU2IDEuOTIxLTEuNDg0LjY0MS0uMzQ0IDEuMTcyLS4zNDQuNTk0IDAgMS4wOTQuNDA2LjUuMzkuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMi0uMDQ3LS4wMy0uMTg4LS4xNzEtLjI4MS0uMjgyLS40ODQtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0OC4zNDQtLjU5My4zNDQtMi4wOTMgMS42ODd2My41OTRoMi45MDZxLjI1IDAgLjM0NC4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTUuMTRxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMjUuMDk0LS4yMTguMDkzLS4wOTQuMzQzLS4wOTRoMS41Nzh2LTUuNDY5aC0xLjIwM3EtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjA5My0uMDk0LjM0My0uMDk0em0xMi41NTQuNDIycTAtLjIxOS4wOTQtLjMxMy4wOTQtLjExLjIzNC0uMTEuMTU3IDAgLjI1LjExLjA5NC4wOTQuMDk0LjMyOHYxLjEyNXEwIC4yMzUtLjA5NC4zNDQtLjA5My4wOTQtLjI1LjA5NC0uMTI1IDAtLjIxOC0uMDc4LS4wOTQtLjA5NC0uMTEtLjI4Mi0uMDQ3LS40NjgtLjQ4NC0uNzgtLjY0LS40MzgtMS42ODgtLjQzOC0xLjEwOSAwLTEuNzE4LjQ1My0uNDUzLjMyOC0uNDUzLjc1IDAgLjQ2OS41NDYuNzgxLjM3NS4yMTkgMS40MjIuMzI4IDEuMzYuMTU2IDEuODkuMzQ0Ljc2Ny4yNjYgMS4xMjYuNzUuMzc1LjQ4NC4zNzUgMS4wNDcgMCAuODQ0LS44MTMgMS41LS43OTYuNjU2LTIuMzQzLjY1Ni0xLjU2MyAwLTIuNTQ3LS43OTcgMCAuMjY2LS4wMzEuMzQ0LS4wMzIuMDc4LS4xMjUuMTQtLjA3OS4wNDctLjE3Mi4wNDctLjE0IDAtLjIzNS0uMDkzLS4wOTMtLjExLS4wOTMtLjM0NHYtMS4zNnEwLS4yMzQuMDc4LS4zMjcuMDkzLS4xMS4yNS0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjI1IDAgLjM1OS4xODcuNjA5LjI2Ni4zNzUuODYuNjI1LjYwOS4yMzQgMS40NjguMjM0IDEuMjgyIDAgMS45MDctLjQ2OC42MjUtLjQ4NS42MjUtMS4wMTYgMC0uNjEtLjYyNS0uOTY5LS42NDEtLjM3NS0xLjg3NS0uNS0xLjIyLS4xMjUtMS43NS0uMzI4LS41MzItLjIwMy0uODI4LS42MS0uMjk3LS40MDYtLjI5Ny0uODc0IDAtLjg0NC44MjgtMS4zMjguODI4LS41IDEuOTg0LS41IDEuMzYgMCAyLjIwMy42NTZ6bTQuOTYxLS40MjJ2MS4xODdxLjU5NC0uNzAzIDEuMjY2LTEuMDYyLjY3Mi0uMzYgMS41NzgtLjM2Ljk2OSAwIDEuNzgxLjQ1NC44MjguNDUzIDEuMjgxIDEuMjY1LjQ1NC43OTcuNDU0IDEuNjg4IDAgMS40MjItMS4wMTYgMi40MjItMS4wMTYgMS0yLjQ4NCAxLTEuNzY2IDAtMi44Ni0xLjQyMnYzLjk1M2gxLjU5NHEuMjM0IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0zLjEyNXEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wNzgtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjg3NXYtOC40NjloLS44NzVxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjY4OCAzLjE3MnEwLTEuMTI1LS44MjgtMS45MzgtLjgxMy0uODEyLTItLjgxMi0xLjIwNCAwLTIuMDMyLjgxMi0uODI4LjgxMy0uODI4IDEuOTM4IDAgMS4xNC44MjggMS45NTMuODI5LjgxMiAyLjAzMi44MTIgMS4xNzEgMCAyLS44MTIuODI4LS44MTMuODI4LTEuOTUzem03Ni41NDctNi42ODhsLTUuMjgyIDExLjMxM3EtLjEyNS4yOTctLjM0My4yOTctLjEyNSAwLS4yMzUtLjExLS4wOTMtLjA5My0uMDkzLS4yMDMgMC0uMDk0LjA3OC0uMjY2bDUuMjgtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDEgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDkzLS4wOTQtLjIwMyAwLS4wOTQuMDc4LS4yNjZsNS4yODEtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptMTkuMjY2IDQuNTYzdjEuNjI1cTAgMi4xMjUtMSAzLjM2LS43OTcuOTY4LTIgLjk2OC0uNTc4IDAtMS4wOTQtLjIzNS0uNS0uMjM0LS44Ni0uNjQtLjIzNC0uMjY2LS41LS44MjgtLjI2NS0uNTc4LS4zOS0xLjA0Ny0uMTcyLS42NzItLjE3Mi0xLjU3OHYtMS42MjVxMC0yLjEyNSAxLTMuMzYuNzk3LS45NjggMi0uOTY4LjU3OCAwIDEuMDc4LjIzNC41MTYuMjM0Ljg3NS42NC4yMzUuMjY2LjUuODQ0LjI2Ni41NjMuMzkgMS4wMzIuMTczLjY3MS4xNzMgMS41Nzh6bS0uNjU2LjA5M3EwLS45MzctLjI2Ni0xLjczNC0uMjUtLjc5Ny0uNTc4LTEuMjgxLS4yMDMtLjI2Ni0uNTE2LS40NjktLjQzNy0uMjY2LTEtLjI2Ni0xLjA5NCAwLTEuNzE5IDEuMTI1dC0uNjI1IDIuNjI1djEuNDM4cTAgLjkzNy4yNSAxLjc1LjI2Ni43OTcuNjEgMS4yNjYuMTg3LjI2NS41LjQ2OC40MzcuMjgyIDEgLjI4MiAxLjA5NCAwIDEuNzE5LTEuMTI1LjYyNS0xLjE0MS42MjUtMi42NDF6TTIzMy4zMjggNjA2LjkyOHYxLjE4N3EuNTk0LS43MDMgMS4yNjYtMS4wNjIuNjcyLS4zNiAxLjU3OC0uMzYuOTY5IDAgMS43ODEuNDU0LjgyOC40NTMgMS4yODEgMS4yNjUuNDU0Ljc5Ny40NTQgMS42ODggMCAxLjQyMi0xLjAxNiAyLjQyMi0xLjAxNiAxLTIuNDg0IDEtMS43NjYgMC0yLjg2LTEuNDIydjMuOTUzaDEuNTk0cS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTMuMTI1cS0uMjM0IDAtLjM0NC0uMDk0LS4wOTQtLjA3OC0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGguODc1di04LjQ2OWgtLjg3NXEtLjIzNCAwLS4zNDQtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTUuNjg4IDMuMTcycTAtMS4xMjUtLjgyOC0xLjkzOC0uODEzLS44MTItMi0uODEyLTEuMjA0IDAtMi4wMzIuODEyLS44MjguODEzLS44MjggMS45MzggMCAxLjE0LjgyOCAxLjk1My44MjguODEyIDIuMDMxLjgxMiAxLjE3MiAwIDItLjgxMi44MjktLjgxMy44MjktMS45NTN6bTguNjMyIDMuNTkzdi0uOTY4cS0xLjM0MyAxLjIzNC0yLjkwNiAxLjIzNC0uOTUzIDAtMS40NTMtLjUzMS0uNjU2LS42ODgtLjY1Ni0xLjYxdi00LjIzNGgtLjg3NXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS41MzF2NC44OXEwIC42NDEuNDA2IDEuMDYzLjQwNy40MDYgMS4wMTYuNDA2IDEuNjEgMCAyLjkzNy0xLjQ2OHYtNC4yMzVoLTEuMjAzcS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTRoMS44NnY2LjExaC41NjJxLjIzNSAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzUgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI4LjA5NHptOS41MjQtNi4zNDNxMC0uMjE5LjA5NC0uMzEzLjA5My0uMTEuMjM0LS4xMS4xNTYgMCAuMjUuMTEuMDk0LjA5NC4wOTQuMzI4djEuMTI1cTAgLjIzNS0uMDk0LjM0NC0uMDk0LjA5NC0uMjUuMDk0LS4xMjUgMC0uMjE5LS4wNzgtLjA5My0uMDk0LS4xMS0uMjgyLS4wNDYtLjQ2OC0uNDg0LS43OC0uNjQtLjQzOC0xLjY4Ny0uNDM4LTEuMTEgMC0xLjcxOS40NTMtLjQ1My4zMjgtLjQ1My43NSAwIC40NjkuNTQ3Ljc4MS4zNzUuMjE5IDEuNDIyLjMyOCAxLjM2LjE1NiAxLjg5LjM0NC43NjYuMjY2IDEuMTI1Ljc1LjM3NS40ODQuMzc1IDEuMDQ3IDAgLjg0NC0uODEyIDEuNS0uNzk3LjY1Ni0yLjM0NC42NTYtMS41NjIgMC0yLjU0Ny0uNzk3IDAgLjI2Ni0uMDMuMzQ0LS4wMzIuMDc4LS4xMjYuMTQtLjA3OC4wNDctLjE3Mi4wNDctLjE0IDAtLjIzNC0uMDkzLS4wOTQtLjExLS4wOTQtLjM0NHYtMS4zNnEwLS4yMzQuMDc4LS4zMjcuMDk0LS4xMS4yNS0uMTEuMTQgMCAuMjM1LjExLjA5My4wOTMuMDkzLjI1IDAgLjM1OS4xODguNjA5LjI2NS4zNzUuODYuNjI1LjYwOS4yMzQgMS40NjguMjM0IDEuMjgxIDAgMS45MDYtLjQ2OC42MjUtLjQ4NS42MjUtMS4wMTYgMC0uNjEtLjYyNS0uOTY5LS42NC0uMzc1LTEuODc1LS41LTEuMjE5LS4xMjUtMS43NS0uMzI4LS41MzEtLjIwMy0uODI4LS42MS0uMjk3LS40MDYtLjI5Ny0uODc0IDAtLjg0NC44MjgtMS4zMjguODI4LS41IDEuOTg1LS41IDEuMzYgMCAyLjIwMy42NTZ6bTUuMjczLTMuNDY5djQuMDQ3cS42MjUtLjY4OCAxLjIwMy0uOTUzLjU3OS0uMjgyIDEuMjgyLS4yODIuNzY1IDAgMS4yOTcuMjY2LjU0Ni4yNjYuOTA2LjgyOC4zNi41NjMuMzYgMS4xNzJ2NC4wNzhoLjczNHEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0yLjE0MXEtLjIzNCAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC43MzR2LTQuMDMxcTAtLjcwMy0uNTE1LTEuMTcyLS41LS40ODQtMS40MjItLjQ4NC0uNzE5IDAtMS4yMTkuMzQzLS4zNzUuMjUtMS4yMTkgMS4xODh2NC4xNTZoLjc1cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTRxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGguNzM0di04LjQ4NGgtLjg3NXEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjUgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NHptMjQuMzc1IDQuMDk0djEuNjI1cTAgMi4xMjUtMSAzLjM2LS43OTcuOTY4LTIgLjk2OC0uNTc4IDAtMS4wOTMtLjIzNS0uNS0uMjM0LS44Ni0uNjQtLjIzNC0uMjY2LS41LS44MjgtLjI2NS0uNTc4LS4zOS0xLjA0Ny0uMTcyLS42NzItLjE3Mi0xLjU3OHYtMS42MjVxMC0yLjEyNSAxLTMuMzYuNzk3LS45NjggMi0uOTY4LjU3OCAwIDEuMDc4LjIzNC41MTUuMjM0Ljg3NS42NC4yMzQuMjY2LjUuODQ0LjI2NS41NjMuMzkgMS4wMzIuMTcyLjY3MS4xNzIgMS41Nzh6bS0uNjU2LjA5M3EwLS45MzctLjI2Ni0xLjczNC0uMjUtLjc5Ny0uNTc4LTEuMjgxLS4yMDMtLjI2Ni0uNTE1LS40NjktLjQzOC0uMjY2LTEtLjI2Ni0xLjA5NCAwLTEuNzIgMS4xMjUtLjYyNCAxLjEyNS0uNjI0IDIuNjI1djEuNDM4cTAgLjkzNy4yNSAxLjc1LjI2Ni43OTcuNjEgMS4yNjYuMTg3LjI2NS41LjQ2OC40MzcuMjgyIDEgLjI4MiAxLjA5MyAwIDEuNzE4LTEuMTI1LjYyNS0xLjE0MS42MjUtMi42NDF6bTcuNjk1IDIuMDc5bDMuMDE2IDIuODlxLjI5NyAwIC4zNzUuMDMxLjA3OC4wMTYuMTI1LjExLjA2My4wNzguMDYzLjE4NyAwIC4xNC0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0yLjExcS0uMjUgMC0uMzU5LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuMDc4bC0yLjU0Ny0yLjQ1My0yLjU0NyAyLjQ1M2gxLjA5NHEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0yLjEyNXEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjExLjA0Ny0uMTg3LjA2My0uMDk0LjE0LS4xMS4wNzktLjAzLjM3Ni0uMDNsMy0yLjg5MS0yLjY3Mi0yLjU2M3EtLjI4MSAwLS4zNi0uMDMxLS4wNjItLjAzMS0uMTI0LS4xMS0uMDYzLS4wOTMtLjA2My0uMTg3IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NGgxLjc4cS4yNSAwIC4zNDQuMDk0LjA5NC4wOTMuMDk0LjIzNCAwIC4xNC0uMDk0LjIzNHQtLjM0NC4wOTRoLS43OGwyLjIxOCAyLjE0IDIuMjE5LTIuMTRoLS43ODJxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgxLjc5N3EuMjM1IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4wOTQtLjA2My4xODctLjA2Mi4wNzktLjE0LjExLS4wNjMuMDMxLS4zNDQuMDMxem0xMS4wNCAzLjU0NnYtLjk1M3EtMS40MjIgMS4yMi0zLjA0NyAxLjIyLTEuMTg4IDAtMS44Ni0uNTk1LS42NTYtLjYxLS42NTYtMS40ODQgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcyIDIuNTYyLS43Mi40NTQgMCAuOTg1LjA2My41MzEuMDYzIDEuMTQuMTg4di0xLjA2M3EwLS41NDYtLjUtLjkzNy0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjItLjA5NC0uMDc3LS4wOTMtLjA3Ny0uMjM0IDAtLjE0LjA3OC0uMjE5LjExLS4xMS44NzUtLjMxMiAxLjIxOS0uMzI5IDEuODQ0LS4zMjkgMS4yNSAwIDEuOTM3LjYxLjcwMy42MS43MDMgMS4zOXY0LjM0NGguODc1cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTN6bTAtMy4yNjVxLS40NTQtLjE0LS45Ny0uMjAzLS41MTUtLjA2My0xLjA5My0uMDYzLTEuNDIyIDAtMi4yMzQuNjI1LS42MS40NTMtLjYxIDEuMDk0IDAgLjU5NC40NjkgMXQxLjM2LjQwNnEuODQzIDAgMS41NzctLjMyOC43MzUtLjM0NCAxLjUtMS4wOTR6bTE4My40OTItNy4wMTZsLTUuMjgyIDExLjMxM3EtLjEyNS4yOTctLjM0My4yOTctLjEyNSAwLS4yMzUtLjExLS4wOTMtLjA5NC0uMDkzLS4yMDMgMC0uMDk0LjA3OC0uMjY2bDUuMjgtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDEgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDk0LS4wOTQtLjIwMyAwLS4wOTQuMDc4LS4yNjZsNS4yODEtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptMTkuMjY2IDQuNTYzdjEuNjI1cTAgMi4xMjUtMSAzLjM2LS43OTcuOTY4LTIgLjk2OC0uNTc4IDAtMS4wOTQtLjIzNS0uNS0uMjM0LS44Ni0uNjQtLjIzNC0uMjY2LS41LS44MjgtLjI2NS0uNTc4LS4zOS0xLjA0Ny0uMTcyLS42NzItLjE3Mi0xLjU3OHYtMS42MjVxMC0yLjEyNSAxLTMuMzYuNzk3LS45NjggMi0uOTY4LjU3OCAwIDEuMDc4LjIzNC41MTYuMjM0Ljg3NS42NC4yMzUuMjY2LjUuODQ0LjI2Ni41NjMuMzkgMS4wMzIuMTczLjY3MS4xNzMgMS41Nzh6bS0uNjU2LjA5M3EwLS45MzctLjI2Ni0xLjczNC0uMjUtLjc5Ny0uNTc4LTEuMjgxLS4yMDMtLjI2Ni0uNTE2LS40NjktLjQzNy0uMjY2LTEtLjI2Ni0xLjA5NCAwLTEuNzE5IDEuMTI1dC0uNjI1IDIuNjI1djEuNDM4cTAgLjkzNy4yNSAxLjc1LjI2Ni43OTcuNjEgMS4yNjYuMTg3LjI2NS41LjQ2OC40MzcuMjgyIDEgLjI4MiAxLjA5NCAwIDEuNzE5LTEuMTI1LjYyNS0xLjE0MS42MjUtMi42NDF6TTIzMi44MTMgNjI1LjkyOHYuNjU2cS44NDMtLjg5IDEuNjg3LS44OS41IDAgLjg3NS4yNjUuMzkuMjY2LjY1Ni44MTMuNDM4LS41NDcuODc1LS44MTMuNDUzLS4yNjYuOTA2LS4yNjYuNzIgMCAxLjE0MS40NTQuNTQ3LjU5My41NDcgMS4yOTZ2NC41OTRoLjU2M3EuMjM0IDAgLjMyOC4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyNy4wOTNoLTEuMjJ2LTUuMTg3cTAtLjUtLjMxMi0uODI4LS4yOTctLjMyOC0uNjg3LS4zMjgtLjM2IDAtLjc2Ni4yOC0uMzkuMjY3LS45MDYgMS4wNDh2NC4zNmguNTQ3cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTNoLTEuMjAzdi01LjE0cTAtLjUxNi0uMzEzLS44Ni0uMzEyLS4zNDMtLjY4Ny0uMzQzLS4zNiAwLS43MDMuMjM0LS40Ny4zMTItMSAxLjA5NHY0LjM1OWguNTYycS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTEuNzY2cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTU2LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aC41NDd2LTUuNDUzaC0uNTQ3cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzUuMTA5LS4wOTMuMzQzLS4wOTN6bTE2LjI1NyAzLjM5cTAgMS41LTEuMDc4IDIuNTc5LTEuMDYyIDEuMDYyLTIuNTc4IDEuMDYyLTEuNTMxIDAtMi42MS0xLjA2Mi0xLjA2Mi0xLjA3OS0xLjA2Mi0yLjU3OSAwLTEuNSAxLjA2My0yLjU2MiAxLjA3OC0xLjA2MyAyLjYxLTEuMDYzIDEuNTE1IDAgMi41NzcgMS4wNjMgMS4wNzggMS4wNjIgMS4wNzggMi41NjJ6bS0uNjU2IDBxMC0xLjIzNC0uODktMi4wOTMtLjg3Ni0uODc1LTIuMTI2LS44NzV0LTIuMTI1Ljg3NXEtLjg3NS44NzUtLjg3NSAyLjA5MyAwIDEuMjIuODc1IDIuMDk0Ljg3NS44NzUgMi4xMjUuODc1dDIuMTI1LS44NnEuODkxLS44NzQuODkxLTIuMTA5em03LjE2NCAzLjM3NWgtMS4xMWwtMi42ODctNi4xMDloLS42NzJxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgyLjQ1NHEuMjM0IDAgLjMyOC4wOTQuMTA5LjA5My4xMDkuMjM0IDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjMyNy4wOTRoLTEuMDc5bDIuNDA3IDUuNDUzaC4yOGwyLjM2LTUuNDUzaC0xLjA5NHEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQzLS4wOTRoMi40N3EuMjUgMCAuMzQzLjA5NC4wOTQuMDkzLjA5NC4yMzQgMCAuMTQtLjA5NC4yMzR0LS4zNDQuMDk0aC0uNjU2em05LjM2Ny05LjgxMnY5LjE1NmgyLjU3OHEuMjM1IDAgLjMyOS4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTUuODEycS0uMjM0IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMi41Nzh2LTguNDg0aC0xLjg5cS0uMjM1IDAtLjM0NC0uMDk0LS4xMS0uMDk0LS4xMS0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em0xOC4wNzggMy4wNDd2MS42NTZxMS4yODItMS4xNTYgMS45MjItMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5NCAwIDEuMDk0LjQwNi41LjM5LjUuNTk0IDAgLjE0LS4wOTQuMjUtLjA5My4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0LS4wMzItLjA0Ny0uMDMtLjE4OC0uMTcxLS4yODEtLjI4Mi0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDguMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg3djMuNTk0aDIuOTA3cS4yNSAwIC4zNDMuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzQzLjA5M2gtNS4xNHEtLjIzNSAwLS4zNDUtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjEyNS4wOTMtLjIxOC4wOTQtLjA5NC4zNDQtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM0IDAtLjM0NC0uMDk0LS4wOTMtLjA5My0uMDkzLS4yMzQgMC0uMTQuMDkzLS4yMzQuMDk0LS4wOTQuMzQ0LS4wOTR6bTEzLjEzMy42NTZ2LS4yMTlxMC0uMjM0LjA5NC0uMzI4LjA5NC0uMTEuMjM0LS4xMS4xNDEgMCAuMjM1LjExLjA5My4wOTQuMDkzLjMyOHYxLjQ4NXEwIC4yNS0uMDkzLjM2LS4wOTQuMDkzLS4yMzUuMDkzLS4xNCAwLS4yMzQtLjA5NC0uMDc4LS4wOTQtLjA5NC0uMjk3LS4wNDctLjU2Mi0uNzM0LTEuMDYyLS42ODgtLjUtMS44NDQtLjUtMS40NTMgMC0yLjIxOS45MjItLjc1LjkwNi0uNzUgMi4wOTMgMCAxLjI2Ni44MjkgMi4wOTQuODQzLjgyOCAyLjE3MS44MjguNzY2IDAgMS41NDctLjI4MS43OTctLjI4MSAxLjQzOC0uOTA2LjE3Mi0uMTU3LjI5Ny0uMTU3dC4yMTguMDk0cS4wOTQuMDk0LjA5NC4yMTkgMCAuMzQ0LS43OTcuODYtMS4yNjUuODQzLTIuODI4Ljg0My0xLjU5NCAwLTIuNjEtMS4wMTYtMS4wMTUtMS4wMTUtMS4wMTUtMi41NzggMC0xLjU3OCAxLjAzMS0yLjYyNSAxLjA0Ny0xLjA0NyAyLjY0MS0xLjA0NyAxLjUgMCAyLjUzMS44OTF6bTcuMzA1IDIuNTYzbDMuMDE2IDIuODlxLjI5NiAwIC4zNzUuMDMxLjA3OC4wMTYuMTI1LjExLjA2Mi4wNzguMDYyLjE4NyAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjcuMDkzaC0yLjExcS0uMjUgMC0uMzYtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS4wNzdsLTIuNTQ3LTIuNDUzLTIuNTQ2IDIuNDUzaDEuMDkzcS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTI1cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTEuMDQ3LS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuMzc1LS4wM2wzLTIuODkxLTIuNjcxLTIuNTYzcS0uMjgyIDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjUtLjExLS4wNjItLjA5My0uMDYyLS4xODcgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzgxcS4yNSAwIC4zNDQuMDk0LjA5My4wOTMuMDkzLjIzNCAwIC4xNC0uMDkzLjIzNC0uMDk0LjA5NC0uMzQ0LjA5NGgtLjc4MWwyLjIxOCAyLjE0IDIuMjItMi4xNGgtLjc4MnEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS43OTdxLjIzNCAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjMuMDc4LS4xNC4xMDktLjA2My4wMzEtLjM0NS4wMzF6bTcuODUxIDEuMTg3aDIuMTQxbC0yLjMyOCA0LjMxM3EtLjIwMy4zOS0uNS4zOS0uMjAzIDAtLjM0NC0uMTQtLjEyNS0uMTI1LS4xMjUtLjMyOSAwLS4wNzguMDE2LS4xNzF6bTE5LjcyLTQuNDA2djEuNjU2cTEuMjgtMS4xNTYgMS45MjEtMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5NCAwIDEuMDk0LjQwNi41LjM5LjUuNTk0IDAgLjE0LS4wOTQuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0LS4wMzItLjA0Ny0uMDMtLjE4OC0uMTcxLS4yODEtLjI4Mi0uNDg0LS4zNzUtLjIwNC0uMTEtLjM5MS0uMTEtLjQzOCAwLTEuMDQ3LjM0NC0uNTk0LjM0NC0yLjA5NCAxLjY4N3YzLjU5NGgyLjkwN3EuMjUgMCAuMzQzLjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTUuMTQxcS0uMjM0IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTI1LjA5NC0uMjE4LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNHQuMzQ0LS4wOTR6bTEyLjI3MyA2Ljc2NXYtLjk1M3EtMS40MjIgMS4yMi0zLjA0NyAxLjIyLTEuMTg4IDAtMS44Ni0uNTk1LS42NTYtLjYwOS0uNjU2LTEuNDg0IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2Mi41MzEuMDYzIDEuMTQuMTg4di0xLjA2M3EwLS41NDYtLjUtLjkzNy0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTQtLjA3OC0uMDkzLS4wNzgtLjIzNCAwLS4xNC4wNzgtLjIxOS4xMS0uMTEuODc1LS4zMTIgMS4yMTktLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzNy42MDkuNzA0LjYxLjcwNCAxLjM5djQuMzQ0aC44NzVxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTN6bTAtMy4yNjVxLS40NTMtLjE0LS45Ny0uMjAzLS41MTUtLjA2My0xLjA5My0uMDYzLTEuNDIyIDAtMi4yMzQuNjI1LS42MS40NTMtLjYxIDEuMDk0IDAgLjU5NC40NyAxIC40NjguNDA2IDEuMzU5LjQwNi44NDMgMCAxLjU3OC0uMzI4LjczNC0uMzQ0IDEuNS0xLjA5NHptOC4xNjQtLjI4MWwzLjAxNSAyLjg5cS4yOTcgMCAuMzc1LjAzMS4wNzguMDE2LjEyNS4xMS4wNjMuMDc4LjA2My4xODcgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M0gzNTIuNXEtLjI1IDAtLjM2LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTA5LS4wOTQuMzU5LS4wOTRoMS4wNzhsLTIuNTQ3LTIuNDUzLTIuNTQ3IDIuNDUzaDEuMDk0cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTI1cS0uMjM0IDAtLjM0NC0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTEuMDQ3LS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuMzc1LS4wM2wzLTIuODkxLTIuNjcyLTIuNTYzcS0uMjggMC0uMzYtLjAzMS0uMDYyLS4wMzEtLjEyNC0uMTEtLjA2My0uMDkzLS4wNjMtLjE4NyAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS43OHEuMjUgMCAuMzQ1LjA5NC4wOTMuMDkzLjA5My4yMzQgMCAuMTQtLjA5My4yMzQtLjA5NC4wOTQtLjM0NC4wOTRoLS43ODFsMi4yMTggMi4xNCAyLjIxOS0yLjE0aC0uNzgxcS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjc5N3EuMjM0IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4wOTQtLjA2My4xODgtLjA2My4wNzgtLjE0MS4xMDktLjA2Mi4wMzEtLjM0NC4wMzF6bTEzNi45MjItNi43MzVsLTUuMjgyIDExLjMxM3EtLjEyNS4yOTctLjM0My4yOTctLjEyNSAwLS4yMzUtLjExLS4wOTMtLjA5My0uMDkzLS4yMDMgMC0uMDk0LjA3OC0uMjY2bDUuMjgtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDEgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDkzLS4wOTQtLjIwMyAwLS4wOTQuMDc4LS4yNjZsNS4yODEtMTEuMzEycS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptMTcuNjEgNC45MzhxLjkwNi40MDYgMS4zNzUgMS4xMjUuNDg0LjcwMy40ODQgMS40NjggMCAxLjE3Mi0uOTY5IDIuMDc5LS45NTMuOTA2LTIuMzkuOTA2LS44NDQgMC0xLjc1LS4zNi0uOTA3LS4zNTktMS4yNjYtLjczNC0uMTEtLjEyNS0uMTEtLjI2NiAwLS4xMjUuMDc5LS4yMTguMDkzLS4wOTQuMjE4LS4wOTR0LjI4Mi4xMXExLjIxOC45MDYgMi41NjIuOTA2IDEuMTQgMCAxLjkwNi0uNzIuNzgyLS43MTguNzgyLTEuNTkzIDAtLjU3OC0uMzktMS4xNC0uMzc2LS41NjMtMS4wOTUtLjg5MS0uNzAzLS4zMjgtMS40MjItLjMyOC0uMjM0IDAtLjM0My0uMDc4LS4wOTQtLjA5NC0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNS4wOTMtLjA5My4yOTctLjA5M2wuNTYyLjAxNXEuODc1IDAgMS40NTMtLjUzMS41NzgtLjU0Ny41NzgtMS4yNjYgMC0uNzM0LS42MS0xLjI5Ny0uNTkzLS41NjItMS41NjItLjU2Mi0uNjg3IDAtMS4yNjUuMjM0LS41NjMuMjM1LS45MDYuNjQtLjEyNS4xNTctLjE4OC4yMDQtLjA2Mi4wMzEtLjE1Ni4wMzEtLjEyNSAwLS4yMTktLjA5My0uMDk0LS4wOTQtLjA5NC0uMjIgMC0uMzEyLjY3Mi0uNzguOTUzLS42NzIgMi4xNTYtLjY3MiAxLjIzNSAwIDIuMDMyLjc1Ljc5Ny43NS43OTcgMS43OCAwIC42NTctLjM5MSAxLjI1LS4zNzUuNTgtMS4xMS45MjN6TTIzNy42ODggNjUxLjY5M3YtLjk1M3EtMS40MjIgMS4yMi0zLjA0NyAxLjIyLTEuMTg4IDAtMS44Ni0uNTk1LS42NTYtLjYwOS0uNjU2LTEuNDg0IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2My41MzEuMDYyIDEuMTQuMTg3di0xLjA2M3EwLS41NDYtLjUtLjkzNy0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTQtLjA3OC0uMDkzLS4wNzgtLjIzNCAwLS4xNC4wNzgtLjIxOS4xMS0uMTEuODc1LS4zMTIgMS4yMTktLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzNy42MDkuNzAzLjYxLjcwMyAxLjM5djQuMzQ0aC44NzVxLjIzNSAwIC4zMjkuMDk0LjEwOS4wNzguMTA5LjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M3ptMC0zLjI2NXEtLjQ1NC0uMTQtLjk3LS4yMDMtLjUxNS0uMDYzLTEuMDkzLS4wNjMtMS40MjIgMC0yLjIzNC42MjUtLjYxLjQ1My0uNjEgMS4wOTQgMCAuNTk0LjQ2OSAxdDEuMzYuNDA2cS44NDMgMCAxLjU3Ny0uMzI4LjczNS0uMzQ0IDEuNS0xLjA5NHptMTAuOTMtNi41NDd2OS4xNTZoLjg3NHEuMjUgMCAuMzQ0LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5NC4wOTMtLjM0NC4wOTNoLTEuNTMxdi0xLjMxMnEtMS4xNCAxLjU3OC0yLjkwNiAxLjU3OC0uODkgMC0xLjcwMy0uNDY5LS44MTMtLjQ4NC0xLjI5Ny0xLjM2LS40Ny0uODc0LS40Ny0xLjgxMiAwLS45MzcuNDctMS43OTYuNDg0LS44NzUgMS4yOTctMS4zNDQuODEyLS40ODUgMS43MTgtLjQ4NSAxLjcyIDAgMi44OSAxLjU2M3YtMy43MDNoLS44NzRxLS4yNSAwLS4zNi0uMDk0LS4wOTMtLjA5NC0uMDkzLS4yNSAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNTktLjA5NHptLS42NTcgNi40MzhxMC0xLjI1LS44NDQtMi4xMS0uODQ0LS44Ni0yLjAxNS0uODYtMS4xNzIgMC0yLjAxNi44Ni0uODQ0Ljg2LS44NDQgMi4xMXQuODQ0IDIuMTA5cS44NDQuODYgMi4wMTYuODYgMS4xNzEgMCAyLjAxNS0uODYuODQ0LS44Ni44NDQtMi4xMXptMTAuMjU4LTYuNDM4djkuMTU2aC44NzVxLjI1IDAgLjM0NC4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTEuNTMxdi0xLjMxMnEtMS4xNDEgMS41NzgtMi45MDcgMS41NzgtLjg5IDAtMS43MDMtLjQ2OS0uODEyLS40ODQtMS4yOTctMS4zNi0uNDY5LS44NzQtLjQ2OS0xLjgxMiAwLS45MzcuNDctMS43OTYuNDg0LS44NzUgMS4yOTYtMS4zNDQuODEzLS40ODUgMS43MTktLjQ4NSAxLjcxOSAwIDIuODkgMS41NjN2LTMuNzAzaC0uODc1cS0uMjUgMC0uMzU5LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptLS42NTYgNi40MzhxMC0xLjI1LS44NDQtMi4xMS0uODQ0LS44Ni0yLjAxNi0uODYtMS4xNzIgMC0yLjAxNS44Ni0uODQ0Ljg2LS44NDQgMi4xMXQuODQ0IDIuMTA5cS44NDMuODYgMi4wMTUuODYgMS4xNzIgMCAyLjAxNi0uODYuODQ0LS44Ni44NDQtMi4xMXptNy4zODItNi40Mzh2OS4xNTZoMi41NzhxLjIzNSAwIC4zMjkuMDk0LjEwOS4wNzguMTA5LjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC01LjgxMnEtLjIzNCAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuNTc4di04LjQ4NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5NC0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptMTguMDc4IDMuMDQ3djEuNjU2cTEuMjgyLTEuMTU2IDEuOTIyLTEuNDg0LjY0LS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDYuNS4zOS41LjU5NCAwIC4xNC0uMDk0LjI1LS4wOTMuMDk0LS4yNS4wOTQtLjA3OCAwLS4xNC0uMDMyLS4wNDctLjAzLS4xODgtLjE3MS0uMjgxLS4yODItLjQ4NC0uMzc1LS4yMDMtLjExLS4zOS0uMTEtLjQzOCAwLTEuMDQ4LjM0NC0uNTk0LjM0NC0yLjA5NCAxLjY4OHYzLjU5M2gyLjkwN3EuMjUgMCAuMzQzLjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTUuMTRxLS4yMzUgMC0uMzQ1LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xMjUuMDkzLS4yMTguMDk0LS4wOTQuMzQ0LS4wOTRoMS41Nzh2LTUuNDY5aC0xLjIwM3EtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjA5NC0uMDk0LjM0NC0uMDk0em0xMy4xMzMuNjU2di0uMjE5cTAtLjIzNC4wOTQtLjMyOC4wOTQtLjExLjIzNC0uMTEuMTQxIDAgLjIzNS4xMS4wOTMuMDk0LjA5My4zMjh2MS40ODVxMCAuMjUtLjA5My4zNi0uMDk0LjA5My0uMjM1LjA5My0uMTQgMC0uMjM0LS4wOTQtLjA3OC0uMDk0LS4wOTQtLjI5Ny0uMDQ3LS41NjItLjczNC0xLjA2Mi0uNjg4LS41LTEuODQ0LS41LTEuNDUzIDAtMi4yMTkuOTIyLS43NS45MDYtLjc1IDIuMDkzIDAgMS4yNjYuODI5IDIuMDk0Ljg0My44MjggMi4xNzEuODI4Ljc2NiAwIDEuNTQ3LS4yODEuNzk3LS4yODEgMS40MzgtLjkwNi4xNzItLjE1Ny4yOTctLjE1N3QuMjE4LjA5NHEuMDk0LjA5NC4wOTQuMjE5IDAgLjM0NC0uNzk3Ljg2LTEuMjY1Ljg0My0yLjgyOC44NDMtMS41OTQgMC0yLjYxLTEuMDE2LTEuMDE1LTEuMDE1LTEuMDE1LTIuNTc4IDAtMS41NzggMS4wMzEtMi42MjUgMS4wNDctMS4wNDcgMi42NDEtMS4wNDcgMS41IDAgMi41MzEuODkxem03LjMwNSAyLjU2M2wzLjAxNiAyLjg5cS4yOTYgMCAuMzc1LjAzMS4wNzguMDE2LjEyNS4xMS4wNjIuMDc4LjA2Mi4xODcgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI3LjA5M2gtMi4xMXEtLjI1IDAtLjM2LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuMDc3bC0yLjU0Ny0yLjQ1My0yLjU0NiAyLjQ1M2gxLjA5M3EuMjM1IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC0yLjEyNXEtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjExLjA0Ny0uMTg3LjA2Mi0uMDk0LjE0LS4xMS4wNzgtLjAzLjM3NS0uMDNsMy0yLjg5MS0yLjY3MS0yLjU2M3EtLjI4MiAwLS4zNi0uMDMxLS4wNjItLjAzMS0uMTI1LS4xMS0uMDYyLS4wOTMtLjA2Mi0uMTg3IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzYtLjA5NGgxLjc4MXEuMjUgMCAuMzQ0LjA5NC4wOTMuMDkzLjA5My4yMzQgMCAuMTQtLjA5My4yMzQtLjA5NC4wOTQtLjM0NC4wOTRoLS43ODFsMi4yMTggMi4xNCAyLjIyLTIuMTRoLS43ODJxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDEuNzk3cS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjA5NC0uMDYzLjE4OC0uMDYzLjA3OC0uMTQuMTA5LS4wNjMuMDMxLS4zNDUuMDMxem03Ljg1MSAxLjE4N2gyLjE0MWwtMi4zMjggNC4zMTNxLS4yMDMuMzktLjUuMzktLjIwMyAwLS4zNDQtLjE0LS4xMjUtLjEyNS0uMTI1LS4zMjkgMC0uMDc4LjAxNi0uMTcxem0xOS43Mi00LjQwNnYxLjY1NnExLjI4LTEuMTU2IDEuOTIxLTEuNDg0LjY0LS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDYuNS4zOS41LjU5NCAwIC4xNC0uMDk0LjI1LS4wOTQuMDk0LS4yNS4wOTQtLjA3OCAwLS4xNC0uMDMyLS4wNDctLjAzLS4xODgtLjE3MS0uMjgxLS4yODItLjQ4NC0uMzc1LS4yMDQtLjExLS4zOTEtLjExLS40MzggMC0xLjA0Ny4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODh2My41OTNoMi45MDdxLjI1IDAgLjM0My4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zNDMuMDkzaC01LjE0MXEtLjIzNCAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEyNS4wOTQtLjIxOC4wOTQtLjA5NC4zNDQtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM0IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzR0LjM0NC0uMDk0em0xMy42LTMuMDQ3djkuMTU2aC44NzZxLjI1IDAgLjM0NC4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTEuNTMxdi0xLjMxMnEtMS4xNDEgMS41NzgtMi45MDcgMS41NzgtLjg5IDAtMS43MDMtLjQ2OS0uODEyLS40ODQtMS4yOTctMS4zNi0uNDY4LS44NzQtLjQ2OC0xLjgxMiAwLS45MzcuNDY4LTEuNzk2LjQ4NS0uODc1IDEuMjk3LTEuMzQ0LjgxMy0uNDg1IDEuNzE5LS40ODUgMS43MTkgMCAyLjg5IDEuNTYzdi0zLjcwM2gtLjg3NHEtLjI1IDAtLjM2LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptLS42NTUgNi40MzhxMC0xLjI1LS44NDQtMi4xMS0uODQ0LS44Ni0yLjAxNi0uODYtMS4xNzIgMC0yLjAxNS44Ni0uODQ0Ljg2LS44NDQgMi4xMXQuODQ0IDIuMTA5cS44NDMuODYgMi4wMTUuODYgMS4xNzIgMCAyLjAxNi0uODYuODQ0LS44Ni44NDQtMi4xMXptNy40OTItLjE3MmwzLjAxNSAyLjg5cS4yOTcgMCAuMzc1LjAzMS4wNzguMDE2LjEyNS4xMS4wNjMuMDc4LjA2My4xODcgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M0gzNTIuNXEtLjI1IDAtLjM2LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTA5LS4wOTQuMzU5LS4wOTRoMS4wNzhsLTIuNTQ3LTIuNDUzLTIuNTQ3IDIuNDUzaDEuMDk0cS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTI1cS0uMjM0IDAtLjM0NC0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTEuMDQ3LS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuMzc1LS4wM2wzLTIuODkxLTIuNjcyLTIuNTYzcS0uMjggMC0uMzYtLjAzMS0uMDYyLS4wMzEtLjEyNC0uMTEtLjA2My0uMDkzLS4wNjMtLjE4NyAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS43OHEuMjUgMCAuMzQ1LjA5NC4wOTMuMDkzLjA5My4yMzQgMCAuMTQtLjA5My4yMzQtLjA5NC4wOTQtLjM0NC4wOTRoLS43ODFsMi4yMTggMi4xNCAyLjIxOS0yLjE0aC0uNzgxcS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjc5N3EuMjM0IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4wOTQtLjA2My4xODgtLjA2My4wNzgtLjE0MS4xMDktLjA2Mi4wMzEtLjM0NC4wMzF6bTEzNi45MjItNi43MzVsLTUuMjgyIDExLjMxM3EtLjEyNS4yOTctLjM0My4yOTctLjEyNSAwLS4yMzUtLjExLS4wOTMtLjA5My0uMDkzLS4yMDMgMC0uMDk0LjA3OC0uMjY1bDUuMjgtMTEuMzEzcS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDEgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDkzLS4wOTQtLjIwMyAwLS4wOTQuMDc4LS4yNjVsNS4yODEtMTEuMzEzcS4wNzktLjE4OC4xNTctLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptMTcuNjEgNC45MzhxLjkwNi40MDYgMS4zNzUgMS4xMjUuNDg0LjcwMy40ODQgMS40NjggMCAxLjE3Mi0uOTY5IDIuMDc5LS45NTMuOTA2LTIuMzkuOTA2LS44NDQgMC0xLjc1LS4zNi0uOTA3LS4zNTktMS4yNjYtLjczNC0uMTEtLjEyNS0uMTEtLjI2NSAwLS4xMjUuMDc5LS4yMi4wOTMtLjA5My4yMTgtLjA5M3QuMjgyLjExcTEuMjE4LjkwNiAyLjU2Mi45MDYgMS4xNCAwIDEuOTA2LS43Mi43ODItLjcxOC43ODItMS41OTMgMC0uNTc4LS4zOS0xLjE0LS4zNzYtLjU2My0xLjA5NS0uODkxLS43MDMtLjMyOC0xLjQyMi0uMzI4LS4yMzQgMC0uMzQzLS4wNzgtLjA5NC0uMDk0LS4wOTQtLjI1IDAtLjE0LjA5NC0uMjM1LjA5My0uMDkzLjI5Ny0uMDkzbC41NjIuMDE1cS44NzUgMCAxLjQ1My0uNTMxLjU3OC0uNTQ3LjU3OC0xLjI2NiAwLS43MzQtLjYxLTEuMjk3LS41OTMtLjU2Mi0xLjU2Mi0uNTYyLS42ODcgMC0xLjI2NS4yMzQtLjU2My4yMzUtLjkwNi42NDEtLjEyNS4xNTYtLjE4OC4yMDMtLjA2Mi4wMzEtLjE1Ni4wMzEtLjEyNSAwLS4yMTktLjA5My0uMDk0LS4wOTQtLjA5NC0uMjIgMC0uMzEyLjY3Mi0uNzguOTUzLS42NzIgMi4xNTYtLjY3MiAxLjIzNSAwIDIuMDMyLjc1Ljc5Ny43NS43OTcgMS43ODEgMCAuNjU2LS4zOTEgMS4yNS0uMzc1LjU3OC0xLjExLjkyMnpNMjMyLjgxMyA2NjMuOTI4di42NTZxLjg0My0uODkgMS42ODctLjg5LjUgMCAuODc1LjI2NS4zOS4yNjYuNjU2LjgxMy40MzgtLjU0Ny44NzUtLjgxMy40NTMtLjI2Ni45MDYtLjI2Ni43MiAwIDEuMTQxLjQ1NC41NDcuNTkzLjU0NyAxLjI5NnY0LjU5NGguNTYzcS4yMzQgMCAuMzI4LjA5NC4xMDkuMDc4LjEwOS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI3LjA5M2gtMS4yMnYtNS4xODdxMC0uNS0uMzEyLS44MjgtLjI5Ny0uMzI4LS42ODctLjMyOC0uMzYgMC0uNzY2LjI4LS4zOS4yNjctLjkwNiAxLjA0OHY0LjM2aC41NDdxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M2gtMS4yMDN2LTUuMTRxMC0uNTE2LS4zMTMtLjg2LS4zMTItLjM0My0uNjg3LS4zNDMtLjM2IDAtLjcwMy4yMzQtLjQ3LjMxMi0xIDEuMDk0djQuMzU5aC41NjJxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNC0uMDk0LjA5NC0uMzI4LjA5NGgtMS43NjZxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNTYuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTRoLjU0N3YtNS40NTNoLS41NDdxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNS4xMDktLjA5My4zNDMtLjA5M3ptMTYuMjU3IDMuMzlxMCAxLjUtMS4wNzggMi41NzktMS4wNjIgMS4wNjItMi41NzggMS4wNjItMS41MzEgMC0yLjYxLTEuMDYyLTEuMDYyLTEuMDc5LTEuMDYyLTIuNTc5IDAtMS41IDEuMDYzLTIuNTYyIDEuMDc4LTEuMDYzIDIuNjEtMS4wNjMgMS41MTUgMCAyLjU3NyAxLjA2MyAxLjA3OCAxLjA2MiAxLjA3OCAyLjU2MnptLS42NTYgMHEwLTEuMjM0LS44OS0yLjA5My0uODc2LS44NzUtMi4xMjYtLjg3NXQtMi4xMjUuODc1cS0uODc1Ljg3NS0uODc1IDIuMDkzIDAgMS4yMi44NzUgMi4wOTQuODc1Ljg3NSAyLjEyNS44NzV0Mi4xMjUtLjg2cS44OTEtLjg3NC44OTEtMi4xMDl6bTcuMTY0IDMuMzc1aC0xLjExbC0yLjY4Ny02LjEwOWgtLjY3MnEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDIuNDU0cS4yMzQgMCAuMzI4LjA5NC4xMDkuMDkzLjEwOS4yMzQgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI3LjA5NGgtMS4wNzlsMi40MDcgNS40NTNoLjI4bDIuMzYtNS40NTNoLTEuMDk0cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDMtLjA5NGgyLjQ3cS4yNSAwIC4zNDMuMDk0LjA5NC4wOTMuMDk0LjIzNCAwIC4xNC0uMDk0LjIzNHQtLjM0NC4wOTRoLS42NTZ6bTkuMzY3LTkuODEydjkuMTU2aDIuNTc4cS4yMzUgMCAuMzI5LjA5NC4xMDkuMDc4LjEwOS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M2gtNS44MTJxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgyLjU3OHYtOC40ODRoLTEuODlxLS4yMzUgMC0uMzQ0LS4wOTQtLjExLS4wOTQtLjExLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bTE4LjA3OCAzLjA0N3YxLjY1NnExLjI4Mi0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTk0IDAgMS4wOTQuNDA2LjUuMzkuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMi0uMDQ3LS4wMy0uMTg4LS4xNzEtLjI4MS0uMjgyLS40ODQtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0OC4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODd2My41OTRoMi45MDdxLjI1IDAgLjM0My4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zNDMuMDkzaC01LjE0cS0uMjM1IDAtLjM0NS0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTI1LjA5My0uMjE4LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4wOTQtLjA5NC4zNDQtLjA5NHptMTIuMjc0IDYuNzY1di0uOTUzcS0xLjQyMiAxLjIyLTMuMDQ3IDEuMjItMS4xODggMC0xLjg2LS41OTUtLjY1Ni0uNjA5LS42NTYtMS40ODQgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcxOSAyLjU2My0uNzE5LjQ1MyAwIC45ODQuMDYyLjUzMS4wNjMgMS4xNC4xODh2LTEuMDYzcTAtLjU0Ni0uNS0uOTM3LS41LS40MDYtMS41LS40MDYtLjc2NSAwLTIuMTQuNDUzLS4yNS4wNzgtLjMyOC4wNzgtLjEyNSAwLS4yMTktLjA5NC0uMDc4LS4wOTMtLjA3OC0uMjM0IDAtLjE0LjA3OC0uMjE5LjExLS4xMS44NzUtLjMxMiAxLjIyLS4zMjggMS44NDQtLjMyOCAxLjI1IDAgMS45MzguNjA5LjcwMy42MS43MDMgMS4zOXY0LjM0NGguODc1cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzem0wLTMuMjY1cS0uNDUzLS4xNC0uOTY5LS4yMDMtLjUxNS0uMDYzLTEuMDk0LS4wNjMtMS40MjEgMC0yLjIzNC42MjUtLjYxLjQ1My0uNjEgMS4wOTQgMCAuNTk0LjQ3IDEgLjQ2OC40MDYgMS4zNTkuNDA2Ljg0NCAwIDEuNTc4LS4zMjguNzM0LS4zNDQgMS41LTEuMDk0em04LjE2NC0uMjgxbDMuMDE2IDIuODlxLjI5NiAwIC4zNzUuMDMxLjA3OC4wMTYuMTI1LjExLjA2Mi4wNzguMDYyLjE4NyAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjcuMDkzaC0yLjExcS0uMjUgMC0uMzYtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS4wNzdsLTIuNTQ3LTIuNDUzLTIuNTQ2IDIuNDUzaDEuMDkzcS4yMzUgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTIuMTI1cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTEuMDQ3LS4xODcuMDYyLS4wOTQuMTQtLjExLjA3OC0uMDMuMzc1LS4wM2wzLTIuODkxLTIuNjcxLTIuNTYzcS0uMjgyIDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjUtLjExLS4wNjItLjA5My0uMDYyLS4xODcgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzgxcS4yNSAwIC4zNDQuMDk0LjA5My4wOTMuMDkzLjIzNCAwIC4xNC0uMDkzLjIzNC0uMDk0LjA5NC0uMzQ0LjA5NGgtLjc4MWwyLjIxOCAyLjE0IDIuMjItMi4xNGgtLjc4MnEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS43OTdxLjIzNCAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjMuMDc4LS4xNC4xMDktLjA2My4wMzEtLjM0NS4wMzF6bTcuODUxIDEuMTg3aDIuMTQxbC0yLjMyOCA0LjMxM3EtLjIwMy4zOS0uNS4zOS0uMjAzIDAtLjM0NC0uMTQtLjEyNS0uMTI1LS4xMjUtLjMyOSAwLS4wNzguMDE2LS4xNzF6bTE5LjcyLTQuNDA2djEuNjU2cTEuMjgtMS4xNTYgMS45MjEtMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5NCAwIDEuMDk0LjQwNi41LjM5LjUuNTk0IDAgLjE0LS4wOTQuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0LS4wMzItLjA0Ny0uMDMtLjE4OC0uMTcxLS4yODEtLjI4Mi0uNDg0LS4zNzUtLjIwNC0uMTEtLjM5MS0uMTEtLjQzOCAwLTEuMDQ3LjM0NC0uNTk0LjM0NC0yLjA5NCAxLjY4N3YzLjU5NGgyLjkwN3EuMjUgMCAuMzQzLjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjM0My4wOTNoLTUuMTQxcS0uMjM0IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTI1LjA5NC0uMjE4LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNHQuMzQ0LS4wOTR6bTEzLjEzMi42NTZ2LS4yMTlxMC0uMjM0LjA5NC0uMzI4LjA5My0uMTEuMjM0LS4xMS4xNCAwIC4yMzUuMTEuMDkzLjA5NC4wOTMuMzI4djEuNDg1cTAgLjI1LS4wOTMuMzYtLjA5NC4wOTMtLjIzNS4wOTMtLjE0IDAtLjIzNC0uMDk0LS4wNzgtLjA5NC0uMDk0LS4yOTctLjA0Ny0uNTYyLS43MzQtMS4wNjItLjY4OC0uNS0xLjg0NC0uNS0xLjQ1MyAwLTIuMjE5LjkyMi0uNzUuOTA2LS43NSAyLjA5MyAwIDEuMjY2LjgyOCAyLjA5NC44NDQuODI4IDIuMTcyLjgyOC43NjYgMCAxLjU0Ny0uMjgxLjc5Ny0uMjgxIDEuNDM4LS45MDYuMTcxLS4xNTcuMjk2LS4xNTcuMTI1IDAgLjIyLjA5NC4wOTMuMDk0LjA5My4yMTkgMCAuMzQ0LS43OTcuODYtMS4yNjYuODQzLTIuODI4Ljg0My0xLjU5NCAwLTIuNjEtMS4wMTYtMS4wMTUtMS4wMTUtMS4wMTUtMi41NzggMC0xLjU3OCAxLjAzMS0yLjYyNSAxLjA0Ny0xLjA0NyAyLjY0LTEuMDQ3IDEuNSAwIDIuNTMyLjg5MXptNy4zMDUgMi41NjNsMy4wMTUgMi44OXEuMjk3IDAgLjM3NS4wMzEuMDc4LjAxNi4xMjUuMTEuMDYzLjA3OC4wNjMuMTg3IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNIMzUyLjVxLS4yNSAwLS4zNi0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTU2LjA5NC0uMjM0LjEwOS0uMDk0LjM1OS0uMDk0aDEuMDc4bC0yLjU0Ny0yLjQ1My0yLjU0NyAyLjQ1M2gxLjA5NHEuMjM1IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNC0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC0yLjEyNXEtLjIzNCAwLS4zNDQtLjA5My0uMDkzLS4wOTQtLjA5My0uMjM1IDAtLjExLjA0Ny0uMTg3LjA2Mi0uMDk0LjE0LS4xMS4wNzgtLjAzLjM3NS0uMDNsMy0yLjg5MS0yLjY3Mi0yLjU2M3EtLjI4IDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjQtLjExLS4wNjMtLjA5My0uMDYzLS4xODcgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzhxLjI1IDAgLjM0NS4wOTQuMDkzLjA5My4wOTMuMjM0IDAgLjE0LS4wOTMuMjM0LS4wOTQuMDk0LS4zNDQuMDk0aC0uNzgxbDIuMjE4IDIuMTQgMi4yMTktMi4xNGgtLjc4MXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS43OTdxLjIzNCAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjMuMDc4LS4xNDEuMTA5LS4wNjIuMDMxLS4zNDQuMDMxem0xMzYuOTIyLTYuNzM1bC01LjI4MiAxMS4zMTNxLS4xMjUuMjk3LS4zNDMuMjk3LS4xMjUgMC0uMjM1LS4xMS0uMDkzLS4wOTMtLjA5My0uMjAzIDAtLjA5NC4wNzgtLjI2Nmw1LjI4LTExLjMxMnEuMDc5LS4xODguMTU3LS4yMzQuMDc4LS4wNjMuMTg4LS4wNjMuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjIwMyAwIC4wOTMtLjA3OC4yNjV6bTkuNjAxIDBsLTUuMjgxIDExLjMxM3EtLjEyNS4yOTctLjM0NC4yOTctLjEyNSAwLS4yMzQtLjExLS4wOTQtLjA5My0uMDk0LS4yMDMgMC0uMDk0LjA3OC0uMjY2bDUuMjgxLTExLjMxMnEuMDc5LS4xODguMTU3LS4yMzQuMDc4LS4wNjMuMTg3LS4wNjMuMTQgMCAuMjM1LjExLjA5My4wOTMuMDkzLjIwMyAwIC4wOTMtLjA3OC4yNjV6bTE2LjE4OCA2LjM5cTAtLjkwNS4yMzQtMS45MDUuMjM0LTEuMDE2Ljg5LTIuMzI5LjY3My0xLjMyOC45Ny0xLjU5My4wOTMtLjA5NC4yMDMtLjA5NC4xNCAwIC4yMzQuMDk0LjExLjA5My4xMS4yMzQgMCAuMDc4LS4wNjMuMTcyLS44NiAxLjU3OC0xLjIzNSAyLjg2LS4zNTkgMS4yOC0uMzU5IDIuNTYyIDAgMS4yODEuMzYgMi41NjIuMzc0IDEuMjgyIDEuMjM0IDIuODYuMDYyLjA5My4wNjIuMTcyIDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjIzMy4wOTQtLjExIDAtLjIwNC0uMDc4LS4yOC0uMjY2LS45MzctMS41NjMtLjY1Ni0xLjI5Ny0uOTA2LTIuMjgxLS4yNS0xLS4yNS0yem0xMy4yMjYuNjU3aC02LjY4N3EuMTcyIDEuMjgxIDEuMDYyIDIuMDYzLjg5Ljc2NSAyLjIxOS43NjUuNzM0IDAgMS41MzEtLjIzNC44MTMtLjI1IDEuMzEzLS42NC4xNTYtLjEyNi4yNjUtLjEyNi4xMjUgMCAuMjIuMTEuMDkzLjA5My4wOTMuMjE4IDAgLjE0MS0uMTI1LjI2Ni0uMzc1LjM5LTEuMzQ0LjczNC0uOTUzLjM0NC0xLjk1My4zNDQtMS42ODggMC0yLjgyOC0xLjExLTEuMTI1LTEuMTA5LTEuMTI1LTIuNjg3IDAtMS40MjIgMS4wNjItMi40MzcgMS4wNjMtMS4wMzIgMi42MjUtMS4wMzIgMS42MSAwIDIuNjQxIDEuMDQ3IDEuMDQ3IDEuMDQ3IDEuMDMxIDIuNzJ6bS0uNjcyLS42NTZxLS4xODctMS4wOTQtMS4wMy0xLjc2Ni0uODI5LS42ODctMS45Ny0uNjg3LTEuMTU2IDAtMS45ODQuNjcyLS44MjguNjcxLTEuMDMxIDEuNzh6bTQuNjAyLTIuODc1di45ODRxLjY4Ny0uNjg3IDEuMjM0LS45NTMuNTYzLS4yNjYgMS4yNS0uMjY2Ljc1IDAgMS4zNzUuMzEzLjQzOC4yMzQuNzgyLjc4MS4zNTkuNTQ3LjM1OSAxLjExdjQuMTRoLjU2MnEuMjM1IDAgLjMyOS4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTEuNzY1cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjU0N3YtNC4wMzFxMC0uNjg4LS41MTYtMS4xNzItLjUtLjQ4NC0xLjM0NC0uNDg0LS42NTYgMC0xLjE0LjI2NS0uNDcuMjY2LTEuMzQ0IDEuMjk3djQuMTI1aC43MzRxLjIzNSAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M2gtMi4xNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC43NXYtNS40NTNoLS41NjNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em0xNC45My0zLjA0N3Y5LjE1NmguODc1cS4yNSAwIC4zNDMuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzQzLjA5M2gtMS41MzJ2LTEuMzEycS0xLjE0IDEuNTc4LTIuOTA2IDEuNTc4LS44OSAwLTEuNzAzLS40NjktLjgxMy0uNDg0LTEuMjk3LTEuMzYtLjQ2OS0uODc0LS40NjktMS44MTIgMC0uOTM3LjQ3LTEuNzk2LjQ4My0uODc1IDEuMjk2LTEuMzQ0LjgxMi0uNDg1IDEuNzE5LS40ODUgMS43MTggMCAyLjg5IDEuNTYzdi0zLjcwM2gtLjg3NXEtLjI1IDAtLjM1OS0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bS0uNjU3IDYuNDM3cTAtMS4yNS0uODQzLTIuMTA5LS44NDQtLjg2LTIuMDE2LS44Ni0xLjE3MiAwLTIuMDE2Ljg2LS44NDMuODYtLjg0MyAyLjExdC44NDMgMi4xMDlxLjg0NC44NiAyLjAxNi44NiAxLjE3MiAwIDIuMDE2LS44Ni44NDMtLjg2Ljg0My0yLjExem03LjI0My0uNTE1cTAgLjkwNi0uMjM1IDEuOTA2LS4yMzQgMS0uOTA2IDIuMzI4LS42NTYgMS4zMjgtLjk2OSAxLjU5NC0uMDk0LjA5NC0uMjAzLjA5NC0uMTQgMC0uMjM0LS4wOTR0LS4wOTQtLjIzNHEwLS4wNzguMDQ3LS4xNzIuODYtMS41NzggMS4yMTktMi44Ni4zNzUtMS4yOC4zNzUtMi41NjIgMC0xLjI4MS0uMzc1LTIuNTYzLS4zNi0xLjI4LTEuMjItMi44NTktLjA0Ni0uMDk0LS4wNDYtLjE3MiAwLS4xNC4wOTQtLjIzNC4wOTMtLjA5NC4yMzQtLjA5NC4xMSAwIC4yMDMuMDk0LjI5Ny4yNjUuOTUzIDEuNTYyLjY1NyAxLjI4MS45MDcgMi4yODEuMjUuOTg1LjI1IDEuOTg1ek0yMzUuMDE2IDY4Mi45Mjh2MS42NTZxMS4yOC0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcxLS4zNDQuNTk0IDAgMS4wOTQuNDA2LjUuMzkuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMi0uMDQ3LS4wMy0uMTg4LS4xNzEtLjI4MS0uMjgyLS40ODQtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0OC4zNDQtLjU5My4zNDQtMi4wOTMgMS42ODd2My41OTRoMi45MDZxLjI1IDAgLjM0NC4wOTQuMTEuMDc4LjExLjIzNC0uMDAxLjE0LS4xMS4yMzUtLjA5NC4wOTMtLjM0NC4wOTNoLTUuMTRxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMjUuMDk0LS4yMTguMDkzLS4wOTQuMzQzLS4wOTRoMS41Nzh2LTUuNDY5aC0xLjIwM3EtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTMtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjA5My0uMDk0LjM0My0uMDk0em0xMy45NDUgMy41MzFoLTYuNjg4cS4xNzIgMS4yODEgMS4wNjMgMi4wNjMuODkuNzY1IDIuMjE5Ljc2NS43MzQgMCAxLjUzLS4yMzQuODEzLS4yNSAxLjMxMy0uNjQuMTU3LS4xMjYuMjY2LS4xMjYuMTI1IDAgLjIxOS4xMS4wOTQuMDkzLjA5NC4yMTggMCAuMTQxLS4xMjUuMjY2LS4zNzUuMzktMS4zNDQuNzM0LS45NTMuMzQ0LTEuOTUzLjM0NC0xLjY4OCAwLTIuODI4LTEuMTEtMS4xMjUtMS4xMDktMS4xMjUtMi42ODcgMC0xLjQyMiAxLjA2Mi0yLjQzNyAxLjA2My0xLjAzMiAyLjYyNS0xLjAzMiAxLjYxIDAgMi42NCAxLjA0NyAxLjA0OCAxLjA0NyAxLjAzMiAyLjcyem0tLjY3Mi0uNjU2cS0uMTg3LTEuMDk0LTEuMDMxLTEuNzY2LS44MjgtLjY4Ny0xLjk2OS0uNjg3LTEuMTU2IDAtMS45ODQuNjcyLS44MjguNjcxLTEuMDMyIDEuNzh6bTUuMzY3LTIuODc1aDMuNTYzcS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTMuNTYzdjQuMzc1cTAgLjU2My40NTMuOTUzLjQ3LjM3NSAxLjM0NC4zNzUuNjcyIDAgMS40MzgtLjE4Ny43OC0uMjAzIDEuMjAzLS40NTMuMTU2LS4xMS4yNjUtLjExLjEyNSAwIC4yMi4xMS4wOTMuMDkzLjA5My4yMTh0LS4xMS4yMTlxLS4yNS4yNjYtMS4yMTguNTc4LS45NTMuMjk3LTEuODQ0LjI5Ny0xLjE0IDAtMS44MjgtLjU0Ny0uNjcyLS41NDctLjY3Mi0xLjQ1M3YtNC4zNzVoLTEuMjE5cS0uMjM0IDAtLjM0NC0uMDk0LS4wOTMtLjA5My0uMDkzLS4yMzQgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NEgyNTN2LTEuOTM4cTAtLjIzNC4wOTQtLjMyOC4wOTMtLjEwOS4yMzQtLjEwOS4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzI3em0yMzQuNzM1LTMuNTE2bC01LjI4MiAxMS4zMTNxLS4xMjUuMjk3LS4zNDMuMjk3LS4xMjUgMC0uMjM1LS4xMS0uMDkzLS4wOTMtLjA5My0uMjAzIDAtLjA5NC4wNzgtLjI2Nmw1LjI4LTExLjMxMnEuMDc5LS4xODguMTU3LS4yMzQuMDc4LS4wNjMuMTg4LS4wNjMuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjIwMyAwIC4wOTMtLjA3OC4yNjV6bTkuNjAxIDBsLTUuMjgxIDExLjMxM3EtLjEyNS4yOTctLjM0NC4yOTctLjEyNSAwLS4yMzQtLjExLS4wOTQtLjA5My0uMDk0LS4yMDMgMC0uMDk0LjA3OC0uMjY2bDUuMjgxLTExLjMxMnEuMDc5LS4xODguMTU3LS4yMzQuMDc4LS4wNjMuMTg3LS4wNjMuMTQgMCAuMjM1LjExLjA5My4wOTMuMDkzLjIwMyAwIC4wOTMtLjA3OC4yNjV6bTE2LjE4OCA2LjM5cTAtLjkwNS4yMzQtMS45MDUuMjM0LTEuMDE2Ljg5LTIuMzI5LjY3My0xLjMyOC45Ny0xLjU5My4wOTMtLjA5NC4yMDMtLjA5NC4xNCAwIC4yMzQuMDk0LjExLjA5My4xMS4yMzQgMCAuMDc4LS4wNjMuMTcyLS44NiAxLjU3OC0xLjIzNSAyLjg2LS4zNTkgMS4yOC0uMzU5IDIuNTYyIDAgMS4yODEuMzYgMi41NjIuMzc0IDEuMjgyIDEuMjM0IDIuODYuMDYyLjA5My4wNjIuMTcyIDAgLjE0LS4xMS4yMzQtLjA5My4wOTQtLjIzMy4wOTQtLjExIDAtLjIwNC0uMDc4LS4yOC0uMjY2LS45MzctMS41NjMtLjY1Ni0xLjI5Ny0uOTA2LTIuMjgxLS4yNS0xLS4yNS0yem0xMy4yMjYuNjU3aC02LjY4N3EuMTcyIDEuMjgxIDEuMDYyIDIuMDYzLjg5Ljc2NSAyLjIxOS43NjUuNzM0IDAgMS41MzEtLjIzNC44MTMtLjI1IDEuMzEzLS42NC4xNTYtLjEyNi4yNjUtLjEyNi4xMjUgMCAuMjIuMTEuMDkzLjA5My4wOTMuMjE4IDAgLjE0MS0uMTI1LjI2Ni0uMzc1LjM5LTEuMzQ0LjczNC0uOTUzLjM0NC0xLjk1My4zNDQtMS42ODggMC0yLjgyOC0xLjExLTEuMTI1LTEuMTA5LTEuMTI1LTIuNjg3IDAtMS40MjIgMS4wNjItMi40MzcgMS4wNjMtMS4wMzIgMi42MjUtMS4wMzIgMS42MSAwIDIuNjQxIDEuMDQ3IDEuMDQ3IDEuMDQ3IDEuMDMxIDIuNzJ6bS0uNjcyLS42NTZxLS4xODctMS4wOTQtMS4wMy0xLjc2Ni0uODI5LS42ODctMS45Ny0uNjg3LTEuMTU2IDAtMS45ODQuNjcyLS44MjguNjcxLTEuMDMxIDEuNzh6bTQuNjAyLTIuODc1di45ODRxLjY4Ny0uNjg3IDEuMjM0LS45NTMuNTYzLS4yNjYgMS4yNS0uMjY2Ljc1IDAgMS4zNzUuMzEzLjQzOC4yMzQuNzgyLjc4MS4zNTkuNTQ3LjM1OSAxLjExdjQuMTRoLjU2MnEuMjM1IDAgLjMyOS4wOTQuMTA5LjA3OC4xMDkuMjM0IDAgLjE0LS4xMS4yMzUtLjA5My4wOTMtLjMyOC4wOTNoLTEuNzY1cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjU0N3YtNC4wMzFxMC0uNjg4LS41MTYtMS4xNzItLjUtLjQ4NC0xLjM0NC0uNDg0LS42NTYgMC0xLjE0LjI2NS0uNDcuMjY2LTEuMzQ0IDEuMjk3djQuMTI1aC43MzRxLjIzNSAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M2gtMi4xNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC43NXYtNS40NTNoLS41NjNxLS4yMzQgMC0uMzQ0LS4wOTQtLjA5My0uMDkzLS4wOTMtLjIzNCAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em0xNC45My0zLjA0N3Y5LjE1NmguODc1cS4yNSAwIC4zNDMuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQtLjExLjIzNS0uMDkzLjA5My0uMzQzLjA5M2gtMS41MzJ2LTEuMzEycS0xLjE0IDEuNTc4LTIuOTA2IDEuNTc4LS44OSAwLTEuNzAzLS40NjktLjgxMy0uNDg0LTEuMjk3LTEuMzYtLjQ2OS0uODc0LS40NjktMS44MTIgMC0uOTM3LjQ3LTEuNzk2LjQ4My0uODc1IDEuMjk2LTEuMzQ0LjgxMi0uNDg1IDEuNzE5LS40ODUgMS43MTggMCAyLjg5IDEuNTYzdi0zLjcwM2gtLjg3NXEtLjI1IDAtLjM1OS0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bS0uNjU3IDYuNDM3cTAtMS4yNS0uODQzLTIuMTA5LS44NDQtLjg2LTIuMDE2LS44Ni0xLjE3MiAwLTIuMDE2Ljg2LS44NDMuODYtLjg0MyAyLjExdC44NDMgMi4xMDlxLjg0NC44NiAyLjAxNi44NiAxLjE3MiAwIDIuMDE2LS44Ni44NDMtLjg2Ljg0My0yLjExem03LjI0My0uNTE1cTAgLjkwNi0uMjM1IDEuOTA2LS4yMzQgMS0uOTA2IDIuMzI4LS42NTYgMS4zMjgtLjk2OSAxLjU5NC0uMDk0LjA5NC0uMjAzLjA5NC0uMTQgMC0uMjM0LS4wOTR0LS4wOTQtLjIzNHEwLS4wNzguMDQ3LS4xNzIuODYtMS41NzggMS4yMTktMi44Ni4zNzUtMS4yOC4zNzUtMi41NjIgMC0xLjI4MS0uMzc1LTIuNTYzLS4zNi0xLjI4LTEuMjItMi44NTktLjA0Ni0uMDk0LS4wNDYtLjE3MiAwLS4xNC4wOTQtLjIzNC4wOTMtLjA5NC4yMzQtLjA5NC4xMSAwIC4yMDMuMDk0LjI5Ny4yNjUuOTUzIDEuNTYyLjY1NyAxLjI4MS45MDcgMi4yODEuMjUuOTg1LjI1IDEuOTg1eiIgZmlsbD0iIzAwMCIvPjwvZz48L3N2Zz4=" alt=""></p>
<p>This example function takes two parameters and returns their sum. When Liftoff decodes the bytes of this function, it first begins by initializing its internal state for the local variables according to the calling convention for WebAssembly functions. For x64, V8’s calling convention passes the two parameters in the registers <em>rax</em> and <em>rdx</em>.</p>
<p>For <code>get_local</code> instructions, Liftoff does not generate any code, but instead just updates its internal state to reflect that these register values are now pushed on the virtual stack. The <code>i32.add</code> instruction then pops the two registers and chooses a register for the result value. We cannot use any of the input registers for the result, since both registers still appear on the stack for holding the local variables. Overwriting them would change the value returned by a later <code>get_local</code> instruction. So Liftoff picks a free register, in this case <em>rcx</em>, and produce the sum of <em>rax</em> and <em>rdx</em> into that register. <em>rcx</em> is then pushed onto the virtual stack.</p>
<p>After the <code>i32.add</code> instruction, the function body is finished, so Liftoff must assemble the function return. As our example function has one return value, validation requires that there must be exactly one value on the virtual stack at the end of the function body. So Liftoff generates code that moves the return value held in <em>rcx</em> into the proper return register <em>rax</em> and then returns from the function.</p>
<p>For the sake of simplicity, the example above does not contain any blocks (<code>if</code>, <code>loop</code> …) or branches. Blocks in WebAssembly introduce control merges, since code can branch to any parent block, and if-blocks can be skipped. These merge points can be reached from different stack states. Following code, however, has to assume a specific stack state to generate code. Thus, Liftoff snapshots the current state of the virtual stack as the state which will be assumed for code following the new block (i.e. when returning to the <em>control level</em> where we currently are). The new block will then continue with the currently active state, potentially changing where stack values or locals are stored: some might be spilled to the stack or held in other registers. When branching to another block or ending a block (which is the same as branching to the parent block), Liftoff must generate code that adapts the current state to the expected state at that point, such that the code emitted for the target we branch to finds the right values where it expects them. Validation guarantees that the height of the current virtual stack matches the height of the expected state, so Liftoff need only generate code to shuffle values between registers and/or the physical stack frame as shown below.</p>
<p>Let’s look at an example of that.</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgd2lkdGg9Ijk0NS44MzkiIGhlaWdodD0iNTg5LjU1MiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAwaDk2MHY3MjBIMHoiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNhKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMjUgLTgwLjQzNikiPjxwYXRoIGQ9Ik0xNTggMzY0aDUzLjAwOHY1My4wMDhIMTU4eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE1OCAzNjRoNTMuMDA4djUzLjAwOEgxNTh6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE2OC4yMTkgMzk3LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjU0LTEuMTg4cS0uOTIxLjc2Ni0xLjc2NSAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40Ny0xLjQyMS0uNjI0LS41NDctMS44NzQtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODh6bS0uMTQtMy42NzFxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1My40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem0zLjExIDQuODU5bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDdsMS40ODQgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTU4IDMwMmg1My4wMDh2NTMuMDA4SDE1OHoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xNTggMzAyaDUzLjAwOHY1My4wMDhIMTU4eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0xNjguMjE5IDMzNS40MjR2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi40OTQgMHYtMS4yMTlxLS45MDcgMS40MzgtMi43MDMgMS40MzgtMS4xNTcgMC0yLjEyNS0uNjQtLjk3LS42NDItMS41LTEuNzgyLS41MzItMS4xNC0uNTMyLTIuNjI1IDAtMS40NTMuNDg1LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTN2LTQuNzk2aDEuNjR2MTMuMzU5em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODEuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2Ni0yLjkwNi0uNzY1LS45MzctMS44OS0uOTM3LTEuMDc4IDAtMS44MTMuODktLjczNC44OS0uNzM0IDIuODEzem04LjE4OCA0LjgyOGwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE0OSA0MjkuMDA4Yy02LjYyNyAwLTEyLS44OTYtMTItMnYtNjYuNTA0YzAtMS4xMDUtNS4zNzMtMi0xMi0yIDYuNjI3IDAgMTItLjg5NSAxMi0yVjI5MGMwLTEuMTA1IDUuMzczLTIgMTItMnoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTQ5IDQyOS4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMjkwYzAtMS4xMDUgNS4zNzMtMiAxMi0yIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE0OSA0MjkuMDA4Yy02LjYyNyAwLTEyLS44OTYtMTItMnYtNjYuNTA0YzAtMS4xMDUtNS4zNzMtMi0xMi0yIDYuNjI3IDAgMTItLjg5NSAxMi0yVjI5MGMwLTEuMTA1IDUuMzczLTIgMTItMiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTExLjI1IDMyOS40OTZoMTEzLjc2M3Y1My4wMDhIMTEuMjV6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTU5LjEzNyAzNTYuNDE2di0xMy4zNmgxLjY0djEzLjM2em0zLjU4Mi00Ljg0NHEwLTIuNjg3IDEuNDg0LTMuOTY4IDEuMjUtMS4wNzkgMy4wNDctMS4wNzkgMiAwIDMuMjY2IDEuMzEzIDEuMjY2IDEuMjk3IDEuMjY2IDMuNjEgMCAxLjg1OS0uNTYzIDIuOTM3LS41NjIgMS4wNjItMS42NCAxLjY1Ni0xLjA2My41OTQtMi4zMjkuNTk0LTIuMDMxIDAtMy4yODEtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4OCAwcTAgMS44Ni43OTYgMi43OTcuODEzLjkyMiAyLjA0Ny45MjIgMS4yMTkgMCAyLjAzMi0uOTIyLjgxMi0uOTM3LjgxMi0yLjg0NCAwLTEuNzk2LS44MTItMi43MTgtLjgxMy0uOTIyLTIuMDMyLS45MjItMS4yMzQgMC0yLjA0Ny45MjItLjc5Ni45MDYtLjc5NiAyLjc2NXptMTUuNjEgMS4yOTdsMS42MDkuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzEuOTM3LTEuOTg1IDAtMy4xODgtMS4yOTd0LTEuMjAzLTMuNzE5cTAtMS41NzguNTE2LTIuNzUuNTE1LTEuMTcyIDEuNTc4LTEuNzUgMS4wNjItLjU5NCAyLjMxMi0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MiAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMy0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNi44OS0uNzgxLjg5MS0uNzgxIDIuODEzIDAgMS45NTMuNzUgMi44NDQuNzUuODc1IDEuOTUzLjg3NS45NjkgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em05LjMyOCAyLjM2cS0uOTIyLjc2NS0xLjc2NiAxLjA5My0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgxLS44Ni0uNzgyLS44Ni0xLjk4NSAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTkzLjg0NC0uOTM3LjUzLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM0IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjEgMC0xLS40NjktMS40MjItLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MDktLjIxOXEuMjE5LTEuMDE1LjcxOS0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgyIDEuMTQuNzM1LjM3Ni40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMS41OTUuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjgtMS4xODd6bS0uMTQtMy42NzJxLS44OTIuMzc1LTIuNjczLjYyNS0xLjAxNS4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU3LjUgMS4wOTQuNS40MzggMS40NTMuNDM4LjkzNyAwIDEuNjcyLS40MDcuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptNC4xNTYgNC44NTl2LTEzLjM2aDEuNjR2MTMuMzZ6bTMuNTM2LTIuODlsMS42MjUtLjI1cS4xMjUuOTY4Ljc1IDEuNS42MjUuNTE1IDEuNzUuNTE1dDEuNjcxLS40NTNxLjU0Ny0uNDY5LjU0Ny0xLjA5NCAwLS41NDctLjQ4NC0uODc1LS4zMjgtLjIxOS0xLjY3Mi0uNTQ3LTEuODEyLS40NjgtMi41MTYtLjc5Ny0uNjg3LS4zMjgtMS4wNDYtLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQxLjI5Ny0xLjE4OC4yOTctLjU2Mi44MTMtLjkyMi4zNzUtLjI4MSAxLjAzLS40NjguNjczLS4yMDQgMS40MjMtLjIwNCAxLjE0IDAgMiAuMzI5Ljg1OS4zMjggMS4yNjUuODkuNDIyLjU2My41NzggMS41bC0xLjYwOS4yMTlxLS4xMS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ3LS40MjItMS4xNCAwLTEuNjI0LjM3NS0uNDcuMzc1LS40Ny44NzUgMCAuMzEzLjE4OC41NzguMjA0LjI2Ni42NDEuNDM4LjIzNC4wOTMgMS40MzguNDIyIDEuNzUuNDUzIDIuNDM3Ljc1LjY4OC4yOTcgMS4wNzguODU5LjM5LjU2My4zOSAxLjQwNiAwIC44MjgtLjQ4NCAxLjU0Ny0uNDY4LjcxOS0xLjM3NSAxLjEyNS0uOTA2LjM5LTIuMDQ2LjM5LTEuODc1IDAtMi44NzUtLjc4LS45ODUtLjc4Mi0xLjI1LTIuMzI5em0xMy45MzMgMy4xMjRsMy44NzUtMTMuODEyaDEuMzEybC0zLjg2IDEzLjgxMnpNMjIuODkxIDM4Mi4xMnYtMTMuMzc2aDEuNDg1djEuMjVxLjUzMS0uNzM0IDEuMTg3LTEuMDk0LjY3Mi0uMzc1IDEuNjI1LS4zNzUgMS4yMzUgMCAyLjE3Mi42NDEuOTUzLjYyNSAxLjQzOCAxLjc5Ny40ODQgMS4xNTYuNDg0IDIuNTQ3IDAgMS40ODQtLjUzMSAyLjY3Mi0uNTMyIDEuMTg3LTEuNTQ3IDEuODI4LTEuMDE2LjYyNS0yLjE0LjYyNS0uODEzIDAtMS40Ny0uMzQ0LS42NTYtLjM0NC0xLjA2Mi0uODc1djQuNzAzem0xLjQ4NS04LjQ4NXEwIDEuODYuNzUgMi43NjUuNzY1Ljg5MSAxLjgyOC44OTEgMS4wOTQgMCAxLjg3NS0uOTIyLjc4MS0uOTM3Ljc4MS0yLjg3NSAwLTEuODQ0LS43NjYtMi43NjUtLjc1LS45MjItMS44MTItLjkyMi0xLjA0NyAwLTEuODYuOTg0LS43OTYuOTY5LS43OTYgMi44NDR6bTE1LjIwNCAzLjU5NHEtLjkyMi43NjUtMS43NjYgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ3LTEuNDIyLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTUuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NS40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4N3ptLS4xNDEtMy42NzJxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1My40MzguOTM3IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem00LjE4OCA0Ljg1OXYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzMS0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODcuNTMybC0uNTYyIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk3LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yOC44NzYtLjI4IDEuOTIzdjUuMDYyem0xMi41NC0xLjE4N3EtLjkyLjc2NS0xLjc2NSAxLjA5My0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTMgMC0yLjQ1My0uNzgxLS44Ni0uNzgyLS44Ni0xLjk4NSAwLS43MTkuMzMtMS4yOTcuMzI3LS41OTMuODQzLS45MzcuNTMxLS4zNiAxLjE4Ny0uNTQ3LjQ3LS4xMjUgMS40NTMtLjI1IDEuOTg1LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ2OS0xLjQyMi0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEyIDEuNDIybC0xLjYxLS4yMTlxLjIxOS0xLjAxNS43MTktMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNS4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzYuNDM3LjUxNiAxLjEwOS4wNzkuNDIyLjA3OSAxLjUxNnYyLjE4N3EwIDIuMjgxLjEwOSAyLjg5LjExLjU5NS40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOC0xLjE4N3ptLS4xNC0zLjY3MnEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMi4zNDQtLjIyLjc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1NC40MzguOTM4IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDk0LTEuMTQuMjY1LS41NjMuMjY1LTEuNjQxem00LjIwNCA0Ljg1OXYtOS42NzJINjEuN3YxLjM2cS40NTMtLjcyIDEuMjAzLTEuMTQxLjc2Ni0uNDM4IDEuNzE5LS40MzggMS4wNzggMCAxLjc2NS40NTQuNjg4LjQzNy45NyAxLjIzNCAxLjE1NS0xLjY4OCAyLjk4NC0xLjY4OCAxLjQ1MyAwIDIuMjE4Ljc5Ny43ODIuNzk3Ljc4MiAyLjQ1M3Y2LjY0MUg3MS43di02LjA5NHEwLS45ODQtLjE1Ni0xLjQwNi0uMTU3LS40MzctLjU3OC0uNzAzLS40MjItLjI2Ni0uOTg1LS4yNjYtMS4wMTUgMC0xLjY4Ny42ODgtLjY3Mi42NzItLjY3MiAyLjE1NnY1LjYyNWgtMS42NHYtNi4yODFxMC0xLjA5NC0uNDA3LTEuNjQtLjQwNi0uNTQ4LTEuMzEzLS41NDgtLjY4NyAwLTEuMjguMzYtLjU5NS4zNTktLjg2IDEuMDYyLS4yNS43MDMtLjI1IDIuMDMxdjUuMDE2em0yMi4xNjYtMy4xMWwxLjY4Ny4yMDRxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI5IDEuMjM0IDEuMzEyIDEuMjM0IDMuNzAzdi40MzdoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNyAwIDEuNTQ3LS40NjkuNjQxLS40ODQgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU2aDUuNDA2cS0uMTEtMS4yMTgtLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTEyLjcxOSA0LjI5N2wuMjM0IDEuNDUzcS0uNjg3LjE0MS0xLjIzNC4xNDEtLjg5IDAtMS4zOS0uMjgxLS40ODUtLjI4MS0uNjg4LS43MzUtLjIwMy0uNDY4LS4yMDMtMS45Mzd2LTUuNTc4SDg1LjI0di0xLjI2NmgxLjIwNHYtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2SDg4LjA3djUuNjcycTAgLjY4Ny4wNzguODkuMDkzLjIwMy4yOC4zMjguMjA0LjExLjU4LjExLjI2NSAwIC43MTgtLjA2M3ptOC4yMy0xLjY0bDEuNjg3LjIwM3EtLjQwNiAxLjQ4NC0xLjQ4NCAyLjMxMi0xLjA3OC44MTMtMi43NjYuODEzLTIuMTI1IDAtMy4zNzUtMS4yOTctMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM3IDAgMy4xNTYgMS4zMjkgMS4yMzQgMS4zMTIgMS4yMzQgMy43MDN2LjQzN2gtNy4yMThxLjA5MyAxLjU5NC45MDYgMi40NTMuODEyLjg0NCAyLjAxNS44NDQuOTA3IDAgMS41NDctLjQ2OS42NDEtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTdoNS40MDZxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43ODItLjk1My0yLjAzMi0uOTUzLTEuMTI1IDAtMS45MDYuNzY2LS43NjYuNzUtLjg0NCAyLjAxNXptOS4xMjUgNS43NjZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMzEtMS4zNi40ODQtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg3LjUzMmwtLjU2MiAxLjUxNXEtLjYxLS4zNi0xLjIwNC0uMzYtLjU0NiAwLS45NjguMzI5LS40MjIuMzI4LS42MS44OS0uMjguODc2LS4yOCAxLjkyM3Y1LjA2MnptNS41NzItMi44OWwxLjYyNS0uMjVxLjEyNS45NjguNzUgMS41LjYyNS41MTUgMS43NS41MTV0MS42NzItLjQ1M3EuNTQ3LS40NjkuNTQ3LTEuMDk0IDAtLjU0Ny0uNDg1LS44NzUtLjMyOC0uMjE5LTEuNjcxLS41NDctMS44MTMtLjQ2OC0yLjUxNi0uNzk3LS42ODgtLjMyOC0xLjA0Ny0uOTA2LS4zNi0uNTk0LS4zNi0xLjMxMiAwLS42NDEuMjk4LTEuMTg4LjI5Ni0uNTYyLjgxMi0uOTIyLjM3NS0uMjgxIDEuMDMxLS40NjguNjcyLS4yMDQgMS40MjItLjIwNCAxLjE0IDAgMiAuMzI5Ljg2LjMyOCAxLjI2Ni44OS40MjIuNTYzLjU3OCAxLjVsLTEuNjEuMjE5cS0uMTA5LS43NS0uNjQtMS4xNzItLjUxNi0uNDIyLTEuNDY5LS40MjItMS4xNCAwLTEuNjI1LjM3NS0uNDY5LjM3NS0uNDY5Ljg3NSAwIC4zMTMuMTg4LjU3OC4yMDMuMjY2LjY0LjQzOC4yMzUuMDkzIDEuNDM4LjQyMiAxLjc1LjQ1MyAyLjQzOC43NS42ODcuMjk3IDEuMDc4Ljg1OS4zOS41NjMuMzkgMS40MDYgMCAuODI4LS40ODQgMS41NDctLjQ2OS43MTktMS4zNzUgMS4xMjUtLjkwNi4zOS0yLjA0Ny4zOS0xLjg3NSAwLTIuODc1LS43OC0uOTg0LS43ODItMS4yNS0yLjMyOXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMTQ5IDI3Ny4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMTM4YzAtMS4xMDUgNS4zNzMtMiAxMi0yeiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xNDkgMjc3LjAwOGMtNi42MjcgMC0xMi0uODk2LTEyLTJ2LTY2LjUwNGMwLTEuMTA1LTUuMzczLTItMTItMiA2LjYyNyAwIDEyLS44OTUgMTItMlYxMzhjMC0xLjEwNSA1LjM3My0yIDEyLTIiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTQ5IDI3Ny4wMDhjLTYuNjI3IDAtMTItLjg5Ni0xMi0ydi02Ni41MDRjMC0xLjEwNS01LjM3My0yLTEyLTIgNi42MjcgMCAxMi0uODk1IDEyLTJWMTM4YzAtMS4xMDUgNS4zNzMtMiAxMi0yIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDYuMDA4IDE4NS40OTZIMTI1djM0LjAxNkg0Ni4wMDh6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTczLjAzNSAyMDkuNTI1bDEuNjI1LS4yNXEuMTI1Ljk3Ljc1IDEuNS42MjUuNTE2IDEuNzUuNTE2dDEuNjcyLS40NTNxLjU0Ni0uNDY5LjU0Ni0xLjA5NCAwLS41NDctLjQ4NC0uODc1LS4zMjgtLjIxOS0xLjY3Mi0uNTQ3LTEuODEyLS40NjgtMi41MTUtLjc5Ny0uNjg4LS4zMjgtMS4wNDctLjkwNi0uMzYtLjU5NC0uMzYtMS4zMTIgMC0uNjQuMjk3LTEuMTg4LjI5Ny0uNTYyLjgxMy0uOTIyLjM3NS0uMjggMS4wMzEtLjQ2OC42NzItLjIwNCAxLjQyMi0uMjA0IDEuMTQgMCAyIC4zMjkuODYuMzI4IDEuMjY1Ljg5LjQyMi41NjMuNTc5IDEuNWwtMS42MS4yMTlxLS4xMS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ3LS40MjItMS4xNCAwLTEuNjI0LjM3NS0uNDY5LjM3NS0uNDY5Ljg3NSAwIC4zMTMuMTg4LjU3OC4yMDMuMjY2LjY0LjQzOC4yMzUuMDk0IDEuNDM4LjQyMiAxLjc1LjQ1MyAyLjQzNy43NS42ODguMjk3IDEuMDc4Ljg2LjM5MS41NjIuMzkxIDEuNDA1IDAgLjgyOC0uNDg0IDEuNTQ3LS40Ny43MTktMS4zNzUgMS4xMjUtLjkwNy4zOS0yLjA0Ny4zOS0xLjg3NSAwLTIuODc1LS43OC0uOTg1LS43ODItMS4yNS0yLjMyOXptMTMuNTYyIDEuNDIybC4yMzUgMS40NTNxLS42ODguMTQxLTEuMjM1LjE0MS0uODkgMC0xLjM5LS4yODEtLjQ4NS0uMjgxLS42ODgtLjczNS0uMjAzLS40NjgtLjIwMy0xLjkzN3YtNS41NzhoLTEuMjAzdi0xLjI2NmgxLjIwM3YtMi4zOWwxLjYyNS0uOTg1djMuMzc1aDEuNjU2djEuMjY2aC0xLjY1NnY1LjY3MnEwIC42ODcuMDc4Ljg5LjA5NC4yMDMuMjgxLjMyOC4yMDMuMTEuNTc4LjExLjI2NiAwIC43Mi0uMDYzem03LjkxOC4yODJxLS45MjIuNzY1LTEuNzY2IDEuMDkzLS44MjguMzEzLTEuNzk3LjMxMy0xLjU5MyAwLTIuNDUzLS43ODEtLjg2LS43ODItLjg2LTEuOTg1IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTMuODQ0LS45MzcuNTMxLS4zNiAxLjE4Ny0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NS0uMjM0IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjEgMC0xLS40NjktMS40MjItLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMiAxLjQyMmwtMS42MS0uMjE5cS4yMTktMS4wMTUuNzE5LTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODgtLjM0NCAxLjI1IDAgMi4wMTUuMjk3Ljc4MS4yODIgMS4xNC43MzUuMzc2LjQzNy41MTYgMS4xMS4wNzkuNDIuMDc5IDEuNTE1djIuMTg3cTAgMi4yODEuMTA5IDIuODkuMTEuNTk1LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg3em0tLjE0LTMuNjcycS0uODkxLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTYuNTMxLS4yMi4zNDQtLjIyLjc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1NC40MzguOTM4IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDk0LTEuMTQuMjY1LS41NjMuMjY1LTEuNjR6bTEwLjUxNiAxLjMxMmwxLjYwOS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3MS45MzctMS45ODUgMC0zLjE4OC0xLjI5N3QtMS4yMDMtMy43MTlxMC0xLjU3OC41MTYtMi43NS41MTUtMS4xNzIgMS41NzgtMS43NSAxLjA2Mi0uNTk0IDIuMzEyLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgyIDIuMjY2bC0xLjU5NC4yMzRxLS4yMzQtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTMuMDE1IDMuNTQ3di0xMy4zNmgxLjY0djcuNjI2bDMuODkxLTMuOTM4aDIuMTFsLTMuNjg4IDMuNTk0IDQuMDYzIDYuMDc4aC0yLjAxNmwtMy4yMDMtNC45NTMtMS4xNTYgMS4xMjV2My44Mjh6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE1OCAyMTEuNDkyaDUzLjAwOFYyNjQuNUgxNTh6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTU4IDIxMS40OTJoNTMuMDA4VjI2NC41SDE1OHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTY4LjIxOSAyNDQuOTE2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMS4zMjctLjYwOS44OS0uMjgxLjg3NS0uMjgxIDEuOTIydjUuMDYyem0xMi41NC0xLjE4N3EtLjkyMS43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ3LTEuNDIyLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTUuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjExLjA3OC40Mi4wNzggMS41MTV2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTUuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODd6bS0uMTQtMy42NzJxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1My40MzguOTM3IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjR6bTMuMTEgNC44NmwzLjUzMS01LjAzMi0zLjI2NS00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE1OCAxNDkuNDkyaDUzLjAwOFYyMDIuNUgxNTh6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMTU4IDE0OS40OTJoNTMuMDA4VjIwMi41SDE1OHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTY4LjIxOSAxODIuOTE2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMS4zMjctLjYwOS44OS0uMjgxLjg3NS0uMjgxIDEuOTIydjUuMDYyem0xMi40OTQgMHYtMS4yMTlxLS45MDcgMS40MzgtMi43MDMgMS40MzgtMS4xNTcgMC0yLjEyNS0uNjQtLjk3LS42NDEtMS41LTEuNzgyLS41MzItMS4xNC0uNTMyLTIuNjI1IDAtMS40NTMuNDg1LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTR2LTQuNzk3aDEuNjR2MTMuMzZ6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODcgMC0xLjk4NS0uNzY2LTIuOTA3LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5MS0uNzM0IDIuODEzem04LjE4OCA0LjgyOGwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE5NC45OCA0OTZoOTEuMDIzIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5NC45OCA0OTZoNzkuMDIzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMjc0LjAwMyA0OTkuMzAzTDI4My4wOCA0OTZsLTkuMDc3LTMuMzAzeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMTg5IDQ5MGg5MS42ODV2MjhIMTg5eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMzEuNDEzIDUwNS40NTF2LTEuODloMS42NHYxLjg5em0wIDExLjQ2OXYtOS42NzJoMS42NHY5LjY3MnptNC41MzUgMHYtOC40MDZoLTEuNDUzdi0xLjI2NmgxLjQ1M3YtMS4wMzFxMC0uOTY5LjE3Mi0xLjQ1My4yMzUtLjY0LjgyOC0xLjAzMi41OTQtLjM5IDEuNjcyLS4zOS42ODggMCAxLjUzMS4xNTZsLS4yNSAxLjQzOHEtLjUtLjA5NC0uOTUzLS4wOTQtLjc1IDAtMS4wNjIuMzI4LS4zMTMuMzEzLS4zMTMgMS4xODh2Ljg5aDEuODl2MS4yNjZoLTEuODl2OC40MDZ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTUzNi42NzkgNDk2aDg2LjMzIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTUzNi42NzkgNDk2aDc0LjMzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjExLjAxIDQ5OS4zMDNsOS4wNzYtMy4zMDMtOS4wNzctMy4zMDN6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik01MzEuMDA4IDQ5MGg4Ni45Mjl2MjhoLTg2LjkzeiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik01NjIuNzggNTIwLjYyM3YtMTcuMDYyaDMuNjF2MS4zNTloLTEuOTd2MTQuMzQ0aDEuOTd2MS4zNnptNS42MDUtMy43MDN2LTEuODc1aDEuODc1djEuODc1em01LjE4MyAwdi0xLjg3NWgxLjg3NXYxLjg3NXptNS4xODQgMHYtMS44NzVoMS44NzV2MS44NzV6bTcuNDY0IDMuNzAzaC0zLjYxdi0xLjM2aDEuOTdWNTA0LjkyaC0xLjk3di0xLjM2aDMuNjF6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTY5OS4zNiA0OTZoOTYuODIiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNjk5LjM2IDQ5Nmg4NC44MiIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTc4NC4xOCA0OTkuMzAzbDkuMDc2LTMuMzAzLTkuMDc3LTMuMzAzeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNNjkzIDQ5MGg5Ny41MTJ2MjhINjkzeiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik03MzQuMDUyIDUxMy44MWwxLjY4Ny4yMDRxLS40MDYgMS40ODQtMS40ODQgMi4zMTItMS4wNzguODEzLTIuNzY2LjgxMy0yLjEyNSAwLTMuMzc1LTEuMjk3LTEuMjM0LTEuMzEzLTEuMjM0LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2NS0xLjM0NCAzLjI2NS0xLjM0NCAxLjkzOCAwIDMuMTU3IDEuMzI4IDEuMjM0IDEuMzEzIDEuMjM0IDMuNzA0di40MzdoLTcuMjE5cS4wOTQgMS41OTQuOTA3IDIuNDUzLjgxMi44NDQgMi4wMTUuODQ0LjkwNiAwIDEuNTQ3LS40NjkuNjQtLjQ4NCAxLjAxNi0xLjUxNXptLTUuMzktMi42NTZoNS40MDVxLS4xMS0xLjIxOC0uNjI1LTEuODI4LS43OC0uOTUzLTIuMDMtLjk1My0xLjEyNiAwLTEuOTA3Ljc2Ni0uNzY2Ljc1LS44NDQgMi4wMTV6bTkuMTQgNS43NjZ2LTkuNjcyaDEuNDd2MS4zNzVxMS4wNjItMS41OTQgMy4wNzctMS41OTQuODc1IDAgMS42MS4zMTMuNzM0LjMxMiAxLjA5My44MjguMzc1LjUuNTE2IDEuMjAzLjA5NC40NTMuMDk0IDEuNTk0djUuOTUzaC0xLjY0di01Ljg5cTAtMS0uMjA0LTEuNDg1LS4xODctLjUtLjY3Mi0uNzk3LS40ODQtLjI5Ny0xLjE0LS4yOTctMS4wNDcgMC0xLjgxMy42NzItLjc1LjY1Ni0uNzUgMi41MTZ2NS4yODF6bTE2LjY0MiAwdi0xLjIxOXEtLjkwNiAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4OC4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5MS0uNzM0IDIuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik00ODcuNTAxIDU3NC45OTJoNDQ3LjgzN2wxNS4yNSAxNS4yNXY3Ni4yNDZINDg3LjV6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDg3LjUwMSA1NzQuOTkyaDQ0Ny44MzdsMTUuMjUgMTUuMjV2NzYuMjQ2SDQ4Ny41eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00OTguMzE0IDYxNC4xNDd2LjY1NnEuODQ0LS44OSAxLjY4Ny0uODkuNSAwIC44NzUuMjY1LjM5LjI2Ni42NTcuODEzLjQzNy0uNTQ3Ljg3NS0uODEzLjQ1My0uMjY1LjkwNi0uMjY1LjcxOSAwIDEuMTQuNDUzLjU0Ny41OTQuNTQ3IDEuMjk3djQuNTkzaC41NjNxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjMyOC4wOTRoLTEuMjE5di01LjE4OHEwLS41LS4zMTItLjgyOC0uMjk3LS4zMjgtLjY4OC0uMzI4LS4zNiAwLS43NjYuMjgxLS4zOS4yNjYtLjkwNiAxLjA0N3Y0LjM2aC41NDdxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTNoLTEuMjAzdi01LjE0cTAtLjUxNi0uMzEzLS44Ni0uMzEyLS4zNDMtLjY4Ny0uMzQzLS4zNiAwLS43MDMuMjM0LS40NjkuMzEzLTEgMS4wOTR2NC4zNmguNTYycS4yMzUgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTMuMDk0LS4zMjguMDk0aC0xLjc2NXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aC41NDd2LTUuNDUzaC0uNTQ3cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NHptMTYuMjU4IDMuMzlxMCAxLjUtMS4wNzggMi41NzktMS4wNjMgMS4wNjItMi41NzkgMS4wNjItMS41MyAwLTIuNjA5LTEuMDYyLTEuMDYzLTEuMDc4LTEuMDYzLTIuNTc4IDAtMS41IDEuMDYzLTIuNTYzIDEuMDc4LTEuMDYyIDIuNjEtMS4wNjIgMS41MTUgMCAyLjU3OCAxLjA2MiAxLjA3OCAxLjA2MyAxLjA3OCAyLjU2M3ptLS42NTcgMHEwLTEuMjM0LS44OS0yLjA5My0uODc1LS44NzUtMi4xMjUtLjg3NXQtMi4xMjUuODc1cS0uODc1Ljg3NS0uODc1IDIuMDk0IDAgMS4yMTguODc1IDIuMDkzdDIuMTI1Ljg3NXExLjI1IDAgMi4xMjUtLjg1OS44OS0uODc1Ljg5LTIuMTF6bTcuMTY0IDMuMzc2aC0xLjEwOWwtMi42ODctNi4xMWgtLjY3MnEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMi40NTNxLjIzNCAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzR0LS4xMS4yMzVxLS4wOTQuMDkzLS4zMjguMDkzaC0xLjA3OGwyLjQwNiA1LjQ1M2guMjgxbDIuMzYtNS40NTNoLTEuMDk0cS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgyLjQ2OXEuMjUgMCAuMzQzLjA5NC4wOTQuMDk0LjA5NC4yMzR0LS4wOTQuMjM1cS0uMDkzLjA5My0uMzQzLjA5M2gtLjY1N3ptOS4zNjgtOS44MTN2OS4xNTZoMi41NzhxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjMyOC4wOTRoLTUuODEzcS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDIuNTc4di04LjQ4NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5My0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptMTguMDc4IDMuMDQ3djEuNjU2cTEuMjgxLTEuMTU2IDEuOTIyLTEuNDg0LjY0LS4zNDQgMS4xNzItLjM0NC41OTMgMCAxLjA5My40MDYuNS4zOTEuNS41OTQgMCAuMTQtLjA5My4yNS0uMDk0LjA5NC0uMjUuMDk0LS4wNzkgMC0uMTQxLS4wMzEtLjA0Ny0uMDMyLS4xODgtLjE3Mi0uMjgtLjI4MS0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDcuMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg4djMuNTkzaDIuOTA2cS4yNSAwIC4zNDQuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjM0NC4wOTRoLTUuMTRxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMjUuMDk0LS4yMTguMDkzLS4wOTQuMzQzLS4wOTRoMS41Nzl2LTUuNDY5aC0xLjIwNHEtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjA5My0uMDk0LjM0My0uMDk0em0xMy4xMzMuNjU2di0uMjE4cTAtLjIzNS4wOTMtLjMyOS4wOTQtLjEwOS4yMzUtLjEwOS4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzI4djEuNDg0cTAgLjI1LS4wOTQuMzYtLjA5NC4wOTMtLjIzNC4wOTMtLjE0MSAwLS4yMzUtLjA5NC0uMDc4LS4wOTMtLjA5My0uMjk3LS4wNDctLjU2Mi0uNzM1LTEuMDYyLS42ODctLjUtMS44NDQtLjUtMS40NTMgMC0yLjIxOC45MjItLjc1LjkwNi0uNzUgMi4wOTQgMCAxLjI2NS44MjggMi4wOTMuODQ0LjgyOCAyLjE3Mi44MjguNzY1IDAgMS41NDctLjI4Ljc5Ni0uMjgyIDEuNDM3LS45MDcuMTcyLS4xNTYuMjk3LS4xNTZ0LjIxOS4wOTNxLjA5My4wOTQuMDkzLjIyIDAgLjM0My0uNzk2Ljg1OC0xLjI2Ni44NDQtMi44MjkuODQ0LTEuNTkzIDAtMi42MDktMS4wMTUtMS4wMTYtMS4wMTYtMS4wMTYtMi41NzkgMC0xLjU3OCAxLjAzMi0yLjYyNSAxLjA0Ny0xLjA0NiAyLjY0LTEuMDQ2IDEuNSAwIDIuNTMyLjg5em03LjMwNCAyLjU2M2wzLjAxNiAyLjg5cS4yOTcgMCAuMzc1LjAzMi4wNzguMDE1LjEyNS4xMDkuMDYyLjA3OC4wNjIuMTg3IDAgLjE0MS0uMTA5LjIzNS0uMDk0LjA5NC0uMzI4LjA5NGgtMi4xMXEtLjI1IDAtLjM1OS0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NGgxLjA3OGwtMi41NDctMi40NTMtMi41NDcgMi40NTNoMS4wOTRxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjMyOC4wOTRoLTIuMTI1cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTA5LjA0Ny0uMTg3LjA2My0uMDk0LjE0LS4xMS4wNzktLjAzLjM3Ni0uMDNsMy0yLjg5MS0yLjY3Mi0yLjU2M3EtLjI4MSAwLS4zNi0uMDMtLjA2Mi0uMDMyLS4xMjUtLjExLS4wNjItLjA5NC0uMDYyLS4xODggMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzU5LS4wOTRoMS43ODFxLjI1IDAgLjM0NC4wOTQuMDk0LjA5NC4wOTQuMjM0dC0uMDk0LjIzNXEtLjA5NC4wOTMtLjM0NC4wOTNoLS43ODFsMi4yMTkgMi4xNCAyLjIxOS0yLjE0aC0uNzgycS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTRoMS43OTdxLjIzNSAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjIuMDc4LS4xNC4xMS0uMDYzLjAzLS4zNDQuMDN6bTcuODUyIDEuMTg3aDIuMTRsLTIuMzI4IDQuMzEzcS0uMjAzLjM5LS41LjM5LS4yMDMgMC0uMzQzLS4xNC0uMTI1LS4xMjUtLjEyNS0uMzI4IDAtLjA3OC4wMTUtLjE3MnptMTkuNzE5LTQuNDA2djEuNjU2cTEuMjgtMS4xNTYgMS45MjEtMS40ODQuNjQxLS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDYuNS4zOTEuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMS0uMDQ3LS4wMzItLjE4OC0uMTcyLS4yODEtLjI4MS0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDguMzQ0LS41OTMuMzQ0LTIuMDkzIDEuNjg4djMuNTkzaDIuOTA2cS4yNSAwIC4zNDQuMDk0LjEwOS4wNzguMTA5LjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5NC0uMzQzLjA5NGgtNS4xNHEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEyNS4wOTQtLjIxOC4wOTMtLjA5NC4zNDMtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMDkzLS4wOTQuMzQzLS4wOTR6bTcuOTE0LTMuMDQ3djQuMzZxMS4xODctMS41NDcgMi44NzUtMS41NDcgMS40MzcgMCAyLjQ1MyAxLjA0NyAxLjAzMSAxLjAzIDEuMDMxIDIuNTQ2IDAgMS41MzItMS4wNDcgMi42MS0xLjAzMSAxLjA2Mi0yLjQzNyAxLjA2Mi0xLjcyIDAtMi44NzUtMS41NjJ2MS4yOTdoLTEuNTMycS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzQgMC0uMTU3LjA5NC0uMjM1LjEwOS0uMDk0LjM0My0uMDk0aC44NzV2LTguNDg0aC0uODc1cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yNSAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NHptNS43MDMgNi40MzhxMC0xLjIzNS0uODYtMi4wOTQtLjg0My0uODc1LTEuOTg0LS44NzUtMS4xNCAwLTIgLjg3NS0uODQ0Ljg2LS44NDQgMi4wOTQgMCAxLjI1Ljg0NCAyLjEwOS44Ni44NiAyIC44NiAxLjE0IDAgMS45ODQtLjg2Ljg2LS44Ni44Ni0yLjExem02LjgyLS4xNzJsMy4wMTYgMi44OXEuMjk3IDAgLjM3NS4wMzIuMDc4LjAxNS4xMjUuMTA5LjA2Mi4wNzguMDYyLjE4NyAwIC4xNDEtLjExLjIzNS0uMDkzLjA5NC0uMzI3LjA5NEg2MThxLS4yNSAwLS4zNTktLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS4wNzdsLTIuNTQ2LTIuNDUzLTIuNTQ3IDIuNDUzaDEuMDkzcS4yMzUgMCAuMzI5LjA5NC4xMDkuMDc4LjEwOS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTQtLjMyOC4wOTRoLTIuMTI1cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTA5LjA0Ny0uMTg3LjA2Mi0uMDk0LjE0LS4xMS4wNzktLjAzLjM3Ni0uMDNsMy0yLjg5MS0yLjY3Mi0yLjU2M3EtLjI4MiAwLS4zNi0uMDMtLjA2Mi0uMDMyLS4xMjUtLjExLS4wNjItLjA5NC0uMDYyLS4xODggMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzgxcS4yNSAwIC4zNDQuMDk0LjA5NC4wOTQuMDk0LjIzNHQtLjA5NC4yMzVxLS4wOTQuMDkzLS4zNDQuMDkzaC0uNzgxbDIuMjE5IDIuMTQgMi4yMTgtMi4xNGgtLjc4cS0uMjM1IDAtLjM0NS0uMDkzLS4wOTMtLjA5NC0uMDkzLS4yMzUgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgxLjc5N3EuMjM0IDAgLjMyOC4wOTQuMTEuMDk0LjExLjIzNCAwIC4wOTQtLjA2My4xODgtLjA2My4wNzgtLjE0LjExLS4wNjMuMDMtLjM0NC4wM3ptMTA4LjExNy02LjczNWwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDkzLS4wOTQtLjIwMyAwLS4wOTMuMDc4LS4yNjVsNS4yODItMTEuMzEzcS4wNzgtLjE4Ny4xNTYtLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDIgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNS0uMTEtLjA5My0uMDkzLS4wOTMtLjIwMyAwLS4wOTMuMDc4LS4yNjVsNS4yODEtMTEuMzEzcS4wNzgtLjE4Ny4xNTYtLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptMTMuMjY1IDMuNTE2di42NTZxLjg0NC0uODkgMS42ODgtLjg5LjUgMCAuODc1LjI2NS4zOS4yNjYuNjU2LjgxMy40MzgtLjU0Ny44NzUtLjgxMy40NTMtLjI2NS45MDYtLjI2NS43MiAwIDEuMTQxLjQ1My41NDcuNTk0LjU0NyAxLjI5N3Y0LjU5M2guNTYycS4yMzUgMCAuMzI5LjA5NC4xMDkuMDc4LjEwOS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTQtLjMyOC4wOTRoLTEuMjE4di01LjE4OHEwLS41LS4zMTMtLjgyOC0uMjk3LS4zMjgtLjY4Ny0uMzI4LS4zNiAwLS43NjYuMjgxLS4zOS4yNjYtLjkwNiAxLjA0N3Y0LjM2aC41NDdxLjIzNCAwIC4zMjguMDkzLjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTNoLTEuMjAzdi01LjE0cTAtLjUxNi0uMzEzLS44Ni0uMzEyLS4zNDMtLjY4Ny0uMzQzLS4zNiAwLS43MDQuMjM0LS40NjguMzEzLTEgMS4wOTR2NC4zNmguNTYzcS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zMjguMDk0aC0xLjc2NnEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGguNTQ3di01LjQ1M2gtLjU0N3EtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0em0xNi4xNDkgMy41MzFoLTYuNjg4cS4xNzIgMS4yODIgMS4wNjMgMi4wNjMuODkuNzY1IDIuMjE5Ljc2NS43MzQgMCAxLjUzLS4yMzQuODEzLS4yNSAxLjMxMy0uNjQuMTU3LS4xMjYuMjY2LS4xMjYuMTI1IDAgLjIxOS4xMS4wOTMuMDkzLjA5My4yMTkgMCAuMTQtLjEyNS4yNjUtLjM3NS4zOS0xLjM0My43MzUtLjk1My4zNDMtMS45NTMuMzQzLTEuNjg4IDAtMi44MjktMS4xMS0xLjEyNS0xLjEwOC0xLjEyNS0yLjY4NyAwLTEuNDIxIDEuMDYzLTIuNDM3IDEuMDYyLTEuMDMxIDIuNjI1LTEuMDMxIDEuNjEgMCAyLjY0IDEuMDQ3IDEuMDQ3IDEuMDQ2IDEuMDMyIDIuNzE4em0tLjY3Mi0uNjU2cS0uMTg3LTEuMDk0LTEuMDMxLTEuNzY2LS44MjgtLjY4Ny0xLjk2OS0uNjg3LTEuMTU2IDAtMS45ODQuNjcyLS44MjguNjcyLTEuMDMyIDEuNzgxem01LjkzLTIuODc1djEuNjU2cTEuMjgxLTEuMTU2IDEuOTIyLTEuNDg0LjY0LS4zNDQgMS4xNzEtLjM0NC41OTQgMCAxLjA5NC40MDYuNS4zOTEuNS41OTQgMCAuMTQtLjA5My4yNS0uMDk0LjA5NC0uMjUuMDk0LS4wNzkgMC0uMTQxLS4wMzEtLjA0Ny0uMDMyLS4xODgtLjE3Mi0uMjgtLjI4MS0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDcuMzQ0LS41OTQuMzQ0LTIuMDk0IDEuNjg4djMuNTkzaDIuOTA2cS4yNSAwIC4zNDQuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjM0NC4wOTRoLTUuMTRxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMjUuMDk0LS4yMTguMDkzLS4wOTQuMzQzLS4wOTRoMS41Nzl2LTUuNDY5SDc2Ny41cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMDkzLS4wOTQuMzQzLS4wOTR6bTEyLjYwMSAxLjIwM3YtMS4yMDNoMS41MzJxLjIzNCAwIC4zMjguMDk0LjEwOS4wOTMuMTA5LjIzNCAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjcuMDk0aC0uODc1djYuNTYzcTAgLjY1Ni0uMjgyIDEuMTcyLS4xODcuMzQzLS42MjUuNzAzLS40MzcuMzc1LS43OTcuNTMtLjM1OS4xNTctLjk2OC4xNTdoLTEuODZxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDc4LS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgxLjg5cS41NzkgMCAxLjAzMi0uMjk3LjQ2OS0uMjk3Ljc4MS0uODYuMTcyLS4zMjcuMTcyLS44NDN2LTEuOTY5cS0xLjA2MiAxLjQzOC0yLjcxOCAxLjQzOC0xLjM2IDAtMi4zNDQtMS0uOTY5LTEtLjk2OS0yLjQyMiAwLTEuNDA2Ljk2OS0yLjQwNi45ODQtMSAyLjM0NC0xIDEuNjU2IDAgMi43MTggMS40Mzd6bTAgMS45NjlxMC0xLjE1Ni0uNzk3LTEuOTUzLS43OTYtLjc5Ny0xLjg5LS43OTctMS4xMSAwLTEuOTA2LjgxMi0uNzgyLjc5Ny0uNzgyIDEuOTM4IDAgMS4xNTYuNzgyIDEuOTY5Ljc5Ni43OTcgMS45MDYuNzk3IDEuMDk0IDAgMS44OS0uNzk3Ljc5Ny0uODEzLjc5Ny0xLjk3em0xMC45NDYuMzZoLTYuNjg4cS4xNzIgMS4yOCAxLjA2MyAyLjA2Mi44OS43NjUgMi4yMTguNzY1LjczNSAwIDEuNTMyLS4yMzQuODEyLS4yNSAxLjMxMi0uNjQuMTU2LS4xMjYuMjY2LS4xMjYuMTI1IDAgLjIxOC4xMS4wOTQuMDkzLjA5NC4yMTkgMCAuMTQtLjEyNS4yNjUtLjM3NS4zOS0xLjM0NC43MzUtLjk1My4zNDMtMS45NTMuMzQzLTEuNjg3IDAtMi44MjgtMS4xMS0xLjEyNS0xLjEwOC0xLjEyNS0yLjY4NyAwLTEuNDIxIDEuMDYzLTIuNDM3IDEuMDYyLTEuMDMxIDIuNjI1LTEuMDMxIDEuNjA5IDAgMi42NCAxLjA0NyAxLjA0NyAxLjA0NiAxLjAzMiAyLjcxOHptLS42NzItLjY1N3EtLjE4OC0xLjA5NC0xLjAzMi0xLjc2Ni0uODI4LS42ODctMS45NjgtLjY4Ny0xLjE1NyAwLTEuOTg1LjY3Mi0uODI4LjY3Mi0xLjAzIDEuNzgxem0xOC40ODQtMi40NTNxMC0uMjE5LjA5NC0uMzEzLjA5My0uMTA5LjIzNC0uMTA5LjE1NiAwIC4yNS4xMS4wOTQuMDkzLjA5NC4zMjh2MS4xMjVxMCAuMjM0LS4wOTQuMzQzLS4wOTQuMDk0LS4yNS4wOTQtLjEyNSAwLS4yMTktLjA3OC0uMDkzLS4wOTQtLjEwOS0uMjgxLS4wNDctLjQ3LS40ODQtLjc4Mi0uNjQxLS40MzctMS42ODgtLjQzNy0xLjExIDAtMS43MTkuNDUzLS40NTMuMzI4LS40NTMuNzUgMCAuNDY5LjU0Ny43ODEuMzc1LjIxOSAxLjQyMi4zMjggMS4zNi4xNTcgMS44OS4zNDQuNzY2LjI2NiAxLjEyNi43NS4zNzUuNDg0LjM3NSAxLjA0NyAwIC44NDQtLjgxMyAxLjUtLjc5Ny42NTYtMi4zNDQuNjU2LTEuNTYyIDAtMi41NDYtLjc5NyAwIC4yNjYtLjAzMi4zNDQtLjAzLjA3OC0uMTI1LjE0LS4wNzguMDQ4LS4xNzIuMDQ4LS4xNCAwLS4yMzQtLjA5NC0uMDk0LS4xMS0uMDk0LS4zNDR2LTEuMzZxMC0uMjM0LjA3OC0uMzI3LjA5NC0uMTEuMjUtLjExLjE0MSAwIC4yMzUuMTEuMDk0LjA5My4wOTQuMjUgMCAuMzU5LjE4Ny42MDkuMjY2LjM3NS44Ni42MjUuNjA5LjIzNCAxLjQ2OC4yMzQgMS4yODEgMCAxLjkwNi0uNDY4LjYyNS0uNDg1LjYyNS0xLjAxNiAwLS42MS0uNjI1LS45NjktLjY0LS4zNzUtMS44NzUtLjUtMS4yMTgtLjEyNS0xLjc1LS4zMjgtLjUzLS4yMDMtLjgyOC0uNjEtLjI5Ny0uNDA1LS4yOTctLjg3NCAwLS44NDQuODI5LTEuMzI4LjgyOC0uNSAxLjk4NC0uNSAxLjM2IDAgMi4yMDMuNjU2em02LjA4Ni0uNDIyaDMuNTYzcS4yMzQgMCAuMzI4LjA5NC4xMDkuMDkzLjEwOS4yMzQgMCAuMTQtLjExLjIzNC0uMDkzLjA5NC0uMzI3LjA5NGgtMy41NjN2NC4zNzVxMCAuNTYzLjQ1My45NTMuNDY5LjM3NSAxLjM0NC4zNzUuNjcyIDAgMS40MzctLjE4Ny43ODItLjIwMyAxLjIwNC0uNDUzLjE1Ni0uMTEuMjY1LS4xMS4xMjUgMCAuMjE5LjExLjA5NC4wOTMuMDk0LjIxOHQtLjExLjIycS0uMjUuMjY1LTEuMjE5LjU3Ny0uOTUzLjI5Ny0xLjg0My4yOTctMS4xNCAwLTEuODI4LS41NDctLjY3Mi0uNTQ3LS42NzItMS40NTN2LTQuMzc1aC0xLjIxOXEtLjIzNCAwLS4zNDQtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjM0IDAtLjE0LjA5My0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMS4yMTl2LTEuOTM4cTAtLjIzNC4wOTMtLjMyOC4wOTQtLjEwOS4yMzUtLjEwOS4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMzI4em0xMi44MzYgNi43NjZ2LS45NTNxLTEuNDIyIDEuMjE4LTMuMDQ3IDEuMjE4LTEuMTg3IDAtMS44Ni0uNTkzLS42NTYtLjYxLS42NTYtMS40ODUgMC0uOTUzLjg3NS0xLjY1Ni44NzUtLjcxOSAyLjU2My0uNzE5LjQ1MyAwIC45ODQuMDYzLjUzMi4wNjIgMS4xNDEuMTg3di0xLjA2MnEwLS41NDctLjUtLjkzOC0uNS0uNDA2LTEuNS0uNDA2LS43NjYgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjkuMDc4LS4xMjUgMC0uMjE5LS4wOTQtLjA3OC0uMDkzLS4wNzgtLjIzNCAwLS4xNC4wNzgtLjIxOS4xMS0uMTEuODc1LS4zMTIgMS4yMi0uMzI4IDEuODQ0LS4zMjggMS4yNSAwIDEuOTM4LjYwOS43MDMuNjEuNzAzIDEuMzl2NC4zNDRoLjg3NXEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5NC0uMzI4LjA5NHptMC0zLjI2NnEtLjQ1My0uMTQtLjk2OS0uMjAzLS41MTUtLjA2My0xLjA5NC0uMDYzLTEuNDIxIDAtMi4yMzQuNjI1LS42MS40NTQtLjYxIDEuMDk0IDAgLjU5NC40NyAxIC40NjguNDA2IDEuMzU5LjQwNi44NDQgMCAxLjU3OC0uMzI4LjczNC0uMzQzIDEuNS0xLjA5M3ptMTAuNDYtMi44NDR2LS4yMThxMC0uMjM1LjA5NS0uMzI5LjA5My0uMTA5LjIzNC0uMTA5LjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zMjh2MS40ODRxMCAuMjUtLjA5NC4zNi0uMDkzLjA5My0uMjM0LjA5My0uMTQgMC0uMjM0LS4wOTQtLjA3OS0uMDkzLS4wOTQtLjI5Ny0uMDQ3LS41NjItLjczNC0xLjA2Mi0uNjg4LS41LTEuODQ0LS41LTEuNDUzIDAtMi4yMTkuOTIyLS43NS45MDYtLjc1IDIuMDk0IDAgMS4yNjUuODI4IDIuMDkzLjg0NC44MjggMi4xNzIuODI4Ljc2NiAwIDEuNTQ3LS4yOC43OTctLjI4MiAxLjQzNy0uOTA3LjE3Mi0uMTU2LjI5Ny0uMTU2dC4yMTkuMDkzcS4wOTQuMDk0LjA5NC4yMiAwIC4zNDMtLjc5Ny44NTgtMS4yNjYuODQ0LTIuODI4Ljg0NC0xLjU5NCAwLTIuNjEtMS4wMTUtMS4wMTUtMS4wMTYtMS4wMTUtMi41NzkgMC0xLjU3OCAxLjAzMS0yLjYyNSAxLjA0Ny0xLjA0NiAyLjY0LTEuMDQ2IDEuNSAwIDIuNTMyLjg5em01LjUyNCAzLjE4OHYyLjkyMmgtMS41M3EtLjIzNSAwLS4zNDUtLjA5NC0uMDkzLS4wOTQtLjA5My0uMjM0IDAtLjE1Ny4wOTMtLjIzNS4xMS0uMDk0LjM0NC0uMDk0aC44NzV2LTguNDg0aC0uODc1cS0uMjM0IDAtLjM0NC0uMDk0LS4wOTMtLjA5My0uMDkzLS4yNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDEuNTMxdjYuMDQ3bDIuNzk3LTIuMzQ0aC0uMzQ0cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDMtLjA5NGgyLjExcS4yMzQgMCAuMzI4LjA5NC4xMS4wOTQuMTEuMjM0dC0uMTEuMjM1cS0uMDk0LjA5My0uMzI4LjA5M2gtLjc2NmwtMi41NjIgMi4xNDEgMy4yNSAzLjMxMmguNzVxLjI1IDAgLjM0My4wOTQuMTEuMDc4LjExLjIzNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zNDMuMDk0aC0yLjEyNXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM0IDAtLjE1Ny4wOTQtLjIzNS4xMS0uMDk0LjM0NC0uMDk0aC40NjhsLTIuODI4LTIuOTA2em0yMi43MDMtMy40MjJxMC0uMjE5LjA5NC0uMzEzLjA5NC0uMTA5LjIzNS0uMTA5LjE1NiAwIC4yNS4xMS4wOTMuMDkzLjA5My4zMjh2MS4xMjVxMCAuMjM0LS4wOTMuMzQzLS4wOTQuMDk0LS4yNS4wOTQtLjEyNSAwLS4yMi0uMDc4LS4wOTMtLjA5NC0uMTA5LS4yODEtLjA0Ni0uNDctLjQ4NC0uNzgyLS42NC0uNDM3LTEuNjg3LS40MzctMS4xMSAwLTEuNzIuNDUzLS40NTIuMzI4LS40NTIuNzUgMCAuNDY5LjU0Ny43ODEuMzc1LjIxOSAxLjQyMS4zMjggMS4zNi4xNTcgMS44OTEuMzQ0Ljc2Ni4yNjYgMS4xMjUuNzUuMzc1LjQ4NC4zNzUgMS4wNDcgMCAuODQ0LS44MTIgMS41LS43OTcuNjU2LTIuMzQ0LjY1Ni0xLjU2MyAwLTIuNTQ3LS43OTcgMCAuMjY2LS4wMzEuMzQ0LS4wMzEuMDc4LS4xMjUuMTQtLjA3OC4wNDgtLjE3Mi4wNDgtLjE0IDAtLjIzNS0uMDk0LS4wOTMtLjExLS4wOTMtLjM0NHYtMS4zNnEwLS4yMzQuMDc4LS4zMjcuMDk0LS4xMS4yNS0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjI1IDAgLjM1OS4xODcuNjA5LjI2Ni4zNzUuODYuNjI1LjYxLjIzNCAxLjQ2OS4yMzQgMS4yOCAwIDEuOTA2LS40NjguNjI1LS40ODUuNjI1LTEuMDE2IDAtLjYxLS42MjUtLjk2OS0uNjQtLjM3NS0xLjg3NS0uNS0xLjIxOS0uMTI1LTEuNzUtLjMyOC0uNTMxLS4yMDMtLjgyOC0uNjEtLjI5Ny0uNDA1LS4yOTctLjg3NCAwLS44NDQuODI4LTEuMzI4LjgyOC0uNSAxLjk4NC0uNSAxLjM2IDAgMi4yMDMuNjU2em02LjA4Ni0uNDIyaDMuNTYzcS4yMzQgMCAuMzI4LjA5NC4xMS4wOTMuMTEuMjM0IDAgLjE0LS4xMS4yMzQtLjA5NC4wOTQtLjMyOC4wOTRoLTMuNTYzdjQuMzc1cTAgLjU2My40NTQuOTUzLjQ2OC4zNzUgMS4zNDMuMzc1LjY3MiAwIDEuNDM4LS4xODcuNzgxLS4yMDMgMS4yMDMtLjQ1My4xNTYtLjExLjI2Ni0uMTEuMTI1IDAgLjIxOC4xMS4wOTQuMDkzLjA5NC4yMTh0LS4xMS4yMnEtLjI1LjI2NS0xLjIxOC41NzctLjk1My4yOTctMS44NDQuMjk3LTEuMTQgMC0xLjgyOC0uNTQ3LS42NzItLjU0Ny0uNjcyLTEuNDUzdi00LjM3NWgtMS4yMTlxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgxLjIydi0xLjkzOHEwLS4yMzQuMDkzLS4zMjguMDkzLS4xMDkuMjM0LS4xMDkuMTQgMCAuMjM1LjExLjA5My4wOTMuMDkzLjMyOHptMTIuODM2IDYuNzY2di0uOTUzcS0xLjQyMiAxLjIxOC0zLjA0NyAxLjIxOC0xLjE4NyAwLTEuODU5LS41OTMtLjY1Ni0uNjEtLjY1Ni0xLjQ4NSAwLS45NTMuODc1LTEuNjU2Ljg3NS0uNzE5IDIuNTYyLS43MTkuNDUzIDAgLjk4NS4wNjMuNTMxLjA2MiAxLjE0LjE4N3YtMS4wNjJxMC0uNTQ3LS41LS45MzgtLjUtLjQwNi0xLjUtLjQwNi0uNzY1IDAtMi4xNC40NTMtLjI1LjA3OC0uMzI4LjA3OC0uMTI1IDAtLjIyLS4wOTQtLjA3Ny0uMDkzLS4wNzctLjIzNCAwLS4xNC4wNzgtLjIxOS4xMS0uMTEuODc1LS4zMTIgMS4yMTktLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzNy42MDkuNzAzLjYxLjcwMyAxLjM5djQuMzQ0aC44NzVxLjIzNSAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5My4wOTQtLjMyOC4wOTR6bTAtMy4yNjZxLS40NTMtLjE0LS45NjgtLjIwMy0uNTE2LS4wNjMtMS4wOTQtLjA2My0xLjQyMiAwLTIuMjM1LjYyNS0uNjA5LjQ1NC0uNjA5IDEuMDk0IDAgLjU5NC40NjkgMXQxLjM2LjQwNnEuODQzIDAgMS41NzctLjMyOC43MzUtLjM0MyAxLjUtMS4wOTN6bTYuMzY4LTMuNWgzLjU2MnEuMjM0IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTQuMDk0LS4zMjguMDk0aC0zLjU2MnY0LjM3NXEwIC41NjMuNDUzLjk1My40NjguMzc1IDEuMzQzLjM3NS42NzIgMCAxLjQzOC0uMTg3Ljc4MS0uMjAzIDEuMjAzLS40NTMuMTU2LS4xMS4yNjYtLjExLjEyNSAwIC4yMTguMTEuMDk0LjA5My4wOTQuMjE4dC0uMTEuMjJxLS4yNS4yNjUtMS4yMTguNTc3LS45NTMuMjk3LTEuODQ0LjI5Ny0xLjE0IDAtMS44MjgtLjU0Ny0uNjcyLS41NDctLjY3Mi0xLjQ1M3YtNC4zNzVoLTEuMjE5cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDMtLjA5NGgxLjIydi0xLjkzOHEwLS4yMzQuMDkzLS4zMjguMDk0LS4xMDkuMjM0LS4xMDl0LjIzNS4xMXEuMDkzLjA5My4wOTMuMzI4em0xNC41MDcgMy41MzFoLTYuNjg3cS4xNzIgMS4yODIgMS4wNjIgMi4wNjMuODkxLjc2NSAyLjIyLjc2NS43MzMgMCAxLjUzLS4yMzQuODEzLS4yNSAxLjMxMy0uNjQuMTU2LS4xMjYuMjY1LS4xMjYuMTI1IDAgLjIyLjExLjA5My4wOTMuMDkzLjIxOSAwIC4xNC0uMTI1LjI2NS0uMzc1LjM5LTEuMzQ0LjczNS0uOTUzLjM0My0xLjk1My4zNDMtMS42ODcgMC0yLjgyOC0xLjExLTEuMTI1LTEuMTA4LTEuMTI1LTIuNjg3IDAtMS40MjEgMS4wNjItMi40MzcgMS4wNjMtMS4wMzEgMi42MjUtMS4wMzEgMS42MSAwIDIuNjQxIDEuMDQ3IDEuMDQ3IDEuMDQ2IDEuMDMxIDIuNzE4em0tLjY3Mi0uNjU2cS0uMTg3LTEuMDk0LTEuMDMtMS43NjYtLjgyOS0uNjg3LTEuOTctLjY4Ny0xLjE1NiAwLTEuOTg0LjY3Mi0uODI4LjY3Mi0xLjAzMSAxLjc4MXpNNDk4LjMxNCA2MzMuMTQ3di42NTZxLjg0NC0uODkgMS42ODctLjg5LjUgMCAuODc1LjI2NS4zOS4yNjYuNjU3LjgxMy40MzctLjU0Ny44NzUtLjgxMy40NTMtLjI2NS45MDYtLjI2NS43MTkgMCAxLjE0LjQ1My41NDcuNTk0LjU0NyAxLjI5N3Y0LjU5M2guNTYzcS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zMjguMDk0aC0xLjIxOXYtNS4xODhxMC0uNS0uMzEyLS44MjgtLjI5Ny0uMzI4LS42ODgtLjMyOC0uMzYgMC0uNzY2LjI4MS0uMzkuMjY2LS45MDYgMS4wNDd2NC4zNmguNTQ3cS4yMzQgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0xLjIwM3YtNS4xNHEwLS41MTYtLjMxMy0uODYtLjMxMi0uMzQzLS42ODctLjM0My0uMzYgMC0uNzAzLjIzNC0uNDY5LjMxMy0xIDEuMDk0djQuMzZoLjU2MnEuMjM1IDAgLjMyOC4wOTMuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5NC0uMzI4LjA5NGgtMS43NjVxLS4yMzUgMC0uMzQ0LS4wOTQtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGguNTQ3di01LjQ1M2gtLjU0N3EtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTR6bTE2LjI1OCAzLjM5cTAgMS41LTEuMDc4IDIuNTc5LTEuMDYzIDEuMDYyLTIuNTc5IDEuMDYyLTEuNTMgMC0yLjYwOS0xLjA2Mi0xLjA2My0xLjA3OC0xLjA2My0yLjU3OCAwLTEuNSAxLjA2My0yLjU2MyAxLjA3OC0xLjA2MiAyLjYxLTEuMDYyIDEuNTE1IDAgMi41NzggMS4wNjIgMS4wNzggMS4wNjMgMS4wNzggMi41NjN6bS0uNjU3IDBxMC0xLjIzNC0uODktMi4wOTMtLjg3NS0uODc1LTIuMTI1LS44NzV0LTIuMTI1Ljg3NXEtLjg3NS44NzUtLjg3NSAyLjA5NCAwIDEuMjE4Ljg3NSAyLjA5M3QyLjEyNS44NzVxMS4yNSAwIDIuMTI1LS44NTkuODktLjg3NS44OS0yLjExem03LjE2NCAzLjM3NmgtMS4xMDlsLTIuNjg3LTYuMTFoLS42NzJxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuNDUzcS4yMzQgMCAuMzI4LjA5NC4xMS4wOTQuMTEuMjM0dC0uMTEuMjM1cS0uMDk0LjA5My0uMzI4LjA5M2gtMS4wNzhsMi40MDYgNS40NTNoLjI4MWwyLjM2LTUuNDUzaC0xLjA5NHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoMi40NjlxLjI1IDAgLjM0My4wOTQuMDk0LjA5NC4wOTQuMjM0dC0uMDk0LjIzNXEtLjA5My4wOTMtLjM0My4wOTNoLS42NTd6bTkuMzY4LTkuODEzdjkuMTU2aDIuNTc4cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zMjguMDk0aC01LjgxM3EtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgyLjU3OHYtOC40ODRoLTEuODlxLS4yMzUgMC0uMzQ0LS4wOTQtLjExLS4wOTMtLjExLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bTE4LjA3OCAzLjA0N3YxLjY1NnExLjI4MS0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTkzIDAgMS4wOTMuNDA2LjUuMzkxLjUuNTk0IDAgLjE0LS4wOTMuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc5IDAtLjE0MS0uMDMxLS4wNDctLjAzMi0uMTg4LS4xNzItLjI4LS4yODEtLjQ4NC0uMzc1LS4yMDMtLjExLS4zOS0uMTEtLjQzOCAwLTEuMDQ3LjM0NC0uNTk0LjM0NC0yLjA5NCAxLjY4OHYzLjU5M2gyLjkwNnEuMjUgMCAuMzQ0LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zNDQuMDk0aC01LjE0cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTI1LjA5NC0uMjE4LjA5My0uMDk0LjM0My0uMDk0aDEuNTc5di01LjQ2OWgtMS4yMDRxLS4yMzQgMC0uMzQzLS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4wOTMtLjA5NC4zNDMtLjA5NHptMTMuNjAxLTMuMDQ3djkuMTU2aC44NzVxLjI1IDAgLjM0NC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5NC0uMzQ0LjA5NGgtMS41M1Y2MzguNnEtMS4xNDIgMS41NzgtMi45MDcgMS41NzgtLjg5IDAtMS43MDMtLjQ2OS0uODEzLS40ODQtMS4yOTctMS4zNTktLjQ2OS0uODc1LS40NjktMS44MTIgMC0uOTM4LjQ2OS0xLjc5Ny40ODQtLjg3NSAxLjI5Ny0xLjM0NC44MTItLjQ4NCAxLjcxOC0uNDg0IDEuNzIgMCAyLjg5MSAxLjU2MnYtMy43MDNoLS44NzVxLS4yNSAwLS4zNi0uMDk0LS4wOTMtLjA5My0uMDkzLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bS0uNjU2IDYuNDM4cTAtMS4yNS0uODQ0LTIuMTEtLjg0My0uODYtMi4wMTUtLjg2LTEuMTcyIDAtMi4wMTYuODYtLjg0NC44Ni0uODQ0IDIuMTF0Ljg0NCAyLjEwOXEuODQ0Ljg2IDIuMDE2Ljg2IDEuMTcyIDAgMi4wMTUtLjg2Ljg0NC0uODYuODQ0LTIuMTF6bTcuNDkyLS4xNzJsMy4wMTYgMi44OXEuMjk3IDAgLjM3NS4wMzIuMDc4LjAxNS4xMjUuMTA5LjA2Mi4wNzguMDYyLjE4NyAwIC4xNDEtLjEwOS4yMzUtLjA5NC4wOTQtLjMyOC4wOTRoLTIuMTFxLS4yNSAwLS4zNTktLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTRoMS4wNzhsLTIuNTQ3LTIuNDUzLTIuNTQ3IDIuNDUzaDEuMDk0cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zMjguMDk0aC0yLjEyNXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEwOS4wNDctLjE4Ny4wNjMtLjA5NC4xNC0uMTEuMDc5LS4wMy4zNzYtLjAzbDMtMi44OTEtMi42NzItMi41NjNxLS4yODEgMC0uMzYtLjAzLS4wNjItLjAzMi0uMTI1LS4xMS0uMDYyLS4wOTQtLjA2Mi0uMTg4IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM1OS0uMDk0aDEuNzgxcS4yNSAwIC4zNDQuMDk0LjA5NC4wOTQuMDk0LjIzNHQtLjA5NC4yMzVxLS4wOTQuMDkzLS4zNDQuMDkzaC0uNzgxbDIuMjE5IDIuMTQgMi4yMTktMi4xNGgtLjc4MnEtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDEuNzk3cS4yMzUgMCAuMzI4LjA5NC4xMS4wOTQuMTEuMjM0IDAgLjA5NC0uMDYzLjE4OC0uMDYyLjA3OC0uMTQuMTEtLjA2My4wMy0uMzQ0LjAzem03Ljg1MiAxLjE4N2gyLjE0bC0yLjMyOCA0LjMxM3EtLjIwMy4zOS0uNS4zOS0uMjAzIDAtLjM0My0uMTQtLjEyNS0uMTI1LS4xMjUtLjMyOCAwLS4wNzguMDE1LS4xNzJ6bTIwLjg0NC02Ljc4MXYxMC41MTZoMS41OTNxLjIzNSAwIC4zMjguMDc4LjExLjA5My4xMS4yNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC0yLjI1VjYzMC4xaDIuMjVxLjIzNSAwIC4zMjguMDk0LjExLjA5My4xMS4yNSAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0em04LjQ3NiAyLjM3NXYxLjY1NnExLjI4MS0xLjE1NiAxLjkyMi0xLjQ4NC42NC0uMzQ0IDEuMTcyLS4zNDQuNTk0IDAgMS4wOTQuNDA2LjUuMzkxLjUuNTk0IDAgLjE0LS4wOTQuMjUtLjA5NC4wOTQtLjI1LjA5NC0uMDc4IDAtLjE0LS4wMzEtLjA0OC0uMDMyLS4xODgtLjE3Mi0uMjgxLS4yODEtLjQ4NS0uMzc1LS4yMDMtLjExLS4zOS0uMTEtLjQzOCAwLTEuMDQ3LjM0NC0uNTk0LjM0NC0yLjA5NCAxLjY4OHYzLjU5M2gyLjkwNnEuMjUgMCAuMzQ0LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDk0LS4zNDQuMDk0aC01LjE0cS0uMjM1IDAtLjM0NC0uMDk0LS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTI1LjA5NC0uMjE4LjA5NC0uMDk0LjM0NC0uMDk0aDEuNTc4di01LjQ2OWgtMS4yMDNxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNHQuMzQ0LS4wOTR6bTEyLjU1NS40MjJxMC0uMjE5LjA5NC0uMzEzLjA5My0uMTA5LjIzNC0uMTA5LjE1NiAwIC4yNS4xMS4wOTQuMDkzLjA5NC4zMjh2MS4xMjVxMCAuMjM0LS4wOTQuMzQzLS4wOTQuMDk0LS4yNS4wOTQtLjEyNSAwLS4yMTktLjA3OC0uMDk0LS4wOTQtLjExLS4yODEtLjA0Ni0uNDctLjQ4NC0uNzgyLS42NC0uNDM3LTEuNjg3LS40MzctMS4xMSAwLTEuNzE5LjQ1My0uNDUzLjMyOC0uNDUzLjc1IDAgLjQ2OS41NDcuNzgxLjM3NS4yMTkgMS40MjIuMzI4IDEuMzYuMTU3IDEuODkuMzQ0Ljc2Ni4yNjYgMS4xMjUuNzUuMzc1LjQ4NC4zNzUgMS4wNDcgMCAuODQ0LS44MTIgMS41LS43OTcuNjU2LTIuMzQ0LjY1Ni0xLjU2MiAwLTIuNTQ3LS43OTcgMCAuMjY2LS4wMy4zNDQtLjAzMi4wNzgtLjEyNi4xNC0uMDc4LjA0OC0uMTcyLjA0OC0uMTQgMC0uMjM0LS4wOTQtLjA5NC0uMTEtLjA5NC0uMzQ0di0xLjM2cTAtLjIzNC4wNzgtLjMyNy4wOTQtLjExLjI1LS4xMS4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjUgMCAuMzU5LjE4OC42MDkuMjY1LjM3NS44Ni42MjUuNjA5LjIzNCAxLjQ2OC4yMzQgMS4yODEgMCAxLjkwNi0uNDY4LjYyNS0uNDg1LjYyNS0xLjAxNiAwLS42MS0uNjI1LS45NjktLjY0LS4zNzUtMS44NzUtLjUtMS4yMTktLjEyNS0xLjc1LS4zMjgtLjUzMS0uMjAzLS44MjgtLjYxLS4yOTctLjQwNS0uMjk3LS44NzQgMC0uODQ0LjgyOC0xLjMyOC44MjgtLjUgMS45ODUtLjUgMS4zNTkgMCAyLjIwMy42NTZ6bTQuOTYtLjQyMnYxLjE4OHEuNTk1LS43MDQgMS4yNjYtMS4wNjMuNjcyLS4zNiAxLjU3OS0uMzYuOTY4IDAgMS43OC40NTQuODI5LjQ1MyAxLjI4MiAxLjI2NS40NTMuNzk3LjQ1MyAxLjY4OCAwIDEuNDIyLTEuMDE1IDIuNDIyLTEuMDE2IDEtMi40ODUgMS0xLjc2NSAwLTIuODYtMS40MjJ2My45NTNoMS41OTVxLjIzNCAwIC4zMjguMDk0LjEwOS4wOTMuMTA5LjIzNCAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjcuMDk0aC0zLjEyNXEtLjIzNSAwLS4zNDQtLjA5NC0uMDk0LS4wNzgtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzQ0LS4wOTRoLjg3NXYtOC40NjloLS44NzVxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em01LjY4OCAzLjE3MnEwLTEuMTI1LS44MjgtMS45MzgtLjgxMi0uODEyLTItLjgxMi0xLjIwMyAwLTIuMDMxLjgxMi0uODI4LjgxMy0uODI4IDEuOTM4IDAgMS4xNC44MjggMS45NTMuODI4LjgxMyAyLjAzMS44MTMgMS4xNzIgMCAyLS44MTMuODI4LS44MTMuODI4LTEuOTUzem02LjcyNy0uNjU2djMuMjhxMCAuMjM1LS4wOTQuMzQ1LS4wOTQuMDkzLS4yNS4wOTMtLjE0IDAtLjIzNC0uMDkzLS4wOTQtLjExLS4wOTQtLjM0NHYtMy4yODFoLTIuOTA2cS0uMjM1IDAtLjM0NC0uMDc4LS4wOTQtLjA5NC0uMDk0LS4yNSAwLS4xNDEuMDk0LS4yMzUuMTEtLjA5NC4zNDQtLjA5NGgyLjkwNnYtMy4yNjVxMC0uMjM1LjA5NC0uMzI4LjA5My0uMTEuMjUtLjExLjE0IDAgLjIzNC4xMS4wOTQuMDkzLjA5NC4zMjh2My4yNjVoMi45MDZxLjIzNCAwIC4zMjguMDk0LjExLjA5NC4xMS4yMzUgMCAuMTU2LS4xMS4yNS0uMDkzLjA3OC0uMzI4LjA3OHptMTIuMjczLTEuNDd2MS42MjZxMCAyLjEyNS0xIDMuMzYtLjc5Ny45NjgtMiAuOTY4LS41NzggMC0xLjA5My0uMjM0LS41LS4yMzUtLjg2LS42NDEtLjIzNC0uMjY2LS41LS44MjgtLjI2NS0uNTc4LS4zOS0xLjA0Ny0uMTcyLS42NzItLjE3Mi0xLjU3OHYtMS42MjVxMC0yLjEyNSAxLTMuMzYuNzk3LS45NjggMi0uOTY4LjU3OCAwIDEuMDc4LjIzNC41MTUuMjM1Ljg3NS42NC4yMzQuMjY2LjUuODQ1LjI2NS41NjIuMzkgMS4wMy4xNzIuNjczLjE3MiAxLjU3OXptLS42NTYuMDk1cTAtLjkzOC0uMjY2LTEuNzM1LS4yNS0uNzk3LS41NzgtMS4yODEtLjIwMy0uMjY2LS41MTUtLjQ2OS0uNDM4LS4yNjUtMS0uMjY1LTEuMDk0IDAtMS43MiAxLjEyNS0uNjI0IDEuMTI1LS42MjQgMi42MjV2MS40MzdxMCAuOTM4LjI1IDEuNzUuMjY2Ljc5Ny42MSAxLjI2Ni4xODcuMjY1LjUuNDY4LjQzNy4yODIgMSAuMjgyIDEuMDkzIDAgMS43MTgtMS4xMjUuNjI1LTEuMTQuNjI1LTIuNjR6bTcuNjk1IDIuMDc4bDMuMDE2IDIuODlxLjI5NyAwIC4zNzUuMDMyLjA3OC4wMTUuMTI1LjEwOS4wNjIuMDc4LjA2Mi4xODcgMCAuMTQxLS4xMDkuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC0yLjExcS0uMjUgMC0uMzU5LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuMDc4bC0yLjU0Ny0yLjQ1My0yLjU0NyAyLjQ1M2gxLjA5NHEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M2gtMi4xMjVxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMDkuMDQ3LS4xODcuMDYzLS4wOTQuMTQtLjExLjA3OS0uMDMuMzc2LS4wM2wzLTIuODkxLTIuNjcyLTIuNTYzcS0uMjgxIDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjQtLjExLS4wNjMtLjA5My0uMDYzLS4xODcgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzhxLjI1IDAgLjM0NC4wOTQuMDk0LjA5My4wOTQuMjM0IDAgLjE0LS4wOTQuMjM1LS4wOTQuMDkzLS4zNDQuMDkzaC0uNzhsMi4yMTggMi4xNCAyLjIxOS0yLjE0aC0uNzgycS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTRoMS43OTdxLjIzNSAwIC4zMjguMDk0LjExLjA5My4xMS4yMzQgMCAuMDk0LS4wNjMuMTg4LS4wNjIuMDc4LS4xNC4xMDktLjA2My4wMzEtLjM0NC4wMzF6bTkuNDc3LTYuMzl2OS4yOGgyLjI1cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC01LjE1NnEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuMjV2LTguMzc1bC0yLjE0MS42NzJxLS4xNTYuMDQ3LS4yMTkuMDQ3LS4xMjUgMC0uMjE4LS4wOTQtLjA5NC0uMTA5LS4wOTQtLjIzNHQuMDc4LS4yMTlxLjA2Mi0uMDYyLjI1LS4xNHptMTAuNjMzIDQuODQzcS44MTIuNDA2IDEuMjM0IDEuMDYyLjQyMi42NDEuNDIyIDEuMzkxIDAgMS4xNzItLjg3NSAyLjAzMS0uODc1Ljg0NC0yLjEyNS44NDR0LTIuMTI1LS44NDRxLS44NzUtLjg2LS44NzUtMi4wMzEgMC0uNzM0LjQwNi0xLjM5LjQyMi0uNjU3IDEuMjUtMS4wNjMtLjcxOS0uNDA2LTEuMDQ3LS44Ni0uNDUzLS42MjUtLjQ1My0xLjM5IDAtMS4wNzguODI4LTEuODkuODQ0LS44MTMgMi4wMTYtLjgxMyAxLjE3MiAwIDIgLjgxMi44MjguODEzLjgyOCAxLjg5IDAgLjc2Ni0uNDUzIDEuMzkxLS4zMTMuNDU0LTEuMDMxLjg2em0uODEyLTIuMjM1cTAtLjg0My0uNjI1LTEuNDM3LS42MjUtLjYxLTEuNTQ3LS42MS0uOTA2IDAtMS41My42MS0uNjI2LjYxLS42MjYgMS40MzcgMCAuNzY2LjYxIDEuMzQ0LjYyNC41NjMgMS41NDYuNTYzLjkzOCAwIDEuNTQ3LS41NjMuNjI1LS41NzguNjI1LTEuMzQ0em0uMTg4IDQuNzA0cTAtLjg2LS42NzItMS41LS42NzItLjY0MS0xLjY3Mi0uNjQxLTEgMC0xLjY3Mi42NC0uNjcyLjY0MS0uNjcyIDEuNSAwIC44OTEuNjcyIDEuNTQ3LjY3Mi42NTcgMS42NzIuNjU3Ljk4NCAwIDEuNjU2LS42NTcuNjg4LS42NTYuNjg4LTEuNTQ2em02Ljk0NSA0di0xMC41MTZoLTEuNTk0cS0uMjM0IDAtLjM0My0uMDk0LS4wOTQtLjA5My0uMDk0LS4yMzQgMC0uMTU2LjA5NC0uMjUuMTA5LS4wOTQuMzQzLS4wOTRoMi4yNXYxMS44NDRoLTIuMjVxLS4yMzQgMC0uMzQzLS4wOTQtLjA5NC0uMDkzLS4wOTQtLjIzNCAwLS4xNC4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NHptNDEuNjU2LTExLjY1N2wtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNC0uMTEtLjA5NC0uMDkzLS4wOTQtLjIwMyAwLS4wOTMuMDc4LS4yNjVsNS4yODItMTEuMzEzcS4wNzgtLjE4Ny4xNTYtLjIzNC4wNzgtLjA2My4xODctLjA2My4xNCAwIC4yMzUuMTEuMDkzLjA5My4wOTMuMjAzIDAgLjA5My0uMDc4LjI2NXptOS42MDIgMGwtNS4yODEgMTEuMzEzcS0uMTI1LjI5Ny0uMzQ0LjI5Ny0uMTI1IDAtLjIzNS0uMTEtLjA5My0uMDkzLS4wOTMtLjIwMyAwLS4wOTMuMDc4LS4yNjVsNS4yODEtMTEuMzEzcS4wNzgtLjE4Ny4xNTYtLjIzNC4wNzgtLjA2My4xODgtLjA2My4xNCAwIC4yMzQuMTEuMDk0LjA5My4wOTQuMjAzIDAgLjA5My0uMDc4LjI2NXptMTUuNDY5IDMuNTE2djEuNjU2cTEuMjgtMS4xNTYgMS45MjEtMS40ODQuNjQxLS4zNDQgMS4xNzItLjM0NC41OTQgMCAxLjA5NC40MDYuNS4zOTEuNS41OTQgMCAuMTQtLjA5NC4yNS0uMDkzLjA5NC0uMjUuMDk0LS4wNzggMC0uMTQtLjAzMS0uMDQ3LS4wMzItLjE4OC0uMTcyLS4yODEtLjI4Mi0uNDg0LS4zNzUtLjIwMy0uMTEtLjM5LS4xMS0uNDM4IDAtMS4wNDguMzQ0LS41OTMuMzQ0LTIuMDkzIDEuNjg4djMuNTkzaDIuOTA2cS4yNSAwIC4zNDQuMDk0LjEwOS4wNzguMTA5LjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5My0uMzQzLjA5M2gtNS4xNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEyNS4wOTQtLjIxOC4wOTMtLjA5NC4zNDMtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMDkzLS4wOTQuMzQzLS4wOTR6bTEzLjk0NSAzLjUzMWgtNi42ODhxLjE3MiAxLjI4MSAxLjA2MyAyLjA2My44OS43NjUgMi4yMTkuNzY1LjczNCAwIDEuNTMtLjIzNC44MTMtLjI1IDEuMzEzLS42NC4xNTctLjEyNi4yNjYtLjEyNi4xMjUgMCAuMjE5LjExLjA5My4wOTMuMDkzLjIxOCAwIC4xNDEtLjEyNS4yNjYtLjM3NS4zOS0xLjM0My43MzQtLjk1My4zNDQtMS45NTMuMzQ0LTEuNjg4IDAtMi44MjktMS4xMS0xLjEyNS0xLjEwOS0xLjEyNS0yLjY4NyAwLTEuNDIyIDEuMDYzLTIuNDM3IDEuMDYyLTEuMDMxIDIuNjI1LTEuMDMxIDEuNjEgMCAyLjY0IDEuMDQ2IDEuMDQ3IDEuMDQ3IDEuMDMyIDIuNzJ6bS0uNjcyLS42NTZxLS4xODctMS4wOTQtMS4wMzEtMS43NjYtLjgyOC0uNjg3LTEuOTY5LS42ODctMS4xNTYgMC0xLjk4NC42NzItLjgyOC42NzItMS4wMzIgMS43ODF6bTcuMDU1LTUuOTIydjkuMTU2aDIuNTc4cS4yMzQgMCAuMzI4LjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTQuMDkzLS4zMjguMDkzaC01LjgxM3EtLjIzNCAwLS4zNDMtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMDktLjA5NC4zNDMtLjA5NGgyLjU3OHYtOC40ODRoLTEuODlxLS4yMzUgMC0uMzQ0LS4wOTQtLjExLS4wOTMtLjExLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bTEyLjkzIDYuNDM4cTAgMS41LTEuMDc5IDIuNTc4LTEuMDYyIDEuMDYyLTIuNTc4IDEuMDYyLTEuNTMxIDAtMi42MS0xLjA2Mi0xLjA2Mi0xLjA3OC0xLjA2Mi0yLjU3OCAwLTEuNSAxLjA2My0yLjU2MyAxLjA3OC0xLjA2MiAyLjYxLTEuMDYyIDEuNTE1IDAgMi41NzcgMS4wNjIgMS4wNzggMS4wNjMgMS4wNzggMi41NjN6bS0uNjU3IDBxMC0xLjIzNS0uODktMi4wOTQtLjg3NS0uODc1LTIuMTI1LS44NzV0LTIuMTI1Ljg3NXEtLjg3NS44NzUtLjg3NSAyLjA5NCAwIDEuMjE4Ljg3NSAyLjA5M3QyLjEyNS44NzVxMS4yNSAwIDIuMTI1LS44NTkuODktLjg3NS44OS0yLjExem04LjQ3NyAzLjM3NXYtLjk1NHEtMS40MjIgMS4yMi0zLjA0NyAxLjIyLTEuMTg4IDAtMS44Ni0uNTk1LS42NTYtLjYwOS0uNjU2LTEuNDg0IDAtLjk1My44NzUtMS42NTYuODc1LS43MTkgMi41NjMtLjcxOS40NTMgMCAuOTg0LjA2My41MzEuMDYyIDEuMTQuMTg3di0xLjA2MnEwLS41NDctLjUtLjkzOC0uNS0uNDA2LTEuNS0uNDA2LS43NjUgMC0yLjE0LjQ1My0uMjUuMDc4LS4zMjguMDc4LS4xMjUgMC0uMjE5LS4wOTQtLjA3OC0uMDkzLS4wNzgtLjIzNCAwLS4xNC4wNzgtLjIxOS4xMS0uMTEuODc1LS4zMTIgMS4yMTktLjMyOCAxLjg0NC0uMzI4IDEuMjUgMCAxLjkzNy42MDkuNzA0LjYxLjcwNCAxLjM5djQuMzQ0aC44NzVxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTQtLjMyOC4wOTR6bTAtMy4yNjZxLS40NTMtLjE0LS45NjktLjIwM3QtMS4wOTQtLjA2M3EtMS40MjIgMC0yLjIzNC42MjUtLjYxLjQ1My0uNjEgMS4wOTQgMCAuNTk0LjQ3IDEgLjQ2OC40MDYgMS4zNTkuNDA2Ljg0MyAwIDEuNTc4LS4zMjguNzM0LS4zNDQgMS41LTEuMDk0em0xMC45My02LjU0N3Y5LjE1NmguODc0cS4yNSAwIC4zNDQuMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjM0NC4wOTNoLTEuNTNWNjM4LjZxLTEuMTQxIDEuNTc4LTIuOTA3IDEuNTc4LS44OSAwLTEuNzAzLS40NjktLjgxMy0uNDg0LTEuMjk3LTEuMzU5LS40NjktLjg3NS0uNDY5LTEuODEzIDAtLjkzNy40NjktMS43OTYuNDg0LS44NzUgMS4yOTctMS4zNDQuODEyLS40ODUgMS43MTktLjQ4NSAxLjcxOCAwIDIuODkgMS41NjN2LTMuNzAzaC0uODc1cS0uMjUgMC0uMzYtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0em0tLjY1NyA2LjQzOHEwLTEuMjUtLjg0NC0yLjExLS44NDMtLjg2LTIuMDE1LS44Ni0xLjE3MiAwLTIuMDE2Ljg2LS44NDQuODYtLjg0NCAyLjExdC44NDQgMi4xMDlxLjg0NC44NiAyLjAxNi44NiAxLjE3MiAwIDIuMDE1LS44Ni44NDQtLjg2Ljg0NC0yLjExem0xOC44MTMtMi45N3EwLS4yMTguMDkzLS4zMTIuMDk0LS4xMDkuMjM1LS4xMDkuMTU2IDAgLjI1LjExLjA5My4wOTMuMDkzLjMyN3YxLjEyNXEwIC4yMzUtLjA5My4zNDQtLjA5NC4wOTQtLjI1LjA5NC0uMTI1IDAtLjIxOS0uMDc4LS4wOTQtLjA5NC0uMTEtLjI4MS0uMDQ2LS40Ny0uNDg0LS43ODItLjY0LS40MzctMS42ODctLjQzNy0xLjExIDAtMS43MTkuNDUzLS40NTMuMzI4LS40NTMuNzUgMCAuNDY5LjU0Ny43ODEuMzc1LjIxOSAxLjQyMi4zMjggMS4zNTkuMTU3IDEuODkuMzQ0Ljc2Ni4yNjYgMS4xMjUuNzUuMzc1LjQ4NC4zNzUgMS4wNDcgMCAuODQ0LS44MTIgMS41LS43OTcuNjU2LTIuMzQ0LjY1Ni0xLjU2MyAwLTIuNTQ3LS43OTcgMCAuMjY2LS4wMzEuMzQ0LS4wMzEuMDc4LS4xMjUuMTQtLjA3OC4wNDgtLjE3Mi4wNDgtLjE0IDAtLjIzNC0uMDk0LS4wOTQtLjExLS4wOTQtLjM0NHYtMS4zNnEwLS4yMzQuMDc4LS4zMjcuMDk0LS4xMS4yNS0uMTEuMTQgMCAuMjM0LjExLjA5NC4wOTMuMDk0LjI1IDAgLjM1OS4xODguNjA5LjI2NS4zNzUuODU5LjYyNS42MS4yMzQgMS40NjkuMjM0IDEuMjgxIDAgMS45MDYtLjQ2OC42MjUtLjQ4NS42MjUtMS4wMTYgMC0uNjEtLjYyNS0uOTY5LS42NC0uMzc1LTEuODc1LS41LTEuMjE5LS4xMjUtMS43NS0uMzI4LS41MzEtLjIwMy0uODI4LS42MS0uMjk3LS40MDYtLjI5Ny0uODc0IDAtLjg0NC44MjgtMS4zMjguODI4LS41IDEuOTg0LS41IDEuMzYgMCAyLjIwNC42NTZ6bTQuOTYtLjQyMXYxLjE4N3EuNTk0LS43MDMgMS4yNjYtMS4wNjIuNjcyLS4zNiAxLjU3OC0uMzYuOTcgMCAxLjc4Mi40NTQuODI4LjQ1MyAxLjI4IDEuMjY1LjQ1NC43OTcuNDU0IDEuNjg4IDAgMS40MjItMS4wMTYgMi40MjItMS4wMTUgMS0yLjQ4NCAxLTEuNzY2IDAtMi44Ni0xLjQyMnYzLjk1M2gxLjU5NHEuMjM1IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4xNC0uMTEuMjM0LS4wOTMuMDk0LS4zMjguMDk0aC0zLjEyNXEtLjIzNCAwLS4zNDMtLjA5NC0uMDk0LS4wNzgtLjA5NC0uMjM0IDAtLjE0LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aC44NzV2LTguNDY5aC0uODc1cS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTA5LS4wOTQuMzQzLS4wOTR6bTUuNjg4IDMuMTcycTAtMS4xMjUtLjgyOC0xLjkzOC0uODEzLS44MTItMi0uODEyLTEuMjAzIDAtMi4wMzEuODEyLS44MjguODEzLS44MjggMS45MzggMCAxLjE0LjgyOCAxLjk1My44MjguODEyIDIuMDMxLjgxMiAxLjE3MiAwIDItLjgxMi44MjgtLjgxMy44MjgtMS45NTN6bTYuNzExLTYuNTQ3djEuNzAzaC0uOTY5di0xLjcwM3ptLjAzMSAzLjM3NXY2LjExaDIuNTc4cS4yMzUgMCAuMzI4LjA5My4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC01LjgxMnEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjE1Ni4wOTQtLjIzNC4xMS0uMDk0LjM0NC0uMDk0aDIuNTc4di01LjQ1M2gtMS45MjJxLS4yMzQgMC0uMzQ0LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNC4wOTMtLjIzNC4xMS0uMDk0LjM0NC0uMDk0em05LjU4Ni0zLjA0N3Y5LjE1NmgyLjU3OHEuMjM1IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5My0uMzI4LjA5M2gtNS44MTJxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xNTYuMDk0LS4yMzQuMTEtLjA5NC4zNDQtLjA5NGgyLjU3OHYtOC40ODRoLTEuODlxLS4yMzUgMC0uMzQ0LS4wOTQtLjExLS4wOTMtLjExLS4yNSAwLS4xNC4wOTQtLjIzNC4xMS0uMDk0LjM2LS4wOTR6bTkuNjAyIDB2OS4xNTZoMi41NzhxLjIzNCAwIC4zMjguMDk0LjExLjA3OC4xMS4yMzQgMCAuMTQxLS4xMS4yMzUtLjA5NC4wOTMtLjMyOC4wOTNoLTUuODEzcS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTU2LjA5NC0uMjM0LjEwOS0uMDk0LjM0My0uMDk0aDIuNTc4di04LjQ4NGgtMS44OXEtLjIzNSAwLS4zNDQtLjA5NC0uMTEtLjA5My0uMTEtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptMTIuODIgNi41NzhoLTYuNjg3cS4xNzEgMS4yODEgMS4wNjIgMi4wNjMuODkuNzY1IDIuMjE5Ljc2NS43MzQgMCAxLjUzMS0uMjM0LjgxMy0uMjUgMS4zMTMtLjY0LjE1Ni0uMTI2LjI2NS0uMTI2LjEyNSAwIC4yMTkuMTEuMDk0LjA5My4wOTQuMjE4IDAgLjE0MS0uMTI1LjI2Ni0uMzc1LjM5LTEuMzQ0LjczNC0uOTUzLjM0NC0xLjk1My4zNDQtMS42ODggMC0yLjgyOC0xLjExLTEuMTI1LTEuMTA5LTEuMTI1LTIuNjg3IDAtMS40MjIgMS4wNjItMi40MzcgMS4wNjMtMS4wMzEgMi42MjUtMS4wMzEgMS42MSAwIDIuNjQgMS4wNDYgMS4wNDggMS4wNDcgMS4wMzIgMi43MnptLS42NzItLjY1NnEtLjE4Ny0xLjA5NC0xLjAzMS0xLjc2Ni0uODI4LS42ODctMS45NjktLjY4Ny0xLjE1NiAwLTEuOTg0LjY3Mi0uODI4LjY3Mi0xLjAzMSAxLjc4MXptOS45My01LjkyMnY5LjE1NmguODc1cS4yNSAwIC4zNDQuMDk0LjEwOS4wNzguMTA5LjIzNCAwIC4xNDEtLjExLjIzNS0uMDkzLjA5My0uMzQzLjA5M2gtMS41MzFWNjM4LjZxLTEuMTQxIDEuNTc4LTIuOTA3IDEuNTc4LS44OSAwLTEuNzAzLS40NjktLjgxMi0uNDg0LTEuMjk3LTEuMzU5LS40NjgtLjg3NS0uNDY4LTEuODEzIDAtLjkzNy40NjgtMS43OTYuNDg1LS44NzUgMS4yOTctMS4zNDQuODEzLS40ODUgMS43MTktLjQ4NSAxLjcxOSAwIDIuODkgMS41NjN2LTMuNzAzaC0uODc0cS0uMjUgMC0uMzYtLjA5NC0uMDkzLS4wOTMtLjA5My0uMjUgMC0uMTQuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0em0tLjY1NiA2LjQzOHEwLTEuMjUtLjg0NC0yLjExLS44NDQtLjg2LTIuMDE2LS44Ni0xLjE3MiAwLTIuMDE1Ljg2LS44NDQuODYtLjg0NCAyLjExdC44NDQgMi4xMDlxLjg0My44NiAyLjAxNS44NiAxLjE3MiAwIDIuMDE2LS44Ni44NDQtLjg2Ljg0NC0yLjExem0xNS44NTktMy4zOTF2MS42NTZxMS4yODEtMS4xNTYgMS45MjItMS40ODQuNjQtLjM0NCAxLjE3Mi0uMzQ0LjU5MyAwIDEuMDkzLjQwNi41LjM5MS41LjU5NCAwIC4xNC0uMDkzLjI1LS4wOTQuMDk0LS4yNS4wOTQtLjA3OCAwLS4xNC0uMDMxLS4wNDgtLjAzMi0uMTg4LS4xNzItLjI4Mi0uMjgyLS40ODUtLjM3NS0uMjAzLS4xMS0uMzktLjExLS40MzggMC0xLjA0Ny4zNDQtLjU5NC4zNDQtMi4wOTQgMS42ODh2My41OTNoMi45MDZxLjI1IDAgLjM0NC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzQ0LjA5M2gtNS4xNHEtLjIzNSAwLS4zNDQtLjA5My0uMDk0LS4wOTQtLjA5NC0uMjM1IDAtLjEyNS4wOTQtLjIxOC4wOTQtLjA5NC4zNDQtLjA5NGgxLjU3OHYtNS40NjloLTEuMjAzcS0uMjM1IDAtLjM0NC0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzR0LjM0NC0uMDk0em0xMy42MDItMy4wNDd2OS4xNTZoLjg3NXEuMjUgMCAuMzQzLjA5NC4xMS4wNzguMTEuMjM0IDAgLjE0MS0uMTEuMjM1LS4wOTMuMDkzLS4zNDMuMDkzaC0xLjUzMlY2MzguNnEtMS4xNCAxLjU3OC0yLjkwNiAxLjU3OC0uODkgMC0xLjcwMy0uNDY5LS44MTMtLjQ4NC0xLjI5Ny0xLjM1OS0uNDY5LS44NzUtLjQ2OS0xLjgxMyAwLS45MzcuNDY5LTEuNzk2LjQ4NC0uODc1IDEuMjk3LTEuMzQ0LjgxMi0uNDg1IDEuNzE5LS40ODUgMS43MTggMCAyLjg5IDEuNTYzdi0zLjcwM2gtLjg3NXEtLjI1IDAtLjM2LS4wOTQtLjA5My0uMDkzLS4wOTMtLjI1IDAtLjE0LjA5NC0uMjM0LjExLS4wOTQuMzYtLjA5NHptLS42NTcgNi40MzhxMC0xLjI1LS44NDMtMi4xMS0uODQ0LS44Ni0yLjAxNi0uODYtMS4xNzIgMC0yLjAxNi44Ni0uODQzLjg2LS44NDMgMi4xMXQuODQzIDIuMTA5cS44NDQuODYgMi4wMTYuODYgMS4xNzIgMCAyLjAxNi0uODYuODQzLS44Ni44NDMtMi4xMXptNy40OTItLjE3MmwzLjAxNiAyLjg5cS4yOTcgMCAuMzc1LjAzMi4wNzguMDE1LjEyNS4xMDkuMDYzLjA3OC4wNjMuMTg3IDAgLjE0MS0uMTEuMjM1LS4wOTMuMDkzLS4zMjguMDkzaC0yLjExcS0uMjUgMC0uMzU5LS4wOTMtLjA5My0uMDk0LS4wOTMtLjIzNSAwLS4xNTYuMDkzLS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuMDc4bC0yLjU0Ny0yLjQ1My0yLjU0NyAyLjQ1M2gxLjA5NHEuMjM0IDAgLjMyOC4wOTQuMTEuMDc4LjExLjIzNCAwIC4xNDEtLjExLjIzNS0uMDk0LjA5My0uMzI4LjA5M2gtMi4xMjVxLS4yMzUgMC0uMzQ0LS4wOTMtLjA5NC0uMDk0LS4wOTQtLjIzNSAwLS4xMDkuMDQ3LS4xODcuMDYzLS4wOTQuMTQtLjExLjA3OS0uMDMuMzc2LS4wM2wzLTIuODkxLTIuNjcyLTIuNTYzcS0uMjgxIDAtLjM2LS4wMzEtLjA2Mi0uMDMxLS4xMjQtLjExLS4wNjMtLjA5My0uMDYzLS4xODcgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNi0uMDk0aDEuNzhxLjI1IDAgLjM0NC4wOTQuMDk0LjA5My4wOTQuMjM0IDAgLjE0LS4wOTQuMjM1LS4wOTMuMDkzLS4zNDQuMDkzaC0uNzhsMi4yMTggMi4xNCAyLjIxOS0yLjE0aC0uNzgycS0uMjM0IDAtLjM0My0uMDkzLS4wOTQtLjA5NC0uMDk0LS4yMzUgMC0uMTQuMDk0LS4yMzQuMTEtLjA5NC4zNDMtLjA5NGgxLjc5N3EuMjM1IDAgLjMyOC4wOTQuMTEuMDkzLjExLjIzNCAwIC4wOTQtLjA2My4xODgtLjA2Mi4wNzgtLjE0LjEwOS0uMDYzLjAzMS0uMzQ0LjAzMXoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDIyIDM2NGg1My4wMDh2NTMuMDA4SDQyMnoiIGZpbGw9IiNmM2YzZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik00MjIgMzY0aDUzLjAwOHY1My4wMDhINDIyeiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00MzIuMjE5IDM5Ny40MjR2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi41NC0xLjE4OHEtLjkyMS43NjYtMS43NjUgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0My0uOTM3LjUzMi0uMzYgMS4xODgtLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIyIDAtMS0uNDctMS40MjEtLjYyNC0uNTQ3LTEuODc0LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNi43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg4em0tLjE0LTMuNjcxcS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptMy4xMSA0Ljg1OWwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjNjY2Ii8+PHBhdGggZD0iTTQyMiAzMDJoNTMuMDA4djUzLjAwOEg0MjJ6IiBmaWxsPSIjZjNmM2YzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDIyIDMwMmg1My4wMDh2NTMuMDA4SDQyMnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDMyLjIxOSAzMzUuNDI0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNDk0IDB2LTEuMjE5cS0uOTA3IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU3IDAtMi4xMjUtLjY0LS45Ny0uNjQyLTEuNS0xLjc4Mi0uNTMyLTEuMTQtLjUzMi0yLjYyNSAwLTEuNDUzLjQ4NS0yLjYyNS40ODQtMS4xODggMS40MzctMS44MTMuOTY5LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg3LjM2IDEuMTEuOTUzdi00Ljc5NmgxLjY0djEzLjM1OXptLTUuMTcyLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgxLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4OCAwLTEuOTg0LS43NjYtMi45MDYtLjc2NS0uOTM3LTEuODktLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODktLjczNCAyLjgxM3ptOC4xODggNC44MjhsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzY2NiIvPjxwYXRoIGQ9Ik00MjIgMjExLjQ5Mmg1My4wMDhWMjY0LjVINDIyeiIgZmlsbD0iI2YzZjNmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTQyMiAyMTEuNDkyaDUzLjAwOFYyNjQuNUg0MjJ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTQzMi4yMTkgMjQ0LjkxNnYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMzLS40MjEuMzI3LS42MDkuODktLjI4MS44NzUtLjI4MSAxLjkyMnY1LjA2MnptMTIuNTQtMy41NDdsMS42MS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3MS45MzctMS45ODUgMC0zLjE4OC0xLjI5N3QtMS4yMDMtMy43MTlxMC0xLjU3OC41MTYtMi43NS41MTUtMS4xNzIgMS41NzgtMS43NSAxLjA2Mi0uNTk0IDIuMzEyLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgyIDIuMjY2bC0xLjU5NC4yMzRxLS4yMzQtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTEuOTIyIDMuNTQ3bDMuNTMyLTUuMDMxLTMuMjY2LTQuNjRoMi4wNDdsMS40ODQgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM1LTEuMDYzbDEuNjQtMi4yOGgxLjk1M2wtMy4zNDMgNC41NDYgMy41OTMgNS4xMjVoLTIuMDE1bC0xLjk4NS0zLS41MTUtLjgxMi0yLjU0NyAzLjgxMnoiIGZpbGw9IiM2NjYiLz48cGF0aCBkPSJNNDc4IDM2NGg1My4wMDh2NTMuMDA4SDQ3OHoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik00NzggMzY0aDUzLjAwOHY1My4wMDhINDc4eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik00ODguMjE5IDM5Ny40MjR2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi41NC0xLjE4OHEtLjkyMS43NjYtMS43NjUgMS4wOTQtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4Mi0uODYtLjc4LS44Ni0xLjk4NCAwLS43MTkuMzI5LTEuMjk3LjMyOC0uNTk0Ljg0My0uOTM3LjUzMi0uMzYgMS4xODgtLjU0Ny40NjktLjEyNSAxLjQ1My0uMjUgMS45ODQtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQzLjAxNi0uNDIyIDAtMS0uNDctMS40MjEtLjYyNC0uNTQ3LTEuODc0LS41NDctMS4xNTYgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNi43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg4em0tLjE0LTMuNjcxcS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptMy4xMSA0Ljg1OWwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTQ3OCAzMDJoNTMuMDA4djUzLjAwOEg0Nzh6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDc4IDMwMmg1My4wMDh2NTMuMDA4SDQ3OHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDg4LjIxOSAzMzUuNDI0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNDk0IDB2LTEuMjE5cS0uOTA3IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU3IDAtMi4xMjUtLjY0LS45Ny0uNjQyLTEuNS0xLjc4Mi0uNTMyLTEuMTQtLjUzMi0yLjYyNSAwLTEuNDUzLjQ4NS0yLjYyNS40ODQtMS4xODggMS40MzctMS44MTMuOTY5LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg3LjM2IDEuMTEuOTUzdi00Ljc5NmgxLjY0djEzLjM1OXptLTUuMTcyLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgxLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4OCAwLTEuOTg0LS43NjYtMi45MDYtLjc2NS0uOTM3LTEuODktLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODktLjczNCAyLjgxM3ptOC4xODggNC44MjhsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik00NzggMjExLjQ5Mmg1My4wMDhWMjY0LjVINDc4eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTQ3OCAyMTEuNDkyaDUzLjAwOFYyNjQuNUg0Nzh6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTQ4OC4yMTkgMjQ0LjkxNnYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMzLS40MjEuMzI3LS42MDkuODktLjI4MS44NzUtLjI4MSAxLjkyMnY1LjA2MnptMTIuNTQtMy41NDdsMS42MS4yMTlxLS4yNjYgMS42NTYtMS4zNiAyLjYxLTEuMDc4LjkzNy0yLjY3MS45MzctMS45ODUgMC0zLjE4OC0xLjI5N3QtMS4yMDMtMy43MTlxMC0xLjU3OC41MTYtMi43NS41MTUtMS4xNzIgMS41NzgtMS43NSAxLjA2Mi0uNTk0IDIuMzEyLS41OTQgMS41NzggMCAyLjU3OC43OTcgMSAuNzk3IDEuMjgyIDIuMjY2bC0xLjU5NC4yMzRxLS4yMzQtLjk2OC0uODEzLTEuNDUzLS41NzgtLjUtMS4zOS0uNS0xLjIzNSAwLTIuMDE2Ljg5LS43ODEuODkxLS43ODEgMi44MTMgMCAxLjk1My43NSAyLjg0NC43NS44NzUgMS45NTMuODc1Ljk2OSAwIDEuNjEtLjU5NC42NTYtLjU5My44MjgtMS44Mjh6bTEuOTIyIDMuNTQ3bDMuNTMyLTUuMDMxLTMuMjY2LTQuNjRoMi4wNDdsMS40ODQgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM1LTEuMDYzbDEuNjQtMi4yOGgxLjk1M2wtMy4zNDMgNC41NDYgMy41OTMgNS4xMjVoLTIuMDE1bC0xLjk4NS0zLS41MTUtLjgxMi0yLjU0NyAzLjgxMnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNTkwIDM2NGg1My4wMDh2NTMuMDA4SDU5MHoiIGZpbGw9IiNmM2YzZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik01OTAgMzY0aDUzLjAwOHY1My4wMDhINTkweiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik02MDAuMjE5IDM5Ny40MjR2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjIuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNTQtMS4xODhxLS45MjEuNzY2LTEuNzY1IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTUtLjM0My4wMTUtLjQyMiAwLTEtLjQ2OC0xLjQyMS0uNjI1LS41NDctMS44NzUtLjU0Ny0xLjE1NyAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODh6bS0uMTQtMy42NzFxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1My40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem0zLjExIDQuODU5bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiM2NjYiLz48cGF0aCBkPSJNNTkwIDMwMmg1My4wMDh2NTMuMDA4SDU5MHoiIGZpbGw9IiNmM2YzZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik01OTAgMzAyaDUzLjAwOHY1My4wMDhINTkweiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik02MDAuMjE5IDMzNS40MjR2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjIuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNDk0IDB2LTEuMjE5cS0uOTA3IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU3IDAtMi4xMjUtLjY0LS45Ny0uNjQyLTEuNS0xLjc4Mi0uNTMyLTEuMTQtLjUzMi0yLjYyNSAwLTEuNDUzLjQ4NS0yLjYyNS40ODQtMS4xODggMS40MzctMS44MTMuOTY5LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg3LjM2IDEuMTEuOTUzdi00Ljc5NmgxLjY0djEzLjM1OXptLTUuMTcyLTQuODI4cTAgMS44Ni43ODEgMi43ODEuNzgxLjkyMiAxLjg0NC45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4OCAwLTEuOTg0LS43NjYtMi45MDYtLjc2NS0uOTM3LTEuODktLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODktLjczNCAyLjgxM3ptOC4xODggNC44MjhsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0N2wxLjQ4NCAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzY2NiIvPjxwYXRoIGQ9Ik01OTAgMjExLjQ5Mmg1My4wMDhWMjY0LjVINTkweiIgZmlsbD0iI2YzZjNmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTU5MCAyMTEuNDkyaDUzLjAwOFYyNjQuNUg1OTB6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTYwMC4yMTkgMjQ0LjkxNnYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIyLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjU0LTMuNTQ3bDEuNjEuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzEuOTM3LTEuOTg1IDAtMy4xODgtMS4yOTd0LTEuMjAzLTMuNzE5cTAtMS41NzguNTE2LTIuNzUuNTE1LTEuMTcyIDEuNTc4LTEuNzUgMS4wNjItLjU5NCAyLjMxMi0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MiAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMy0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNi44OS0uNzgxLjg5MS0uNzgxIDIuODEzIDAgMS45NTMuNzUgMi44NDQuNzUuODc1IDEuOTUzLjg3NS45NjkgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em0xLjkyMiAzLjU0N2wzLjUzMi01LjAzMS0zLjI2Ni00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNS0xLjA2M2wxLjY0LTIuMjhoMS45NTNsLTMuMzQzIDQuNTQ2IDMuNTkzIDUuMTI1aC0yLjAxNWwtMS45ODUtMy0uNTE1LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjNjY2Ii8+PHBhdGggZD0iTTY0NiAzNjRoNTMuMDA4djUzLjAwOEg2NDZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNjQ2IDM2NGg1My4wMDh2NTMuMDA4SDY0NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjU2LjIxOSAzOTcuNDI0di05LjY3MmgxLjQ2OHYxLjQ2OXEuNTYzLTEuMDMxIDEuMDMyLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIyLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjU0LTEuMTg4cS0uOTIxLjc2Ni0xLjc2NSAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE1LS4zNDMuMDE1LS40MjIgMC0xLS40NjgtMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTcgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNi43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg4em0tLjE0LTMuNjcxcS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptMy4xMSA0Ljg1OWwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTY0NiAzMDJoNTMuMDA4djUzLjAwOEg2NDZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNjQ2IDMwMmg1My4wMDh2NTMuMDA4SDY0NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNjU1LjQzOCAzMzAuMzUzbC45NTMtLjA2MnEwIC40MDYuMTI1LjcwMy4xMjUuMjgxLjQ1My40NjkuMzQzLjE3Mi43ODEuMTcyLjYyNSAwIC45MzgtLjI1LjMxMi0uMjUuMzEyLS41NzkgMC0uMjUtLjE4OC0uNDY4LS4xODctLjIyLS45MzctLjUzMi0uNzUtLjMyOC0uOTUzLS40NTMtLjM0NC0uMjE4LS41MzEtLjUtLjE3Mi0uMjk3LS4xNzItLjY3MiAwLS42NTYuNTE1LTEuMTI1LjUzMi0uNDY4IDEuNDUzLS40NjggMS4wNDcgMCAxLjU5NC40ODQuNTQ3LjQ4NC41NjMgMS4yNjZsLS45MjIuMDYycS0uMDE2LS41LS4zNi0uNzgxLS4zMjgtLjI5Ny0uOTM3LS4yOTctLjQ4NCAwLS43NjYuMjM0LS4yNjUuMjItLjI2NS40NyAwIC4yNjUuMjM0LjQ2OC4xNTYuMTI1LjgxMy40MDYgMS4wNzguNDY5IDEuMzU5LjczNS40NTMuNDM3LjQ1MyAxLjA2MiAwIC40MDYtLjI2NS44MTMtLjI1LjM5LS43NjYuNjI1LS41MTYuMjM0LTEuMjE5LjIzNC0uOTUzIDAtMS42MjUtLjQ2OS0uNjcyLS40ODQtLjY0LTEuNTQ3em00Ljc4IDQuMDE2bDEuNTk1LTcuNjU2aC44NzVsLS4xNTcuNzhxLjQ2OS0uNTE1Ljg0NC0uNzAyLjM5LS4yMDMuODI4LS4yMDMuNzgxIDAgMS4yOTcuNTc4LjUzMS41NzguNTMxIDEuNjU2IDAgLjg2LS4yOTcgMS41NzgtLjI4LjcwMy0uNzAzIDEuMTQtLjQwNi40MjMtLjg0My42MjYtLjQyMi4yMDMtLjg2LjIwMy0xIDAtMS41NDctMS4wMTZsLS42MjUgMy4wMTZ6bTEuODYtNC4zOXEwIC42MjQuMDk0Ljg1OS4xMjUuMzQzLjQyMi41NjIuMjk3LjIwMy42ODcuMjAzLjgxMyAwIDEuMzEzLS45MDYuNS0uOTIyLjUtMS44NzUgMC0uNzAzLS4zNDQtMS4wNzgtLjMyOC0uMzktLjgyOC0uMzktLjM2IDAtLjY3Mi4xODctLjI5Ny4xODctLjU2My41NzgtLjI2NS4zNzUtLjQzNy45MjItLjE3Mi41MzEtLjE3Mi45Mzd6bTUuODY0LTQuMjk4bC4yMzUtMS4wNjJoLjkyMWwtLjIxOCAxLjA2MnptLTEuMzc1IDYuNTYzbDEuMTU2LTUuNTMxaC45NTRsLTEuMTU3IDUuNTN6bTIuMzM2IDBsMS41OTQtNy42MjVoLjkzOGwtMS41OTQgNy42MjV6bTIuMzY4IDBsMS41OTQtNy42MjVoLjkzN2wtMS41OTQgNy42MjV6bTYuNDkyLTEuODc1bC45MjIuMDk0cS0uMjAzLjY3MS0uOTIyIDEuMjk2LS43MDMuNjEtMS42ODcuNjEtLjYxIDAtMS4xMjUtLjI4MS0uNS0uMjgyLS43ODEtLjgyOS0uMjY2LS41NDYtLjI2Ni0xLjIzNCAwLS45MDYuNDIyLTEuNzUuNDIyLS44NiAxLjA3OC0xLjI2NS42NzItLjQyMiAxLjQ1My0uNDIyLjk4NCAwIDEuNTc4LjYyNS41OTQuNjA5LjU5NCAxLjY3MSAwIC40MDctLjA3OC44MjloLTQuMDYzcS0uMDMuMTU2LS4wMy4yOTYgMCAuNzY2LjM1OSAxLjE4OC4zNTkuNDA2Ljg3NS40MDYuNDg0IDAgLjk1My0uMzEyLjQ2OC0uMzI4LjcxOC0uOTIyem0tMi43MzQtMS4zNzVoMy4xMXYtLjIwM3EwLS43MDMtLjM2LTEuMDc4LS4zNDQtLjM5MS0uOTA2LS4zOTEtLjYxIDAtMS4xMS40MjItLjQ4NC40MjItLjczNCAxLjI1em04LjMzMyAyLjQ1M3EtLjgxMy45MjItMS42ODguOTIyLS43ODEgMC0xLjMxMi0uNTc4LS41MTYtLjU3OC0uNTE2LTEuNjg4IDAtMSAuNDA2LTEuODI4LjQyMi0uODQ0IDEuMDQ3LTEuMjY1LjYyNS0uNDIyIDEuMjM1LS40MjIgMS4wMyAwIDEuNTYyIDFsLjYyNS0yLjk3aC45MzhsLTEuNTk0IDcuNjI2aC0uODc1em0tMi41NzgtMS41MTZxMCAuNTc5LjEwOS45MDcuMTI1LjMyOC4zOS41NjIuMjgyLjIxOS42NzIuMjE5LjYyNSAwIDEuMTU3LS42NzIuNjg3LS44OS42ODctMi4xODcgMC0uNjU3LS4zNDQtMS4wMTYtLjM0My0uMzc1LS44NTktLjM3NS0uMzQ0IDAtLjYyNS4xNTYtLjI2Ni4xNC0uNTQ3LjUxNi0uMjY1LjM2LS40NTMuOTIyLS4xODcuNTQ3LS4xODcuOTY4eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik02NDYgMjExLjQ5Mmg1My4wMDhWMjY0LjVINjQ2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTY0NiAyMTEuNDkyaDUzLjAwOFYyNjQuNUg2NDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTY1Ni4yMTkgMjQ0LjkxNnYtOS42NzJoMS40Njh2MS40NjlxLjU2My0xLjAzMSAxLjAzMi0xLjM2LjQ4NC0uMzI4IDEuMDYyLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIyLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTcuNzI4IDBoLTEuNTE2di0xMy4zNmgxLjY0MXY0Ljc2NnExLjA0Ny0xLjI5NyAyLjY1Ni0xLjI5Ny44OSAwIDEuNjg4LjM2Ljc5Ny4zNiAxLjMxMiAxLjAxNS41MTYuNjQxLjc5NyAxLjU2My4yOTcuOTIyLjI5NyAxLjk2OSAwIDIuNDg0LTEuMjM0IDMuODQzLTEuMjIgMS4zNi0yLjk1MyAxLjM2LTEuNzA0IDAtMi42ODgtMS40Mzh6bS0uMDE2LTQuOTA2cTAgMS43MzQuNDg1IDIuNTE1Ljc2NSAxLjI2NiAyLjA5NCAxLjI2NiAxLjA3OCAwIDEuODU5LS45MzcuNzgxLS45MzguNzgxLTIuNzgyIDAtMS44OS0uNzUtMi43OTctLjc1LS45MDYtMS44MjgtLjkwNi0xLjA2MiAwLTEuODYuOTM4LS43OC45MzctLjc4IDIuNzAzem03Ljc5OCA0LjkwNmwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTc2NiAzNjRoNTMuMDA4djUzLjAwOEg3NjZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNzY2IDM2NGg1My4wMDh2NTMuMDA4SDc2NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNzc2LjIxOSAzOTcuNDI0di05LjY3MmgxLjQ2OHYxLjQ2OXEuNTYzLTEuMDMxIDEuMDMyLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIyLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjU0LTEuMTg4cS0uOTIxLjc2Ni0xLjc2NSAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE1LS4zNDMuMDE1LS40MjIgMC0xLS40NjgtMS40MjEtLjYyNS0uNTQ3LTEuODc1LS41NDctMS4xNTcgMC0xLjcwMy40MDYtLjU0Ny40MDYtLjgxMyAxLjQyMmwtMS42MS0uMjE5cS4yMi0xLjAxNi43Mi0xLjY0LjUtLjY0MSAxLjQ1My0uOTg1Ljk1My0uMzQ0IDIuMTg3LS4zNDQgMS4yNSAwIDIuMDE2LjI5Ny43ODEuMjgxIDEuMTQuNzM1LjM3NS40MzcuNTE2IDEuMTA5LjA3OC40MjIuMDc4IDEuNTE2djIuMTg3cTAgMi4yODEuMTEgMi44OS4xMDkuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI5LTEuMTg4em0tLjE0LTMuNjcxcS0uODkuMzc1LTIuNjcyLjYyNS0xLjAxNi4xNC0xLjQzNy4zMjgtLjQyMi4xODctLjY1Ny41MzEtLjIxOC4zNDQtLjIxOC43ODEgMCAuNjU2LjUgMS4wOTQuNS40MzcgMS40NTMuNDM3LjkzNyAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5My0xLjE0LjI2Ni0uNTYzLjI2Ni0xLjY0MXptMy4xMSA0Ljg1OWwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTc2NiAzMDJoNTMuMDA4djUzLjAwOEg3NjZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNzY2IDMwMmg1My4wMDh2NTMuMDA4SDc2NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNzc2LjIxOSAzMzUuNDI0di05LjY3MmgxLjQ2OHYxLjQ2OXEuNTYzLTEuMDMxIDEuMDMyLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIyLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjQ5NCAwdi0xLjIxOXEtLjkwNyAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5LS43MzQgMi44MTN6bTguMTg4IDQuODI4bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDdsMS40ODQgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNzY2IDIxMS40OTJoNTMuMDA4VjI2NC41SDc2NnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NjYgMjExLjQ5Mmg1My4wMDhWMjY0LjVINzY2eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik03NzYuMjE5IDI0NC45MTZ2LTkuNjcyaDEuNDY4djEuNDY5cS41NjMtMS4wMzEgMS4wMzItMS4zNi40ODQtLjMyOCAxLjA2Mi0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMi4zMjctLjYwOS44OS0uMjgxLjg3NS0uMjgxIDEuOTIydjUuMDYyem0xMi41NC0zLjU0N2wxLjYxLjIxOXEtLjI2NiAxLjY1Ni0xLjM2IDIuNjEtMS4wNzguOTM3LTIuNjcxLjkzNy0xLjk4NSAwLTMuMTg4LTEuMjk3dC0xLjIwMy0zLjcxOXEwLTEuNTc4LjUxNi0yLjc1LjUxNS0xLjE3MiAxLjU3OC0xLjc1IDEuMDYyLS41OTQgMi4zMTItLjU5NCAxLjU3OCAwIDIuNTc4Ljc5NyAxIC43OTcgMS4yODIgMi4yNjZsLTEuNTk0LjIzNHEtLjIzNC0uOTY4LS44MTMtMS40NTMtLjU3OC0uNS0xLjM5LS41LTEuMjM1IDAtMi4wMTYuODktLjc4MS44OTEtLjc4MSAyLjgxMyAwIDEuOTUzLjc1IDIuODQ0Ljc1Ljg3NSAxLjk1My44NzUuOTY5IDAgMS42MS0uNTk0LjY1Ni0uNTkzLjgyOC0xLjgyOHptMS45MjIgMy41NDdsMy41MzItNS4wMzEtMy4yNjYtNC42NGgyLjA0N2wxLjQ4NCAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzUtMS4wNjNsMS42NC0yLjI4aDEuOTUzbC0zLjM0MyA0LjU0NiAzLjU5MyA1LjEyNWgtMi4wMTVsLTEuOTg1LTMtLjUxNS0uODEyLTIuNTQ3IDMuODEyeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0yNDYgMzY0aDUzLjAwOHY1My4wMDhIMjQ2eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTI0NiAzNjRoNTMuMDA4djUzLjAwOEgyNDZ6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTI1Ni4yMTkgMzk3LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjU0LTEuMTg4cS0uOTIxLjc2Ni0xLjc2NSAxLjA5NC0uODI4LjMxMy0xLjc5Ny4zMTMtMS41OTQgMC0yLjQ1My0uNzgyLS44Ni0uNzgtLjg2LTEuOTg0IDAtLjcxOS4zMjktMS4yOTcuMzI4LS41OTQuODQzLS45MzcuNTMyLS4zNiAxLjE4OC0uNTQ3LjQ2OS0uMTI1IDEuNDUzLS4yNSAxLjk4NC0uMjM1IDIuOTIyLS41NjMuMDE2LS4zNDMuMDE2LS40MjIgMC0xLS40Ny0xLjQyMS0uNjI0LS41NDctMS44NzQtLjU0Ny0xLjE1NiAwLTEuNzAzLjQwNi0uNTQ3LjQwNi0uODEzIDEuNDIybC0xLjYxLS4yMTlxLjIyLTEuMDE2LjcyLTEuNjQuNS0uNjQxIDEuNDUzLS45ODUuOTUzLS4zNDQgMi4xODctLjM0NCAxLjI1IDAgMi4wMTYuMjk3Ljc4MS4yODEgMS4xNC43MzUuMzc1LjQzNy41MTYgMS4xMDkuMDc4LjQyMi4wNzggMS41MTZ2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTQuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODh6bS0uMTQtMy42NzFxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTYuNSAxLjA5NC41LjQzNyAxLjQ1My40MzcuOTM3IDAgMS42NzItLjQwNi43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjQxem0zLjExIDQuODU5bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMjQ2IDMwMmg1My4wMDh2NTMuMDA4SDI0NnoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yNDYgMzAyaDUzLjAwOHY1My4wMDhIMjQ2eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yNTYuMjE5IDMzNS40MjR2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMjktLjQyMS4zMjgtLjYwOS44OS0uMjgxLjg3Ni0uMjgxIDEuOTIydjUuMDYzem0xMi40OTQgMHYtMS4yMTlxLS45MDcgMS40MzgtMi43MDMgMS40MzgtMS4xNTcgMC0yLjEyNS0uNjQtLjk3LS42NDItMS41LTEuNzgyLS41MzItMS4xNC0uNTMyLTIuNjI1IDAtMS40NTMuNDg1LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTN2LTQuNzk2aDEuNjR2MTMuMzU5em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODEuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2Ni0yLjkwNi0uNzY1LS45MzctMS44OS0uOTM3LTEuMDc4IDAtMS44MTMuODktLjczNC44OS0uNzM0IDIuODEzem04LjE4OCA0LjgyOGwzLjUzMS01LjAzMS0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTMtMi41NDcgMy44MTN6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTI0NiAyMTEuNDkyaDUzLjAwOFYyNjQuNUgyNDZ6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjQ2IDIxMS40OTJoNTMuMDA4VjI2NC41SDI0NnoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMjU2LjIxOSAyNDQuOTE2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzMtLjQyMS4zMjctLjYwOS44OS0uMjgxLjg3NS0uMjgxIDEuOTIydjUuMDYyem0xMi41NC0xLjE4N3EtLjkyMS43NjUtMS43NjUgMS4wOTMtLjgyOC4zMTMtMS43OTcuMzEzLTEuNTk0IDAtMi40NTMtLjc4MS0uODYtLjc4Mi0uODYtMS45ODUgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5My44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzQgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMSAwLTEtLjQ3LTEuNDIyLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTUuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MiAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjExLjA3OC40Mi4wNzggMS41MTV2Mi4xODdxMCAyLjI4MS4xMSAyLjg5LjEwOS41OTUuNDA2IDEuMTU3aC0xLjcwM3EtLjI2Ni0uNTE2LS4zMjktMS4xODd6bS0uMTQtMy42NzJxLS44OS4zNzUtMi42NzIuNjI1LTEuMDE2LjE0LTEuNDM3LjMyOC0uNDIyLjE4Ny0uNjU3LjUzMS0uMjE4LjM0NC0uMjE4Ljc4MSAwIC42NTcuNSAxLjA5NC41LjQzOCAxLjQ1My40MzguOTM3IDAgMS42NzItLjQwNy43NS0uNDIyIDEuMDkzLTEuMTQuMjY2LS41NjMuMjY2LTEuNjR6bTMuMTEgNC44NmwzLjUzMS01LjAzMi0zLjI2NS00LjY0aDIuMDQ2bDEuNDg1IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNC0xLjA2M2wxLjY0LTIuMjhoMS45NTRsLTMuMzQ0IDQuNTQ2IDMuNTk0IDUuMTI1aC0yLjAxNmwtMS45ODQtMy0uNTE2LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE5MC4zMTMgMTMzLjEyNmM3LjE3Ni0yLjY1NyAyOC44NC0xNS42MjcgNDMuMDYtMTUuOTQgMTQuMjIyLS4zMTIgMzUuMjIxIDExLjcyIDQyLjI2NSAxNC4wNjMiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTkwLjMxMyAxMzMuMTI2YzcuMTc2LTIuNjU3IDI4Ljg0LTE1LjYyNyA0My4wNi0xNS45NCA3LjExMS0uMTU2IDE1LjkxNiAyLjc3NCAyMy44MjQgNi4wMzYgMS45NzcuODE1IDMuODk4IDEuNjUxIDUuNzIzIDIuNDY1bDEuMzUuNjA2LjM2Ni4xNjYiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yNjMuMzE3IDEyOS40ODhsOS42NC41OTQtNy4wMDItNi42NTJ6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik0yMDcuMTg4IDgzLjQzN2g4NS4zMjJ2MjUuNzMyaC04NS4zMjJ6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTIxNy40MjIgMTE0LjA2di0xMy4zNzVoMS40ODR2MS4yNXEuNTMxLS43MzQgMS4xODgtMS4wOTQuNjcyLS4zNzUgMS42MjUtLjM3NSAxLjIzNCAwIDIuMTcyLjY0Ljk1My42MjYgMS40MzcgMS43OTguNDg0IDEuMTU2LjQ4NCAyLjU0NyAwIDEuNDg0LS41MyAyLjY3MS0uNTMyIDEuMTg4LTEuNTQ4IDEuODI5LTEuMDE1LjYyNS0yLjE0LjYyNS0uODEzIDAtMS40NjktLjM0NC0uNjU2LS4zNDQtMS4wNjMtLjg3NXY0LjcwM3ptMS40ODQtOC40ODRxMCAxLjg1OS43NSAyLjc2NS43NjYuODkgMS44MjguODkgMS4wOTQgMCAxLjg3NS0uOTIxLjc4Mi0uOTM4Ljc4Mi0yLjg3NSAwLTEuODQ0LS43NjYtMi43NjYtLjc1LS45MjItMS44MTMtLjkyMi0xLjA0NiAwLTEuODU5Ljk4NS0uNzk3Ljk2OS0uNzk3IDIuODQ0em04LjI4Mi0uMDYzcTAtMi42ODcgMS40ODUtMy45NjkgMS4yNS0xLjA3OCAzLjA0Ni0xLjA3OCAyIDAgMy4yNjYgMS4zMTMgMS4yNjYgMS4yOTcgMS4yNjYgMy42MSAwIDEuODU4LS41NjMgMi45MzctLjU2MiAxLjA2Mi0xLjY0IDEuNjU2LTEuMDYzLjU5NC0yLjMyOS41OTQtMi4wMyAwLTMuMjgtMS4yOTctMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4OCAwcTAgMS44Ni43OTcgMi43OTcuODEyLjkyMiAyLjA0Ni45MjIgMS4yMiAwIDIuMDMyLS45MjIuODEyLS45MzguODEyLTIuODQ0IDAtMS43OTctLjgxMi0yLjcxOS0uODEzLS45MjEtMi4wMzItLjkyMS0xLjIzNCAwLTIuMDQ2LjkyMS0uNzk3LjkwNy0uNzk3IDIuNzY2em05LjI5NyA4LjU0N3YtMTMuMzc1aDEuNDg1djEuMjVxLjUzLS43MzQgMS4xODctMS4wOTQuNjcyLS4zNzUgMS42MjUtLjM3NSAxLjIzNSAwIDIuMTcyLjY0Ljk1My42MjYgMS40MzggMS43OTguNDg0IDEuMTU2LjQ4NCAyLjU0NyAwIDEuNDg0LS41MzEgMi42NzEtLjUzMiAxLjE4OC0xLjU0NyAxLjgyOS0xLjAxNi42MjUtMi4xNC42MjUtLjgxMyAwLTEuNDctLjM0NC0uNjU2LS4zNDQtMS4wNjItLjg3NXY0LjcwM3ptMS40ODUtOC40ODRxMCAxLjg1OS43NSAyLjc2NS43NjUuODkgMS44MjguODkgMS4wOTQgMCAxLjg3NS0uOTIxLjc4MS0uOTM4Ljc4MS0yLjg3NSAwLTEuODQ0LS43NjYtMi43NjYtLjc1LS45MjItMS44MTItLjkyMi0xLjA0NyAwLTEuODYuOTg1LS43OTYuOTY5LS43OTYgMi44NDR6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTMzNCAzNjRoNTMuMDA4djUzLjAwOEgzMzR6IiBmaWxsPSIjY2ZlMmYzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMzM0IDM2NGg1My4wMDh2NTMuMDA4SDMzNHoiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMzQ0LjIxOSAzOTcuNDI0di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMxIDEuMDMtMS4zNi40ODUtLjMyOCAxLjA2My0uMzI4LjgyOCAwIDEuNjg4LjUzMmwtLjU2MyAxLjUxNXEtLjYxLS4zNi0xLjIwMy0uMzYtLjU0NyAwLS45NjkuMzI5LS40MjEuMzI4LS42MDkuODktLjI4MS44NzYtLjI4MSAxLjkyMnY1LjA2M3ptMTIuNTQtMS4xODhxLS45MjEuNzY2LTEuNzY1IDEuMDk0LS44MjguMzEzLTEuNzk3LjMxMy0xLjU5NCAwLTIuNDUzLS43ODItLjg2LS43OC0uODYtMS45ODQgMC0uNzE5LjMyOS0xLjI5Ny4zMjgtLjU5NC44NDMtLjkzNy41MzItLjM2IDEuMTg4LS41NDcuNDY5LS4xMjUgMS40NTMtLjI1IDEuOTg0LS4yMzUgMi45MjItLjU2My4wMTYtLjM0My4wMTYtLjQyMiAwLTEtLjQ3LTEuNDIxLS42MjQtLjU0Ny0xLjg3NC0uNTQ3LTEuMTU2IDAtMS43MDMuNDA2LS41NDcuNDA2LS44MTMgMS40MjJsLTEuNjEtLjIxOXEuMjItMS4wMTYuNzItMS42NC41LS42NDEgMS40NTMtLjk4NS45NTMtLjM0NCAyLjE4Ny0uMzQ0IDEuMjUgMCAyLjAxNi4yOTcuNzgxLjI4MSAxLjE0LjczNS4zNzUuNDM3LjUxNiAxLjEwOS4wNzguNDIyLjA3OCAxLjUxNnYyLjE4N3EwIDIuMjgxLjExIDIuODkuMTA5LjU5NC40MDYgMS4xNTdoLTEuNzAzcS0uMjY2LS41MTYtLjMyOS0xLjE4OHptLS4xNC0zLjY3MXEtLjg5LjM3NS0yLjY3Mi42MjUtMS4wMTYuMTQtMS40MzcuMzI4LS40MjIuMTg3LS42NTcuNTMxLS4yMTguMzQ0LS4yMTguNzgxIDAgLjY1Ni41IDEuMDk0LjUuNDM3IDEuNDUzLjQzNy45MzcgMCAxLjY3Mi0uNDA2Ljc1LS40MjIgMS4wOTMtMS4xNC4yNjYtLjU2My4yNjYtMS42NDF6bTMuMTEgNC44NTlsMy41MzEtNS4wMzEtMy4yNjUtNC42NGgyLjA0NmwxLjQ4NSAyLjI2NXEuNDIyLjY0LjY3MiAxLjA3OC40MDYtLjU5NC43MzQtMS4wNjNsMS42NC0yLjI4aDEuOTU0bC0zLjM0NCA0LjU0NiAzLjU5NCA1LjEyNWgtMi4wMTZsLTEuOTg0LTMtLjUxNi0uODEzLTIuNTQ3IDMuODEzeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0zMzQgMzAyaDUzLjAwOHY1My4wMDhIMzM0eiIgZmlsbD0iI2NmZTJmMyIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTMzNCAzMDJoNTMuMDA4djUzLjAwOEgzMzR6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTM0NC4yMTkgMzM1LjQyNHYtOS42NzJoMS40Njl2MS40NjlxLjU2Mi0xLjAzMSAxLjAzLTEuMzYuNDg1LS4zMjggMS4wNjMtLjMyOC44MjggMCAxLjY4OC41MzJsLS41NjMgMS41MTVxLS42MS0uMzYtMS4yMDMtLjM2LS41NDcgMC0uOTY5LjMyOS0uNDIxLjMyOC0uNjA5Ljg5LS4yODEuODc2LS4yODEgMS45MjJ2NS4wNjN6bTEyLjQ5NCAwdi0xLjIxOXEtLjkwNyAxLjQzOC0yLjcwMyAxLjQzOC0xLjE1NyAwLTIuMTI1LS42NC0uOTctLjY0Mi0xLjUtMS43ODItLjUzMi0xLjE0LS41MzItMi42MjUgMC0xLjQ1My40ODUtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk2OS0uNjI1IDIuMTcyLS42MjUuODc1IDAgMS41NDcuMzc1LjY4Ny4zNiAxLjExLjk1M3YtNC43OTZoMS42NHYxMy4zNTl6bS01LjE3Mi00LjgyOHEwIDEuODYuNzgxIDIuNzgxLjc4MS45MjIgMS44NDQuOTIyIDEuMDc4IDAgMS44MjgtLjg3NS43NS0uODkuNzUtMi42ODggMC0xLjk4NC0uNzY2LTIuOTA2LS43NjUtLjkzNy0xLjg5LS45MzctMS4wNzggMC0xLjgxMy44OS0uNzM0Ljg5LS43MzQgMi44MTN6bTguMTg4IDQuODI4bDMuNTMxLTUuMDMxLTMuMjY1LTQuNjRoMi4wNDZsMS40ODUgMi4yNjVxLjQyMi42NC42NzIgMS4wNzguNDA2LS41OTQuNzM0LTEuMDYzbDEuNjQtMi4yOGgxLjk1NGwtMy4zNDQgNC41NDYgMy41OTQgNS4xMjVoLTIuMDE2bC0xLjk4NC0zLS41MTYtLjgxMy0yLjU0NyAzLjgxM3oiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNMzM0IDIxMS40OTJoNTMuMDA4VjI2NC41SDMzNHoiIGZpbGw9IiNjZmUyZjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0zMzQgMjExLjQ5Mmg1My4wMDhWMjY0LjVIMzM0eiIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zNDQuMjE5IDI0NC45MTZ2LTkuNjcyaDEuNDY5djEuNDY5cS41NjItMS4wMzEgMS4wMy0xLjM2LjQ4NS0uMzI4IDEuMDYzLS4zMjguODI4IDAgMS42ODguNTMybC0uNTYzIDEuNTE1cS0uNjEtLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OS4zMy0uNDIxLjMyNy0uNjA5Ljg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjJ6bTEyLjU0LTMuNTQ3bDEuNjEuMjE5cS0uMjY2IDEuNjU2LTEuMzYgMi42MS0xLjA3OC45MzctMi42NzEuOTM3LTEuOTg1IDAtMy4xODgtMS4yOTd0LTEuMjAzLTMuNzE5cTAtMS41NzguNTE2LTIuNzUuNTE1LTEuMTcyIDEuNTc4LTEuNzUgMS4wNjItLjU5NCAyLjMxMi0uNTk0IDEuNTc4IDAgMi41NzguNzk3IDEgLjc5NyAxLjI4MiAyLjI2NmwtMS41OTQuMjM0cS0uMjM0LS45NjgtLjgxMy0xLjQ1My0uNTc4LS41LTEuMzktLjUtMS4yMzUgMC0yLjAxNi44OS0uNzgxLjg5MS0uNzgxIDIuODEzIDAgMS45NTMuNzUgMi44NDQuNzUuODc1IDEuOTUzLjg3NS45NjkgMCAxLjYxLS41OTQuNjU2LS41OTMuODI4LTEuODI4em0xLjkyMiAzLjU0N2wzLjUzMi01LjAzMS0zLjI2Ni00LjY0aDIuMDQ3bDEuNDg0IDIuMjY1cS40MjIuNjQuNjcyIDEuMDc4LjQwNi0uNTk0LjczNS0xLjA2M2wxLjY0LTIuMjhoMS45NTNsLTMuMzQzIDQuNTQ2IDMuNTkzIDUuMTI1aC0yLjAxNWwtMS45ODUtMy0uNTE1LS44MTItMi41NDcgMy44MTJ6IiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTI3OC4zMTMgMTMzLjEyNmM3LjE3Ni0yLjY1NyAyOC44NC0xNS42MjcgNDMuMDYtMTUuOTQgMTQuMjIyLS4zMTIgMzUuMjIxIDExLjcyIDQyLjI2NSAxNC4wNjMiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjc4LjMxMyAxMzMuMTI2YzcuMTc2LTIuNjU3IDI4Ljg0LTE1LjYyNyA0My4wNi0xNS45NCA3LjExMS0uMTU2IDE1LjkxNiAyLjc3NCAyMy44MjQgNi4wMzZhMjE5LjIyIDIxOS4yMiAwIDAgMSA1LjcyMyAyLjQ2NWwxLjM1LjYwNi4zNjYuMTY2IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMzUxLjMxNyAxMjkuNDg4bDkuNjQuNTk0LTcuMDAyLTYuNjUyeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMjg3LjE4OCA4My40MzdoODUuMzIydjI1LjczMmgtODUuMzIyeiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0zMDMuNjg4IDExMC4zNTd2LTEuMjE5cS0uOTA3IDEuNDM4LTIuNzA0IDEuNDM4LTEuMTU2IDAtMi4xMjUtLjY0MS0uOTY4LS42NC0xLjUtMS43ODEtLjUzLTEuMTQtLjUzLTIuNjI1IDAtMS40NTMuNDg0LTIuNjI1LjQ4NC0xLjE4OCAxLjQzNy0xLjgxMy45NjktLjYyNSAyLjE3Mi0uNjI1Ljg3NSAwIDEuNTQ3LjM3NS42ODcuMzYgMS4xMS45NTN2LTQuNzk3aDEuNjR2MTMuMzZ6bS01LjE3Mi00LjgyOHEwIDEuODYuNzggMi43ODEuNzgyLjkyMiAxLjg0NS45MjIgMS4wNzggMCAxLjgyOC0uODc1Ljc1LS44OS43NS0yLjY4OCAwLTEuOTg0LS43NjYtMi45MDYtLjc2NS0uOTM3LTEuODktLjkzNy0xLjA3OSAwLTEuODEzLjg5dC0uNzM0IDIuODEzem0xNS45MDcgMS43MThsMS42ODcuMjA0cS0uNDA2IDEuNDg0LTEuNDg0IDIuMzEyLTEuMDc4LjgxMy0yLjc2Ni44MTMtMi4xMjUgMC0zLjM3NS0xLjI5Ny0xLjIzNC0xLjMxMy0xLjIzNC0zLjY3MiAwLTIuNDUzIDEuMjUtMy43OTcgMS4yNjUtMS4zNDQgMy4yNjUtMS4zNDQgMS45MzggMCAzLjE1NyAxLjMyOCAxLjIzNCAxLjMxMyAxLjIzNCAzLjcwM3YuNDM4aC03LjIxOXEuMDk0IDEuNTk0LjkwNiAyLjQ1My44MTMuODQ0IDIuMDE2Ljg0NC45MDYgMCAxLjU0Ny0uNDY5LjY0LS40ODQgMS4wMTYtMS41MTZ6bS01LjM5MS0yLjY1Nmg1LjQwNnEtLjExLTEuMjE5LS42MjUtMS44MjgtLjc4MS0uOTUzLTIuMDMxLS45NTMtMS4xMjUgMC0xLjkwNi43NjYtLjc2Ni43NS0uODQ0IDIuMDE1em0xNS40MDcgNS43NjZ2LTEuMjE5cS0uOTA2IDEuNDM4LTIuNzAzIDEuNDM4LTEuMTU2IDAtMi4xMjUtLjY0MS0uOTY5LS42NC0xLjUtMS43ODEtLjUzMS0xLjE0LS41MzEtMi42MjUgMC0xLjQ1My40ODQtMi42MjUuNDg0LTEuMTg4IDEuNDM3LTEuODEzLjk3LS42MjUgMi4xNzItLjYyNS44NzUgMCAxLjU0Ny4zNzUuNjg4LjM2IDEuMTEuOTUzdi00Ljc5N2gxLjY0djEzLjM2em0tNS4xNzItNC44MjhxMCAxLjg2Ljc4MSAyLjc4MS43ODIuOTIyIDEuODQ0LjkyMiAxLjA3OCAwIDEuODI4LS44NzUuNzUtLjg5Ljc1LTIuNjg4IDAtMS45ODQtLjc2NS0yLjkwNi0uNzY2LS45MzctMS44OTEtLjkzNy0xLjA3OCAwLTEuODEzLjg5LS43MzQuODktLjczNCAyLjgxM3ptMTUuNjEgNC44Mjh2LTEuNDIycS0xLjEyNSAxLjY0LTMuMDYyIDEuNjQtLjg2IDAtMS42MS0uMzI4LS43MzQtLjMyOC0xLjA5My0uODI4LS4zNi0uNS0uNS0xLjIxOC0uMTEtLjQ3LS4xMS0xLjUzMnYtNS45ODRoMS42NHY1LjM2cTAgMS4yOC4xMSAxLjczNC4xNTYuNjQuNjU2IDEuMDE1LjUuMzc1IDEuMjM1LjM3NS43MzQgMCAxLjM3NS0uMzc1LjY1Ni0uMzkuOTIyLTEuMDMuMjY1LS42NTcuMjY1LTEuODkydi01LjE4N2gxLjY0djkuNjcyem00LjA0OCAzLjcwM3YtMTMuMzc1aDEuNDg0djEuMjVxLjUzMS0uNzM0IDEuMTg4LTEuMDk0LjY3MS0uMzc1IDEuNjI1LS4zNzUgMS4yMzQgMCAyLjE3MS42NC45NTQuNjI2IDEuNDM4IDEuNzk4LjQ4NCAxLjE1Ni40ODQgMi41NDcgMCAxLjQ4NC0uNTMgMi42NzEtLjUzMiAxLjE4OC0xLjU0OCAxLjgyOS0xLjAxNS42MjUtMi4xNC42MjUtLjgxMyAwLTEuNDctLjM0NC0uNjU1LS4zNDQtMS4wNjItLjg3NXY0LjcwM3ptMS40ODQtOC40ODRxMCAxLjg1OS43NSAyLjc2NS43NjYuODkgMS44MjguODkgMS4wOTQgMCAxLjg3NS0uOTIxLjc4MS0uOTM4Ljc4MS0yLjg3NSAwLTEuODQ0LS43NjUtMi43NjYtLjc1LS45MjItMS44MTMtLjkyMi0xLjA0NyAwLTEuODU5Ljk4NS0uNzk3Ljk2OS0uNzk3IDIuODQ0eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik0zNjYuMzEzIDEzMy4xMjZjNy4xNzYtMi42NTcgMjguODQtMTUuNjI3IDQzLjA2LTE1Ljk0IDE0LjIyMi0uMzEyIDM1LjIyMSAxMS43MiA0Mi4yNjUgMTQuMDYzIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTM2Ni4zMTMgMTMzLjEyNmM3LjE3Ni0yLjY1NyAyOC44NC0xNS42MjcgNDMuMDYtMTUuOTQgNy4xMTEtLjE1NiAxNS45MTYgMi43NzQgMjMuODI0IDYuMDM2IDEuOTc3LjgxNSAzLjg5OCAxLjY1MSA1LjcyMyAyLjQ2NWwxLjM1LjYwNi4zNjYuMTY2IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNNDM5LjMxNyAxMjkuNDg4bDkuNjQuNTk0LTcuMDAyLTYuNjUyeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiLz48cGF0aCBkPSJNMzY1LjgxMSA4My40MzZoMTA5LjUxMnYyNS43MzJIMzY1LjgxMXoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMzc1LjM5IDEwNy40NjVsMS42MjQtLjI1cS4xMjUuOTY5Ljc1IDEuNS42MjUuNTE2IDEuNzUuNTE2dDEuNjcyLS40NTNxLjU0Ny0uNDcuNTQ3LTEuMDk0IDAtLjU0Ny0uNDg0LS44NzUtLjMyOC0uMjE5LTEuNjcyLS41NDctMS44MTMtLjQ2OS0yLjUxNi0uNzk3LS42ODctLjMyOC0xLjA0Ny0uOTA2LS4zNTktLjU5NC0uMzU5LTEuMzEzIDAtLjY0LjI5Ny0xLjE4Ny4yOTctLjU2My44MTItLjkyMi4zNzUtLjI4MSAxLjAzMi0uNDY5LjY3MS0uMjAzIDEuNDIxLS4yMDMgMS4xNDEgMCAyIC4zMjguODYuMzI4IDEuMjY2Ljg5LjQyMi41NjMuNTc4IDEuNWwtMS42MS4yMnEtLjEwOS0uNzUtLjY0LTEuMTcyLS41MTUtLjQyMi0xLjQ2OS0uNDIyLTEuMTQgMC0xLjYyNS4zNzUtLjQ2OC4zNzUtLjQ2OC44NzUgMCAuMzEyLjE4Ny41NzguMjAzLjI2Ni42NC40MzcuMjM1LjA5NCAxLjQzOC40MjIgMS43NS40NTMgMi40MzguNzUuNjg3LjI5NyAxLjA3OC44Ni4zOS41NjIuMzkgMS40MDYgMCAuODI4LS40ODQgMS41NDctLjQ2OS43MTktMS4zNzUgMS4xMjUtLjkwNi4zOS0yLjA0Ny4zOS0xLjg3NSAwLTIuODc1LS43OC0uOTg0LS43ODItMS4yNS0yLjMyOXptOS45ODQgMi44OXYtOS42NzFoMS40Njh2MS4zNzVxMS4wNjMtMS41OTQgMy4wNzktMS41OTQuODc1IDAgMS42MDkuMzEzLjczNC4zMTIgMS4wOTQuODI4LjM3NS41LjUxNSAxLjIwMy4wOTQuNDUzLjA5NCAxLjU5NHY1Ljk1M2gtMS42NHYtNS44OXEwLTEtLjIwNC0xLjQ4NS0uMTg3LS41LS42NzItLjc5Ny0uNDg0LS4yOTctMS4xNC0uMjk3LTEuMDQ3IDAtMS44MTMuNjcyLS43NS42NTYtLjc1IDIuNTE1djUuMjgyem0xNi42ODgtMS4xODdxLS45MjIuNzY2LTEuNzY2IDEuMDk0LS44MjguMzEyLTEuNzk3LjMxMi0xLjU5MyAwLTIuNDUzLS43OC0uODU5LS43ODItLjg1OS0xLjk4NSAwLS43MTkuMzI4LTEuMjk3LjMyOC0uNTk0Ljg0NC0uOTM4LjUzMS0uMzU5IDEuMTg3LS41NDYuNDctLjEyNSAxLjQ1My0uMjUgMS45ODUtLjIzNSAyLjkyMi0uNTYzLjAxNi0uMzQ0LjAxNi0uNDIyIDAtMS0uNDY5LTEuNDIyLS42MjUtLjU0Ny0xLjg3NS0uNTQ3LTEuMTU2IDAtMS43MDMuNDA3LS41NDcuNDA2LS44MTIgMS40MjJsLTEuNjEtLjIycS4yMTktMS4wMTUuNzE5LTEuNjQuNS0uNjQgMS40NTMtLjk4NC45NTMtLjM0NCAyLjE4OC0uMzQ0IDEuMjUgMCAyLjAxNS4yOTcuNzgxLjI4MSAxLjE0LjczNC4zNzYuNDM4LjUxNiAxLjExLjA3OS40MjIuMDc5IDEuNTE1djIuMTg4cTAgMi4yODEuMTA5IDIuODkuMTEuNTk0LjQwNiAxLjE1N2gtMS43MDNxLS4yNjYtLjUxNi0uMzI4LTEuMTg4em0tLjE0LTMuNjcycS0uODkxLjM3NS0yLjY3My42MjUtMS4wMTUuMTQtMS40MzcuMzI4LS40MjIuMTg4LS42NTYuNTMyLS4yMTkuMzQzLS4yMTkuNzggMCAuNjU3LjUgMS4wOTUuNS40MzcgMS40NTMuNDM3LjkzOCAwIDEuNjcyLS40MDYuNzUtLjQyMiAxLjA5NC0xLjE0LjI2NS0uNTYzLjI2NS0xLjY0MXptNC4yMDMgOC41NjN2LTEzLjM3NWgxLjQ4NXYxLjI1cS41My0uNzM1IDEuMTg3LTEuMDk0LjY3Mi0uMzc1IDEuNjI1LS4zNzUgMS4yMzQgMCAyLjE3Mi42NC45NTMuNjI2IDEuNDM3IDEuNzk4LjQ4NSAxLjE1Ni40ODUgMi41NDYgMCAxLjQ4NS0uNTMxIDIuNjcyLS41MzIgMS4xODgtMS41NDcgMS44MjgtMS4wMTYuNjI1LTIuMTQuNjI1LS44MTMgMC0xLjQ3LS4zNDMtLjY1Ni0uMzQ0LTEuMDYyLS44NzV2NC43MDN6bTEuNDg1LTguNDg1cTAgMS44Ni43NSAyLjc2Ni43NjUuODkgMS44MjguODkgMS4wOTMgMCAxLjg3NS0uOTIxLjc4LS45MzguNzgtMi44NzUgMC0xLjg0NC0uNzY1LTIuNzY2LS43NS0uOTIyLTEuODEyLS45MjItMS4wNDcgMC0xLjg2Ljk4NS0uNzk2Ljk2OC0uNzk2IDIuODQzem04LjIzNSAxLjg5MWwxLjYyNS0uMjVxLjEyNS45NjkuNzUgMS41LjYyNS41MTYgMS43NS41MTZ0MS42NzItLjQ1M3EuNTQ2LS40Ny41NDYtMS4wOTQgMC0uNTQ3LS40ODQtLjg3NS0uMzI4LS4yMTktMS42NzItLjU0Ny0xLjgxMi0uNDY5LTIuNTE1LS43OTctLjY4OC0uMzI4LTEuMDQ3LS45MDYtLjM2LS41OTQtLjM2LTEuMzEzIDAtLjY0LjI5Ny0xLjE4Ny4yOTctLjU2My44MTMtLjkyMi4zNzUtLjI4MSAxLjAzLS40NjkuNjczLS4yMDMgMS40MjMtLjIwMyAxLjE0IDAgMiAuMzI4Ljg2LjMyOCAxLjI2NS44OS40MjIuNTYzLjU3OSAxLjVsLTEuNjEuMjJxLS4xMS0uNzUtLjY0LTEuMTcyLS41MTYtLjQyMi0xLjQ3LS40MjItMS4xNCAwLTEuNjI0LjM3NS0uNDY5LjM3NS0uNDY5Ljg3NSAwIC4zMTIuMTg4LjU3OC4yMDMuMjY2LjY0LjQzNy4yMzUuMDk0IDEuNDM4LjQyMiAxLjc1LjQ1MyAyLjQzNy43NS42ODguMjk3IDEuMDc4Ljg2LjM5LjU2Mi4zOSAxLjQwNiAwIC44MjgtLjQ4MyAxLjU0Ny0uNDcuNzE5LTEuMzc1IDEuMTI1LS45MDcuMzktMi4wNDcuMzktMS44NzUgMC0yLjg3NS0uNzgtLjk4NS0uNzgyLTEuMjUtMi4zMjl6bTkuOTg0IDIuODlWOTYuOTk3aDEuNjR2NC43OTdxMS4xNDEtMS4zMjggMi44OTEtMS4zMjggMS4wNzggMCAxLjg2LjQyMi43OTcuNDIyIDEuMTQgMS4xNzIuMzQ0Ljc1LjM0NCAyLjE3MnY2LjEyNWgtMS42NHYtNi4xMjVxMC0xLjIzNS0uNTMyLTEuNzk3LS41MzEtLjU2My0xLjUxNS0uNTYzLS43MiAwLTEuMzYuMzktLjY0LjM3Ni0uOTIyIDEuMDE3LS4yNjUuNjQtLjI2NSAxLjc4djUuMjk4em05Ljc2Ni00Ljg0M3EwLTIuNjg4IDEuNDg1LTMuOTY5IDEuMjUtMS4wNzggMy4wNDctMS4wNzggMiAwIDMuMjY1IDEuMzEzIDEuMjY2IDEuMjk2IDEuMjY2IDMuNjA5IDAgMS44Ni0uNTYzIDIuOTM3LS41NjIgMS4wNjMtMS42NCAxLjY1Ny0xLjA2My41OTMtMi4zMjguNTkzLTIuMDMyIDAtMy4yODItMS4yOTYtMS4yNS0xLjMxMy0xLjI1LTMuNzY2em0xLjY4OCAwcTAgMS44Ni43OTcgMi43OTcuODEyLjkyMiAyLjA0Ny45MjIgMS4yMTggMCAyLjAzLS45MjIuODEzLS45MzguODEzLTIuODQ0IDAtMS43OTctLjgxMi0yLjcxOS0uODEzLS45MjItMi4wMzEtLjkyMi0xLjIzNSAwLTIuMDQ3LjkyMi0uNzk3LjkwNy0uNzk3IDIuNzY2em0xMi44NzYgMy4zNzVsLjIzNCAxLjQ1M3EtLjY4OC4xNC0xLjIzNC4xNC0uODkxIDAtMS4zOTEtLjI4LS40ODQtLjI4Mi0uNjg4LS43MzUtLjIwMy0uNDY5LS4yMDMtMS45Mzd2LTUuNTc5aC0xLjIwM3YtMS4yNjVoMS4yMDN2LTIuMzlsMS42MjUtLjk4NXYzLjM3NWgxLjY1N3YxLjI2NWgtMS42NTd2NS42NzJxMCAuNjg4LjA3OC44OS4wOTQuMjA0LjI4Mi4zMy4yMDMuMTA4LjU3OC4xMDguMjY1IDAgLjcxOS0uMDYyeiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik03MzkuMzggNTI2bC0xNS4xOCA0My41NiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik03MzkuMzggNTI2bC0xMy4yMDYgMzcuODkzIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtZGFzaGFycmF5PSI0LDMiLz48cGF0aCBkPSJNNzI0LjYxNSA1NjMuMzVsLjA2NiA0LjgyOSAzLjA1My0zLjc0MnoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik02NDMuNzc4IDEzMy4xMjZjMTEuMDMtMi42NTcgNDQuMzI1LTE1LjYyNyA2Ni4xODItMTUuOTQgMjEuODU2LS4zMTIgNTQuMTMgMTEuNzIgNjQuOTU3IDE0LjA2MyIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik02NDMuNzc4IDEzMy4xMjZjMTEuMDMtMi42NTcgNDQuMzI1LTE1LjYyNyA2Ni4xODItMTUuOTQgMTAuOTI4LS4xNTYgMjQuNDYgMi43NzQgMzYuNjE0IDYuMDM2IDYuMDc3IDEuNjMgMTEuODEgMy4zNDUgMTYuNyA0Ljc5N2wuMDc5LjAyNCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTc2Mi40NyAxMzEuMjI2bDkuNjI5LS43NTgtNy44NjMtNS42MDl6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0iYnV0dCIvPjxwYXRoIGQ9Ik02NzUuMDA4IDgzLjQzNmgxNjguMzE1djI1LjczMkg2NzUuMDA4eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik02ODUuMjQyIDExMC4zNTZ2LTkuNjcyaDEuNDY5djEuMzZxLjQ1My0uNzIgMS4yMDMtMS4xNDEuNzY2LS40MzggMS43MTktLjQzOCAxLjA3OCAwIDEuNzY1LjQ1My42ODguNDM4Ljk3IDEuMjM1IDEuMTU1LTEuNjg4IDIuOTgzLTEuNjg4IDEuNDU0IDAgMi4yMi43OTcuNzguNzk3Ljc4IDIuNDUzdjYuNjRoLTEuNjR2LTYuMDkzcTAtLjk4NC0uMTU2LTEuNDA2LS4xNTctLjQzOC0uNTc5LS43MDMtLjQyMS0uMjY2LS45ODQtLjI2Ni0xLjAxNiAwLTEuNjg3LjY4Ny0uNjcyLjY3Mi0uNjcyIDIuMTU3djUuNjI1aC0xLjY0di02LjI4MnEwLTEuMDkzLS40MDctMS42NC0uNDA2LS41NDctMS4zMTMtLjU0Ny0uNjg3IDAtMS4yOC4zNi0uNTk1LjM1OS0uODYgMS4wNjItLjI1LjcwMy0uMjUgMi4wMzF2NS4wMTZ6bTIyLjE2Ni0zLjExbDEuNjg3LjIwM3EtLjQwNiAxLjQ4NS0xLjQ4NCAyLjMxMy0xLjA3OC44MTItMi43NjYuODEyLTIuMTI1IDAtMy4zNzUtMS4yOTYtMS4yMzQtMS4zMTMtMS4yMzQtMy42NzIgMC0yLjQ1MyAxLjI1LTMuNzk3IDEuMjY2LTEuMzQ0IDMuMjY2LTEuMzQ0IDEuOTM3IDAgMy4xNTYgMS4zMjggMS4yMzQgMS4zMTMgMS4yMzQgMy43MDN2LjQzOGgtNy4yMThxLjA5MyAxLjU5NC45MDYgMi40NTMuODEyLjg0NCAyLjAxNS44NDQuOTA3IDAgMS41NDctLjQ3LjY0LS40ODMgMS4wMTYtMS41MTV6bS01LjM5LTIuNjU2aDUuNDA2cS0uMTEtMS4yMTktLjYyNS0xLjgyOC0uNzgyLS45NTMtMi4wMzItLjk1My0xLjEyNSAwLTEuOTA2Ljc2NS0uNzY2Ljc1LS44NDQgMi4wMTZ6bTkuMTI1IDUuNzY2di05LjY3MmgxLjQ2OXYxLjQ2OXEuNTYyLTEuMDMyIDEuMDMxLTEuMzYuNDg0LS4zMjggMS4wNjItLjMyOC44MjkgMCAxLjY4OC41MzFsLS41NjMgMS41MTZxLS42MDktLjM2LTEuMjAzLS4zNi0uNTQ3IDAtLjk2OC4zMjktLjQyMi4zMjgtLjYxLjg5LS4yODEuODc1LS4yODEgMS45MjJ2NS4wNjN6bTUuOTE2Ljc5N2wxLjU5NC4yMzRxLjEwOS43NS41NjIgMS4wNzguNjEuNDUzIDEuNjcyLjQ1MyAxLjE0IDAgMS43NS0uNDUzLjYyNS0uNDUzLjg0NC0xLjI2Ni4xMjUtLjUuMTEtMi4xMDktMS4wNjMgMS4yNjYtMi42NzMgMS4yNjYtMiAwLTMuMDk0LTEuNDM4LTEuMDkzLTEuNDM3LTEuMDkzLTMuNDUzIDAtMS4zOS41LTIuNTYyLjUxNS0xLjE3MiAxLjQ1My0xLjc5Ny45NTMtLjY0IDIuMjUtLjY0IDEuNzAzIDAgMi44MTIgMS4zNzR2LTEuMTU2aDEuNTE2djguMzZxMCAyLjI2NS0uNDY5IDMuMjAyLS40NTMuOTM4LTEuNDUzIDEuNDg1LS45ODQuNTQ3LTIuNDUzLjU0Ny0xLjcxOSAwLTIuNzk3LS43ODItMS4wNjItLjc2NS0xLjAzMS0yLjM0M3ptMS4zNi01LjgxM3EwIDEuOTA2Ljc1IDIuNzgxLjc2NS44NzUgMS45MDUuODc1IDEuMTI1IDAgMS44OTEtLjg2Ljc2Ni0uODc0Ljc2Ni0yLjczMyAwLTEuNzgyLS43OTctMi42NzItLjc4MS0uOTA3LTEuODktLjkwNy0xLjA5NSAwLTEuODYuODkxLS43NjYuODc1LS43NjYgMi42MjV6bTE1Ljk1MyAxLjkwNmwxLjY4OC4yMDNxLS40MDcgMS40ODUtMS40ODUgMi4zMTMtMS4wNzguODEyLTIuNzY1LjgxMi0yLjEyNSAwLTMuMzc1LTEuMjk2LTEuMjM1LTEuMzEzLTEuMjM1LTMuNjcyIDAtMi40NTMgMS4yNS0zLjc5NyAxLjI2Ni0xLjM0NCAzLjI2Ni0xLjM0NCAxLjkzNyAwIDMuMTU2IDEuMzI4IDEuMjM0IDEuMzEzIDEuMjM0IDMuNzAzdi40MzhoLTcuMjE4cS4wOTMgMS41OTQuOTA2IDIuNDUzLjgxMi44NDQgMi4wMTYuODQ0LjkwNiAwIDEuNTQ2LS40Ny42NDEtLjQ4MyAxLjAxNi0xLjUxNXptLTUuMzktMi42NTZoNS40MDZxLS4xMS0xLjIxOS0uNjI1LTEuODI4LS43ODItLjk1My0yLjAzMi0uOTUzLTEuMTI1IDAtMS45MDYuNzY1LS43NjUuNzUtLjg0NCAyLjAxNnoiIGZpbGw9IiMwMDAiLz48cGF0aCBkPSJNNDAyLjY2MiAxODIuODEzaDkxLjY4NXYyNS43MzJoLTkxLjY4NXoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNDE4LjY2MSAyMDcuMjY5di0xMi4yMDNoMi41Nzh2Ljk2OWgtMS40MDZ2MTAuMjVoMS40MDZ2Ljk4NHptMy4yMDMtNC43MTlsMS4xNTYtLjE4N3EuMTEuNzAzLjU0NyAxLjA3OC40NTMuMzYgMS4yNS4zNi44MTMgMCAxLjIwMy0uMzI5LjM5MS0uMzI4LjM5MS0uNzY2IDAtLjM5LS4zNi0uNjI1LS4yMzQtLjE1Ni0xLjE4Ny0uMzktMS4yOTctLjMyOC0xLjc5Ny0uNTYzLS40ODQtLjI1LS43NS0uNjU2LS4yNS0uNDIyLS4yNS0uOTM3IDAtLjQ1NC4yMDMtLjg0NC4yMi0uNDA2LjU3OC0uNjcyLjI4Mi0uMTg4Ljc1LS4zMjguNDctLjE0IDEuMDE2LS4xNC44MTMgMCAxLjQyMi4yMzQuNjEuMjM0LjkwNi42NC4yOTcuMzkuNDA2IDEuMDYzbC0xLjE0LjE1NnEtLjA3OC0uNTMxLS40NTMtLjgyOC0uMzc1LS4zMTMtMS4wNjMtLjMxMy0uODEyIDAtMS4xNTYuMjY2LS4zNDQuMjY2LS4zNDQuNjI1IDAgLjIzNC4xNC40MjIuMTU3LjE4Ny40NTQuMzEyLjE3Mi4wNjMgMS4wMzEuMjk3IDEuMjUuMzI4IDEuNzM1LjU0Ny41LjIwMy43OC42MS4yODIuNDA2LjI4MiAxIDAgLjU5My0uMzQ0IDEuMTA5LS4zNDMuNTE1LTEgLjc5Ny0uNjQuMjgtMS40NTMuMjgtMS4zNDQgMC0yLjA0Ny0uNTYyLS43MDMtLjU2Mi0uOTA2LTEuNjU2em03LjEzMyAyLjA2M3YtNi45MDdoMS4wNjJ2Ljk4NXEuNzUtMS4xNCAyLjE4OC0xLjE0LjYyNSAwIDEuMTU2LjIxOC41MzEuMjE5Ljc4MS41OTQuMjY2LjM1OS4zNzUuODU5LjA2My4zMjguMDYzIDEuMTR2NC4yNWgtMS4xNzJ2LTQuMjAycTAtLjcyLS4xNC0xLjA2My0uMTQxLS4zNi0uNDg1LS41NjItLjM0NC0uMjItLjgxMi0uMjItLjc1IDAtMS4yOTcuNDctLjU0Ny40NjgtLjU0NyAxLjc5NnYzLjc4MnptMTEuOTI4LS44NnEtLjY1Ni41NjMtMS4yNjYuNzk3LS41OTMuMjE5LTEuMjguMjE5LTEuMTQxIDAtMS43NS0uNTQ3LS42MS0uNTYyLS42MS0xLjQzNyAwLS41LjIxOS0uOTIyLjIzNC0uNDIyLjYwOS0uNjcyLjM3NS0uMjUuODQ0LS4zOS4zNDMtLjA3OSAxLjA0Ny0uMTczIDEuNDIxLS4xNzIgMi4wOTMtLjQwNnYtLjI5N3EwLS43MTktLjMyOC0xLjAxNS0uNDUzLS4zOTEtMS4zNDQtLjM5MS0uODEyIDAtMS4yMTguMjk3LS4zOTEuMjgxLS41NzggMS4wMTVsLTEuMTQxLS4xNTZxLjE1Ni0uNzM0LjUxNi0xLjE4Ny4zNTktLjQ1MyAxLjAzLS42ODguNjczLS4yNSAxLjU2My0uMjUuODkgMCAxLjQzOC4yMDMuNTYyLjIwMy44MTIuNTMyLjI2Ni4zMTIuMzc1Ljc5Ni4wNDcuMjk3LjA0NyAxLjA3OXYxLjU2MnEwIDEuNjI1LjA3OCAyLjA2My4wNzguNDM3LjI5Ny44MjhoLTEuMjE5cS0uMTg3LS4zNi0uMjM0LS44NnptLS4wOTQtMi42MXEtLjY0LjI2Ny0xLjkyMi40MzgtLjcxOC4xMS0xLjAxNS4yNS0uMjk3LjEyNS0uNDY5LjM3NS0uMTU2LjI1LS4xNTYuNTQ3IDAgLjQ2OS4zNDQuNzgyLjM1OS4zMTIgMS4wNDYuMzEyLjY3MiAwIDEuMjA0LS4yOTcuNTMtLjI5Ny43OC0uODEyLjE4OC0uMzkxLjE4OC0xLjE3MnptMi45OSA2LjEyNnYtOS41NjNoMS4wNzl2Ljg5MXEuMzc1LS41MzEuODQ0LS43ODEuNDg0LS4yNjYgMS4xNTYtLjI2Ni44NzUgMCAxLjU0Ny40NTMuNjg3LjQ1MyAxLjAzMSAxLjI4Mi4zNDQuODI4LjM0NCAxLjgyOCAwIDEuMDQ3LS4zNzUgMS45MDYtLjM3NS44NDQtMS4xMSAxLjI5Ny0uNzE4LjQ1My0xLjUzLjQ1My0uNTc5IDAtMS4wNDgtLjI1LS40NjgtLjI1LS43NjUtLjYyNXYzLjM3NXptMS4wNjMtNi4wNzhxMCAxLjM0NC41MzIgMS45ODQuNTQ3LjYyNSAxLjMxMi42MjUuNzgxIDAgMS4zNDQtLjY1Ni41NjItLjY1Ni41NjItMi4wNDcgMC0xLjMxMi0uNTQ2LTEuOTY5LS41NDctLjY3Mi0xLjI5Ny0uNjcyLS43NSAwLTEuMzI4LjcwNC0uNTc5LjcwMy0uNTc5IDIuMDN6bTUuODgyIDEuMzZsMS4xNTYtLjE4OHEuMTEuNzAzLjU0NyAxLjA3OC40NTMuMzYgMS4yNS4zNi44MTIgMCAxLjIwMy0uMzI5LjM5LS4zMjguMzktLjc2NiAwLS4zOS0uMzU5LS42MjUtLjIzNC0uMTU2LTEuMTg3LS4zOS0xLjI5Ny0uMzI4LTEuNzk3LS41NjMtLjQ4NS0uMjUtLjc1LS42NTYtLjI1LS40MjItLjI1LS45MzcgMC0uNDU0LjIwMy0uODQ0LjIxOS0uNDA2LjU3OC0uNjcyLjI4MS0uMTg4Ljc1LS4zMjh0MS4wMTYtLjE0cS44MTIgMCAxLjQyMi4yMzQuNjA5LjIzNC45MDYuNjQuMjk3LjM5LjQwNiAxLjA2M2wtMS4xNC4xNTZxLS4wNzktLjUzMS0uNDU0LS44MjgtLjM3NS0uMzEzLTEuMDYyLS4zMTMtLjgxMyAwLTEuMTU2LjI2Ni0uMzQ0LjI2Ni0uMzQ0LjYyNSAwIC4yMzQuMTQuNDIyLjE1Ny4xODcuNDU0LjMxMi4xNzEuMDYzIDEuMDMuMjk3IDEuMjUuMzI4IDEuNzM1LjU0Ny41LjIwMy43ODEuNjEuMjgyLjQwNi4yODIgMSAwIC41OTMtLjM0NCAxLjEwOS0uMzQ0LjUxNS0xIC43OTctLjY0LjI4LTEuNDUzLjI4LTEuMzQ0IDAtMi4wNDctLjU2Mi0uNzAzLS41NjItLjkwNi0xLjY1NnptNy4xMzIgMi4wNjJ2LTkuNTQ3aDEuMTcydjMuNDIycS44MjgtLjkzOCAyLjA3OC0uOTM4Ljc2NiAwIDEuMzI5LjI5Ny41NjIuMjk3LjgxMi44NDQuMjUuNTMxLjI1IDEuNTQ3djQuMzc1aC0xLjE3MnYtNC4zNzVxMC0uODkxLS4zOS0xLjI4Mi0uMzc1LS40MDYtMS4wNzktLjQwNi0uNTE1IDAtLjk4NC4yODEtLjQ1My4yNjYtLjY1Ni43MzUtLjE4OC40NTMtLjE4OCAxLjI2NXYzLjc4MnptNi45NzUtMy40NTNxMC0xLjkyMiAxLjA3OS0yLjg0NC44OS0uNzY2IDIuMTcxLS43NjYgMS40MjIgMCAyLjMyOS45MzguOTA2LjkyMi45MDYgMi41NzggMCAxLjMyOC0uNDA2IDIuMDk0LS4zOTEuNzY1LTEuMTU3IDEuMTg3LS43NjUuNDIyLTEuNjcyLjQyMi0xLjQ1MyAwLTIuMzU5LS45MjItLjg5LS45MzctLjg5LTIuNjg3em0xLjIwNCAwcTAgMS4zMjguNTc4IDEuOTg0LjU5My42NTYgMS40NjguNjU2dDEuNDU0LS42NTZxLjU3OC0uNjcyLjU3OC0yLjAzMSAwLTEuMjgyLS41OTQtMS45MzgtLjU3OC0uNjU2LTEuNDM4LS42NTYtLjg3NSAwLTEuNDY4LjY1Ni0uNTc4LjY1Ni0uNTc4IDEuOTg1em05LjIwOSAyLjQwNmwuMTcyIDEuMDMxcS0uNS4xMS0uODkuMTEtLjY0MSAwLTEtLjIwNC0uMzQ1LS4yMDMtLjQ4NS0uNTMxdC0uMTQtMS4zOXYtMy45N2gtLjg2di0uOTA2aC44NnYtMS43MThsMS4xNzEtLjcwM3YyLjQyMWgxLjE3MnYuOTA3aC0xLjE3MnY0LjA0N3EwIC41LjA0Ny42NC4wNjIuMTQuMjAzLjIzNS4xNC4wNzguNDA2LjA3OC4yMDMgMCAuNTE2LS4wNDd6bTMuMTEgMy43MDNINDc1Ljh2LS45ODRoMS40MjJ2LTEwLjI1aC0xLjQyMnYtLjk3aDIuNTk0eiIgZmlsbD0iIzAwMCIvPjxwYXRoIGQ9Ik00NTguNjYxIDE4Mi44MTNoOTEuNjg1djI1LjczMmgtOTEuNjg1eiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik00ODQuMjk5IDIwNy4yNjl2LTEyLjIwM2gyLjU3OHYuOTY5aC0xLjQwN3YxMC4yNWgxLjQwN3YuOTg0em04LjE4Ny0zLjUxNnEtLjY1Ni41NjMtMS4yNjYuNzk3LS41OTMuMjE5LTEuMjguMjE5LTEuMTQyIDAtMS43NS0uNTQ3LS42MS0uNTYyLS42MS0xLjQzNyAwLS41LjIxOC0uOTIyLjIzNS0uNDIyLjYxLS42NzIuMzc1LS4yNS44NDQtLjM5LjM0My0uMDc5IDEuMDQ2LS4xNzMgMS40MjItLjE3MiAyLjA5NC0uNDA2di0uMjk3cTAtLjcxOS0uMzI4LTEuMDE1LS40NTMtLjM5MS0xLjM0NC0uMzkxLS44MTIgMC0xLjIxOC4yOTctLjM5MS4yODEtLjU3OSAxLjAxNWwtMS4xNC0uMTU2cS4xNTYtLjczNC41MTUtMS4xODcuMzYtLjQ1MyAxLjAzMi0uNjg4LjY3Mi0uMjUgMS41NjItLjI1dDEuNDM4LjIwM3EuNTYyLjIwMy44MTIuNTMyLjI2Ni4zMTIuMzc1Ljc5Ni4wNDcuMjk3LjA0NyAxLjA3OXYxLjU2MnEwIDEuNjI1LjA3OCAyLjA2My4wNzguNDM3LjI5Ny44MjhoLTEuMjE5cS0uMTg3LS4zNi0uMjM0LS44NnptLS4wOTQtMi42MXEtLjY0LjI2Ny0xLjkyMi40MzgtLjcxOC4xMS0xLjAxNS4yNS0uMjk3LjEyNS0uNDY5LjM3NS0uMTU2LjI1LS4xNTYuNTQ3IDAgLjQ2OS4zNDQuNzgyLjM1OS4zMTIgMS4wNDYuMzEyLjY3MiAwIDEuMjA0LS4yOTcuNTMtLjI5Ny43OC0uODEyLjE4OC0uMzkxLjE4OC0xLjE3MnptNy41MDcuOTM4bDEuMTU2LjE1N3EtLjE4OCAxLjE4Ny0uOTY5IDEuODU5LS43ODEuNjcyLTEuOTIyLjY3Mi0xLjQwNiAwLTIuMjgxLS45MjItLjg2LS45MzctLjg2LTIuNjU2IDAtMS4xMjUuMzc1LTEuOTY5LjM3NS0uODQ0IDEuMTI1LTEuMjUuNzY2LS40MjIgMS42NTctLjQyMiAxLjEyNSAwIDEuODQ0LjU3OC43MTguNTYzLjkyMSAxLjYxbC0xLjE0LjE3MnEtLjE3Mi0uNzA0LS41OTQtMS4wNDctLjQwNi0uMzYtLjk4NC0uMzYtLjg5MSAwLTEuNDUzLjY0LS41NDcuNjQyLS41NDcgMiAwIDEuNDA3LjUzIDIuMDMyLjU0OC42MjUgMS40MDcuNjI1LjY4OCAwIDEuMTQtLjQyMi40Ny0uNDIyLjU5NS0xLjI5N3ptNC43MSAxLjQ4NWwuMTcyIDEuMDMxcS0uNS4xMS0uODkuMTEtLjY0IDAtMS0uMjA0LS4zNDQtLjIwMy0uNDg1LS41MzEtLjE0LS4zMjgtLjE0LTEuMzl2LTMuOTdoLS44NnYtLjkwNmguODZ2LTEuNzE4bDEuMTcyLS43MDN2Mi40MjFoMS4xNzF2LjkwN2gtMS4xNzF2NC4wNDdxMCAuNS4wNDYuNjQuMDYzLjE0LjIwNC4yMzUuMTQuMDc4LjQwNi4wNzguMjAzIDAgLjUxNS0uMDQ3em0xLjE1Ny03LjE0di0xLjM2aDEuMTcxdjEuMzZ6bTAgOC4xODd2LTYuOTA3aDEuMTcxdjYuOTA3em00Ljg2NyAwbC0yLjYyNS02LjkwN2gxLjIzNGwxLjQ4NSA0LjE0MXEuMjM0LjY1Ni40MzcgMS4zOS4xNTYtLjU0Ni40MzgtMS4zMTJsMS41My00LjIxOWgxLjIybC0yLjYyNSA2LjkwN3ptOS40NzYtMi4yMmwxLjIwNC4xNDJxLS4yODIgMS4wNjItMS4wNjMgMS42NTYtLjc2Ni41NzgtMS45NjkuNTc4LTEuNTE1IDAtMi40MDYtLjkzOC0uODktLjkzNy0uODktMi42MDkgMC0xLjc1Ljg5LTIuNzAzLjkwNi0uOTY5IDIuMzQ0LS45NjkgMS4zOSAwIDIuMjY1LjkzOC44NzUuOTM3Ljg3NSAyLjY1NnYuMzEyaC01LjE1NnEuMDYzIDEuMTQxLjY0IDEuNzUuNTc5LjU5NCAxLjQzOC41OTQuNjU3IDAgMS4xMS0uMzI4LjQ1My0uMzQ0LjcxOC0xLjA3OHptLTMuODQzLTEuOTA1aDMuODZxLS4wNzktLjg2LS40MzgtMS4yOTctLjU2My0uNjg4LTEuNDU0LS42ODgtLjgxMiAwLTEuMzU5LjU0Ny0uNTQ3LjUzMS0uNjEgMS40Mzh6bTguNDkgNi43OGgtMi41OTN2LS45ODNoMS40MjF2LTEwLjI1aC0xLjQyMXYtLjk3aDIuNTkzeiIgZmlsbD0iIzAwMCIvPjwvZz48L3N2Zz4=" alt=""></p>
<p>The example above assumes a virtual stack with two values on the operand stack. Before starting the new block, the top value on the virtual stack is popped as argument to the <code>if</code> instruction. The remaining stack value needs to be put in another register, since it is currently shadowing the first parameter, but when branching back to this state we might need to hold two different values for the stack value and the parameter. In this case Liftoff chooses to deduplicate it into the <em>rcx</em> register. This state is then snapshotted, and the active state is modified within the block. At the end of the block, we implicitly branch back to the parent block, so we merge the current state into the snapshot by moving register <em>rbx</em> into <em>rcx</em> and reloading register <em>rdx</em> from the stack frame.</p>
<h3>Tiering up from Liftoff to TurboFan</h3>
<p>With Liftoff and Turbofan, V8 now has two compilation tiers for WebAssembly: Liftoff as the baseline compiler for fast startup and TurboFan as optimizing compiler for maximum performance. This poses the question of how to combine the two compilers to provide the best overall user experience.</p>
<p>For JavaScript, V8 uses the Ignition interpreter and the TurboFan compiler and employs a dynamic tier-up strategy. Each function is first executed in Ignition, and if the function becomes hot, TurboFan compiles it into highly-optimized machine code. A similar approach could also be used for Liftoff, but the tradeoffs are a bit different here:</p>
<ol>
<li>WebAssembly does not require type feedback to generate fast code. Where JavaScript greatly benefits from gathering type feedback, WebAssembly is statically typed, so the engine can generate optimized code right away.</li>
<li>WebAssembly code should run <em>predictably</em> fast, without a lengthy warm-up phase. One of the reasons applications target WebAssembly is to execute on the web <em>with predictable high performance</em>. So we can neither tolerate running suboptimal code for too long, nor do we accept compilation pauses during execution.</li>
<li>An important design goal of the Ignition interpreter for JavaScript is to reduce memory usage by not compiling functions at all. Yet we found that an interpreter for WebAssembly is far too slow to deliver on the goal of predictably fast performance. We did, in fact, build such an interpreter, but being 20× or more slower than compiled code, it is only useful for debugging, regardless of how much memory it saves. Given this, the engine must store compiled code anyway; in the end it should store only the most compact and most efficient code, which is TurboFan optimized code.</li>
</ol>
<p>From these constraints we concluded that dynamic tier-up is not the right tradeoff for V8’s implementation of WebAssembly right now, since it would increase code size and reduce performance for an indeterminate time span. Instead, we chose a strategy of <em>eager tier-up</em>. Immediately after Liftoff compilation of a module finished, the WebAssembly engine starts background threads to generate optimized code for the module. This allows V8 to start executing code quickly (after Liftoff finished), but still have the most performant TurboFan code available as early as possible.</p>
<p>The picture below shows the trace of compiling and executing <a href="https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html">the EpicZenGarden benchmark</a>. It shows that right after Liftoff compilation we can instantiate the WebAssembly module and start executing it. TurboFan compilation still takes several more seconds, so during that tier-up period the observed execution performance will gradually increase since individual TurboFan functions will be used as soon as they are finished.</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirmorDXU5OoS-Z1Ojd21ObG-u5dpdjexWGLMzvnXXD18DFle-vfOWF9HjS5nYI5VZIaJrVFhpjWKxaADIlR4D4ZOGvAcT2oALmhrisa2Ja0eDSMMjTK77TzGafXlBPjNpOetuOvnj4Z-DT/s1600/tierup-liftoff-turbofan.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="723" data-original-width="890" height="518" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirmorDXU5OoS-Z1Ojd21ObG-u5dpdjexWGLMzvnXXD18DFle-vfOWF9HjS5nYI5VZIaJrVFhpjWKxaADIlR4D4ZOGvAcT2oALmhrisa2Ja0eDSMMjTK77TzGafXlBPjNpOetuOvnj4Z-DT/s640/tierup-liftoff-turbofan.png" width="640" /></a></p>
<h2>Performance</h2>
<p>Two metrics are interesting for evaluating the performance of the new Liftoff compiler. First we want to compare the compilation speed (i.e. time to generate code) with TurboFan. Second, we want to measure the performance of the generated code (i.e. execution speed). The first measure is the more interesting here, since the goal of Liftoff is to reduce startup time by generating code as quickly as possible. On the other hand, the performance of the generated code should still be pretty good since that code might still execute for several seconds or even minutes on low-end hardware.</p>
<h3>Performance of generating code</h3>
<p>For measuring the <em>compiler performance</em> itself, we ran a number of benchmarks and measured the raw compilation time using tracing (see picture above). We run both benchmarks on an HP Z840 machine (2 x Intel Xeon E5-2690 @2.6GHz, 24 cores, 48 threads) and on a Macbook Pro (Intel Core i7-4980HQ @2.8GHz, 4 cores, 8 threads). Note that Chrome does currently not use more than 10 background threads, so most of the cores of the Z840 machine are unused.</p>
<p>We execute three benchmarks:</p>
<ol>
<li><strong>EpicZenGarden</strong>: The ZenGarden demo running on the Epic framework: <a href="https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html">https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html</a></li>
<li><strong>Tanks!</strong>: A demo of the Unity engine: <a href="https://webassembly.org/demo/">https://webassembly.org/demo/</a></li>
<li><strong>AutoDesk</strong>: <a href="https://web.autocad.com/">https://web.autocad.com/</a></li>
<li><strong>PSPDFKit</strong>: <a href="https://pspdfkit.com/webassembly-benchmark/">https://pspdfkit.com/webassembly-benchmark/</a></li>
</ol>
<p>For each benchmark, we measure the raw compilation time using the tracing output as shown above. This number is more stable than any time reported by the benchmark itself, as it does not rely on a task being scheduled on the main thread and does not include unrelated work like creating the actual WebAssembly instance.</p>
<p>The graphs below show the results of these benchmarks. Each benchmark was executed three times, and we report the average compilation time.</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgd2lkdGg9IjQ5MCIgaGVpZ2h0PSIyODIiPjxkZWZzPjxtYXJrZXIgb3JpZW50PSJhdXRvIiBpZD0iYiIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0tNS4yMzEtMi40MkwxLjMyNC0uMDEtNS4yMyAyLjQwMWMxLjA0Ny0xLjQyMyAxLjA0MS0zLjM3IDAtNC44MjF6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iLjM3NSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlPSIjMDAwIiBmaWxsPSIjMDAwIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIGlkPSJjIiBvdmVyZmxvdz0idmlzaWJsZSI+PHBhdGggZD0iTS01LjIzMS0yLjQyTDEuMzI0LS4wMS01LjIzIDIuNDAxYzEuMDQ3LTEuNDIzIDEuMDQxLTMuMzcgMC00LjgyMXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9Ii4zNzUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgaWQ9ImQiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLTUuMjMxLTIuNDJMMS4zMjQtLjAxLTUuMjMgMi40MDFjMS4wNDctMS40MjMgMS4wNDEtMy4zNyAwLTQuODIxeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iLjM3NSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvbWFya2VyPjxtYXJrZXIgb3JpZW50PSJhdXRvIiBpZD0iZSIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0tNS4yMzEtMi40MkwxLjMyNC0uMDEtNS4yMyAyLjQwMWMxLjA0Ny0xLjQyMyAxLjA0MS0zLjM3IDAtNC44MjF6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIuMzc1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNDkwdjI4MkgwVjB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0OTB2MjgySDBWMHoiLz48cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNNzQuNSAyNDYuNWgzMTMiLz48cGF0aCBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNNzQuNSAyMDcuNWgzMTNNNzQuNSAxNjguNWgzMTNNNzQuNSAxMjguNWgzMTNNNzQuNSA4OS41aDMxM003NC41IDUwLjVoMzEzIi8+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNNzQuMSA1MGgzMTMuNzczdjE5Ni45SDc0LjFWNTB6Ii8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjNDI4NWY0IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xMjIgMjQ3aC0yMnYtMTVhMiAyIDAgMCAxIDItMmgxOGEyIDIgMCAwIDEgMiAyek0xOTQgMjQ3aC0yMnYtNGEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTI2NiAyNDdoLTIydi0xNmEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTMzOCAyNDdoLTIydi0yYTIgMiAwIDAgMSAyLTJoMThhMiAyIDAgMCAxIDIgMnoiLz48cGF0aCBmaWxsPSIjZTY5MTM4IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xNDUgMjQ3aC0yMlY3M2EyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTIxNyAyNDdoLTIydi00N2EyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTI4OSAyNDdoLTIyVjg4YTIgMiAwIDAgMSAyLTJoMThhMiAyIDAgMCAxIDIgMnpNMzYxIDI0N2gtMjJ2LTMwYTIgMiAwIDAgMSAyLTJoMThhMiAyIDAgMCAxIDIgMnoiLz48cGF0aCBmaWxsPSIjNDI0MjQyIiBkPSJNMjIuMzAzIDE3NC43cS0uNDIyIDEuNDM4LTEuMDMxIDIuMTEtLjYxLjY1Ni0xLjUuNjU2LTEgMC0xLjY1Ni0uNzk3LS42NzItLjgxMy0uNjcyLTIuMTEgMC0uODc1LjM0My0xLjU2Mi4zNDQtLjY4OC45MzgtMS4wNjMuNTk0LS4zOSAxLjMxMi0uMzl2MS4xNHEtLjc4IDAtMS4yMTguNS0uNDM4LjQ4NS0uNDM4IDEuMzc1IDAgLjgyOC4zNzUgMS4yOTcuMzYuNDY5IDEgLjQ2OS41MzEgMCAuODktLjQzOC4zNi0uNDUzLjY1Ny0xLjUxNS4yOTctMS4wNjMuNjU2LTEuNjU2LjM2LS42MS44NDQtLjg5MS40ODQtLjI5NyAxLjEyNS0uMjk3IDEuMDQ3IDAgMS42NzIuODEzLjYyNS44MTIuNjI1IDIuMTU2IDAgLjg5LS4zNDQgMS42NTYtLjM0NC43NS0uOTIyIDEuMTcyLS41OTMuNDA2LTEuMzI4LjQwNnYtMS4xMjVxLjc2NiAwIDEuMjE5LS41NzguNDUzLS41NzguNDUzLTEuNTMxIDAtLjg5LS4zNi0xLjM2LS4zNzQtLjQ2OC0xLS40NjgtLjYyNCAwLS45NjguNDM3LS4zNDQuNDM4LS42NzIgMS41OTR6bTMuOTIyLTYuOTUzcTAgMS4yOTctLjg0NCAyLjExLS44Ni43OTYtMi4yODEuNzk2aC0uMTg4cS0uOTUzIDAtMS42ODctLjM2LS43NS0uMzU5LTEuMTU2LTEtLjQyMi0uNjU2LS40MjItMS40MDYgMC0xLjIzNC44MTItMS45MjEuODEzLS42ODggMi4zMjgtLjY4OGguNDU0djQuMjk3cS45MzctLjAzMSAxLjUxNS0uNTQ3LjU3OC0uNTMxLjU3OC0xLjM0NCAwLS41NjItLjIzNC0uOTUzLS4yMzQtLjQwNi0uNjI1LS43MTlsLjUxNi0uNjU2cTEuMjM0Ljc5NyAxLjIzNCAyLjM5em0tNS42ODguMTRxMCAuNjU3LjQ4NSAxLjExLjQ2OS40MzcgMS4zMjguNTMxdi0zLjE3MmgtLjA3OHEtLjgyOC4wNDctMS4yODEuNDUzLS40NTQuMzkxLS40NTQgMS4wNzh6bTQuNzk3LTYuMDQ2cTAtLjU3OS0uMzQzLTEuMDE2LS4zNi0uNDM4LS44OTEtLjQ4NHYtMS4wMzJxLjU0Ny4wMzIgMS4wNDcuMzkxLjQ4NC4zNDQuNzgxLjkyMi4yOTcuNTYyLjI5NyAxLjIxOSAwIDEuMjk2LS44NiAyLjA2Mi0uODc0Ljc1LTIuMzc0Ljc1aC0uMTg4cS0uOTIyIDAtMS42NC0uMzI4LS43Mi0uMzQ0LTEuMTEtLjk2OS0uNDA2LS42NC0uNDA2LTEuNTE1IDAtMS4wNjMuNjQtMS43NjYuNjI1LS43MTkgMS42NTctLjc2NnYxLjAzMnEtLjYyNS4wNDYtMS4wMTYuNDY4LS4zOS40MjItLjM5IDEuMDMyIDAgLjgyOC41OTMgMS4yOC41OTQuNDU0IDEuNzE5LjQ1NGguMjAzcTEuMDk0IDAgMS42ODgtLjQ1My41OTMtLjQ1My41OTMtMS4yODF6bS0yLjQ2OC0zLjE3MnEtLjkyMiAwLTEuNjcyLS4zNi0uNzUtLjM3NS0xLjE0LTEuMDMtLjQwNy0uNjU3LS40MDctMS40ODUgMC0xLjI5Ny44OS0yLjA5NC44OTEtLjgxMyAyLjM5MS0uODEzaC4wNzhxLjkyMiAwIDEuNjU2LjM2LjczNS4zNiAxLjE1NyAxLjAxNS40MDYuNjU3LjQwNiAxLjUxNiAwIDEuMjgxLS44OSAyLjA5NC0uOTA3Ljc5Ny0yLjM5MS43OTdoLS4wNzh6bS4xNC0xLjA5NHExLjA0NyAwIDEuNjg4LS40ODQuNjQtLjUuNjQtMS4zMTMgMC0uODI4LS42NC0xLjMxMi0uNjU3LS40ODUtMS44MjgtLjQ4NS0xLjAzMiAwLTEuNjcyLjUtLjY1Ny40ODUtLjY1NyAxLjMxMyAwIC43OTcuNjQxIDEuMjk3LjYyNS40ODQgMS44MjguNDg0em0tMy4yNS03LjIxOWwuNzk3LS4wMzFxLS45MDYtLjczNC0uOTA2LTEuOTA2IDAtMi4wMTYgMi4yNjUtMi4wMzJIMjYuMXYxLjA5NGgtNC4yMDNxLS42NzIgMC0xIC4zMTMtLjMyOC4yOTctLjMyOC45NTMgMCAuNTMxLjI4MS45MzcuMjgxLjM5MS43MzQuNjFIMjYuMXYxLjA3OGgtNi4zNDR2LTEuMDE2em0zLjEyNS01LjcxOXEtMS40NjkgMC0yLjM0NC0uNjg3LS44OS0uNjg4LS44OS0xLjgxMyAwLTEuMTA5Ljc1LTEuNzY1SDE3LjF2LTEuMDc4aDl2MWwtLjY4OC4wNDdxLjgxMy42NTYuODEzIDEuODEyIDAgMS4wOTQtLjkwNiAxLjc5Ny0uOTA3LjY4OC0yLjM2LjY4OGgtLjA3OHptLjEyNS0xLjA3OHExLjA3OCAwIDEuNjg4LS40MzcuNjEtLjQ1My42MS0xLjIzNSAwLTEuMDMtLjkzOC0xLjUxNWgtMi45MDdxLS44OS40ODQtLjg5IDEuNSAwIC43OTcuNjEgMS4yNS42MDguNDM3IDEuODI3LjQzN3ptMS40MDYtOS44NzVxLS40MzcgMC0uNjcxLjM0NC0uMjUuMzI4LS40MjIgMS4xNTYtLjE3Mi44MTMtLjQyMiAxLjI5Ny0uMjUuNDg1LS41NzguNzE5LS4zNDQuMjE5LS44MTMuMjE5LS43ODEgMC0xLjMxMi0uNjU3LS41NDctLjY1Ni0uNTQ3LTEuNjg3IDAtMS4wNzguNTYyLTEuNzM0LjU0Ny0uNjcyIDEuNDA3LS42NzJ2MS4wNzhxLS40MzggMC0uNzUuMzktLjMyOS4zNzUtLjMyOS45MzggMCAuNTk0LjI2Ni45MzguMjUuMzI4LjY1Ni4zMjguMzkxIDAgLjU5NC0uMzEzLjIwMy0uMzEyLjM5LTEuMTI1LjE3My0uODEyLjQyMy0xLjMxMnQuNjA5LS43MzVxLjM2LS4yNS44Ni0uMjUuODU5IDAgMS4zNzQuNjg4LjUxNi42NzIuNTE2IDEuNzUgMCAuNzY1LS4yNjYgMS4zNi0uMjguNTc3LS43NjUuOTA1LS40ODUuMzI4LTEuMDQ3LjMyOHYtMS4wNzhxLjU0Ny0uMDMuODc1LS40MzcuMzEyLS40MDYuMzEyLTEuMDc4IDAtLjYxLS4yNS0uOTg1dC0uNjcyLS4zNzV6Ii8+PHBhdGggZmlsbD0iIzc1NzU3NSIgZD0iTTY3LjE2MiAyNDcuNzZxMCAxLjkwNi0uNjU2IDIuODQzLS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6TTYyLjMwMyAyMDcuNzM5bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1M2wtLjI2NiAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc4LS43MDIuNzY2LTEuOTg0Ljc2Ni0xLjEyNSAwLTEuODQzLS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTEuNDIyLjM3NCAxLjExLjM3NC43NSAwIDEuMTg3LS41MTUuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE4ek01OC4zNjYgMTcyLjY0aC0xLjA3OHYtNy4yMTlsLTIuMTg4Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ2OC41Nzh6bTguNzk2LTMuNjRxMCAxLjkwNi0uNjU2IDIuODQzLS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6TTU4LjM2NiAxMzMuMjZoLTEuMDc4di03LjIxOWwtMi4xODguNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptMy45MzctNC4yODFsLjQzOC00LjI1aDQuMzc1djFoLTMuNDUzbC0uMjY2IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODQuNzY2LTEuMTI1IDAtMS44NDMtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNC41MzEgMS4xMS40MjIuMzc0IDEuMTEuMzc0Ljc1IDAgMS4xODctLjUxNS40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTh6TTYwLjM5NyA5My44OGgtNS41OTR2LS43ODFsMi45NTMtMy4yODJxLjY1Ny0uNzUuOTA3LTEuMjAzLjI1LS40NjguMjUtLjk2OCAwLS42NzItLjQwNy0xLjA5NC0uMzktLjQzOC0xLjA3OC0uNDM4LS43OTcgMC0xLjI1LjQ3LS40NTMuNDUyLS40NTMgMS4yOGgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNi43NjYtLjczNCAyLjAzMS0uNzM0IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OGg0LjI4di44OTF6bTYuNzY1LTMuNjRxMCAxLjkwNi0uNjU2IDIuODQzLS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6TTYwLjM5NyA1NC41aC01LjU5NHYtLjc4MWwyLjk1My0zLjI4MnEuNjU3LS43NS45MDctMS4yMDMuMjUtLjQ2OC4yNS0uOTY4IDAtLjY3Mi0uNDA3LTEuMDk0LS4zOS0uNDM4LTEuMDc4LS40MzgtLjc5NyAwLTEuMjUuNDctLjQ1My40NTItLjQ1MyAxLjI4aC0xLjA3OHEwLTEuMTg3Ljc1LTEuOTA2Ljc2Ni0uNzM0IDIuMDMxLS43MzQgMS4yMDMgMCAxLjg5LjYyNS42ODguNjI1LjY4OCAxLjY3MiAwIDEuMjUtMS42MSAzbC0yLjI4IDIuNDY4aDQuMjh2Ljg5MXptMS45MDYtNC4yODFsLjQzOC00LjI1aDQuMzc1djFoLTMuNDUzbC0uMjY2IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODQuNzY2LTEuMTI1IDAtMS44NDMtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNC41MzEgMS4xMS40MjIuMzc0IDEuMTEuMzc0Ljc1IDAgMS4xODctLjUxNS40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTh6TTg3LjYwMSAyNjAuOTYyaC0zLjcwM3YzLjAxNmg0LjI5N3YuOTIyaC01LjQyMnYtOC41MzFoNS4zNzV2LjkyMmgtNC4yNXYyLjc1aDMuNzAzdi45MjF6bTcuMzYuODQ0cTAgMS40MzgtLjY1NiAyLjMyOC0uNjU3Ljg5MS0xLjc5Ny44OTEtMS4xNTcgMC0xLjgxMy0uNzM0djMuMDQ2aC0xLjA3OHYtOC43OGguOTg0bC4wNDcuNzAycS42NzItLjgxMiAxLjg0NC0uODEyIDEuMTQgMCAxLjc5Ny44Ni42NzIuODU5LjY3MiAyLjM5di4xMXptLTEuMDc4LS4xMjVxMC0xLjA3OC0uNDY5LTEuNjg3LS40NTMtLjYyNS0xLjI1LS42MjUtLjk4NCAwLTEuNDY5Ljg2djMuMDNxLjQ4NS44NzUgMS40ODUuODc1Ljc4IDAgMS4yMzQtLjYwOS40NjktLjYyNS40NjktMS44NDR6bTMuOTA2IDMuMjE5aC0xLjA3OHYtNi4zNDRoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNnEwLS4yNjUuMTU2LS40NTMuMTcyLS4xODcuNDg1LS4xODcuMzEyIDAgLjQ2OC4xODcuMTcyLjE4OC4xNzIuNDUzIDAgLjI1LS4xNzIuNDM4LS4xNTYuMTcyLS40NjguMTcyLS4zMTMgMC0uNDg1LS4xNzItLjE1Ni0uMTg4LS4xNTYtLjQzOHptNS41MzEgNy4yNXEuNTc4IDAgMS4wMTYtLjM0My40MzctLjM2LjQ4NC0uODkxaDEuMDMycS0uMDMyLjU0Ny0uMzkxIDEuMDQ3LS4zNDQuNDg0LS45MjIuNzgxLS41NjIuMjk3LTEuMjE5LjI5Ny0xLjI5NyAwLTIuMDYyLS44Ni0uNzUtLjg3NC0uNzUtMi4zNzR2LS4xODhxMC0uOTIyLjMyOC0xLjY0LjM0NC0uNzIuOTY5LTEuMTEuNjQtLjQwNiAxLjUxNS0uNDA2IDEuMDYzIDAgMS43NjYuNjQuNzE5LjYyNS43NjYgMS42NTdoLTEuMDMycS0uMDQ3LS42MjUtLjQ2OC0xLjAxNi0uNDIyLS4zOS0xLjAzMi0uMzktLjgyOCAwLTEuMjguNTkzLS40NTQuNTk0LS40NTQgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgxLjU5M3ptNC40Ny0uMTU2aDQuODl2LjkyMmgtNi4yMTl2LS44NDRsNC42ODctNi43NjVoLTQuNjA5di0uOTIyaDUuOTUzdi44MjhsLTQuNzAzIDYuNzgxem04LjYyNCAxLjA0N3EtMS4yOTcgMC0yLjExLS44NDQtLjc5Ni0uODYtLjc5Ni0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1NS0uNDIyIDEuNDA1LS40MjIgMS4yMzUgMCAxLjkyMi44MTIuNjg4LjgxMy42ODggMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTgtLjYyNWwuNjU3LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzMSAxLjMyOGgzLjE3MnYtLjA3OHEtLjA0Ny0uODI4LS40NTMtMS4yODEtLjM5MS0uNDU0LTEuMDc5LS40NTR6bTQuNTMtLjc4bC4wMzIuNzk2cS43MzQtLjkwNiAxLjkwNi0uOTA2IDIuMDE2IDAgMi4wMzEgMi4yNjV2NC4xODhoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptMTIuNDU0IDUuMjE4cS0uNDM4LjYyNS0xLjIxOS45MzgtLjc4MS4zMTItMS44MTIuMzEyLTEuMDMyIDAtMS44NDQtLjQ4NC0uODEzLS41LTEuMjUtMS40MDctLjQzOC0uOTA2LS40NTMtMi4wOTN2LS43MzVxMC0xLjkzNy44OS0zIC45MDctMS4wNjIgMi41MzItMS4wNjIgMS4zNDMgMCAyLjE1Ni42ODcuODEyLjY4OCAxIDEuOTM4aC0xLjEyNXEtLjMyOC0xLjY4OC0yLjAxNi0xLjY4OC0xLjE0IDAtMS43MTkuNzk3LS41NzguNzgxLS41OTMgMi4yOTd2LjY4OHEwIDEuNDM3LjY1NiAyLjI5Ni42NTYuODQ0IDEuNzgxLjg0NC42MjUgMCAxLjA5NC0uMTQuNDg0LS4xNDEuNzk3LS40ODV2LTEuOTA2aC0xLjk2OXYtLjkyMmgzLjA5NHYzLjEyNXptNS40MzcgMS4xMjVxLS4wOTMtLjE4OC0uMTU2LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ3LS41MzEtLjU5My0uNTMyLS41OTMtMS4zNiAwLS45ODQuNzUtMS41My43NS0uNTQ4IDIuMTI1LS41NDhoMS4wNDZ2LS41cTAtLjU2Mi0uMzQzLS44OS0uMzI4LS4zNDQtMS0uMzQ0LS41NzggMC0uOTY5LjI5Ny0uMzkuMjgxLS4zOS43MDNoLTEuMDk0cTAtLjQ4NS4zMjgtLjkyMi4zNDMtLjQzOC45MjItLjY4OC41NzgtLjI2NSAxLjI2NS0uMjY1IDEuMTEgMCAxLjcxOS41NDcuNjI1LjU0Ny42NTYgMS41djIuOTIycTAgLjg3NS4yMTkgMS4zOXYuMDk0aC0xLjE0em0tMS43OTctLjgyOHEuNTE2IDAgLjk3LS4yNjYuNDUyLS4yNjUuNjU1LS42ODd2LTEuMjk3aC0uODQzcS0yIDAtMiAxLjE3MiAwIC41LjM0My43OTcuMzQ0LjI4Ljg3NS4yOHptNy45NTQtNC41NDdxLS4yNS0uMDMxLS41MzItLjAzMS0xLjA3OCAwLTEuNDUzLjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMtLjg0NCAxLjUxNS0uODQ0LjMxMyAwIC40ODUuMDc4djF6bS42NzEgMi4xNTZxMC0xLjQ2OS42ODgtMi4zNDQuNjg3LS44OSAxLjgxMi0uODkgMS4xMSAwIDEuNzY2Ljc1VjI1NS45aDEuMDc4djloLTFsLS4wNDctLjY4OHEtLjY1Ni44MTMtMS44MTIuODEzLTEuMDk0IDAtMS43OTctLjkwNi0uNjg4LS45MDctLjY4OC0yLjM2di0uMDc4em0xLjA3OS4xMjVxMCAxLjA3OC40MzcgMS42ODguNDUzLjYxIDEuMjM0LjYxIDEuMDMyIDAgMS41MTYtLjkzOHYtMi45MDdxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjEtLjQzNy42MDgtLjQzNyAxLjgyN3ptOC44MTIgMy4yMTlxLTEuMjk3IDAtMi4xMS0uODQ0LS43OTYtLjg2LS43OTYtMi4yODF2LS4xODhxMC0uOTUzLjM2LTEuNjg3LjM1OS0uNzUgMS0xLjE1Ni42NTUtLjQyMiAxLjQwNS0uNDIyIDEuMjM1IDAgMS45MjIuODEyLjY4OC44MTMuNjg4IDIuMzI4di40NTRoLTQuMjk3cS4wMzEuOTM3LjU0NyAxLjUxNS41MzEuNTc4IDEuMzQ0LjU3OC41NjIgMCAuOTUzLS4yMzQuNDA2LS4yMzQuNzE4LS42MjVsLjY1Ny41MTZxLS43OTcgMS4yMzQtMi4zOSAxLjIzNHptLS4xNC01LjY4OHEtLjY1NyAwLTEuMTEuNDg1LS40MzcuNDY5LS41MzEgMS4zMjhoMy4xNzJ2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOTEtLjQ1NC0xLjA3OS0uNDU0em00LjUzLS43OGwuMDMyLjc5NnEuNzM0LS45MDYgMS45MDYtLjkwNiAyLjAxNiAwIDIuMDMxIDIuMjY1djQuMTg4aC0xLjA5M3YtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk3LS4zMjgtLjk1My0uMzI4LS41MzEgMC0uOTM3LjI4MS0uMzkxLjI4MS0uNjEuNzM0djQuNTE2aC0xLjA3OHYtNi4zNDRoMS4wMTZ6TTE4My44MTEgMjU3LjI5aC0yLjc1djcuNjFoLTEuMTA5di03LjYxaC0yLjc1di0uOTIxaDYuNjF2LjkyMnptNC44NDQgNy42MXEtLjA5NC0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTk0LS41MzItLjU5NC0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0N3YtLjVxMC0uNTYyLS4zNDMtLjg5LS4zMjktLjM0NC0xLS4zNDQtLjU3OSAwLS45Ny4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI5LS45MjIuMzQzLS40MzguOTIxLS42ODguNTc5LS4yNjUgMS4yNjYtLjI2NSAxLjExIDAgMS43MTkuNTQ3LjYyNS41NDcuNjU2IDEuNXYyLjkyMnEwIC44NzUuMjE5IDEuMzl2LjA5NGgtMS4xNHptLTEuNzk3LS44MjhxLjUxNiAwIC45NjktLjI2Ni40NTMtLjI2NS42NTYtLjY4N3YtMS4yOTdoLS44NDNxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjguODc1LjI4em01LjkwNy01LjUxNmwuMDMuNzk3cS43MzUtLjkwNiAxLjkwNy0uOTA2IDIuMDE2IDAgMi4wMzEgMi4yNjV2NC4xODhoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzguMjgxLS4zOS4yODEtLjYwOS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptNy43NSAzLjQwNmwtLjY4OC43MDR2Mi4yMzRoLTEuMDc4di05aDEuMDc4djUuNDM3bC41NzgtLjY4NyAxLjk4NS0yLjA5NGgxLjMxMmwtMi40NjkgMi42NTZMMjA0IDI2NC45aC0xLjI4MWwtMi4yMDMtMi45Mzh6bTcuOTIxIDEuMjVxMC0uNDM3LS4zNDMtLjY3MS0uMzI4LS4yNS0xLjE1Ny0uNDIyLS44MTItLjE3Mi0xLjI5Ni0uNDIyLS40ODUtLjI1LS43Mi0uNTc4LS4yMTgtLjM0NC0uMjE4LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTctLjU0NyAxLjY4OC0uNTQ3IDEuMDc4IDAgMS43MzQuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OHEwLS40MzgtLjM5LS43NS0uMzc2LS4zMjktLjkzOC0uMzI5LS41OTQgMC0uOTM4LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTMuNTk0LjMxMi4yMDMgMS4xMjUuMzkuODEyLjE3MyAxLjMxMi40MjN0LjczNS42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg4IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjYgMC0xLjM2LS4yNjYtLjU3Ny0uMjgtLjkwNi0uNzY1LS4zMjgtLjQ4NS0uMzI4LTEuMDQ3aDEuMDc4cS4wMzIuNTQ3LjQzOC44NzUuNDA2LjMxMiAxLjA3OC4zMTIuNjEgMCAuOTg0LS4yNS4zNzUtLjI1LjM3NS0uNjcyem0zLjUxNi0uNzE4aC0uOTY5bC0uMDc4LTYuMTI1aDEuMTI1bC0uMDc4IDYuMTI1em0tMS4wOTQgMS44NnEwLS4yNjcuMTU3LS40MzguMTcxLS4xODguNDg0LS4xODguMzEyIDAgLjQ2OS4xODguMTcyLjE3MS4xNzIuNDM3dC0uMTcyLjQzOHEtLjE1Ny4xNzEtLjQ3LjE3MS0uMzEyIDAtLjQ4My0uMTcxLS4xNTctLjE3Mi0uMTU3LS40Mzh6TTI0Ny43NTYgMjYyLjY2NmgtMy41NzhsLS43OTcgMi4yMzRoLTEuMTU3bDMuMjUtOC41MzFoLjk4NWwzLjI2NSA4LjUzMWgtMS4xNTZsLS44MTItMi4yMzR6bS0zLjIzNS0uOTIyaDIuOTA3bC0xLjQ1NC0zLjk4NS0xLjQ1MyAzLjk4NXptMTAuMjY2IDIuNTMxcS0uNjI1Ljc1LTEuODYuNzUtMS4wMTUgMC0xLjU0Ni0uNTk0LS41MzItLjU5NC0uNTMyLTEuNzV2LTQuMTI1aDEuMDc5djQuMDk0cTAgMS40NTMgMS4xNzEgMS40NTMgMS4yNSAwIDEuNjU3LS45Mzd2LTQuNjFoMS4wOTN2Ni4zNDRoLTEuMDNsLS4wMzItLjYyNXptNC41NjItNy4yNXYxLjUzMWgxLjE3MnYuODQ0aC0xLjE3MnYzLjkyMnEwIC4zOS4xNTcuNTc4LjE1Ni4xODguNTMuMTg4LjE4OCAwIC41MTctLjA2M3YuODc1cS0uNDIyLjEyNS0uODI5LjEyNS0uNzE4IDAtMS4wOTMtLjQzOC0uMzc1LS40NTMtLjM3NS0xLjI2NVYyNTkuNGgtMS4xNTd2LS44NDRoMS4xNTd2LTEuNTMxaDEuMDkzem0yLjIzNSA0LjY0cTAtLjkyMS4zNi0xLjY3MS4zNzQtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEyLjg5MS44MTIgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU2LS4zNTkuNzM1LTEuMDE1IDEuMTU3LS42NTYuNDA2LTEuNTE2LjQwNi0xLjI4IDAtMi4wOTMtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNDFxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMi42NC44MjkgMCAxLjMxMy0uNjQuNDg0LS42NTcuNDg0LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NC0uNjU3LTEuMzEyLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em0xMi42NC4zOXEtLjE1NiAxLjM0NS0xIDIuMDk1LS44NDQuNzM0LTIuMjM0LjczNC0xLjUxNiAwLTIuNDIyLTEuMDc4LS45MDYtMS4wOTQtLjkwNi0yLjkyMnYtLjgxM3EwLTEuMTg3LjQyMi0yLjA5My40MjEtLjkwNyAxLjIwMy0xLjM5Ljc4LS40ODUgMS43OTctLjQ4NSAxLjM1OSAwIDIuMTcxLjc2NS44MjkuNzY2Ljk3IDIuMDk0aC0xLjEyNnEtLjE1Ni0xLjAxNi0uNjQtMS40NjktLjQ4NS0uNDUzLTEuMzc1LS40NTMtMS4wNzkgMC0xLjY4OC43OTctLjYxLjc5Ny0uNjEgMi4yNjZ2LjgyOHEwIDEuMzkuNTc5IDIuMjE5LjU3OC44MTIgMS42MjUuODEyLjkzNyAwIDEuNDM3LS40MjIuNS0uNDM3LjY3Mi0xLjQ4NGgxLjEyNXptNi40MzguNDdoLTMuNTc4bC0uNzk3IDIuMjM0aC0xLjE1N2wzLjI1LTguNTMxaC45ODVsMy4yNjUgOC41MzFoLTEuMTU2bC0uODEyLTIuMjM0em0tMy4yMzUtLjkyMmgyLjkwN2wtMS40NTQtMy45ODUtMS40NTMgMy45ODV6bTYuNTE2IDMuMTU2di04LjUzMWgyLjQyMnExLjExIDAgMS45NTMuNS44Ni40ODQgMS4zMjggMS4zOS40NjkuOTA3LjQ2OSAyLjA5NHYuNTMxcTAgMS4yMi0uNDY5IDIuMTI1LS40NTMuOTA3LTEuMzI4IDEuMzkxLS44Ni40ODQtMiAuNWgtMi4zNzV6bTEuMTI1LTcuNjF2Ni42ODhoMS4xODdxMS4yOTcgMCAyLjAxNi0uNzk3LjczNC0uODEyLjczNC0yLjMxMnYtLjVxMC0xLjQ1My0uNjg3LTIuMjUtLjY3Mi0uODEzLTEuOTM4LS44MjhoLTEuMzEyek0zMjMuMzU2IDI2MS44MDZxMCAxLjQzOC0uNjU2IDIuMzI4LS42NTYuODkxLTEuNzk3Ljg5MS0xLjE1NiAwLTEuODEyLS43MzR2My4wNDZoLTEuMDc5di04Ljc4aC45ODVsLjA0Ny43MDJxLjY3Mi0uODEyIDEuODQzLS44MTIgMS4xNDEgMCAxLjc5Ny44Ni42NzIuODU5LjY3MiAyLjM5di4xMXptLTEuMDc4LS4xMjVxMC0xLjA3OC0uNDY5LTEuNjg3LS40NTMtLjYyNS0xLjI1LS42MjUtLjk4NCAwLTEuNDY4Ljg2djMuMDNxLjQ4NC44NzUgMS40ODQuODc1Ljc4MSAwIDEuMjM0LS42MDkuNDctLjYyNS40Ny0xLjg0NHptNi40MjIgMS41MzFxMC0uNDM3LS4zNDQtLjY3MS0uMzI4LS4yNS0xLjE1Ni0uNDIyLS44MTMtLjE3Mi0xLjI5Ny0uNDIydC0uNzE5LS41NzhxLS4yMTgtLjM0NC0uMjE4LS44MTMgMC0uNzgxLjY1Ni0xLjMxMi42NTYtLjU0NyAxLjY4Ny0uNTQ3IDEuMDc4IDAgMS43MzUuNTYyLjY3Mi41NDcuNjcyIDEuNDA3aC0xLjA3OXEwLS40MzgtLjM5LS43NS0uMzc1LS4zMjktLjkzOC0uMzI5LS41OTMgMC0uOTM3LjI2Ni0uMzI4LjI1LS4zMjguNjU2IDAgLjM5MS4zMTIuNTk0LjMxMy4yMDMgMS4xMjUuMzkuODEzLjE3MyAxLjMxMy40MjN0LjczNC42MDlxLjI1LjM2LjI1Ljg2IDAgLjg1OS0uNjg3IDEuMzc0LS42NzIuNTE2LTEuNzUuNTE2LS43NjYgMC0xLjM2LS4yNjYtLjU3OC0uMjgtLjkwNi0uNzY1LS4zMjgtLjQ4NS0uMzI4LTEuMDQ3aDEuMDc4cS4wMzEuNTQ3LjQzNy44NzUuNDA3LjMxMiAxLjA3OS4zMTIuNjA5IDAgLjk4NC0uMjV0LjM3NS0uNjcyem03LjY1Ni0xLjQwNnEwIDEuNDM4LS42NTYgMi4zMjgtLjY1Ni44OTEtMS43OTcuODkxLTEuMTU2IDAtMS44MTItLjczNHYzLjA0NmgtMS4wNzl2LTguNzhoLjk4NWwuMDQ3LjcwMnEuNjcyLS44MTIgMS44NDMtLjgxMiAxLjE0MSAwIDEuNzk3Ljg2LjY3Mi44NTkuNjcyIDIuMzl2LjExem0tMS4wNzgtLjEyNXEwLTEuMDc4LS40NjktMS42ODctLjQ1My0uNjI1LTEuMjUtLjYyNS0uOTg0IDAtMS40NjguODZ2My4wM3EuNDg0Ljg3NSAxLjQ4NC44NzUuNzgxIDAgMS4yMzQtLjYwOS40Ny0uNjI1LjQ3LTEuODQ0em0yLjQ2OSAwcTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTEgMCAxLjc2NS43NVYyNTUuOWgxLjA3OXY5aC0xbC0uMDQ3LS42ODhxLS42NTcuODEzLTEuODEzLjgxMy0xLjA5NCAwLTEuNzk3LS45MDYtLjY4Ny0uOTA3LS42ODctMi4zNnYtLjA3OHptMS4wNzguMTI1cTAgMS4wNzguNDM3IDEuNjg4LjQ1NC42MSAxLjIzNS42MSAxLjAzMSAwIDEuNTE1LS45Mzh2LTIuOTA3cS0uNDg0LS44OS0xLjUtLjg5LS43OTYgMC0xLjI1LjYxLS40MzcuNjA4LS40MzcgMS44Mjd6bTYuNzE5IDMuMDk0di01LjVoLTF2LS44NDRoMXYtLjY0cTAtMS4wMzIuNTMxLTEuNTc5LjU0Ny0uNTYyIDEuNTQ3LS41NjIuMzc1IDAgLjc1LjA5NGwtLjA2My44OXEtLjI4LS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgxLjMxMy0uMjgxLjg3NXYuNjcyaDEuMzZ2Ljg0NGgtMS4zNnY1LjVoLTEuMDc4em01LjIzNC0yLjkzOGwtLjY4Ny43MDR2Mi4yMzRoLTEuMDc5di05aDEuMDc5djUuNDM3bC41NzgtLjY4NyAxLjk4NC0yLjA5NGgxLjMxM2wtMi40NyAyLjY1NiAyLjc2NiAzLjY4OGgtMS4yOGwtMi4yMDQtMi45Mzh6bTUuNDA2IDIuOTM4aC0xLjA3OHYtNi4zNDRoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNnEwLS4yNjUuMTU3LS40NTMuMTcyLS4xODcuNDg0LS4xODcuMzEzIDAgLjQ2OS4xODcuMTcyLjE4OC4xNzIuNDUzIDAgLjI1LS4xNzIuNDM4LS4xNTYuMTcyLS40NjkuMTcyLS4zMTIgMC0uNDg0LS4xNzItLjE1Ny0uMTg4LS4xNTctLjQzOHptNC40Ny4xNDF2MS41MzFoMS4xNzF2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTcuMTg4LjUzMi4xODguMTg3IDAgLjUxNS0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1VjI1OS40aC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzFoMS4wOTR6Ii8+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTQwMi45IDQ1YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEtMSAxaC0xMGExIDEgMCAwIDEtMS0xeiIvPjxwYXRoIGZpbGw9IiM3NTc1NzUiIGQ9Ik00MjUuMDI1IDUzLjU3OGg0LjA0N3YuOTIyaC01LjE4OHYtOC41MzFoMS4xNDF2Ny42MXptNS44NzUuOTIyaC0xLjA3OHYtNi4zNDRoMS4wNzhWNTQuNXptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY4LjE4Ny4xNzIuMTg4LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzgtLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em0zLjUzMSA4LjAxNlY0OWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzguNTQ2LS41NjMgMS41NDYtLjU2My4zNzUgMCAuNzUuMDk0bC0uMDYyLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgyLjMxMy0uMjgyLjg3NXYuNjcyaDEuMzZWNDloLTEuMzZ2NS41aC0xLjA3OHptNC45MzgtNy44NzV2MS41MzFoMS4xNzJWNDloLTEuMTcydjMuOTIycTAgLjM5LjE1Ni41NzguMTU2LjE4OC41MzEuMTg4LjE4OCAwIC41MTYtLjA2M3YuODc1cS0uNDIyLjEyNS0uODI4LjEyNS0uNzE5IDAtMS4wOTQtLjQzOC0uMzc1LS40NTMtLjM3NS0xLjI2NVY0OWgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxaDEuMDk0em0yLjIzNCA0LjY0cTAtLjkyMS4zNi0xLjY3MS4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU3LS4zNi43MzQtMS4wMTYgMS4xNTYtLjY1Ni40MDYtMS41MTUuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNDFxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMi0uNjQuNDg1LS42NTcuNDg1LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em02LjczNCAzLjA5NFY0OWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzguNTQ2LS41NjMgMS41NDYtLjU2My4zNzUgMCAuNzUuMDk0bC0uMDYyLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgyLjMxMy0uMjgyLjg3NXYuNjcyaDEuMzZWNDloLTEuMzZ2NS41aC0xLjA3OHptNCAwVjQ5aC0xdi0uODQ0aDF2LS42NHEwLTEuMDMyLjUzMi0xLjU3OC41NDYtLjU2MyAxLjU0Ni0uNTYzLjM3NSAwIC43NS4wOTRsLS4wNjIuODlxLS4yODEtLjA2Mi0uNTc4LS4wNjItLjUzMSAwLS44MjguMzEyLS4yODIuMzEzLS4yODIuODc1di42NzJoMS4zNlY0OWgtMS4zNnY1LjVoLTEuMDc4eiIvPjxwYXRoIGZpbGw9IiNlNjkxMzgiIGQ9Ik00MDIuOSA3MGExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxLTEgMWgtMTBhMSAxIDAgMCAxLTEtMXoiLz48cGF0aCBmaWxsPSIjNzU3NTc1IiBkPSJNNDI5Ljc5IDcxLjg5aC0yLjc1djcuNjFoLTEuMTA5di03LjYxaC0yLjc1di0uOTIxaDYuNjF2LjkyMnptNC44NDQgNi45ODVxLS42MjUuNzUtMS44NTkuNzUtMS4wMTYgMC0xLjU0Ny0uNTk0LS41MzEtLjU5NC0uNTMxLTEuNzV2LTQuMTI1aDEuMDc4djQuMDk0cTAgMS40NTMgMS4xNzIgMS40NTMgMS4yNSAwIDEuNjU2LS45Mzd2LTQuNjFoMS4wOTRWNzkuNWgtMS4wMzFsLS4wMzItLjYyNXptNi4xNTctNC43NXEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh2MXptNi4yOTYgMi4yODFxMCAxLjQ1My0uNjcxIDIuMzQ0LS42NTcuODc1LTEuNzgyLjg3NS0xLjIwMyAwLTEuODU5LS44NmwtLjA2My43MzVoLS45ODR2LTloMS4wNzh2My4zNnEuNjU2LS44MTMgMS44MTMtLjgxMyAxLjE1NiAwIDEuODEyLjg3NS42NTYuODYuNjU2IDIuMzl2LjA5NHptLTEuMDc4LS4xMjVxMC0xLjExLS40MzctMS43MDMtLjQyMi0uNjEtMS4yMTktLjYxLTEuMDc4IDAtMS41NDcuOTg1djIuNzVxLjUgMSAxLjU0NyAxIC43ODEgMCAxLjIxOS0uNjEuNDM3LS42MDkuNDM3LTEuODEyem0yLjQyMi0uMDE1cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU2LS4zNi43MzUtMS4wMTYgMS4xNTctLjY1Ni40MDYtMS41MTUuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNHEwIDEuMDQ3LjQ4NCAxLjY4OC41LjY0IDEuMzEzLjY0LjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ni40ODUtMS44MjggMC0xLjAzMi0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjUtLjQ4NCAxLjgyOHptMTEuMDc4LS42NzJoLTMuNTk0Vjc5LjVoLTEuMTI1di04LjUzMWg1LjI5N3YuOTIyaC00LjE3MnYyLjkyMWgzLjU5NHYuOTIyem02LjAzMSAzLjc2NnEtLjA5My0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTkzLS41MzEtLjU5My0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0NnYtLjVxMC0uNTYyLS4zNDMtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIyLjM0My0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2Ni40NTItLjI2NS42NTUtLjY4N3YtMS4yOTdoLS44NDNxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjguODc1LjI4em01LjkwNy01LjUxNmwuMDMxLjc5N3EuNzM0LS45MDYgMS45MDYtLjkwNiAyLjAxNiAwIDIuMDMxIDIuMjY2Vjc5LjVoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzRWNzkuNWgtMS4wNzh2LTYuMzQ0aDEuMDE2ek0yMy43ODggMjUuNDlxLS4yMDQgMS43OTgtMS4zMjkgMi43ODJ0LTIuOTg0Ljk4NHEtMi4wMTYgMC0zLjIzNC0xLjQzNy0xLjIwNC0xLjQ1My0xLjIwNC0zLjg3NVYyMi44NXEwLTEuNTk0LjU2My0yLjc5N3QxLjU5NC0xLjg0NHExLjA0Ny0uNjQgMi40MjItLjY0IDEuODEyIDAgMi45MDYgMS4wMTUgMS4wOTQgMSAxLjI2NiAyLjc5N2gtMS41cS0uMjA0LTEuMzYtLjg2LTEuOTY4LS42NC0uNjEtMS44MTItLjYxLTEuNDM4IDAtMi4yNjYgMS4wNjMtLjgxMyAxLjA2Mi0uODEzIDMuMDE1djEuMTFxMCAxLjg0My43NjYgMi45MzcuNzgxIDEuMDk0IDIuMTcyIDEuMDk0IDEuMjUgMCAxLjkyMi0uNTYzLjY3Mi0uNTYyLjg5LTEuOTY4aDEuNXptMS4wMy0uNzAycTAtMS4yMzUuNDg1LTIuMjIuNDg1LTEgMS4zNi0xLjUzLjg3NS0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OCAyLjIyLS40Ny45ODQtMS4zNiAxLjUzLS44NzUuNTQ3LTIuMDE1LjU0Ny0xLjcyIDAtMi43ODItMS4xODctMS4wNjItMS4yMDMtMS4wNjItMy4xNzJ2LS4xMXptMS40NTQuMTcxcTAgMS40MDcuNjQgMi4yNjYuNjU3Ljg0NCAxLjc1Ljg0NCAxLjExIDAgMS43NS0uODYuNjU3LS44NTkuNjU3LTIuNDIxIDAtMS4zOTEtLjY3Mi0yLjI1LS42NTYtLjg2LTEuNzUtLjg2LTEuMDYzIDAtMS43MTkuODYtLjY1Ni44NDMtLjY1NiAyLjQyMXptNy41NzgtLjE1NnEwLTEuOTUzLjkyMi0zLjEyNS45MjItMS4xODcgMi40MDYtMS4xODcgMS40ODUgMCAyLjM2IDEuMDE1VjE3LjFoMS40Mzd2MTJoLTEuMzI4bC0uMDYzLS45MDZxLS44NzUgMS4wNjItMi40MjIgMS4wNjItMS40NjggMC0yLjM5LTEuMjAzLS45MjItMS4yMDMtLjkyMi0zLjE0di0uMTF6bTEuNDM4LjE1NnEwIDEuNDM4LjU5MyAyLjI1LjU5NC44MTMgMS42NC44MTMgMS4zNzYgMCAyLjAxNy0xLjIzNHYtMy44NzVxLS42NTctMS4yMDQtMi0xLjIwNC0xLjA2MyAwLTEuNjU3LjgyOS0uNTkzLjgxMi0uNTkzIDIuNDIxem0xMS40MjEgNC4yOTdxLTEuNzE4IDAtMi43OTctMS4xMjUtMS4wNzgtMS4xNC0xLjA3OC0zLjAzMXYtLjI2NnEwLTEuMjUuNDctMi4yMzQuNDgzLTEgMS4zNDMtMS41NDcuODc1LS41NjIgMS44NzUtLjU2MiAxLjY1NiAwIDIuNTYyIDEuMDkzLjkyMiAxLjA3OS45MjIgMy4wOTR2LjYxaC01LjczNHEuMDMxIDEuMjUuNzM0IDIuMDE1LjcwMy43NjYgMS43ODIuNzY2Ljc2NSAwIDEuMjk2LS4zMTMuNTMyLS4zMTIuOTIyLS44MjhsLjg5LjY4OHEtMS4wNjIgMS42NC0zLjE4NyAxLjY0em0tLjE4Ny03LjU3OHEtLjg3NSAwLTEuNDY5LjY0LS41OTQuNjI2LS43MzQgMS43ODJoNC4yMzR2LS4xMXEtLjA2Mi0xLjEwOS0uNTk0LTEuNzAyLS41My0uNjEtMS40MzctLjYxek02My44MTkgMjcuNnEtLjU3OC44MjgtMS42MSAxLjI1LTEuMDMuNDA2LTIuNDA2LjQwNi0xLjM5IDAtMi40NjktLjY1Ni0xLjA3OC0uNjU2LTEuNjcyLTEuODYtLjU5My0xLjIwMi0uNjA5LTIuNzh2LTFxMC0yLjU2MyAxLjIwMy0zLjk3IDEuMjAzLTEuNDIxIDMuMzc1LTEuNDIxIDEuNzgyIDAgMi44Ni45MDYgMS4wOTMuOTA2IDEuMzI4IDIuNTc4aC0xLjVxLS40MjItMi4yNS0yLjY4OC0yLjI1LTEuNSAwLTIuMjgxIDEuMDYzLS43ODEgMS4wNDctLjc4MSAzLjA2MnYuOTIycTAgMS45MjIuODc1IDMuMDQ3Ljg3NSAxLjEyNSAyLjM2IDEuMTI1Ljg0MyAwIDEuNDY4LS4xODguNjQtLjE4NyAxLjA2Mi0uNjI1di0yLjU2MmgtMi42NHYtMS4yMTloNC4xMjVWMjcuNnptNS44OSAxLjY1NnEtMS43MTggMC0yLjc5Ny0xLjEyNS0xLjA3OC0xLjE0LTEuMDc4LTMuMDMxdi0uMjY2cTAtMS4yNS40Ny0yLjIzNC40ODMtMSAxLjM0My0xLjU0Ny44NzUtLjU2MiAxLjg3NS0uNTYyIDEuNjU2IDAgMi41NjIgMS4wOTMuOTIyIDEuMDc5LjkyMiAzLjA5NHYuNjFoLTUuNzM0cS4wMzEgMS4yNS43MzQgMi4wMTUuNzAzLjc2NiAxLjc4MS43NjYuNzY2IDAgMS4yOTctLjMxMy41MzItLjMxMi45MjItLjgyOGwuODkuNjg4cS0xLjA2MiAxLjY0LTMuMTg3IDEuNjR6bS0uMTg3LTcuNTc4cS0uODc1IDAtMS40NjkuNjQtLjU5NC42MjYtLjczNCAxLjc4Mmg0LjIzNHYtLjExcS0uMDYyLTEuMTA5LS41OTQtMS43MDItLjUzLS42MS0xLjQzNy0uNjF6bTYuMDQ3LTEuMDMxbC4wNDcgMS4wNjJxLjk2OC0xLjIxOCAyLjUzLTEuMjE4IDIuNjczIDAgMi43MDQgMy4wMTVWMjkuMWgtMS40NTN2LTUuNTk0cTAtLjkyMi0uNDIyLTEuMzYtLjQwNi0uNDM3LTEuMjY2LS40MzctLjcwMyAwLTEuMjM0LjM3NXQtLjgyOC45ODVWMjkuMWgtMS40NTN2LTguNDUzaDEuMzc1em0xMS4xNCA4LjYxcS0xLjcxOCAwLTIuNzk3LTEuMTI2LTEuMDc4LTEuMTQtMS4wNzgtMy4wMzF2LS4yNjZxMC0xLjI1LjQ3LTIuMjM0LjQ4My0xIDEuMzQzLTEuNTQ3Ljg3NS0uNTYyIDEuODc1LS41NjIgMS42NTYgMCAyLjU2MiAxLjA5My45MjIgMS4wNzkuOTIyIDMuMDk0di42MWgtNS43MzRxLjAzMSAxLjI1LjczNCAyLjAxNS43MDMuNzY2IDEuNzgxLjc2Ni43NjYgMCAxLjI5Ny0uMzEzLjUzMi0uMzEyLjkyMi0uODI4bC44OS42ODhxLTEuMDYyIDEuNjQtMy4xODcgMS42NHptLS4xODctNy41NzlxLS44NzUgMC0xLjQ2OS42NC0uNTk0LjYyNi0uNzM0IDEuNzgyaDQuMjM0di0uMTFxLS4wNjItMS4xMDktLjU5NC0xLjcwMi0uNTMtLjYxLTEuNDM3LS42MXptOC43NjUuMjY2cS0uMzI4LS4wNjMtLjcxOC0uMDYzLTEuNDIyIDAtMS45MjIgMS4yMTl2NmgtMS40NTN2LTguNDUzSDkyLjZsLjAzMS45NjlxLjcwMy0xLjEyNSAyLjAxNi0xLjEyNS40MjIgMCAuNjQuMTA5djEuMzQ0em02LjEyNSA3LjE1NnEtLjEyNS0uMjUtLjIwMy0uODktMSAxLjA0Ni0yLjQwNiAxLjA0Ni0xLjI1IDAtMi4wNDctLjcwMy0uNzk3LS43MTktLjc5Ny0xLjc5NyAwLTEuMzI4IDEtMi4wNDcgMS0uNzM0IDIuODI4LS43MzRoMS40MDd2LS42NzJxMC0uNzUtLjQ1My0xLjIwMy0uNDU0LS40NTMtMS4zNDQtLjQ1My0uNzY2IDAtMS4yOTcuMzktLjUxNi4zOTEtLjUxNi45NTRoLTEuNDUzcTAtLjY0MS40MzgtMS4yMi40NTMtLjU5MyAxLjIxOC0uOTM3Ljc4Mi0uMzQzIDEuNzA0LS4zNDMgMS40NTMgMCAyLjI4LjczNC44MjkuNzE5Ljg2IDJ2My44OXEwIDEuMTczLjI5NyAxLjg2di4xMjVoLTEuNTE2em0tMi4zOS0xLjExcS42NzIgMCAxLjI4MS0uMzQzLjYxLS4zNi44OS0uOTIydi0xLjczNGgtMS4xNHEtMi42NTYgMC0yLjY1NiAxLjU2MiAwIC42NzIuNDUzIDEuMDYzLjQ1My4zNzUgMS4xNzIuMzc1em04LjE0LTkuMzl2Mi4wNDdoMS41Nzl2MS4xMWgtMS41Nzl2NS4yNXEwIC41LjIwNC43NjUuMjE4LjI1LjcxOC4yNS4yNSAwIC42ODgtLjA5NFYyOS4xcS0uNTYzLjE1Ni0xLjExLjE1Ni0uOTY4IDAtMS40NjgtLjU3OC0uNDg1LS41OTQtLjQ4NS0xLjY3MnYtNS4yNWgtMS41M3YtMS4xMWgxLjUzVjE4LjZoMS40NTN6bTQuNjEgMTAuNWgtMS40NTN2LTguNDUzaDEuNDUzVjI5LjF6bS0xLjU2My0xMC43MDNxMC0uMzQ0LjIwMy0uNTc4LjIyLS4yNS42NDEtLjI1LjQyMiAwIC42NC4yNS4yMi4yMzQuMjIuNTk0IDAgLjM0My0uMjIuNTc4LS4yMTguMjM0LS42NC4yMzQtLjQyMiAwLS42NC0uMjM0LS4yMDQtLjIzNS0uMjA0LS41OTR6bTMuNjEgNi4zOXEwLTEuMjM0LjQ4NC0yLjIxOC40ODQtMSAxLjM2LTEuNTMxLjg3NC0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OSAyLjIyLS40NjguOTg0LTEuMzU5IDEuNTMtLjg3NS41NDctMi4wMTYuNTQ3LTEuNzE4IDAtMi43OC0xLjE4Ny0xLjA2My0xLjIwMy0xLjA2My0zLjE3MnYtLjExem0xLjQ1My4xNzJxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem05LjI5Ny00LjMxMmwuMDQ3IDEuMDYycS45NjgtMS4yMTggMi41My0xLjIxOCAyLjY3MyAwIDIuNzA0IDMuMDE1VjI5LjFoLTEuNDUzdi01LjU5NHEwLS45MjItLjQyMi0xLjM2LS40MDYtLjQzNy0xLjI2Ni0uNDM3LS43MDMgMC0xLjIzNC4zNzV0LS44MjguOTg1VjI5LjFoLTEuNDUzdi04LjQ1M2gxLjM3NXptMTMuMzYgNFYyOS4xaC0xLjVWMTcuNzI1aDQuMTg3cTEuODc1IDAgMi45MjEuOTUzIDEuMDYzLjk1MyAxLjA2MyAyLjUxNiAwIDEuNjU2LTEuMDMxIDIuNTYyLTEuMDMxLjg5LTIuOTY5Ljg5aC0yLjY3MnptMC0xLjIzNGgyLjY4N3ExLjIwMyAwIDEuODQzLS41NjMuNjQxLS41NjMuNjQxLTEuNjQgMC0xLjAxNi0uNjQtMS42MjYtLjY0MS0uNjA5LTEuNzUtLjYyNWgtMi43ODJ2NC40NTR6bTExLjc4IDUuODQzcS0xLjcxOCAwLTIuNzk3LTEuMTI1LTEuMDc4LTEuMTQtMS4wNzgtMy4wMzF2LS4yNjZxMC0xLjI1LjQ3LTIuMjM0LjQ4My0xIDEuMzQzLTEuNTQ3Ljg3NS0uNTYyIDEuODc1LS41NjIgMS42NTYgMCAyLjU2MiAxLjA5My45MjIgMS4wNzkuOTIyIDMuMDk0di42MWgtNS43MzRxLjAzMSAxLjI1LjczNCAyLjAxNS43MDMuNzY2IDEuNzgxLjc2Ni43NjYgMCAxLjI5Ny0uMzEzLjUzMi0uMzEyLjkyMi0uODI4bC44OS42ODhxLTEuMDYyIDEuNjQtMy4xODcgMS42NHptLS4xODctNy41NzhxLS44NzUgMC0xLjQ2OS42NC0uNTk0LjYyNi0uNzM0IDEuNzgyaDQuMjM0di0uMTFxLS4wNjItMS4xMDktLjU5NC0xLjcwMi0uNTMtLjYxLTEuNDM3LS42MXptOC43NjYuMjY2cS0uMzI5LS4wNjMtLjcyLS4wNjMtMS40MjEgMC0xLjkyMSAxLjIxOXY2aC0xLjQ1M3YtOC40NTNoMS40MDZsLjAzMS45NjlxLjcwMy0xLjEyNSAyLjAxNi0xLjEyNS40MjIgMCAuNjQuMTA5djEuMzQ0em0xLjYyNCA3LjE1NnYtNy4zNDRoLTEuMzQzdi0xLjExaDEuMzQ0di0uODc0cTAtMS4zNi43MTgtMi4wOTQuNzM1LS43NSAyLjA2My0uNzUuNSAwIC45ODQuMTRsLS4wNzggMS4xNzNxLS4zNi0uMDc4LS43ODEtLjA3OC0uNzAzIDAtMS4wOTQuNDIxLS4zNzUuNDA3LS4zNzUgMS4xNzJ2Ljg5aDEuODEzdjEuMTFoLTEuODEzVjI5LjFoLTEuNDM4em00LjkwNy00LjMxM3EwLTEuMjM0LjQ4NC0yLjIxOC40ODQtMSAxLjM2LTEuNTMxLjg3NC0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OSAyLjIyLS40NjguOTg0LTEuMzU5IDEuNTMtLjg3NS41NDctMi4wMTYuNTQ3LTEuNzE4IDAtMi43OC0xLjE4Ny0xLjA2My0xLjIwMy0xLjA2My0zLjE3MnYtLjExem0xLjQ1My4xNzJxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem0xMi4wMTYtMy4wMTVxLS4zMjktLjA2My0uNzItLjA2My0xLjQyMSAwLTEuOTIxIDEuMjE5djZoLTEuNDUzdi04LjQ1M2gxLjQwNmwuMDMxLjk2OXEuNzAzLTEuMTI1IDIuMDE2LTEuMTI1LjQyMiAwIC42NC4xMDl2MS4zNDR6bTIuMjY1LTEuMjk3bC4wNDcuOTM3cS45MjItMS4wOTMgMi41LTEuMDkzIDEuNzgxIDAgMi40MjIgMS4zNTkuNDIyLS42MSAxLjA5NC0uOTg0LjY3MS0uMzc1IDEuNTkzLS4zNzUgMi43ODIgMCAyLjgyOCAyLjkzN1YyOS4xSDE4OS42di01LjU3OHEwLS45MDYtLjQyMi0xLjM2LS40MDYtLjQ1My0xLjM5LS40NTMtLjc5NyAwLTEuMzI5LjQ4NS0uNTMuNDg0LS42MjUgMS4yOTdWMjkuMWgtMS40NTN2LTUuNTQ3cTAtMS44NDQtMS43OTctMS44NDQtMS40MjIgMC0xLjk1MyAxLjIyVjI5LjFoLTEuNDM3di04LjQ1M2gxLjM2em0xNy44NiA4LjQ1M3EtLjEyNi0uMjUtLjIwNC0uODktMSAxLjA0Ni0yLjQwNiAxLjA0Ni0xLjI1IDAtMi4wNDctLjcwMy0uNzk3LS43MTktLjc5Ny0xLjc5NyAwLTEuMzI4IDEtMi4wNDcgMS0uNzM0IDIuODI4LS43MzRoMS40MDd2LS42NzJxMC0uNzUtLjQ1My0xLjIwMy0uNDU0LS40NTMtMS4zNDQtLjQ1My0uNzY2IDAtMS4yOTcuMzktLjUxNi4zOTEtLjUxNi45NTRoLTEuNDUzcTAtLjY0MS40MzgtMS4yMi40NTMtLjU5MyAxLjIxOS0uOTM3Ljc4LS4zNDMgMS43MDMtLjM0MyAxLjQ1MyAwIDIuMjguNzM0LjgyOS43MTkuODYgMnYzLjg5cTAgMS4xNzMuMjk3IDEuODZ2LjEyNWgtMS41MTZ6bS0yLjM5MS0xLjExcS42NzIgMCAxLjI4MS0uMzQzLjYxLS4zNi44OS0uOTIydi0xLjczNGgtMS4xNHEtMi42NTYgMC0yLjY1NiAxLjU2MiAwIC42NzIuNDUzIDEuMDYzLjQ1My4zNzUgMS4xNzIuMzc1em03LjU0Ny03LjM0M2wuMDQ3IDEuMDYycS45NjgtMS4yMTggMi41My0xLjIxOCAyLjY3MyAwIDIuNzA0IDMuMDE1VjI5LjFoLTEuNDUzdi01LjU5NHEwLS45MjItLjQyMi0xLjM2LS40MDYtLjQzNy0xLjI2Ni0uNDM3LS43MDMgMC0xLjIzNC4zNzV0LS44MjguOTg1VjI5LjFoLTEuNDUzdi04LjQ1M2gxLjM3NXptMTEuMDE1IDcuNDIycS43ODIgMCAxLjM2LS40NjkuNTc4LS40NjkuNjQtMS4xNzJoMS4zNnEtLjAzMS43MzUtLjUgMS4zOS0uNDUzLjY1Ny0xLjIzNSAxLjA0OC0uNzY1LjM5LTEuNjI1LjM5LTEuNzE4IDAtMi43NS0xLjE1Ni0xLjAxNS0xLjE1Ni0xLjAxNS0zLjE1NnYtLjIzNXEwLTEuMjM0LjQ1My0yLjE4Ny40NTMtLjk2OSAxLjI5Ny0xLjUuODYtLjUzMSAyLjAxNS0uNTMxIDEuNDIyIDAgMi4zNi44NTkuOTM3Ljg0NCAxIDIuMjAzaC0xLjM2cS0uMDYyLS44MjgtLjYyNS0xLjM0NC0uNTYyLS41My0xLjM3NS0uNTMtMS4xMDkgMC0xLjcxOC43OTYtLjU5NC43ODEtLjU5NCAyLjI4MXYuMjgycTAgMS40NTMuNTk0IDIuMjUuNjA5Ljc4IDEuNzE4Ljc4em04LjEyNSAxLjE4N3EtMS43MTggMC0yLjc5Ny0xLjEyNS0xLjA3OC0xLjE0LTEuMDc4LTMuMDMxdi0uMjY2cTAtMS4yNS40Ny0yLjIzNC40ODMtMSAxLjM0My0xLjU0Ny44NzUtLjU2MiAxLjg3NS0uNTYyIDEuNjU2IDAgMi41NjIgMS4wOTMuOTIyIDEuMDc5LjkyMiAzLjA5NHYuNjFoLTUuNzM0cS4wMzEgMS4yNS43MzQgMi4wMTUuNzAzLjc2NiAxLjc4MS43NjYuNzY2IDAgMS4yOTctLjMxMy41MzItLjMxMi45MjItLjgyOGwuODkuNjg4cS0xLjA2MiAxLjY0LTMuMTg3IDEuNjR6bS0uMTg3LTcuNTc4cS0uODc1IDAtMS40NjkuNjQtLjU5NC42MjYtLjczNCAxLjc4Mmg0LjIzNHYtLjExcS0uMDYyLTEuMTA5LS41OTQtMS43MDItLjUzLS42MS0xLjQzNy0uNjF6bTQuNzAzIDYuNjU2cTAtLjM3NS4yMTktLjYyNS4yMzQtLjI1LjY3Mi0uMjUuNDUzIDAgLjY3MS4yNS4yMzUuMjUuMjM1LjYyNSAwIC4zNi0uMjM0LjYxLS4yMi4yNS0uNjcyLjI1LS40MzggMC0uNjcyLS4yNS0uMjE5LS4yNS0uMjE5LS42MXptMC03cTAtLjM3NS4yMTktLjYyNS4yMzQtLjI1LjY3Mi0uMjUuNDUzIDAgLjY3MS4yNS4yMzUuMjUuMjM1LjYyNSAwIC4zNi0uMjM0LjYxLS4yMi4yNS0uNjcyLjI1LS40MzggMC0uNjcyLS4yNS0uMjE5LS4yNS0uMjE5LS42MXptOS43MDMgNi41MzJoNS4zOVYyOS4xaC02Ljg5VjE3LjcyNWgxLjV2MTAuMTR6bTguODQ0IDEuMjM0aC0xLjQ1M3YtOC40NTNoMS40NTNWMjkuMXptLTEuNTYzLTEwLjcwM3EwLS4zNDQuMjAzLS41NzguMjItLjI1LjY0MS0uMjUuNDIyIDAgLjY0LjI1LjIyLjIzNC4yMi41OTQgMCAuMzQzLS4yMi41NzgtLjIxOC4yMzQtLjY0LjIzNC0uNDIyIDAtLjY0LS4yMzQtLjIwNC0uMjM1LS4yMDQtLjU5NHptNC43MDMgMTAuNzAzdi03LjM0NGgtMS4zNDN2LTEuMTFoMS4zNDR2LS44NzRxMC0xLjM2LjcxOC0yLjA5NC43MzUtLjc1IDIuMDYzLS43NS41IDAgLjk4NC4xNGwtLjA3OCAxLjE3M3EtLjM2LS4wNzgtLjc4MS0uMDc4LS43MDMgMC0xLjA5NC40MjEtLjM3NS40MDctLjM3NSAxLjE3MnYuODloMS44MTN2MS4xMWgtMS44MTNWMjkuMWgtMS40Mzh6bTcuMjUtMTAuNXYyLjA0N2gxLjU3OXYxLjExaC0xLjU3OHY1LjI1cTAgLjUuMjAzLjc2NS4yMTguMjUuNzE4LjI1LjI1IDAgLjY4OC0uMDk0VjI5LjFxLS41NjMuMTU2LTEuMTEuMTU2LS45NjggMC0xLjQ2OC0uNTc4LS40ODUtLjU5NC0uNDg1LTEuNjcydi01LjI1aC0xLjUzdi0xLjExaDEuNTNWMTguNmgxLjQ1NHptMi42NTcgNi4xODhxMC0xLjIzNS40ODQtMi4yMi40ODUtMSAxLjM2LTEuNTMuODc1LS41NDcgMS45ODQtLjU0NyAxLjczNCAwIDIuNzk3IDEuMjAzIDEuMDYyIDEuMTg3IDEuMDYyIDMuMTcydi4wOTNxMCAxLjIzNS0uNDY4IDIuMjItLjQ3Ljk4NC0xLjM2IDEuNTMtLjg3NS41NDctMi4wMTUuNTQ3LTEuNzIgMC0yLjc4Mi0xLjE4Ny0xLjA2Mi0xLjIwMy0xLjA2Mi0zLjE3MnYtLjExem0xLjQ1My4xNzFxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem04LjY0IDQuMTQxdi03LjM0NGgtMS4zNDN2LTEuMTFoMS4zNDR2LS44NzRxMC0xLjM2LjcxOC0yLjA5NC43MzUtLjc1IDIuMDYzLS43NS41IDAgLjk4NC4xNGwtLjA3OCAxLjE3M3EtLjM2LS4wNzgtLjc4MS0uMDc4LS43MDMgMC0xLjA5NC40MjEtLjM3NS40MDctLjM3NSAxLjE3MnYuODloMS44MTN2MS4xMWgtMS44MTNWMjkuMWgtMS40Mzh6bTYgMHYtNy4zNDRoLTEuMzQzdi0xLjExaDEuMzQ0di0uODc0cTAtMS4zNi43MTgtMi4wOTQuNzM1LS43NSAyLjA2My0uNzUuNSAwIC45ODQuMTRsLS4wNzggMS4xNzNxLS4zNi0uMDc4LS43ODEtLjA3OC0uNzAzIDAtMS4wOTQuNDIxLS4zNzUuNDA3LS4zNzUgMS4xNzJ2Ljg5aDEuODEzdjEuMTFoLTEuODEzVjI5LjFoLTEuNDM4em0xMi4wNzktMS45NjlsMi4wOTMtNi40ODRoMS40N2wtMy4wMzIgOC40NTNoLTEuMDk0bC0zLjA2Mi04LjQ1M2gxLjQ2OGwyLjE1NyA2LjQ4NHptMTAuMTI1LS4yODFxMC0uNTc4LS40MzgtLjkwNi0uNDM3LS4zMjgtMS41NDctLjU2My0xLjA5My0uMjM0LTEuNzM0LS41NjItLjY0LS4zMjgtLjk1My0uNzgxLS4zMTMtLjQ1NC0uMzEzLTEuMDc5IDAtMS4wMy44NzUtMS43NS44OS0uNzE4IDIuMjUtLjcxOCAxLjQzOCAwIDIuMzI4Ljc1LjkwNy43MzQuOTA3IDEuODloLTEuNDUzcTAtLjU5My0uNTE2LTEuMDE1LS41LS40MzgtMS4yNjYtLjQzOC0uNzgxIDAtMS4yMzQuMzQ0LS40MzguMzQ0LS40MzguODkgMCAuNTMyLjQwNy43OTcuNDIyLjI2NiAxLjUuNTE2IDEuMDc4LjIzNCAxLjc1LjU3OC42NzIuMzI4IDEgLjc5Ny4zMjguNDY5LjMyOCAxLjE1NiAwIDEuMTI1LS45MDYgMS44MTMtLjkwNy42ODctMi4zNi42ODctMS4wMTUgMC0xLjc5Ny0uMzYtLjc4MS0uMzU4LTEuMjE4LTEtLjQzOC0uNjU1LS40MzgtMS40MDVoMS40MzhxLjA0Ni43MzQuNTc4IDEuMTU2LjU0Ny40MjIgMS40MzcuNDIyLjgyOCAwIDEuMzEzLS4zMjguNS0uMzI4LjUtLjg5MXptMTUuMTcyLTcuODloLTMuNjU3VjI5LjFoLTEuNVYxOC45NmgtMy42NHYtMS4yMzVoOC43OTd2MS4yMzR6bTcuMTI1IDkuMjk2cS0uODQ0IDEtMi40NyAxLTEuMzU5IDAtMi4wNjItLjc4MS0uNzAzLS43OTctLjcxOC0yLjMyOHYtNS41aDEuNDUzVjI2LjFxMCAxLjkyMiAxLjU2MiAxLjkyMiAxLjY1NiAwIDIuMjAzLTEuMjM0di02LjE0MWgxLjQzOFYyOS4xaC0xLjM3NWwtLjAzMS0uODQ0em03Ljg3NS02LjMxMnEtLjMyOS0uMDYzLS43Mi0uMDYzLTEuNDIxIDAtMS45MjEgMS4yMTl2NmgtMS40NTN2LTguNDUzaDEuNDA2bC4wMzEuOTY5cS43MDMtMS4xMjUgMi4wMTYtMS4xMjUuNDIyIDAgLjY0LjEwOXYxLjM0NHptOC4wNjIgMy4wMTVxMCAxLjkzOC0uODkgMy4xMjUtLjg5MSAxLjE3Mi0yLjM5MSAxLjE3Mi0xLjU5NCAwLTIuNDY5LTEuMTRsLS4wNzguOTg0aC0xLjMyOHYtMTJoMS40NTN2NC40NjlxLjg3NS0xLjA3OCAyLjQwNi0xLjA3OCAxLjU0NyAwIDIuNDIyIDEuMTcyLjg3NSAxLjE1Ni44NzUgMy4xNzF2LjEyNXptLTEuNDM4LS4xNTZxMC0xLjQ4NC0uNTc4LTIuMjgxLS41NjItLjgxMy0xLjY0LS44MTMtMS40MjIgMC0yLjA0NyAxLjMyOXYzLjY1NnEuNjU2IDEuMzI4IDIuMDYyIDEuMzI4IDEuMDQ3IDAgMS42MjUtLjc5Ny41NzktLjgxMy41NzktMi40MjJ6bTIuOTA3LS4wMTVxMC0xLjIzNS40ODQtMi4yMi40ODUtMSAxLjM2LTEuNTMuODc1LS41NDcgMS45ODQtLjU0NyAxLjczNCAwIDIuNzk3IDEuMjAzIDEuMDYyIDEuMTg3IDEuMDYyIDMuMTcydi4wOTNxMCAxLjIzNS0uNDY4IDIuMjItLjQ3Ljk4NC0xLjM2IDEuNTMtLjg3NS41NDctMi4wMTUuNTQ3LTEuNzIgMC0yLjc4Mi0xLjE4Ny0xLjA2Mi0xLjIwMy0xLjA2Mi0zLjE3MnYtLjExem0xLjQ1My4xNzFxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem0xNC40MjItLjg5aC00Ljc2NlYyOS4xaC0xLjVWMTcuNzI1aDcuMDQ3djEuMjM0aC01LjU0N3YzLjg5MWg0Ljc2NnYxLjIxOXptNy43MTkgNS4wMzFxLS4xMjUtLjI1LS4yMDQtLjg5LTEgMS4wNDYtMi40MDYgMS4wNDYtMS4yNSAwLTIuMDQ3LS43MDMtLjc5Ny0uNzE5LS43OTctMS43OTcgMC0xLjMyOCAxLTIuMDQ3IDEtLjczNCAyLjgyOS0uNzM0aDEuNDA2di0uNjcycTAtLjc1LS40NTMtMS4yMDMtLjQ1My0uNDUzLTEuMzQ0LS40NTMtLjc2NiAwLTEuMjk3LjM5LS41MTYuMzkxLS41MTYuOTU0aC0xLjQ1M3EwLS42NDEuNDM4LTEuMjIuNDUzLS41OTMgMS4yMTktLjkzNy43OC0uMzQzIDEuNzAzLS4zNDMgMS40NTMgMCAyLjI4LjczNC44MjkuNzE5Ljg2IDJ2My44OXEwIDEuMTczLjI5NyAxLjg2di4xMjVoLTEuNTE1em0tMi4zOTEtMS4xMXEuNjcyIDAgMS4yODEtLjM0My42MS0uMzYuODktLjkyMnYtMS43MzRoLTEuMTRxLTIuNjU2IDAtMi42NTYgMS41NjIgMCAuNjcyLjQ1MyAxLjA2My40NTMuMzc1IDEuMTcyLjM3NXptNy41NDctNy4zNDNsLjA0NyAxLjA2MnEuOTY4LTEuMjE4IDIuNTMtMS4yMTggMi42NzMgMCAyLjcwNCAzLjAxNVYyOS4xaC0xLjQ1M3YtNS41OTRxMC0uOTIyLS40MjItMS4zNi0uNDA2LS40MzctMS4yNjYtLjQzNy0uNzAzIDAtMS4yMzQuMzc1dC0uODI4Ljk4NVYyOS4xaC0xLjQ1M3YtOC40NTNoMS4zNzV6bTExLjI1IDQuMTRxMC0xLjIzNC40ODQtMi4yMTguNDg1LTEgMS4zNi0xLjUzMS44NzUtLjU0NyAxLjk4NC0uNTQ3IDEuNzM0IDAgMi43OTcgMS4yMDMgMS4wNjIgMS4xODcgMS4wNjIgMy4xNzJ2LjA5M3EwIDEuMjM1LS40NjggMi4yMi0uNDcuOTg0LTEuMzYgMS41My0uODc1LjU0Ny0yLjAxNS41NDctMS43MiAwLTIuNzgyLTEuMTg3LTEuMDYyLTEuMjAzLTEuMDYyLTMuMTcydi0uMTF6bTEuNDUzLjE3MnEwIDEuNDA3LjY0IDIuMjY2LjY1Ny44NDQgMS43NS44NDQgMS4xMSAwIDEuNzUtLjg2LjY1Ny0uODU5LjY1Ny0yLjQyMSAwLTEuMzkxLS42NzItMi4yNS0uNjU2LS44Ni0xLjc1LS44Ni0xLjA2MyAwLTEuNzE5Ljg2LS42NTYuODQzLS42NTYgMi40MjF6bTkuMjk3LTQuMzEybC4wNDcgMS4wNjJxLjk2OC0xLjIxOCAyLjUzLTEuMjE4IDIuNjczIDAgMi43MDQgMy4wMTVWMjkuMWgtMS40NTN2LTUuNTk0cTAtLjkyMi0uNDIyLTEuMzYtLjQwNi0uNDM3LTEuMjY2LS40MzctLjcwMyAwLTEuMjM0LjM3NXQtLjgyOC45ODVWMjkuMWgtMS40NTN2LTguNDUzaDEuMzc1em0xMy43OTctMi45MjJsMy43MTggOS4yODEgMy43Mi05LjI4MWgxLjkzN1YyOS4xaC0xLjV2LTQuNDM4bC4xNC00Ljc4LTMuNzM0IDkuMjE4aC0xLjE0bC0zLjczNS05LjE4OC4xNTYgNC43NVYyOS4xaC0xLjVWMTcuNzI1aDEuOTM4ek00MTguNDEzIDI5LjFxLS4xMjUtLjI1LS4yMDQtLjg5LTEgMS4wNDYtMi40MDYgMS4wNDYtMS4yNSAwLTIuMDQ3LS43MDMtLjc5Ny0uNzE5LS43OTctMS43OTcgMC0xLjMyOCAxLTIuMDQ3IDEtLjczNCAyLjgyOS0uNzM0aDEuNDA2di0uNjcycTAtLjc1LS40NTMtMS4yMDMtLjQ1My0uNDUzLTEuMzQ0LS40NTMtLjc2NiAwLTEuMjk3LjM5LS41MTYuMzkxLS41MTYuOTU0aC0xLjQ1M3EwLS42NDEuNDM4LTEuMjIuNDUzLS41OTMgMS4yMTktLjkzNy43OC0uMzQzIDEuNzAzLS4zNDMgMS40NTMgMCAyLjI4LjczNC44MjkuNzE5Ljg2IDJ2My44OXEwIDEuMTczLjI5NyAxLjg2di4xMjVoLTEuNTE1em0tMi4zOTEtMS4xMXEuNjcyIDAgMS4yODEtLjM0My42MS0uMzYuODktLjkyMnYtMS43MzRoLTEuMTRxLTIuNjU2IDAtMi42NTYgMS41NjIgMCAuNjcyLjQ1MyAxLjA2My40NTMuMzc1IDEuMTcyLjM3NXptOS41NjIuMDc5cS43ODIgMCAxLjM2LS40NjkuNTc4LS40NjkuNjQtMS4xNzJoMS4zNnEtLjAzMS43MzUtLjUgMS4zOS0uNDUzLjY1Ny0xLjIzNSAxLjA0OC0uNzY1LjM5LTEuNjI1LjM5LTEuNzE4IDAtMi43NS0xLjE1Ni0xLjAxNS0xLjE1Ni0xLjAxNS0zLjE1NnYtLjIzNXEwLTEuMjM0LjQ1My0yLjE4Ny40NTMtLjk2OSAxLjI5Ny0xLjUuODYtLjUzMSAyLjAxNS0uNTMxIDEuNDIyIDAgMi4zNi44NTkuOTM3Ljg0NCAxIDIuMjAzaC0xLjM2cS0uMDYyLS44MjgtLjYyNS0xLjM0NC0uNTYyLS41My0xLjM3NS0uNTMtMS4xMDkgMC0xLjcxOC43OTYtLjU5NC43ODEtLjU5NCAyLjI4MXYuMjgycTAgMS40NTMuNTk0IDIuMjUuNjA5Ljc4IDEuNzE4Ljc4em00Ljg0NCAxLjAzMVYxNy43MjVoMy43MTlxMS44NDQgMCAyLjc4MS43NjYuOTM4Ljc2NS45MzggMi4yNjUgMCAuNzk3LS40NTMgMS40MDctLjQ1NC42MDktMS4yMzUuOTUzLjkyMi4yNSAxLjQ1My45ODQuNTMyLjcxOS41MzIgMS43MTkgMCAxLjUzMS0xIDIuNDA2LS45ODUuODc1LTIuNzk3Ljg3NWgtMy45Mzh6bTEuNS01LjMyOHY0LjA5NGgyLjQ2OXExLjA0NyAwIDEuNjU2LS41MzIuNjEtLjU0Ni42MS0xLjUgMC0yLjA2Mi0yLjIzNS0yLjA2MmgtMi41em0wLTEuMjAzaDIuMjY2cS45ODQgMCAxLjU2Mi0uNDg1LjU5NC0uNS41OTQtMS4zNDMgMC0uOTM4LS41NDctMS4zNi0uNTQ3LS40MjItMS42NTYtLjQyMmgtMi4yMTl2My42MXptNy44OSAyLjIxOXEwLTEuMjM1LjQ4NS0yLjIyLjQ4NS0xIDEuMzYtMS41My44NzUtLjU0NyAxLjk4NC0uNTQ3IDEuNzM0IDAgMi43OTcgMS4yMDMgMS4wNjIgMS4xODcgMS4wNjIgMy4xNzJ2LjA5M3EwIDEuMjM1LS40NjggMi4yMi0uNDcuOTg0LTEuMzYgMS41My0uODc1LjU0Ny0yLjAxNS41NDctMS43MiAwLTIuNzgyLTEuMTg3LTEuMDYyLTEuMjAzLTEuMDYyLTMuMTcydi0uMTF6bTEuNDU0LjE3MXEwIDEuNDA3LjY0IDIuMjY2LjY1Ny44NDQgMS43NS44NDQgMS4xMSAwIDEuNzUtLjg2LjY1Ny0uODU5LjY1Ny0yLjQyMSAwLTEuMzkxLS42NzItMi4yNS0uNjU2LS44Ni0xLjc1LS44Ni0xLjA2MyAwLTEuNzE5Ljg2LS42NTYuODQzLS42NTYgMi40MjF6bTcuNTQ3LS4xNzFxMC0xLjIzNS40ODQtMi4yMi40ODUtMSAxLjM2LTEuNTMuODc1LS41NDcgMS45ODQtLjU0NyAxLjczNCAwIDIuNzk3IDEuMjAzIDEuMDYyIDEuMTg3IDEuMDYyIDMuMTcydi4wOTNxMCAxLjIzNS0uNDY4IDIuMjItLjQ3Ljk4NC0xLjM2IDEuNTMtLjg3NS41NDctMi4wMTUuNTQ3LTEuNzIgMC0yLjc4Mi0xLjE4Ny0xLjA2Mi0xLjIwMy0xLjA2Mi0zLjE3MnYtLjExem0xLjQ1My4xNzFxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem0xMC4yODEuMjJsLS45MDYuOTUyVjI5LjFoLTEuNDM4di0xMmgxLjQzOHY3LjI1bC43ODEtLjkyMiAyLjYyNS0yLjc4MWgxLjc2NmwtMy4yOTcgMy41MzEgMy42NzIgNC45MjJoLTEuNjg4bC0yLjk1My0zLjkyMnoiLz48cGF0aCBkPSJNMTA0Ljc5IDIyNi42NTRsMTMuMjgyLTE0Ny41OSIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgbWFya2VyLWVuZD0idXJsKCNiKSIvPjxwYXRoIGQ9Ik0xODMuMzg5IDIzOS45MjZsNy4xNS0zNy4wMzgiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIG1hcmtlci1lbmQ9InVybCgjYykiLz48cGF0aCBkPSJNMzI5LjI0NiAyNDAuMTkxbDQuOTM2LTIxLjU0MSIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgbWFya2VyLWVuZD0idXJsKCNkKSIvPjxwYXRoIGQ9Ik0yNDkuNzc1IDIyOC40MTVMMjYzLjA1OCA4OS42OCIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgbWFya2VyLWVuZD0idXJsKCNlKSIvPjx0ZXh0IHN0eWxlPSJsaW5lLWhlaWdodDoxMjUlIiB4PSI3NSIgeT0iMTA1IiBmb250LXdlaWdodD0iNDAwIiBmb250LXNpemU9IjEzLjMzMyIgZm9udC1mYW1pbHk9IlNhbnMiIGxldHRlci1zcGFjaW5nPSIwIiB3b3JkLXNwYWNpbmc9IjAiIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48dHNwYW4geD0iNzUiIHk9IjEwNSI+MTAuNHg8L3RzcGFuPjwvdGV4dD48dGV4dCBzdHlsZT0ibGluZS1oZWlnaHQ6MTI1JSIgeD0iMTU0LjY4NCIgeT0iMjIxLjg1NCIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zaXplPSIxMy4zMzMiIGZvbnQtZmFtaWx5PSJTYW5zIiBsZXR0ZXItc3BhY2luZz0iMCIgd29yZC1zcGFjaW5nPSIwIiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+PHRzcGFuIHg9IjE1NC42ODQiIHk9IjIyMS44NTQiPjguOXg8L3RzcGFuPjwvdGV4dD48dGV4dCBzdHlsZT0ibGluZS1oZWlnaHQ6MTI1JSIgeD0iMjI3LjY4NCIgeT0iMTExLjg1NCIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zaXplPSIxMy4zMzMiIGZvbnQtZmFtaWx5PSJTYW5zIiBsZXR0ZXItc3BhY2luZz0iMCIgd29yZC1zcGFjaW5nPSIwIiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+PHRzcGFuIHg9IjIyNy42ODQiIHk9IjExMS44NTQiPjkuMXg8L3RzcGFuPjwvdGV4dD48dGV4dCBzdHlsZT0ibGluZS1oZWlnaHQ6MTI1JSIgeD0iMjk4LjY4NCIgeT0iMjMwLjg1NCIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zaXplPSIxMy4zMzMiIGZvbnQtZmFtaWx5PSJTYW5zIiBsZXR0ZXItc3BhY2luZz0iMCIgd29yZC1zcGFjaW5nPSIwIiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+PHRzcGFuIHg9IjI5OC42ODQiIHk9IjIzMC44NTQiPjkuNHg8L3RzcGFuPjwvdGV4dD48L3N2Zz4=" alt="Code Generation Performance: Liftoff vs. TurboFan on Macbook"></p>
<p><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgd2lkdGg9IjQ5MCIgaGVpZ2h0PSIyODIiPjxkZWZzPjxtYXJrZXIgb3JpZW50PSJhdXRvIiBpZD0iYiIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0tNS4yMzEtMi40MkwxLjMyNC0uMDEtNS4yMyAyLjQwMWMxLjA0Ny0xLjQyMyAxLjA0MS0zLjM3IDAtNC44MjF6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIuMzc1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIGlkPSJjIiBvdmVyZmxvdz0idmlzaWJsZSI+PHBhdGggZD0iTS01LjIzMS0yLjQyTDEuMzI0LS4wMS01LjIzIDIuNDAxYzEuMDQ3LTEuNDIzIDEuMDQxLTMuMzcgMC00LjgyMXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9Ii4zNzUiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgaWQ9ImQiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLTUuMjMxLTIuNDJMMS4zMjQtLjAxLTUuMjMgMi40MDFjMS4wNDctMS40MjMgMS4wNDEtMy4zNyAwLTQuODIxeiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iLjM3NSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvbWFya2VyPjxtYXJrZXIgb3JpZW50PSJhdXRvIiBpZD0iZSIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0tNS4yMzEtMi40MkwxLjMyNC0uMDEtNS4yMyAyLjQwMWMxLjA0Ny0xLjQyMyAxLjA0MS0zLjM3IDAtNC44MjF6IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIuMzc1IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNDkwdjI4MkgwVjB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg0OTB2MjgySDBWMHoiLz48cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNODQuNSAyNDYuNWgzMDMiLz48cGF0aCBkPSJNODQuNSAxOTcuNWgzMDNNODQuNSAxNDguNWgzMDNNODQuNSA5OS41aDMwM004NC41IDUwLjVoMzAzIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlPSIjY2NjIi8+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNODQuMSA1MGgzMDMuNzczdjE5Ni45SDg0LjFWNTB6Ii8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjNDI4NWY0IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xMzAgMjQ3aC0yMnYtMTRhMiAyIDAgMCAxIDItMmgxOGEyIDIgMCAwIDEgMiAyek0yMDAgMjQ3aC0yMnYtNWEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTI3MCAyNDdoLTIydi0yMWEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTM0MCAyNDdoLTIydi0zYTIgMiAwIDAgMSAyLTJoMThhMiAyIDAgMCAxIDIgMnoiLz48cGF0aCBmaWxsPSIjZTY5MTM4IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xNTMgMjQ3aC0yMnYtOTNhMiAyIDAgMCAxIDItMmgxOGEyIDIgMCAwIDEgMiAyek0yMjMgMjQ3aC0yMnYtNDRhMiAyIDAgMCAxIDItMmgxOGEyIDIgMCAwIDEgMiAyek0yOTMgMjQ3aC0yMlY5OGEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6TTM2MyAyNDdoLTIydi0yOWEyIDIgMCAwIDEgMi0yaDE4YTIgMiAwIDAgMSAyIDJ6Ii8+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTIyLjMwMyAxNzQuN3EtLjQyMiAxLjQzOC0xLjAzMSAyLjExLS42MS42NTYtMS41LjY1Ni0xIDAtMS42NTYtLjc5Ny0uNjcyLS44MTMtLjY3Mi0yLjExIDAtLjg3NS4zNDMtMS41NjIuMzQ0LS42ODguOTM4LTEuMDYzLjU5NC0uMzkgMS4zMTItLjM5djEuMTRxLS43OCAwLTEuMjE4LjUtLjQzOC40ODUtLjQzOCAxLjM3NSAwIC44MjguMzc1IDEuMjk3LjM2LjQ2OSAxIC40NjkuNTMxIDAgLjg5LS40MzguMzYtLjQ1My42NTctMS41MTUuMjk3LTEuMDYzLjY1Ni0xLjY1Ni4zNi0uNjEuODQ0LS44OTEuNDg0LS4yOTcgMS4xMjUtLjI5NyAxLjA0NyAwIDEuNjcyLjgxMy42MjUuODEyLjYyNSAyLjE1NiAwIC44OS0uMzQ0IDEuNjU2LS4zNDQuNzUtLjkyMiAxLjE3Mi0uNTkzLjQwNi0xLjMyOC40MDZ2LTEuMTI1cS43NjYgMCAxLjIxOS0uNTc4LjQ1My0uNTc4LjQ1My0xLjUzMSAwLS44OS0uMzYtMS4zNi0uMzc0LS40NjgtMS0uNDY4LS42MjQgMC0uOTY4LjQzNy0uMzQ0LjQzOC0uNjcyIDEuNTk0em0zLjkyMi02Ljk1M3EwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4OHEtLjk1MyAwLTEuNjg3LS4zNi0uNzUtLjM1OS0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzQuODEyLTEuOTIxLjgxMy0uNjg4IDIuMzI4LS42ODhoLjQ1NHY0LjI5N3EuOTM3LS4wMzEgMS41MTUtLjU0Ny41NzgtLjUzMS41NzgtMS4zNDQgMC0uNTYyLS4yMzQtLjk1My0uMjM0LS40MDYtLjYyNS0uNzE5bC41MTYtLjY1NnExLjIzNC43OTcgMS4yMzQgMi4zOXptLTUuNjg4LjE0cTAgLjY1Ny40ODUgMS4xMS40NjkuNDM3IDEuMzI4LjUzMXYtMy4xNzJoLS4wNzhxLS44MjguMDQ3LTEuMjgxLjQ1My0uNDU0LjM5MS0uNDU0IDEuMDc4em00Ljc5Ny02LjA0NnEwLS41NzktLjM0My0xLjAxNi0uMzYtLjQzOC0uODkxLS40ODR2LTEuMDMycS41NDcuMDMyIDEuMDQ3LjM5MS40ODQuMzQ0Ljc4MS45MjIuMjk3LjU2Mi4yOTcgMS4yMTkgMCAxLjI5Ni0uODYgMi4wNjItLjg3NC43NS0yLjM3NC43NWgtLjE4OHEtLjkyMiAwLTEuNjQtLjMyOC0uNzItLjM0NC0xLjExLS45NjktLjQwNi0uNjQtLjQwNi0xLjUxNSAwLTEuMDYzLjY0LTEuNzY2LjYyNS0uNzE5IDEuNjU3LS43NjZ2MS4wMzJxLS42MjUuMDQ2LTEuMDE2LjQ2OC0uMzkuNDIyLS4zOSAxLjAzMiAwIC44MjguNTkzIDEuMjguNTk0LjQ1NCAxLjcxOS40NTRoLjIwM3ExLjA5NCAwIDEuNjg4LS40NTMuNTkzLS40NTMuNTkzLTEuMjgxem0tMi40NjgtMy4xNzJxLS45MjIgMC0xLjY3Mi0uMzYtLjc1LS4zNzUtMS4xNC0xLjAzLS40MDctLjY1Ny0uNDA3LTEuNDg1IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTMgMi4zOTEtLjgxM2guMDc4cS45MjIgMCAxLjY1Ni4zNi43MzUuMzYgMS4xNTcgMS4wMTUuNDA2LjY1Ny40MDYgMS41MTYgMCAxLjI4MS0uODkgMi4wOTQtLjkwNy43OTctMi4zOTEuNzk3aC0uMDc4em0uMTQtMS4wOTRxMS4wNDcgMCAxLjY4OC0uNDg0LjY0LS41LjY0LTEuMzEzIDAtLjgyOC0uNjQtMS4zMTItLjY1Ny0uNDg1LTEuODI4LS40ODUtMS4wMzIgMC0xLjY3Mi41LS42NTcuNDg1LS42NTcgMS4zMTMgMCAuNzk3LjY0MSAxLjI5Ny42MjUuNDg0IDEuODI4LjQ4NHptLTMuMjUtNy4yMTlsLjc5Ny0uMDMxcS0uOTA2LS43MzQtLjkwNi0xLjkwNiAwLTIuMDE2IDIuMjY1LTIuMDMySDI2LjF2MS4wOTRoLTQuMjAzcS0uNjcyIDAtMSAuMzEzLS4zMjguMjk3LS4zMjguOTUzIDAgLjUzMS4yODEuOTM3LjI4MS4zOTEuNzM0LjYxSDI2LjF2MS4wNzhoLTYuMzQ0di0xLjAxNnptMy4xMjUtNS43MTlxLTEuNDY5IDAtMi4zNDQtLjY4Ny0uODktLjY4OC0uODktMS44MTMgMC0xLjEwOS43NS0xLjc2NUgxNy4xdi0xLjA3OGg5djFsLS42ODguMDQ3cS44MTMuNjU2LjgxMyAxLjgxMiAwIDEuMDk0LS45MDYgMS43OTctLjkwNy42ODgtMi4zNi42ODhoLS4wNzh6bS4xMjUtMS4wNzhxMS4wNzggMCAxLjY4OC0uNDM3LjYxLS40NTMuNjEtMS4yMzUgMC0xLjAzLS45MzgtMS41MTVoLTIuOTA3cS0uODkuNDg0LS44OSAxLjUgMCAuNzk3LjYxIDEuMjUuNjA4LjQzNyAxLjgyNy40Mzd6bTEuNDA2LTkuODc1cS0uNDM3IDAtLjY3MS4zNDQtLjI1LjMyOC0uNDIyIDEuMTU2LS4xNzIuODEzLS40MjIgMS4yOTctLjI1LjQ4NS0uNTc4LjcxOS0uMzQ0LjIxOS0uODEzLjIxOS0uNzgxIDAtMS4zMTItLjY1Ny0uNTQ3LS42NTYtLjU0Ny0xLjY4NyAwLTEuMDc4LjU2Mi0xLjczNC41NDctLjY3MiAxLjQwNy0uNjcydjEuMDc4cS0uNDM4IDAtLjc1LjM5LS4zMjkuMzc1LS4zMjkuOTM4IDAgLjU5NC4yNjYuOTM4LjI1LjMyOC42NTYuMzI4LjM5MSAwIC41OTQtLjMxMy4yMDMtLjMxMi4zOS0xLjEyNS4xNzMtLjgxMi40MjMtMS4zMTJ0LjYwOS0uNzM1cS4zNi0uMjUuODYtLjI1Ljg1OSAwIDEuMzc0LjY4OC41MTYuNjcyLjUxNiAxLjc1IDAgLjc2NS0uMjY2IDEuMzYtLjI4LjU3Ny0uNzY1LjkwNS0uNDg1LjMyOC0xLjA0Ny4zMjh2LTEuMDc4cS41NDctLjAzLjg3NS0uNDM3LjMxMi0uNDA2LjMxMi0xLjA3OCAwLS42MS0uMjUtLjk4NXQtLjY3Mi0uMzc1eiIvPjxwYXRoIGZpbGw9IiM3NTc1NzUiIGQ9Ik01My4xNjMgMjQ3Ljc2cTAgMS45MDYtLjY1NyAyLjg0My0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzhxMC0xLjg5LjY0LTIuNzk2LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MiAyLjcydjEuNDA1em0tMS4wOTQtMS40ODVxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNy42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem0yLjg3NSA0LjU2M3EwLS4yODIuMTU2LS40Ny4xNzItLjE4Ny41LS4xODcuMzQ0IDAgLjUxNi4xODguMTcyLjE4Ny4xNzIuNDY5IDAgLjI2NS0uMTcyLjQ1My0uMTcyLjE3Mi0uNTE2LjE3Mi0uMzI4IDAtLjUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDUzem04LjIxOC0zLjA3OXEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA2LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzIgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDcuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXptOC4wOTMgMS40ODRxMCAxLjkwNy0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTguMDkzIDEuNDg0cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzhxMC0xLjg5LjY0LTIuNzk2LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcydjEuNDA1em0tMS4wOTMtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxek01My4zOTcgMjAyLjE3NWgtNS41OTR2LS43ODFsMi45NTMtMy4yODFxLjY1Ny0uNzUuOTA3LTEuMjA0LjI1LS40NjguMjUtLjk2OCAwLS42NzItLjQwNy0xLjA5NC0uMzktLjQzOC0xLjA3OC0uNDM4LS43OTcgMC0xLjI1LjQ3LS40NTMuNDUyLS40NTMgMS4yOGgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNi43NjYtLjczNCAyLjAzMS0uNzM0IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OGg0LjI4di44OTF6bTEuNTQ3LS41NjNxMC0uMjguMTU2LS40NjguMTcyLS4xODguNS0uMTg4LjM0NCAwIC41MTYuMTg4LjE3Mi4xODcuMTcyLjQ2OSAwIC4yNjUtLjE3Mi40NTMtLjE3Mi4xNzItLjUxNi4xNzItLjMyOCAwLS41LS4xNzItLjE1Ni0uMTg4LS4xNTYtLjQ1M3ptOC4yMTgtMy4wNzhxMCAxLjkwNy0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcyIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTguMDkzIDEuNDg0cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzhxMC0xLjg5LjY0LTIuNzk2LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcydjEuNDA1em0tMS4wOTMtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA2LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXpNNTIuMzgxIDE1MC4wOWgxLjE4OHYuODc2SDUyLjM4djEuOTg0aC0xLjA3OHYtMS45ODRoLTMuODl2LS42NDFsMy44MTItNS45MDZoMS4xNTZ2NS42NzJ6bS0zLjczNCAwaDIuNjU2di00LjE4N2wtLjE0LjIzNC0yLjUxNiAzLjk1NHptNi4yOTcgMi4yOTdxMC0uMjguMTU2LS40NjguMTcyLS4xODguNS0uMTg4LjM0NCAwIC41MTYuMTg4LjE3Mi4xODcuMTcyLjQ2OCAwIC4yNjYtLjE3Mi40NTQtLjE3Mi4xNzEtLjUxNi4xNzEtLjMyOCAwLS41LS4xNzEtLjE1Ni0uMTg4LS4xNTYtLjQ1NHptOC4yMTgtMy4wNzhxMCAxLjkwNy0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcyIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTguMDkzIDEuNDg0cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDctLjY4Ny0yLjcxOXYtMS40MzhxMC0xLjg5LjY0LTIuNzk2LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcydjEuNDA1em0tMS4wOTMtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXpNNTIuMDY5IDk1LjE5NHYuOTA2aC0uMjAzcS0xLjI2Ni4wMzEtMi4wMTYuNzY2LS43NS43MTgtLjg3NSAyLjAzLjY4OC0uNzY1IDEuODQ0LS43NjUgMS4xMSAwIDEuNzgxLjc4MS42NzIuNzgyLjY3MiAyLjAzMiAwIDEuMzEyLS43MTkgMi4xMS0uNzE5Ljc5Ni0xLjkzNy43OTYtMS4yMiAwLTEuOTg1LS45MzgtLjc1LS45NTMtLjc1LTIuNDM3di0uNDA2cTAtMi4zNiAxLTMuNjF0Mi45ODUtMS4yNjVoLjIwM3ptLTEuNDIyIDMuODQzcS0uNTYzIDAtMS4wMzEuMzI5LS40Ny4zMjgtLjY1Ny44NDN2LjM5MXEwIDEuMDYzLjQ3IDEuNzAzLjQ4My42NCAxLjE4Ny42NC43MzQgMCAxLjE1Ni0uNTMuNDIyLS41NDcuNDIyLTEuNDIyIDAtLjg3NS0uNDIyLTEuNDA3LS40MjItLjU0Ny0xLjEyNS0uNTQ3em00LjI5NyA0LjEyNXEwLS4yOC4xNTYtLjQ2OC4xNzItLjE4OC41LS4xODguMzQ0IDAgLjUxNi4xODguMTcyLjE4Ny4xNzIuNDY4IDAgLjI2Ni0uMTcyLjQ1NC0uMTcyLjE3MS0uNTE2LjE3MS0uMzI4IDAtLjUtLjE3MS0uMTU2LS4xODgtLjE1Ni0uNDU0em04LjIxOC0zLjA3OHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzIgMi43MnYxLjQwNXpNNjIuMDcgOTguNnEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA3LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M1Y5OC42em04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MnYxLjQwNXpNNjkuMDcgOTguNnEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M1Y5OC42em04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MnYxLjQwNXpNNzYuMDcgOTguNnEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M1Y5OC42ek01Mi45OSA0OC4xODhxMCAuNjQtLjM0MyAxLjE0LS4zNDQuNS0uOTA2Ljc4MS42NTYuMjgyIDEuMDQ3Ljg0NC4zOS41NDcuMzkgMS4yNSAwIDEuMDk0LS43NSAxLjc2Ni0uNzM0LjY1Ni0xLjk1My42NTYtMS4yMzQgMC0xLjk4NC0uNjU2LS43MzUtLjY3Mi0uNzM1LTEuNzY2IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MiAxLjA0Ny0uODQ0LS41NjItLjI4LS44OS0uNzgtLjMyOS0uNS0uMzI5LTEuMTQyIDAtMS4wNzguNjg4LTEuNzAzLjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkgMy45ODRxMC0uNzE5LS40NTMtMS4xNTYtLjQ1My0uNDUzLTEuMTg4LS40NTMtLjczNCAwLTEuMTg3LjQ1My0uNDM4LjQzNy0uNDM4IDEuMTcyIDAgLjcxOC40MzggMS4xNC40MzcuNDA2IDEuMjAzLjQwNi43NSAwIDEuMTg4LS40MjIuNDM3LS40MjEuNDM3LTEuMTR6bS0xLjYyNS01LjQzOHEtLjY0IDAtMS4wNDcuNDA3LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDcuMzktMS4wNDcgMC0uNjU3LS40MDUtMS4wNjMtLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTQuNDY5IDcuMjAzcTAtLjI4LjE1Ni0uNDY4LjE3Mi0uMTg4LjUtLjE4OC4zNDQgMCAuNTE2LjE4OC4xNzIuMTg3LjE3Mi40NjggMCAuMjY2LS4xNzIuNDU0LS4xNzIuMTcyLS41MTYuMTcyLS4zMjggMC0uNS0uMTcyLS4xNTYtLjE4OC0uMTU2LS40NTN6bTguMjE4LTMuMDc4cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDctLjY4Ny0yLjcxOXYtMS40MzhxMC0xLjg5LjY0LTIuNzk2LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MiAyLjcydjEuNDA1em0tMS4wOTMtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNy42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MTl2LTEuNDM4cTAtMS44OS42NC0yLjc5Ni42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXptOC4wOTMgMS40ODRxMCAxLjkwNy0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzE5di0xLjQzOHEwLTEuODkuNjQtMi43OTYuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6TTk2LjA1IDI2MC45NjJoLTMuNzAzdjMuMDE2aDQuMjk2di45MjJoLTUuNDIxdi04LjUzMWg1LjM3NXYuOTIyaC00LjI1djIuNzVoMy43MDN2LjkyMXptNy4zNi44NDRxMCAxLjQzOC0uNjU3IDIuMzI4LS42NTYuODkxLTEuNzk3Ljg5MS0xLjE1NiAwLTEuODEzLS43MzR2My4wNDZoLTEuMDc4di04Ljc4aC45ODVsLjA0Ny43MDJxLjY3MS0uODEyIDEuODQzLS44MTIgMS4xNDEgMCAxLjc5Ny44Ni42NzIuODU5LjY3MiAyLjM5di4xMXptLTEuMDc5LS4xMjVxMC0xLjA3OC0uNDY5LTEuNjg3LS40NTMtLjYyNS0xLjI1LS42MjUtLjk4NCAwLTEuNDY5Ljg2djMuMDNxLjQ4NS44NzUgMS40ODUuODc1Ljc4MSAwIDEuMjM0LS42MDkuNDY5LS42MjUuNDY5LTEuODQ0em0zLjkwNiAzLjIxOWgtMS4wNzh2LTYuMzQ0aDEuMDc4djYuMzQ0em0tMS4xNzItOC4wMTZxMC0uMjY1LjE1Ny0uNDUzLjE3MS0uMTg3LjQ4NC0uMTg3LjMxMiAwIC40NjkuMTg3LjE3Mi4xODguMTcyLjQ1MyAwIC4yNS0uMTcyLjQzOC0uMTU3LjE3Mi0uNDY5LjE3Mi0uMzEzIDAtLjQ4NC0uMTcyLS4xNTctLjE4OC0uMTU3LS40Mzh6bTUuNTMyIDcuMjVxLjU3OCAwIDEuMDE1LS4zNDMuNDM4LS4zNi40ODUtLjg5MWgxLjAzcS0uMDMuNTQ3LS4zOSAxLjA0Ny0uMzQ0LjQ4NC0uOTIyLjc4MS0uNTYyLjI5Ny0xLjIxOC4yOTctMS4yOTcgMC0yLjA2My0uODYtLjc1LS44NzQtLjc1LTIuMzc0di0uMTg4cTAtLjkyMi4zMjgtMS42NC4zNDQtLjcyLjk2OS0xLjExLjY0LS40MDYgMS41MTYtLjQwNiAxLjA2MiAwIDEuNzY1LjY0LjcxOS42MjUuNzY2IDEuNjU3aC0xLjAzMXEtLjA0Ny0uNjI1LS40Ny0xLjAxNi0uNDIxLS4zOS0xLjAzLS4zOS0uODI5IDAtMS4yODIuNTkzLS40NTMuNTk0LS40NTMgMS43MTl2LjIwM3EwIDEuMDk0LjQ1MyAxLjY4OC40NTMuNTkzIDEuMjgyLjU5M3ptNC40NjgtLjE1Nmg0Ljg5MXYuOTIyaC02LjIxOXYtLjg0NGw0LjY4OC02Ljc2NWgtNC42MXYtLjkyMmg1Ljk1M3YuODI4bC00LjcwMyA2Ljc4MXptOC42MjUgMS4wNDdxLTEuMjk3IDAtMi4xMDktLjg0NC0uNzk3LS44Ni0uNzk3LTIuMjgxdi0uMTg4cTAtLjk1My4zNi0xLjY4Ny4zNTktLjc1IDEtMS4xNTYuNjU2LS40MjIgMS40MDYtLjQyMiAxLjIzNCAwIDEuOTIyLjgxMi42ODcuODEzLjY4NyAyLjMyOHYuNDU0aC00LjI5N3EuMDMxLjkzNy41NDcgMS41MTUuNTMxLjU3OCAxLjM0NC41NzguNTYyIDAgLjk1My0uMjM0LjQwNi0uMjM0LjcxOS0uNjI1bC42NTYuNTE2cS0uNzk3IDEuMjM0LTIuMzkgMS4yMzR6bS0uMTQtNS42ODhxLS42NTcgMC0xLjExLjQ4NS0uNDM3LjQ2OS0uNTMgMS4zMjhoMy4xNzF2LS4wNzhxLS4wNDctLjgyOC0uNDUzLTEuMjgxLS4zOS0uNDU0LTEuMDc4LS40NTR6bTQuNTMxLS43OGwuMDMxLjc5NnEuNzM1LS45MDYgMS45MDYtLjkwNiAyLjAxNiAwIDIuMDMyIDIuMjY1djQuMTg4aC0xLjA5NHYtNC4yMDNxMC0uNjcyLS4zMTMtMS0uMjk2LS4zMjgtLjk1My0uMzI4LS41MyAwLS45MzcuMjgxLS4zOS4yODEtLjYxLjczNHY0LjUxNmgtMS4wNzh2LTYuMzQ0aDEuMDE2em0xMi40NTMgNS4yMThxLS40MzcuNjI1LTEuMjE5LjkzOC0uNzguMzEyLTEuODEyLjMxMi0xLjAzMSAwLTEuODQ0LS40ODQtLjgxMi0uNS0xLjI1LTEuNDA3LS40MzctLjkwNi0uNDUzLTIuMDkzdi0uNzM1cTAtMS45MzcuODktMyAuOTA3LTEuMDYyIDIuNTMyLTEuMDYyIDEuMzQ0IDAgMi4xNTYuNjg3LjgxMy42ODggMSAxLjkzOGgtMS4xMjVxLS4zMjgtMS42ODgtMi4wMTYtMS42ODgtMS4xNCAwLTEuNzE4Ljc5Ny0uNTc4Ljc4MS0uNTk0IDIuMjk3di42ODhxMCAxLjQzNy42NTYgMi4yOTYuNjU2Ljg0NCAxLjc4MS44NDQuNjI1IDAgMS4wOTQtLjE0LjQ4NS0uMTQxLjc5Ny0uNDg1di0xLjkwNmgtMS45Njl2LS45MjJoMy4wOTR2My4xMjV6bTUuNDM4IDEuMTI1cS0uMDk0LS4xODgtLjE1Ny0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ni0uNTMxLS41OTQtLjUzMi0uNTk0LTEuMzYgMC0uOTg0Ljc1LTEuNTMuNzUtLjU0OCAyLjEyNS0uNTQ4aDEuMDQ3di0uNXEwLS41NjItLjM0NC0uODktLjMyOC0uMzQ0LTEtLjM0NC0uNTc4IDAtLjk2OS4yOTctLjM5LjI4MS0uMzkuNzAzaC0xLjA5NHEwLS40ODUuMzI4LS45MjIuMzQ0LS40MzguOTIyLS42ODguNTc4LS4yNjUgMS4yNjYtLjI2NSAxLjEwOSAwIDEuNzE4LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIyIDEuMzl2LjA5NGgtMS4xNDF6bS0xLjc5Ny0uODI4cS41MTUgMCAuOTY4LS4yNjYuNDU0LS4yNjUuNjU3LS42ODd2LTEuMjk3aC0uODQ0cS0yIDAtMiAxLjE3MiAwIC41LjM0NC43OTcuMzQzLjI4Ljg3NS4yOHptNy45NTMtNC41NDdxLS4yNS0uMDMxLS41MzEtLjAzMS0xLjA3OSAwLTEuNDU0LjkwNnY0LjVoLTEuMDc4di02LjM0NGgxLjA0N2wuMDE2LjczNXEuNTMxLS44NDQgMS41MTYtLjg0NC4zMTIgMCAuNDg0LjA3OHYxem0uNjcyIDIuMTU2cTAtMS40NjkuNjg3LTIuMzQ0LjY4OC0uODkgMS44MTMtLjg5IDEuMTEgMCAxLjc2NS43NVYyNTUuOWgxLjA3OHY5aC0xbC0uMDQ2LS42ODhxLS42NTcuODEzLTEuODEzLjgxMy0xLjA5NCAwLTEuNzk3LS45MDYtLjY4Ny0uOTA3LS42ODctMi4zNnYtLjA3OHptMS4wNzguMTI1cTAgMS4wNzguNDM3IDEuNjg4LjQ1My42MSAxLjIzNS42MSAxLjAzMSAwIDEuNTE1LS45Mzh2LTIuOTA3cS0uNDg0LS44OS0xLjUtLjg5LS43OTcgMC0xLjI1LjYxLS40MzcuNjA4LS40MzcgMS44Mjd6bTguODEyIDMuMjE5cS0xLjI5NyAwLTIuMTA5LS44NDQtLjc5Ny0uODYtLjc5Ny0yLjI4MXYtLjE4OHEwLS45NTMuMzYtMS42ODcuMzU5LS43NSAxLTEuMTU2LjY1Ni0uNDIyIDEuNDA2LS40MjIgMS4yMzQgMCAxLjkyMi44MTIuNjg3LjgxMy42ODcgMi4zMjh2LjQ1NGgtNC4yOTdxLjAzMS45MzcuNTQ3IDEuNTE1LjUzMS41NzggMS4zNDQuNTc4LjU2MiAwIC45NTMtLjIzNC40MDYtLjIzNC43MTktLjYyNWwuNjU2LjUxNnEtLjc5NyAxLjIzNC0yLjM5IDEuMjM0em0tLjE0LTUuNjg4cS0uNjU3IDAtMS4xMS40ODUtLjQzNy40NjktLjUzIDEuMzI4aDMuMTcxdi0uMDc4cS0uMDQ3LS44MjgtLjQ1My0xLjI4MS0uMzktLjQ1NC0xLjA3OC0uNDU0em00LjUzMS0uNzhsLjAzMS43OTZxLjczNS0uOTA2IDEuOTA2LS45MDYgMi4wMTYgMCAyLjAzMiAyLjI2NXY0LjE4OGgtMS4wOTR2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ni0uMzI4LS45NTMtLjMyOC0uNTMgMC0uOTM3LjI4MS0uMzkuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnpNMTg5Ljk2IDI1Ny4yOWgtMi43NXY3LjYxaC0xLjEwOXYtNy42MWgtMi43NXYtLjkyMWg2LjYxdi45MjJ6bTQuODQ1IDcuNjFxLS4wOTQtLjE4OC0uMTU3LS42NzItLjc1Ljc5Ny0xLjc5Ny43OTctLjkzNyAwLTEuNTQ2LS41MzEtLjU5NC0uNTMyLS41OTQtMS4zNiAwLS45ODQuNzUtMS41My43NS0uNTQ4IDIuMTI1LS41NDhoMS4wNDd2LS41cTAtLjU2Mi0uMzQ0LS44OS0uMzI4LS4zNDQtMS0uMzQ0LS41NzggMC0uOTY5LjI5Ny0uMzkuMjgxLS4zOS43MDNoLTEuMDk0cTAtLjQ4NS4zMjgtLjkyMi4zNDQtLjQzOC45MjItLjY4OC41NzgtLjI2NSAxLjI2NS0uMjY1IDEuMTEgMCAxLjcyLjU0Ny42MjQuNTQ3LjY1NSAxLjV2Mi45MjJxMCAuODc1LjIyIDEuMzl2LjA5NGgtMS4xNDF6bS0xLjc5Ny0uODI4cS41MTUgMCAuOTY4LS4yNjYuNDU0LS4yNjUuNjU3LS42ODd2LTEuMjk3aC0uODQ0cS0yIDAtMiAxLjE3MiAwIC41LjM0NC43OTcuMzQzLjI4Ljg3NS4yOHptNS45MDYtNS41MTZsLjAzMS43OTdxLjczNS0uOTA2IDEuOTA2LS45MDYgMi4wMTYgMCAyLjAzMiAyLjI2NXY0LjE4OGgtMS4wOTR2LTQuMjAzcTAtLjY3Mi0uMzEzLTEtLjI5Ni0uMzI4LS45NTMtLjMyOC0uNTMgMC0uOTM3LjI4MS0uMzkuMjgxLS42MS43MzR2NC41MTZoLTEuMDc4di02LjM0NGgxLjAxNnptNy43NSAzLjQwNmwtLjY4OC43MDR2Mi4yMzRoLTEuMDc4di05aDEuMDc4djUuNDM3bC41NzktLjY4NyAxLjk4NC0yLjA5NGgxLjMxMmwtMi40NjggMi42NTYgMi43NjUgMy42ODhoLTEuMjhsLTIuMjA0LTIuOTM4em03LjkyMiAxLjI1cTAtLjQzNy0uMzQ0LS42NzEtLjMyOC0uMjUtMS4xNTYtLjQyMi0uODEzLS4xNzItMS4yOTctLjQyMnQtLjcxOS0uNTc4cS0uMjE5LS4zNDQtLjIxOS0uODEzIDAtLjc4MS42NTctMS4zMTIuNjU2LS41NDcgMS42ODctLjU0NyAxLjA3OCAwIDEuNzM1LjU2Mi42NzEuNTQ3LjY3MSAxLjQwN2gtMS4wNzhxMC0uNDM4LS4zOS0uNzUtLjM3NS0uMzI5LS45MzgtLjMyOS0uNTk0IDAtLjkzNy4yNjYtLjMyOC4yNS0uMzI4LjY1NiAwIC4zOTEuMzEyLjU5NC4zMTMuMjAzIDEuMTI1LjM5LjgxMy4xNzMgMS4zMTMuNDIzdC43MzQuNjA5cS4yNS4zNi4yNS44NiAwIC44NTktLjY4OCAxLjM3NC0uNjcxLjUxNi0xLjc1LjUxNi0uNzY1IDAtMS4zNTktLjI2Ni0uNTc4LS4yOC0uOTA2LS43NjUtLjMyOC0uNDg1LS4zMjgtMS4wNDdoMS4wNzhxLjAzMS41NDcuNDM3Ljg3NS40MDcuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptMy41MTUtLjcxOGgtLjk2OGwtLjA3OC02LjEyNWgxLjEyNWwtLjA3OSA2LjEyNXptLTEuMDkzIDEuODZxMC0uMjY3LjE1Ni0uNDM4LjE3Mi0uMTg4LjQ4NC0uMTg4LjMxMyAwIC40Ny4xODguMTcuMTcxLjE3LjQzN3QtLjE3LjQzOHEtLjE1Ny4xNzEtLjQ3LjE3MS0uMzEyIDAtLjQ4NC0uMTcxLS4xNTYtLjE3Mi0uMTU2LS40Mzh6TTI1MS42MDYgMjYyLjY2NmgtMy41NzhsLS43OTcgMi4yMzRoLTEuMTU2bDMuMjUtOC41MzFoLjk4NGwzLjI2NiA4LjUzMWgtMS4xNTZsLS44MTMtMi4yMzR6bS0zLjIzNC0uOTIyaDIuOTA2bC0xLjQ1My0zLjk4NS0xLjQ1MyAzLjk4NXptMTAuMjY1IDIuNTMxcS0uNjI1Ljc1LTEuODU5Ljc1LTEuMDE1IDAtMS41NDctLjU5NC0uNTMxLS41OTQtLjUzMS0xLjc1di00LjEyNWgxLjA3OHY0LjA5NHEwIDEuNDUzIDEuMTcyIDEuNDUzIDEuMjUgMCAxLjY1Ni0uOTM3di00LjYxaDEuMDk0djYuMzQ0aC0xLjAzMWwtLjAzMS0uNjI1em00LjU2My03LjI1djEuNTMxaDEuMTcydi44NDRIMjYzLjJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1VjI1OS40aC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzFoMS4wOTR6bTIuMjM0IDQuNjRxMC0uOTIxLjM2LTEuNjcxLjM3NS0uNzUgMS4wMzEtMS4xNC42NTYtLjQwNyAxLjQ4NC0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU2LS4zNi43MzUtMS4wMTUgMS4xNTctLjY1Ny40MDYtMS41MTYuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNDFxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMy0uNjQuNDg0LS42NTcuNDg0LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em0xMi42NC4zOXEtLjE1NiAxLjM0NS0xIDIuMDk1LS44NDMuNzM0LTIuMjM0LjczNC0xLjUxNSAwLTIuNDIyLTEuMDc4LS45MDYtMS4wOTQtLjkwNi0yLjkyMnYtLjgxM3EwLTEuMTg3LjQyMi0yLjA5My40MjItLjkwNyAxLjIwMy0xLjM5Ljc4MS0uNDg1IDEuNzk3LS40ODUgMS4zNiAwIDIuMTcyLjc2NS44MjguNzY2Ljk2OSAyLjA5NGgtMS4xMjVxLS4xNTYtMS4wMTYtLjY0LTEuNDY5LS40ODUtLjQ1My0xLjM3Ni0uNDUzLTEuMDc4IDAtMS42ODcuNzk3LS42MS43OTctLjYxIDIuMjY2di44MjhxMCAxLjM5LjU3OCAyLjIxOS41NzguODEyIDEuNjI1LjgxMi45MzggMCAxLjQzOC0uNDIyLjUtLjQzNy42NzItMS40ODRoMS4xMjV6bTYuNDM4LjQ3aC0zLjU3OGwtLjc5NyAyLjIzNGgtMS4xNTZsMy4yNS04LjUzMWguOTg0bDMuMjY2IDguNTMxaC0xLjE1NmwtLjgxMy0yLjIzNHptLTMuMjM0LS45MjJoMi45MDZsLTEuNDUzLTMuOTg1LTEuNDUzIDMuOTg1em02LjUxNSAzLjE1NnYtOC41MzFoMi40MjJxMS4xMSAwIDEuOTUzLjUuODYuNDg0IDEuMzI5IDEuMzkuNDY4LjkwNy40NjggMi4wOTR2LjUzMXEwIDEuMjItLjQ2OCAyLjEyNS0uNDU0LjkwNy0xLjMyOSAxLjM5MS0uODU5LjQ4NC0yIC41aC0yLjM3NXptMS4xMjUtNy42MXY2LjY4OGgxLjE4OHExLjI5NyAwIDIuMDE2LS43OTcuNzM0LS44MTIuNzM0LTIuMzEydi0uNXEwLTEuNDUzLS42ODgtMi4yNS0uNjcxLS44MTMtMS45MzctLjgyOGgtMS4zMTN6TTMyNC45MDggMjYxLjgwNnEwIDEuNDM4LS42NTYgMi4zMjgtLjY1Ny44OTEtMS43OTcuODkxLTEuMTU2IDAtMS44MTMtLjczNHYzLjA0NmgtMS4wNzh2LTguNzhoLjk4NWwuMDQ2LjcwMnEuNjcyLS44MTIgMS44NDQtLjgxMiAxLjE0IDAgMS43OTcuODYuNjcyLjg1OS42NzIgMi4zOXYuMTF6bS0xLjA3OC0uMTI1cTAtMS4wNzgtLjQ2OS0xLjY4Ny0uNDUzLS42MjUtMS4yNS0uNjI1LS45ODQgMC0xLjQ2OS44NnYzLjAzcS40ODUuODc1IDEuNDg1Ljg3NS43ODEgMCAxLjIzNC0uNjA5LjQ2OS0uNjI1LjQ2OS0xLjg0NHptNi40MjIgMS41MzFxMC0uNDM3LS4zNDQtLjY3MS0uMzI4LS4yNS0xLjE1Ni0uNDIyLS44MTMtLjE3Mi0xLjI5Ny0uNDIyLS40ODUtLjI1LS43MTktLjU3OC0uMjE5LS4zNDQtLjIxOS0uODEzIDAtLjc4MS42NTctMS4zMTIuNjU2LS41NDcgMS42ODctLjU0NyAxLjA3OCAwIDEuNzM0LjU2Mi42NzIuNTQ3LjY3MiAxLjQwN2gtMS4wNzhxMC0uNDM4LS4zOS0uNzUtLjM3NS0uMzI5LS45MzgtLjMyOS0uNTk0IDAtLjkzNy4yNjYtLjMyOS4yNS0uMzI5LjY1NiAwIC4zOTEuMzEzLjU5NC4zMTIuMjAzIDEuMTI1LjM5LjgxMi4xNzMgMS4zMTIuNDIzdC43MzUuNjA5cS4yNS4zNi4yNS44NiAwIC44NTktLjY4OCAxLjM3NC0uNjcyLjUxNi0xLjc1LjUxNi0uNzY1IDAtMS4zNTktLjI2Ni0uNTc4LS4yOC0uOTA2LS43NjUtLjMyOC0uNDg1LS4zMjgtMS4wNDdoMS4wNzhxLjAzMS41NDcuNDM3Ljg3NS40MDYuMzEyIDEuMDc4LjMxMi42MSAwIC45ODUtLjI1dC4zNzUtLjY3MnptNy42NTYtMS40MDZxMCAxLjQzOC0uNjU2IDIuMzI4LS42NTcuODkxLTEuNzk3Ljg5MS0xLjE1NiAwLTEuODEzLS43MzR2My4wNDZoLTEuMDc4di04Ljc4aC45ODVsLjA0Ni43MDJxLjY3Mi0uODEyIDEuODQ0LS44MTIgMS4xNCAwIDEuNzk3Ljg2LjY3Mi44NTkuNjcyIDIuMzl2LjExem0tMS4wNzgtLjEyNXEwLTEuMDc4LS40NjktMS42ODctLjQ1My0uNjI1LTEuMjUtLjYyNS0uOTg0IDAtMS40NjkuODZ2My4wM3EuNDg1Ljg3NSAxLjQ4NS44NzUuNzgxIDAgMS4yMzQtLjYwOS40NjktLjYyNS40NjktMS44NDR6bTIuNDY5IDBxMC0xLjQ2OS42ODctMi4zNDQuNjg4LS44OSAxLjgxMy0uODkgMS4xMDkgMCAxLjc2NS43NVYyNTUuOWgxLjA3OHY5aC0xbC0uMDQ3LS42ODhxLS42NTYuODEzLTEuODEyLjgxMy0xLjA5NCAwLTEuNzk3LS45MDYtLjY4Ny0uOTA3LS42ODctMi4zNnYtLjA3OHptMS4wNzguMTI1cTAgMS4wNzguNDM3IDEuNjg4LjQ1My42MSAxLjIzNS42MSAxLjAzIDAgMS41MTUtLjkzOHYtMi45MDdxLS40ODQtLjg5LTEuNS0uODktLjc5NyAwLTEuMjUuNjEtLjQzNy42MDgtLjQzNyAxLjgyN3ptNi43MTggMy4wOTR2LTUuNWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzkuNTQ3LS41NjIgMS41NDctLjU2Mi4zNzUgMCAuNzUuMDk0bC0uMDYzLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgxLjMxMy0uMjgxLjg3NXYuNjcyaDEuMzU5di44NDRoLTEuMzZ2NS41aC0xLjA3OHptNS4yMzUtMi45MzhsLS42ODguNzA0djIuMjM0aC0xLjA3OHYtOWgxLjA3OHY1LjQzN2wuNTc4LS42ODcgMS45ODUtMi4wOTRoMS4zMTJsLTIuNDY4IDIuNjU2IDIuNzY1IDMuNjg4aC0xLjI4MWwtMi4yMDMtMi45Mzh6bTUuNDA2IDIuOTM4aC0xLjA3OHYtNi4zNDRoMS4wNzh2Ni4zNDR6bS0xLjE3Mi04LjAxNnEwLS4yNjUuMTU2LS40NTMuMTcyLS4xODcuNDg1LS4xODcuMzEyIDAgLjQ2OS4xODcuMTcxLjE4OC4xNzEuNDUzIDAgLjI1LS4xNzEuNDM4LS4xNTcuMTcyLS40Ny4xNzItLjMxMiAwLS40ODQtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em00LjQ2OS4xNDF2MS41MzFoMS4xNzJ2Ljg0NGgtMS4xNzJ2My45MjJxMCAuMzkuMTU2LjU3OC4xNTYuMTg4LjUzMS4xODguMTg4IDAgLjUxNi0uMDYzdi44NzVxLS40MjIuMTI1LS44MjguMTI1LS43MTkgMC0xLjA5NC0uNDM4LS4zNzUtLjQ1My0uMzc1LTEuMjY1VjI1OS40aC0xLjE1NnYtLjg0NGgxLjE1NnYtMS41MzFoMS4wOTR6Ii8+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTQwMi45IDQ1YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEtMSAxaC0xMGExIDEgMCAwIDEtMS0xeiIvPjxwYXRoIGZpbGw9IiM3NTc1NzUiIGQ9Ik00MjUuMDI1IDUzLjU3OGg0LjA0N3YuOTIyaC01LjE4OHYtOC41MzFoMS4xNDF2Ny42MXptNS44NzUuOTIyaC0xLjA3OHYtNi4zNDRoMS4wNzhWNTQuNXptLTEuMTcyLTguMDE2cTAtLjI2NS4xNTYtLjQ1My4xNzItLjE4Ny40ODUtLjE4Ny4zMTIgMCAuNDY4LjE4Ny4xNzIuMTg4LjE3Mi40NTMgMCAuMjUtLjE3Mi40MzgtLjE1Ni4xNzItLjQ2OC4xNzItLjMxMyAwLS40ODUtLjE3Mi0uMTU2LS4xODgtLjE1Ni0uNDM4em0zLjUzMSA4LjAxNlY0OWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzguNTQ2LS41NjMgMS41NDYtLjU2My4zNzUgMCAuNzUuMDk0bC0uMDYyLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgyLjMxMy0uMjgyLjg3NXYuNjcyaDEuMzZWNDloLTEuMzZ2NS41aC0xLjA3OHptNC45MzgtNy44NzV2MS41MzFoMS4xNzJWNDloLTEuMTcydjMuOTIycTAgLjM5LjE1Ni41NzguMTU2LjE4OC41MzEuMTg4LjE4OCAwIC41MTYtLjA2M3YuODc1cS0uNDIyLjEyNS0uODI4LjEyNS0uNzE5IDAtMS4wOTQtLjQzOC0uMzc1LS40NTMtLjM3NS0xLjI2NVY0OWgtMS4xNTZ2LS44NDRoMS4xNTZ2LTEuNTMxaDEuMDk0em0yLjIzNCA0LjY0cTAtLjkyMS4zNi0xLjY3MS4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU3LS4zNi43MzQtMS4wMTYgMS4xNTYtLjY1Ni40MDYtMS41MTUuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNDFxMCAxLjA0Ny40ODQgMS42ODguNS42NCAxLjMxMy42NC44MjggMCAxLjMxMi0uNjQuNDg1LS42NTcuNDg1LTEuODI4IDAtMS4wMzItLjUtMS42NzItLjQ4NS0uNjU3LTEuMzEzLS42NTctLjc5NyAwLTEuMjk3LjY0MS0uNDg0LjYyNS0uNDg0IDEuODI4em02LjczNCAzLjA5NFY0OWgtMXYtLjg0NGgxdi0uNjRxMC0xLjAzMi41MzItMS41NzguNTQ2LS41NjMgMS41NDYtLjU2My4zNzUgMCAuNzUuMDk0bC0uMDYyLjg5cS0uMjgxLS4wNjItLjU3OC0uMDYyLS41MzEgMC0uODI4LjMxMi0uMjgyLjMxMy0uMjgyLjg3NXYuNjcyaDEuMzZWNDloLTEuMzZ2NS41aC0xLjA3OHptNCAwVjQ5aC0xdi0uODQ0aDF2LS42NHEwLTEuMDMyLjUzMi0xLjU3OC41NDYtLjU2MyAxLjU0Ni0uNTYzLjM3NSAwIC43NS4wOTRsLS4wNjIuODlxLS4yODEtLjA2Mi0uNTc4LS4wNjItLjUzMSAwLS44MjguMzEyLS4yODIuMzEzLS4yODIuODc1di42NzJoMS4zNlY0OWgtMS4zNnY1LjVoLTEuMDc4eiIvPjxwYXRoIGZpbGw9IiNlNjkxMzgiIGQ9Ik00MDIuOSA3MGExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxLTEgMWgtMTBhMSAxIDAgMCAxLTEtMXoiLz48cGF0aCBmaWxsPSIjNzU3NTc1IiBkPSJNNDI5Ljc5IDcxLjg5aC0yLjc1djcuNjFoLTEuMTA5di03LjYxaC0yLjc1di0uOTIxaDYuNjF2LjkyMnptNC44NDQgNi45ODVxLS42MjUuNzUtMS44NTkuNzUtMS4wMTYgMC0xLjU0Ny0uNTk0LS41MzEtLjU5NC0uNTMxLTEuNzV2LTQuMTI1aDEuMDc4djQuMDk0cTAgMS40NTMgMS4xNzIgMS40NTMgMS4yNSAwIDEuNjU2LS45Mzd2LTQuNjFoMS4wOTRWNzkuNWgtMS4wMzFsLS4wMzItLjYyNXptNi4xNTctNC43NXEtLjI1LS4wMzEtLjUzMi0uMDMxLTEuMDc4IDAtMS40NTMuOTA2djQuNWgtMS4wNzh2LTYuMzQ0aDEuMDQ3bC4wMTYuNzM1cS41My0uODQ0IDEuNTE1LS44NDQuMzEzIDAgLjQ4NS4wNzh2MXptNi4yOTYgMi4yODFxMCAxLjQ1My0uNjcxIDIuMzQ0LS42NTcuODc1LTEuNzgyLjg3NS0xLjIwMyAwLTEuODU5LS44NmwtLjA2My43MzVoLS45ODR2LTloMS4wNzh2My4zNnEuNjU2LS44MTMgMS44MTMtLjgxMyAxLjE1NiAwIDEuODEyLjg3NS42NTYuODYuNjU2IDIuMzl2LjA5NHptLTEuMDc4LS4xMjVxMC0xLjExLS40MzctMS43MDMtLjQyMi0uNjEtMS4yMTktLjYxLTEuMDc4IDAtMS41NDcuOTg1djIuNzVxLjUgMSAxLjU0NyAxIC43ODEgMCAxLjIxOS0uNjEuNDM3LS42MDkuNDM3LTEuODEyem0yLjQyMi0uMDE1cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNyAxLjQ4NS0uNDA3IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5MS44MTMgMi4zOTF2LjA3OHEwIC45MjItLjM2IDEuNjU2LS4zNi43MzUtMS4wMTYgMS4xNTctLjY1Ni40MDYtMS41MTUuNDA2LTEuMjgxIDAtMi4wOTQtLjg5LS43OTctLjkwNy0uNzk3LTIuMzkxdi0uMDc4em0xLjA5NC4xNHEwIDEuMDQ3LjQ4NCAxLjY4OC41LjY0IDEuMzEzLjY0LjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ni40ODUtMS44MjggMC0xLjAzMi0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjUtLjQ4NCAxLjgyOHptMTEuMDc4LS42NzJoLTMuNTk0Vjc5LjVoLTEuMTI1di04LjUzMWg1LjI5N3YuOTIyaC00LjE3MnYyLjkyMWgzLjU5NHYuOTIyem02LjAzMSAzLjc2NnEtLjA5My0uMTg4LS4xNTYtLjY3Mi0uNzUuNzk3LTEuNzk3Ljc5Ny0uOTM3IDAtMS41NDctLjUzMS0uNTkzLS41MzEtLjU5My0xLjM2IDAtLjk4NC43NS0xLjUzLjc1LS41NDggMi4xMjUtLjU0OGgxLjA0NnYtLjVxMC0uNTYyLS4zNDMtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk3LS4zOS4yODEtLjM5LjcwM2gtMS4wOTRxMC0uNDg0LjMyOC0uOTIyLjM0My0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ny42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTRoLTEuMTR6bS0xLjc5Ny0uODI4cS41MTYgMCAuOTctLjI2Ni40NTItLjI2NS42NTUtLjY4N3YtMS4yOTdoLS44NDNxLTIgMC0yIDEuMTcyIDAgLjUuMzQzLjc5Ny4zNDQuMjguODc1LjI4em01LjkwNy01LjUxNmwuMDMxLjc5N3EuNzM0LS45MDYgMS45MDYtLjkwNiAyLjAxNiAwIDIuMDMxIDIuMjY2Vjc5LjVoLTEuMDkzdi00LjIwM3EwLS42NzItLjMxMy0xLS4yOTctLjMyOC0uOTUzLS4zMjgtLjUzMSAwLS45MzcuMjgxLS4zOTEuMjgxLS42MS43MzRWNzkuNWgtMS4wNzh2LTYuMzQ0aDEuMDE2ek0yMy43ODggMjUuNDlxLS4yMDQgMS43OTgtMS4zMjkgMi43ODJ0LTIuOTg0Ljk4NHEtMi4wMTYgMC0zLjIzNC0xLjQzNy0xLjIwNC0xLjQ1My0xLjIwNC0zLjg3NVYyMi44NXEwLTEuNTk0LjU2My0yLjc5N3QxLjU5NC0xLjg0NHExLjA0Ny0uNjQgMi40MjItLjY0IDEuODEyIDAgMi45MDYgMS4wMTUgMS4wOTQgMSAxLjI2NiAyLjc5N2gtMS41cS0uMjA0LTEuMzYtLjg2LTEuOTY4LS42NC0uNjEtMS44MTItLjYxLTEuNDM4IDAtMi4yNjYgMS4wNjMtLjgxMyAxLjA2Mi0uODEzIDMuMDE1djEuMTFxMCAxLjg0My43NjYgMi45MzcuNzgxIDEuMDk0IDIuMTcyIDEuMDk0IDEuMjUgMCAxLjkyMi0uNTYzLjY3Mi0uNTYyLjg5LTEuOTY4aDEuNXptMS4wMy0uNzAycTAtMS4yMzUuNDg1LTIuMjIuNDg1LTEgMS4zNi0xLjUzLjg3NS0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OCAyLjIyLS40Ny45ODQtMS4zNiAxLjUzLS44NzUuNTQ3LTIuMDE1LjU0Ny0xLjcyIDAtMi43ODItMS4xODctMS4wNjItMS4yMDMtMS4wNjItMy4xNzJ2LS4xMXptMS40NTQuMTcxcTAgMS40MDcuNjQgMi4yNjYuNjU3Ljg0NCAxLjc1Ljg0NCAxLjExIDAgMS43NS0uODYuNjU3LS44NTkuNjU3LTIuNDIxIDAtMS4zOTEtLjY3Mi0yLjI1LS42NTYtLjg2LTEuNzUtLjg2LTEuMDYzIDAtMS43MTkuODYtLjY1Ni44NDMtLjY1NiAyLjQyMXptNy41NzgtLjE1NnEwLTEuOTUzLjkyMi0zLjEyNS45MjItMS4xODcgMi40MDYtMS4xODcgMS40ODUgMCAyLjM2IDEuMDE1VjE3LjFoMS40Mzd2MTJoLTEuMzI4bC0uMDYzLS45MDZxLS44NzUgMS4wNjItMi40MjIgMS4wNjItMS40NjggMC0yLjM5LTEuMjAzLS45MjItMS4yMDMtLjkyMi0zLjE0di0uMTF6bTEuNDM4LjE1NnEwIDEuNDM4LjU5MyAyLjI1LjU5NC44MTMgMS42NC44MTMgMS4zNzYgMCAyLjAxNy0xLjIzNHYtMy44NzVxLS42NTctMS4yMDQtMi0xLjIwNC0xLjA2MyAwLTEuNjU3LjgyOS0uNTkzLjgxMi0uNTkzIDIuNDIxem0xMS40MjEgNC4yOTdxLTEuNzE4IDAtMi43OTctMS4xMjUtMS4wNzgtMS4xNC0xLjA3OC0zLjAzMXYtLjI2NnEwLTEuMjUuNDctMi4yMzQuNDgzLTEgMS4zNDMtMS41NDcuODc1LS41NjIgMS44NzUtLjU2MiAxLjY1NiAwIDIuNTYyIDEuMDkzLjkyMiAxLjA3OS45MjIgMy4wOTR2LjYxaC01LjczNHEuMDMxIDEuMjUuNzM0IDIuMDE1LjcwMy43NjYgMS43ODIuNzY2Ljc2NSAwIDEuMjk2LS4zMTMuNTMyLS4zMTIuOTIyLS44MjhsLjg5LjY4OHEtMS4wNjIgMS42NC0zLjE4NyAxLjY0em0tLjE4Ny03LjU3OHEtLjg3NSAwLTEuNDY5LjY0LS41OTQuNjI2LS43MzQgMS43ODJoNC4yMzR2LS4xMXEtLjA2Mi0xLjEwOS0uNTk0LTEuNzAyLS41My0uNjEtMS40MzctLjYxek02My44MTkgMjcuNnEtLjU3OC44MjgtMS42MSAxLjI1LTEuMDMuNDA2LTIuNDA2LjQwNi0xLjM5IDAtMi40NjktLjY1Ni0xLjA3OC0uNjU2LTEuNjcyLTEuODYtLjU5My0xLjIwMi0uNjA5LTIuNzh2LTFxMC0yLjU2MyAxLjIwMy0zLjk3IDEuMjAzLTEuNDIxIDMuMzc1LTEuNDIxIDEuNzgyIDAgMi44Ni45MDYgMS4wOTMuOTA2IDEuMzI4IDIuNTc4aC0xLjVxLS40MjItMi4yNS0yLjY4OC0yLjI1LTEuNSAwLTIuMjgxIDEuMDYzLS43ODEgMS4wNDctLjc4MSAzLjA2MnYuOTIycTAgMS45MjIuODc1IDMuMDQ3Ljg3NSAxLjEyNSAyLjM2IDEuMTI1Ljg0MyAwIDEuNDY4LS4xODguNjQtLjE4NyAxLjA2Mi0uNjI1di0yLjU2MmgtMi42NHYtMS4yMTloNC4xMjVWMjcuNnptNS44OSAxLjY1NnEtMS43MTggMC0yLjc5Ny0xLjEyNS0xLjA3OC0xLjE0LTEuMDc4LTMuMDMxdi0uMjY2cTAtMS4yNS40Ny0yLjIzNC40ODMtMSAxLjM0My0xLjU0Ny44NzUtLjU2MiAxLjg3NS0uNTYyIDEuNjU2IDAgMi41NjIgMS4wOTMuOTIyIDEuMDc5LjkyMiAzLjA5NHYuNjFoLTUuNzM0cS4wMzEgMS4yNS43MzQgMi4wMTUuNzAzLjc2NiAxLjc4MS43NjYuNzY2IDAgMS4yOTctLjMxMy41MzItLjMxMi45MjItLjgyOGwuODkuNjg4cS0xLjA2MiAxLjY0LTMuMTg3IDEuNjR6bS0uMTg3LTcuNTc4cS0uODc1IDAtMS40NjkuNjQtLjU5NC42MjYtLjczNCAxLjc4Mmg0LjIzNHYtLjExcS0uMDYyLTEuMTA5LS41OTQtMS43MDItLjUzLS42MS0xLjQzNy0uNjF6bTYuMDQ3LTEuMDMxbC4wNDcgMS4wNjJxLjk2OC0xLjIxOCAyLjUzLTEuMjE4IDIuNjczIDAgMi43MDQgMy4wMTVWMjkuMWgtMS40NTN2LTUuNTk0cTAtLjkyMi0uNDIyLTEuMzYtLjQwNi0uNDM3LTEuMjY2LS40MzctLjcwMyAwLTEuMjM0LjM3NXQtLjgyOC45ODVWMjkuMWgtMS40NTN2LTguNDUzaDEuMzc1em0xMS4xNCA4LjYxcS0xLjcxOCAwLTIuNzk3LTEuMTI2LTEuMDc4LTEuMTQtMS4wNzgtMy4wMzF2LS4yNjZxMC0xLjI1LjQ3LTIuMjM0LjQ4My0xIDEuMzQzLTEuNTQ3Ljg3NS0uNTYyIDEuODc1LS41NjIgMS42NTYgMCAyLjU2MiAxLjA5My45MjIgMS4wNzkuOTIyIDMuMDk0di42MWgtNS43MzRxLjAzMSAxLjI1LjczNCAyLjAxNS43MDMuNzY2IDEuNzgxLjc2Ni43NjYgMCAxLjI5Ny0uMzEzLjUzMi0uMzEyLjkyMi0uODI4bC44OS42ODhxLTEuMDYyIDEuNjQtMy4xODcgMS42NHptLS4xODctNy41NzlxLS44NzUgMC0xLjQ2OS42NC0uNTk0LjYyNi0uNzM0IDEuNzgyaDQuMjM0di0uMTFxLS4wNjItMS4xMDktLjU5NC0xLjcwMi0uNTMtLjYxLTEuNDM3LS42MXptOC43NjUuMjY2cS0uMzI4LS4wNjMtLjcxOC0uMDYzLTEuNDIyIDAtMS45MjIgMS4yMTl2NmgtMS40NTN2LTguNDUzSDkyLjZsLjAzMS45NjlxLjcwMy0xLjEyNSAyLjAxNi0xLjEyNS40MjIgMCAuNjQuMTA5djEuMzQ0em02LjEyNSA3LjE1NnEtLjEyNS0uMjUtLjIwMy0uODktMSAxLjA0Ni0yLjQwNiAxLjA0Ni0xLjI1IDAtMi4wNDctLjcwMy0uNzk3LS43MTktLjc5Ny0xLjc5NyAwLTEuMzI4IDEtMi4wNDcgMS0uNzM0IDIuODI4LS43MzRoMS40MDd2LS42NzJxMC0uNzUtLjQ1My0xLjIwMy0uNDU0LS40NTMtMS4zNDQtLjQ1My0uNzY2IDAtMS4yOTcuMzktLjUxNi4zOTEtLjUxNi45NTRoLTEuNDUzcTAtLjY0MS40MzgtMS4yMi40NTMtLjU5MyAxLjIxOC0uOTM3Ljc4Mi0uMzQzIDEuNzA0LS4zNDMgMS40NTMgMCAyLjI4LjczNC44MjkuNzE5Ljg2IDJ2My44OXEwIDEuMTczLjI5NyAxLjg2di4xMjVoLTEuNTE2em0tMi4zOS0xLjExcS42NzIgMCAxLjI4MS0uMzQzLjYxLS4zNi44OS0uOTIydi0xLjczNGgtMS4xNHEtMi42NTYgMC0yLjY1NiAxLjU2MiAwIC42NzIuNDUzIDEuMDYzLjQ1My4zNzUgMS4xNzIuMzc1em04LjE0LTkuMzl2Mi4wNDdoMS41Nzl2MS4xMWgtMS41Nzl2NS4yNXEwIC41LjIwNC43NjUuMjE4LjI1LjcxOC4yNS4yNSAwIC42ODgtLjA5NFYyOS4xcS0uNTYzLjE1Ni0xLjExLjE1Ni0uOTY4IDAtMS40NjgtLjU3OC0uNDg1LS41OTQtLjQ4NS0xLjY3MnYtNS4yNWgtMS41M3YtMS4xMWgxLjUzVjE4LjZoMS40NTN6bTQuNjEgMTAuNWgtMS40NTN2LTguNDUzaDEuNDUzVjI5LjF6bS0xLjU2My0xMC43MDNxMC0uMzQ0LjIwMy0uNTc4LjIyLS4yNS42NDEtLjI1LjQyMiAwIC42NC4yNS4yMi4yMzQuMjIuNTk0IDAgLjM0My0uMjIuNTc4LS4yMTguMjM0LS42NC4yMzQtLjQyMiAwLS42NC0uMjM0LS4yMDQtLjIzNS0uMjA0LS41OTR6bTMuNjEgNi4zOXEwLTEuMjM0LjQ4NC0yLjIxOC40ODQtMSAxLjM2LTEuNTMxLjg3NC0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OSAyLjIyLS40NjguOTg0LTEuMzU5IDEuNTMtLjg3NS41NDctMi4wMTYuNTQ3LTEuNzE4IDAtMi43OC0xLjE4Ny0xLjA2My0xLjIwMy0xLjA2My0zLjE3MnYtLjExem0xLjQ1My4xNzJxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem05LjI5Ny00LjMxMmwuMDQ3IDEuMDYycS45NjgtMS4yMTggMi41My0xLjIxOCAyLjY3MyAwIDIuNzA0IDMuMDE1VjI5LjFoLTEuNDUzdi01LjU5NHEwLS45MjItLjQyMi0xLjM2LS40MDYtLjQzNy0xLjI2Ni0uNDM3LS43MDMgMC0xLjIzNC4zNzV0LS44MjguOTg1VjI5LjFoLTEuNDUzdi04LjQ1M2gxLjM3NXptMTMuMzYgNFYyOS4xaC0xLjVWMTcuNzI1aDQuMTg3cTEuODc1IDAgMi45MjEuOTUzIDEuMDYzLjk1MyAxLjA2MyAyLjUxNiAwIDEuNjU2LTEuMDMxIDIuNTYyLTEuMDMxLjg5LTIuOTY5Ljg5aC0yLjY3MnptMC0xLjIzNGgyLjY4N3ExLjIwMyAwIDEuODQzLS41NjMuNjQxLS41NjMuNjQxLTEuNjQgMC0xLjAxNi0uNjQtMS42MjYtLjY0MS0uNjA5LTEuNzUtLjYyNWgtMi43ODJ2NC40NTR6bTExLjc4IDUuODQzcS0xLjcxOCAwLTIuNzk3LTEuMTI1LTEuMDc4LTEuMTQtMS4wNzgtMy4wMzF2LS4yNjZxMC0xLjI1LjQ3LTIuMjM0LjQ4My0xIDEuMzQzLTEuNTQ3Ljg3NS0uNTYyIDEuODc1LS41NjIgMS42NTYgMCAyLjU2MiAxLjA5My45MjIgMS4wNzkuOTIyIDMuMDk0di42MWgtNS43MzRxLjAzMSAxLjI1LjczNCAyLjAxNS43MDMuNzY2IDEuNzgxLjc2Ni43NjYgMCAxLjI5Ny0uMzEzLjUzMi0uMzEyLjkyMi0uODI4bC44OS42ODhxLTEuMDYyIDEuNjQtMy4xODcgMS42NHptLS4xODctNy41NzhxLS44NzUgMC0xLjQ2OS42NC0uNTk0LjYyNi0uNzM0IDEuNzgyaDQuMjM0di0uMTFxLS4wNjItMS4xMDktLjU5NC0xLjcwMi0uNTMtLjYxLTEuNDM3LS42MXptOC43NjYuMjY2cS0uMzI5LS4wNjMtLjcyLS4wNjMtMS40MjEgMC0xLjkyMSAxLjIxOXY2aC0xLjQ1M3YtOC40NTNoMS40MDZsLjAzMS45NjlxLjcwMy0xLjEyNSAyLjAxNi0xLjEyNS40MjIgMCAuNjQuMTA5djEuMzQ0em0xLjYyNCA3LjE1NnYtNy4zNDRoLTEuMzQzdi0xLjExaDEuMzQ0di0uODc0cTAtMS4zNi43MTgtMi4wOTQuNzM1LS43NSAyLjA2My0uNzUuNSAwIC45ODQuMTRsLS4wNzggMS4xNzNxLS4zNi0uMDc4LS43ODEtLjA3OC0uNzAzIDAtMS4wOTQuNDIxLS4zNzUuNDA3LS4zNzUgMS4xNzJ2Ljg5aDEuODEzdjEuMTFoLTEuODEzVjI5LjFoLTEuNDM4em00LjkwNy00LjMxM3EwLTEuMjM0LjQ4NC0yLjIxOC40ODQtMSAxLjM2LTEuNTMxLjg3NC0uNTQ3IDEuOTg0LS41NDcgMS43MzQgMCAyLjc5NyAxLjIwMyAxLjA2MiAxLjE4NyAxLjA2MiAzLjE3MnYuMDkzcTAgMS4yMzUtLjQ2OSAyLjIyLS40NjguOTg0LTEuMzU5IDEuNTMtLjg3NS41NDctMi4wMTYuNTQ3LTEuNzE4IDAtMi43OC0xLjE4Ny0xLjA2My0xLjIwMy0xLjA2My0zLjE3MnYtLjExem0xLjQ1My4xNzJxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem0xMi4wMTYtMy4wMTVxLS4zMjktLjA2My0uNzItLjA2My0xLjQyMSAwLTEuOTIxIDEuMjE5djZoLTEuNDUzdi04LjQ1M2gxLjQwNmwuMDMxLjk2OXEuNzAzLTEuMTI1IDIuMDE2LTEuMTI1LjQyMiAwIC42NC4xMDl2MS4zNDR6bTIuMjY1LTEuMjk3bC4wNDcuOTM3cS45MjItMS4wOTMgMi41LTEuMDkzIDEuNzgxIDAgMi40MjIgMS4zNTkuNDIyLS42MSAxLjA5NC0uOTg0LjY3MS0uMzc1IDEuNTkzLS4zNzUgMi43ODIgMCAyLjgyOCAyLjkzN1YyOS4xSDE4OS42di01LjU3OHEwLS45MDYtLjQyMi0xLjM2LS40MDYtLjQ1My0xLjM5LS40NTMtLjc5NyAwLTEuMzI5LjQ4NS0uNTMuNDg0LS42MjUgMS4yOTdWMjkuMWgtMS40NTN2LTUuNTQ3cTAtMS44NDQtMS43OTctMS44NDQtMS40MjIgMC0xLjk1MyAxLjIyVjI5LjFoLTEuNDM3di04LjQ1M2gxLjM2em0xNy44NiA4LjQ1M3EtLjEyNi0uMjUtLjIwNC0uODktMSAxLjA0Ni0yLjQwNiAxLjA0Ni0xLjI1IDAtMi4wNDctLjcwMy0uNzk3LS43MTktLjc5Ny0xLjc5NyAwLTEuMzI4IDEtMi4wNDcgMS0uNzM0IDIuODI4LS43MzRoMS40MDd2LS42NzJxMC0uNzUtLjQ1My0xLjIwMy0uNDU0LS40NTMtMS4zNDQtLjQ1My0uNzY2IDAtMS4yOTcuMzktLjUxNi4zOTEtLjUxNi45NTRoLTEuNDUzcTAtLjY0MS40MzgtMS4yMi40NTMtLjU5MyAxLjIxOS0uOTM3Ljc4LS4zNDMgMS43MDMtLjM0MyAxLjQ1MyAwIDIuMjguNzM0LjgyOS43MTkuODYgMnYzLjg5cTAgMS4xNzMuMjk3IDEuODZ2LjEyNWgtMS41MTZ6bS0yLjM5MS0xLjExcS42NzIgMCAxLjI4MS0uMzQzLjYxLS4zNi44OS0uOTIydi0xLjczNGgtMS4xNHEtMi42NTYgMC0yLjY1NiAxLjU2MiAwIC42NzIuNDUzIDEuMDYzLjQ1My4zNzUgMS4xNzIuMzc1em03LjU0Ny03LjM0M2wuMDQ3IDEuMDYycS45NjgtMS4yMTggMi41My0xLjIxOCAyLjY3MyAwIDIuNzA0IDMuMDE1VjI5LjFoLTEuNDUzdi01LjU5NHEwLS45MjItLjQyMi0xLjM2LS40MDYtLjQzNy0xLjI2Ni0uNDM3LS43MDMgMC0xLjIzNC4zNzV0LS44MjguOTg1VjI5LjFoLTEuNDUzdi04LjQ1M2gxLjM3NXptMTEuMDE1IDcuNDIycS43ODIgMCAxLjM2LS40NjkuNTc4LS40NjkuNjQtMS4xNzJoMS4zNnEtLjAzMS43MzUtLjUgMS4zOS0uNDUzLjY1Ny0xLjIzNSAxLjA0OC0uNzY1LjM5LTEuNjI1LjM5LTEuNzE4IDAtMi43NS0xLjE1Ni0xLjAxNS0xLjE1Ni0xLjAxNS0zLjE1NnYtLjIzNXEwLTEuMjM0LjQ1My0yLjE4Ny40NTMtLjk2OSAxLjI5Ny0xLjUuODYtLjUzMSAyLjAxNS0uNTMxIDEuNDIyIDAgMi4zNi44NTkuOTM3Ljg0NCAxIDIuMjAzaC0xLjM2cS0uMDYyLS44MjgtLjYyNS0xLjM0NC0uNTYyLS41My0xLjM3NS0uNTMtMS4xMDkgMC0xLjcxOC43OTYtLjU5NC43ODEtLjU5NCAyLjI4MXYuMjgycTAgMS40NTMuNTk0IDIuMjUuNjA5Ljc4IDEuNzE4Ljc4em04LjEyNSAxLjE4N3EtMS43MTggMC0yLjc5Ny0xLjEyNS0xLjA3OC0xLjE0LTEuMDc4LTMuMDMxdi0uMjY2cTAtMS4yNS40Ny0yLjIzNC40ODMtMSAxLjM0My0xLjU0Ny44NzUtLjU2MiAxLjg3NS0uNTYyIDEuNjU2IDAgMi41NjIgMS4wOTMuOTIyIDEuMDc5LjkyMiAzLjA5NHYuNjFoLTUuNzM0cS4wMzEgMS4yNS43MzQgMi4wMTUuNzAzLjc2NiAxLjc4MS43NjYuNzY2IDAgMS4yOTctLjMxMy41MzItLjMxMi45MjItLjgyOGwuODkuNjg4cS0xLjA2MiAxLjY0LTMuMTg3IDEuNjR6bS0uMTg3LTcuNTc4cS0uODc1IDAtMS40NjkuNjQtLjU5NC42MjYtLjczNCAxLjc4Mmg0LjIzNHYtLjExcS0uMDYyLTEuMTA5LS41OTQtMS43MDItLjUzLS42MS0xLjQzNy0uNjF6bTQuNzAzIDYuNjU2cTAtLjM3NS4yMTktLjYyNS4yMzQtLjI1LjY3Mi0uMjUuNDUzIDAgLjY3MS4yNS4yMzUuMjUuMjM1LjYyNSAwIC4zNi0uMjM0LjYxLS4yMi4yNS0uNjcyLjI1LS40MzggMC0uNjcyLS4yNS0uMjE5LS4yNS0uMjE5LS42MXptMC03cTAtLjM3NS4yMTktLjYyNS4yMzQtLjI1LjY3Mi0uMjUuNDUzIDAgLjY3MS4yNS4yMzUuMjUuMjM1LjYyNSAwIC4zNi0uMjM0LjYxLS4yMi4yNS0uNjcyLjI1LS40MzggMC0uNjcyLS4yNS0uMjE5LS4yNS0uMjE5LS42MXptOS43MDMgNi41MzJoNS4zOVYyOS4xaC02Ljg5VjE3LjcyNWgxLjV2MTAuMTR6bTguODQ0IDEuMjM0aC0xLjQ1M3YtOC40NTNoMS40NTNWMjkuMXptLTEuNTYzLTEwLjcwM3EwLS4zNDQuMjAzLS41NzguMjItLjI1LjY0MS0uMjUuNDIyIDAgLjY0LjI1LjIyLjIzNC4yMi41OTQgMCAuMzQzLS4yMi41NzgtLjIxOC4yMzQtLjY0LjIzNC0uNDIyIDAtLjY0LS4yMzQtLjIwNC0uMjM1LS4yMDQtLjU5NHptNC43MDMgMTAuNzAzdi03LjM0NGgtMS4zNDN2LTEuMTFoMS4zNDR2LS44NzRxMC0xLjM2LjcxOC0yLjA5NC43MzUtLjc1IDIuMDYzLS43NS41IDAgLjk4NC4xNGwtLjA3OCAxLjE3M3EtLjM2LS4wNzgtLjc4MS0uMDc4LS43MDMgMC0xLjA5NC40MjEtLjM3NS40MDctLjM3NSAxLjE3MnYuODloMS44MTN2MS4xMWgtMS44MTNWMjkuMWgtMS40Mzh6bTcuMjUtMTAuNXYyLjA0N2gxLjU3OXYxLjExaC0xLjU3OHY1LjI1cTAgLjUuMjAzLjc2NS4yMTguMjUuNzE4LjI1LjI1IDAgLjY4OC0uMDk0VjI5LjFxLS41NjMuMTU2LTEuMTEuMTU2LS45NjggMC0xLjQ2OC0uNTc4LS40ODUtLjU5NC0uNDg1LTEuNjcydi01LjI1aC0xLjUzdi0xLjExaDEuNTNWMTguNmgxLjQ1NHptMi42NTcgNi4xODhxMC0xLjIzNS40ODQtMi4yMi40ODUtMSAxLjM2LTEuNTMuODc1LS41NDcgMS45ODQtLjU0NyAxLjczNCAwIDIuNzk3IDEuMjAzIDEuMDYyIDEuMTg3IDEuMDYyIDMuMTcydi4wOTNxMCAxLjIzNS0uNDY4IDIuMjItLjQ3Ljk4NC0xLjM2IDEuNTMtLjg3NS41NDctMi4wMTUuNTQ3LTEuNzIgMC0yLjc4Mi0xLjE4Ny0xLjA2Mi0xLjIwMy0xLjA2Mi0zLjE3MnYtLjExem0xLjQ1My4xNzFxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem04LjY0IDQuMTQxdi03LjM0NGgtMS4zNDN2LTEuMTFoMS4zNDR2LS44NzRxMC0xLjM2LjcxOC0yLjA5NC43MzUtLjc1IDIuMDYzLS43NS41IDAgLjk4NC4xNGwtLjA3OCAxLjE3M3EtLjM2LS4wNzgtLjc4MS0uMDc4LS43MDMgMC0xLjA5NC40MjEtLjM3NS40MDctLjM3NSAxLjE3MnYuODloMS44MTN2MS4xMWgtMS44MTNWMjkuMWgtMS40Mzh6bTYgMHYtNy4zNDRoLTEuMzQzdi0xLjExaDEuMzQ0di0uODc0cTAtMS4zNi43MTgtMi4wOTQuNzM1LS43NSAyLjA2My0uNzUuNSAwIC45ODQuMTRsLS4wNzggMS4xNzNxLS4zNi0uMDc4LS43ODEtLjA3OC0uNzAzIDAtMS4wOTQuNDIxLS4zNzUuNDA3LS4zNzUgMS4xNzJ2Ljg5aDEuODEzdjEuMTFoLTEuODEzVjI5LjFoLTEuNDM4em0xMi4wNzktMS45NjlsMi4wOTMtNi40ODRoMS40N2wtMy4wMzIgOC40NTNoLTEuMDk0bC0zLjA2Mi04LjQ1M2gxLjQ2OGwyLjE1NyA2LjQ4NHptMTAuMTI1LS4yODFxMC0uNTc4LS40MzgtLjkwNi0uNDM3LS4zMjgtMS41NDctLjU2My0xLjA5My0uMjM0LTEuNzM0LS41NjItLjY0LS4zMjgtLjk1My0uNzgxLS4zMTMtLjQ1NC0uMzEzLTEuMDc5IDAtMS4wMy44NzUtMS43NS44OS0uNzE4IDIuMjUtLjcxOCAxLjQzOCAwIDIuMzI4Ljc1LjkwNy43MzQuOTA3IDEuODloLTEuNDUzcTAtLjU5My0uNTE2LTEuMDE1LS41LS40MzgtMS4yNjYtLjQzOC0uNzgxIDAtMS4yMzQuMzQ0LS40MzguMzQ0LS40MzguODkgMCAuNTMyLjQwNy43OTcuNDIyLjI2NiAxLjUuNTE2IDEuMDc4LjIzNCAxLjc1LjU3OC42NzIuMzI4IDEgLjc5Ny4zMjguNDY5LjMyOCAxLjE1NiAwIDEuMTI1LS45MDYgMS44MTMtLjkwNy42ODctMi4zNi42ODctMS4wMTUgMC0xLjc5Ny0uMzYtLjc4MS0uMzU4LTEuMjE4LTEtLjQzOC0uNjU1LS40MzgtMS40MDVoMS40MzhxLjA0Ni43MzQuNTc4IDEuMTU2LjU0Ny40MjIgMS40MzcuNDIyLjgyOCAwIDEuMzEzLS4zMjguNS0uMzI4LjUtLjg5MXptMTUuMTcyLTcuODloLTMuNjU3VjI5LjFoLTEuNVYxOC45NmgtMy42NHYtMS4yMzVoOC43OTd2MS4yMzR6bTcuMTI1IDkuMjk2cS0uODQ0IDEtMi40NyAxLTEuMzU5IDAtMi4wNjItLjc4MS0uNzAzLS43OTctLjcxOC0yLjMyOHYtNS41aDEuNDUzVjI2LjFxMCAxLjkyMiAxLjU2MiAxLjkyMiAxLjY1NiAwIDIuMjAzLTEuMjM0di02LjE0MWgxLjQzOFYyOS4xaC0xLjM3NWwtLjAzMS0uODQ0em03Ljg3NS02LjMxMnEtLjMyOS0uMDYzLS43Mi0uMDYzLTEuNDIxIDAtMS45MjEgMS4yMTl2NmgtMS40NTN2LTguNDUzaDEuNDA2bC4wMzEuOTY5cS43MDMtMS4xMjUgMi4wMTYtMS4xMjUuNDIyIDAgLjY0LjEwOXYxLjM0NHptOC4wNjIgMy4wMTVxMCAxLjkzOC0uODkgMy4xMjUtLjg5MSAxLjE3Mi0yLjM5MSAxLjE3Mi0xLjU5NCAwLTIuNDY5LTEuMTRsLS4wNzguOTg0aC0xLjMyOHYtMTJoMS40NTN2NC40NjlxLjg3NS0xLjA3OCAyLjQwNi0xLjA3OCAxLjU0NyAwIDIuNDIyIDEuMTcyLjg3NSAxLjE1Ni44NzUgMy4xNzF2LjEyNXptLTEuNDM4LS4xNTZxMC0xLjQ4NC0uNTc4LTIuMjgxLS41NjItLjgxMy0xLjY0LS44MTMtMS40MjIgMC0yLjA0NyAxLjMyOXYzLjY1NnEuNjU2IDEuMzI4IDIuMDYyIDEuMzI4IDEuMDQ3IDAgMS42MjUtLjc5Ny41NzktLjgxMy41NzktMi40MjJ6bTIuOTA3LS4wMTVxMC0xLjIzNS40ODQtMi4yMi40ODUtMSAxLjM2LTEuNTMuODc1LS41NDcgMS45ODQtLjU0NyAxLjczNCAwIDIuNzk3IDEuMjAzIDEuMDYyIDEuMTg3IDEuMDYyIDMuMTcydi4wOTNxMCAxLjIzNS0uNDY4IDIuMjItLjQ3Ljk4NC0xLjM2IDEuNTMtLjg3NS41NDctMi4wMTUuNTQ3LTEuNzIgMC0yLjc4Mi0xLjE4Ny0xLjA2Mi0xLjIwMy0xLjA2Mi0zLjE3MnYtLjExem0xLjQ1My4xNzFxMCAxLjQwNy42NCAyLjI2Ni42NTcuODQ0IDEuNzUuODQ0IDEuMTEgMCAxLjc1LS44Ni42NTctLjg1OS42NTctMi40MjEgMC0xLjM5MS0uNjcyLTIuMjUtLjY1Ni0uODYtMS43NS0uODYtMS4wNjMgMC0xLjcxOS44Ni0uNjU2Ljg0My0uNjU2IDIuNDIxem0xNC40MjItLjg5aC00Ljc2NlYyOS4xaC0xLjVWMTcuNzI1aDcuMDQ3djEuMjM0aC01LjU0N3YzLjg5MWg0Ljc2NnYxLjIxOXptNy43MTkgNS4wMzFxLS4xMjUtLjI1LS4yMDQtLjg5LTEgMS4wNDYtMi40MDYgMS4wNDYtMS4yNSAwLTIuMDQ3LS43MDMtLjc5Ny0uNzE5LS43OTctMS43OTcgMC0xLjMyOCAxLTIuMDQ3IDEtLjczNCAyLjgyOS0uNzM0aDEuNDA2di0uNjcycTAtLjc1LS40NTMtMS4yMDMtLjQ1My0uNDUzLTEuMzQ0LS40NTMtLjc2NiAwLTEuMjk3LjM5LS41MTYuMzkxLS41MTYuOTU0aC0xLjQ1M3EwLS42NDEuNDM4LTEuMjIuNDUzLS41OTMgMS4yMTktLjkzNy43OC0uMzQzIDEuNzAzLS4zNDMgMS40NTMgMCAyLjI4LjczNC44MjkuNzE5Ljg2IDJ2My44OXEwIDEuMTczLjI5NyAxLjg2di4xMjVoLTEuNTE1em0tMi4zOTEtMS4xMXEuNjcyIDAgMS4yODEtLjM0My42MS0uMzYuODktLjkyMnYtMS43MzRoLTEuMTRxLTIuNjU2IDAtMi42NTYgMS41NjIgMCAuNjcyLjQ1MyAxLjA2My40NTMuMzc1IDEuMTcyLjM3NXptNy41NDctNy4zNDNsLjA0NyAxLjA2MnEuOTY4LTEuMjE4IDIuNTMtMS4yMTggMi42NzMgMCAyLjcwNCAzLjAxNVYyOS4xaC0xLjQ1M3YtNS41OTRxMC0uOTIyLS40MjItMS4zNi0uNDA2LS40MzctMS4yNjYtLjQzNy0uNzAzIDAtMS4yMzQuMzc1dC0uODI4Ljk4NVYyOS4xaC0xLjQ1M3YtOC40NTNoMS4zNzV6bTExLjI1IDQuMTRxMC0xLjIzNC40ODQtMi4yMTguNDg1LTEgMS4zNi0xLjUzMS44NzUtLjU0NyAxLjk4NC0uNTQ3IDEuNzM0IDAgMi43OTcgMS4yMDMgMS4wNjIgMS4xODcgMS4wNjIgMy4xNzJ2LjA5M3EwIDEuMjM1LS40NjggMi4yMi0uNDcuOTg0LTEuMzYgMS41My0uODc1LjU0Ny0yLjAxNS41NDctMS43MiAwLTIuNzgyLTEuMTg3LTEuMDYyLTEuMjAzLTEuMDYyLTMuMTcydi0uMTF6bTEuNDUzLjE3MnEwIDEuNDA3LjY0IDIuMjY2LjY1Ny44NDQgMS43NS44NDQgMS4xMSAwIDEuNzUtLjg2LjY1Ny0uODU5LjY1Ny0yLjQyMSAwLTEuMzkxLS42NzItMi4yNS0uNjU2LS44Ni0xLjc1LS44Ni0xLjA2MyAwLTEuNzE5Ljg2LS42NTYuODQzLS42NTYgMi40MjF6bTkuMjk3LTQuMzEybC4wNDcgMS4wNjJxLjk2OC0xLjIxOCAyLjUzLTEuMjE4IDIuNjczIDAgMi43MDQgMy4wMTVWMjkuMWgtMS40NTN2LTUuNTk0cTAtLjkyMi0uNDIyLTEuMzYtLjQwNi0uNDM3LTEuMjY2LS40MzctLjcwMyAwLTEuMjM0LjM3NXQtLjgyOC45ODVWMjkuMWgtMS40NTN2LTguNDUzaDEuMzc1em0xMi45ODQgNy4yMTloNi41VjI5LjFoLTguMjgxdi0xLjEyNWw2LjIzNC05LjAxNmgtNi4xMjV2LTEuMjM0aDcuOTIydjEuMDk0bC02LjI1IDkuMDQ3em0xNS4zOS03LjE3MnEwIC44NDQtLjQ1MiAxLjUxNS0uNDM4LjY1Ny0xLjIwMyAxLjAzMi44OS4zOSAxLjQwNiAxLjEyNS41MTUuNzM0LjUxNSAxLjY1NiAwIDEuNDg0LTEgMi4zNi0uOTg0Ljg3NC0yLjYwOS44NzQtMS42NCAwLTIuNjQtLjg3NS0uOTg1LS44OS0uOTg1LTIuMzYgMC0uOTIxLjUtMS42NTUuNTE2LS43NSAxLjQwNi0xLjEyNS0uNzY1LS4zNzUtMS4yMDMtMS4wMzItLjQzNy0uNjcxLS40MzctMS41MTUgMC0xLjQzOC45MjItMi4yODEuOTIxLS44NDQgMi40MzctLjg0NCAxLjUgMCAyLjQyMi44NDQuOTIyLjg0My45MjIgMi4yOHptLTEuMTcxIDUuMjk3cTAtLjk1My0uNjEtMS41NDctLjYwOS0uNjEtMS41OTMtLjYxLS45NjkgMC0xLjU2My41OTQtLjU3OC41OTQtLjU3OCAxLjU2MyAwIC45NjguNTYzIDEuNTMuNTc4LjU0OCAxLjYwOS41NDggMS4wMTYgMCAxLjU5NC0uNTQ3LjU3OC0uNTYzLjU3OC0xLjUzMXptLTIuMTcyLTcuMjM1cS0uODYgMC0xLjM5LjUzMi0uNTE2LjUxNS0uNTE2IDEuNDIxIDAgLjg3NS41MTUgMS40MDcuNTE2LjUzIDEuMzc1LjUzLjg3NSAwIDEuMzkxLS41My41MzEtLjUzMi41MzEtMS4zOTEgMC0uODc1LS41NDctMS40MjItLjUzLS41NDctMS4zNTktLjU0N3ptMTEuNTQ3IDYuNTE2aDEuNTc4djEuMTg3aC0xLjU3OFYyOS4xaC0xLjQ1M3YtMi42NGgtNS4xNzJ2LS44Nmw1LjA5NC03Ljg3NWgxLjUzdjcuNTQ3em0tNC45ODQgMGgzLjUzdi01LjU3OGwtLjE3MS4zMTItMy4zNiA1LjI2NnptMTUuMDE1LTEuMDMxcTAgMi41NDctLjg3NSAzLjc4LS44NiAxLjIzNS0yLjcwMyAxLjIzNS0xLjgxMyAwLTIuNjg4LTEuMjAzLS44NzQtMS4yMTktLjkwNi0zLjYxdi0xLjkzN3EwLTIuNS44Ni0zLjcxOC44NzUtMS4yMiAyLjcxOC0xLjIyIDEuODQ0IDAgMi43MDQgMS4xNzMuODc1IDEuMTcyLjg5IDMuNjI1djEuODc1em0tMS40MzctMS45N3EwLTEuODQzLS41MTYtMi42NzEtLjUxNi0uODQ0LTEuNjQtLjg0NC0xLjExIDAtMS42MjYuODQ0LS41LjgyOC0uNTE1IDIuNTYzdjIuMzEycTAgMS44NDQuNTMxIDIuNzE5LjU0Ny44NzUgMS42MjUuODc1IDEuMDc4IDAgMS41OTQtLjgyOC41MTUtLjgyOC41NDctMi42MXYtMi4zNnoiLz48cGF0aCBkPSJNMjUyLjUyIDIyMi41MTJsMTIuNTQ1LTEyMi41IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBtYXJrZXItZW5kPSJ1cmwoI2IpIi8+PHRleHQgc3R5bGU9ImxpbmUtaGVpZ2h0OjEyNSUiIHg9IjIzMS41ODYiIHk9IjEyMC4wNDUiIGZvbnQtd2VpZ2h0PSI0MDAiIGZvbnQtc2l6ZT0iMTMuMzMzIiBmb250LWZhbWlseT0iU2FucyIgbGV0dGVyLXNwYWNpbmc9IjAiIHdvcmQtc3BhY2luZz0iMCIgZmlsbD0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPjx0c3BhbiB4PSIyMzEuNTg2IiB5PSIxMjAuMDQ1Ij42Ljd4PC90c3Bhbj48L3RleHQ+PHBhdGggZD0iTTExNS43ODUgMjMwLjYzbDguMTE3LTc2Ljc0OCIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0iYnV0dCIgbWFya2VyLWVuZD0idXJsKCNjKSIvPjxwYXRoIGQ9Ik0xOTAuNTI1IDIzOC43NDdsNi42NDItMzQuNjg0IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBtYXJrZXItZW5kPSJ1cmwoI2QpIi8+PHBhdGggZD0iTTMzMy4wOCAyNDEuNjk4bDMuNjktMjIuMTM4IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBtYXJrZXItZW5kPSJ1cmwoI2UpIi8+PHRleHQgc3R5bGU9ImxpbmUtaGVpZ2h0OjEyNSUiIHg9IjE2Mi4yMiIgeT0iMjIxLjE3NiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zaXplPSIxMy4zMzMiIGZvbnQtZmFtaWx5PSJTYW5zIiBsZXR0ZXItc3BhY2luZz0iMCIgd29yZC1zcGFjaW5nPSIwIiBmaWxsPSIjMDAwIiBzdHJva2UtbGluZWNhcD0iYnV0dCI+PHRzcGFuIHg9IjE2Mi4yMiIgeT0iMjIxLjE3NiI+Ni4zeDwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHN0eWxlPSJsaW5lLWhlaWdodDoxMjUlIiB4PSIzMDIuNDMxIiB5PSIyMzUuMTk3IiBmb250LXdlaWdodD0iNDAwIiBmb250LXNpemU9IjEzLjMzMyIgZm9udC1mYW1pbHk9IlNhbnMiIGxldHRlci1zcGFjaW5nPSIwIiB3b3JkLXNwYWNpbmc9IjAiIGZpbGw9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJidXR0Ij48dHNwYW4geD0iMzAyLjQzMSIgeT0iMjM1LjE5NyI+Ni43eDwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHN0eWxlPSJsaW5lLWhlaWdodDoxMjUlIiB4PSI5MC42MzgiIHk9IjE3My4yMDkiIGZvbnQtd2VpZ2h0PSI0MDAiIGZvbnQtc2l6ZT0iMTMuMzMzIiBmb250LWZhbWlseT0iU2FucyIgbGV0dGVyLXNwYWNpbmc9IjAiIHdvcmQtc3BhY2luZz0iMCIgZmlsbD0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiPjx0c3BhbiB4PSI5MC42MzgiIHk9IjE3My4yMDkiPjUuOXg8L3RzcGFuPjwvdGV4dD48L3N2Zz4=" alt="Code Generation Performance: Liftoff vs. TurboFan on Z840"></p>
<p>As expected, the Liftoff compiler generates code much faster both on the high-end desktop workstation as well as on the MacBook. The speedup of Liftoff over TurboFan is even bigger on the less-capable MacBook hardware.</p>
<h3>Performance of the generated code</h3>
<p>Even though performance of the generated code is a secondary goal, we want to preserve user experience with high performance in the startup phase, as Liftoff code might execute for several seconds before TurboFan code is finished.</p>
<p>For measuring Liftoff code performance, we turned off tier-up in order to measure pure Liftoff execution. In this setup, we execute two benchmarks:</p>
<ol>
<li>
<p><strong>Unity headless benchmarks</strong></p>
<p>This is a number of benchmarks running in the Unity framework. They are headless, hence can be executed in the d8 shell directly. Each benchmark reports a score, which is not necessarily proportional to the execution performance, but good enough to compare the performance.</p>
</li>
<li>
<p><strong>PSPDFKit</strong>: <a href="https://pspdfkit.com/webassembly-benchmark/">https://pspdfkit.com/webassembly-benchmark/</a></p>
<p>This benchmark reports the time it takes to perform different actions on a pdf document and the time it takes to instantiate the WebAssembly module (including compilation).</p>
</li>
</ol>
<p>Just as before, we execute each benchmark three times and use the average of the three runs. Since the scale of the recorded numbers differs significantly between the benchmarks, we report the <em>relative performance of Liftoff vs TurboFan</em>. A value of <em>+30%</em> means that Liftoff code runs 30% slower than TurboFan. Negative numbers indicate that Liftoff executes faster. Here are the results:</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHdpZHRoPSI2MDAiIGhlaWdodD0iMzcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNjAwdjM3MUgwVjB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg2MDB2MzcxSDBWMHoiLz48cGF0aCBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAyODEuNWgzOTciLz48cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAyNDQuNWgzOTciLz48cGF0aCBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAyMDguNWgzOTdNOTQuNSAxNzEuNWgzOTdNOTQuNSAxMzUuNWgzOTdNOTQuNSA5OC41aDM5N005NC41IDYyLjVoMzk3Ii8+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNOTQuNTUgNjIuNDE3aDM5Ny4wNjR2MjE5LjAzOEg5NC41NVY2Mi40MTd6Ii8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjNDI4NWY0IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xMjIgMjQ1aC0xM3YxNGEyIDIgMCAwIDAgMiAyaDlhMiAyIDAgMCAwIDItMnpNMTY1IDI0NWgtMTN2LTg1YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek0yMDcgMjQ1aC0xM1Y5N2EyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnpNMjUwIDI0NWgtMTN2LTk3YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek0yOTIgMjQ1aC0xM1YxMTVhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ6TTMzNSAyNDVoLTEzdi03OGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnpNMzc3IDI0NWgtMTN2LTU0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek00MTkgMjQ1aC0xM3YtNDRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ6TTQ2MiAyNDVoLTEzVjE0NWEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnoiLz48cGF0aCBmaWxsPSIjZGI0NDM3IiBjbGlwLXBhdGg9InVybCgjYSkiIGQ9Ik0xMzYgMjQ1aC0xM3YtMS41YTEuNSAxLjUgMCAwIDEgMS41LTEuNWgxMGExLjUgMS41IDAgMCAxIDEuNSAxLjV6TTE3OSAyNDVoLTEzVjEyOGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnpNMjIxIDI0NWgtMTNWMTA5YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek0yNjQgMjQ1aC0xM1YxMTNhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ6TTMwNiAyNDVoLTEzVjg5YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek0zNDkgMjQ1aC0xM3YtOTZhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ6TTM5MSAyNDVoLTEzdi03OGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnpNNDMzIDI0NWgtMTN2LTgzYTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAyek00NzYgMjQ1aC0xM1YxMjBhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTEwNi4wNzggMjgxLjkxNGgtMi44NnYtLjg3NWgyLjg2di44NzV6bTQuMTg4IDMuMTg4aC0xLjA3OXYtNy4yMmwtMi4xODcuNzk4di0uOTg1bDMuMTEtMS4xNzFoLjE1NnY4LjU3OHptNyAwaC0xLjA3OXYtNy4yMmwtMi4xODcuNzk4di0uOTg1bDMuMTEtMS4xNzFoLjE1NnY4LjU3OHptMy4zNDMtNi44OXEwLS43NjcuNDg1LTEuMjY3LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTJxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTcuMjUtLjc5N3YtLjQzN3EwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0xMDYuMDc4IDI4MS45MTRoLTIuODZ2LS44NzVoMi44NnYuODc1em00LjE4OCAzLjE4OGgtMS4wNzl2LTcuMjJsLTIuMTg3Ljc5OHYtLjk4NWwzLjExLTEuMTcxaC4xNTZ2OC41Nzh6bTcgMGgtMS4wNzl2LTcuMjJsLTIuMTg3Ljc5OHYtLjk4NWwzLjExLTEuMTcxaC4xNTZ2OC41Nzh6bTMuMzQzLTYuODlxMC0uNzY3LjQ4NS0xLjI2Ny41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUycTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTQ3LjkyMiAxMzguNjk2aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTQuMjgxLjI5N2wuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTNsLS4yNjYgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OCAwIDEuMzEzLS43MiAyLjA3OC0uNzAyLjc2Ni0xLjk4My43NjYtMS4xMjUgMC0xLjg0NC0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM0LjUzMSAxLjExLjQyMi4zNzQgMS4xMS4zNzQuNzUgMCAxLjE4Ny0uNTE1LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE2LTEuMjUtLjUxNi0uNzAyIDAtMS4xMDkuMjk3bC0uMjguMjM0LS44NzYtLjIxOHptMTAuNjU2LjUzcS0uMzI4LjQwNy0uODEyLjY1Ny0uNDY5LjIzNS0xLjAzMS4yMzUtLjczNSAwLTEuMjgyLS4zNnQtLjg0My0xLjAxNXEtLjI5Ny0uNjcyLS4yOTctMS40NyAwLS44NDMuMzEyLTEuNTMuMzI4LS42ODguOTIyLTEuMDQ3LjYxLS4zNzUgMS40MDYtLjM3NSAxLjI2NiAwIDEuOTg1Ljk1My43MzQuOTUzLjczNCAyLjU3OHYuMzEycTAgMi41LS45ODQgMy42NDEtLjk4NSAxLjE0LTIuOTY5IDEuMTcyaC0uMjE5di0uOTA2aC4yMzVxMS4zNDMtLjAzMiAyLjA2Mi0uNzAzLjcxOS0uNjcyLjc4MS0yLjE0MXptLTEuNjcyIDBxLjU0NyAwIDEtLjMyNy40Ny0uMzQ0LjY4OC0uODI4di0uNDM4cTAtMS4wNjItLjQ2OS0xLjczNC0uNDY5LS42NzItMS4xNzItLjY3Mi0uNzE4IDAtMS4xNTYuNTQ3LS40MjIuNTQ3LS40MjIgMS40NTMgMCAuODc1LjQwNiAxLjQzNy40MjIuNTYzIDEuMTI1LjU2M3ptNC40MjItMy4xNHEwLS43NjUuNDg1LTEuMjY1LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjFxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxMnYtLjQwN3ptLjgxMy40NTNxMCAuNDU0LjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0xNDcuOTIyIDEzOC42OTZoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1M2wtLjI2NiAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc4LS43MDIuNzY2LTEuOTgzLjc2Ni0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTEuNDIyLjM3NCAxLjExLjM3NC43NSAwIDEuMTg3LS41MTUuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE4em0xMC42NTYuNTNxLS4zMjguNDA3LS44MTIuNjU3LS40NjkuMjM1LTEuMDMxLjIzNS0uNzM1IDAtMS4yODItLjM2dC0uODQzLTEuMDE1cS0uMjk3LS42NzItLjI5Ny0xLjQ3IDAtLjg0My4zMTItMS41My4zMjgtLjY4OC45MjItMS4wNDcuNjEtLjM3NSAxLjQwNi0uMzc1IDEuMjY2IDAgMS45ODUuOTUzLjczNC45NTMuNzM0IDIuNTc4di4zMTJxMCAyLjUtLjk4NCAzLjY0MS0uOTg1IDEuMTQtMi45NjkgMS4xNzJoLS4yMTl2LS45MDZoLjIzNXExLjM0My0uMDMyIDIuMDYyLS43MDMuNzE5LS42NzIuNzgxLTIuMTQxem0tMS42NzIgMHEuNTQ3IDAgMS0uMzI3LjQ3LS4zNDQuNjg4LS44Mjh2LS40MzhxMC0xLjA2Mi0uNDY5LTEuNzM0LS40NjktLjY3Mi0xLjE3Mi0uNjcyLS43MTggMC0xLjE1Ni41NDctLjQyMi41NDctLjQyMiAxLjQ1MyAwIC44NzUuNDA2IDEuNDM3LjQyMi41NjMgMS4xMjUuNTYzem00LjQyMi0zLjE0cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMXEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1M3EwIC40NTQuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTE4Ni40MjIgNzUuMjZoMi4zOXYxLjAzMmgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNy4zNDQgNC41NzloLTEuMDc4VjcyLjYybC0yLjE4OC43OTd2LS45ODRsMy4xMS0xLjE3MmguMTU2djguNTc4em04Ljc5Ny0zLjY0cTAgMS45MDYtLjY1NyAyLjg0My0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5MS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzIgMi43MnYxLjQwNXptLTEuMDk0LTEuNDg1cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXptNC4zMTIuMzI4aC44MTNxLjc4MS0uMDE1IDEuMjE5LS40MDYuNDM3LS4zOS40MzctMS4wNjMgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA3LS40MDYuNDA2LS40MDYgMS4wNjJoLTEuMDk0cTAtMS4wMTUuNzM0LTEuNjg3Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYyLS4zNiAxLjA3OC0uMzU5LjUxNS0uOTg0Ljc4MS43MDMuMjE5IDEuMDc4LjczNC4zOTEuNTE2LjM5MSAxLjI2NiAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OC40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg3IDAtLjczNS0uNDUzLTEuMTI1LS40NTMtLjQwNy0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTUuMzI4LTIuMDk0cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgyLS4yNS43ODJ2LjQyMXptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0xODYuNDIyIDc1LjI2aDIuMzl2MS4wMzJoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTcuMzQ0IDQuNTc5aC0xLjA3OFY3Mi42MmwtMi4xODguNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptOC43OTctMy42NHEwIDEuOTA2LS42NTcgMi44NDMtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA2LS42ODctMi43MTl2LTEuNDM3cTAtMS44OTEuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcyIDIuNzJ2MS40MDV6bS0xLjA5NC0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTQuMzEyLjMyOGguODEzcS43ODEtLjAxNSAxLjIxOS0uNDA2LjQzNy0uMzkuNDM3LTEuMDYzIDAtMS41LTEuNS0xLjUtLjcwMyAwLTEuMTI1LjQwNy0uNDA2LjQwNi0uNDA2IDEuMDYyaC0xLjA5NHEwLTEuMDE1LjczNC0xLjY4Ny43NS0uNjcyIDEuODkxLS42NzIgMS4yMDMgMCAxLjg5LjY0LjY4OC42NDEuNjg4IDEuNzgyIDAgLjU2Mi0uMzYgMS4wNzgtLjM1OS41MTUtLjk4NC43ODEuNzAzLjIxOSAxLjA3OC43MzQuMzkxLjUxNi4zOTEgMS4yNjYgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTYtLjc1LS42NTYtLjc1LTEuNzE5aDEuMDk0cTAgLjY3Mi40MzcgMS4wNzguNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4NyAwLS43MzUtLjQ1My0xLjEyNS0uNDUzLS40MDctMS4zMjgtLjQyMmgtLjgxM3YtLjg5em01LjMyOC0yLjA5NHEwLS43NjUuNDg1LTEuMjY1LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwN3ptLjgxMy40NTRxMCAuNDUzLjI1Ljc1LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzOHptMy4zNDQgNC4zNDNxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40Ny4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY4LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4Mi0uMjUuNzgydi40MjF6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjMyLjkyMiAxMjYuMDA4aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTguMDQ3LTMuOTUzdi45MDZoLS4yMDNxLTEuMjY2LjAzMS0yLjAxNi43NjYtLjc1LjcxOS0uODc1IDIuMDMxLjY4OC0uNzY2IDEuODQ0LS43NjYgMS4xMSAwIDEuNzgxLjc4Mi42NzIuNzguNjcyIDIuMDMgMCAxLjMxMy0uNzE5IDIuMTEtLjcxOS43OTctMS45MzcuNzk3LTEuMjIgMC0xLjk4NS0uOTM3LS43NS0uOTUzLS43NS0yLjQzOHYtLjQwNnEwLTIuMzYgMS0zLjYxdDIuOTg1LTEuMjY1aC4yMDN6bS0xLjQyMiAzLjg0NHEtLjU2MyAwLTEuMDMxLjMyOC0uNDcuMzI4LS42NTcuODQ0di4zOXEwIDEuMDYzLjQ3IDEuNzAzLjQ4My42NCAxLjE4Ny42NC43MzQgMCAxLjE1Ni0uNTMuNDIyLS41NDcuNDIyLTEuNDIyIDAtLjg3NS0uNDIyLTEuNDA2LS40MjItLjU0Ny0xLjEyNS0uNTQ3em05LjM0NC0xLjYyNXEwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzgyLjY1Ni4yOCAxLjA0Ny44NDMuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjYtLjczNC42NTYtMS45NTMuNjU2LTEuMjM0IDAtMS45ODQtLjY1Ni0uNzM1LS42NzItLjczNS0xLjc2NiAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjIgMS4wNDctLjg0My0uNTYyLS4yODItLjg5LS43ODItLjMyOS0uNS0uMzI5LTEuMTQgMC0xLjA3OC42ODgtMS43MDMuNjg3LS42NDEgMS44MjgtLjY0MSAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjYuNzAzIDEuNzA0em0tLjg5MSAzLjk4NHEwLS43MTktLjQ1My0xLjE1Ni0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM3LS40MzggMS4xNzIgMCAuNzE4LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNDF6bS0xLjYyNS01LjQzN3EtLjY0IDAtMS4wNDcuNDA2LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDYuMzktMS4wNDcgMC0uNjU2LS40MDUtMS4wNjMtLjQwNy0uNDIxLTEuMDE2LS40MjF6bTQuMjM0Ljg3NXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ny4yNS0uNzk3di0uNDIxcTAtLjQ1NC0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ni0uMjUuNzY1di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDdxMCAuNzY1LS40ODUgMS4yNjUtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTRxMCAuNDY4LjI1Ljc2NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2NS0uNzUtLjI1LS4yOTYtLjY3Mi0uMjk2LS40MjIgMC0uNjg4LjI5Ni0uMjUuMjgyLS4yNS43ODJ2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5MSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3M3oiLz48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJNMjMyLjkyMiAxMjYuMDA4aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTguMDQ3LTMuOTUzdi45MDZoLS4yMDNxLTEuMjY2LjAzMS0yLjAxNi43NjYtLjc1LjcxOS0uODc1IDIuMDMxLjY4OC0uNzY2IDEuODQ0LS43NjYgMS4xMSAwIDEuNzgxLjc4Mi42NzIuNzguNjcyIDIuMDMgMCAxLjMxMy0uNzE5IDIuMTEtLjcxOS43OTctMS45MzcuNzk3LTEuMjIgMC0xLjk4NS0uOTM3LS43NS0uOTUzLS43NS0yLjQzOHYtLjQwNnEwLTIuMzYgMS0zLjYxdDIuOTg1LTEuMjY1aC4yMDN6bS0xLjQyMiAzLjg0NHEtLjU2MyAwLTEuMDMxLjMyOC0uNDcuMzI4LS42NTcuODQ0di4zOXEwIDEuMDYzLjQ3IDEuNzAzLjQ4My42NCAxLjE4Ny42NC43MzQgMCAxLjE1Ni0uNTMuNDIyLS41NDcuNDIyLTEuNDIyIDAtLjg3NS0uNDIyLTEuNDA2LS40MjItLjU0Ny0xLjEyNS0uNTQ3em05LjM0NC0xLjYyNXEwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzgyLjY1Ni4yOCAxLjA0Ny44NDMuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjYtLjczNC42NTYtMS45NTMuNjU2LTEuMjM0IDAtMS45ODQtLjY1Ni0uNzM1LS42NzItLjczNS0xLjc2NiAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjIgMS4wNDctLjg0My0uNTYyLS4yODItLjg5LS43ODItLjMyOS0uNS0uMzI5LTEuMTQgMC0xLjA3OC42ODgtMS43MDMuNjg3LS42NDEgMS44MjgtLjY0MSAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjYuNzAzIDEuNzA0em0tLjg5MSAzLjk4NHEwLS43MTktLjQ1My0xLjE1Ni0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM3LS40MzggMS4xNzIgMCAuNzE4LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNDF6bS0xLjYyNS01LjQzN3EtLjY0IDAtMS4wNDcuNDA2LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDYuMzktMS4wNDcgMC0uNjU2LS40MDUtMS4wNjMtLjQwNy0uNDIxLTEuMDE2LS40MjF6bTQuMjM0Ljg3NXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ny4yNS0uNzk3di0uNDIxcTAtLjQ1NC0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ni0uMjUuNzY1di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDdxMCAuNzY1LS40ODUgMS4yNjUtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTRxMCAuNDY4LjI1Ljc2NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2NS0uNzUtLjI1LS4yOTYtLjY3Mi0uMjk2LS40MjIgMC0uNjg4LjI5Ni0uMjUuMjgyLS4yNS43ODJ2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5MSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3M3oiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjc0LjkyMiA5My4xNWgyLjM5djEuMDMyaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg1em03LjkzNy44MjlxLS4zMjguNDA2LS44MTIuNjU2LS40NjkuMjM1LTEuMDMxLjIzNS0uNzM1IDAtMS4yODItLjM2LS41NDYtLjM2LS44NDMtMS4wMTUtLjI5Ny0uNjcyLS4yOTctMS40NyAwLS44NDMuMzEyLTEuNTMuMzI4LS42ODguOTIyLTEuMDQ3LjYxLS4zNzUgMS40MDYtLjM3NSAxLjI2NiAwIDEuOTg1Ljk1My43MzQuOTUzLjczNCAyLjU3OHYuMzEycTAgMi41LS45ODQgMy42NDEtLjk4NSAxLjE0LTIuOTY5IDEuMTcyaC0uMjE5di0uOTA2aC4yMzVxMS4zNDMtLjAzMiAyLjA2Mi0uNzAzLjcxOS0uNjcyLjc4MS0yLjE0MXptLTEuNjcxIDBxLjU0NiAwIDEtLjMyOC40NjgtLjM0NC42ODctLjgyOHYtLjQzOHEwLTEuMDYyLS40NjktMS43MzQtLjQ2OS0uNjcyLTEuMTcyLS42NzItLjcxOCAwLTEuMTU2LjU0Ny0uNDIyLjU0Ny0uNDIyIDEuNDUzIDAgLjg3NS40MDYgMS40MzcuNDIyLjU2MyAxLjEyNS41NjN6bTguMDc4IDMuNzVoLTEuMDc5VjkwLjUxbC0yLjE4Ny43OTd2LS45ODRsMy4xMS0xLjE3MmguMTU2djguNTc4em0zLjM0My02Ljg5cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMXEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1MnEwIC40NTQuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTI3NC45MjIgOTMuMTVoMi4zOXYxLjAzMmgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNy45MzcuODI5cS0uMzI4LjQwNi0uODEyLjY1Ni0uNDY5LjIzNS0xLjAzMS4yMzUtLjczNSAwLTEuMjgyLS4zNi0uNTQ2LS4zNi0uODQzLTEuMDE1LS4yOTctLjY3Mi0uMjk3LTEuNDcgMC0uODQzLjMxMi0xLjUzLjMyOC0uNjg4LjkyMi0xLjA0Ny42MS0uMzc1IDEuNDA2LS4zNzUgMS4yNjYgMCAxLjk4NS45NTMuNzM0Ljk1My43MzQgMi41Nzh2LjMxMnEwIDIuNS0uOTg0IDMuNjQxLS45ODUgMS4xNC0yLjk2OSAxLjE3MmgtLjIxOXYtLjkwNmguMjM1cTEuMzQzLS4wMzIgMi4wNjItLjcwMy43MTktLjY3Mi43ODEtMi4xNDF6bS0xLjY3MSAwcS41NDYgMCAxLS4zMjguNDY4LS4zNDQuNjg3LS44Mjh2LS40MzhxMC0xLjA2Mi0uNDY5LTEuNzM0LS40NjktLjY3Mi0xLjE3Mi0uNjcyLS43MTggMC0xLjE1Ni41NDctLjQyMi41NDctLjQyMiAxLjQ1MyAwIC44NzUuNDA2IDEuNDM3LjQyMi41NjMgMS4xMjUuNTYzem04LjA3OCAzLjc1aC0xLjA3OVY5MC41MWwtMi4xODcuNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptMy4zNDMtNi44OXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjFxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxMnYtLjQwN3ptLjgxMy40NTJxMCAuNDU0LjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjktLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zMTcuOTIyIDE0NS40MzFoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1NGwtLjI2NSAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc5LS43MDIuNzY1LTEuOTgzLjc2NS0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzUuNTMxIDEuMTEuNDIyLjM3NSAxLjExLjM3NS43NSAwIDEuMTg3LS41MTYuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzUtLjg3Ni0uMjJ6bTcgMGwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OCAwIDEuMzEzLS43MiAyLjA3OS0uNzAyLjc2NS0xLjk4My43NjUtMS4xMjUgMC0xLjg0NC0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM1LjUzMSAxLjExLjQyMi4zNzUgMS4xMS4zNzUuNzUgMCAxLjE4Ny0uNTE2LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE2LTEuMjUtLjUxNi0uNzAyIDAtMS4xMDkuMjk3bC0uMjguMjM1LS44NzYtLjIyem02LjQwNi0yLjYxcTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MjFxMC0uNDU0LS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk2LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDNxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1NHEwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY1LS43NS0uMjUtLjI5Ni0uNjcyLS4yOTYtLjQyMiAwLS42ODguMjk2LS4yNS4yODItLjI1Ljc4MnYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0zMTcuOTIyIDE0NS40MzFoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1NGwtLjI2NSAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc5LS43MDIuNzY1LTEuOTgzLjc2NS0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzUuNTMxIDEuMTEuNDIyLjM3NSAxLjExLjM3NS43NSAwIDEuMTg3LS41MTYuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzUtLjg3Ni0uMjJ6bTcgMGwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OCAwIDEuMzEzLS43MiAyLjA3OS0uNzAyLjc2NS0xLjk4My43NjUtMS4xMjUgMC0xLjg0NC0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM1LjUzMSAxLjExLjQyMi4zNzUgMS4xMS4zNzUuNzUgMCAxLjE4Ny0uNTE2LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE2LTEuMjUtLjUxNi0uNzAyIDAtMS4xMDkuMjk3bC0uMjguMjM1LS44NzYtLjIyem02LjQwNi0yLjYxcTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MjFxMC0uNDU0LS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk2LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDNxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1NHEwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY1LS43NS0uMjUtLjI5Ni0uNjcyLS4yOTYtLjQyMiAwLS42ODguMjk2LS4yNS4yODItLjI1Ljc4MnYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zNTkuOTIyIDE2OS43NzdoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMmgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNS4zNi0uMjE4aC44MTJxLjc4MS0uMDE2IDEuMjE5LS40MDcuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjNoLTEuMDk0cTAtMS4wMTYuNzM0LTEuNjg4Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0Mi42ODggMS43ODIgMCAuNTYzLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4Mi43MDQuMjE4IDEuMDc5LjczNC4zOS41MTYuMzkgMS4yNjYgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTctLjc1LS42NTYtLjc1LTEuNzE4aDEuMDk0cTAgLjY3MS40MzcgMS4wNzguNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4OCAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMmgtLjgxM3YtLjg5em0xMC42MDktMS41MTZxMCAuNjQtLjM0NCAxLjE0LS4zNDQuNS0uOTA2Ljc4Mi42NTYuMjgxIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTMtLjc1IDEuNzY1LS43MzQuNjU3LTEuOTUzLjY1Ny0xLjIzNCAwLTEuOTg0LS42NTctLjczNS0uNjcyLS43MzUtMS43NjUgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0MSAwLTEuMDc4LjY4OC0xLjcwMy42ODctLjY0IDEuODI4LS42NCAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjUuNzAzIDEuNzAzem0tLjg5MSAzLjk4NHEwLS43MTgtLjQ1My0xLjE1Ni0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM3cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5LS4zOSAxLjA3OCAwIC42NC4zOSAxLjA0Ny4zOS40MDYgMS4wMzEuNDA2LjY1NyAwIDEuMDQ3LS40MDYuMzktLjQwNi4zOS0xLjA0NyAwLS42NTYtLjQwNS0xLjA2Mi0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTM1OS45MjIgMTY5Ljc3N2gyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzl2LTEuMDMyaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em01LjM2LS4yMThoLjgxMnEuNzgxLS4wMTYgMS4yMTktLjQwNy40MzctLjM5LjQzNy0xLjA2MiAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDYtLjQwNi40MDYtLjQwNiAxLjA2M2gtMS4wOTRxMC0xLjAxNi43MzQtMS42ODguNzUtLjY3MiAxLjg5MS0uNjcyIDEuMjAzIDAgMS44OS42NC42ODguNjQyLjY4OCAxLjc4MiAwIC41NjMtLjM2IDEuMDc4LS4zNTkuNTE2LS45ODQuNzgyLjcwNC4yMTggMS4wNzkuNzM0LjM5LjUxNi4zOSAxLjI2NiAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ny0uNzUtLjY1Ni0uNzUtMS43MThoMS4wOTRxMCAuNjcxLjQzNyAxLjA3OC40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg4IDAtLjczNC0uNDUzLTEuMTI1LS40NTMtLjQwNi0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTEwLjYwOS0xLjUxNnEwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzgyLjY1Ni4yODEgMS4wNDYuODQ0LjM5MS41NDcuMzkxIDEuMjUgMCAxLjA5My0uNzUgMS43NjUtLjczNC42NTctMS45NTMuNjU3LTEuMjM0IDAtMS45ODQtLjY1Ny0uNzM1LS42NzItLjczNS0xLjc2NSAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjMgMS4wNDctLjg0NC0uNTYyLS4yODEtLjg5LS43ODEtLjMyOS0uNS0uMzI5LTEuMTQxIDAtMS4wNzguNjg4LTEuNzAzLjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg0cTAtLjcxOC0uNDUzLTEuMTU2LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzgtLjQzOCAxLjE3MiAwIC43MTkuNDM4IDEuMTQuNDM3LjQwNyAxLjIwMy40MDcuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIyLjQzNy0xLjE0em0tMS42MjUtNS40MzdxLS42NCAwLTEuMDQ3LjQwNi0uMzkuMzktLjM5IDEuMDc4IDAgLjY0LjM5IDEuMDQ3LjM5LjQwNiAxLjAzMS40MDYuNjU3IDAgMS4wNDctLjQwNi4zOS0uNDA2LjM5LTEuMDQ3IDAtLjY1Ni0uNDA1LTEuMDYyLS40MDctLjQyMi0xLjAxNi0uNDIyem00LjIzNC44NzVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQzN3EwLS40NjktLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjczLjYxLjM5MS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDAxLjkyMiAxNzkuNTYyaDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wM2gyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NHptNS4zNi0uMjE5aC44MTJxLjc4MS0uMDE1IDEuMjE5LS40MDYuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjJoLTEuMDk0cTAtMS4wMTUuNzM0LTEuNjg3Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYyLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4MS43MDQuMjE5IDEuMDc5LjczNS4zOS41MTUuMzkgMS4yNjUgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTYtLjc1LS42NTYtLjc1LTEuNzE5aDEuMDk0cTAgLjY3Mi40MzcgMS4wNzguNDM4LjQwNyAxLjE4OC40MDcuNzggMCAxLjE4Ny0uNDA3LjQyMi0uNDIxLjQyMi0xLjE4NyAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMmgtLjgxM3YtLjg5em04Ljk4NCA0Ljc5N2gtMS4wNzl2LTcuMjE4bC0yLjE4Ny43OTZ2LS45ODRsMy4xMS0xLjE3MmguMTU2djguNTc4em0zLjM0My02Ljg5cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTZ2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIxem0uODEyLjQ1M3EwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM3cTAtLjQ3LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4LS4yNS43OHYuNDIzem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik00MDEuOTIyIDE3OS41NjJoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg0em01LjM2LS4yMTloLjgxMnEuNzgxLS4wMTUgMS4yMTktLjQwNi40MzctLjM5LjQzNy0xLjA2MiAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDYtLjQwNi40MDYtLjQwNiAxLjA2MmgtMS4wOTRxMC0xLjAxNS43MzQtMS42ODcuNzUtLjY3MiAxLjg5MS0uNjcyIDEuMjAzIDAgMS44OS42NC42ODguNjQxLjY4OCAxLjc4MiAwIC41NjItLjM2IDEuMDc4LS4zNTkuNTE2LS45ODQuNzgxLjcwNC4yMTkgMS4wNzkuNzM1LjM5LjUxNS4zOSAxLjI2NSAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OC40MzguNDA3IDEuMTg4LjQwNy43OCAwIDEuMTg3LS40MDcuNDIyLS40MjEuNDIyLTEuMTg3IDAtLjczNC0uNDUzLTEuMTI1LS40NTMtLjQwNi0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTguOTg0IDQuNzk3aC0xLjA3OXYtNy4yMThsLTIuMTg3Ljc5NnYtLjk4NGwzLjExLTEuMTcyaC4xNTZ2OC41Nzh6bTMuMzQzLTYuODlxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5NnYuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjF6bS44MTIuNDUzcTAgLjQ2OC4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDctLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgtLjI1Ljc4di40MjN6bS0yLjk1MyAxbC0uNjI1LS4zOTEgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzN6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQ0NC45MjIgMTIyLjk5aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wM2gyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NHptOS4yOTctMy4zNDRsLTMuNTMxIDcuOTIyaC0xLjE0MWwzLjUxNS03LjY0aC00LjYwOXYtLjg5MWg1Ljc2NnYuNjF6bTYuODQ0IDQuMjgycTAgMS45MDYtLjY1NyAyLjg0My0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc2LjY3MSAyLjcydjEuNDA2em0tMS4wOTQtMS40ODVxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNXEwIDEuMzc1LjM5IDIuMDQ2LjQwNi42NTcgMS4yMTkuNjU3Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgyem0yLjY0LTEuNzY1cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTZ2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIxem0uODEyLjQ1M3EwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY1LS43NS0uMjUtLjI5Ni0uNjcyLS4yOTYtLjQyMiAwLS42ODguMjk3LS4yNS4yOC0uMjUuNzh2LjQyM3ptLTIuOTUzIDFsLS42MjUtLjM5MSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3M3oiLz48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJNNDQ0LjkyMiAxMjIuOTloMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg0em05LjI5Ny0zLjM0NGwtMy41MzEgNy45MjJoLTEuMTQxbDMuNTE1LTcuNjRoLTQuNjA5di0uODkxaDUuNzY2di42MXptNi44NDQgNC4yODJxMCAxLjkwNi0uNjU3IDIuODQzLS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzN3EwLTEuODkuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzYuNjcxIDIuNzJ2MS40MDZ6bS0xLjA5NC0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM1cTAgMS4zNzUuMzkgMi4wNDYuNDA2LjY1NyAxLjIxOS42NTcuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODJ6bTIuNjQtMS43NjVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5NnYuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjF6bS44MTIuNDUzcTAgLjQ2OC4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY4LS4yNjUtLjc1LS4yNS0uMjk2LS42NzItLjI5Ni0uNDIyIDAtLjY4OC4yOTctLjI1LjI4LS4yNS43OHYuNDIzem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xMjIuNDIyIDIyMi42OGgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em05LjM3NSA0LjU3OGgtNS41OTR2LS43ODFsMi45NTMtMy4yODFxLjY1Ni0uNzUuOTA2LTEuMjA0LjI1LS40NjguMjUtLjk2OCAwLS42NzItLjQwNi0xLjA5NC0uMzktLjQzOC0xLjA3OC0uNDM4LS43OTcgMC0xLjI1LjQ3LS40NTMuNDUyLS40NTMgMS4yOGgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNi43NjYtLjczNCAyLjAzMS0uNzM0IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OGg0LjI4di44OTF6bTEuMzEyLTYuODlxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODItLjI1Ljc4MnYuNDIxem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTEyMi40MjIgMjIyLjY4aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTkuMzc1IDQuNTc4aC01LjU5NHYtLjc4MWwyLjk1My0zLjI4MXEuNjU2LS43NS45MDYtMS4yMDQuMjUtLjQ2OC4yNS0uOTY4IDAtLjY3Mi0uNDA2LTEuMDk0LS4zOS0uNDM4LTEuMDc4LS40MzgtLjc5NyAwLTEuMjUuNDctLjQ1My40NTItLjQ1MyAxLjI4aC0xLjA3OHEwLTEuMTg3Ljc1LTEuOTA2Ljc2Ni0uNzM0IDIuMDMxLS43MzQgMS4yMDMgMCAxLjg5LjYyNS42ODguNjI1LjY4OCAxLjY3MiAwIDEuMjUtMS42MSAzbC0yLjI4IDIuNDY4aDQuMjh2Ljg5MXptMS4zMTItNi44OXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwN3ptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzOHptMy4zNDQgNC4zNDNxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40Ny4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY4LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4Mi0uMjUuNzgydi40MjF6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTYxLjkyMiAxMDYuMjMyaDIuMzl2MS4wMzJoLTIuMzl2Mi42ODdoLTEuMDc4di0yLjY4N2gtMi4zOXYtMS4wMzJoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTguOTY5LTEuNzM0cTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODIuNjU2LjI4MSAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5My0uNzUgMS43NjUtLjczNC42NTctMS45NTMuNjU3LTEuMjM0IDAtMS45ODQtLjY1Ny0uNzM1LS42NzItLjczNS0xLjc2NSAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjMgMS4wNDctLjg0NC0uNTYyLS4yODEtLjg5LS43ODEtLjMyOS0uNS0uMzI5LTEuMTQxIDAtMS4wNzguNjg4LTEuNzAzLjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg0cTAtLjcxOC0uNDUzLTEuMTU2LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzgtLjQzOCAxLjE3MiAwIC43MTkuNDM4IDEuMTQuNDM3LjQwNyAxLjIwMy40MDcuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIyLjQzNy0xLjE0em0tMS42MjUtNS40MzdxLS42NCAwLTEuMDQ3LjQwNi0uMzkuMzktLjM5IDEuMDc4IDAgLjY0LjM5IDEuMDQ3LjM5LjQwNiAxLjAzMS40MDYuNjU3IDAgMS4wNDctLjQwNi4zOS0uNDA2LjM5LTEuMDQ3IDAtLjY1Ni0uNDA1LTEuMDYyLS40MDctLjQyMi0xLjAxNi0uNDIyem05LjkyMiA3Ljc2NmgtNS41OTR2LS43ODJsMi45NTMtMy4yODFxLjY1Ni0uNzUuOTA2LTEuMjAzLjI1LS40NjkuMjUtLjk2OSAwLS42NzItLjQwNi0xLjA5NC0uMzktLjQzNy0xLjA3OC0uNDM3LS43OTcgMC0xLjI1LjQ2OS0uNDUzLjQ1My0uNDUzIDEuMjhoLTEuMDc4cTAtMS4xODcuNzUtMS45MDUuNzY2LS43MzUgMi4wMzEtLjczNSAxLjIwMyAwIDEuODkuNjI1LjY4OC42MjUuNjg4IDEuNjcyIDAgMS4yNS0xLjYxIDNsLTIuMjggMi40NjloNC4yOHYuODl6bTEuMzEyLTYuODkxcTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTE2MS45MjIgMTA2LjIzMmgyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzl2LTEuMDMyaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em04Ljk2OS0xLjczNHEwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzgyLjY1Ni4yODEgMS4wNDcuODQ0LjM5LjU0Ny4zOSAxLjI1IDAgMS4wOTMtLjc1IDEuNzY1LS43MzQuNjU3LTEuOTUzLjY1Ny0xLjIzNCAwLTEuOTg0LS42NTctLjczNS0uNjcyLS43MzUtMS43NjUgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0MSAwLTEuMDc4LjY4OC0xLjcwMy42ODctLjY0IDEuODI4LS42NCAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjUuNzAzIDEuNzAzem0tLjg5MSAzLjk4NHEwLS43MTgtLjQ1My0xLjE1Ni0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM3cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5LS4zOSAxLjA3OCAwIC42NC4zOSAxLjA0Ny4zOS40MDYgMS4wMzEuNDA2LjY1NyAwIDEuMDQ3LS40MDYuMzktLjQwNi4zOS0xLjA0NyAwLS42NTYtLjQwNS0xLjA2Mi0uNDA3LS40MjItMS4wMTYtLjQyMnptOS45MjIgNy43NjZoLTUuNTk0di0uNzgybDIuOTUzLTMuMjgxcS42NTYtLjc1LjkwNi0xLjIwMy4yNS0uNDY5LjI1LS45NjkgMC0uNjcyLS40MDYtMS4wOTQtLjM5LS40MzctMS4wNzgtLjQzNy0uNzk3IDAtMS4yNS40NjktLjQ1My40NTMtLjQ1MyAxLjI4aC0xLjA3OHEwLTEuMTg3Ljc1LTEuOTA1Ljc2Ni0uNzM1IDIuMDMxLS43MzUgMS4yMDMgMCAxLjg5LjYyNS42ODguNjI1LjY4OCAxLjY3MiAwIDEuMjUtMS42MSAzbC0yLjI4IDIuNDY5aDQuMjh2Ljg5em0xLjMxMi02Ljg5MXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDM3cTAtLjQ2OS0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzMuNjEuMzkxLTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMDMuOTIyIDg3Ljg0aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4Vjg4Ljg3aC0yLjM5Vjg3Ljg0aDIuMzl2LTIuNDg1aDEuMDc4djIuNDg1em03LjkzNy44MjhxLS4zMjguNDA2LS44MTIuNjU2LS40NjkuMjM1LTEuMDMxLjIzNS0uNzM1IDAtMS4yODItLjM2dC0uODQzLTEuMDE1cS0uMjk3LS42NzItLjI5Ny0xLjQ3IDAtLjg0My4zMTItMS41My4zMjgtLjY4OC45MjItMS4wNDcuNjEtLjM3NSAxLjQwNi0uMzc1IDEuMjY2IDAgMS45ODUuOTUzLjczNC45NTMuNzM0IDIuNTc4di4zMTJxMCAyLjUtLjk4NCAzLjY0MS0uOTg1IDEuMTQtMi45NjkgMS4xNzJoLS4yMTl2LS45MDZoLjIzNXExLjM0My0uMDMyIDIuMDYyLS43MDMuNzE5LS42NzIuNzgxLTIuMTQxem0tMS42NzIgMHEuNTQ3IDAgMS0uMzI4LjQ3LS4zNDQuNjg4LS44Mjh2LS40MzhxMC0xLjA2Mi0uNDY5LTEuNzM0LS40NjktLjY3Mi0xLjE3Mi0uNjcyLS43MTggMC0xLjE1Ni41NDctLjQyMi41NDctLjQyMiAxLjQ1MyAwIC44NzUuNDA2IDEuNDM3LjQyMi41NjMgMS4xMjUuNTYzem05LjA5NC44OWgxLjE4OHYuODc2aC0xLjE4OHYxLjk4NGgtMS4wNzh2LTEuOTg0aC0zLjg5di0uNjQxbDMuODEyLTUuOTA2aDEuMTU2djUuNjcyem0tMy43MzQgMGgyLjY1NnYtNC4xODdsLS4xNC4yMzQtMi41MTYgMy45NTR6bTYuMDYyLTQuMDNxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIxcTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUycTAgLjQ1NC4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBmaWxsPSIjZGI0NDM3IiBkPSJNMjAzLjkyMiA4Ny44NGgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OFY4OC44N2gtMi4zOVY4Ny44NGgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNy45MzcuODI4cS0uMzI4LjQwNi0uODEyLjY1Ni0uNDY5LjIzNS0xLjAzMS4yMzUtLjczNSAwLTEuMjgyLS4zNnQtLjg0My0xLjAxNXEtLjI5Ny0uNjcyLS4yOTctMS40NyAwLS44NDMuMzEyLTEuNTMuMzI4LS42ODguOTIyLTEuMDQ3LjYxLS4zNzUgMS40MDYtLjM3NSAxLjI2NiAwIDEuOTg1Ljk1My43MzQuOTUzLjczNCAyLjU3OHYuMzEycTAgMi41LS45ODQgMy42NDEtLjk4NSAxLjE0LTIuOTY5IDEuMTcyaC0uMjE5di0uOTA2aC4yMzVxMS4zNDMtLjAzMiAyLjA2Mi0uNzAzLjcxOS0uNjcyLjc4MS0yLjE0MXptLTEuNjcyIDBxLjU0NyAwIDEtLjMyOC40Ny0uMzQ0LjY4OC0uODI4di0uNDM4cTAtMS4wNjItLjQ2OS0xLjczNC0uNDY5LS42NzItMS4xNzItLjY3Mi0uNzE4IDAtMS4xNTYuNTQ3LS40MjIuNTQ3LS40MjIgMS40NTMgMCAuODc1LjQwNiAxLjQzNy40MjIuNTYzIDEuMTI1LjU2M3ptOS4wOTQuODloMS4xODh2Ljg3NmgtMS4xODh2MS45ODRoLTEuMDc4di0xLjk4NGgtMy44OXYtLjY0MWwzLjgxMi01LjkwNmgxLjE1NnY1LjY3MnptLTMuNzM0IDBoMi42NTZ2LTQuMTg3bC0uMTQuMjM0LTIuNTE2IDMuOTU0em02LjA2Mi00LjAzcTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMXEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1MnEwIC40NTQuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTI0Ni45MjIgOTEuNDcyaDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wM2gyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NHptNy45MzcuODI4cS0uMzI4LjQwNy0uODEyLjY1Ny0uNDY5LjIzNC0xLjAzMS4yMzQtLjczNSAwLTEuMjgyLS4zNi0uNTQ3LS4zNTktLjg0My0xLjAxNS0uMjk3LS42NzItLjI5Ny0xLjQ2OSAwLS44NDQuMzEyLTEuNTMxLjMyOC0uNjg4LjkyMi0xLjA0Ny42MS0uMzc1IDEuNDA2LS4zNzUgMS4yNjYgMCAxLjk4NS45NTMuNzM0Ljk1My43MzQgMi41Nzh2LjMxM3EwIDIuNS0uOTg0IDMuNjQtLjk4NSAxLjE0MS0yLjk2OSAxLjE3MmgtLjIxOXYtLjkwNmguMjM1cTEuMzQzLS4wMzEgMi4wNjItLjcwMy43MTktLjY3Mi43ODEtMi4xNHptLTEuNjcyIDBxLjU0NyAwIDEtLjMyOC40Ny0uMzQ0LjY4OC0uODI4di0uNDM3cTAtMS4wNjMtLjQ2OS0xLjczNS0uNDY5LS42NzItMS4xNzItLjY3Mi0uNzE4IDAtMS4xNTYuNTQ3LS40MjIuNTQ3LS40MjIgMS40NTMgMCAuODc1LjQwNiAxLjQzOC40MjIuNTYyIDEuMTI1LjU2MnptMTAuMTEgMy43NWgtNS41OTR2LS43ODFsMi45NTMtMy4yODFxLjY1Ni0uNzUuOTA2LTEuMjAzLjI1LS40Ny4yNS0uOTcgMC0uNjcxLS40MDYtMS4wOTMtLjM5LS40MzctMS4wNzgtLjQzNy0uNzk3IDAtMS4yNS40NjgtLjQ1My40NTQtLjQ1MyAxLjI4MmgtMS4wNzhxMC0xLjE4OC43NS0xLjkwNy43NjUtLjczNCAyLjAzMS0uNzM0IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OWg0LjI4di44OXptMS4zMTItNi44OXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY1di40Mzh6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk2di40MDdxMCAuNzY1LS40ODUgMS4yNjUtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMXptLjgxMi40NTNxMCAuNDY4LjI1Ljc2NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzN3EwLS40Ny0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yOC0uMjUuNzh2LjQyM3ptLTIuOTUzIDFsLS42MjUtLjM5MSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3M3oiLz48cGF0aCBmaWxsPSIjZGI0NDM3IiBkPSJNMjQ2LjkyMiA5MS40NzJoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg0em03LjkzNy44MjhxLS4zMjguNDA3LS44MTIuNjU3LS40NjkuMjM0LTEuMDMxLjIzNC0uNzM1IDAtMS4yODItLjM2LS41NDctLjM1OS0uODQzLTEuMDE1LS4yOTctLjY3Mi0uMjk3LTEuNDY5IDAtLjg0NC4zMTItMS41MzEuMzI4LS42ODguOTIyLTEuMDQ3LjYxLS4zNzUgMS40MDYtLjM3NSAxLjI2NiAwIDEuOTg1Ljk1My43MzQuOTUzLjczNCAyLjU3OHYuMzEzcTAgMi41LS45ODQgMy42NC0uOTg1IDEuMTQxLTIuOTY5IDEuMTcyaC0uMjE5di0uOTA2aC4yMzVxMS4zNDMtLjAzMSAyLjA2Mi0uNzAzLjcxOS0uNjcyLjc4MS0yLjE0em0tMS42NzIgMHEuNTQ3IDAgMS0uMzI4LjQ3LS4zNDQuNjg4LS44Mjh2LS40MzdxMC0xLjA2My0uNDY5LTEuNzM1LS40NjktLjY3Mi0xLjE3Mi0uNjcyLS43MTggMC0xLjE1Ni41NDctLjQyMi41NDctLjQyMiAxLjQ1MyAwIC44NzUuNDA2IDEuNDM4LjQyMi41NjIgMS4xMjUuNTYyem0xMC4xMSAzLjc1aC01LjU5NHYtLjc4MWwyLjk1My0zLjI4MXEuNjU2LS43NS45MDYtMS4yMDMuMjUtLjQ3LjI1LS45NyAwLS42NzEtLjQwNi0xLjA5My0uMzktLjQzNy0xLjA3OC0uNDM3LS43OTcgMC0xLjI1LjQ2OC0uNDUzLjQ1NC0uNDUzIDEuMjgyaC0xLjA3OHEwLTEuMTg4Ljc1LTEuOTA3Ljc2NS0uNzM0IDIuMDMxLS43MzQgMS4yMDMgMCAxLjg5LjYyNS42ODguNjI1LjY4OCAxLjY3MiAwIDEuMjUtMS42MSAzbC0yLjI4IDIuNDY5aDQuMjh2Ljg5em0xLjMxMi02Ljg5cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTZ2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIxem0uODEyLjQ1M3EwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM3cTAtLjQ3LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4LS4yNS43OHYuNDIzem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yODUuNDIyIDY3LjI4N2gyLjM5djEuMDNoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4N2gtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTcuMzQ0IDQuNTc4aC0xLjA3OXYtNy4yMmwtMi4xODcuNzk4di0uOTg1bDMuMTEtMS4xNzFoLjE1NnY4LjU3OHptOC43OTYtMy42NHEwIDEuOTA1LS42NTYgMi44NDMtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDctLjY1Ni0uOTA2LS42ODctMi43MTh2LTEuNDM4cTAtMS44OS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkxLjY1Ni44NzUuNjcxIDIuNzE5djEuNDA2em0tMS4wOTMtMS40ODVxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTNWNjYuNzR6bTcuOTIyLTEuMTg4cTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODIuNjU2LjI4MSAxLjA0Ni44NDQuMzkxLjU0Ny4zOTEgMS4yNSAwIDEuMDk0LS43NSAxLjc2NS0uNzM0LjY1Ny0xLjk1My42NTctMS4yMzQgMC0xLjk4NC0uNjU3LS43MzUtLjY3MS0uNzM1LTEuNzY1IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MyAxLjA0Ny0uODQ0LS41NjItLjI4MS0uODktLjc4MS0uMzI5LS41LS4zMjktMS4xNCAwLTEuMDc5LjY4OC0xLjcwNC42ODctLjY0IDEuODI4LS42NCAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjUuNzAzIDEuNzAzem0tLjg5MSAzLjk4NXEwLS43Mi0uNDUzLTEuMTU3LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzgtLjQzOCAxLjE3MiAwIC43MTkuNDM4IDEuMTQuNDM3LjQwNyAxLjIwMy40MDcuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIyLjQzNy0xLjE0em0tMS42MjUtNS40MzhxLS42NCAwLTEuMDQ3LjQwNi0uMzkuMzktLjM5IDEuMDc4IDAgLjY0MS4zOSAxLjA0Ny4zOS40MDcgMS4wMzEuNDA3LjY1NyAwIDEuMDQ3LS40MDcuMzktLjQwNi4zOS0xLjA0NyAwLS42NTYtLjQwNS0xLjA2Mi0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ny4yNS0uNzk3di0uNDM3cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTI4NS40MjIgNjcuMjg3aDIuMzl2MS4wM2gtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNy4zNDQgNC41NzhoLTEuMDc5di03LjIybC0yLjE4Ny43OTh2LS45ODVsMy4xMS0xLjE3MWguMTU2djguNTc4em04Ljc5Ni0zLjY0cTAgMS45MDUtLjY1NiAyLjg0My0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNy0uNjU2LS45MDYtLjY4Ny0yLjcxOHYtMS40MzhxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OTEuNjU2Ljg3NS42NzEgMi43MTl2MS40MDZ6bS0xLjA5My0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M1Y2Ni43NHptNy45MjItMS4xODhxMCAuNjQtLjM0NCAxLjE0LS4zNDQuNS0uOTA2Ljc4Mi42NTYuMjgxIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY1LS43MzQuNjU3LTEuOTUzLjY1Ny0xLjIzNCAwLTEuOTg0LS42NTctLjczNS0uNjcxLS43MzUtMS43NjUgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0IDAtMS4wNzkuNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg1cTAtLjcyLS40NTMtMS4xNTctLjQ1My0uNDUzLTEuMTg4LS40NTMtLjczNCAwLTEuMTg3LjQ1My0uNDM4LjQzOC0uNDM4IDEuMTcyIDAgLjcxOS40MzggMS4xNC40MzcuNDA3IDEuMjAzLjQwNy43NSAwIDEuMTg4LS40MjIuNDM3LS40MjIuNDM3LTEuMTR6bS0xLjYyNS01LjQzOHEtLjY0IDAtMS4wNDcuNDA2LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQxLjM5IDEuMDQ3LjM5LjQwNyAxLjAzMS40MDcuNjU3IDAgMS4wNDctLjQwNy4zOS0uNDA2LjM5LTEuMDQ3IDAtLjY1Ni0uNDA1LTEuMDYyLS40MDctLjQyMi0xLjAxNi0uNDIyem00LjIzNC44NzVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzMxLjkyMiAxMjcuMjloMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg0em04LjA0Ny0zLjk1M3YuOTA2aC0uMjAzcS0xLjI2Ni4wMzItMi4wMTYuNzY2LS43NS43MTktLjg3NSAyLjAzMS42ODgtLjc2NSAxLjg0NC0uNzY1IDEuMTEgMCAxLjc4MS43OC42NzIuNzgyLjY3MiAyLjAzMiAwIDEuMzEzLS43MTkgMi4xMS0uNzE5Ljc5Ni0xLjkzNy43OTYtMS4yMiAwLTEuOTg1LS45MzctLjc1LS45NTMtLjc1LTIuNDM4di0uNDA2cTAtMi4zNiAxLTMuNjF0Mi45ODUtMS4yNjVoLjIwM3ptLTEuNDIyIDMuODQ0cS0uNTYzIDAtMS4wMzEuMzI4LS40Ny4zMjgtLjY1Ny44NDR2LjM5cTAgMS4wNjMuNDcgMS43MDMuNDgzLjY0MSAxLjE4Ny42NDEuNzM0IDAgMS4xNTYtLjUzMS40MjItLjU0Ny40MjItMS40MjIgMC0uODc1LS40MjItMS40MDYtLjQyMi0uNTQ3LTEuMTI1LS41NDd6bTkuNjcyLTMuMjM1bC0zLjUzMSA3LjkyMmgtMS4xNDFsMy41MTUtNy42NGgtNC42MDl2LS44OTFoNS43NjZ2LjYxem0xLjM5IDEuMDMycTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTZ2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIxem0uODEyLjQ1M3EwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM3cTAtLjQ3LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4LS4yNS43OHYuNDIzem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIGZpbGw9IiNkYjQ0MzciIGQ9Ik0zMzEuOTIyIDEyNy4yOWgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDNoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODR6bTguMDQ3LTMuOTUzdi45MDZoLS4yMDNxLTEuMjY2LjAzMi0yLjAxNi43NjYtLjc1LjcxOS0uODc1IDIuMDMxLjY4OC0uNzY1IDEuODQ0LS43NjUgMS4xMSAwIDEuNzgxLjc4LjY3Mi43ODIuNjcyIDIuMDMyIDAgMS4zMTMtLjcxOSAyLjExLS43MTkuNzk2LTEuOTM3Ljc5Ni0xLjIyIDAtMS45ODUtLjkzNy0uNzUtLjk1My0uNzUtMi40Mzh2LS40MDZxMC0yLjM2IDEtMy42MXQyLjk4NS0xLjI2NWguMjAzem0tMS40MjIgMy44NDRxLS41NjMgMC0xLjAzMS4zMjgtLjQ3LjMyOC0uNjU3Ljg0NHYuMzlxMCAxLjA2My40NyAxLjcwMy40ODMuNjQxIDEuMTg3LjY0MS43MzQgMCAxLjE1Ni0uNTMxLjQyMi0uNTQ3LjQyMi0xLjQyMiAwLS44NzUtLjQyMi0xLjQwNi0uNDIyLS41NDctMS4xMjUtLjU0N3ptOS42NzItMy4yMzVsLTMuNTMxIDcuOTIyaC0xLjE0MWwzLjUxNS03LjY0aC00LjYwOXYtLjg5MWg1Ljc2NnYuNjF6bTEuMzkgMS4wMzJxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5NnYuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjF6bS44MTIuNDUzcTAgLjQ2OC4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDctLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgtLjI1Ljc4di40MjN6bS0yLjk1MyAxbC0uNjI1LS4zOTEgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzN6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTM3My45MjIgMTQ1LjE5NGgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg1em00LjI4MS4yOTdsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODMuNzY2LTEuMTI1IDAtMS44NDQtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNC41MzEgMS4xMS40MjIuMzc0IDEuMTEuMzc0Ljc1IDAgMS4xODctLjUxNS40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTh6bTcgMGwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OCAwIDEuMzEzLS43MiAyLjA3OC0uNzAyLjc2Ni0xLjk4My43NjYtMS4xMjUgMC0xLjg0NC0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM0LjUzMSAxLjExLjQyMi4zNzQgMS4xMS4zNzQuNzUgMCAxLjE4Ny0uNTE1LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE2LTEuMjUtLjUxNi0uNzAyIDAtMS4xMDkuMjk3bC0uMjguMjM0LS44NzYtLjIxOHptNi40MDYtMi42MXEwLS43NjUuNDg1LTEuMjY1LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk2di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjktLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiNkYjQ0MzciIGQ9Ik0zNzMuOTIyIDE0NS4xOTRoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1NGwtLjI2NSAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc4LS43MDIuNzY2LTEuOTgzLjc2Ni0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTEuNDIyLjM3NCAxLjExLjM3NC43NSAwIDEuMTg3LS41MTUuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE4em03IDBsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODMuNzY2LTEuMTI1IDAtMS44NDQtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNC41MzEgMS4xMS40MjIuMzc0IDEuMTEuMzc0Ljc1IDAgMS4xODctLjUxNS40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTh6bTYuNDA2LTIuNjFxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5NnYuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDE1LjkyMiAxNDAuMTZoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMmgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1NGwtLjI2NSAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgyLjY4OC43NjUuNjg4IDIuMDc4IDAgMS4zMTItLjcyIDIuMDc4LS43MDIuNzY2LTEuOTgzLjc2Ni0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQxLS44MTMtMS43NWgxLjAxNnEuMTEuNzM0LjUzMSAxLjEwOS40MjIuMzc1IDEuMTEuMzc1Ljc1IDAgMS4xODctLjUxNi40MzgtLjUxNS40MzgtMS40MjIgMC0uODU5LS40Ny0xLjM3NS0uNDY4LS41MTUtMS4yNS0uNTE1LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE5em0xMS42ODgtMi4wM3EwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzguNjU2LjI4MiAxLjA0Ni44NDUuMzkxLjU0Ny4zOTEgMS4yNSAwIDEuMDkzLS43NSAxLjc2NS0uNzM0LjY1Ny0xLjk1My42NTctMS4yMzQgMC0xLjk4NC0uNjU3LS43MzUtLjY3Mi0uNzM1LTEuNzY1IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MyAxLjA0Ny0uODQ0LS41NjItLjI4MS0uODktLjc4MS0uMzI5LS41LS4zMjktMS4xNCAwLTEuMDguNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6TTQzMSAxNDIuNDFxMC0uNzE4LS40NTMtMS4xNTYtLjQ1My0uNDUzLTEuMTg4LS40NTMtLjczNCAwLTEuMTg3LjQ1My0uNDM4LjQzOC0uNDM4IDEuMTcyIDAgLjcxOS40MzggMS4xNC40MzcuNDA3IDEuMjAzLjQwNy43NSAwIDEuMTg4LS40MjIuNDM3LS40MjIuNDM3LTEuMTR6bS0xLjYyNS01LjQzN3EtLjY0IDAtMS4wNDcuNDA2LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDYuMzktMS4wNDcgMC0uNjU2LS40MDUtMS4wNjItLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTQuMjM0Ljg3NXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDM3cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzMuNjEuMzkxLTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiNkYjQ0MzciIGQ9Ik00MTUuOTIyIDE0MC4xNmgyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzl2LTEuMDMyaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em00LjI4MS4yOTdsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODIuNjg4Ljc2NS42ODggMi4wNzggMCAxLjMxMi0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODMuNzY2LTEuMTI1IDAtMS44NDQtLjYyNS0uNzE5LS42NDEtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTA5LjQyMi4zNzUgMS4xMS4zNzUuNzUgMCAxLjE4Ny0uNTE2LjQzOC0uNTE1LjQzOC0xLjQyMiAwLS44NTktLjQ3LTEuMzc1LS40NjgtLjUxNS0xLjI1LS41MTUtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTl6bTExLjY4OC0yLjAzcTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43OC42NTYuMjgyIDEuMDQ2Ljg0NS4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTMtLjc1IDEuNzY1LS43MzQuNjU3LTEuOTUzLjY1Ny0xLjIzNCAwLTEuOTg0LS42NTctLjczNS0uNjcyLS43MzUtMS43NjUgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0IDAtMS4wOC42ODgtMS43MDQuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3pNNDMxIDE0Mi40MXEwLS43MTgtLjQ1My0xLjE1Ni0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM3cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5LS4zOSAxLjA3OCAwIC42NC4zOSAxLjA0Ny4zOS40MDYgMS4wMzEuNDA2LjY1NyAwIDEuMDQ3LS40MDYuMzktLjQwNi4zOS0xLjA0NyAwLS42NTYtLjQwNS0xLjA2Mi0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQ1OC45MjIgOTguNThoMi4zOXYxLjAzMmgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptOC45NjktMS43MzRxMCAuNjQxLS4zNDQgMS4xNDF0LS45MDYuNzgxcS42NTYuMjgyIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYyIDEuMDQ3LS44NDQtLjU2Mi0uMjgtLjg5LS43OC0uMzI5LS41LS4zMjktMS4xNDIgMC0xLjA3OC42ODgtMS43MDMuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3ptLS44OTEgMy45ODVxMC0uNzE5LS40NTMtMS4xNTYtLjQ1My0uNDU0LTEuMTg4LS40NTQtLjczNCAwLTEuMTg3LjQ1NC0uNDM4LjQzNy0uNDM4IDEuMTcxIDAgLjcyLjQzOCAxLjE0MS40MzcuNDA2IDEuMjAzLjQwNi43NSAwIDEuMTg4LS40MjIuNDM3LS40MjEuNDM3LTEuMTR6bS0xLjYyNS01LjQzOHEtLjY0IDAtMS4wNDcuNDA3LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDcuMzktMS4wNDcgMC0uNjU3LS40MDUtMS4wNjMtLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTkuODQ0LS4xNTZsLTMuNTMxIDcuOTIyaC0xLjE0MWwzLjUxNS03LjY0aC00LjYwOXYtLjg5MWg1Ljc2NnYuNjF6bTEuMzkgMS4wMzFxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIxcTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUzcTAgLjQ1NC4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTQ1OC45MjIgOTguNThoMi4zOXYxLjAzMmgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptOC45NjktMS43MzRxMCAuNjQxLS4zNDQgMS4xNDF0LS45MDYuNzgxcS42NTYuMjgyIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYyIDEuMDQ3LS44NDQtLjU2Mi0uMjgtLjg5LS43OC0uMzI5LS41LS4zMjktMS4xNDIgMC0xLjA3OC42ODgtMS43MDMuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3ptLS44OTEgMy45ODVxMC0uNzE5LS40NTMtMS4xNTYtLjQ1My0uNDU0LTEuMTg4LS40NTQtLjczNCAwLTEuMTg3LjQ1NC0uNDM4LjQzNy0uNDM4IDEuMTcxIDAgLjcyLjQzOCAxLjE0MS40MzcuNDA2IDEuMjAzLjQwNi43NSAwIDEuMTg4LS40MjIuNDM3LS40MjEuNDM3LTEuMTR6bS0xLjYyNS01LjQzOHEtLjY0IDAtMS4wNDcuNDA3LS4zOS4zOS0uMzkgMS4wNzggMCAuNjQuMzkgMS4wNDcuMzkuNDA2IDEuMDMxLjQwNi42NTcgMCAxLjA0Ny0uNDA2LjM5LS40MDcuMzktMS4wNDcgMC0uNjU3LS40MDUtMS4wNjMtLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTkuODQ0LS4xNTZsLTMuNTMxIDcuOTIyaC0xLjE0MWwzLjUxNS03LjY0aC00LjYwOXYtLjg5MWg1Ljc2NnYuNjF6bTEuMzkgMS4wMzFxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIxcTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUzcTAgLjQ1NC4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTI3LjIwNiAzMzQuNTc0aDMuMzQ0djEuMTI1aC04LjUzMXYtMy4xNTZxMC0xLjM5LjcxOS0yLjE4OC43MDMtLjc5NyAxLjg5LS43OTcgMS4yMzUgMCAxLjkwNi43ODIuNjcyLjc2NS42NzIgMi4yMTh2Mi4wMTZ6bS0uOTIyIDB2LTIuMDMxcTAtLjkwNy0uNDIxLTEuMzc1LS40MjItLjQ4NS0xLjIyLS40ODUtLjc2NSAwLTEuMjE4LjQ4NS0uNDY5LjQ2OC0uNDg0IDEuMzEydjIuMDk0aDMuMzQzem00LjM5MS05LjM0NHEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctNi41NzdxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptNS4zNzUtMS40NjloLTUuNXYxaC0uODQ0di0xaC0uNjRxLTEuMDMyIDAtMS41NzgtLjUzMS0uNTYzLS41NDctLjU2My0xLjU0NyAwLS4zNzUuMDk0LS43NWwuODkuMDYycS0uMDYyLjI4Mi0uMDYyLjU3OCAwIC41MzIuMzEyLjgyOS4zMTMuMjguODc1LjI4aC42NzJ2LTEuMzU5aC44NDR2MS4zNmg1LjV2MS4wNzh6bS0zLjIzNC0zLjE3MnEtLjkyMiAwLTEuNjcyLS4zNi0uNzUtLjM3NC0xLjE0LTEuMDMtLjQwNy0uNjU3LS40MDctMS40ODUgMC0xLjI5Ny44OS0yLjA5NC44OTEtLjgxMiAyLjM5MS0uODEyaC4wNzhxLjkyMiAwIDEuNjU3LjM2LjczNC4zNTkgMS4xNTYgMS4wMTUuNDA2LjY1Ni40MDYgMS41MTUgMCAxLjI4Mi0uODkgMi4wOTQtLjkwNy43OTctMi4zOTEuNzk3aC0uMDc4em0uMTQtMS4wOTRxMS4wNDcgMCAxLjY4OC0uNDg0LjY0LS41LjY0LTEuMzEzIDAtLjgyOC0uNjQtMS4zMTItLjY1Ni0uNDg0LTEuODI4LS40ODQtMS4wMzIgMC0xLjY3Mi41LS42NTYuNDg0LS42NTYgMS4zMTIgMCAuNzk3LjY0IDEuMjk3LjYyNS40ODQgMS44MjguNDg0em0tMi4yODEtOS4yNjVxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptLS45NjktMS45NTNsLjcwMy0uMDMycS0uODEyLS42ODctLjgxMi0xLjg3NSAwLTEuMzI4IDEuMDE2LTEuODEyLS40NTQtLjMxMy0uNzM1LS44MTMtLjI4MS0uNTE1LS4yODEtMS4yMDMgMC0yLjA5NCAyLjIwMy0yLjEyNWg0LjI1djEuMDc4aC00LjE4N3EtLjY3MiAwLTEgLjMxMy0uMzQ0LjMxMi0uMzQ0IDEuMDQ3IDAgLjYxLjM2IDEuMDE1LjM1OS4zOTEuOTY4LjQ1M2g0LjIwM3YxLjA3OWgtNC4xNTZxLTEuMzc1IDAtMS4zNzUgMS4zNTkgMCAxLjA2Mi45MDYgMS40NTNoNC42MjV2MS4wOTRoLTYuMzQ0di0xLjAzMXptNi4zNDQtMTMuODkxcS0uMTg3LjA5NC0uNjcyLjE1Ni43OTcuNzUuNzk3IDEuNzk3IDAgLjkzOC0uNTMxIDEuNTQ3LS41MzEuNTk0LTEuMzYuNTk0LS45ODQgMC0xLjUzLS43NS0uNTQ4LS43NS0uNTQ4LTIuMTI1di0xLjA0N2gtLjVxLS41NjIgMC0uODkuMzQ0LS4zNDQuMzI4LS4zNDQgMSAwIC41NzguMjk3Ljk2OC4yODEuMzkxLjcwMy4zOTF2MS4wOTRxLS40ODQgMC0uOTIyLS4zMjgtLjQzNy0uMzQ0LS42ODctLjkyMi0uMjY2LS41NzgtLjI2Ni0xLjI2NiAwLTEuMTEuNTQ3LTEuNzE5LjU0Ny0uNjI1IDEuNS0uNjU2aDIuOTIycS44NzUgMCAxLjM5LS4yMTloLjA5NHYxLjE0MXptLS44MjggMS43OTdxMC0uNTE2LS4yNjYtLjk2OS0uMjY1LS40NTMtLjY4Ny0uNjU2aC0xLjI5N3YuODQ0cTAgMiAxLjE3MiAyIC41IDAgLjc5Ny0uMzQ0LjI4LS4zNDQuMjgtLjg3NXptLTUuNTE2LTUuOTA2bC43OTctLjAzMnEtLjkwNi0uNzM0LS45MDYtMS45MDYgMC0yLjAxNiAyLjI2Ni0yLjAzMWg0LjE4N3YxLjA5NGgtNC4yMDNxLS42NzIgMC0xIC4zMTItLjMyOC4yOTctLjMyOC45NTMgMCAuNTMxLjI4MS45MzguMjgxLjM5LjczNC42MWg0LjUxNnYxLjA3N2gtNi4zNDR2LTEuMDE1em01LjU3OC04LjUxNnEwLS41NzgtLjM0My0xLjAxNi0uMzYtLjQzNy0uODkxLS40ODR2LTEuMDMxcS41NDcuMDMxIDEuMDQ3LjM5LjQ4NC4zNDQuNzgxLjkyMi4yOTcuNTYzLjI5NyAxLjIxOSAwIDEuMjk3LS44NiAyLjA2Mi0uODc0Ljc1LTIuMzc0Ljc1aC0uMTg4cS0uOTIyIDAtMS42NC0uMzI4LS43Mi0uMzQzLTEuMTEtLjk2OC0uNDA2LS42NDEtLjQwNi0xLjUxNiAwLTEuMDYzLjY0LTEuNzY2LjYyNi0uNzE4IDEuNjU3LS43NjV2MS4wMzFxLS42MjUuMDQ3LTEuMDE2LjQ2OS0uMzkuNDIyLS4zOSAxLjAzMSAwIC44MjguNTkzIDEuMjgxLjU5NC40NTMgMS43MTkuNDUzaC4yMDNxMS4wOTQgMCAxLjY4OC0uNDUzLjU5My0uNDUzLjU5My0xLjI4MXptLjg5MS02LjA5NHEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctOS41NzdxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptNS41LTMuNTYzcTAgMS4yOTctLjg0NCAyLjExLS44Ni43OTYtMi4yODEuNzk2aC0uMTg3cS0uOTU0IDAtMS42ODgtLjM1OS0uNzUtLjM2LTEuMTU2LTEtLjQyMi0uNjU2LS40MjItMS40MDYgMC0xLjIzNS44MTItMS45MjIuODEzLS42ODggMi4zMjktLjY4OGguNDUzdjQuMjk3cS45MzctLjAzIDEuNTE1LS41NDcuNTc4LS41My41NzgtMS4zNDMgMC0uNTYzLS4yMzQtLjk1My0uMjM0LS40MDctLjYyNS0uNzJsLjUxNi0uNjU1cTEuMjM0Ljc5NiAxLjIzNCAyLjM5em0tNS42ODcuMTRxMCAuNjU3LjQ4NCAxLjExLjQ2OS40MzggMS4zMjguNTMxdi0zLjE3MWgtLjA3OHEtLjgyOC4wNDYtMS4yODEuNDUzLS40NTMuMzktLjQ1MyAxLjA3OHptNS41NjItNC42ODd2MS4wNzhoLTl2LTEuMDc4aDl6bTAtNS43MzRxLS4xODcuMDk0LS42NzIuMTU2Ljc5Ny43NS43OTcgMS43OTcgMCAuOTM4LS41MzEgMS41NDctLjUzMS41OTQtMS4zNi41OTQtLjk4NCAwLTEuNTMtLjc1LS41NDgtLjc1LS41NDgtMi4xMjV2LTEuMDQ3aC0uNXEtLjU2MiAwLS44OS4zNDQtLjM0NC4zMjgtLjM0NCAxIDAgLjU3OC4yOTcuOTY4LjI4MS4zOTEuNzAzLjM5MXYxLjA5NHEtLjQ4NCAwLS45MjItLjMyOC0uNDM3LS4zNDQtLjY4Ny0uOTIyLS4yNjYtLjU3OC0uMjY2LTEuMjY2IDAtMS4xMS41NDctMS43MTkuNTQ3LS42MjUgMS41LS42NTZoMi45MjJxLjg3NSAwIDEuMzktLjIxOWguMDk0djEuMTQxem0tLjgyOCAxLjc5N3EwLS41MTYtLjI2Ni0uOTY5LS4yNjUtLjQ1My0uNjg3LS42NTZoLTEuMjk3di44NDRxMCAyIDEuMTcyIDIgLjUgMCAuNzk3LS4zNDQuMjgtLjM0NC4yOC0uODc1em0tNy4wNDctNi4zNmgxLjUzMXYtMS4xNzFoLjg0NHYxLjE3MWgzLjkyMnEuMzkgMCAuNTc4LS4xNTYuMTg4LS4xNTYuMTg4LS41MzEgMC0uMTg4LS4wNjMtLjUxNmguODc1cS4xMjUuNDIyLjEyNS44MjggMCAuNzItLjQzNyAxLjA5NC0uNDU0LjM3NS0xLjI2Ni4zNzVIMjUuMDV2MS4xNTZoLS44NDR2LTEuMTU2aC0xLjUzMXYtMS4wOTR6bTcuODc1LTMuNzAzdjEuMDc4aC02LjM0NHYtMS4wNzhoNi4zNDR6bS04LjAxNiAxLjE3MnEtLjI2NSAwLS40NTMtLjE1Ni0uMTg3LS4xNzItLjE4Ny0uNDg0IDAtLjMxMy4xODctLjQ3LjE4OC0uMTcxLjQ1My0uMTcxLjI1IDAgLjQzOC4xNzIuMTcyLjE1Ni4xNzIuNDY5IDAgLjMxMi0uMTcyLjQ4NC0uMTg4LjE1Ni0uNDM4LjE1NnptNi41NDctNS4wNzhsLTQuODc1LTEuNTc4di0xLjExbDYuMzQ0IDIuMjgydi44MjhsLTYuMzQ0IDIuMjk3di0xLjExbDQuODc1LTEuNjA5em0xLjU5NC02LjU0N3EwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS0yLjMxMy03Ljk4NGgxLjUzMXYtMS4xNzFoLjg0NHYxLjE3MWgzLjkyMnEuMzkgMCAuNTc4LS4xNTYuMTg4LS4xNTYuMTg4LS41MzEgMC0uMTg4LS4wNjMtLjUxNmguODc1cS4xMjUuNDIyLjEyNS44MjggMCAuNzItLjQzNyAxLjA5NC0uNDU0LjM3NS0xLjI2Ni4zNzVIMjUuMDV2MS4xNTZoLS44NDR2LTEuMTU2aC0xLjUzMXYtMS4wOTR6bTQuNjQtMi4yMzRxLS45MjEgMC0xLjY3MS0uMzYtLjc1LS4zNzQtMS4xNC0xLjAzLS40MDctLjY1Ny0uNDA3LTEuNDg1IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0MS0xLjA5NHExLjA0NyAwIDEuNjg4LS40ODQuNjQtLjUuNjQtMS4zMTMgMC0uODI4LS42NC0xLjMxMi0uNjU2LS40ODQtMS44MjgtLjQ4NC0xLjAzMiAwLTEuNjcyLjUtLjY1Ni40ODQtLjY1NiAxLjMxMiAwIC43OTcuNjQgMS4yOTcuNjI1LjQ4NCAxLjgyOC40ODR6bS00LjUxNS0xNS4yNjV2Mi43NWg3LjYwOXYxLjExaC03LjYxdjIuNzVoLS45MjF2LTYuNjFoLjkyMnptNi45ODQtNC44NDRxLjc1LjYyNS43NSAxLjg2IDAgMS4wMTUtLjU5NCAxLjU0Ni0uNTkzLjUzMS0xLjc1LjUzMWgtNC4xMjV2LTEuMDc4SDI4LjNxMS40NTMgMCAxLjQ1My0xLjE3MiAwLTEuMjUtLjkzNy0xLjY1NmgtNC42MXYtMS4wOTRoNi4zNDR2MS4wMzJsLS42MjUuMDMxem0tNC43NS02LjE1NnEtLjAzMS4yNS0uMDMxLjUzMSAwIDEuMDc4LjkwNiAxLjQ1M2g0LjV2MS4wNzhoLTYuMzQ0di0xLjA0N2wuNzM1LS4wMTVxLS44NDQtLjUzMi0uODQ0LTEuNTE2IDAtLjMxMi4wNzgtLjQ4NGgxem0yLjI4MS02LjI5N3ExLjQ1MyAwIDIuMzQ0LjY3Mi44NzUuNjU2Ljg3NSAxLjc4MSAwIDEuMjAzLS44NiAxLjg2bC43MzUuMDYydi45ODRoLTl2LTEuMDc4aDMuMzZxLS44MTMtLjY1Ni0uODEzLTEuODEyIDAtMS4xNTcuODc1LTEuODEzLjg2LS42NTYgMi4zOS0uNjU2aC4wOTR6bS0uMTI1IDEuMDc4cS0xLjExIDAtMS43MDMuNDM3LS42MS40MjItLjYxIDEuMjIgMCAxLjA3Ny45ODUgMS41NDZoMi43NXExLS41IDEtMS41NDcgMC0uNzgxLS42MS0xLjIxOS0uNjA5LS40MzctMS44MTItLjQzN3ptLS4wMTUtMi40MjJxLS45MjIgMC0xLjY3Mi0uMzYtLjc1LS4zNzQtMS4xNC0xLjAzLS40MDctLjY1Ny0uNDA3LTEuNDg1IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0LTEuMDk0cTEuMDQ3IDAgMS42ODgtLjQ4NC42NC0uNS42NC0xLjMxMyAwLS44MjgtLjY0LTEuMzEyLS42NTYtLjQ4NC0xLjgyOC0uNDg0LTEuMDMyIDAtMS42NzIuNS0uNjU2LjQ4NC0uNjU2IDEuMzEyIDAgLjc5Ny42NCAxLjI5Ny42MjUuNDg0IDEuODI4LjQ4NHptLS42NzItMTEuMDc4djMuNTk0aDMuNzY2djEuMTI1aC04LjUzMXYtNS4yOTdoLjkyMnY0LjE3MmgyLjkyMnYtMy41OTRoLjkyMXptMy43NjYtNi4wMzFxLS4xODcuMDk0LS42NzIuMTU2Ljc5Ny43NS43OTcgMS43OTcgMCAuOTM4LS41MzEgMS41NDctLjUzMS41OTQtMS4zNi41OTQtLjk4NCAwLTEuNTMtLjc1LS41NDgtLjc1LS41NDgtMi4xMjV2LTEuMDQ3aC0uNXEtLjU2MiAwLS44OS4zNDQtLjM0NC4zMjgtLjM0NCAxIDAgLjU3OC4yOTcuOTY4LjI4MS4zOTEuNzAzLjM5MXYxLjA5NHEtLjQ4NCAwLS45MjItLjMyOC0uNDM3LS4zNDQtLjY4Ny0uOTIyLS4yNjYtLjU3OC0uMjY2LTEuMjY2IDAtMS4xMS41NDctMS43MTkuNTQ3LS42MjUgMS41LS42NTZoMi45MjJxLjg3NSAwIDEuMzktLjIxOWguMDk0djEuMTQxem0tLjgyOCAxLjc5N3EwLS41MTYtLjI2Ni0uOTY5LS4yNjUtLjQ1My0uNjg3LS42NTZoLTEuMjk3di44NDRxMCAyIDEuMTcyIDIgLjUgMCAuNzk3LS4zNDQuMjgtLjM0NC4yOC0uODc1em0tNS41MTYtNS45MDZsLjc5Ny0uMDMycS0uOTA2LS43MzQtLjkwNi0xLjkwNiAwLTIuMDE2IDIuMjY2LTIuMDMxaDQuMTg3djEuMDk0aC00LjIwM3EtLjY3MiAwLTEgLjMxMi0uMzI4LjI5Ny0uMzI4Ljk1MyAwIC41MzEuMjgxLjkzOC4yODEuMzkuNzM0LjYxaDQuNTE2djEuMDc3aC02LjM0NHYtMS4wMTV6bS0yLjUxNS0xMS4yMnYxLjExaDkuNzk3di0xLjExaC44OXYyLjIwNEgyMC44di0yLjIwM2guODl6bTguODU5LTEuOTM3djEuMDc4aC05di0xLjA3OGg5em0tMy4yMzQtMS41M3EtLjkyMiAwLTEuNjcyLS4zNi0uNzUtLjM3NS0xLjE0LTEuMDMyLS40MDctLjY1Ni0uNDA3LTEuNDg0IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0LTEuMDk1cTEuMDQ3IDAgMS42ODgtLjQ4NC42NC0uNS42NC0xLjMxMyAwLS44MjgtLjY0LTEuMzEyLS42NTYtLjQ4NC0xLjgyOC0uNDg0LTEuMDMyIDAtMS42NzIuNS0uNjU2LjQ4NC0uNjU2IDEuMzEyIDAgLjc5Ny42NCAxLjI5Ny42MjUuNDg0IDEuODI4LjQ4NHptMS41OTQtMTEuODEybC00Ljg0NC0xLjIxOXYtMS4wNzhsNi4zNDQgMS44NDR2Ljg3NWwtNC44MTIgMS41NDcgNC44MTIgMS41di44NzVsLTYuMzQ0IDEuODQzdi0xLjA3OGw0Ljc1LTEuMjUtNC43NS0xLjQ4NHYtLjg2bDQuODQ0LTEuNTE1em0xLjYyNS02LjAxNnEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctNi41NzdxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptNS4zNzUtNS4xMXYxLjA3OGgtNi4zNDR2LTEuMDc4aDYuMzQ0em0tOC4wMTYgMS4xNzJxLS4yNjUgMC0uNDUzLS4xNTYtLjE4Ny0uMTcyLS4xODctLjQ4NCAwLS4zMTMuMTg3LS40Ny4xODgtLjE3MS40NTMtLjE3MS4yNSAwIC40MzguMTcyLjE3Mi4xNTYuMTcyLjQ2OSAwIC4zMTItLjE3Mi40ODQtLjE4OC4xNTYtLjQzOC4xNTZ6bTYuMzI5LTYuNjg3cS0uNDM4IDAtLjY3Mi4zNDMtLjI1LjMyOS0uNDIyIDEuMTU3LS4xNzIuODEyLS40MjIgMS4yOTctLjI1LjQ4NC0uNTc4LjcxOC0uMzQ0LjIyLS44MTMuMjItLjc4MSAwLTEuMzEyLS42NTctLjU0Ny0uNjU2LS41NDctMS42ODggMC0xLjA3OC41NjItMS43MzQuNTQ3LS42NzIgMS40MDctLjY3MnYxLjA3OHEtLjQzOCAwLS43NS4zOS0uMzI4LjM3Ni0uMzI4LjkzOCAwIC41OTQuMjY1LjkzOC4yNS4zMjguNjU2LjMyOC4zOTEgMCAuNTk0LS4zMTMuMjAzLS4zMTIuMzktMS4xMjUuMTczLS44MTIuNDIzLTEuMzEydC42MDktLjczNHEuMzYtLjI1Ljg2LS4yNS44NTkgMCAxLjM3NC42ODcuNTE2LjY3Mi41MTYgMS43NSAwIC43NjYtLjI2NiAxLjM2LS4yOC41NzgtLjc2NS45MDYtLjQ4NS4zMjgtMS4wNDcuMzI4di0xLjA3OHEuNTQ3LS4wMzIuODc1LS40MzguMzEyLS40MDYuMzEyLTEuMDc4IDAtLjYxLS4yNS0uOTg0LS4yNS0uMzc1LS42NzEtLjM3NXptLTEuNDA3LTEwLjY3MnExLjQ1MyAwIDIuMzQ0LjY3Mi44NzUuNjU2Ljg3NSAxLjc4MSAwIDEuMjAzLS44NiAxLjg2bC43MzUuMDYydi45ODRoLTl2LTEuMDc4aDMuMzZxLS44MTMtLjY1Ni0uODEzLTEuODEyIDAtMS4xNTcuODc1LTEuODEzLjg2LS42NTYgMi4zOS0uNjU2aC4wOTR6bS0uMTI1IDEuMDc4cS0xLjExIDAtMS43MDMuNDM3LS42MS40MjItLjYxIDEuMjIgMCAxLjA3Ny45ODUgMS41NDZoMi43NXExLS41IDEtMS41NDcgMC0uNzgxLS42MS0xLjIxOS0uNjA5LS40MzctMS44MTItLjQzN3ptMy4zNDQtNS4zNDRxMCAxLjI5Ny0uODQ0IDIuMTEtLjg2Ljc5Ni0yLjI4MS43OTZoLS4xODdxLS45NTQgMC0xLjY4OC0uMzU5LS43NS0uMzYtMS4xNTYtMS0uNDIyLS42NTYtLjQyMi0xLjQwNiAwLTEuMjM1LjgxMi0xLjkyMi44MTMtLjY4OCAyLjMyOS0uNjg4aC40NTN2NC4yOTdxLjkzNy0uMDMgMS41MTUtLjU0Ny41NzgtLjUzLjU3OC0xLjM0MyAwLS41NjMtLjIzNC0uOTUzLS4yMzQtLjQwNy0uNjI1LS43MmwuNTE2LS42NTVxMS4yMzQuNzk2IDEuMjM0IDIuMzl6bS01LjY4Ny4xNHEwIC42NTcuNDg0IDEuMTEuNDY5LjQzOCAxLjMyOC41MzFWOTIuODRoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS0yLjMxMy00Ljk4NGgxLjUzMXYtMS4xNzFoLjg0NHYxLjE3MWgzLjkyMnEuMzkgMCAuNTc4LS4xNTYuMTg4LS4xNTYuMTg4LS41MzEgMC0uMTg4LS4wNjMtLjUxNmguODc1cS4xMjUuNDIyLjEyNS44MjggMCAuNzItLjQzNyAxLjA5NC0uNDU0LjM3NS0xLjI2Ni4zNzVIMjUuMDV2MS4xNTZoLS44NDRWOTAuNDhoLTEuNTMxdi0xLjA5NHptMC00aDEuNTMxdi0xLjE3MWguODQ0djEuMTcxaDMuOTIycS4zOSAwIC41NzgtLjE1Ni4xODgtLjE1Ni4xODgtLjUzMSAwLS4xODgtLjA2My0uNTE2aC44NzVxLjEyNS40MjIuMTI1LjgyOCAwIC43Mi0uNDM3IDEuMDk0LS40NTQuMzc1LTEuMjY2LjM3NUgyNS4wNXYxLjE1NmgtLjg0NFY4Ni40OGgtMS41MzF2LTEuMDk0em04LTUuMTU2cTAgMS4yOTctLjg0NCAyLjExLS44Ni43OTYtMi4yODEuNzk2aC0uMTg3cS0uOTU0IDAtMS42ODgtLjM1OS0uNzUtLjM2LTEuMTU2LTEtLjQyMi0uNjU2LS40MjItMS40MDYgMC0xLjIzNS44MTItMS45MjIuODEzLS42ODggMi4zMjktLjY4OGguNDUzdjQuMjk3cS45MzctLjAzIDEuNTE1LS41NDcuNTc4LS41My41NzgtMS4zNDMgMC0uNTYzLS4yMzQtLjk1My0uMjM0LS40MDctLjYyNS0uNzJsLjUxNi0uNjU1cTEuMjM0Ljc5NiAxLjIzNCAyLjM5em0tNS42ODcuMTRxMCAuNjU3LjQ4NCAxLjExLjQ2OS40MzggMS4zMjguNTMxVjc4Ljg0aC0uMDc4cS0uODI4LjA0Ni0xLjI4MS40NTMtLjQ1My4zOS0uNDUzIDEuMDc4em0uMTg3LTYuNTc3cS0uMDMxLjI1LS4wMzEuNTMxIDAgMS4wNzguOTA2IDEuNDUzaDQuNXYxLjA3OGgtNi4zNDR2LTEuMDQ3bC43MzUtLjAxNXEtLjg0NC0uNTMyLS44NDQtMS41MTYgMC0uMzEyLjA3OC0uNDg0aDF6bS00LjM3NS0uMTU3di0yLjIxOGgxMS41Nzh2Mi4yMThoLS44OXYtMS4xNEgyMS42OXYxLjE0SDIwLjh6Ii8+PHBhdGggZmlsbD0iIzc1NzU3NSIgZD0iTTY1LjYyOCAyODIuNzY3aC0yLjg2di0uODc1aDIuODZ2Ljg3NXptNi4yMTkgMy4xODhoLTUuNTk0di0uNzgxbDIuOTUzLTMuMjgycS42NTYtLjc1LjkwNi0xLjIwMy4yNS0uNDY5LjI1LS45NjkgMC0uNjcxLS40MDYtMS4wOTMtLjM5LS40MzgtMS4wNzgtLjQzOC0uNzk3IDAtMS4yNS40NjktLjQ1My40NTMtLjQ1MyAxLjI4MWgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNi43NjYtLjczNCAyLjAzMS0uNzM0IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzEgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ3aDQuMjh2Ljg5em0xLjkwNi00LjI4MWwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4LjY4OC43NjcuNjg4IDIuMDc5IDAgMS4zMTMtLjcyIDIuMDc4LS43MDIuNzY2LTEuOTg0Ljc2Ni0xLjEyNCAwLTEuODQzLS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTEuNDIyLjM3NCAxLjExLjM3NC43NSAwIDEuMTg3LS41MTUuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE4em02LjQwNi0yLjYxcTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTZ2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDM4cTAtLjQ2OS0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6TTY5LjQ3MiAyNDQuODdoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMmgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptOS4xNC45MzhxMCAxLjkwNi0uNjU2IDIuODQ0LS42NC45MjEtMi4wMzEuOTIxLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzN3EwLTEuODkuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzYuNjcxIDIuNzJ2MS40MDZ6bS0xLjA5My0xLjQ4NXEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM1cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODJ6bTIuNjQtMS43NjVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQzN3EwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjczLjYxLjM5MS00LjE1NyA2LjY3MnpNNjIuNDcyIDIwOC4zNjRoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptOS4zNzUgNC41NzhoLTUuNTk0di0uNzgxbDIuOTUzLTMuMjgxcS42NTYtLjc1LjkwNi0xLjIwNC4yNS0uNDY4LjI1LS45NjggMC0uNjcyLS40MDYtMS4wOTQtLjM5LS40MzgtMS4wNzgtLjQzOC0uNzk3IDAtMS4yNS40Ny0uNDUzLjQ1Mi0uNDUzIDEuMjhoLTEuMDc4cTAtMS4xODcuNzUtMS45MDYuNzY2LS43MzQgMi4wMzEtLjczNCAxLjIwMyAwIDEuODkuNjI1LjY4OC42MjUuNjg4IDEuNjcyIDAgMS4yNS0xLjYxIDNsLTIuMjggMi40NjhoNC4yOHYuODkxem0xLjkwNi00LjI4MWwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OCAwIDEuMzEzLS43MiAyLjA3OC0uNzAyLjc2Ni0xLjk4NC43NjYtMS4xMjQgMC0xLjg0My0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM0LjUzMSAxLjExLjQyMi4zNzQgMS4xMS4zNzQuNzUgMCAxLjE4Ny0uNTE1LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE2LTEuMjUtLjUxNi0uNzAyIDAtMS4xMDkuMjk3bC0uMjguMjM1LS44NzYtLjIyem02LjQwNi0yLjYxcTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgyLS4yNS43ODJ2LjQyMXptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyek02Mi40NzIgMTcxLjg1OGgyLjM5djEuMDNoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4N2gtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTQuMjgxLjI5N2wuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4LjY4OC43NjcuNjg4IDIuMDc5IDAgMS4zMTMtLjcyIDIuMDc4LS43MDIuNzY2LTEuOTg0Ljc2Ni0xLjEyNCAwLTEuODQzLS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTEuNDIyLjM3NCAxLjExLjM3NC43NSAwIDEuMTg3LS41MTUuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE4em0xMS44Ni42NHEwIDEuOTA2LS42NTcgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MnYtMS40MzdxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIxIDIuMDQ3LS45MjEgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcxOXYxLjQwNnptLTEuMDk0LTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXptMi42NC0xLjc2NnEwLS43NjUuNDg1LTEuMjY1LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk2di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQzOHEwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyek02Mi40NzIgMTM1LjM1MWgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDNoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODR6bTkuMjk3LTMuMzQ0bC0zLjUzMiA3LjkyMmgtMS4xNGwzLjUxNi03LjY0aC00LjYxdi0uODloNS43NjZ2LjYwOHptMS45ODQgMy42NDFsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzkgMCAxLjMxMi0uNzIgMi4wNzgtLjcwMi43NjUtMS45ODQuNzY1LTEuMTI0IDAtMS44NDMtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNS41MzEgMS4xMS40MjIuMzc1IDEuMTEuMzc1Ljc1IDAgMS4xODctLjUxNi40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNS0xLjI1LS41MTUtLjcwMiAwLTEuMTA5LjI5NmwtLjI4LjIzNS0uODc2LS4yMTl6bTYuNDA2LTIuNjFxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDU0cTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5NnYuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjF6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDctLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgtLjI1Ljc4di40MjN6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOS00LjE1NyA2LjY3M3pNNTUuNDcyIDk4Ljg0NWgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzlWOTYuMzZoMS4wNzh2Mi40ODR6bTcuMzQ0IDQuNTc4aC0xLjA3OXYtNy4yMTlsLTIuMTg3Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ2OC41Nzh6bTguNzk2LTMuNjRxMCAxLjkwNi0uNjU2IDIuODQzLS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzN3EwLTEuODkxLjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcydjEuNDA1em0tMS4wOTMtMS40ODVxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem04LjA5MyAxLjQ4NHEwIDEuOTA3LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA2LS42ODctMi43MTl2LTEuNDM3cTAtMS44OTEuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzUuNjcxIDIuNzJ2MS40MDV6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTIuNjQtMS43NjZxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDU0cTAgLjQ1My4yNS43NS4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODItLjI1Ljc4MnYuNDIxem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6TTU1LjQ3MiA2Mi4zMzloMi4zOXYxLjAzaC0yLjM5djIuNjg4aC0xLjA3OFY2My4zN2gtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTcuMzQ0IDQuNTc4aC0xLjA3OXYtNy4yMmwtMi4xODcuNzk4di0uOTg1bDMuMTEtMS4xNzFoLjE1NnY4LjU3OHptOS4wMyAwaC01LjU5M3YtLjc4MmwyLjk1My0zLjI4cS42NTYtLjc1LjkwNi0xLjIwNC4yNS0uNDY5LjI1LS45NjkgMC0uNjcyLS40MDYtMS4wOTMtLjM5LS40MzgtMS4wNzgtLjQzOC0uNzk3IDAtMS4yNS40NjktLjQ1My40NTMtLjQ1MyAxLjI4MWgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNi43NjYtLjczNSAyLjAzMS0uNzM1IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OWg0LjI4di44OXptMS45MDctNC4yODJsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI5cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43OC42ODguNzY2LjY4OCAyLjA3OSAwIDEuMzEyLS43MiAyLjA3OC0uNzAyLjc2Ni0xLjk4NC43NjYtMS4xMjQgMC0xLjg0My0uNjI1LS43MTktLjY0MS0uODEzLTEuNzVoMS4wMTZxLjExLjczNC41MzEgMS4xMDkuNDIyLjM3NSAxLjExLjM3NS43NSAwIDEuMTg3LS41MTYuNDM4LS41MTUuNDM4LTEuNDIxIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE5em02LjQwNi0yLjYwOXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTcuMjUtLjc5N3YtLjQzN3EwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyek00Ni42NjcgMzM3LjI0bDUuODk5IDQuNjIzLTEuMDY4LTcuNDEyIDEuMjcyLS43MzQgNC4yNjYgNy4zODgtLjk3NS41NjItMS42NjQtMi44ODItMS42OTQtMy4xNTMgMS4wMTcgNy4zODctLjc0NC40My01Ljg2Ny00LjU3IDEuODc2IDMuMDMxIDEuNjY0IDIuODgyLS45NzUuNTYzLTQuMjY1LTcuMzg4IDEuMjU4LS43Mjd6bTE0LjkxNSAxLjI0cS0uMTc1LS4xMTYtLjQ3MS0uNTA0LS4yNTEgMS4wNjUtMS4xNTggMS41ODktLjgxMi40NjktMS42MDUuMzEzLS43OC0uMTYzLTEuMTk0LS44OC0uNDkyLS44NTMtLjExNi0xLjcwMS4zNzYtLjg0OSAxLjU2Ny0xLjUzNmwuOTA2LS41MjQtLjI1LS40MzNxLS4yOC0uNDg3LS43NDMtLjYtLjQ1Ni0uMTMzLTEuMDM3LjIwMy0uNTAxLjI4OS0uNjkxLjc0MS0uMTk4LjQ0LjAxMy44MDVsLS45NDcuNTQ3cS0uMjQyLS40Mi0uMTc3LS45NjMuMDgtLjU1LjQ1NS0xLjA1Ni4zNjgtLjUyLjk2My0uODYzLjk2LS41NTUgMS43NjItLjM4Ni44MTUuMTYxIDEuMzE4Ljk3MWwxLjQ2MSAyLjUzcS40MzguNzU4Ljg4NSAxLjA5NWwuMDQ3LjA4Mi0uOTg4LjU3em0tMS45Ny4xODFxLjQ0Ny0uMjU4LjcwNi0uNzE0LjI2LS40NTcuMjI1LS45MjRsLS42NDktMS4xMjMtLjczLjQyMnEtMS43MzIgMS0xLjE0NyAyLjAxNS4yNS40MzMuNjk3LjUxOC40MzguMDcyLjg5OC0uMTk0em0yLjM1Ny03LjczbC40MjYuNjc1cS4xODItMS4xNTIgMS4xOTctMS43MzggMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3MS43MTMtLjE5OC40MzktLjE2Ljk0bDIuMjU3IDMuOTExLS45MzQuNTM5LTMuMTcxLTUuNDk0Ljg4LS41MDh6bTYuNTE1LS4xNTNxLS43MzQtMS4yNzItLjU3Ni0yLjM3My4xNS0xLjExNSAxLjEyNC0xLjY3OC45Ni0uNTU0IDEuOTA0LS4yMzNsLTEuNjQ4LTIuODU1LjkzMy0uNTQgNC41IDcuNzk1LS44NjYuNS0uMzg0LS41NzJxLS4xNjIgMS4wMzItMS4xNjMgMS42MS0uOTQ4LjU0Ny0yLjAxLjExNC0xLjA0OC0uNDQyLTEuNzc1LTEuN2wtLjAzOS0uMDY4em0uOTk2LS40M3EuNTQuOTMzIDEuMjIzIDEuMjQyLjY5Ny4zMDEgMS4zNzQtLjA5Ljg5My0uNTE1Ljg0NC0xLjU2OWwtMS40NTQtMi41MTdxLS44NjQtLjUyOS0xLjc0NC0uMDIxLS42OS4zOTgtLjc3OCAxLjE1My0uMDc0Ljc0Ni41MzUgMS44MDJ6bTkuMjQyLTEuNjJxLTEuMTI0LjY1LTIuMjQ5LjMyNS0xLjEyLS4zNDYtMS44My0xLjU3N2wtLjA5NS0uMTYzcS0uNDc2LS44MjUtLjUzMi0xLjY0LS4wNjQtLjgzLjI4OC0xLjUwMi4zNTctLjY5NCAxLjAwNy0xLjA2OSAxLjA2OS0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIgMi4xNDhxLjQ5NS43OTcgMS4yMyAxLjA0Ljc1LjIzNCAxLjQ1My0uMTcyLjQ4OC0uMjgxLjcwOS0uNjguMjM0LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2Ni00Ljg1NHEtLjU2OC4zMjgtLjcxOC45NzQtLjE0NS42MjQuMjA0IDEuNDE2bDIuNzQ2LTEuNTg2LS4wMzktLjA2OHEtLjQ1NC0uNjk0LTEuMDMzLS44ODMtLjU2NS0uMTk3LTEuMTYuMTQ3em02Ljg0IDIuNDczbC0uOTMzLjU0LTQuNS03Ljc5NS45MzQtLjU0IDQuNSA3Ljc5NXptNC42NzktNi4yNzNxLjcyNiAxLjI1OS41OSAyLjM2Ni0uMTMxIDEuMDg2LTEuMTA2IDEuNjQ4LTEuMDQyLjYwMi0yLjA0LjE4NmwuMzE0LjY2Ny0uODUzLjQ5Mi00LjUtNy43OTQuOTM0LS41NCAxLjY4IDIuOTFxLjE2MS0xLjAzMiAxLjE2My0xLjYxIDEuMDAxLS41NzggMi4wMDctLjE0OC45OTguNDE2IDEuNzY0IDEuNzQybC4wNDcuMDgxem0tLjk5Ny40M3EtLjU1NC0uOTYtMS4yMy0xLjI1NS0uNjctLjMxNy0xLjM2LjA4MS0uOTM0LjU0LS44NDggMS42MjZsMS4zNzUgMi4zODJxLjkzMy42MTYgMS44NC4wOTIuNjc2LS4zOS43NS0xLjEzNy4wNzUtLjc0Ni0uNTI3LTEuNzg4em0zLjkyOS00Ljc1N3EtLjIzMi4wOTgtLjQ3Ni4yMzgtLjkzMy41NC0uODA1IDEuNTEybDIuMjUgMy44OTctLjkzNC41MzktMy4xNzItNS40OTQuOTA3LS41MjMuMzguNjI4cS4wMzktLjk5Ni44OTEtMS40ODkuMjcxLS4xNTYuNDU5LS4xNzRsLjUuODY2em0xLjYyNSAxLjUzM3EtLjQ2LS43OTgtLjUyNS0xLjYyNy0uMDUtLjgzNy4zMjMtMS41MDQuMzY1LS42OCAxLjA4Mi0xLjA5NCAxLjEyNC0uNjQ4IDIuMjU5LS4yNzUgMS4xNDkuMzY1IDEuODk5IDEuNjY0bC4wMzkuMDY4cS40NjEuNzk4LjUxNyAxLjYxNC4wNTYuODE1LS4zMDEgMS41MDktLjM2Ni42OC0xLjExIDEuMTEtMS4xMS42NC0yLjI1OC4yNzUtMS4xNDQtLjM4Ni0xLjg4Ni0xLjY3MmwtLjAzOS0uMDY4em0xLjAxOC0uNDI1cS41MjMuOTA3IDEuMjYzIDEuMjIuNzUzLjMwNCAxLjQ1Ny0uMTAyLjcxNy0uNDE0LjgxNi0xLjIxLjA5MS0uODExLS40OTQtMS44MjYtLjUxNi0uODkzLTEuMjctMS4xOTgtLjc0Ny0uMzI2LTEuNDY0LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em00LjI1My03Ljk3NmwuNzY2IDEuMzI2IDEuMDE0LS41ODYuNDIyLjczLTEuMDE1LjU4NyAxLjk2MSAzLjM5NnEuMTk2LjMzOC40MjUuNDIzLjIyOS4wODQuNTU0LS4xMDQuMTYyLS4wOTMuNDE1LS4zMTJsLjQzNy43NThxLS4zMDIuMzItLjY1NC41MjItLjYyMy4zNi0xLjE2Ni4xNjgtLjU1Mi0uMjA0LS45NTgtLjkwOGwtMS45Ni0zLjM5Ny0xLjAwMi41NzktLjQyMi0uNzMxIDEuMDAxLS41NzgtLjc2NS0xLjMyNi45NDctLjU0N3ptOS4xNDMtLjU3cS0xLjQ1Ni4zNTMtMi4zNDIuMTYyLS44NzMtLjItMS4zMTktLjk3MS0uNS0uODY2LS4xMzgtMS44MzMuMzY4LS45ODggMS40OTEtMS42MzcuNzU4LS40MzcgMS41MjUtLjQ4My43NjgtLjA0NiAxLjM5LjI4LjYzNC4zMi45OTQuOTQybC0uOTg4LjU3cS0uMzktLjY3Ny0xLjA0Mi0uODA1LS42MzktLjEzNy0xLjQxLjMwOC0uNzE3LjQxNC0uOTM2Ljk3My0uMjI2LjU0Ni4wOTQgMS4xLjI2Ni40Ni44MjUuNTUzLjU3Mi4wODUgMS42NC0uMTkgMS4wNjktLjI3MyAxLjc2My0uMjU5LjcwNy4wMDcgMS4xOTMuMjg1LjUuMjcxLjgyLjgyNi41MjMuOTA3LjEzMiAxLjg1NC0uMzkxLjk0OC0xLjU1NSAxLjYyLS43NzEuNDQ1LTEuNjA2LjUzLS44MjIuMDc4LTEuNDc2LS4yMTItLjY0OS0uMzExLTEuMDE2LS45NDdsLjk3NC0uNTYzcS4zODMuNjYzIDEuMTEuNzY3LjcyOC4xMDMgMS41NTMtLjM3NC43NzEtLjQ0NS45OTgtLjk5LjIxOC0uNTYtLjA5NC0xLjEtLjMxMy0uNTQyLS44NjQtLjYyMS0uNTUtLjA3OS0xLjcxNi4yMTV6bTcuNDU2LS44MDVxLjUtLjI4OS43MDgtLjgwNS4xOTktLjUzLS4wMjYtMS4wMTRsLjg5My0uNTE1cS4yNDYuNDg5LjE4NSAxLjEwMi0uMDU1LjU5MS0uNDA3IDEuMTM3LS4zNC41MzktLjkwOC44NjctMS4xMjMuNjQ4LTIuMjE1LjI4Ny0xLjA4Ny0uMzgzLTEuODM3LTEuNjgybC0uMDk0LS4xNjJxLS40NjEtLjc5OS0uNTM2LTEuNTg1LS4wNjItLjc5NS4yODQtMS40NDYuMzUyLS42NzIgMS4xMS0xLjExLjkyLS41MyAxLjg0OS0uMzI3LjkzNS4xODIgMS40OTEgMS4wNTFsLS44OTMuNTE2cS0uMzUzLS41MTgtLjkxNC0uNjQ1LS41Ni0uMTI4LTEuMDg4LjE3Ny0uNzE3LjQxNC0uODEzIDEuMTU1LS4wOTYuNzQuNDY3IDEuNzE1bC4xMDIuMTc2cS41NDYuOTQ3IDEuMjM2IDEuMjM1LjY4OS4yODcgMS40MDYtLjEyN3ptMy4zNTItNy4yNTdxLS4yMzIuMDk4LS40NzYuMjM4LS45MzQuNTQtLjgwNSAxLjUxMmwyLjI1IDMuODk3LS45MzQuNTM5LTMuMTcyLTUuNDk0LjkwNy0uNTIzLjM4LjYyOHEuMDM5LS45OTYuODkxLTEuNDg5LjI3LS4xNTYuNDU5LS4xNzRsLjUuODY2em00LjUxNCAzLjZsLS45MzQuNTQtMy4xNzItNS40OTUuOTM0LS41MzkgMy4xNzIgNS40OTR6bS01LjAyMy02LjM1NnEtLjEzMy0uMjMtLjA5MS0uNDcuMDU1LS4yNDkuMzI2LS40MDUuMjctLjE1Ni41LS4wNzIuMjQyLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNS4yMjYtLjMyLjM4My0uMjcuMTU2LS41MDYuMDkzLS4yMjktLjA4NC0uMzU0LS4zem05LjY4Ny4wOXEuNzE5IDEuMjQ2LjU5NiAyLjM0NS0uMTIzIDEuMS0xLjExMSAxLjY3LTEuMDAxLjU3OC0xLjkzNy4yN2wxLjUyNCAyLjYzOS0uOTM0LjUzOS00LjM5LTcuNjA1Ljg1Mi0uNDkyLjM5Mi41ODZxLjE3Ni0xLjA0IDEuMTktMS42MjYuOTg4LS41NyAxLjk4Ni0uMTU0IDEuMDEyLjQwOCAxLjc3NyAxLjczNGwuMDU1LjA5NXptLS45OTYuNDMycS0uNTQtLjkzNC0xLjI1LTEuMjI3LS43MDUtLjMxNS0xLjM5NS4wODMtLjg1Mi40OTMtLjg0MiAxLjQ3OWwxLjUxNiAyLjYyNXEuODU3LjUxNiAxLjcyMy4wMTYuNjc2LS4zOS43NjQtMS4xNDUuMDkzLS43NzYtLjUxNi0xLjgzMXptMS4zMTItNi4xMzRsLjc2NSAxLjMyNiAxLjAxNS0uNTg2LjQyMi43My0xLjAxNS41ODcgMS45NjEgMy4zOTZxLjE5Ni4zMzguNDI1LjQyMy4yMjkuMDg0LjU1My0uMTA0LjE2My0uMDkzLjQxNi0uMzEybC40MzcuNzU4cS0uMzAzLjMyLS42NTQuNTIyLS42MjMuMzYtMS4xNjYuMTY4LS41NTItLjIwNC0uOTU4LS45MDhsLTEuOTYtMy4zOTctMS4wMDIuNTc5LS40MjItLjczMSAxLjAwMS0uNTc4LS43NjUtMS4zMjYuOTQ3LS41NDd6TTc5LjM0IDM1Mi43NDZsLS45NzQuNTYyLTQuMjY2LTcuMzg4Ljk3NS0uNTYzIDQuMjY1IDcuMzg5em0tLjg4NS02LjgxNWwuNDI2LjY3NXEuMTgzLTEuMTUyIDEuMTk3LTEuNzM4IDEuNzQ2LTEuMDA4IDIuODkyLjk0NmwyLjA5NCAzLjYyNy0uOTQ3LjU0Ny0yLjEwMi0zLjY0cS0uMzM2LS41ODItLjc3LS43MS0uNDIyLS4xMzYtLjk5LjE5Mi0uNDYuMjY2LS42NzEuNzEzLS4xOTguNDM5LS4xNi45NGwyLjI1NyAzLjkxMS0uOTM0LjUzOS0zLjE3MS01LjQ5NC44OC0uNTA4em0xMC43MDQtLjgwM3EtLjIxOC0uMzc5LS42MzMtLjQxLS40MS0uMDUzLTEuMjEzLjIxMy0uNzkuMjU3LTEuMzM0LjI4My0uNTQ0LjAyNS0uOTExLS4xNDItLjM2MS0uMTg4LS41OTYtLjU5NC0uMzktLjY3Ni0uMDg4LTEuNDY1LjI5NS0uODAxIDEuMTg4LTEuMzE3LjkzNC0uNTM5IDEuNzg0LS4zOC44NTUuMTM4IDEuMjg0Ljg4MmwtLjkzMy41MzlxLS4yMTktLjM3OS0uNzEzLS40NTQtLjQ5LS4wOTctLjk3Ni4xODQtLjUxNS4yOTctLjY4LjctLjE1OS4zOC4wNDQuNzMyLjE5Ni4zMzguNTY4LjM1Ny4zNzIuMDIgMS4xNy0uMjI0Ljc5LS4yNTcgMS4zNDctLjI5LjU1OC0uMDM0Ljk0LjE2LjM5Ny4xODYuNjQ3LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTggMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQxLjA0NS0xLjE2Ny0uMjEtLjUyNy0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI2OS41MjgtLjMwNS43MjgtLjcwOS4yLS40MDQtLjAxMi0uNzd6bS4xODEtNy4yNWwuNzY2IDEuMzI3IDEuMDE1LS41ODYuNDIyLjczLTEuMDE1LjU4NyAxLjk2IDMuMzk2cS4xOTYuMzM4LjQyNS40MjMuMjMuMDg0LjU1NC0uMTA0LjE2Mi0uMDkzLjQxNS0uMzEybC40MzguNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjIuMzYtMS4xNjYuMTY4LS41NTEtLjIwNC0uOTU3LS45MDhsLTEuOTYxLTMuMzk3LTEuMDAyLjU3OS0uNDIyLS43MzEgMS4wMDItLjU3OC0uNzY2LTEuMzI2Ljk0Ny0uNTQ3em05LjUxMyAzLjYwMnEtLjE3NS0uMTE2LS40NzEtLjUwNC0uMjUyIDEuMDY1LTEuMTU4IDEuNTg5LS44MTIuNDY5LTEuNjA1LjMxMy0uNzgtLjE2My0xLjE5NC0uODgtLjQ5Mi0uODUzLS4xMTYtMS43MDEuMzc2LS44NDkgMS41NjYtMS41MzZsLjkwNy0uNTI0LS4yNS0uNDMzcS0uMjgxLS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzguMjAzLS41LjI4OS0uNjkuNzQxLS4xOTguNDQuMDEzLjgwNWwtLjk0Ny41NDdxLS4yNDItLjQyLS4xNzctLjk2My4wNzktLjU1LjQ1NS0xLjA1Ni4zNjctLjUyLjk2My0uODYzLjk2LS41NTUgMS43NjItLjM4Ni44MTQuMTYxIDEuMzE4Ljk3MWwxLjQ2MSAyLjUzcS40MzcuNzU4Ljg4NSAxLjA5NWwuMDQ3LjA4Mi0uOTg4LjU3em0tMS45Ny4xODFxLjQ0Ni0uMjU4LjcwNi0uNzE0LjI2LS40NTcuMjI0LS45MjRsLS42NDgtMS4xMjMtLjczLjQyMnEtMS43MzMgMS0xLjE0NyAyLjAxNS4yNS40MzMuNjk2LjUxOC40MzkuMDcyLjg5OS0uMTk0em0yLjM1Ny03LjczbC40MjUuNjc1cS4xODMtMS4xNTIgMS4xOTgtMS43MzggMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDguNTQ3LTIuMTAxLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3Mi43MTMtLjE5Ny40MzktLjE2Ljk0bDIuMjU4IDMuOTExLS45MzQuNTM5LTMuMTcyLTUuNDk0Ljg4LS41MDh6bTUuNjg5LTUuMDUybC43NjUgMS4zMjYgMS4wMTUtLjU4Ni40MjIuNzMtMS4wMTUuNTg3IDEuOTYxIDMuMzk2cS4xOTUuMzM4LjQyNS40MjMuMjI5LjA4NC41NTMtLjEwNC4xNjMtLjA5My40MTYtLjMxMmwuNDM3Ljc1OHEtLjMwMy4zMi0uNjU1LjUyMi0uNjIyLjM2LTEuMTY1LjE2OC0uNTUyLS4yMDQtLjk1OC0uOTA4bC0xLjk2MS0zLjM5Ny0xLjAwMS41NzktLjQyMi0uNzMxIDEuMDAxLS41NzgtLjc2NS0xLjMyNi45NDctLjU0N3ptNy4xNDQgNC45NjhsLS45MzMuNTQtMy4xNzItNS40OTUuOTMzLS41MzkgMy4xNzIgNS40OTR6bS01LjAyMi02LjM1NnEtLjEzMy0uMjMtLjA5Mi0uNDcuMDU1LS4yNDkuMzI2LS40MDUuMjctLjE1Ni41LS4wNzIuMjQyLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNS4yMjYtLjMyLjM4My0uMjcuMTU2LS41MDUuMDkzLS4yMy0uMDg0LS4zNTQtLjN6bTkuOTg4IDMuNDg5cS0uMTc1LS4xMTYtLjQ3LS41MDQtLjI1MiAxLjA2NS0xLjE1OSAxLjU4OS0uODEyLjQ2OS0xLjYwNS4zMTMtLjc4LS4xNjMtMS4xOTQtLjg4LS40OTItLjg1My0uMTE2LTEuNzAxLjM3Ni0uODQ5IDEuNTY3LTEuNTM2bC45MDctLjUyNC0uMjUtLjQzM3EtLjI4Mi0uNDg3LS43NDMtLjYtLjQ1Ni0uMTMzLTEuMDM4LjIwMy0uNTAxLjI4OS0uNjkuNzQxLS4xOTguNDQuMDEyLjgwNWwtLjk0Ny41NDdxLS4yNDItLjQyLS4xNzctLjk2My4wOC0uNTUuNDU1LTEuMDU2LjM2OC0uNTIuOTYzLS44NjMuOTYxLS41NTUgMS43NjItLjM4Ni44MTUuMTYxIDEuMzE5Ljk3MWwxLjQ2IDIuNTNxLjQzOC43NTguODg1IDEuMDk1bC4wNDcuMDgyLS45ODguNTd6bS0xLjk3LjE4MXEuNDQ3LS4yNTguNzA2LS43MTQuMjYtLjQ1Ny4yMjUtLjkyNGwtLjY0OS0xLjEyMy0uNzMuNDIycS0xLjczMiAxLTEuMTQ2IDIuMDE1LjI1LjQzMy42OTYuNTE4LjQzOC4wNzIuODk4LS4xOTR6bTEuOTg0LTkuMjgybC43NjYgMS4zMjYgMS4wMTUtLjU4Ni40MjEuNzMtMS4wMTQuNTg3IDEuOTYgMy4zOTZxLjE5Ni4zMzguNDI1LjQyMy4yMjkuMDg0LjU1NC0uMTA0LjE2Mi0uMDkzLjQxNS0uMzEybC40MzguNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjMuMzYtMS4xNjYuMTY4LS41NTEtLjIwNC0uOTU4LS45MDhsLTEuOTYtMy4zOTctMS4wMDIuNTc5LS40MjItLjczMSAxLjAwMS0uNTc4LS43NjUtMS4zMjYuOTQ3LS41NDd6bTguNDY2IDQuMzVxLTEuMTI0LjY0OC0yLjI1LjMyNC0xLjExOS0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ni0uODI1LS41MzItMS42NC0uMDY0LS44My4yODgtMS41MDIuMzU3LS42OTQgMS4wMDctMS4wNjkgMS4wNjktLjYxNyAyLjA3LS4yNTcgMS4wMDIuMzYgMS43NiAxLjY3MmwuMjI2LjM5My0zLjcyIDIuMTQ4cS40OTUuNzk3IDEuMjMgMS4wNC43NS4yMzUgMS40NTMtLjE3Mi40ODctLjI4MS43MDktLjY4LjIzNC0uNDA1LjMxLS45bC44MjYuMTE4cS0uMDczIDEuNDY4LTEuNDUzIDIuMjY1em0tMi45NjYtNC44NTVxLS41NjguMzI4LS43MTkuOTc0LS4xNDQuNjI0LjIwNCAxLjQxNmwyLjc0Ny0xLjU4Ni0uMDM5LS4wNjhxLS40NTQtLjY5NC0xLjAzMy0uODgzLS41NjUtLjE5Ny0xLjE2LjE0N3ptNy4wNzMtLjMxM3EtLjMwNS0uNTI4LS4yNjUtMS4xNDYuMDQtLjYxOS41MzUtMS42OTgtLjg0NS0uMzA3LTEuMjE4LS41NzgtLjM3My0uMjcyLS41ODQtLjYzNy0uNDg1LS44NC0uMjctMS41OTQuMjE5LS43NzYgMS4wNzEtMS4yNjguNzU4LS40MzggMS41MTYtLjI4Ljc1OS4xNTcgMS4xNS44MzQuMjU3LjQ0Ni4yNDYuOTU4LS4wMTEuNTEyLS4zMjQgMS4yNTFsLS4zMTUuNzA1IDIuNzcgMS4wMTdxLS4wMjMtLjg1My0uNDkxLTEuNjY0bC44MzktLjQ4NXEuNzUgMS4zLjYyIDIuNTExbDEuNzgxLjY1LTEuMTIzLjY0OC0uODIzLS4zMDFxLS4xODMuNTU3LS41OTYgMS4wMy0uNC40NjUtLjkxMy43NjItMS4wODMuNjI1LTIuMDc0LjQ0LS45ODYtLjIwOC0xLjUzMi0xLjE1NXptMy4xNi0uMDU3cS43NDQtLjQzIDEuMDI1LTEuMzVsLTMuMDUtMS4xMjUtLjA5MS4yMTVxLS40ODYgMS4xMjgtLjExIDEuNzc4LjM1LjYwOS45NTQuNzQ4LjU5Ni4xMjUgMS4yNzItLjI2NnptLTMuNzc0LTQuNTY4cS4yODEuNDg3IDEuMjk4Ljg3NGwuMzU0LS43NjNxLjIxLS40NDcuMjA4LS43MzQuMDAyLS4zMDgtLjE3OC0uNjItLjE5NS0uMzM4LS41ODUtLjQyLS4zOS0uMDgtLjc2OS4xMzgtLjQyLjI0Mi0uNDk5LjY2Ny0uMDguNDI1LjE3Ljg1OHptMTAuNzYgMS40MTlsLTQuMjY1LTcuMzg4IDIuMDk3LTEuMjExcS45NjEtLjU1NSAxLjk0Mi0uNTQ0Ljk4Ni0uMDEgMS44NDUuNTQuODYuNTUgMS40NTMgMS41OGwuMjY2LjQ2cS42MSAxLjA1NS42NTYgMi4wNzQuMDYxIDEuMDExLS40NTUgMS44NjgtLjUwMi44NS0xLjQ4MiAxLjQzM2wtMi4wNTYgMS4xODh6bS0yLjgzLTcuMTUzbDMuMzQ0IDUuNzkyIDEuMDI4LS41OTRxMS4xMjMtLjY0OCAxLjM0Ny0xLjY5OC4yMy0xLjA3LS41Mi0yLjM3bC0uMjUtLjQzM3EtLjcyNi0xLjI1OC0xLjcyLTEuNjA0LS45ODgtLjM2OC0yLjA5Mi4yNTFsLTEuMTM3LjY1NnptMTEuOTYgMi4wMjdxLTEuMTI0LjY0OC0yLjI1LjMyNC0xLjEyLS4zNDYtMS44My0xLjU3N2wtLjA5NC0uMTYzcS0uNDc2LS44MjUtLjUzMi0xLjY0LS4wNjQtLjgzLjI4Ny0xLjUwMi4zNTgtLjY5NCAxLjAwNy0xLjA2OSAxLjA3LS42MTcgMi4wNzEtLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIxIDIuMTQ4cS40OTYuNzk3IDEuMjMxIDEuMDQuNzUuMjM1IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1MyAyLjI2NXptLTIuOTY2LTQuODU1cS0uNTY5LjMyOC0uNzE5Ljk3NC0uMTQ0LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjAzOS0uMDY4cS0uNDU1LS42OTQtMS4wMzMtLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTguMTc1LS4yNDZxLS4yMTgtLjM3OS0uNjMzLS40MS0uNDEtLjA1My0xLjIxMy4yMTMtLjc5LjI1Ny0xLjMzNC4yODMtLjU0NC4wMjUtLjkxMS0uMTQyLS4zNjItLjE4OC0uNTk2LS41OTQtLjM5LS42NzYtLjA4OC0xLjQ2NS4yOTUtLjgwMSAxLjE4OC0xLjMxNy45MzQtLjUzOSAxLjc4My0uMzguODU2LjEzOCAxLjI4NS44ODJsLS45MzMuNTM5cS0uMjE5LS4zNzktLjcxNC0uNDU0LS40ODgtLjA5Ny0uOTc2LjE4NC0uNTE0LjI5Ny0uNjc5LjctLjE1OS4zOC4wNDQuNzMyLjE5Ni4zMzguNTY4LjM1Ny4zNzIuMDIgMS4xNy0uMjI0Ljc4OS0uMjU3IDEuMzQ3LS4yOS41NTgtLjAzNC45NC4xNi4zOTcuMTg2LjY0Ny42Mi40My43NDMuMDkyIDEuNTM0LS4zMjQuNzgyLTEuMjU4IDEuMzIxLS42NjMuMzgzLTEuMzEuNDUtLjY0MS4wNDUtMS4xNjctLjIxLS41MjctLjI1NS0uODA4LS43NDNsLjkzNC0uNTM5cS4zLjQ1OC44MTYuNTQuNTA4LjA2NyAxLjA5LS4yNjkuNTI4LS4zMDUuNzI3LS43MDkuMi0uNDA0LS4wMS0uNzd6bS4xODEtNy4yNWwuNzY2IDEuMzI3IDEuMDE1LS41ODYuNDIyLjczLTEuMDE1LjU4NyAxLjk2IDMuMzk2cS4xOTYuMzM4LjQyNS40MjMuMjMuMDg0LjU1NC0uMTA0LjE2Mi0uMDkzLjQxNS0uMzEybC40MzguNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjMuMzYtMS4xNjYuMTY4LS41NTEtLjIwNC0uOTU4LS45MDhsLTEuOTYtMy4zOTctMS4wMDIuNTc5LS40MjItLjczMSAxLjAwMi0uNTc4LS43NjYtMS4zMjYuOTQ3LS41NDd6bTYuMDk1LS42MzFxLS4yMzMuMDk4LS40NzYuMjM4LS45MzQuNTQtLjgwNiAxLjUxMmwyLjI1IDMuODk3LS45MzMuNTM5LTMuMTcyLTUuNDk0LjkwNy0uNTIzLjM4LjYyOHEuMDM4LS45OTYuODkxLTEuNDg5LjI3LS4xNTYuNDU5LS4xNzRsLjUuODY2em0xLjYyNSAxLjUzM3EtLjQ2MS0uNzk4LS41MjUtMS42MjctLjA1LS44MzcuMzIzLTEuNTA0LjM2NS0uNjggMS4wODItMS4wOTQgMS4xMjMtLjY0OCAyLjI1OS0uMjc1IDEuMTQ5LjM2NSAxLjg5OSAxLjY2NGwuMDM5LjA2OHEuNDYuNzk4LjUxNyAxLjYxNC4wNTUuODE1LS4zMDIgMS41MDktLjM2NS42OC0xLjExIDEuMTEtMS4xMDkuNjQtMi4yNTguMjc1LTEuMTQzLS4zODYtMS44ODUtMS42NzJsLS4wNC0uMDY4em0xLjAxNy0uNDI1cS41MjQuOTA3IDEuMjYzIDEuMjIuNzU0LjMwNCAxLjQ1Ny0uMTAyLjcxOC0uNDE0LjgxNy0xLjIxLjA5MS0uODExLS40OTUtMS44MjYtLjUxNi0uODkzLTEuMjY5LTEuMTk4LS43NDctLjMyNi0xLjQ2NS4wODgtLjY5LjM5OC0uODAyIDEuMjAzLS4xMDcuNzgzLjQ5NCAxLjgyNXptNy45MDgtMi44MzNsLTEuMDktNC44NTYgMS4wMDItLjU3OCAxLjQ1OSA3LjYycS4yNzUgMS42NjMtLjgzNSAyLjMwNGwtLjE5Ny4wOTUtLjM3OC4xMjgtLjQzNy0uNzU4LjI1MS0uMTI3cS40ODctLjI4MS42MzUtLjYxOS4xNjEtLjM0Ni4wNC0uOTYxbC0uMTI1LS42ODYtNS4wOTUtNC4yOTMgMS4wMjktLjU5NCAzLjc0MSAzLjMyNXpNMTM2LjA5OCAzNDEuMzczcS41MzcgMS4yNDIuMTggMi4zMTQtLjM2MyAxLjA1Ny0xLjU2NyAxLjc1My0xLjMxMy43NTgtMi42MzYuMjc3LTEuMzMyLS40OTQtMi4yNDYtMi4wNzdsLS40MDYtLjcwNHEtLjU5NC0xLjAyOC0uNjgyLTIuMDI0LS4wODgtLjk5Ni4zNDctMS44MDYuNDM0LS44MSAxLjMxNC0xLjMxOCAxLjE3Ny0uNjggMi4yNjMtLjQyMyAxLjEuMjUgMS44ODYgMS4zM2wtLjk3NC41NjJxLS42NDMtLjgwMi0xLjI5LS45NTItLjY0NS0uMTUtMS40MTcuMjk1LS45MzMuNTM5LTEuMDYzIDEuNTM0LS4xMjkuOTk1LjYwNSAyLjI2N2wuNDE0LjcxN3EuNjk2IDEuMjA0IDEuNjEgMS42MzIuOTA3LjQxNSAxLjgxNC0uMTA5LjgxMi0uNDY4IDEuMDM0LTEuMDg0LjIxNC0uNjI5LS4xNi0xLjYyMWwuOTc0LS41NjN6bTIuNjctNC42MjZxLS4yMzMuMDk4LS40NzYuMjM4LS45MzQuNTQtLjgwNiAxLjUxMmwyLjI1IDMuODk3LS45MzMuNTM5LTMuMTcyLTUuNDk0LjkwNi0uNTIzLjM4MS42MjhxLjAzOC0uOTk2Ljg5LTEuNDg5LjI3Mi0uMTU2LjQ2LS4xNzRsLjUuODY2em00LjQ4OCAxLjc3NWwtMS4wOS00Ljg1NiAxLjAwMi0uNTc4IDEuNDU4IDcuNjJxLjI3NSAxLjY2My0uODM0IDIuMzA0bC0uMTk4LjA5NS0uMzc3LjEyOC0uNDM3LS43NTguMjUtLjEyN3EuNDg4LS4yODEuNjM2LS42MTkuMTYxLS4zNDYuMDQtLjk2MWwtLjEyNS0uNjg2LTUuMDk1LTQuMjkzIDEuMDI4LS41OTQgMy43NDIgMy4zMjV6bTcuMjg4LTUuOTRxLjcxOSAxLjI0NS41OTYgMi4zNDQtLjEyMyAxLjEtMS4xMTEgMS42Ny0xLjAwMi41NzgtMS45MzcuMjdsMS41MjMgMi42MzktLjkzMy41MzktNC4zOS03LjYwNS44NTItLjQ5Mi4zOTIuNTg2cS4xNzUtMS4wNCAxLjE5LTEuNjI2Ljk4OC0uNTcgMS45ODYtLjE1NCAxLjAxMi40MDggMS43NzcgMS43MzRsLjA1NS4wOTV6bS0uOTk2LjQzcS0uNTQtLjkzMy0xLjI1LTEuMjI2LS43MDUtLjMxNS0xLjM5NS4wODMtLjg1Mi40OTMtLjg0MiAxLjQ3OWwxLjUxNSAyLjYyNXEuODU3LjUxNiAxLjcyMy4wMTYuNjc3LS4zOS43NjUtMS4xNDUuMDkzLS43NzYtLjUxNi0xLjgzMXptMS4zMTItNi4xMzNsLjc2NSAxLjMyNiAxLjAxNS0uNTg2LjQyMi43My0xLjAxNS41ODcgMS45NjEgMy4zOTZxLjE5NS4zMzguNDI0LjQyMy4yMy4wODQuNTU0LS4xMDQuMTYzLS4wOTMuNDE2LS4zMTJsLjQzNy43NThxLS4zMDMuMzItLjY1NS41MjItLjYyMi4zNi0xLjE2Ni4xNjgtLjU1LS4yMDQtLjk1Ny0uOTA4bC0xLjk2MS0zLjM5Ny0xLjAwMS41NzktLjQyMi0uNzMxIDEuMDAxLS41NzgtLjc2Ni0xLjMyNi45NDgtLjU0N3ptNC4yNTUgMi45MDFxLS40NjEtLjc5OC0uNTI1LTEuNjI3LS4wNS0uODM3LjMyMy0xLjUwNC4zNjUtLjY4IDEuMDgyLTEuMDk0IDEuMTI0LS42NDggMi4yNTktLjI3NSAxLjE0OS4zNjUgMS44OTkgMS42NjRsLjAzOS4wNjhxLjQ2Ljc5OC41MTcgMS42MTQuMDU2LjgxNS0uMzAyIDEuNTA5LS4zNjUuNjgtMS4xMDkgMS4xMS0xLjExLjY0LTIuMjU5LjI3NS0xLjE0My0uMzg2LTEuODg1LTEuNjcybC0uMDQtLjA2OHptMS4wMTctLjQyNXEuNTI0LjkwNyAxLjI2NCAxLjIyLjc1My4zMDQgMS40NTctLjEwMi43MTctLjQxNC44MTYtMS4yMS4wOTEtLjgxMS0uNDk1LTEuODI2LS41MTUtLjg5My0xLjI2OS0xLjE5OC0uNzQ3LS4zMjYtMS40NjQuMDg4LS42OS4zOTgtLjgwMyAxLjIwMy0uMTA3Ljc4My40OTQgMS44MjV6bTEyLjczOC0zLjc4MWwtLjk3NC41NjItMS45NjktMy40MS0zLjczNSAyLjE1NiAxLjk2OSAzLjQxLS45NzQuNTYzLTQuMjY2LTcuMzg4Ljk3NC0uNTYzIDEuODM2IDMuMTggMy43MzUtMi4xNTYtMS44MzYtMy4xOC45NzQtLjU2MyA0LjI2NiA3LjM4OXptNS4zNTktMy4wOTRxLS4xNzUtLjExNi0uNDcyLS41MDQtLjI1IDEuMDY1LTEuMTU3IDEuNTg5LS44MTIuNDY5LTEuNjA2LjMxMy0uNzgtLjE2My0xLjE5NC0uODgtLjQ5Mi0uODUzLS4xMTYtMS43MDEuMzc2LS44NDkgMS41NjctMS41MzZsLjkwNy0uNTI0LS4yNS0uNDMzcS0uMjgxLS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzguMjAzLS41LjI4OS0uNjkuNzQxLS4xOTguNDQuMDEzLjgwNWwtLjk0OC41NDdxLS4yNDItLjQyLS4xNzYtLjk2My4wNzktLjU1LjQ1NC0xLjA1Ni4zNjgtLjUyLjk2NC0uODYzLjk2LS41NTUgMS43NjEtLjM4Ni44MTUuMTYxIDEuMzE5Ljk3MWwxLjQ2IDIuNTNxLjQzOC43NTguODg2IDEuMDk1bC4wNDYuMDgyLS45ODcuNTd6bS0xLjk3LjE4MXEuNDQ2LS4yNTguNzA2LS43MTQuMjYtLjQ1Ny4yMjQtLjkyNGwtLjY0OC0xLjEyMy0uNzMxLjQyMnEtMS43MzIgMS0xLjE0NiAyLjAxNS4yNS40MzMuNjk2LjUxOC40MzguMDcyLjg5OC0uMTk0em02Ljk5OS01LjAzM3EtLjIyLS4zNzktLjYzNC0uNDEtLjQxLS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5Ni0uNTk0LS4zOS0uNjc2LS4wODgtMS40NjUuMjk1LS44MDEgMS4xODgtMS4zMTcuOTM0LS41MzkgMS43ODQtLjM4Ljg1NS4xMzggMS4yODUuODgybC0uOTM0LjUzOXEtLjIxOS0uMzc5LS43MTMtLjQ1NC0uNDktLjA5Ny0uOTc2LjE4NC0uNTE0LjI5Ny0uNjguNy0uMTU5LjM4LjA0NS43MzIuMTk1LjMzOC41NjcuMzU4LjM3Mi4wMiAxLjE3LS4yMjUuNzktLjI1NyAxLjM0Ny0uMjkuNTU4LS4wMzQuOTQxLjE2LjM5Ni4xODYuNjQ2LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTcgMS4zMjEtLjY2NC4zODMtMS4zMS40NS0uNjQyLjA0NS0xLjE2OC0uMjEtLjUyNy0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI2OS41MjgtLjMwNS43MjgtLjcwOS4yLS40MDQtLjAxMS0uNzd6bS45OS01LjA2NXEuMTg2LTEuMTE3IDEuMTg3LTEuNjk1IDEuNzQ1LTEuMDA4IDIuODkyLjk0NmwyLjA5NCAzLjYyNy0uOTQ4LjU0Ny0yLjEwMS0zLjY0cS0uMzM2LS41ODItLjc3LS43MS0uNDIyLS4xMzYtLjk5LjE5Mi0uNDYuMjY2LS42NzIuNzEzLS4xOTcuNDM5LS4xNi45NGwyLjI1OCAzLjkxMS0uOTM0LjUzOS00LjUtNy43OTQuOTM0LS41NCAxLjcxIDIuOTY0em0xMC45MzItNC4yNTRxLTEuNDU2LjM1My0yLjM0My4xNjItLjg3My0uMi0xLjMxOC0uOTcxLS41LS44NjYtLjEzOC0xLjgzMy4zNjgtLjk4OCAxLjQ5LTEuNjM3Ljc1OS0uNDM3IDEuNTI2LS40ODMuNzY3LS4wNDYgMS4zODkuMjguNjM1LjMyLjk5NC45NDJsLS45ODguNTdxLS4zOS0uNjc3LTEuMDQyLS44MDUtLjYzOC0uMTM3LTEuNDEuMzA4LS43MTcuNDE0LS45MzUuOTczLS4yMjYuNTQ2LjA5NCAxLjEuMjY2LjQ2LjgyNC41NTMuNTcyLjA4NSAxLjY0LS4xOSAxLjA3LS4yNzMgMS43NjMtLjI1OS43MDguMDA3IDEuMTk0LjI4NS40OTkuMjcyLjgyLjgyNi41MjMuOTA3LjEzMSAxLjg1NC0uMzkuOTQ4LTEuNTU0IDEuNjItLjc3Mi40NDUtMS42MDcuNTMtLjgyMS4wNzgtMS40NzUtLjIxMi0uNjUtLjMxMS0xLjAxNi0uOTQ3bC45NzQtLjU2M3EuMzgzLjY2MyAxLjExLjc2Ny43MjcuMTAzIDEuNTUzLS4zNzQuNzctLjQ0NS45OTctLjk5LjIxOS0uNTYtLjA5NC0xLjEtLjMxMi0uNTQyLS44NjMtLjYyMS0uNTUtLjA3OS0xLjcxNi4yMTV6bTcuNDU2LS44MDVxLjUtLjI4OS43MDctLjgwNS4yLS41My0uMDI1LTEuMDE0bC44OTMtLjUxNXEuMjQ2LjQ4OS4xODUgMS4xMDItLjA1Ni41OTEtLjQwOCAxLjEzNy0uMzM5LjUzOS0uOTA3Ljg2Ny0xLjEyMy42NDgtMi4yMTYuMjg3LTEuMDg3LS4zODMtMS44MzctMS42ODJsLS4wOTQtLjE2MnEtLjQ2LS43OTktLjUzNi0xLjU4NS0uMDYxLS43OTUuMjg1LTEuNDQ2LjM1MS0uNjcyIDEuMTA5LTEuMTEuOTItLjUzIDEuODUtLjMyNy45MzQuMTgyIDEuNDkgMS4wNTFsLS44OTMuNTE2cS0uMzUzLS41MTgtLjkxMy0uNjQ1LS41NjEtLjEyOC0xLjA4OS4xNzctLjcxNy40MTQtLjgxMiAxLjE1NS0uMDk2Ljc0LjQ2NyAxLjcxNWwuMTAxLjE3NnEuNTQ3Ljk0NyAxLjIzNiAxLjIzNS42OS4yODcgMS40MDctLjEyN3ptMy4zNTEtNy4yNTdxLS4yMzIuMDk4LS40NzUuMjM4LS45MzQuNTQtLjgwNiAxLjUxMmwyLjI1IDMuODk3LS45MzMuNTM5LTMuMTcyLTUuNDk0LjkwNi0uNTIzLjM4MS42MjhxLjAzOC0uOTk2Ljg5LTEuNDg5LjI3MS0uMTU2LjQ2LS4xNzRsLjUuODY2em00LjUxNSAzLjZsLS45MzQuNTQtMy4xNzItNS40OTUuOTM0LS41MzkgMy4xNzIgNS40OTR6bS01LjAyMy02LjM1NnEtLjEzMy0uMjMtLjA5MS0uNDcuMDU1LS4yNDkuMzI1LS40MDUuMjcxLS4xNTYuNS0uMDcyLjI0My4wNzcuMzc1LjMwNy4xMjUuMjE2LjA3LjQ2NS0uMDQ5LjIyNi0uMzIuMzgzLS4yNy4xNTYtLjUwNS4wOTMtLjIzLS4wODQtLjM1NC0uM3ptOS42ODcuMDlxLjcxOCAxLjI0Ni41OTUgMi4zNDUtLjEyMyAxLjEtMS4xMSAxLjY3LTEuMDAyLjU3OC0xLjkzNy4yN2wxLjUyMyAyLjYzOS0uOTM0LjUzOS00LjM5LTcuNjA1Ljg1Mi0uNDkyLjM5My41ODZxLjE3NS0xLjA0IDEuMTktMS42MjYuOTg4LS41NyAxLjk4Ni0uMTU0IDEuMDExLjQwOCAxLjc3NyAxLjczNGwuMDU1LjA5NXptLS45OTYuNDMycS0uNTQtLjkzNC0xLjI1LTEuMjI3LS43MDUtLjMxNS0xLjM5NS4wODMtLjg1My40OTMtLjg0MyAxLjQ3OWwxLjUxNiAyLjYyNXEuODU3LjUxNiAxLjcyMy4wMTYuNjc3LS4zOS43NjQtMS4xNDUuMDk0LS43NzYtLjUxNS0xLjgzMXptMS4zMTEtNi4xMzRsLjc2NiAxLjMyNiAxLjAxNS0uNTg2LjQyMi43My0xLjAxNS41ODcgMS45NiAzLjM5NnEuMTk2LjMzOC40MjUuNDIzLjIzLjA4NC41NTQtLjEwNC4xNjItLjA5My40MTUtLjMxMmwuNDM4Ljc1OHEtLjMwMy4zMi0uNjU1LjUyMi0uNjIyLjM2LTEuMTY2LjE2OC0uNTUxLS4yMDQtLjk1Ny0uOTA4bC0xLjk2MS0zLjM5Ny0xLjAwMi41NzktLjQyMi0uNzMxIDEuMDAyLS41NzgtLjc2Ni0xLjMyNi45NDctLjU0N3pNMTYxLjg1OCAzNTEuNTZsLTMuMSAxLjc5LjQyOCAyLjMzMy0xLjAwMS41NzgtMS40NTItOS4wMTMuODUzLS40OTIgNy4wOTQgNS43NTUtMS4wMDIuNTc4LTEuODItMS41Mjh6bS0zLjI2Mi44MmwyLjUxNi0xLjQ1NC0zLjI1LTIuNzI0LjczNCA0LjE3N3ptNC43OTMtNi40NDlsLjQyNS42NzVxLjE4My0xLjE1MiAxLjE5OC0xLjczOCAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0OC41NDctMi4xMDEtMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcyLjcxMy0uMTk3LjQzOS0uMTYuOTRsMi4yNTggMy45MTEtLjkzNC41MzktMy4xNzItNS40OTQuODgtLjUwOHptOS4zNyAxLjkxNmwtLjkzNS41NC0zLjE3MS01LjQ5NS45MzMtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDI0LTYuMzU2cS0uMTMyLS4yMy0uMDktLjQ3LjA1NC0uMjQ5LjMyNS0uNDA1LjI3LS4xNTYuNS0uMDcyLjI0Mi4wNzcuMzc1LjMwNy4xMjUuMjE2LjA3LjQ2NS0uMDUuMjI3LS4zMi4zODN0LS41MDYuMDkzcS0uMjI5LS4wODQtLjM1NC0uM3ptNC4zMTQtLjU2bC4zNzkuNTk0cS4xODktMS4wNDggMS4yMTctMS42NDEgMS4xNS0uNjY1IDIuMDc4LS4wMjcuMDQ0LS41NDkuMzM2LTEuMDQyLjMwNi0uNTAyLjkwMS0uODQ2IDEuODE0LTEuMDQ2IDIuOTQyLjg0NmwyLjEyNSAzLjY4LS45MzMuNTQtMi4wOTQtMy42MjdxLS4zMzYtLjU4Mi0uNzctLjcxLS40NDMtLjE0MS0xLjA4LjIyNi0uNTI3LjMwNS0uNy44Mi0uMTU4LjUwNi4wOTMgMS4wNjVsMi4xMDEgMy42NC0uOTMzLjUzOS0yLjA3OC0zLjZxLS42ODgtMS4xOS0xLjg2NS0uNTEtLjkyLjUzLS44MDYgMS41MWwyLjMxMyA0LjAwNi0uOTQ3LjU0Ny0zLjE3Mi01LjQ5NC44OTMtLjUxNnptMTUuMjAxLTEuNDUxcS0uMTc0LS4xMTYtLjQ3LS41MDQtLjI1MiAxLjA2NS0xLjE1OCAxLjU4OS0uODEyLjQ2OS0xLjYwNi4zMTMtLjc4LS4xNjMtMS4xOTQtLjg4LS40OTItLjg1My0uMTE2LTEuNzAxLjM3Ni0uODQ5IDEuNTY3LTEuNTM2bC45MDctLjUyNC0uMjUtLjQzM3EtLjI4MS0uNDg3LS43NDMtLjYtLjQ1Ni0uMTMzLTEuMDM4LjIwMy0uNS4yODktLjY5Ljc0MS0uMTk4LjQ0LjAxMy44MDVsLS45NDguNTQ3cS0uMjQyLS40Mi0uMTc2LS45NjMuMDc5LS41NS40NTQtMS4wNTYuMzY4LS41Mi45NjMtLjg2My45NjEtLjU1NSAxLjc2Mi0uMzg2LjgxNS4xNjEgMS4zMTkuOTcxbDEuNDYgMi41M3EuNDM4Ljc1OC44ODUgMS4wOTVsLjA0Ny4wODItLjk4OC41N3ptLTEuOTcuMTgxcS40NDctLjI1OC43MDYtLjcxNC4yNi0uNDU3LjIyNS0uOTI0bC0uNjQ4LTEuMTIzLS43MzEuNDIycS0xLjczMiAxLTEuMTQ2IDIuMDE1LjI1LjQzMy42OTYuNTE4LjQzOC4wNzIuODk4LS4xOTR6bTEuOTg0LTkuMjgybC43NjYgMS4zMjYgMS4wMTUtLjU4Ni40MjIuNzMtMS4wMTUuNTg3IDEuOTYgMy4zOTZxLjE5Ni4zMzguNDI1LjQyMy4yMy4wODQuNTU0LS4xMDQuMTYyLS4wOTMuNDE1LS4zMTJsLjQzOC43NThxLS4zMDMuMzItLjY1NS41MjItLjYyMi4zNi0xLjE2Ni4xNjgtLjU1MS0uMjA0LS45NTgtLjkwOGwtMS45Ni0zLjM5Ny0xLjAwMi41NzktLjQyMi0uNzMxIDEuMDAyLS41NzgtLjc2Ni0xLjMyNi45NDctLjU0N3ptNy4xNDUgNC45NjhsLS45MzQuNTQtMy4xNzItNS40OTUuOTM0LS41MzkgMy4xNzIgNS40OTR6bS01LjAyMy02LjM1NnEtLjEzMy0uMjMtLjA5MS0uNDcuMDU1LS4yNDkuMzI2LS40MDUuMjctLjE1Ni41LS4wNzIuMjQyLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNS4yMjctLjMyLjM4My0uMjcxLjE1Ni0uNTA2LjA5My0uMjI5LS4wODQtLjM1NC0uM3ptNC43MzIgMi43OXEtLjQ2MS0uNzk5LS41MjUtMS42MjgtLjA1LS44MzcuMzIzLTEuNTA0LjM2NS0uNjggMS4wODItMS4wOTQgMS4xMjMtLjY0OCAyLjI1OS0uMjc1IDEuMTQ5LjM2NSAxLjg5OSAxLjY2NGwuMDM5LjA2OHEuNDYuNzk4LjUxNyAxLjYxNC4wNTYuODE1LS4zMDIgMS41MDktLjM2NS42OC0xLjExIDEuMTEtMS4xMDkuNjQtMi4yNTguMjc1LTEuMTQzLS4zODYtMS44ODUtMS42NzJsLS4wNC0uMDY4em0xLjAxNy0uNDI2cS41MjQuOTA3IDEuMjYzIDEuMjIuNzU0LjMwNCAxLjQ1Ny0uMTAyLjcxOC0uNDE0LjgxNy0xLjIxLjA5MS0uODExLS40OTUtMS44MjYtLjUxNi0uODkzLTEuMjY5LTEuMTk4LS43NDctLjMyNi0xLjQ2NS4wODgtLjY5LjM5OC0uODAyIDEuMjAzLS4xMDcuNzgzLjQ5NCAxLjgyNXptNC42MjctNi40MjRsLjQyNS42NzVxLjE4My0xLjE1MiAxLjE5OC0xLjczOCAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0OC41NDctMi4xMDEtMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcxLjcxMy0uMTk4LjQzOS0uMTYxLjk0bDIuMjU4IDMuOTExLS45MzQuNTM5LTMuMTcyLTUuNDk0Ljg4LS41MDh6bTkuNjAxLS44N3EtLjMwNS0uNTI4LS4yNjUtMS4xNDYuMDQtLjYxOS41MzUtMS42OTgtLjg0NC0uMzA3LTEuMjE4LS41NzgtLjM3My0uMjcyLS41ODQtLjYzNy0uNDg0LS44NC0uMjctMS41OTQuMjE5LS43NzYgMS4wNzEtMS4yNjguNzU4LS40MzggMS41MTctLjI4Ljc1OC4xNTcgMS4xNDkuODM0LjI1OC40NDYuMjQ2Ljk1OC0uMDEuNTEyLS4zMjQgMS4yNTFsLS4zMTQuNzA1IDIuNzcgMS4wMTdxLS4wMjMtLjg1My0uNDkyLTEuNjY0bC44MzktLjQ4NXEuNzUgMS4zLjYyIDIuNTExbDEuNzgyLjY1LTEuMTIzLjY0OC0uODIzLS4zMDFxLS4xODQuNTU3LS41OTcgMS4wMy0uMzk5LjQ2NS0uOTEzLjc2Mi0xLjA4My42MjUtMi4wNzQuNDQtLjk4NS0uMjA4LTEuNTMyLTEuMTU1em0zLjE2LS4wNTdxLjc0NS0uNDMgMS4wMjYtMS4zNWwtMy4wNS0xLjEyNS0uMDkyLjIxNXEtLjQ4NSAxLjEyOS0uMTEgMS43NzguMzUxLjYwOS45NTUuNzQ4LjU5NS4xMjUgMS4yNzItLjI2NnptLTMuNzc0LTQuNTY4cS4yODIuNDg3IDEuMjk5Ljg3NGwuMzUzLS43NjNxLjIxMS0uNDQ3LjIwOC0uNzM0LjAwMy0uMzA4LS4xNzctLjYyLS4xOTUtLjMzOC0uNTg1LS40Mi0uMzktLjA4LS43Ny4xMzgtLjQxOS4yNDItLjQ5OC42NjctLjA4LjQyNS4xNy44NTh6bTExLjA0MS0zLjEyN3EtMS40NTYuMzUzLTIuMzQyLjE2Mi0uODczLS4yLTEuMzE5LS45NzEtLjUtLjg2Ni0uMTM4LTEuODMzLjM2OC0uOTg4IDEuNDkxLTEuNjM3Ljc1OC0uNDM3IDEuNTI1LS40ODMuNzY3LS4wNDYgMS4zOS4yOC42MzQuMzIuOTk0Ljk0MmwtLjk4OC41N3EtLjM5LS42NzctMS4wNDMtLjgwNS0uNjM4LS4xMzctMS40MS4zMDgtLjcxNi40MTQtLjkzNS45NzMtLjIyNi41NDYuMDk0IDEuMS4yNjYuNDYuODI1LjU1My41NzIuMDg1IDEuNjQtLjE5IDEuMDY5LS4yNzMgMS43NjMtLjI1OS43MDcuMDA3IDEuMTkzLjI4NS41LjI3Mi44Mi44MjYuNTIzLjkwNy4xMzIgMS44NTQtLjM5MS45NDgtMS41NTUgMS42Mi0uNzcxLjQ0NS0xLjYwNi41My0uODIyLjA3OC0xLjQ3Ni0uMjEyLS42NDktLjMxMS0xLjAxNi0uOTQ3bC45NzQtLjU2M3EuMzgzLjY2MyAxLjExLjc2Ny43MjguMTAzIDEuNTUzLS4zNzQuNzcxLS40NDUuOTk4LS45OS4yMTgtLjU2LS4wOTUtMS4xLS4zMTItLjU0Mi0uODYzLS42MjEtLjU1LS4wNzktMS43MTYuMjE1em01LjcwNy0yLjMwM2wtLjI0NC45NTMgMS4xMTcgMS45MzUtLjkzMy41MzktNC41LTcuNzk0LjkzMy0uNTQgMi43MiA0LjcxLjE1Ni0uODg1LjY3Mi0yLjgwNSAxLjEzNi0uNjU2LS44MSAzLjUzNCA0LjI0IDEuODExLTEuMTEuNjQtMy4zNzctMS40NDJ6bTYuMTUtLjE1OWwtLjkzMy41NC0zLjE3Mi01LjQ5NS45MzQtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDIyLTYuMzU2cS0uMTMzLS4yMy0uMDkxLS40Ny4wNTUtLjI0OS4zMjYtLjQwNS4yNy0uMTU2LjUtLjA3Mi4yNDIuMDc3LjM3NS4zMDcuMTI1LjIxNi4wNy40NjUtLjA1LjIyNy0uMzIuMzgzLS4yNzEuMTU2LS41MDYuMDkzLS4yMjktLjA4NC0uMzU0LS4zem00LjMxNC0uNTZsLjQyNS42NzVxLjE4My0xLjE1MiAxLjE5OC0xLjczOCAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0OC41NDctMi4xMDEtMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcyLjcxMy0uMTk3LjQzOS0uMTYuOTRsMi4yNTggMy45MTEtLjkzNC41MzktMy4xNzItNS40OTQuODgtLjUwOHptNi4wNjItMy41bC40MjUuNjc1cS4xODMtMS4xNTIgMS4xOTgtMS43MzggMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3MS43MTMtLjE5OC40MzktLjE2Ljk0bDIuMjU3IDMuOTExLS45MzQuNTM5LTMuMTcyLTUuNDk0Ljg4LS41MDh6bTkuMzcgMS45MTZsLS45MzQuNTQtMy4xNzItNS40OTUuOTMzLS41MzkgMy4xNzIgNS40OTR6bS01LjAyMy02LjM1NnEtLjEzMy0uMjMtLjA5Mi0uNDcuMDU1LS4yNDkuMzI2LS40MDUuMjctLjE1Ni41LS4wNzIuMjQyLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNS4yMjYtLjMyLjM4My0uMjcuMTU2LS41MDUuMDkzLS4yMy0uMDg0LS4zNTQtLjN6bTQuMzEzLS41NmwuNDI2LjY3NXEuMTgzLTEuMTUyIDEuMTk3LTEuNzM4IDEuNzQ2LTEuMDA4IDIuODkyLjk0NmwyLjA5NCAzLjYyNy0uOTQ3LjU0Ny0yLjEwMi0zLjY0cS0uMzM2LS41ODItLjc3LS43MS0uNDIyLS4xMzYtLjk5LjE5Mi0uNDYuMjY2LS42NzEuNzEzLS4xOTguNDM5LS4xNi45NGwyLjI1NyAzLjkxMS0uOTM0LjUzOS0zLjE3MS01LjQ5NC44OC0uNTA4em02LjUxNS0uMTUzcS0uNzQyLTEuMjg1LS41ODQtMi4zODcuMTU4LTEuMTAxIDEuMTMyLTEuNjY0IDEuMDAxLS41NzggMS45NzYtLjIwMmwtLjMxLS42MzMuODY1LS41IDMuMDk0IDUuMzU5cS42MTcgMS4wNjkuMzMzIDIuMDQ1LS4yNzcuOTktMS4zMzIgMS41OTktLjU5Ni4zNDQtMS4zMTMuNDE1LS43MTYuMDctMS4yNjQtLjE5bC4xNTktLjg1cTEuMDI1LjQgMS45MDUtLjEwNy42NzYtLjM5LjgyOC0xLjAwMi4xNzQtLjYwNi0uMjMyLTEuMzFsLS4yNzQtLjQ3M3EtLjE4NS45OTEtMS4xNiAxLjU1NC0uOTYuNTU1LTIgLjEyNy0xLjA1LS40NDEtMS44MjMtMS43OHptMS4wMS0uNDM4cS41MzEuOTIgMS4yMjMgMS4yNDIuNjgzLjMxIDEuMzczLS4wODkuODgtLjUwOC44My0xLjU2MmwtMS40NDUtMi41MDNxLS44ODYtLjUzNS0xLjc1Mi0uMDM1LS42NzcuMzktLjc2NCAxLjE0NS0uMDc0Ljc0Ni41MzUgMS44MDJ6TTI0MS41NjMgMzMwLjA2bC0zLjA5OCAxLjc5LjQyNyAyLjMzMy0xLjAwMi41NzgtMS40NS05LjAxMy44NTItLjQ5MiA3LjA5NCA1Ljc1NS0xLjAwMi41NzgtMS44Mi0xLjUyOHptLTMuMjYyLjgybDIuNTE3LTEuNDU0LTMuMjUtMi43MjQuNzMzIDQuMTc3em05LjQzNi0zLjc1MnEtLjIyLS4zNzktLjYzNC0uNDEtLjQxLS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5Ni0uNTk0LS4zOS0uNjc2LS4wODctMS40NjUuMjk0LS44MDEgMS4xODgtMS4zMTcuOTMzLS41MzkgMS43ODMtLjM4Ljg1NS4xMzggMS4yODUuODgybC0uOTM0LjUzOXEtLjIxOS0uMzc5LS43MTMtLjQ1NC0uNDg5LS4wOTctLjk3Ni4xODQtLjUxNC4yOTctLjY4LjctLjE1OC4zOC4wNDUuNzMyLjE5NS4zMzguNTY3LjM1Ny4zNzIuMDIgMS4xNy0uMjI0Ljc5LS4yNTcgMS4zNDctLjI5LjU1OC0uMDM0Ljk0MS4xNi4zOTYuMTg2LjY0Ni42Mi40My43NDMuMDkyIDEuNTM0LS4zMjQuNzgyLTEuMjU3IDEuMzIxLS42NjMuMzgzLTEuMzEuNDUtLjY0Mi4wNDUtMS4xNjgtLjIxLS41MjYtLjI1NS0uODA4LS43NDNsLjkzNC0uNTM5cS4zLjQ1OC44MTYuNTQuNTA4LjA2NyAxLjA5LS4yNy41MjgtLjMwNC43MjgtLjcwOC4yLS40MDQtLjAxMS0uNzd6bS4xOC03LjI1bC43NjYgMS4zMjcgMS4wMTUtLjU4Ni40MjIuNzMtMS4wMTUuNTg3IDEuOTYxIDMuMzk2cS4xOTUuMzM4LjQyNC40MjMuMjMuMDg0LjU1NC0uMTA0LjE2My0uMDkzLjQxNS0uMzEybC40MzguNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjIuMzYtMS4xNjYuMTY4LS41NTEtLjIwNC0uOTU3LS45MDhsLTEuOTYxLTMuMzk3LTEuMDAxLjU3OS0uNDIyLS43MzEgMS4wMDEtLjU3OC0uNzY2LTEuMzI2Ljk0OC0uNTQ3em04LjQ2NiA0LjM1cS0xLjEyMy42NS0yLjI0OS4zMjUtMS4xMi0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ny0uODI1LS41MzMtMS42NC0uMDYzLS44My4yODgtMS41MDIuMzU4LS42OTQgMS4wMDctMS4wNjkgMS4wNy0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjcuMzkzLTMuNzIxIDIuMTQ4cS40OTUuNzk3IDEuMjMxIDEuMDQuNzUuMjM0IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1MyAyLjI2NXptLTIuOTY2LTQuODU0cS0uNTY4LjMyOC0uNzE4Ljk3NC0uMTQ1LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjA0LS4wNjhxLS40NTQtLjY5NC0xLjAzMi0uODgzLS41NjUtLjE5Ny0xLjE2LjE0N3ptNS43OTEtMy4xMjdxLS4yMzIuMDk4LS40NzYuMjM4LS45MzMuNTQtLjgwNSAxLjUxMmwyLjI1IDMuODk3LS45MzQuNTM5LTMuMTcyLTUuNDk0LjkwNy0uNTIzLjM4LjYyOHEuMDM5LS45OTYuODkyLTEuNDg5LjI3LS4xNTYuNDU4LS4xNzRsLjUuODY2em0xLjYyNSAxLjUzM3EtLjQ2LS43OTgtLjUyNS0xLjYyNy0uMDUtLjgzNy4zMjMtMS41MDQuMzY1LS42OCAxLjA4My0xLjA5NCAxLjEyMy0uNjQ4IDIuMjU4LS4yNzUgMS4xNS4zNjUgMS45IDEuNjY0bC4wMzguMDY4cS40NjEuNzk4LjUxNyAxLjYxNC4wNTYuODE1LS4zMDEgMS41MDktLjM2Ni42OC0xLjExIDEuMTEtMS4xMS42NC0yLjI1OC4yNzUtMS4xNDQtLjM4Ni0xLjg4Ni0xLjY3MmwtLjAzOS0uMDY4em0xLjAxOC0uNDI1cS41MjMuOTA3IDEuMjYzIDEuMjIuNzUzLjMwNCAxLjQ1Ny0uMTAyLjcxNy0uNDE0LjgxNi0xLjIxLjA5Mi0uODExLS40OTQtMS44MjYtLjUxNi0uODkzLTEuMjctMS4xOTgtLjc0Ny0uMzI2LTEuNDY0LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em03LjkzMy0xLjAwOGwtLjkzMy41NC0zLjE3Mi01LjQ5NS45MzQtLjUzOSAzLjE3MSA1LjQ5NHptLTUuMDIyLTYuMzU2cS0uMTMzLS4yMy0uMDkxLS40Ny4wNTUtLjI0OS4zMjUtLjQwNS4yNy0uMTU2LjUtLjA3Mi4yNDMuMDc3LjM3NS4zMDcuMTI1LjIxNi4wNy40NjUtLjA1LjIyNi0uMzIuMzgzLS4yNy4xNTYtLjUwNS4wOTMtLjIzLS4wODQtLjM1NC0uM3ptNC43NjYgMi43ODdxLS43MzQtMS4yNzItLjU3Ni0yLjM3My4xNS0xLjExNSAxLjEyNC0xLjY3OC45Ni0uNTU0IDEuOTA0LS4yMzNsLTEuNjQ4LTIuODU1LjkzMy0uNTQgNC41IDcuNzk1LS44NjYuNS0uMzg0LS41NzJxLS4xNjIgMS4wMzItMS4xNjMgMS42MS0uOTQ4LjU0Ny0yLjAxLjExNC0xLjA0OC0uNDQyLTEuNzc1LTEuN2wtLjAzOS0uMDY4em0uOTk2LS40M3EuNTQuOTMzIDEuMjIzIDEuMjQyLjY5Ny4zMDEgMS4zNzQtLjA5Ljg5My0uNTE1Ljg0NC0xLjU2OWwtMS40NTQtMi41MTdxLS44NjQtLjUyOS0xLjc0NC0uMDIxLS42OS4zOTgtLjc3OCAxLjE1My0uMDc0Ljc0Ni41MzUgMS44MDJ6bTExLjg0My03LjYxNGwtMy4xMTIgMS43OTcgMS44ODMgMy4yNjEtLjk3NS41NjMtNC4yNjUtNy4zODggNC41ODctMi42NDkuNDYuNzk5LTMuNjEyIDIuMDg1IDEuNDYgMi41MyAzLjExMy0xLjc5Ni40NjEuNzk4em00LjczOCAxLjYxM2wtLjkzNC41NC0zLjE3Mi01LjQ5NS45MzQtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDIzLTYuMzU2cS0uMTMyLS4yMy0uMDktLjQ3LjA1NC0uMjQ5LjMyNS0uNDA1LjI3LS4xNTYuNS0uMDcyLjI0Mi4wNzcuMzc1LjMwNy4xMjUuMjE2LjA3LjQ2NS0uMDUuMjI2LS4zMi4zODMtLjI3LjE1Ni0uNTA2LjA5My0uMjI5LS4wODQtLjM1NC0uM3ptOC45NDIgNC4yMzhxLTEuMTIzLjY0OC0yLjI0OS4zMjQtMS4xMi0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ny0uODI1LS41MzMtMS42NC0uMDYzLS44My4yODgtMS41MDIuMzU4LS42OTQgMS4wMDctMS4wNjkgMS4wNy0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjcuMzkzLTMuNzIxIDIuMTQ4cS40OTUuNzk3IDEuMjMxIDEuMDQuNzUuMjM0IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1MyAyLjI2NXptLTIuOTY2LTQuODU1cS0uNTY4LjMyOC0uNzE4Ljk3NC0uMTQ1LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjA0LS4wNjhxLS40NTQtLjY5NC0xLjAzMi0uODgzLS41NjUtLjE5Ny0xLjE2LjE0N3ptNi44NDEgMi40NzNsLS45MzMuNTQtNC41LTcuNzk1LjkzMy0uNTQgNC41IDcuNzk1em0tLjI1Ni0zLjU2OXEtLjczNC0xLjI3Mi0uNTc2LTIuMzczLjE1LTEuMTE1IDEuMTI0LTEuNjc4Ljk2LS41NTQgMS45MDQtLjIzM2wtMS42NDgtMi44NTUuOTMzLS41NCA0LjUgNy43OTUtLjg2Ni41LS4zODQtLjU3MnEtLjE2MiAxLjAzMi0xLjE2NCAxLjYxLS45NDcuNTQ3LTIuMDA5LjExNC0xLjA0OC0uNDQyLTEuNzc1LTEuN2wtLjAzOS0uMDY4em0uOTk2LS40M3EuNTQuOTMzIDEuMjIzIDEuMjQyLjY5Ny4zMDEgMS4zNzQtLjA5Ljg5My0uNTE1Ljg0My0xLjU2OWwtMS40NTMtMi41MTdxLS44NjUtLjUyOS0xLjc0NC0uMDIxLS42OS4zOTgtLjc3OCAxLjE1My0uMDc0Ljc0Ni41MzUgMS44MDJ6TTI2OC4yMzkgMzM3Ljg5N2wxLjY3MiAyLjg5NS0uOTc1LjU2My00LjI2NS03LjM4OCAyLjczMy0xLjU3OHExLjIwNS0uNjk2IDIuMjU0LS40NzIgMS4wNDIuMjEgMS42MzUgMS4yNC42MTggMS4wNjguMjc3IDIuMDQtLjMyNy45NjUtMS41ODYgMS42OTJsLTEuNzQ1IDEuMDA4em0tLjQ2MS0uNzk5bDEuNzYtMS4wMTVxLjc4NC0uNDUzLjk3OS0xLjA1My4yMDgtLjYwOC0uMTktMS4yOTgtLjM4My0uNjYzLTEuMDI5LS44MTMtLjY0LS4xNzItMS4zNzkuMjM3bC0xLjgxMyAxLjA0NiAxLjY3MiAyLjg5NnptNi4wOTYtNS4wMzVxLjE4NS0xLjExNyAxLjE4Ni0xLjY5NSAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0Ny41NDctMi4xMDItMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcxLjcxMy0uMTk4LjQzOS0uMTYuOTRsMi4yNTcgMy45MTEtLjkzNC41MzktNC41LTcuNzk0LjkzNC0uNTQgMS43MTEgMi45NjR6bTguOTA3LS41NDFsLTEuMDktNC44NTYgMS4wMDItLjU3OCAxLjQ1OCA3LjYycS4yNzUgMS42NjMtLjgzNSAyLjMwNGwtLjE5Ny4wOTUtLjM3Ny4xMjgtLjQzOC0uNzU4LjI1Mi0uMTI3cS40ODctLjI4MS42MzUtLjYxOS4xNi0uMzQ2LjA0LS45NjFsLS4xMjUtLjY4Ni01LjA5NS00LjI5MyAxLjAyOC0uNTk0IDMuNzQyIDMuMzI1em02LjU1Ni0zLjg5NHEtLjIxOC0uMzc5LS42MzMtLjQxLS40MS0uMDUzLTEuMjEzLjIxMy0uNzkuMjU3LTEuMzM0LjI4My0uNTQ0LjAyNS0uOTExLS4xNDItLjM2MS0uMTg4LS41OTYtLjU5NC0uMzktLjY3Ni0uMDg4LTEuNDY1LjI5NS0uODAxIDEuMTg4LTEuMzE3LjkzNC0uNTM5IDEuNzg0LS4zOC44NTUuMTM4IDEuMjg0Ljg4MmwtLjkzMy41MzlxLS4yMTktLjM3OS0uNzEzLS40NTQtLjQ5LS4wOTctLjk3Ni4xODQtLjUxNS4yOTctLjY4LjctLjE1OS4zOC4wNDQuNzMyLjE5Ni4zMzguNTY4LjM1Ny4zNzIuMDIgMS4xNy0uMjI0Ljc5LS4yNTcgMS4zNDctLjI5LjU1OC0uMDM0Ljk0LjE2LjM5Ny4xODYuNjQ3LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTggMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQxLjA0NS0xLjE2Ny0uMjEtLjUyNy0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI2OS41MjgtLjMwNS43MjgtLjcwOS4yLS40MDQtLjAxMi0uNzd6bTMuODYyLS4yOGwtLjkzNC41MzgtMy4xNzItNS40OTQuOTM0LS41MzkgMy4xNzIgNS40OTR6bS01LjAyMy02LjM1N3EtLjEzMy0uMjMtLjA5MS0uNDcuMDU1LS4yNDkuMzI2LS40MDUuMjctLjE1Ni41LS4wNzIuMjQyLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNS4yMjYtLjMyLjM4My0uMjcxLjE1Ni0uNTA2LjA5My0uMjI5LS4wODQtLjM1NC0uM3ptOC40MTUgMy41MTNxLjUtLjI4OS43MDgtLjgwNS4yLS41My0uMDI2LTEuMDE0bC44OTMtLjUxNXEuMjQ3LjQ4OS4xODUgMS4xMDItLjA1NS41OTEtLjQwNyAxLjEzNy0uMzQuNTM5LS45MDcuODY3LTEuMTI0LjY0OC0yLjIxNi4yODctMS4wODctLjM4My0xLjgzNy0xLjY4MmwtLjA5NC0uMTYycS0uNDYxLS43OTktLjUzNi0xLjU4NS0uMDYyLS43OTUuMjg0LTEuNDQ2LjM1Mi0uNjcyIDEuMTEtMS4xMS45Mi0uNTMgMS44NDktLjMyNy45MzUuMTgyIDEuNDkxIDEuMDUxbC0uODkzLjUxNnEtLjM1My0uNTE4LS45MTQtLjY0NS0uNTYtLjEyOC0xLjA4OC4xNzctLjcxNy40MTQtLjgxMyAxLjE1NS0uMDk1Ljc0LjQ2NyAxLjcxNWwuMTAyLjE3NnEuNTQ2Ljk0NyAxLjIzNiAxLjIzNS42OS4yODcgMS40MDYtLjEyN3ptNS43MzctNC4zNzZxLS4yMTktLjM3OS0uNjM0LS40MS0uNDA5LS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5NS0uNTk0LS4zOTEtLjY3Ni0uMDg4LTEuNDY1LjI5NS0uODAxIDEuMTg4LTEuMzE3LjkzMy0uNTM5IDEuNzgzLS4zOC44NTUuMTM4IDEuMjg1Ljg4MmwtLjkzNC41MzlxLS4yMTktLjM3OS0uNzEzLS40NTQtLjQ4OS0uMDk3LS45NzYuMTg0LS41MTQuMjk3LS42OC43LS4xNTguMzguMDQ1LjczMi4xOTUuMzM4LjU2Ny4zNTcuMzczLjAyIDEuMTctLjIyNC43OS0uMjU3IDEuMzQ4LS4yOS41NTgtLjAzNC45NC4xNi4zOTYuMTg2LjY0Ni42Mi40My43NDMuMDkzIDEuNTM0LS4zMjUuNzgyLTEuMjU4IDEuMzIxLS42NjMuMzgzLTEuMzEuNDUtLjY0Mi4wNDUtMS4xNjgtLjIxLS41MjYtLjI1NS0uODA4LS43NDNsLjkzNC0uNTM5cS4zLjQ1OC44MTcuNTQuNTA4LjA2NyAxLjA5LS4yNjkuNTI3LS4zMDUuNzI3LS43MDkuMi0uNDA0LS4wMTEtLjc3em01Ljg2LTUuODJxLTEuNDU2LjM1NC0yLjM0My4xNjMtLjg3My0uMi0xLjMxOC0uOTcxLS41LS44NjYtLjEzOC0xLjgzMy4zNjgtLjk4OCAxLjQ5LTEuNjM3Ljc1OS0uNDM3IDEuNTI2LS40ODMuNzY3LS4wNDYgMS4zODkuMjguNjM1LjMyLjk5NC45NDJsLS45ODcuNTdxLS4zOTEtLjY3Ny0xLjA0My0uODA1LS42MzgtLjEzNy0xLjQxLjMwOC0uNzE3LjQxNC0uOTM1Ljk3My0uMjI2LjU0Ni4wOTQgMS4xLjI2Ni40Ni44MjQuNTUzLjU3Mi4wODUgMS42NC0uMTkgMS4wNy0uMjczIDEuNzYzLS4yNTkuNzA4LjAwNyAxLjE5NC4yODUuNDk5LjI3MS44Mi44MjYuNTIzLjkwNy4xMzIgMS44NTQtLjM5Mi45NDgtMS41NTUgMS42Mi0uNzcyLjQ0NS0xLjYwNy41My0uODIxLjA3OC0xLjQ3NS0uMjEyLS42NS0uMzExLTEuMDE2LS45NDdsLjk3NC0uNTYzcS4zODMuNjYzIDEuMTEuNzY3LjcyNy4xMDMgMS41NTMtLjM3NC43NzEtLjQ0NS45OTctLjk5LjIxOS0uNTYtLjA5NC0xLjEtLjMxMi0uNTQyLS44NjMtLjYyMS0uNTUtLjA3OS0xLjcxNi4yMTV6bTguNzI3LTQuMjI2cS43MiAxLjI0NS41OTYgMi4zNDQtLjEyMyAxLjEtMS4xMSAxLjY3LTEuMDAyLjU3OC0xLjkzOC4yN2wxLjUyNCAyLjYzOS0uOTM0LjUzOS00LjM5LTcuNjA1Ljg1Mi0uNDkyLjM5Mi41ODZxLjE3Ni0xLjA0IDEuMTktMS42MjYuOTg5LS41NyAxLjk4Ny0uMTU0IDEuMDExLjQwOCAxLjc3NyAxLjczNGwuMDU0LjA5NXptLS45OTYuNDNxLS41MzktLjkzMy0xLjI1LTEuMjI2LS43MDQtLjMxNS0xLjM5NC4wODMtLjg1My40OTMtLjg0MyAxLjQ3OWwxLjUxNiAyLjYyNXEuODU3LjUxNiAxLjcyMy4wMTYuNjc2LS4zOS43NjQtMS4xNDUuMDk0LS43NzYtLjUxNi0xLjgzMXptMi4xMjItMy45NDlxLjE4NS0xLjExNyAxLjE4Ny0xLjY5NSAxLjc0NS0xLjAwOCAyLjg5MS45NDZsMi4wOTQgMy42MjctLjk0Ny41NDctMi4xMDItMy42NHEtLjMzNS0uNTgyLS43Ny0uNzEtLjQyMS0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcuNzEzLS4xOTkuNDM5LS4xNjEuOTRsMi4yNTcgMy45MTEtLjkzMy41MzktNC41LTcuNzk0LjkzMy0uNTQgMS43MTEgMi45NjR6bTEwLjI1NC42NjZxLTEuMTI0LjY0OC0yLjI0OS4zMjQtMS4xMi0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ny0uODI1LS41MzMtMS42NC0uMDY0LS44My4yODgtMS41MDIuMzU3LS42OTQgMS4wMDctMS4wNjkgMS4wNjktLjYxNyAyLjA3LS4yNTcgMS4wMDIuMzYgMS43NiAxLjY3MmwuMjI2LjM5My0zLjcyIDIuMTQ4cS40OTUuNzk3IDEuMjMgMS4wNC43NS4yMzUgMS40NTMtLjE3Mi40ODgtLjI4MS43MDktLjY4LjIzNC0uNDA1LjMxLS45bC44MjYuMTE4cS0uMDczIDEuNDY4LTEuNDUzIDIuMjY1em0tMi45NjYtNC44NTVxLS41NjguMzI4LS43MTguOTc0LS4xNDUuNjI0LjIwNCAxLjQxNmwyLjc0Ni0xLjU4Ni0uMDM5LS4wNjhxLS40NTQtLjY5NC0xLjAzMy0uODgzLS41NjQtLjE5Ny0xLjE2LjE0N3ptNS43OS0zLjEyN3EtLjIzMS4wOTgtLjQ3NS4yMzgtLjkzNC41NC0uODA1IDEuNTEybDIuMjUgMy44OTctLjkzNC41MzktMy4xNzItNS40OTQuOTA3LS41MjMuMzguNjI4cS4wMzktLjk5Ni44OTEtMS40ODkuMjctLjE1Ni40NTktLjE3NGwuNS44NjZ6bTUuODM2IDIuOTgycS0xLjEyMy42NDgtMi4yNDkuMzI0LTEuMTItLjM0Ni0xLjgzLTEuNTc3bC0uMDk0LS4xNjNxLS40NzctLjgyNS0uNTMzLTEuNjQtLjA2NC0uODMuMjg4LTEuNTAyLjM1OC0uNjk0IDEuMDA3LTEuMDY5IDEuMDY5LS42MTcgMi4wNy0uMjU3IDEuMDAyLjM2IDEuNzYgMS42NzJsLjIyNy4zOTMtMy43MjEgMi4xNDhxLjQ5NS43OTcgMS4yMyAxLjA0Ljc1LjIzNSAxLjQ1NC0uMTcyLjQ4Ny0uMjgxLjcwOC0uNjguMjM1LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2Ni00Ljg1NXEtLjU2OC4zMjgtLjcxOC45NzQtLjE0NS42MjQuMjA0IDEuNDE2bDIuNzQ3LTEuNTg2LS4wNC0uMDY4cS0uNDU0LS42OTQtMS4wMzItLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTguMTc2LS4yNDZxLS4yMTktLjM3OS0uNjM0LS40MS0uNDA5LS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYtLjE4OC0uNTk1LS41OTQtLjM5LS42NzYtLjA4OC0xLjQ2NS4yOTUtLjgwMSAxLjE4OC0xLjMxNy45MzQtLjUzOSAxLjc4My0uMzguODU1LjEzOCAxLjI4NS44ODJsLS45MzQuNTM5cS0uMjE4LS4zNzktLjcxMy0uNDU0LS40ODktLjA5Ny0uOTc2LjE4NC0uNTE0LjI5Ny0uNjc5LjctLjE2LjM4LjA0NC43MzIuMTk1LjMzOC41NjcuMzU3LjM3My4wMiAxLjE3LS4yMjQuNzktLjI1NyAxLjM0OC0uMjkuNTU4LS4wMzQuOTQuMTYuMzk3LjE4Ni42NDcuNjIuNDMuNzQzLjA5MiAxLjUzNC0uMzI0Ljc4Mi0xLjI1OCAxLjMyMS0uNjYzLjM4My0xLjMxLjQ1LS42NDEuMDQ1LTEuMTY4LS4yMS0uNTI2LS4yNTUtLjgwNy0uNzQzbC45MzMtLjUzOXEuMy40NTguODE3LjU0LjUwOC4wNjcgMS4wOS0uMjY5LjUyNy0uMzA1LjcyNy0uNzA5LjItLjQwNC0uMDExLS43N3pNMzAwLjQxNiAzNDcuNjk5bC00Ljg0NSAyLjc5Ny0uMzktLjY3Ny45MTYtNC4zMThxLjE5NC0uOTc4LjE4NC0xLjQ5NS0uMDE4LS41MzEtLjI2OC0uOTY0LS4zMzYtLjU4Mi0uODk5LS43NDQtLjU1Ny0uMTg0LTEuMTUyLjE2LS42OS4zOTgtLjg0OCAxLjAzLS4xNjYuNjIuMjQ4IDEuMzM3bC0uOTM0LjUzOXEtLjU5NC0xLjAyOC0uMzA0LTIuMDI2LjI5Ni0xLjAxOSAxLjM5Mi0xLjY1MSAxLjA0Mi0uNjAyIDEuOTUtLjQwNS45MDguMTk4IDEuNDMyIDEuMTA1LjYyNSAxLjA4Mi4xMDYgMy40MDJsLS43NDEgMy4yNzkgMy43MDctMi4xNC40NDYuNzd6bTEuNDYxLS44NDRsLTQuMjY2LTcuMzg4IDIuMDk4LTEuMjExcS45Ni0uNTU1IDEuOTQxLS41NDQuOTg3LS4wMSAxLjg0Ni41NC44NTkuNTUgMS40NTMgMS41OGwuMjY1LjQ2cS42MSAxLjA1NS42NTcgMi4wNzQuMDYgMS4wMTEtLjQ1NSAxLjg2OC0uNTAyLjg1LTEuNDgyIDEuNDMzbC0yLjA1NyAxLjE4OHptLTIuODMtNy4xNTNsMy4zNDMgNS43OTIgMS4wMjktLjU5NHExLjEyMy0uNjQ4IDEuMzQ3LTEuNjk4LjIzLTEuMDctLjUyLTIuMzdsLS4yNS0uNDMzcS0uNzI3LTEuMjU4LTEuNzItMS42MDQtLjk4OS0uMzY4LTIuMDkzLjI1MWwtMS4xMzYuNjU2em0xMS42NTktMS44MDVsMS42NzIgMi44OTUtLjk3NS41NjMtNC4yNjUtNy4zODggMi43MzMtMS41NzhxMS4yMDQtLjY5NiAyLjI1NC0uNDcyIDEuMDQxLjIxIDEuNjM1IDEuMjQuNjE3IDEuMDY4LjI3NyAyLjA0LS4zMjcuOTY1LTEuNTg2IDEuNjkybC0xLjc0NSAxLjAwOHptLS40NjEtLjc5OWwxLjc1OS0xLjAxNXEuNzg1LS40NTMuOTgtMS4wNTMuMjA4LS42MDgtLjE5LTEuMjk4LS4zODMtLjY2My0xLjAzLS44MTMtLjY0LS4xNzItMS4zNzguMjM3bC0xLjgxMyAxLjA0NiAxLjY3MiAyLjg5NnptNi4wOTYtNS4wMzVxLjE4NS0xLjExNyAxLjE4Ni0xLjY5NSAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0Ny41NDctMi4xMDItMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcxLjcxMy0uMTk4LjQzOS0uMTYxLjk0bDIuMjU4IDMuOTExLS45MzQuNTM5LTQuNS03Ljc5NC45MzQtLjU0IDEuNzEgMi45NjR6bTguOTA3LS41NDFsLTEuMDktNC44NTYgMS4wMDEtLjU3OCAxLjQ1OSA3LjYycS4yNzUgMS42NjMtLjgzNSAyLjMwNGwtLjE5Ny4wOTUtLjM3Ny4xMjgtLjQzOC0uNzU4LjI1MS0uMTI3cS40ODgtLjI4MS42MzUtLjYxOS4xNjItLjM0Ni4wNC0uOTYxbC0uMTI1LS42ODYtNS4wOTQtNC4yOTMgMS4wMjgtLjU5NCAzLjc0MiAzLjMyNXptNi41NTYtMy44OTRxLS4yMTktLjM3OS0uNjMzLS40MS0uNDEtLjA1My0xLjIxMy4yMTMtLjc5LjI1Ny0xLjMzNC4yODMtLjU0NC4wMjUtLjkxMS0uMTQyLS4zNjItLjE4OC0uNTk2LS41OTQtLjM5LS42NzYtLjA4OC0xLjQ2NS4yOTUtLjgwMSAxLjE4OC0xLjMxNy45MzQtLjUzOSAxLjc4My0uMzguODU2LjEzOCAxLjI4NS44ODJsLS45MzMuNTM5cS0uMjItLjM3OS0uNzE0LS40NTQtLjQ4OC0uMDk3LS45NzYuMTg0LS41MTQuMjk3LS42NzkuNy0uMTU5LjM4LjA0NC43MzIuMTk2LjMzOC41NjguMzU3LjM3Mi4wMiAxLjE3LS4yMjQuNzg5LS4yNTcgMS4zNDctLjI5LjU1OC0uMDM0Ljk0LjE2LjM5Ny4xODYuNjQ3LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTggMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQxLjA0NS0xLjE2OC0uMjEtLjUyNi0uMjU1LS44MDctLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI3LjUyOC0uMzA0LjcyNy0uNzA4LjItLjQwNC0uMDEtLjc3em0zLjg2Mi0uMjhsLS45MzQuNTM4LTMuMTcyLTUuNDk0LjkzNC0uNTM5IDMuMTcxIDUuNDk0em0tNS4wMjMtNi4zNTdxLS4xMzMtLjIzLS4wOTEtLjQ3LjA1NS0uMjQ5LjMyNS0uNDA1LjI3LS4xNTYuNS0uMDcyLjI0My4wNzcuMzc1LjMwNy4xMjUuMjE2LjA3LjQ2NS0uMDUuMjI2LS4zMi4zODMtLjI3LjE1Ni0uNTA1LjA5My0uMjMtLjA4NC0uMzU0LS4zem04LjQxNSAzLjUxM3EuNS0uMjg5LjcwOC0uODA1LjE5OS0uNTMtLjAyNi0xLjAxNGwuODkzLS41MTVxLjI0Ni40ODkuMTg1IDEuMTAyLS4wNTUuNTkxLS40MDggMS4xMzctLjMzOC41MzktLjkwNy44NjctMS4xMjMuNjQ4LTIuMjE2LjI4Ny0xLjA4Ny0uMzgzLTEuODM3LTEuNjgybC0uMDkzLS4xNjJxLS40NjEtLjc5OS0uNTM2LTEuNTg1LS4wNjItLjc5NS4yODQtMS40NDYuMzUxLS42NzIgMS4xMS0xLjExLjkyLS41MyAxLjg0OS0uMzI3LjkzNS4xODIgMS40OSAxLjA1MWwtLjg5Mi41MTZxLS4zNTMtLjUxOC0uOTE0LS42NDUtLjU2LS4xMjgtMS4wODguMTc3LS43MTguNDE0LS44MTMgMS4xNTUtLjA5Ni43NC40NjcgMS43MTVsLjEwMS4xNzZxLjU0Ny45NDcgMS4yMzcgMS4yMzUuNjg5LjI4NyAxLjQwNi0uMTI3em01LjczNy00LjM3NnEtLjIyLS4zNzktLjYzNC0uNDEtLjQxLS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5Ni0uNTk0LS4zOS0uNjc2LS4wODgtMS40NjUuMjk1LS44MDEgMS4xODgtMS4zMTcuOTM0LS41MzkgMS43ODQtLjM4Ljg1NS4xMzggMS4yODUuODgybC0uOTM0LjUzOXEtLjIxOS0uMzc5LS43MTMtLjQ1NC0uNDktLjA5Ny0uOTc2LjE4NC0uNTE0LjI5Ny0uNjguNy0uMTU5LjM4LjA0NS43MzIuMTk1LjMzOC41NjcuMzU3LjM3Mi4wMiAxLjE3LS4yMjQuNzktLjI1NyAxLjM0Ny0uMjkuNTU4LS4wMzQuOTQxLjE2LjM5Ni4xODYuNjQ2LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTcgMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQyLjA0NS0xLjE2OC0uMjEtLjUyNi0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI3LjUyOC0uMzA0LjcyOC0uNzA4LjItLjQwNC0uMDExLS43N3ptNS44Ni01LjgycS0xLjQ1Ni4zNTQtMi4zNDMuMTYzLS44NzMtLjItMS4zMTgtLjk3MS0uNS0uODY2LS4xMzgtMS44MzMuMzY4LS45ODggMS40OS0xLjYzNy43NTgtLjQzNyAxLjUyNi0uNDgzLjc2Ny0uMDQ2IDEuMzg5LjI4LjYzNS4zMi45OTQuOTQybC0uOTg4LjU3cS0uMzktLjY3Ny0xLjA0Mi0uODA1LS42MzgtLjEzNy0xLjQxLjMwOC0uNzE3LjQxNC0uOTM1Ljk3My0uMjI2LjU0Ni4wOTQgMS4xLjI2NS40Ni44MjQuNTUzLjU3Mi4wODUgMS42NC0uMTkgMS4wNy0uMjczIDEuNzYzLS4yNTkuNzA4LjAwNyAxLjE5My4yODUuNS4yNzEuODIuODI2LjUyMy45MDcuMTMyIDEuODU0LS4zOS45NDgtMS41NTUgMS42Mi0uNzcuNDQ1LTEuNjA2LjUzLS44MjEuMDc4LTEuNDc2LS4yMTItLjY0OC0uMzExLTEuMDE2LS45NDdsLjk3NS0uNTYzcS4zODMuNjYzIDEuMTEuNzY3LjcyNy4xMDMgMS41NTItLjM3NC43NzItLjQ0NS45OTgtLjk5LjIxOC0uNTYtLjA5NC0xLjEtLjMxMy0uNTQyLS44NjMtLjYyMS0uNTUxLS4wNzktMS43MTYuMjE1em04LjcyNy00LjIyNnEuNzE5IDEuMjQ1LjU5NiAyLjM0NC0uMTIzIDEuMS0xLjExIDEuNjctMS4wMDIuNTc4LTEuOTM4LjI3bDEuNTI0IDIuNjM5LS45MzQuNTM5LTQuMzktNy42MDUuODUyLS40OTIuMzkyLjU4NnEuMTc2LTEuMDQgMS4xOS0xLjYyNi45ODgtLjU3IDEuOTg2LS4xNTQgMS4wMTIuNDA4IDEuNzc3IDEuNzM0bC4wNTUuMDk1em0tLjk5Ni40M3EtLjU0LS45MzMtMS4yNS0xLjIyNi0uNzA1LS4zMTUtMS4zOTUuMDgzLS44NTIuNDkzLS44NDIgMS40NzlsMS41MTYgMi42MjVxLjg1Ny41MTYgMS43MjMuMDE2LjY3Ni0uMzkuNzY0LTEuMTQ1LjA5My0uNzc2LS41MTYtMS44MzF6bTIuMTIyLTMuOTQ5cS4xODUtMS4xMTcgMS4xODYtMS42OTUgMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3MS43MTMtLjE5OC40MzktLjE2Ljk0bDIuMjU3IDMuOTExLS45MzQuNTM5LTQuNS03Ljc5NC45MzQtLjU0IDEuNzExIDIuOTY0em0xMC4yNTMuNjY2cS0xLjEyMy42NDgtMi4yNDguMzI0LTEuMTItLjM0Ni0xLjgzMS0xLjU3N2wtLjA5NC0uMTYzcS0uNDc2LS44MjUtLjUzMi0xLjY0LS4wNjQtLjgzLjI4OC0xLjUwMi4zNTctLjY5NCAxLjAwNy0xLjA2OSAxLjA2OS0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIxIDIuMTQ4cS40OTYuNzk3IDEuMjMxIDEuMDQuNzUuMjM0IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA5LS42OC4yMzQtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1NCAyLjI2NXptLTIuOTY1LTQuODU1cS0uNTY4LjMyOC0uNzE5Ljk3NC0uMTQ0LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjAzOS0uMDY4cS0uNDU0LS42OTQtMS4wMzMtLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTUuNzktMy4xMjdxLS4yMzIuMDk4LS40NzUuMjM4LS45MzQuNTQtLjgwNiAxLjUxMmwyLjI1IDMuODk3LS45MzMuNTM5LTMuMTcyLTUuNDk0LjkwNi0uNTIzLjM4MS42MjhxLjAzOC0uOTk2Ljg5LTEuNDg5LjI3Mi0uMTU2LjQ2LS4xNzRsLjUuODY2em01LjgzNiAyLjk4MnEtMS4xMjMuNjQ4LTIuMjQ5LjMyNC0xLjEyLS4zNDYtMS44My0xLjU3N2wtLjA5NC0uMTYzcS0uNDc3LS44MjUtLjUzMy0xLjY0LS4wNjQtLjgzLjI4OC0xLjUwMi4zNTctLjY5NCAxLjAwNy0xLjA2OSAxLjA2OS0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIgMi4xNDhxLjQ5NS43OTcgMS4yMyAxLjA0Ljc1LjIzNCAxLjQ1NC0uMTcyLjQ4Ny0uMjgxLjcwOC0uNjguMjM0LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2Ni00Ljg1NXEtLjU2OC4zMjgtLjcxOC45NzQtLjE0NS42MjQuMjA0IDEuNDE2bDIuNzQ2LTEuNTg2LS4wMzktLjA2OHEtLjQ1NC0uNjk0LTEuMDMzLS44ODMtLjU2NC0uMTk3LTEuMTYuMTQ3em04LjE3Ni0uMjQ2cS0uMjE5LS4zNzktLjYzNC0uNDEtLjQxLS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5NS0uNTk0LS4zOTEtLjY3Ni0uMDg4LTEuNDY1LjI5NS0uODAxIDEuMTg4LTEuMzE3LjkzMy0uNTM5IDEuNzgzLS4zOC44NTUuMTM4IDEuMjg1Ljg4MmwtLjkzNC41MzlxLS4yMTktLjM3OS0uNzEzLS40NTQtLjQ4OS0uMDk3LS45NzYuMTg0LS41MTQuMjk3LS42OC43LS4xNTguMzguMDQ1LjczMi4xOTUuMzM4LjU2Ny4zNTcuMzczLjAyIDEuMTctLjIyNC43OS0uMjU3IDEuMzQ3LS4yOS41NTgtLjAzNC45NDEuMTYuMzk2LjE4Ni42NDYuNjIuNDMuNzQzLjA5MiAxLjUzNC0uMzI0Ljc4Mi0xLjI1NyAxLjMyMS0uNjYzLjM4My0xLjMxLjQ1LS42NDIuMDQ1LTEuMTY4LS4yMS0uNTI2LS4yNTUtLjgwOC0uNzQzbC45MzQtLjUzOXEuMy40NTguODE2LjU0LjUwOS4wNjcgMS4wOS0uMjcuNTI4LS4zMDQuNzI4LS43MDguMi0uNDA0LS4wMTEtLjc3ek0zNTIuNDA5IDM0Mi4xOTlsLTQuODQ1IDIuNzk3LS4zOS0uNjc3LjkxNy00LjMxOHEuMTkzLS45NzguMTgzLTEuNDk1LS4wMTgtLjUzMS0uMjY4LS45NjQtLjMzNi0uNTgyLS44OTktLjc0NC0uNTU3LS4xODQtMS4xNTIuMTYtLjY5LjM5OC0uODQ4IDEuMDMtLjE2Ni42Mi4yNDggMS4zMzdsLS45MzQuNTM5cS0uNTk0LTEuMDI4LS4zMDMtMi4wMjYuMjk1LTEuMDE5IDEuMzkxLTEuNjUxIDEuMDQyLS42MDIgMS45NS0uNDA1LjkwOC4xOTggMS40MzIgMS4xMDUuNjI1IDEuMDgyLjEwNiAzLjQwMmwtLjc0MSAzLjI3OSAzLjcwNy0yLjE0LjQ0Ni43N3ptMS40NjEtLjg0NGwtNC4yNjYtNy4zODggMi4wOTgtMS4yMTFxLjk2LS41NTUgMS45NDEtLjU0NC45ODctLjAxIDEuODQ2LjU0Ljg1OS41NSAxLjQ1MyAxLjU4bC4yNjUuNDZxLjYxIDEuMDU1LjY1NyAyLjA3NC4wNiAxLjAxMS0uNDU1IDEuODY4LS41MDIuODUtMS40ODIgMS40MzNsLTIuMDU3IDEuMTg4em0tMi44My03LjE1M2wzLjM0MyA1Ljc5MiAxLjAyOS0uNTk0cTEuMTIzLS42NDggMS4zNDctMS42OTguMjMtMS4wNy0uNTItMi4zN2wtLjI1LS40MzNxLS43MjctMS4yNTgtMS43Mi0xLjYwNC0uOTg5LS4zNjgtMi4wOTMuMjUxbC0xLjEzNi42NTZ6bTExLjY1OS0xLjgwNWwxLjY3MiAyLjg5NS0uOTc1LjU2My00LjI2NS03LjM4OCAyLjczMy0xLjU3OHExLjIwNC0uNjk2IDIuMjU0LS40NzIgMS4wNDIuMjEgMS42MzUgMS4yNC42MTcgMS4wNjguMjc3IDIuMDQtLjMyNy45NjUtMS41ODYgMS42OTJsLTEuNzQ1IDEuMDA4em0tLjQ2MS0uNzk5bDEuNzU5LTEuMDE1cS43ODUtLjQ1My45OC0xLjA1My4yMDgtLjYwOC0uMTktMS4yOTgtLjM4My0uNjYzLTEuMDI5LS44MTMtLjY0LS4xNzItMS4zNzkuMjM3bC0xLjgxMyAxLjA0NiAxLjY3MiAyLjg5NnptNi4wOTYtNS4wMzVxLjE4NS0xLjExNyAxLjE4Ni0xLjY5NSAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0Ny41NDctMi4xMDItMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcxLjcxMy0uMTk4LjQzOS0uMTYxLjk0bDIuMjU4IDMuOTExLS45MzQuNTM5LTQuNS03Ljc5NC45MzQtLjU0IDEuNzEgMi45NjR6bTguOTA3LS41NDFsLTEuMDktNC44NTYgMS4wMDItLjU3OCAxLjQ1OCA3LjYycS4yNzUgMS42NjMtLjgzNSAyLjMwNGwtLjE5Ny4wOTUtLjM3Ny4xMjgtLjQzOC0uNzU4LjI1MS0uMTI3cS40ODgtLjI4MS42MzUtLjYxOS4xNjItLjM0Ni4wNC0uOTYxbC0uMTI1LS42ODYtNS4wOTQtNC4yOTMgMS4wMjgtLjU5NCAzLjc0MiAzLjMyNXptNi41NTYtMy44OTRxLS4yMTktLjM3OS0uNjMzLS40MS0uNDEtLjA1My0xLjIxMy4yMTMtLjc5LjI1Ny0xLjMzNC4yODMtLjU0NC4wMjUtLjkxMS0uMTQyLS4zNjItLjE4OC0uNTk2LS41OTQtLjM5LS42NzYtLjA4OC0xLjQ2NS4yOTUtLjgwMSAxLjE4OC0xLjMxNy45MzQtLjUzOSAxLjc4My0uMzguODU2LjEzOCAxLjI4NS44ODJsLS45MzMuNTM5cS0uMjItLjM3OS0uNzE0LS40NTQtLjQ4OC0uMDk3LS45NzYuMTg0LS41MTQuMjk3LS42NzkuNy0uMTU5LjM4LjA0NC43MzIuMTk2LjMzOC41NjguMzU4LjM3Mi4wMiAxLjE3LS4yMjUuNzg5LS4yNTcgMS4zNDctLjI5LjU1OC0uMDM0Ljk0LjE2LjM5Ny4xODYuNjQ3LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTggMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQxLjA0NS0xLjE2Ny0uMjEtLjUyNy0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI2OS41MjgtLjMwNS43MjctLjcwOS4yLS40MDQtLjAxLS43N3ptMy44NjItLjI4bC0uOTM0LjUzOC0zLjE3Mi01LjQ5NC45MzQtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDIzLTYuMzU3cS0uMTMzLS4yMy0uMDkxLS40Ny4wNTUtLjI0OS4zMjUtLjQwNS4yNzEtLjE1Ni41LS4wNzIuMjQzLjA3Ny4zNzUuMzA3LjEyNS4yMTYuMDcuNDY1LS4wNDkuMjI3LS4zMi4zODMtLjI3LjE1Ni0uNTA1LjA5My0uMjMtLjA4NC0uMzU0LS4zem04LjQxNSAzLjUxM3EuNS0uMjg5LjcwOC0uODA1LjE5OS0uNTMtLjAyNi0xLjAxNGwuODkzLS41MTVxLjI0Ni40ODkuMTg1IDEuMTAyLS4wNTUuNTkxLS40MDggMS4xMzctLjMzOC41MzktLjkwNy44NjctMS4xMjMuNjQ4LTIuMjE1LjI4Ny0xLjA4OC0uMzgzLTEuODM4LTEuNjgybC0uMDkzLS4xNjJxLS40NjEtLjc5OS0uNTM2LTEuNTg1LS4wNjItLjc5NS4yODQtMS40NDYuMzUyLS42NzIgMS4xMS0xLjExLjkyLS41MyAxLjg0OS0uMzI3LjkzNS4xODIgMS40OSAxLjA1MWwtLjg5Mi41MTZxLS4zNTMtLjUxOC0uOTE0LS42NDUtLjU2LS4xMjgtMS4wODguMTc3LS43MTguNDE0LS44MTMgMS4xNTUtLjA5Ni43NC40NjcgMS43MTVsLjEwMS4xNzZxLjU0Ny45NDcgMS4yMzcgMS4yMzUuNjg5LjI4NyAxLjQwNi0uMTI3em01LjczNy00LjM3NnEtLjIyLS4zNzktLjYzNC0uNDEtLjQxLS4wNTMtMS4yMTIuMjEzLS43OS4yNTctMS4zMzQuMjgzLS41NDUuMDI1LS45MTItLjE0Mi0uMzYxLS4xODgtLjU5Ni0uNTk0LS4zOS0uNjc2LS4wODgtMS40NjUuMjk1LS44MDEgMS4xODgtMS4zMTcuOTM0LS41MzkgMS43ODQtLjM4Ljg1NS4xMzggMS4yODUuODgybC0uOTM0LjUzOXEtLjIxOS0uMzc5LS43MTMtLjQ1NC0uNDktLjA5Ny0uOTc2LjE4NC0uNTE0LjI5Ny0uNjguNy0uMTU4LjM4LjA0NS43MzIuMTk1LjMzOC41NjcuMzU4LjM3Mi4wMiAxLjE3LS4yMjUuNzktLjI1NyAxLjM0Ny0uMjkuNTU4LS4wMzQuOTQxLjE2LjM5Ni4xODYuNjQ2LjYyLjQzLjc0My4wOTIgMS41MzQtLjMyNC43ODItMS4yNTcgMS4zMjEtLjY2My4zODMtMS4zMS40NS0uNjQyLjA0NS0xLjE2OC0uMjEtLjUyNi0uMjU1LS44MDgtLjc0M2wuOTM0LS41MzlxLjMuNDU4LjgxNi41NC41MDguMDY3IDEuMDktLjI2OS41MjgtLjMwNS43MjgtLjcwOS4yLS40MDQtLjAxMS0uNzd6bTUuNTgtMS4yNzNsLTQuMjY2LTcuMzg4IDIuNDIyLTEuMzk5cTEuMjA0LS42OTUgMi4wODktLjUzOC44OS4xMzUgMS40NTIgMS4xMS4zMDUuNTI3LjI0MiAxLjEwNS0uMDU4LjU1Ny0uNDQ3IDEuMDcuNzAzLS4xOSAxLjMxNC4wOS42MTguMjU2Ljk5My45MDYuNTc4IDEuMDAxLjI1NyAxLjk0NC0uMzA4LjkzNi0xLjQ4NiAxLjYxNmwtMi41NyAxLjQ4NHptLTEuMDE4LTQuMDEzbDEuNTMgMi42NTIgMS42MTEtLjkzcS42OS0uMzk4Ljg4LS45NzYuMTg5LS41NzktLjE3LTEuMjAxLS43NjYtMS4zMjYtMi4yMjgtLjQ4M2wtMS42MjMuOTM4em0tLjQ1NC0uNzg1bDEuNDc1LS44NTJxLjYzNi0uMzY3LjgzNi0uODk3LjIwNC0uNTUxLS4xMTYtMS4xMDYtLjM1MS0uNjA5LS44Ni0uNjc2LS41MTUtLjA4MS0xLjI0Ni4zNGwtMS40NDguODM3IDEuMzYgMi4zNTR6bTUuNTI0LTEuMjc3cS0uNDYtLjc5OC0uNTI1LTEuNjI3LS4wNS0uODM3LjMyMy0xLjUwNC4zNjUtLjY4IDEuMDgyLTEuMDk0IDEuMTI0LS42NDggMi4yNTktLjI3NSAxLjE0OS4zNjUgMS44OTkgMS42NjRsLjAzOS4wNjhxLjQ2MS43OTguNTE3IDEuNjE0LjA1Ni44MTUtLjMwMiAxLjUwOS0uMzY1LjY4LTEuMTA5IDEuMTEtMS4xMS42NC0yLjI1OS4yNzUtMS4xNDMtLjM4Ni0xLjg4NS0xLjY3MmwtLjAzOS0uMDY4em0xLjAxOC0uNDI1cS41MjMuOTA3IDEuMjYzIDEuMjIuNzUzLjMwNCAxLjQ1Ny0uMTAyLjcxNy0uNDE0LjgxNi0xLjIxLjA5MS0uODExLS40OTQtMS44MjYtLjUxNi0uODkzLTEuMjctMS4xOTgtLjc0Ny0uMzI2LTEuNDY0LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em02Ljc0My00Ljk3NmwuMDYyLTIuNzA1IDEuMDk2LS42MzMtLjIzIDMuNzU5IDMuNDU2IDEuNzAzLTEuMDgzLjYyNS0yLjQ2LTEuMzIyLS4wODQgMi43OTEtMS4wOTYuNjMzLjI1My0zLjg0NC0zLjM1Ny0xLjY4OSAxLjA4My0uNjI1IDIuMzYgMS4zMDd6bTcuNzA3LjM1cS0xLjEyMy42NDgtMi4yNDguMzI0LTEuMTItLjM0Ni0xLjgzLTEuNTc3bC0uMDk1LS4xNjNxLS40NzYtLjgyNS0uNTMyLTEuNjQtLjA2NC0uODMuMjg4LTEuNTAyLjM1Ny0uNjk0IDEuMDA3LTEuMDY5IDEuMDY5LS42MTcgMi4wNy0uMjU3IDEuMDAyLjM2IDEuNzYgMS42NzJsLjIyNi4zOTMtMy43MjEgMi4xNDhxLjQ5Ni43OTcgMS4yMzIgMS4wNC43NDkuMjM1IDEuNDUyLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI3LjExOHEtLjA3MyAxLjQ2OC0xLjQ1NCAyLjI2NXptLTIuOTY1LTQuODU1cS0uNTY4LjMyOC0uNzE5Ljk3NC0uMTQ0LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjAzOS0uMDY4cS0uNDU0LS42OTQtMS4wMzMtLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTguMTc1LS4yNDZxLS4yMTgtLjM3OS0uNjMzLS40MS0uNDEtLjA1My0xLjIxMi4yMTMtLjc5LjI1Ny0xLjMzNC4yODMtLjU0NS4wMjUtLjkxMi0uMTQyLS4zNjEtLjE4OC0uNTk2LS41OTQtLjM5LS42NzYtLjA4OC0xLjQ2NS4yOTUtLjgwMSAxLjE4OC0xLjMxNy45MzQtLjUzOSAxLjc4NC0uMzguODU1LjEzOCAxLjI4NS44ODJsLS45MzQuNTM5cS0uMjE5LS4zNzktLjcxMy0uNDU0LS40OS0uMDk3LS45NzYuMTg0LS41MTUuMjk3LS42OC43LS4xNTkuMzguMDQ1LjczMi4xOTUuMzM4LjU2Ny4zNTguMzcyLjAyIDEuMTctLjIyNS43OS0uMjU3IDEuMzQ3LS4yOS41NTgtLjAzNC45NC4xNi4zOTcuMTg2LjY0Ny42Mi40My43NDMuMDkyIDEuNTM0LS4zMjQuNzgyLTEuMjU3IDEuMzIxLS42NjQuMzgzLTEuMzEuNDUtLjY0Mi4wNDUtMS4xNjgtLjIxLS41MjctLjI1NS0uODA4LS43NDNsLjkzNC0uNTM5cS4zLjQ1OC44MTYuNTQuNTA4LjA2NyAxLjA5LS4yNjkuNTI4LS4zMDUuNzI4LS43MDkuMi0uNDA0LS4wMTItLjc3ek00NDQuMTk1IDMwOS4xMjNxLjYyNSAxLjA4My43MjkgMi4xMDYuMDk1IDEuMDA5LS4zMzEgMS44MzItLjQxMy44MTYtMS4zMDcgMS4zMzItLjg2Ni41LTEuNzkyLjQ1OC0uOTI3LS4wNDMtMS43NTktLjYwOS0uODI2LS41ODctMS40NDktMS42MzVsLS4zMDUtLjUyOHEtLjYxNy0xLjA2OS0uNzItMi4wOTItLjA5LTEuMDMuMzM3LTEuODU0LjQxOC0uODM3IDEuMjk4LTEuMzQ1Ljg4LS41MDggMS44MDYtLjQ2NS45MjcuMDQyIDEuNzYuNjQzLjgzNS42MDEgMS40NiAxLjY4M2wuMjczLjQ3NHptLTEuMjQyLjA2OHEtLjc1OC0xLjMxMy0xLjY5Mi0xLjcxMi0uOTM0LS4zOTktMS44OC4xNDgtLjkzNC41NC0xLjA1NiAxLjU0Ny0uMTIxIDEuMDA5LjU4NCAyLjI2MmwuMzIuNTU0cS43MzQgMS4yNzIgMS42ODQgMS42OTguOTU1LjQwNSAxLjg5LS4xMzQuOTQ2LS41NDcgMS4wNy0xLjUyLjEzLS45OTUtLjYtMi4yODlsLS4zMi0uNTU0em01LjQxLjQzMWwtMS4wNzEtNS4wMS45Ni0uNTU2IDEuMTk3IDYuNjM1LS43MTguNDE0LTUuMTYtNC4zNDUuOTYtLjU1NSAzLjgzMSAzLjQxN3ptNi40NjYtMS44OTNxLTEuMTIzLjY0OC0yLjI0OS4zMjQtMS4xMi0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ny0uODI1LS41MzMtMS42NC0uMDYzLS44My4yODgtMS41MDIuMzU4LS42OTQgMS4wMDctMS4wNjkgMS4wNy0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjcuMzkzLTMuNzIxIDIuMTQ4cS40OTUuNzk3IDEuMjMxIDEuMDQuNzUuMjM0IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1MyAyLjI2NXptLTIuOTY2LTQuODU1cS0uNTY4LjMyOC0uNzE4Ljk3NC0uMTQ1LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjA0LS4wNjhxLS40NTQtLjY5NC0xLjAzMi0uODgzLS41NjUtLjE5Ny0xLjE2LjE0N3ptNS43OTEtMy4xMjdxLS4yMzIuMDk4LS40NzYuMjM4LS45MzMuNTQtLjgwNSAxLjUxMmwyLjI1IDMuODk3LS45MzQuNTM5LTMuMTcyLTUuNDk0LjkwNy0uNTIzLjM4LjYyOHEuMDM5LS45OTYuODkxLTEuNDg5LjI3MS0uMTU2LjQ1OS0uMTc0bC41Ljg2NnptNi44ODIgMi4yMzNxLS4xNzUtLjExNi0uNDctLjUwNC0uMjUyIDEuMDY1LTEuMTU5IDEuNTg5LS44MTIuNDY5LTEuNjA1LjMxMy0uNzgtLjE2My0xLjE5NC0uODgtLjQ5Mi0uODUzLS4xMTYtMS43MDEuMzc2LS44NDkgMS41NjctMS41MzZsLjkwNy0uNTI0LS4yNS0uNDMzcS0uMjgyLS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzguMjAzLS41MDEuMjg5LS42OS43NDEtLjE5OS40NC4wMTIuODA1bC0uOTQ3LjU0N3EtLjI0Mi0uNDItLjE3Ny0uOTYzLjA4LS41NS40NTUtMS4wNTYuMzY4LS41Mi45NjMtLjg2My45NjEtLjU1NSAxLjc2Mi0uMzg2LjgxNS4xNjEgMS4zMTkuOTcxbDEuNDYgMi41M3EuNDM4Ljc1OC44ODUgMS4wOTVsLjA0Ny4wODItLjk4OC41N3ptLTEuOTcuMTgxcS40NDctLjI1OC43MDYtLjcxNC4yNi0uNDU3LjIyNS0uOTI0bC0uNjQ5LTEuMTIzLS43My40MjJxLTEuNzMyIDEtMS4xNDYgMi4wMTUuMjUuNDMzLjY5Ni41MTguNDM4LjA3Mi44OTgtLjE5NHptNS42NjQtMi4zMTRsLS45MzMuNTQtNC41LTcuNzk1LjkzMy0uNTQgNC41IDcuNzk1em0yLjU5OS0xLjVsLS45MzQuNTQtNC41LTcuNzk1LjkzNC0uNTQgNC41IDcuNzk1eiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik01MTEuNDUgNTcuNDE3YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEtMSAxaC0xMGExIDEgMCAwIDEtMS0xeiIvPjxwYXRoIGZpbGw9IiM3NTc1NzUiIGQ9Ik01MzMuMjc4IDY1Ljk5NWg0Ljg5di45MjJoLTYuMjE4di0uODQ0bDQuNjg4LTYuNzY2aC00LjYxdi0uOTIyaDUuOTUzdi44MjlsLTQuNzAzIDYuNzh6bTExLjA2My01LjM5cTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODEuNjU2LjI4MSAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjUtLjczNC42NTctMS45NTMuNjU3LTEuMjM0IDAtMS45ODQtLjY1Ny0uNzM1LS42NzEtLjczNS0xLjc2NSAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjMgMS4wNDctLjg0NC0uNTYyLS4yODEtLjg5LS43ODEtLjMyOS0uNS0uMzI5LTEuMTQgMC0xLjA3OS42ODgtMS43MDQuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3ptLS44OTEgMy45ODRxMC0uNzItLjQ1My0xLjE1Ny0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM4cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5LS4zOSAxLjA3OCAwIC42NDEuMzkgMS4wNDcuMzkuNDA3IDEuMDMxLjQwNy42NTcgMCAxLjA0Ny0uNDA3LjM5LS40MDYuMzktMS4wNDcgMC0uNjU2LS40MDUtMS4wNjItLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTguOTA2IDQuOTA2aDEuMTg4di44NzVoLTEuMTg4djEuOTg1aC0xLjA3OHYtMS45ODVoLTMuODl2LS42NGwzLjgxMi01LjkwN2gxLjE1NnY1LjY3MnptLTMuNzM0IDBoMi42NTZWNTkuODdsLS4xNC4yMzQtMi41MTYgMy45NTN6bTExLjUxNi0uNzgxcTAgMS45MDYtLjY1NyAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNy0uNjU2LS45MDYtLjY4Ny0yLjcxOHYtMS40MzhxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OTEuNjU2Ljg3NS42NzIgMi43MTl2MS40MDZ6bS0xLjA5NC0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0MS0xLjIyLS42NDEtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI2LS4zNzUgMS45MjN2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDcuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXoiLz48cGF0aCBmaWxsPSIjZGI0NDM3IiBkPSJNNTExLjQ1IDgyLjQxN2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxLTEgMWgtMTBhMSAxIDAgMCAxLTEtMXoiLz48cGF0aCBmaWxsPSIjNzU3NTc1IiBkPSJNNTMzLjg4OCA4My4zODVsMi43OTYgNi45NTQgMi43ODItNi45NTRoMS40Njh2OC41MzJoLTEuMTI1di0zLjMyOGwuMTEtMy41NzktMi44MTMgNi45MDdoLS44NmwtMi43OTYtNi44OTEuMTEgMy41NjN2My4zMjhoLTEuMTI2di04LjUzMmgxLjQ1NHptMTIuMjk2IDguNTMycS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMyLS41OTMtLjUzLS41OTMtMS4zNTkgMC0uOTg0Ljc1LTEuNTMxLjc1LS41NDcgMi4xMjUtLjU0N2gxLjA0N3YtLjVxMC0uNTYzLS4zNDQtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk2LS4zOS4yODItLjM5LjcwNGgtMS4wOTRxMC0uNDg1LjMyOC0uOTIyLjM0NC0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ni42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTVoLTEuMTR6bS0xLjc5Ni0uODI4cS41MTUgMCAuOTY4LS4yNjYuNDUzLS4yNjYuNjU3LS42ODhWODguODRoLS44NDRxLTIgMC0yIDEuMTcxIDAgLjUuMzQ0Ljc5Ny4zNDMuMjgyLjg3NS4yODJ6bTcuNDIxLjA2MnEuNTc5IDAgMS4wMTYtLjM0NC40MzgtLjM2LjQ4NC0uODloMS4wMzJxLS4wMzIuNTQ3LS4zOTEgMS4wNDctLjM0NC40ODQtLjkyMi43OC0uNTYyLjI5OC0xLjIxOS4yOTgtMS4yOTYgMC0yLjA2Mi0uODYtLjc1LS44NzUtLjc1LTIuMzc1di0uMTg3cTAtLjkyMi4zMjgtMS42NC4zNDQtLjcyLjk2OS0xLjExLjY0LS40MDYgMS41MTUtLjQwNiAxLjA2MyAwIDEuNzY2LjY0LjcxOS42MjUuNzY2IDEuNjU2aC0xLjAzMnEtLjA0Ni0uNjI1LS40NjgtMS4wMTUtLjQyMi0uMzktMS4wMzItLjM5LS44MjggMC0xLjI4LjU5My0uNDU0LjU5NC0uNDU0IDEuNzE5di4yMDNxMCAxLjA5NC40NTMgMS42ODcuNDUzLjU5NCAxLjI4MS41OTR6bTMuNjI1Ljc2NnYtOC41MzJoMi43OTdxMS4zOSAwIDIuMDc4LjU3OS43MDQuNTYyLjcwNCAxLjY4NyAwIC42MS0uMzQ0IDEuMDc4LS4zMjguNDUzLS45MjIuNzAzLjcwMy4xODggMS4wOTQuNzM1LjQwNi41My40MDYgMS4yOCAwIDEuMTU3LS43NSAxLjgxMy0uNzM0LjY1Ny0yLjA5NC42NTdoLTIuOTY5em0xLjEyNS0zLjk4NXYzLjA2M2gxLjg2cS43OTcgMCAxLjI1LS40MDYuNDUzLS40MDcuNDUzLTEuMTI1IDAtMS41MzItMS42ODgtMS41MzJoLTEuODc1em0wLS45MDZoMS43MDRxLjczNCAwIDEuMTcxLS4zNi40NTQtLjM3NC40NTQtMS4wMTUgMC0uNzAzLS40MDctMS4wMTYtLjQwNi0uMzI4LTEuMjUtLjMyOGgtMS42NzJ2Mi43MTl6bTUuNDIyIDEuNjU2cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNiAxLjQ4NS0uNDA2IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5LjgxMyAyLjM5di4wNzlxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE1IDEuMTU2LS42NTcuNDA3LTEuNTE2LjQwNy0xLjI4MSAwLTIuMDk0LS44OTEtLjc5Ny0uOTA2LS43OTctMi4zOXYtLjA3OXptMS4wOTQuMTRxMCAxLjA0OC40ODQgMS42ODguNS42NDEgMS4zMTMuNjQxLjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ny40ODUtMS44MjkgMC0xLjAzMS0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjYtLjQ4NCAxLjgyOXptNS45MDYtLjE0cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNiAxLjQ4NS0uNDA2IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5LjgxMyAyLjM5di4wNzlxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE1IDEuMTU2LS42NTcuNDA3LTEuNTE2LjQwNy0xLjI4MSAwLTIuMDk0LS44OTEtLjc5Ny0uOTA2LS43OTctMi4zOXYtLjA3OXptMS4wOTQuMTRxMCAxLjA0OC40ODQgMS42ODguNS42NDEgMS4zMTMuNjQxLjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ny40ODUtMS44MjkgMC0xLjAzMS0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjYtLjQ4NCAxLjgyOXptNy45NjkuMTU3bC0uNjg4LjcwM3YyLjIzNWgtMS4wNzh2LTloMS4wNzh2NS40MzdsLjU3OC0uNjg3IDEuOTg1LTIuMDk0aDEuMzEybC0yLjQ2OCAyLjY1NiAyLjc2NSAzLjY4OGgtMS4yODFsLTIuMjAzLTIuOTM4ek0xNzYuNTMxIDM2LjAxOWg2Ljc1djEuNTMxaC04LjYyNVYyMy4zMzFoMS44NzVWMzYuMDJ6bTEwLjc5NyAxLjUzMWgtMS43OTdWMjYuOTg4aDEuNzk3VjM3LjU1em0tMS45NTMtMTMuMzc1cTAtLjQzOC4yNjYtLjczNC4yOC0uMzEzLjc5Ny0uMzEzLjUzIDAgLjc5Ni4zMTMuMjgyLjI5Ny4yODIuNzM0IDAgLjQzOC0uMjgyLjczNC0uMjY1LjI5Ny0uNzk3LjI5Ny0uNTE1IDAtLjc5Ni0uMjk3LS4yNjYtLjI5Ni0uMjY2LS43MzR6bTUuODc1IDEzLjM3NXYtOS4xNzJoLTEuNjU2di0xLjM5aDEuNjU2di0xLjA5NHEwLTEuNjg4LjkwNi0yLjYxLjkyMi0uOTM3IDIuNTc4LS45MzcuNjI1IDAgMS4yMzUuMTU2bC0uMDk0IDEuNDY5cS0uNDUzLS4wNzgtLjk2OS0uMDc4LS44OSAwLTEuMzc1LjUxNS0uNDY5LjUtLjQ2OSAxLjQ1NHYxLjEyNWgyLjI1djEuMzloLTIuMjV2OS4xNzJoLTEuODEyem04LjU2My0xMy4xMjV2Mi41NjNoMS45ODR2MS4zOWgtMS45ODR2Ni41NDdxMCAuNjQuMjY1Ljk2OS4yNjYuMzEyLjkwNi4zMTIuMzEzIDAgLjg2LS4xMjV2MS40NjlxLS43MTkuMjAzLTEuMzkuMjAzLTEuMjA0IDAtMS44MjktLjczNC0uNjEtLjczNS0uNjEtMi4wOTR2LTYuNTQ3aC0xLjkyMXYtMS4zOWgxLjkyMnYtMi41NjNoMS43OTd6bTQuMDc4IDcuNzVxMC0xLjU2Mi42MDktMi43OTcuNjEtMS4yNSAxLjY4OC0xLjkyMiAxLjA5My0uNjcyIDIuNS0uNjcyIDIuMTU2IDAgMy40ODQgMS41IDEuMzQ0IDEuNDg1IDEuMzQ0IDMuOTd2LjEyNHEwIDEuNTQ3LS41OTQgMi43ODEtLjU5NCAxLjIyLTEuNzAzIDEuOTA3LTEuMDk0LjY4Ny0yLjUxNi42ODctMi4xNCAwLTMuNDg0LTEuNS0xLjMyOC0xLjUtMS4zMjgtMy45NTN2LS4xMjV6bTEuODEyLjIwM3EwIDEuNzY2LjgxMyAyLjgyOC44MjggMS4wNjMgMi4xODcgMS4wNjMgMS4zNzUgMCAyLjE4OC0xLjA3OC44MTItMS4wNzkuODEyLTMuMDE2IDAtMS43NS0uODI4LTIuODI4LS44MjgtMS4wNzgtMi4xODgtMS4wNzgtMS4zNDMgMC0yLjE3MSAxLjA2Mi0uODEzIDEuMDYzLS44MTMgMy4wNDd6bTEwLjU0NyA1LjE3MnYtOS4xNzJoLTEuNjU2di0xLjM5aDEuNjU2di0xLjA5NHEwLTEuNjg4LjkwNi0yLjYxLjkyMi0uOTM3IDIuNTc4LS45MzcuNjI1IDAgMS4yMzUuMTU2bC0uMDk0IDEuNDY5cS0uNDUzLS4wNzgtLjk2OS0uMDc4LS44OSAwLTEuMzc1LjUxNS0uNDY5LjUtLjQ2OSAxLjQ1NHYxLjEyNWgyLjI1djEuMzloLTIuMjV2OS4xNzJoLTEuODEyem03IDB2LTkuMTcyaC0xLjY1NnYtMS4zOWgxLjY1NnYtMS4wOTRxMC0xLjY4OC45MDYtMi42MS45MjItLjkzNyAyLjU3OC0uOTM3LjYyNSAwIDEuMjM1LjE1NmwtLjA5NCAxLjQ2OXEtLjQ1My0uMDc4LS45NjktLjA3OC0uODkgMC0xLjM3NS41MTUtLjQ2OS41LS40NjkgMS40NTR2MS4xMjVoMi4yNXYxLjM5aC0yLjI1djkuMTcyaC0xLjgxMnptMTMuMjgxLTUuNTYydjUuNTYyaC0xLjg3NVYyMy4zMzFoNS4yMzVxMi4zNDMgMCAzLjY1NiAxLjE4OCAxLjMyOCAxLjE4NyAxLjMyOCAzLjE1NiAwIDIuMDc4LTEuMjk3IDMuMjAzLTEuMjk3IDEuMTEtMy43MDMgMS4xMWgtMy4zNDR6bTAtMS41MzJoMy4zNnExLjUxNSAwIDIuMzEyLS43MDMuNzk3LS43MTkuNzk3LTIuMDYyIDAtMS4yNjYtLjc5Ny0yLjAxNi0uNzk3LS43NjYtMi4yMDMtLjc5N2gtMy40Njl2NS41Nzh6bTE1LjIxOSA3LjI5N3EtMi4xNCAwLTMuNS0xLjQwNi0xLjM0NC0xLjQyMi0xLjM0NC0zLjc4MXYtLjM0NHEwLTEuNTYzLjU5NC0yLjc5Ny42MS0xLjIzNCAxLjY4OC0xLjkzOCAxLjA3OC0uNzAzIDIuMzQzLS43MDMgMi4wNjMgMCAzLjIwMyAxLjM2IDEuMTQxIDEuMzYgMS4xNDEgMy44OXYuNzVoLTcuMTU2cS4wMzEgMS41NjMuOTA2IDIuNTMyLjg3NS45NTMgMi4yMTkuOTUzLjk2OSAwIDEuNjI1LS4zOS42NzItLjM5MiAxLjE3Mi0xLjAzMmwxLjA5My44NnEtMS4zMjggMi4wNDYtMy45ODQgMi4wNDZ6bS0uMjE5LTkuNDg0cS0xLjA5NCAwLTEuODQ0Ljc5Ny0uNzM0Ljc5Ny0uOTA2IDIuMjM0aDUuMjgxdi0uMTRxLS4wNzgtMS4zNzYtLjc1LTIuMTI2LS42NTYtLjc2NS0xLjc4LS43NjV6bTExLjkzOC4zMjhxLS40MDYtLjA2My0uODc1LS4wNjMtMS43ODEgMC0yLjQyMiAxLjUxNnY3LjVoLTEuNzk3VjI2Ljk4OGgxLjc1bC4wMzEgMS4yMThxLjg5LTEuNDIyIDIuNTE2LTEuNDIyLjUzMSAwIC43OTcuMTQxdjEuNjcyem0yLjc4MSA4Ljk1M3YtOS4xNzJoLTEuNjU2di0xLjM5aDEuNjU2di0xLjA5NHEwLTEuNjg4LjkwNi0yLjYxLjkyMi0uOTM3IDIuNTc4LS45MzcuNjI1IDAgMS4yMzUuMTU2bC0uMDk0IDEuNDY5cS0uNDUzLS4wNzgtLjk2OS0uMDc4LS44OSAwLTEuMzc1LjUxNS0uNDY5LjUtLjQ2OSAxLjQ1NHYxLjEyNWgyLjI1djEuMzloLTIuMjV2OS4xNzJoLTEuODEyem01LjY0LTUuMzc1cTAtMS41NjIuNjEtMi43OTcuNjEtMS4yNSAxLjY4OC0xLjkyMiAxLjA5My0uNjcyIDIuNS0uNjcyIDIuMTU2IDAgMy40ODQgMS41IDEuMzQ0IDEuNDg1IDEuMzQ0IDMuOTd2LjEyNHEwIDEuNTQ3LS41OTQgMi43ODEtLjU5NCAxLjIyLTEuNzAzIDEuOTA3LTEuMDk0LjY4Ny0yLjUxNi42ODctMi4xNCAwLTMuNDg0LTEuNS0xLjMyOC0xLjUtMS4zMjgtMy45NTN2LS4xMjV6bTEuODEzLjIwM3EwIDEuNzY2LjgxMyAyLjgyOC44MjggMS4wNjMgMi4xODcgMS4wNjMgMS4zNzUgMCAyLjE4OC0xLjA3OC44MTItMS4wNzkuODEyLTMuMDE2IDAtMS43NS0uODI4LTIuODI4LS44MjgtMS4wNzgtMi4xODgtMS4wNzgtMS4zNDMgMC0yLjE3MSAxLjA2Mi0uODEzIDEuMDYzLS44MTMgMy4wNDd6bTE0Ljc2Ni0zLjc4MXEtLjQwNi0uMDYzLS44NzUtLjA2My0xLjc4MSAwLTIuNDIyIDEuNTE2djcuNWgtMS43OTdWMjYuOTg4aDEuNzVsLjAzMSAxLjIxOHEuODktMS40MjIgMi41MTYtMS40MjIuNTMxIDAgLjc5Ny4xNDF2MS42NzJ6bTMuNTk0LTEuNjFsLjA0NiAxLjE3MnExLjE3Mi0xLjM3NSAzLjE0MS0xLjM3NSAyLjIxOSAwIDMuMDE2IDEuNzA0LjUzLS43NjYgMS4zNzUtMS4yMzUuODQzLS40NjkgMi0uNDY5IDMuNDY4IDAgMy41MyAzLjY4OHY3LjA3OGgtMS44MTJ2LTYuOTY5cTAtMS4xNC0uNTE1LTEuNzAzLS41MTYtLjU2Mi0xLjczNS0uNTYyLTEgMC0xLjY3MS42MDktLjY1Ny41OTQtLjc2NiAxLjYxdjcuMDE1aC0xLjgxM3YtNi45MjJxMC0yLjMxMi0yLjI2NS0yLjMxMi0xLjc4MSAwLTIuNDIyIDEuNTE1djcuNzE5aC0xLjgxM1YyNi45ODhoMS43MDR6TTMxNC44OSAzNy41NXEtLjE1Ny0uMzEzLS4yNS0xLjExLTEuMjY2IDEuMzEzLTMuMDE2IDEuMzEzLTEuNTYzIDAtMi41NjMtLjg5LTEtLjg5MS0xLTIuMjUgMC0xLjY0MSAxLjI1LTIuNTQ3IDEuMjY2LS45MjIgMy41MzItLjkyMmgxLjc2NXYtLjgyOHEwLS45NTMtLjU3OC0xLjUxNi0uNTYyLS41NjMtMS42NTYtLjU2My0uOTY5IDAtMS42MjUuNS0uNjU2LjQ4NS0uNjU2IDEuMTcyaC0xLjgxM3EwLS43OC41NjMtMS41MTUuNTYyLS43NSAxLjUxNS0xLjE3Mi45Ny0uNDM4IDIuMTI1LS40MzggMS44MjkgMCAyLjg2LjkyMiAxLjAzMS45MDcgMS4wNzggMi41MTZ2NC44NnEwIDEuNDUyLjM2IDIuMzEydi4xNTZoLTEuODkxem0tMy0xLjM3NXEuODU5IDAgMS42MDktLjQzOC43NjYtLjQzNyAxLjExLTEuMTR2LTIuMTcyaC0xLjQyM3EtMy4zMTIgMC0zLjMxMiAxLjkzOCAwIC44NTkuNTYzIDEuMzQzLjU2Mi40NjkgMS40NTMuNDY5em05LjE4Ny05LjE4N2wuMDYzIDEuMzI4cTEuMjAzLTEuNTMyIDMuMTU2LTEuNTMyIDMuMzYgMCAzLjM3NSAzLjc4MnY2Ljk4NGgtMS43OTd2LTdxLS4wMTYtMS4xNC0uNTMxLTEuNjg4LS41LS41NDYtMS41OTQtLjU0Ni0uODc1IDAtMS41NDcuNDY4LS42NTYuNDctMS4wMzEgMS4yMzV2Ny41MzFoLTEuNzk3VjI2Ljk4OGgxLjcwM3ptMTMuNTMxIDkuMjhxLjk3IDAgMS42ODgtLjU3Ny43MTktLjU5NC43OTctMS40N2gxLjcxOXEtLjA2My45MDctLjY0MSAxLjczNS0uNTYzLjgxMy0xLjUzMSAxLjMxMy0uOTU0LjQ4NC0yLjAzMi40ODQtMi4xNTYgMC0zLjQzNy0xLjQzNy0xLjI2Ni0xLjQ1NC0xLjI2Ni0zLjk1NHYtLjI5NnEwLTEuNTQ3LjU2My0yLjc1LjU2Mi0xLjIwMyAxLjYyNS0xLjg2IDEuMDYyLS42NzIgMi41LS42NzIgMS43ODEgMCAyLjk1MyAxLjA2MyAxLjE4NyAxLjA2MiAxLjI2NSAyLjc2NWgtMS43MThxLS4wNzgtMS4wMTUtLjc4MS0xLjY3MS0uNjg4LS42NzItMS43Mi0uNjcyLTEuMzc0IDAtMi4xNCAxLS43NS45ODQtLjc1IDIuODZ2LjM0M3EwIDEuODI4Ljc1IDIuODEyLjc1Ljk4NSAyLjE1Ni45ODV6bTEwLjE0MSAxLjQ4NXEtMi4xNCAwLTMuNS0xLjQwNi0xLjM0NC0xLjQyMi0xLjM0NC0zLjc4MXYtLjM0NHEwLTEuNTYzLjU5NC0yLjc5Ny42MS0xLjIzNCAxLjY4OC0xLjkzOCAxLjA3OC0uNzAzIDIuMzQzLS43MDMgMi4wNjMgMCAzLjIwMyAxLjM2IDEuMTQxIDEuMzYgMS4xNDEgMy44OXYuNzVoLTcuMTU2cS4wMzEgMS41NjMuOTA2IDIuNTMyLjg3NS45NTMgMi4yMTkuOTUzLjk2OSAwIDEuNjI1LS4zOS42NzItLjM5MiAxLjE3Mi0xLjAzMmwxLjA5My44NnEtMS4zMjggMi4wNDYtMy45ODQgMi4wNDZ6bS0uMjE5LTkuNDg0cS0xLjA5NCAwLTEuODQ0Ljc5Ny0uNzM0Ljc5Ny0uOTA2IDIuMjM0aDUuMjgxdi0uMTRxLS4wNzgtMS4zNzYtLjc1LTIuMTI2LS42NTYtLjc2NS0xLjc4LS43NjV6bTExLjM2IDMuOTA2cTAtMS41NjIuNjA5LTIuNzk3LjYxLTEuMjUgMS42ODgtMS45MjIgMS4wOTMtLjY3MiAyLjUtLjY3MiAyLjE1NiAwIDMuNDg0IDEuNSAxLjM0NCAxLjQ4NSAxLjM0NCAzLjk3di4xMjRxMCAxLjU0Ny0uNTk0IDIuNzgxLS41OTQgMS4yMi0xLjcwMyAxLjkwNy0xLjA5NC42ODctMi41MTYuNjg3LTIuMTQgMC0zLjQ4NC0xLjUtMS4zMjgtMS41LTEuMzI4LTMuOTUzdi0uMTI1em0xLjgxMi4yMDNxMCAxLjc2Ni44MTMgMi44MjguODI4IDEuMDYzIDIuMTg3IDEuMDYzIDEuMzc1IDAgMi4xODgtMS4wNzguODEyLTEuMDc5LjgxMi0zLjAxNiAwLTEuNzUtLjgyOC0yLjgyOC0uODI4LTEuMDc4LTIuMTg4LTEuMDc4LTEuMzQzIDAtMi4xNzEgMS4wNjItLjgxMyAxLjA2My0uODEzIDMuMDQ3em0xMS4zNzUtNS4zOWwuMDYzIDEuMzI4cTEuMjAzLTEuNTMyIDMuMTU2LTEuNTMyIDMuMzYgMCAzLjM3NSAzLjc4MnY2Ljk4NGgtMS43OTd2LTdxLS4wMTYtMS4xNC0uNTMxLTEuNjg4LS41LS41NDYtMS41OTQtLjU0Ni0uODc1IDAtMS41NDcuNDY4LS42NTYuNDctMS4wMzEgMS4yMzV2Ny41MzFoLTEuNzk3VjI2Ljk4OGgxLjcwM3ptMjQuNTc4LTMuNjU3djkuNjcycTAgMi0xLjI2NSAzLjI4MS0xLjI1IDEuMjgyLTMuMzkxIDEuNDM4bC0uNS4wMzFxLTIuMzQ0IDAtMy43MzQtMS4yNjYtMS4zNzUtMS4yNjUtMS4zOTEtMy40NjhWMjMuMzNoMS44NDR2OS42MjVxMCAxLjU0Ny44NDQgMi40MDYuODU5Ljg0NCAyLjQzNy44NDQgMS41OTQgMCAyLjQzOC0uODQ0Ljg0My0uODQzLjg0My0yLjM5di05LjY0aDEuODc1em00LjQyMiAzLjY1N2wuMDYzIDEuMzI4cTEuMjAzLTEuNTMyIDMuMTU2LTEuNTMyIDMuMzYgMCAzLjM3NSAzLjc4MnY2Ljk4NGgtMS43OTd2LTdxLS4wMTYtMS4xNC0uNTMxLTEuNjg4LS41LS41NDYtMS41OTQtLjU0Ni0uODc1IDAtMS41NDcuNDY4LS42NTYuNDctMS4wMzEgMS4yMzV2Ny41MzFoLTEuNzk3VjI2Ljk4OGgxLjcwM3ptMTEuMjUgMTAuNTYyaC0xLjc5N1YyNi45ODhoMS43OTdWMzcuNTV6bS0xLjk1My0xMy4zNzVxMC0uNDM4LjI2Ni0uNzM0LjI4LS4zMTMuNzk2LS4zMTMuNTMyIDAgLjc5Ny4zMTMuMjgyLjI5Ny4yODIuNzM0IDAgLjQzOC0uMjgyLjczNC0uMjY1LjI5Ny0uNzk2LjI5Ny0uNTE2IDAtLjc5Ny0uMjk3LS4yNjYtLjI5Ni0uMjY2LS43MzR6bTcuNDM4LjI1djIuNTYzaDEuOTg0djEuMzloLTEuOTg1djYuNTQ3cTAgLjY0LjI2Ni45NjkuMjY2LjMxMi45MDYuMzEyLjMxMyAwIC44Ni0uMTI1djEuNDY5cS0uNzE5LjIwMy0xLjM5LjIwMy0xLjIwNCAwLTEuODI5LS43MzQtLjYxLS43MzUtLjYxLTIuMDk0di02LjU0N2gtMS45MjF2LTEuMzloMS45MjJ2LTIuNTYzaDEuNzk2em04LjAxNSAxMC40ODRsMi40NTMtNy45MjFoMS45MzhsLTQuMjUgMTIuMTg3cS0uOTg1IDIuNjQtMy4xMjUgMi42NGwtLjM0NC0uMDMtLjY3Mi0uMTI2di0xLjQ2OGwuNDg1LjA0NnEuOTIxIDAgMS40MjEtLjM3NS41MTYtLjM3NS44NDQtMS4zNTlsLjQwNi0xLjA3OC0zLjc2NS0xMC40MzdoMS45NjlsMi42NCA3LjkyMXoiLz48L3N2Zz4=" alt="Liftoff Performance on Unity"></p>
<p>On Unity, Liftoff code execute on average around 50% slower than TurboFan code on the desktop machine and 70% slower on the MacBook. Interestingly, there is one case (Mandelbrot Script) where Liftoff code outperforms TurboFan code. This is likely an outlier where, for example, the register allocator of TurboFan is doing poorly in a hot loop. We are investigating to see if TurboFan can be improved to handle this case better.</p>
<p><img src="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHdpZHRoPSI2MDAiIGhlaWdodD0iMzcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNjAwdjM3MUgwVjB6Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg2MDB2MzcxSDBWMHoiLz48cGF0aCBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAzMDkuNWgzOTdNOTQuNSAyNDcuNWgzOTciLz48cGF0aCBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAxODUuNWgzOTciLz48cGF0aCBzdHJva2U9IiNjY2MiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBkPSJNOTQuNSAxMjQuNWgzOTdNOTQuNSA2Mi41aDM5NyIvPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0iTTk0LjU1IDYyLjQxN2gzOTcuMDY0djI0Ny4wMzhIOTQuNTVWNjIuNDE3eiIvPjwvY2xpcFBhdGg+PHBhdGggZmlsbD0iIzQyODVmNCIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJNMTM2IDE4NmgtMTl2LTQ1YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMTk4IDE4NmgtMTl2LTM2YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMjYxIDE4NmgtMTl2LTI3YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMzIzIDE4NmgtMTl2LTIwYTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMzg2IDE4NmgtMTl2NjdhMiAyIDAgMCAwIDIgMmgxNWEyIDIgMCAwIDAgMi0yek00NDggMTg2aC0xOXYxNGEyIDIgMCAwIDAgMiAyaDE1YTIgMiAwIDAgMCAyLTJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgY2xpcC1wYXRoPSJ1cmwoI2EpIiBkPSJNMTU2IDE4NmgtMTl2LTY1YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMjE4IDE4NmgtMTl2LTQ1YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMjgxIDE4NmgtMTl2LTQ5YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNMzQzIDE4NmgtMTl2LTM1YTIgMiAwIDAgMSAyLTJoMTVhMiAyIDAgMCAxIDIgMnpNNDA2IDE4NmgtMTl2OTRhMiAyIDAgMCAwIDIgMmgxNWEyIDIgMCAwIDAgMi0yek00NjggMTg2aC0xOXY0OWEyIDIgMCAwIDAgMiAyaDE1YTIgMiAwIDAgMCAyLTJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTExNS45MjIgMTE5LjQ4aDIuMzl2MS4wMzJoLTIuMzl2Mi42ODdoLTEuMDc4di0yLjY4N2gtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTUuMzYtLjIxOGguODEycS43ODEtLjAxNiAxLjIxOS0uNDA2LjQzNy0uMzkxLjQzNy0xLjA2MyAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDYtLjQwNi40MDctLjQwNiAxLjA2M2gtMS4wOTRxMC0xLjAxNi43MzQtMS42ODguNzUtLjY3MSAxLjg5MS0uNjcxIDEuMjAzIDAgMS44OS42NC42ODguNjQuNjg4IDEuNzgxIDAgLjU2My0uMzYgMS4wNzktLjM1OS41MTUtLjk4NC43OC43MDQuMjIgMS4wNzkuNzM1LjM5LjUxNi4zOSAxLjI2NiAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ny0uNzUtMS43MmgxLjA5NHEwIC42NzMuNDM3IDEuMDc5LjQzOC40MDYgMS4xODguNDA2Ljc4IDAgMS4xODctLjQwNi40MjItLjQyMi40MjItMS4xODggMC0uNzM0LS40NTMtMS4xMjUtLjQ1My0uNDA2LTEuMzI4LS40MjFoLS44MTN2LS44OTF6bTEwLjYwOS0xLjUxNnEwIC42NC0uMzQ0IDEuMTQtLjM0NC41LS45MDYuNzgyLjY1Ni4yODEgMS4wNDcuODQ0LjM5LjU0Ny4zOSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0IDAtMS4wNzkuNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg1cTAtLjcyLS40NTMtMS4xNTctLjQ1My0uNDUzLTEuMTg4LS40NTMtLjczNCAwLTEuMTg3LjQ1My0uNDM4LjQzOC0uNDM4IDEuMTcyIDAgLjcxOS40MzggMS4xNC40MzcuNDA3IDEuMjAzLjQwNy43NSAwIDEuMTg4LS40MjIuNDM3LS40MjIuNDM3LTEuMTR6bS0xLjYyNS01LjQzOHEtLjY0IDAtMS4wNDcuNDA2LS4zOS4zOTEtLjM5IDEuMDc5IDAgLjY0LjM5IDEuMDQ2LjM5LjQwNyAxLjAzMS40MDcuNjU3IDAgMS4wNDctLjQwNy4zOS0uNDA2LjM5LTEuMDQ2IDAtLjY1Ny0uNDA1LTEuMDYzLS40MDctLjQyMi0xLjAxNi0uNDIyem00LjIzNC44NzVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MzhxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJNMTE1LjkyMiAxMTkuNDhoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptNS4zNi0uMjE4aC44MTJxLjc4MS0uMDE2IDEuMjE5LS40MDYuNDM3LS4zOTEuNDM3LTEuMDYzIDAtMS41LTEuNS0xLjUtLjcwMyAwLTEuMTI1LjQwNi0uNDA2LjQwNy0uNDA2IDEuMDYzaC0xLjA5NHEwLTEuMDE2LjczNC0xLjY4OC43NS0uNjcxIDEuODkxLS42NzEgMS4yMDMgMCAxLjg5LjY0LjY4OC42NC42ODggMS43ODEgMCAuNTYzLS4zNiAxLjA3OS0uMzU5LjUxNS0uOTg0Ljc4LjcwNC4yMiAxLjA3OS43MzUuMzkuNTE2LjM5IDEuMjY2IDAgMS4xNC0uNzUgMS44MjgtLjc1LjY3Mi0xLjk1My42NzItMS4xODggMC0xLjk1My0uNjU2LS43NS0uNjU3LS43NS0xLjcyaDEuMDk0cTAgLjY3My40MzcgMS4wNzkuNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4OCAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMWgtLjgxM3YtLjg5MXptMTAuNjA5LTEuNTE2cTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODIuNjU2LjI4MSAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjYtLjczNC42NTYtMS45NTMuNjU2LTEuMjM0IDAtMS45ODQtLjY1Ni0uNzM1LS42NzItLjczNS0xLjc2NiAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjMgMS4wNDctLjg0NC0uNTYyLS4yODEtLjg5LS43ODEtLjMyOS0uNS0uMzI5LTEuMTQgMC0xLjA3OS42ODgtMS43MDQuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3ptLS44OTEgMy45ODVxMC0uNzItLjQ1My0xLjE1Ny0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM4cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5MS0uMzkgMS4wNzkgMCAuNjQuMzkgMS4wNDYuMzkuNDA3IDEuMDMxLjQwNy42NTcgMCAxLjA0Ny0uNDA3LjM5LS40MDYuMzktMS4wNDYgMC0uNjU3LS40MDUtMS4wNjMtLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTQuMjM0Ljg3NXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQzOHEwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xNzcuOTIyIDEyOC43MjVoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNS4zNi0uMjE5aC44MTJxLjc4MS0uMDE1IDEuMjE5LS40MDYuNDM3LS4zOS40MzctMS4wNjMgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA3LS40MDYuNDA2LS40MDYgMS4wNjJoLTEuMDk0cTAtMS4wMTUuNzM0LTEuNjg3Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYyLS4zNiAxLjA3OC0uMzU5LjUxNS0uOTg0Ljc4MS43MDMuMjE5IDEuMDc4LjczNC4zOTEuNTE2LjM5MSAxLjI2NiAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OC40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg3IDAtLjczNS0uNDUzLTEuMTI1LS40NTMtLjQwNy0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTEwLjc4IDEuMTU2cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5MS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzIgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4em0yLjY0LTEuNzY2cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgyLS4yNS43ODJ2LjQyMXptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0xNzcuOTIyIDEyOC43MjVoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNS4zNi0uMjE5aC44MTJxLjc4MS0uMDE1IDEuMjE5LS40MDYuNDM3LS4zOS40MzctMS4wNjMgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA3LS40MDYuNDA2LS40MDYgMS4wNjJoLTEuMDk0cTAtMS4wMTUuNzM0LTEuNjg3Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYyLS4zNiAxLjA3OC0uMzU5LjUxNS0uOTg0Ljc4MS43MDMuMjE5IDEuMDc4LjczNC4zOTEuNTE2LjM5MSAxLjI2NiAwIDEuMTQtLjc1IDEuODI4LS43NS42NzItMS45NTMuNjcyLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OC40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg3IDAtLjczNS0uNDUzLTEuMTI1LS40NTMtLjQwNy0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTEwLjc4IDEuMTU2cTAgMS45MDctLjY1NiAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5MS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzIgMi43MnYxLjQwNXptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4em0yLjY0LTEuNzY2cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgyLS4yNS43ODJ2LjQyMXptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yNDAuOTIyIDEzNy43MzdoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMmgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptOS4zNzUgNC41NzhoLTUuNTk0di0uNzhsMi45NTMtMy4yODJxLjY1Ni0uNzUuOTA2LTEuMjAzLjI1LS40NjkuMjUtLjk2OSAwLS42NzItLjQwNi0xLjA5NC0uMzktLjQzNy0xLjA3OC0uNDM3LS43OTcgMC0xLjI1LjQ2OS0uNDUzLjQ1My0uNDUzIDEuMjhoLTEuMDc4cTAtMS4xODcuNzUtMS45MDUuNzY2LS43MzUgMi4wMzEtLjczNSAxLjIwMyAwIDEuODkuNjI1LjY4OC42MjUuNjg4IDEuNjcyIDAgMS4yNS0xLjYxIDNsLTIuMjggMi40NjloNC4yOHYuODl6bTIuOTg0LTQuNzk2aC44MTNxLjc4MS0uMDE2IDEuMjE5LS40MDcuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjNoLTEuMDk0cTAtMS4wMTYuNzM0LTEuNjg4Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYzLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4MS43MDMuMjIgMS4wNzguNzM1LjM5MS41MTUuMzkxIDEuMjY1IDAgMS4xNDEtLjc1IDEuODI5LS43NS42NzEtMS45NTMuNjcxLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OS40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg4IDAtLjczNC0uNDUzLTEuMTI1LS40NTMtLjQwNi0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTUuMzI4LTIuMDk0cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTI0MC45MjIgMTM3LjczN2gyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzl2LTEuMDMyaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em05LjM3NSA0LjU3OGgtNS41OTR2LS43OGwyLjk1My0zLjI4MnEuNjU2LS43NS45MDYtMS4yMDMuMjUtLjQ2OS4yNS0uOTY5IDAtLjY3Mi0uNDA2LTEuMDk0LS4zOS0uNDM3LTEuMDc4LS40MzctLjc5NyAwLTEuMjUuNDY5LS40NTMuNDUzLS40NTMgMS4yOGgtMS4wNzhxMC0xLjE4Ny43NS0xLjkwNS43NjYtLjczNSAyLjAzMS0uNzM1IDEuMjAzIDAgMS44OS42MjUuNjg4LjYyNS42ODggMS42NzIgMCAxLjI1LTEuNjEgM2wtMi4yOCAyLjQ2OWg0LjI4di44OXptMi45ODQtNC43OTZoLjgxM3EuNzgxLS4wMTYgMS4yMTktLjQwNy40MzctLjM5LjQzNy0xLjA2MiAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDYtLjQwNi40MDYtLjQwNiAxLjA2M2gtMS4wOTRxMC0xLjAxNi43MzQtMS42ODguNzUtLjY3MiAxLjg5MS0uNjcyIDEuMjAzIDAgMS44OS42NC42ODguNjQxLjY4OCAxLjc4MiAwIC41NjMtLjM2IDEuMDc4LS4zNTkuNTE2LS45ODQuNzgxLjcwMy4yMiAxLjA3OC43MzUuMzkxLjUxNS4zOTEgMS4yNjUgMCAxLjE0MS0uNzUgMS44MjktLjc1LjY3MS0xLjk1My42NzEtMS4xODggMC0xLjk1My0uNjU2LS43NS0uNjU2LS43NS0xLjcxOWgxLjA5NHEwIC42NzIuNDM3IDEuMDc5LjQzOC40MDYgMS4xODguNDA2Ljc4IDAgMS4xODctLjQwNi40MjItLjQyMi40MjItMS4xODggMC0uNzM0LS40NTMtMS4xMjUtLjQ1My0uNDA2LTEuMzI4LS40MjJoLS44MTN2LS44OXptNS4zMjgtMi4wOTRxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQzN3EwLS40NjktLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjczLjYxLjM5MS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzAyLjkyMiAxNDQuNjEyaDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODRoMS4wNzh2Mi40ODR6bTcuMzQ0IDQuNTc4aC0xLjA3OXYtNy4yMTlsLTIuMTg3Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ2OC41Nzh6bTguNjI1LTYuMzEycTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODEuNjU2LjI4MiAxLjA0Ni44NDQuMzkxLjU0Ny4zOTEgMS4yNSAwIDEuMDk0LS43NSAxLjc2Ni0uNzM0LjY1Ni0xLjk1My42NTYtMS4yMzQgMC0xLjk4NC0uNjU2LS43MzUtLjY3Mi0uNzM1LTEuNzY2IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MiAxLjA0Ny0uODQ0LS41NjItLjI4LS44OS0uNzgtLjMyOS0uNS0uMzI5LTEuMTQxIDAtMS4wNzkuNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDR6bS0uODkxIDMuOTg0cTAtLjcxOS0uNDUzLTEuMTU2LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzctLjQzOCAxLjE3MiAwIC43MTguNDM4IDEuMTQuNDM3LjQwNiAxLjIwMy40MDYuNzUgMCAxLjE4OC0uNDIxLjQzNy0uNDIyLjQzNy0xLjE0MXptLTEuNjI1LTUuNDM4cS0uNjQgMC0xLjA0Ny40MDctLjM5LjM5LS4zOSAxLjA3OCAwIC42NC4zOSAxLjA0Ny4zOS40MDYgMS4wMzEuNDA2LjY1NyAwIDEuMDQ3LS40MDYuMzktLjQwNy4zOS0xLjA0NyAwLS42NTYtLjQwNS0xLjA2My0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1NHEwIC40NTMuMjUuNzUuMjY1LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2NS0uNzUtLjI1LS4yOTctLjY3Mi0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgyLS4yNS43ODJ2LjQyMXptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik0zMDIuOTIyIDE0NC42MTJoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNy4zNDQgNC41NzhoLTEuMDc5di03LjIxOWwtMi4xODcuNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptOC42MjUtNi4zMTJxMCAuNjQtLjM0NCAxLjE0LS4zNDQuNS0uOTA2Ljc4MS42NTYuMjgyIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYyIDEuMDQ3LS44NDQtLjU2Mi0uMjgtLjg5LS43OC0uMzI5LS41LS4zMjktMS4xNDEgMC0xLjA3OS42ODgtMS43MDQuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwNHptLS44OTEgMy45ODRxMC0uNzE5LS40NTMtMS4xNTYtLjQ1My0uNDUzLTEuMTg4LS40NTMtLjczNCAwLTEuMTg3LjQ1My0uNDM4LjQzNy0uNDM4IDEuMTcyIDAgLjcxOC40MzggMS4xNC40MzcuNDA2IDEuMjAzLjQwNi43NSAwIDEuMTg4LS40MjEuNDM3LS40MjIuNDM3LTEuMTQxem0tMS42MjUtNS40MzhxLS42NCAwLTEuMDQ3LjQwNy0uMzkuMzktLjM5IDEuMDc4IDAgLjY0LjM5IDEuMDQ3LjM5LjQwNiAxLjAzMS40MDYuNjU3IDAgMS4wNDctLjQwNi4zOS0uNDA3LjM5LTEuMDQ3IDAtLjY1Ni0uNDA1LTEuMDYzLS40MDctLjQyMi0xLjAxNi0uNDIyem00LjIzNC44NzVxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDU0cTAgLjQ1My4yNS43NS4yNjUuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODItLjI1Ljc4MnYuNDIxem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTM2Ny4wNzggMjc1Ljg4OWgtMi44NnYtLjg3NWgyLjg2di44NzV6bTEuMTI1LTEuMDk0bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1NGwtLjI2NSAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgxLjY4OC43NjYuNjg4IDIuMDc4IDAgMS4zMTMtLjcyIDIuMDc5LS43MDIuNzY1LTEuOTgzLjc2NS0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzUuNTMxIDEuMTEuNDIyLjM3NSAxLjExLjM3NS43NSAwIDEuMTg3LS41MTYuNDM4LS41MTYuNDM4LTEuNDIyIDAtLjg2LS40Ny0xLjM3NS0uNDY4LS41MTYtMS4yNS0uNTE2LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzUtLjg3Ni0uMjJ6bTEwLjc2Ni00LjI1di45MDZoLS4yMDNxLTEuMjY2LjAzMS0yLjAxNi43NjYtLjc1LjcxOS0uODc1IDIuMDMxLjY4OC0uNzY2IDEuODQ0LS43NjYgMS4xMSAwIDEuNzgxLjc4Mi42NzIuNzguNjcyIDIuMDMgMCAxLjMxMy0uNzE5IDIuMTEtLjcxOS43OTctMS45MzcuNzk3LTEuMjIgMC0xLjk4NS0uOTM3LS43NS0uOTUzLS43NS0yLjQzOHYtLjQwNnEwLTIuMzYgMS0zLjYxdDIuOTg1LTEuMjY1aC4yMDN6bS0xLjQyMiAzLjg0NHEtLjU2MyAwLTEuMDMxLjMyOC0uNDcuMzI4LS42NTcuODQ0di4zOXEwIDEuMDYzLjQ3IDEuNzAzLjQ4My42NCAxLjE4Ny42NC43MzQgMCAxLjE1Ni0uNTMuNDIyLS41NDcuNDIyLTEuNDIyIDAtLjg3NS0uNDIyLTEuNDA2LS40MjItLjU0Ny0xLjEyNS0uNTQ3em00LjA2Mi0yLjIwM3EwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY1LS41IDEuMjY1LS40ODQuNDg1LTEuMjM0LjQ4NS0uNzY2IDAtMS4yNjYtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ny4yNS0uNzk3di0uNDIxcTAtLjQ1NC0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ni0uMjUuNzY1di40Mzh6bTMuMzQ0IDQuMzQzcTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDdxMCAuNzY1LS40ODUgMS4yNjUtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTRxMCAuNDY4LjI1Ljc2NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjgtLjI2NS0uNzUtLjI1LS4yOTYtLjY3Mi0uMjk2LS40MjIgMC0uNjg4LjI5Ni0uMjUuMjgyLS4yNS43ODJ2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5MSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3M3oiLz48cGF0aCBmaWxsPSIjNDI4NWY0IiBkPSJNMzY3LjA3OCAyNzUuODg5aC0yLjg2di0uODc1aDIuODZ2Ljg3NXptMS4xMjUtMS4wOTRsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzktLjcwMi43NjUtMS45ODMuNzY1LTEuMTI1IDAtMS44NDQtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNS41MzEgMS4xMS40MjIuMzc1IDEuMTEuMzc1Ljc1IDAgMS4xODctLjUxNi40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNS0uODc2LS4yMnptMTAuNzY2LTQuMjV2LjkwNmgtLjIwM3EtMS4yNjYuMDMxLTIuMDE2Ljc2Ni0uNzUuNzE5LS44NzUgMi4wMzEuNjg4LS43NjYgMS44NDQtLjc2NiAxLjExIDAgMS43ODEuNzgyLjY3Mi43OC42NzIgMi4wMyAwIDEuMzEzLS43MTkgMi4xMS0uNzE5Ljc5Ny0xLjkzNy43OTctMS4yMiAwLTEuOTg1LS45MzctLjc1LS45NTMtLjc1LTIuNDM4di0uNDA2cTAtMi4zNiAxLTMuNjF0Mi45ODUtMS4yNjVoLjIwM3ptLTEuNDIyIDMuODQ0cS0uNTYzIDAtMS4wMzEuMzI4LS40Ny4zMjgtLjY1Ny44NDR2LjM5cTAgMS4wNjMuNDcgMS43MDMuNDgzLjY0IDEuMTg3LjY0LjczNCAwIDEuMTU2LS41My40MjItLjU0Ny40MjItMS40MjIgMC0uODc1LS40MjItMS40MDYtLjQyMi0uNTQ3LTEuMTI1LS41NDd6bTQuMDYyLTIuMjAzcTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjUtLjUgMS4yNjUtLjQ4NC40ODUtMS4yMzQuNDg1LS43NjYgMC0xLjI2Ni0uNDg1LS41LS41LS41LTEuMzEydi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MjFxMC0uNDU0LS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk2LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDNxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwN3EwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1NHEwIC40NjguMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OC0uMjY1LS43NS0uMjUtLjI5Ni0uNjcyLS4yOTYtLjQyMiAwLS42ODguMjk2LS4yNS4yODItLjI1Ljc4MnYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkxIDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjczeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00MjkuMDc4IDIyMi42MzVoLTIuODZ2LS44NzVoMi44NnYuODc1em00LjE4OCAzLjE4OGgtMS4wNzl2LTcuMjJsLTIuMTg3Ljc5OHYtLjk4NWwzLjExLTEuMTcyaC4xNTZ2OC41Nzl6bTUuMDE1LTQuNzk3aC44MTNxLjc4MS0uMDE2IDEuMjE5LS40MDcuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjNoLTEuMDk0cTAtMS4wMTYuNzM0LTEuNjg4Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0Mi42ODggMS43ODIgMCAuNTYzLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4Mi43MDQuMjE4IDEuMDc5LjczNC4zOS41MTYuMzkgMS4yNjYgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTctLjc1LS42NTYtLjc1LTEuNzE4aDEuMDk0cTAgLjY3MS40MzcgMS4wNzguNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4OCAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMmgtLjgxM3YtLjg5em01LjMyOC0yLjA5NHEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDM3cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzMuNjEuMzkxLTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik00MjkuMDc4IDIyMi42MzVoLTIuODZ2LS44NzVoMi44NnYuODc1em00LjE4OCAzLjE4OGgtMS4wNzl2LTcuMjJsLTIuMTg3Ljc5OHYtLjk4NWwzLjExLTEuMTcyaC4xNTZ2OC41Nzl6bTUuMDE1LTQuNzk3aC44MTNxLjc4MS0uMDE2IDEuMjE5LS40MDcuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjNoLTEuMDk0cTAtMS4wMTYuNzM0LTEuNjg4Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0Mi42ODggMS43ODIgMCAuNTYzLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4Mi43MDQuMjE4IDEuMDc5LjczNC4zOS41MTYuMzkgMS4yNjYgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTctLjc1LS42NTYtLjc1LTEuNzE4aDEuMDk0cTAgLjY3MS40MzcgMS4wNzguNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4OCAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMmgtLjgxM3YtLjg5em01LjMyOC0yLjA5NHEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NS0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2Ni4yNjYuMjk2LjcwMy4yOTYuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDM3cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzMuNjEuMzkxLTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xMzUuOTIyIDk5LjNoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5Vjk5LjNoMi4zOXYtMi40ODRoMS4wNzhWOTkuM3ptNC4yODEuMjk3bC40MzgtNC4yNWg0LjM3NXYxaC0zLjQ1M2wtLjI2NiAyLjMyOHEuNjQtLjM3NSAxLjQzNy0uMzc1IDEuMTU3IDAgMS44NDQuNzgyLjY4OC43NjUuNjg4IDIuMDc4IDAgMS4zMTItLjcyIDIuMDc4LS43MDIuNzY2LTEuOTgzLjc2Ni0xLjEyNSAwLTEuODQ0LS42MjUtLjcxOS0uNjQxLS44MTMtMS43NWgxLjAxNnEuMTEuNzM0LjUzMSAxLjEwOS40MjIuMzc1IDEuMTEuMzc1Ljc1IDAgMS4xODctLjUxNi40MzgtLjUxNS40MzgtMS40MjIgMC0uODU5LS40Ny0xLjM3NS0uNDY4LS41MTUtMS4yNS0uNTE1LS43MDIgMC0xLjEwOS4yOTdsLS4yOC4yMzQtLjg3Ni0uMjE5em0xMS4wNzggMS40MjJoMS4xODh2Ljg3NWgtMS4xODh2MS45ODVoLTEuMDc4di0xLjk4NWgtMy44OXYtLjY0bDMuODEyLTUuOTA3aDEuMTU2djUuNjcyem0tMy43MzQgMGgyLjY1NnYtNC4xODdsLS4xNC4yMzQtMi41MTYgMy45NTN6bTYuMDYyLTQuMDMxcTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTYuNzAzLjI5Ni40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTEzNS45MjIgOTkuM2gyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzlWOTkuM2gyLjM5di0yLjQ4NGgxLjA3OFY5OS4zem00LjI4MS4yOTdsLjQzOC00LjI1aDQuMzc1djFoLTMuNDUzbC0uMjY2IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODIuNjg4Ljc2NS42ODggMi4wNzggMCAxLjMxMi0uNzIgMi4wNzgtLjcwMi43NjYtMS45ODMuNzY2LTEuMTI1IDAtMS44NDQtLjYyNS0uNzE5LS42NDEtLjgxMy0xLjc1aDEuMDE2cS4xMS43MzQuNTMxIDEuMTA5LjQyMi4zNzUgMS4xMS4zNzUuNzUgMCAxLjE4Ny0uNTE2LjQzOC0uNTE1LjQzOC0xLjQyMiAwLS44NTktLjQ3LTEuMzc1LS40NjgtLjUxNS0xLjI1LS41MTUtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNC0uODc2LS4yMTl6bTExLjA3OCAxLjQyMmgxLjE4OHYuODc1aC0xLjE4OHYxLjk4NWgtMS4wNzh2LTEuOTg1aC0zLjg5di0uNjRsMy44MTItNS45MDdoMS4xNTZ2NS42NzJ6bS0zLjczNCAwaDIuNjU2di00LjE4N2wtLjE0LjIzNC0yLjUxNiAzLjk1M3ptNi4wNjItNC4wMzFxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ni43MDMuMjk2LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQzN3EwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjczLjYxLjM5MS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTk3LjkyMiAxMTkuMzE2aDIuMzl2MS4wMzFoLTIuMzl2Mi42ODhoLTEuMDc4di0yLjY4OGgtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTUuMzYtLjIxOWguODEycS43ODEtLjAxNiAxLjIxOS0uNDA2LjQzNy0uMzkuNDM3LTEuMDYzIDAtMS41LTEuNS0xLjUtLjcwMyAwLTEuMTI1LjQwNy0uNDA2LjQwNi0uNDA2IDEuMDYyaC0xLjA5NHEwLTEuMDE2LjczNC0xLjY4Ny43NS0uNjcyIDEuODkxLS42NzIgMS4yMDMgMCAxLjg5LjY0LjY4OC42NDEuNjg4IDEuNzgyIDAgLjU2Mi0uMzYgMS4wNzgtLjM1OS41MTUtLjk4NC43ODEuNzAzLjIxOSAxLjA3OC43MzQuMzkxLjUxNi4zOTEgMS4yNjYgMCAxLjE0LS43NSAxLjgyOC0uNzUuNjcyLTEuOTUzLjY3Mi0xLjE4OCAwLTEuOTUzLS42NTYtLjc1LS42NTctLjc1LTEuNzE5aDEuMDk0cTAgLjY3Mi40MzcgMS4wNzguNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4NyAwLS43MzUtLjQ1My0xLjEyNS0uNDUzLS40MDctMS4zMjgtLjQyMmgtLjgxM3YtLjg5em0xMC42MDktMS41MTZxMCAuNjQxLS4zNDQgMS4xNDF0LS45MDYuNzgxcS42NTYuMjgyIDEuMDQ3Ljg0NC4zOS41NDcuMzkgMS4yNSAwIDEuMDk0LS43NSAxLjc2Ni0uNzM0LjY1Ni0xLjk1My42NTYtMS4yMzQgMC0xLjk4NC0uNjU2LS43MzUtLjY3Mi0uNzM1LTEuNzY2IDAtLjcwMy4zNzUtMS4yNS4zNzUtLjU2MiAxLjA0Ny0uODQ0LS41NjItLjI4LS44OS0uNzgtLjMyOS0uNS0uMzI5LTEuMTQyIDAtMS4wNzguNjg4LTEuNzAzLjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg1cTAtLjcxOS0uNDUzLTEuMTU2LS40NTMtLjQ1NC0xLjE4OC0uNDU0LS43MzQgMC0xLjE4Ny40NTQtLjQzOC40MzctLjQzOCAxLjE3MSAwIC43Mi40MzggMS4xNDEuNDM3LjQwNiAxLjIwMy40MDYuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIxLjQzNy0xLjE0em0tMS42MjUtNS40MzhxLS42NCAwLTEuMDQ3LjQwNy0uMzkuMzktLjM5IDEuMDc4IDAgLjY0LjM5IDEuMDQ3LjM5LjQwNiAxLjAzMS40MDYuNjU3IDAgMS4wNDctLjQwNi4zOS0uNDA3LjM5LTEuMDQ3IDAtLjY1Ny0uNDA1LTEuMDYzLS40MDctLjQyMi0xLjAxNi0uNDIyem00LjIzNC44NzVxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIxcTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUzcTAgLjQ1NC4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY2LS43NS0uMjUtLjI5Ny0uNjcxLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTE5Ny45MjIgMTE5LjMxNmgyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg1em01LjM2LS4yMTloLjgxMnEuNzgxLS4wMTYgMS4yMTktLjQwNi40MzctLjM5LjQzNy0xLjA2MyAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDctLjQwNi40MDYtLjQwNiAxLjA2MmgtMS4wOTRxMC0xLjAxNi43MzQtMS42ODcuNzUtLjY3MiAxLjg5MS0uNjcyIDEuMjAzIDAgMS44OS42NC42ODguNjQxLjY4OCAxLjc4MiAwIC41NjItLjM2IDEuMDc4LS4zNTkuNTE1LS45ODQuNzgxLjcwMy4yMTkgMS4wNzguNzM0LjM5MS41MTYuMzkxIDEuMjY2IDAgMS4xNC0uNzUgMS44MjgtLjc1LjY3Mi0xLjk1My42NzItMS4xODggMC0xLjk1My0uNjU2LS43NS0uNjU3LS43NS0xLjcxOWgxLjA5NHEwIC42NzIuNDM3IDEuMDc4LjQzOC40MDYgMS4xODguNDA2Ljc4IDAgMS4xODctLjQwNi40MjItLjQyMi40MjItMS4xODcgMC0uNzM1LS40NTMtMS4xMjUtLjQ1My0uNDA3LTEuMzI4LS40MjJoLS44MTN2LS44OXptMTAuNjA5LTEuNTE2cTAgLjY0MS0uMzQ0IDEuMTQxdC0uOTA2Ljc4MXEuNjU2LjI4MiAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjYtLjczNC42NTYtMS45NTMuNjU2LTEuMjM0IDAtMS45ODQtLjY1Ni0uNzM1LS42NzItLjczNS0xLjc2NiAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjIgMS4wNDctLjg0NC0uNTYyLS4yOC0uODktLjc4LS4zMjktLjUtLjMyOS0xLjE0MiAwLTEuMDc4LjY4OC0xLjcwMy42ODctLjY0IDEuODI4LS42NCAxLjEyNSAwIDEuODEzLjY0LjcwMy42MjUuNzAzIDEuNzAzem0tLjg5MSAzLjk4NXEwLS43MTktLjQ1My0xLjE1Ni0uNDUzLS40NTQtMS4xODgtLjQ1NC0uNzM0IDAtMS4xODcuNDU0LS40MzguNDM3LS40MzggMS4xNzEgMCAuNzIuNDM4IDEuMTQxLjQzNy40MDYgMS4yMDMuNDA2Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMS40MzctMS4xNHptLTEuNjI1LTUuNDM4cS0uNjQgMC0xLjA0Ny40MDctLjM5LjM5LS4zOSAxLjA3OCAwIC42NC4zOSAxLjA0Ny4zOS40MDYgMS4wMzEuNDA2LjY1NyAwIDEuMDQ3LS40MDYuMzktLjQwNy4zOS0xLjA0NyAwLS42NTctLjQwNS0xLjA2My0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMXEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEydi0uNDA3em0uODEzLjQ1M3EwIC40NTQuMjUuNzUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4LjI1LS4yOTguMjUtLjc5OHYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDUzcTAgLjQ3LjI1Ljc2Ni4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQzOHEwLS40NjktLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgxLS4yNS43ODF2LjQyMnptLTIuOTUzIDFsLS42MjUtLjM5IDQuMTcyLTYuNjcyLjYxLjM5LTQuMTU3IDYuNjcyeiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yNjAuOTIyIDExNS40OTdoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptOC4zNiAxLjcxOWgxLjE4N3YuODc1aC0xLjE4OHYxLjk4NGgtMS4wNzh2LTEuOTg0aC0zLjg5di0uNjQxbDMuODEyLTUuOTA2aDEuMTU2djUuNjcyem0tMy43MzUgMGgyLjY1NnYtNC4xODhsLS4xNC4yMzQtMi41MTYgMy45NTR6bTkuNzE5IDIuODU5aC0xLjA3OXYtNy4yMTlsLTIuMTg3Ljc5N3YtLjk4NGwzLjExLTEuMTcyaC4xNTZ2OC41Nzh6bTMuMzQzLTYuODlxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIxcTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTJ2LS40MDd6bS44MTMuNDUycTAgLjQ1NC4yNS43NS4yNjUuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEyLS42ODgtLjMxMi0uNDM3IDAtLjY4Ny4zMTItLjI1LjI5Ny0uMjUuNzY2di40Mzd6bTMuMzQ0IDQuMzQ0cTAtLjc2NS40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NS41IDEuMjk3di40MDZxMCAuNzY2LS40ODUgMS4yNjYtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQyMnptLjgxMi40NTNxMCAuNDcuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTI2MC45MjIgMTE1LjQ5N2gyLjM5djEuMDMxaC0yLjM5djIuNjg4aC0xLjA3OHYtMi42ODhoLTIuMzl2LTEuMDMxaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg1em04LjM2IDEuNzE5aDEuMTg3di44NzVoLTEuMTg4djEuOTg0aC0xLjA3OHYtMS45ODRoLTMuODl2LS42NDFsMy44MTItNS45MDZoMS4xNTZ2NS42NzJ6bS0zLjczNSAwaDIuNjU2di00LjE4OGwtLjE0LjIzNC0yLjUxNiAzLjk1NHptOS43MTkgMi44NTloLTEuMDc5di03LjIxOWwtMi4xODcuNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptMy4zNDMtNi44OXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjFxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxMnYtLjQwN3ptLjgxMy40NTJxMCAuNDU0LjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY1LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg1LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEzdi0uNDIyem0uODEyLjQ1M3EwIC40Ny4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnoiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIyLjkyMiAxMjkuNDRoMi4zOXYxLjAzMmgtMi4zOXYyLjY4N2gtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMmgyLjM5di0yLjQ4NGgxLjA3OHYyLjQ4NHptNS4zNi0uMjE4aC44MTJxLjc4MS0uMDE2IDEuMjE5LS40MDcuNDM3LS4zOS40MzctMS4wNjIgMC0xLjUtMS41LTEuNS0uNzAzIDAtMS4xMjUuNDA2LS40MDYuNDA2LS40MDYgMS4wNjNoLTEuMDk0cTAtMS4wMTYuNzM0LTEuNjg4Ljc1LS42NzIgMS44OTEtLjY3MiAxLjIwMyAwIDEuODkuNjQuNjg4LjY0MS42ODggMS43ODIgMCAuNTYzLS4zNiAxLjA3OC0uMzU5LjUxNi0uOTg0Ljc4MS43MDQuMjIgMS4wNzkuNzM1LjM5LjUxNS4zOSAxLjI2NSAwIDEuMTQxLS43NSAxLjgyOS0uNzUuNjcxLTEuOTUzLjY3MS0xLjE4OCAwLTEuOTUzLS42NTYtLjc1LS42NTYtLjc1LTEuNzE5aDEuMDk0cTAgLjY3Mi40MzcgMS4wNzkuNDM4LjQwNiAxLjE4OC40MDYuNzggMCAxLjE4Ny0uNDA2LjQyMi0uNDIyLjQyMi0xLjE4OCAwLS43MzQtLjQ1My0xLjEyNS0uNDUzLS40MDYtMS4zMjgtLjQyMmgtLjgxM3YtLjg5em0xMC43OCAxLjE1NnEwIDEuOTA2LS42NTYgMi44NDQtLjY0LjkyMS0yLjAzMS45MjEtMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA2LS42ODctMi43MTl2LTEuNDM3cTAtMS44OS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3Ni42NzEgMi43MnYxLjQwNnptLTEuMDkzLTEuNDg1cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzVxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MnptMi42NC0xLjc2NXEwLS43NjYuNDg1LTEuMjY2LjUtLjUgMS4yNjUtLjUuNzgyIDAgMS4yNjYuNXQuNDg0IDEuMjk3di40MjJxMCAuNzY2LS41IDEuMjY2LS40ODQuNDg0LTEuMjM0LjQ4NC0uNzY2IDAtMS4yNjYtLjQ4NC0uNS0uNS0uNS0xLjMxM3YtLjQwNnptLjgxMy40NTNxMCAuNDUzLjI1Ljc1LjI2NS4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODEuMjUtLjI5Ny4yNS0uNzk3di0uNDIycTAtLjQ1My0uMjUtLjc1LS4yNS0uMzEzLS42ODgtLjMxMy0uNDM3IDAtLjY4Ny4zMTMtLjI1LjI5Ny0uMjUuNzY1di40Mzh6bTMuMzQ0IDQuMzQ0cTAtLjc2Ni40ODQtMS4yNS41LS41IDEuMjY2LS41Ljc2NSAwIDEuMjUuNS41LjQ4NC41IDEuMjk3di40MDZxMCAuNzY1LS40ODUgMS4yNjUtLjQ4NC41LTEuMjUuNS0uNzY1IDAtMS4yNjUtLjQ4NC0uNS0uNS0uNS0xLjMxMnYtLjQyMnptLjgxMi40NTNxMCAuNDY5LjI1Ljc2NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjguMjUtLjI5OC4yNS0uNzk4di0uNDM3cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzMuNjEuMzkxLTQuMTU3IDYuNjcyeiIvPjxwYXRoIGZpbGw9IiNkYjQ0MzciIGQ9Ik0zMjIuOTIyIDEyOS40NGgyLjM5djEuMDMyaC0yLjM5djIuNjg3aC0xLjA3OHYtMi42ODdoLTIuMzl2LTEuMDMyaDIuMzl2LTIuNDg0aDEuMDc4djIuNDg0em01LjM2LS4yMThoLjgxMnEuNzgxLS4wMTYgMS4yMTktLjQwNy40MzctLjM5LjQzNy0xLjA2MiAwLTEuNS0xLjUtMS41LS43MDMgMC0xLjEyNS40MDYtLjQwNi40MDYtLjQwNiAxLjA2M2gtMS4wOTRxMC0xLjAxNi43MzQtMS42ODguNzUtLjY3MiAxLjg5MS0uNjcyIDEuMjAzIDAgMS44OS42NC42ODguNjQxLjY4OCAxLjc4MiAwIC41NjMtLjM2IDEuMDc4LS4zNTkuNTE2LS45ODQuNzgxLjcwNC4yMiAxLjA3OS43MzUuMzkuNTE1LjM5IDEuMjY1IDAgMS4xNDEtLjc1IDEuODI5LS43NS42NzEtMS45NTMuNjcxLTEuMTg4IDAtMS45NTMtLjY1Ni0uNzUtLjY1Ni0uNzUtMS43MTloMS4wOTRxMCAuNjcyLjQzNyAxLjA3OS40MzguNDA2IDEuMTg4LjQwNi43OCAwIDEuMTg3LS40MDYuNDIyLS40MjIuNDIyLTEuMTg4IDAtLjczNC0uNDUzLTEuMTI1LS40NTMtLjQwNi0xLjMyOC0uNDIyaC0uODEzdi0uODl6bTEwLjc4IDEuMTU2cTAgMS45MDYtLjY1NiAyLjg0NC0uNjQuOTIxLTIuMDMxLjkyMS0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc2LjY3MSAyLjcydjEuNDA2em0tMS4wOTMtMS40ODVxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNXEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgyem0yLjY0LTEuNzY1cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTd2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTMtLjY4OC0uMzEzLS40MzcgMC0uNjg3LjMxMy0uMjUuMjk3LS4yNS43NjV2LjQzOHptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjUtLjQ4NSAxLjI2NS0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg0LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY1LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yOC4yNS0uMjk4LjI1LS43OTh2LS40MzdxMC0uNDY5LS4yNjUtLjc1LS4yNS0uMjk3LS42NzItLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3My42MS4zOTEtNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTM4Ny4wNzggMzAyLjY2MmgtMi44NnYtLjg3NWgyLjg2di44NzV6bTYuMTQtNC43MzRsLTMuNTMgNy45MjJoLTEuMTQxbDMuNTE1LTcuNjRoLTQuNjA5di0uODkxaDUuNzY2di42MDl6bTYuNjczIDEuNjFxMCAuNjQtLjM0NCAxLjE0LS4zNDQuNS0uOTA2Ljc4MS42NTYuMjgxIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0IDAtMS4wNzkuNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg0cTAtLjcxOS0uNDUzLTEuMTU3LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzgtLjQzOCAxLjE3MiAwIC43Mi40MzggMS4xNDEuNDM3LjQwNiAxLjIwMy40MDYuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIyLjQzNy0xLjE0em0tMS42MjUtNS40MzhxLS42NCAwLTEuMDQ3LjQwNi0uMzkuMzkxLS4zOSAxLjA3OSAwIC42NC4zOSAxLjA0Ni4zOS40MDcgMS4wMzEuNDA3LjY1NyAwIDEuMDQ3LS40MDcuMzktLjQwNi4zOS0xLjA0NiAwLS42NTctLjQwNS0xLjA2My0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTZ2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTM4Ny4wNzggMzAyLjY2MmgtMi44NnYtLjg3NWgyLjg2di44NzV6bTYuMTQtNC43MzRsLTMuNTMgNy45MjJoLTEuMTQxbDMuNTE1LTcuNjRoLTQuNjA5di0uODkxaDUuNzY2di42MDl6bTYuNjczIDEuNjFxMCAuNjQtLjM0NCAxLjE0LS4zNDQuNS0uOTA2Ljc4MS42NTYuMjgxIDEuMDQ2Ljg0NC4zOTEuNTQ3LjM5MSAxLjI1IDAgMS4wOTQtLjc1IDEuNzY2LS43MzQuNjU2LTEuOTUzLjY1Ni0xLjIzNCAwLTEuOTg0LS42NTYtLjczNS0uNjcyLS43MzUtMS43NjYgMC0uNzAzLjM3NS0xLjI1LjM3NS0uNTYzIDEuMDQ3LS44NDQtLjU2Mi0uMjgxLS44OS0uNzgxLS4zMjktLjUtLjMyOS0xLjE0IDAtMS4wNzkuNjg4LTEuNzA0LjY4Ny0uNjQgMS44MjgtLjY0IDEuMTI1IDAgMS44MTMuNjQuNzAzLjYyNS43MDMgMS43MDN6bS0uODkxIDMuOTg0cTAtLjcxOS0uNDUzLTEuMTU3LS40NTMtLjQ1My0xLjE4OC0uNDUzLS43MzQgMC0xLjE4Ny40NTMtLjQzOC40MzgtLjQzOCAxLjE3MiAwIC43Mi40MzggMS4xNDEuNDM3LjQwNiAxLjIwMy40MDYuNzUgMCAxLjE4OC0uNDIyLjQzNy0uNDIyLjQzNy0xLjE0em0tMS42MjUtNS40MzhxLS42NCAwLTEuMDQ3LjQwNi0uMzkuMzkxLS4zOSAxLjA3OSAwIC42NC4zOSAxLjA0Ni4zOS40MDcgMS4wMzEuNDA3LjY1NyAwIDEuMDQ3LS40MDcuMzktLjQwNi4zOS0xLjA0NiAwLS42NTctLjQwNS0xLjA2My0uNDA3LS40MjItMS4wMTYtLjQyMnptNC4yMzQuODc1cTAtLjc2NS40ODUtMS4yNjUuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTZ2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1M3EwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQ0OS4wNzggMjU3LjQ0N2gtMi44NnYtLjg3NWgyLjg2di44NzV6bTUuMjAzLjMyOGgxLjE4OHYuODc1aC0xLjE4OHYxLjk4NWgtMS4wNzh2LTEuOTg1aC0zLjg5di0uNjRsMy44MTItNS45MDZoMS4xNTZ2NS42NzF6bS0zLjczNCAwaDIuNjU2di00LjE4N2wtLjE0LjIzNC0yLjUxNiAzLjk1M3ptOS43MTkgMi44NmgtMS4wNzl2LTcuMjE5bC0yLjE4Ny43OTd2LS45ODRsMy4xMS0xLjE3MmguMTU2djguNTc4em0zLjM0My02Ljg5cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTZ2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1MnEwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iI2RiNDQzNyIgZD0iTTQ0OS4wNzggMjU3LjQ0N2gtMi44NnYtLjg3NWgyLjg2di44NzV6bTUuMjAzLjMyOGgxLjE4OHYuODc1aC0xLjE4OHYxLjk4NWgtMS4wNzh2LTEuOTg1aC0zLjg5di0uNjRsMy44MTItNS45MDZoMS4xNTZ2NS42NzF6bS0zLjczNCAwaDIuNjU2di00LjE4N2wtLjE0LjIzNC0yLjUxNiAzLjk1M3ptOS43MTkgMi44NmgtMS4wNzl2LTcuMjE5bC0yLjE4Ny43OTd2LS45ODRsMy4xMS0xLjE3MmguMTU2djguNTc4em0zLjM0My02Ljg5cTAtLjc2Ni40ODUtMS4yNjYuNS0uNSAxLjI2NS0uNS43ODIgMCAxLjI2Ni41dC40ODQgMS4yOTZ2LjQyMnEwIC43NjYtLjUgMS4yNjYtLjQ4NC40ODQtMS4yMzQuNDg0LS43NjYgMC0xLjI2Ni0uNDg0LS41LS41LS41LTEuMzEzdi0uNDA2em0uODEzLjQ1MnEwIC40NTMuMjUuNzUuMjY1LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MjJxMC0uNDUzLS4yNS0uNzUtLjI1LS4zMTItLjY4OC0uMzEyLS40MzcgMC0uNjg3LjMxMi0uMjUuMjk3LS4yNS43NjZ2LjQzN3ptMy4zNDQgNC4zNDRxMC0uNzY2LjQ4NC0xLjI1LjUtLjUgMS4yNjYtLjUuNzY1IDAgMS4yNS41LjUuNDg0LjUgMS4yOTd2LjQwNnEwIC43NjYtLjQ4NSAxLjI2Ni0uNDg0LjUtMS4yNS41LS43NjUgMC0xLjI2NS0uNDg1LS41LS41LS41LTEuMzEydi0uNDIyem0uODEyLjQ1M3EwIC40NjkuMjUuNzY2LjI2Ni4yOTcuNzAzLjI5Ny40MjIgMCAuNjcyLS4yODIuMjUtLjI5Ni4yNS0uNzk2di0uNDM4cTAtLjQ2OS0uMjY1LS43NS0uMjUtLjI5Ny0uNjcyLS4yOTctLjQyMiAwLS42ODguMjk3LS4yNS4yODEtLjI1Ljc4MXYuNDIyem0tMi45NTMgMWwtLjYyNS0uMzkgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzJ6Ii8+PHBhdGggZmlsbD0iIzQyNDI0MiIgZD0iTTI2LjYxMyAzMzUuODd2My43MDRoMy4wMTV2LTQuMjk3aC45MjJ2NS40MjJoLTguNTMxdi01LjM3NWguOTIydjQuMjVoMi43NXYtMy43MDNoLjkyMnptLS4wOTQtNC4xNGwtMi4zMTMtMS40MDZ2LTEuMjY2bDMuMTQgMi4wNzggMy4yMDQtMi4xNHYxLjI1bC0yLjM3NSAxLjQ2OSAyLjM3NSAxLjQ2OHYxLjI2NmwtMy4yMDMtMi4xNC0zLjE0IDIuMDYydi0xLjI1bDIuMzEyLTEuMzl6bTQuMTU2LTYuNXEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bTQuNzk2LTYuMDQ2cTAtLjU3OC0uMzQzLTEuMDE2LS4zNi0uNDM3LS44OTEtLjQ4NHYtMS4wMzFxLjU0Ny4wMzEgMS4wNDcuMzkuNDg0LjM0NC43ODEuOTIyLjI5Ny41NjMuMjk3IDEuMjE5IDAgMS4yOTctLjg2IDIuMDYyLS44NzQuNzUtMi4zNzQuNzVoLS4xODhxLS45MjIgMC0xLjY0LS4zMjgtLjcyLS4zNDMtMS4xMS0uOTY4LS40MDYtLjY0MS0uNDA2LTEuNTE2IDAtMS4wNjMuNjQtMS43NjYuNjI2LS43MTggMS42NTctLjc2NXYxLjAzMXEtLjYyNS4wNDctMS4wMTYuNDY5LS4zOS40MjItLjM5IDEuMDMxIDAgLjgyOC41OTMgMS4yODEuNTk0LjQ1MyAxLjcxOS40NTNoLjIwM3ExLjA5NCAwIDEuNjg4LS40NTMuNTkzLS40NTMuNTkzLTEuMjgxem0uMTQxLTcuMzc1cS43NS42MjUuNzUgMS44NiAwIDEuMDE1LS41OTQgMS41NDYtLjU5My41MzEtMS43NS41MzFoLTQuMTI1di0xLjA3OEgyOC4zcTEuNDUzIDAgMS40NTMtMS4xNzIgMC0xLjI1LS45MzctMS42NTZoLTQuNjF2LTEuMDk0aDYuMzQ0djEuMDMybC0uNjI1LjAzMXptLTcuMjUtNC41NjNoMS41MzF2LTEuMTcxaC44NDR2MS4xNzFoMy45MjJxLjM5IDAgLjU3OC0uMTU2LjE4OC0uMTU2LjE4OC0uNTMxIDAtLjE4OC0uMDYzLS41MTZoLjg3NXEuMTI1LjQyMi4xMjUuODI4IDAgLjcyLS40MzcgMS4wOTQtLjQ1NC4zNzUtMS4yNjYuMzc1SDI1LjA1djEuMTU2aC0uODQ0di0xLjE1NmgtMS41MzF2LTEuMDk0em03Ljg3NS0zLjcwM3YxLjA3OGgtNi4zNDR2LTEuMDc4aDYuMzQ0em0tOC4wMTYgMS4xNzJxLS4yNjUgMC0uNDUzLS4xNTYtLjE4Ny0uMTcyLS4xODctLjQ4NCAwLS4zMTMuMTg3LS40Ny4xODgtLjE3MS40NTMtLjE3MS4yNSAwIC40MzguMTcyLjE3Mi4xNTYuMTcyLjQ2OSAwIC4zMTItLjE3Mi40ODQtLjE4OC4xNTYtLjQzOC4xNTZ6bTQuNzgyLTIuNzAzcS0uOTIyIDAtMS42NzItLjM2LS43NS0uMzc0LTEuMTQtMS4wMy0uNDA3LS42NTctLjQwNy0xLjQ4NSAwLTEuMjk3Ljg5LTIuMDk0Ljg5MS0uODEyIDIuMzkxLS44MTJoLjA3OHEuOTIyIDAgMS42NTcuMzYuNzM0LjM1OSAxLjE1NiAxLjAxNS40MDYuNjU2LjQwNiAxLjUxNSAwIDEuMjgyLS44OSAyLjA5NC0uOTA3Ljc5Ny0yLjM5MS43OTdoLS4wNzh6bS4xNC0xLjA5NHExLjA0NyAwIDEuNjg4LS40ODQuNjQtLjUuNjQtMS4zMTMgMC0uODI4LS42NC0xLjMxMi0uNjU2LS40ODQtMS44MjgtLjQ4NC0xLjAzMiAwLTEuNjcyLjUtLjY1Ni40ODQtLjY1NiAxLjMxMiAwIC43OTcuNjQgMS4yOTcuNjI1LjQ4NCAxLjgyOC40ODR6bS0zLjI1LTcuMjE4bC43OTctLjAzMnEtLjkwNi0uNzM0LS45MDYtMS45MDYgMC0yLjAxNiAyLjI2Ni0yLjAzMWg0LjE4N3YxLjA5NGgtNC4yMDNxLS42NzIgMC0xIC4zMTItLjMyOC4yOTctLjMyOC45NTMgMCAuNTMxLjI4MS45MzguMjgxLjM5LjczNC42MWg0LjUxNnYxLjA3N2gtNi4zNDR2LTEuMDE1em0tMS41MzEtMTAuNDU0aDEuNTMxdi0xLjE3MWguODQ0djEuMTcxaDMuOTIycS4zOSAwIC41NzgtLjE1Ni4xODgtLjE1Ni4xODgtLjUzMSAwLS4xODgtLjA2My0uNTE2aC44NzVxLjEyNS40MjIuMTI1LjgyOCAwIC43Mi0uNDM3IDEuMDk0LS40NTQuMzc1LTEuMjY2LjM3NUgyNS4wNXYxLjE1NmgtLjg0NHYtMS4xNTZoLTEuNTMxdi0xLjA5NHptNy44NzUtMy43MDN2MS4wNzhoLTYuMzQ0di0xLjA3OGg2LjM0NHptLTguMDE2IDEuMTcycS0uMjY1IDAtLjQ1My0uMTU2LS4xODctLjE3Mi0uMTg3LS40ODQgMC0uMzEzLjE4Ny0uNDcuMTg4LS4xNzEuNDUzLS4xNzEuMjUgMCAuNDM4LjE3Mi4xNzIuMTU2LjE3Mi40NjkgMCAuMzEyLS4xNzIuNDg0LS4xODguMTU2LS40MzguMTU2em0xLjY3Mi00LjAxNWwuNzAzLS4wMzJxLS44MTItLjY4Ny0uODEyLTEuODc1IDAtMS4zMjggMS4wMTYtMS44MTItLjQ1NC0uMzEzLS43MzUtLjgxMy0uMjgxLS41MTUtLjI4MS0xLjIwMyAwLTIuMDk0IDIuMjAzLTIuMTI1aDQuMjV2MS4wNzhoLTQuMTg3cS0uNjcyIDAtMSAuMzEzLS4zNDQuMzEyLS4zNDQgMS4wNDcgMCAuNjEuMzYgMS4wMTUuMzU5LjM5MS45NjguNDUzaDQuMjAzdjEuMDc5aC00LjE1NnEtMS4zNzUgMC0xLjM3NSAxLjM1OSAwIDEuMDYyLjkwNiAxLjQ1M2g0LjYyNXYxLjA5NGgtNi4zNDR2LTEuMDMxem02LjQ2OS0xMi42MXEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctOS41NzdxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptNS41LTMuNTYzcTAgMS4yOTctLjg0NCAyLjExLS44Ni43OTYtMi4yODEuNzk2aC0uMTg3cS0uOTU0IDAtMS42ODgtLjM1OS0uNzUtLjM2LTEuMTU2LTEtLjQyMi0uNjU2LS40MjItMS40MDYgMC0xLjIzNS44MTItMS45MjIuODEzLS42ODggMi4zMjktLjY4OGguNDUzdjQuMjk3cS45MzctLjAzIDEuNTE1LS41NDcuNTc4LS41My41NzgtMS4zNDMgMC0uNTYzLS4yMzQtLjk1My0uMjM0LS40MDctLjYyNS0uNzJsLjUxNi0uNjU1cTEuMjM0Ljc5NiAxLjIzNCAyLjM5em0tNS42ODcuMTRxMCAuNjU3LjQ4NCAxLjExLjQ2OS40MzggMS4zMjguNTMxdi0zLjE3MWgtLjA3OHEtLjgyOC4wNDYtMS4yODEuNDUzLS40NTMuMzktLjQ1MyAxLjA3OHptNS41NjItNC42ODd2MS4wNzhoLTl2LTEuMDc4aDl6bTAtNS43MzRxLS4xODcuMDk0LS42NzIuMTU2Ljc5Ny43NS43OTcgMS43OTcgMCAuOTM4LS41MzEgMS41NDctLjUzMS41OTQtMS4zNi41OTQtLjk4NCAwLTEuNTMtLjc1LS41NDgtLjc1LS41NDgtMi4xMjV2LTEuMDQ3aC0uNXEtLjU2MiAwLS44OS4zNDQtLjM0NC4zMjgtLjM0NCAxIDAgLjU3OC4yOTcuOTY4LjI4MS4zOTEuNzAzLjM5MXYxLjA5NHEtLjQ4NCAwLS45MjItLjMyOC0uNDM3LS4zNDQtLjY4Ny0uOTIyLS4yNjYtLjU3OC0uMjY2LTEuMjY2IDAtMS4xMS41NDctMS43MTkuNTQ3LS42MjUgMS41LS42NTZoMi45MjJxLjg3NSAwIDEuMzktLjIxOWguMDk0djEuMTQxem0tLjgyOCAxLjc5N3EwLS41MTYtLjI2Ni0uOTY5LS4yNjUtLjQ1My0uNjg3LS42NTZoLTEuMjk3di44NDRxMCAyIDEuMTcyIDIgLjUgMCAuNzk3LS4zNDQuMjgtLjM0NC4yOC0uODc1em0tNy4wNDctNi4zNmgxLjUzMXYtMS4xNzFoLjg0NHYxLjE3MWgzLjkyMnEuMzkgMCAuNTc4LS4xNTYuMTg4LS4xNTYuMTg4LS41MzEgMC0uMTg4LS4wNjMtLjUxNmguODc1cS4xMjUuNDIyLjEyNS44MjggMCAuNzItLjQzNyAxLjA5NC0uNDU0LjM3NS0xLjI2Ni4zNzVIMjUuMDV2MS4xNTZoLS44NDR2LTEuMTU2aC0xLjUzMXYtMS4wOTR6bTcuODc1LTMuNzAzdjEuMDc4aC02LjM0NHYtMS4wNzhoNi4zNDR6bS04LjAxNiAxLjE3MnEtLjI2NSAwLS40NTMtLjE1Ni0uMTg3LS4xNzItLjE4Ny0uNDg0IDAtLjMxMy4xODctLjQ3LjE4OC0uMTcxLjQ1My0uMTcxLjI1IDAgLjQzOC4xNzIuMTcyLjE1Ni4xNzIuNDY5IDAgLjMxMi0uMTcyLjQ4NC0uMTg4LjE1Ni0uNDM4LjE1NnptNi41NDctNS4wNzhsLTQuODc1LTEuNTc4di0xLjExbDYuMzQ0IDIuMjgydi44MjhsLTYuMzQ0IDIuMjk3di0xLjExbDQuODc1LTEuNjA5em0xLjU5NC02LjU0N3EwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS0yLjMxMy03Ljk4NGgxLjUzMXYtMS4xNzFoLjg0NHYxLjE3MWgzLjkyMnEuMzkgMCAuNTc4LS4xNTYuMTg4LS4xNTYuMTg4LS41MzEgMC0uMTg4LS4wNjMtLjUxNmguODc1cS4xMjUuNDIyLjEyNS44MjggMCAuNzItLjQzNyAxLjA5NC0uNDU0LjM3NS0xLjI2Ni4zNzVIMjUuMDV2MS4xNTZoLS44NDR2LTEuMTU2aC0xLjUzMXYtMS4wOTR6bTQuNjQtMi4yMzRxLS45MjEgMC0xLjY3MS0uMzYtLjc1LS4zNzQtMS4xNC0xLjAzLS40MDctLjY1Ny0uNDA3LTEuNDg1IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0MS0xLjA5NHExLjA0NyAwIDEuNjg4LS40ODQuNjQtLjUuNjQtMS4zMTMgMC0uODI4LS42NC0xLjMxMi0uNjU2LS40ODQtMS44MjgtLjQ4NC0xLjAzMiAwLTEuNjcyLjUtLjY1Ni40ODQtLjY1NiAxLjMxMiAwIC43OTcuNjQgMS4yOTcuNjI1LjQ4NCAxLjgyOC40ODR6bS00LjUxNS0xNS4yNjV2Mi43NWg3LjYwOXYxLjExaC03LjYxdjIuNzVoLS45MjF2LTYuNjFoLjkyMnptNi45ODQtNC44NDRxLjc1LjYyNS43NSAxLjg2IDAgMS4wMTUtLjU5NCAxLjU0Ni0uNTkzLjUzMS0xLjc1LjUzMWgtNC4xMjV2LTEuMDc4SDI4LjNxMS40NTMgMCAxLjQ1My0xLjE3MiAwLTEuMjUtLjkzNy0xLjY1NmgtNC42MXYtMS4wOTRoNi4zNDR2MS4wMzJsLS42MjUuMDMxem0tNC43NS02LjE1NnEtLjAzMS4yNS0uMDMxLjUzMSAwIDEuMDc4LjkwNiAxLjQ1M2g0LjV2MS4wNzhoLTYuMzQ0di0xLjA0N2wuNzM1LS4wMTVxLS44NDQtLjUzMi0uODQ0LTEuNTE2IDAtLjMxMi4wNzgtLjQ4NGgxem0yLjI4MS02LjI5N3ExLjQ1MyAwIDIuMzQ0LjY3Mi44NzUuNjU2Ljg3NSAxLjc4MSAwIDEuMjAzLS44NiAxLjg2bC43MzUuMDYydi45ODRoLTl2LTEuMDc4aDMuMzZxLS44MTMtLjY1Ni0uODEzLTEuODEyIDAtMS4xNTcuODc1LTEuODEzLjg2LS42NTYgMi4zOS0uNjU2aC4wOTR6bS0uMTI1IDEuMDc4cS0xLjExIDAtMS43MDMuNDM3LS42MS40MjItLjYxIDEuMjIgMCAxLjA3Ny45ODUgMS41NDZoMi43NXExLS41IDEtMS41NDcgMC0uNzgxLS42MS0xLjIxOS0uNjA5LS40MzctMS44MTItLjQzN3ptLS4wMTUtMi40MjJxLS45MjIgMC0xLjY3Mi0uMzYtLjc1LS4zNzQtMS4xNC0xLjAzLS40MDctLjY1Ny0uNDA3LTEuNDg1IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0LTEuMDk0cTEuMDQ3IDAgMS42ODgtLjQ4NC42NC0uNS42NC0xLjMxMyAwLS44MjgtLjY0LTEuMzEyLS42NTYtLjQ4NC0xLjgyOC0uNDg0LTEuMDMyIDAtMS42NzIuNS0uNjU2LjQ4NC0uNjU2IDEuMzEyIDAgLjc5Ny42NCAxLjI5Ny42MjUuNDg0IDEuODI4LjQ4NHptLS42NzItMTEuMDc4djMuNTk0aDMuNzY2djEuMTI1aC04LjUzMXYtNS4yOTdoLjkyMnY0LjE3MmgyLjkyMnYtMy41OTRoLjkyMXptMy43NjYtNi4wMzFxLS4xODcuMDk0LS42NzIuMTU2Ljc5Ny43NS43OTcgMS43OTcgMCAuOTM4LS41MzEgMS41NDctLjUzMS41OTQtMS4zNi41OTQtLjk4NCAwLTEuNTMtLjc1LS41NDgtLjc1LS41NDgtMi4xMjV2LTEuMDQ3aC0uNXEtLjU2MiAwLS44OS4zNDQtLjM0NC4zMjgtLjM0NCAxIDAgLjU3OC4yOTcuOTY4LjI4MS4zOTEuNzAzLjM5MXYxLjA5NHEtLjQ4NCAwLS45MjItLjMyOC0uNDM3LS4zNDQtLjY4Ny0uOTIyLS4yNjYtLjU3OC0uMjY2LTEuMjY2IDAtMS4xMS41NDctMS43MTkuNTQ3LS42MjUgMS41LS42NTZoMi45MjJxLjg3NSAwIDEuMzktLjIxOWguMDk0djEuMTQxem0tLjgyOCAxLjc5N3EwLS41MTYtLjI2Ni0uOTY5LS4yNjUtLjQ1My0uNjg3LS42NTZoLTEuMjk3di44NDRxMCAyIDEuMTcyIDIgLjUgMCAuNzk3LS4zNDQuMjgtLjM0NC4yOC0uODc1em0tNS41MTYtNS45MDZsLjc5Ny0uMDMycS0uOTA2LS43MzQtLjkwNi0xLjkwNiAwLTIuMDE2IDIuMjY2LTIuMDMxaDQuMTg3djEuMDk0aC00LjIwM3EtLjY3MiAwLTEgLjMxMi0uMzI4LjI5Ny0uMzI4Ljk1MyAwIC41MzEuMjgxLjkzOC4yODEuMzkuNzM0LjYxaDQuNTE2djEuMDc3aC02LjM0NHYtMS4wMTV6bS0yLjUxNS0xMS4yMnYxLjExaDkuNzk3di0xLjExaC44OXYyLjIwNEgyMC44di0yLjIwM2guODl6bTguODU5LTEuOTM3djEuMDc4aC05di0xLjA3OGg5em0tMy4yMzQtMS41M3EtLjkyMiAwLTEuNjcyLS4zNi0uNzUtLjM3NS0xLjE0LTEuMDMyLS40MDctLjY1Ni0uNDA3LTEuNDg0IDAtMS4yOTcuODktMi4wOTQuODkxLS44MTIgMi4zOTEtLjgxMmguMDc4cS45MjIgMCAxLjY1Ny4zNi43MzQuMzU5IDEuMTU2IDEuMDE1LjQwNi42NTYuNDA2IDEuNTE1IDAgMS4yODItLjg5IDIuMDk0LS45MDcuNzk3LTIuMzkxLjc5N2gtLjA3OHptLjE0LTEuMDk1cTEuMDQ3IDAgMS42ODgtLjQ4NC42NC0uNS42NC0xLjMxMyAwLS44MjgtLjY0LTEuMzEyLS42NTYtLjQ4NC0xLjgyOC0uNDg0LTEuMDMyIDAtMS42NzIuNS0uNjU2LjQ4NC0uNjU2IDEuMzEyIDAgLjc5Ny42NCAxLjI5Ny42MjUuNDg0IDEuODI4LjQ4NHptMS41OTQtMTEuODEybC00Ljg0NC0xLjIxOXYtMS4wNzhsNi4zNDQgMS44NDR2Ljg3NWwtNC44MTIgMS41NDcgNC44MTIgMS41di44NzVsLTYuMzQ0IDEuODQzdi0xLjA3OGw0Ljc1LTEuMjUtNC43NS0xLjQ4NHYtLjg2bDQuODQ0LTEuNTE1em0xLjYyNS02LjAxNnEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMXYtMy4xNzFoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctNi41NzdxLS4wMzEuMjUtLjAzMS41MzEgMCAxLjA3OC45MDYgMS40NTNoNC41djEuMDc4aC02LjM0NHYtMS4wNDdsLjczNS0uMDE1cS0uODQ0LS41MzItLjg0NC0xLjUxNiAwLS4zMTIuMDc4LS40ODRoMXptNS4zNzUtNS4xMXYxLjA3OGgtNi4zNDR2LTEuMDc4aDYuMzQ0em0tOC4wMTYgMS4xNzJxLS4yNjUgMC0uNDUzLS4xNTYtLjE4Ny0uMTcyLS4xODctLjQ4NCAwLS4zMTMuMTg3LS40Ny4xODgtLjE3MS40NTMtLjE3MS4yNSAwIC40MzguMTcyLjE3Mi4xNTYuMTcyLjQ2OSAwIC4zMTItLjE3Mi40ODQtLjE4OC4xNTYtLjQzOC4xNTZ6bTYuMzI5LTYuNjg3cS0uNDM4IDAtLjY3Mi4zNDMtLjI1LjMyOS0uNDIyIDEuMTU3LS4xNzIuODEyLS40MjIgMS4yOTctLjI1LjQ4NC0uNTc4LjcxOC0uMzQ0LjIyLS44MTMuMjItLjc4MSAwLTEuMzEyLS42NTctLjU0Ny0uNjU2LS41NDctMS42ODggMC0xLjA3OC41NjItMS43MzQuNTQ3LS42NzIgMS40MDctLjY3MnYxLjA3OHEtLjQzOCAwLS43NS4zOS0uMzI4LjM3Ni0uMzI4LjkzOCAwIC41OTQuMjY1LjkzOC4yNS4zMjguNjU2LjMyOC4zOTEgMCAuNTk0LS4zMTMuMjAzLS4zMTIuMzktMS4xMjUuMTczLS44MTIuNDIzLTEuMzEydC42MDktLjczNHEuMzYtLjI1Ljg2LS4yNS44NTkgMCAxLjM3NC42ODcuNTE2LjY3Mi41MTYgMS43NSAwIC43NjYtLjI2NiAxLjM2LS4yOC41NzgtLjc2NS45MDYtLjQ4NS4zMjgtMS4wNDcuMzI4di0xLjA3OHEuNTQ3LS4wMzIuODc1LS40MzguMzEyLS40MDYuMzEyLTEuMDc4IDAtLjYxLS4yNS0uOTg0LS4yNS0uMzc1LS42NzEtLjM3NXptLTEuNDA3LTEwLjY3MnExLjQ1MyAwIDIuMzQ0LjY3Mi44NzUuNjU2Ljg3NSAxLjc4IDAgMS4yMDQtLjg2IDEuODZsLjczNS4wNjN2Ljk4NGgtOXYtMS4wNzhoMy4zNnEtLjgxMy0uNjU2LS44MTMtMS44MTIgMC0xLjE1Ny44NzUtMS44MTMuODYtLjY1NiAyLjM5LS42NTZoLjA5NHptLS4xMjUgMS4wNzhxLTEuMTEgMC0xLjcwMy40MzctLjYxLjQyMi0uNjEgMS4yMiAwIDEuMDc3Ljk4NSAxLjU0NmgyLjc1cTEtLjUgMS0xLjU0NyAwLS43ODEtLjYxLTEuMjE5LS42MDktLjQzNy0xLjgxMi0uNDM3em0zLjM0NC01LjM0NHEwIDEuMjk3LS44NDQgMi4xMS0uODYuNzk2LTIuMjgxLjc5NmgtLjE4N3EtLjk1NCAwLTEuNjg4LS4zNTktLjc1LS4zNi0xLjE1Ni0xLS40MjItLjY1Ni0uNDIyLTEuNDA2IDAtMS4yMzUuODEyLTEuOTIyLjgxMy0uNjg4IDIuMzI5LS42ODhoLjQ1M3Y0LjI5N3EuOTM3LS4wMyAxLjUxNS0uNTQ3LjU3OC0uNTMuNTc4LTEuMzQzIDAtLjU2My0uMjM0LS45NTMtLjIzNC0uNDA3LS42MjUtLjcybC41MTYtLjY1NXExLjIzNC43OTYgMS4yMzQgMi4zOXptLTUuNjg3LjE0cTAgLjY1Ny40ODQgMS4xMS40NjkuNDM4IDEuMzI4LjUzMVY4Ny44NGgtLjA3OHEtLjgyOC4wNDYtMS4yODEuNDUzLS40NTMuMzktLjQ1MyAxLjA3OHptLTIuMzEzLTQuOTg0aDEuNTMxdi0xLjE3MWguODQ0djEuMTcxaDMuOTIycS4zOSAwIC41NzgtLjE1Ni4xODgtLjE1Ni4xODgtLjUzMSAwLS4xODgtLjA2My0uNTE2aC44NzVxLjEyNS40MjIuMTI1LjgyOCAwIC43Mi0uNDM3IDEuMDk0LS40NTQuMzc1LTEuMjY2LjM3NUgyNS4wNXYxLjE1NmgtLjg0NFY4NS40OGgtMS41MzF2LTEuMDk0em0wLTRoMS41MzF2LTEuMTcxaC44NDR2MS4xNzFoMy45MjJxLjM5IDAgLjU3OC0uMTU2LjE4OC0uMTU2LjE4OC0uNTMxIDAtLjE4OC0uMDYzLS41MTZoLjg3NXEuMTI1LjQyMi4xMjUuODI4IDAgLjcyLS40MzcgMS4wOTQtLjQ1NC4zNzUtMS4yNjYuMzc1SDI1LjA1djEuMTU2aC0uODQ0VjgxLjQ4aC0xLjUzMXYtMS4wOTR6bTgtNS4xNTZxMCAxLjI5Ny0uODQ0IDIuMTEtLjg2Ljc5Ni0yLjI4MS43OTZoLS4xODdxLS45NTQgMC0xLjY4OC0uMzU5LS43NS0uMzYtMS4xNTYtMS0uNDIyLS42NTYtLjQyMi0xLjQwNiAwLTEuMjM1LjgxMi0xLjkyMi44MTMtLjY4OCAyLjMyOS0uNjg4aC40NTN2NC4yOTdxLjkzNy0uMDMgMS41MTUtLjU0Ny41NzgtLjUzLjU3OC0xLjM0MyAwLS41NjMtLjIzNC0uOTUzLS4yMzQtLjQwNy0uNjI1LS43MmwuNTE2LS42NTVxMS4yMzQuNzk2IDEuMjM0IDIuMzl6bS01LjY4Ny4xNHEwIC42NTcuNDg0IDEuMTEuNDY5LjQzOCAxLjMyOC41MzFWNzMuODRoLS4wNzhxLS44MjguMDQ2LTEuMjgxLjQ1My0uNDUzLjM5LS40NTMgMS4wNzh6bS4xODctNi41NzdxLS4wMzEuMjUtLjAzMS41MyAwIDEuMDguOTA2IDEuNDU0aDQuNXYxLjA3OGgtNi4zNDR2LTEuMDQ3bC43MzUtLjAxNXEtLjg0NC0uNTMyLS44NDQtMS41MTYgMC0uMzEyLjA3OC0uNDg0aDF6bS00LjM3NS0uMTU3di0yLjIxOGgxMS41Nzh2Mi4yMThoLS44OXYtMS4xNEgyMS42OXYxLjE0SDIwLjh6Ii8+PHBhdGggZmlsbD0iIzc1NzU3NSIgZD0iTTU4LjYyOCAzMTAuNzY3aC0yLjg2di0uODc1aDIuODZ2Ljg3NXptNC4xODggMy4xODhoLTEuMDc5di03LjIxOWwtMi4xODcuNzk3di0uOTg0bDMuMTEtMS4xNzJoLjE1NnY4LjU3OHptOC43OTYtMy42NHEwIDEuOTA1LS42NTYgMi44NDMtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDYtLjY1Ni0uOTA3LS42ODctMi43MnYtMS40MzdxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIxIDIuMDQ3LS45MjEgMS4zNzUgMCAyLjAzMi44OS42NTYuODc1LjY3MSAyLjcxOXYxLjQwNnptLTEuMDkzLTEuNDg1cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQtMS4yMi0uNjQtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI1LS4zNzUgMS45MjJ2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDYuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXptOC4wOTMgMS40ODRxMCAxLjkwNi0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzJ2LTEuNDM3cTAtMS44OS42NC0yLjc5Ny42NTctLjkyMSAyLjA0Ny0uOTIxIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MTl2MS40MDZ6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTIuNjQtMS43NjZxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5NnYuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MzhxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnpNNjUuNjI4IDI0OS4wMDhoLTIuODZ2LS44NzVoMi44NnYuODc1em0xLjEyNS0xLjA5NGwuNDM4LTQuMjVoNC4zNzV2MWgtMy40NTRsLS4yNjUgMi4zMjhxLjY0LS4zNzUgMS40MzctLjM3NSAxLjE1NyAwIDEuODQ0Ljc4MS42ODguNzY2LjY4OCAyLjA3OSAwIDEuMzEyLS43MiAyLjA3OC0uNzAyLjc2NS0xLjk4NC43NjUtMS4xMjQgMC0xLjg0My0uNjI1LS43MTktLjY0LS44MTMtMS43NWgxLjAxNnEuMTEuNzM1LjUzMSAxLjExLjQyMi4zNzUgMS4xMS4zNzUuNzUgMCAxLjE4Ny0uNTE2LjQzOC0uNTE2LjQzOC0xLjQyMiAwLS44Ni0uNDctMS4zNzUtLjQ2OC0uNTE1LTEuMjUtLjUxNS0uNzAyIDAtMS4xMDkuMjk2bC0uMjguMjM1LS44NzYtLjIxOXptMTEuODYuNjRxMCAxLjkwNy0uNjU3IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNi0uNjg3LTIuNzE5di0xLjQzN3EwLTEuODkuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5LjY1Ni44NzYuNjcxIDIuNzJ2MS40MDZ6bS0xLjA5NC0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM1cTAgMS4zNzUuMzkgMi4wNDYuNDA2LjY1NyAxLjIxOS42NTcuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODJ6bTIuNjQtMS43NjVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTYuMjUtLjc5NnYtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTctLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5NnYuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjF6bS44MTIuNDUzcTAgLjQ2OC4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDctLjI2Ni0uNzUtLjI1LS4yOTctLjY3MS0uMjk3LS40MjIgMC0uNjg4LjI5Ny0uMjUuMjgtLjI1Ljc4di40MjN6bS0yLjk1MyAxbC0uNjI1LS4zOTEgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzN6TTY5LjQ3MiAxODUuODU4aDIuMzl2MS4wM2gtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg3aC0yLjM5di0xLjAzMWgyLjM5di0yLjQ4NWgxLjA3OHYyLjQ4NXptOS4xNC45MzdxMCAxLjkwNi0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA2LS42NTYtLjkwNy0uNjg3LTIuNzJ2LTEuNDM3cTAtMS44OS42NC0yLjc5Ny42NTctLjkyMSAyLjA0Ny0uOTIxIDEuMzc1IDAgMi4wMzIuODkuNjU2Ljg3NS42NzEgMi43MTl2MS40MDZ6bS0xLjA5My0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0LTEuMjItLjY0LS44MjggMC0xLjIxOC42NC0uMzc1LjYyNS0uMzc1IDEuOTIydjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTIuNjQtMS43NjZxMC0uNzY1LjQ4NS0xLjI2NS41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5NnYuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk2LjI1LS43OTZ2LS40MzhxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnpNNjIuNDcyIDEyNC4wOThoMi4zOXYxLjAzMWgtMi4zOXYyLjY4OGgtMS4wNzh2LTIuNjg4aC0yLjM5di0xLjAzaDIuMzl2LTIuNDg1aDEuMDc4djIuNDg0em00LjI4MS4yOTdsLjQzOC00LjI1aDQuMzc1djFoLTMuNDU0bC0uMjY1IDIuMzI4cS42NC0uMzc1IDEuNDM3LS4zNzUgMS4xNTcgMCAxLjg0NC43ODEuNjg4Ljc2Ni42ODggMi4wNzggMCAxLjMxMy0uNzIgMi4wNzktLjcwMi43NjUtMS45ODQuNzY1LTEuMTI0IDAtMS44NDMtLjYyNS0uNzE5LS42NC0uODEzLTEuNzVoMS4wMTZxLjExLjczNS41MzEgMS4xMS40MjIuMzc1IDEuMTEuMzc1Ljc1IDAgMS4xODctLjUxNi40MzgtLjUxNi40MzgtMS40MjIgMC0uODYtLjQ3LTEuMzc1LS40NjgtLjUxNi0xLjI1LS41MTYtLjcwMiAwLTEuMTA5LjI5N2wtLjI4LjIzNS0uODc2LS4yMTl6bTExLjg2LjY0cTAgMS45MDctLjY1NyAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNi0uNjU2LS45MDYtLjY4Ny0yLjcxOXYtMS40MzdxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OS42NTYuODc2LjY3MSAyLjcydjEuNDA2em0tMS4wOTQtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NC0xLjIyLS42NC0uODI4IDAtMS4yMTguNjQtLjM3NS42MjUtLjM3NSAxLjkyMnYxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTcgMS4yMTkuNjU3Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTR2LTEuNzh6bTIuNjQtMS43NjVxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2NS0uNSAxLjI2NS0uNDg0LjQ4NS0xLjIzNC40ODUtLjc2NiAwLTEuMjY2LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgyLjI1LS4yOTcuMjUtLjc5N3YtLjQyMXEwLS40NTQtLjI1LS43NS0uMjUtLjMxMy0uNjg4LS4zMTMtLjQzNyAwLS42ODcuMzEzLS4yNS4yOTYtLjI1Ljc2NXYuNDM4em0zLjM0NCA0LjM0M3EwLS43NjUuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODUuNSAxLjI5N3YuNDA3cTAgLjc2NS0uNDg1IDEuMjY1LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MjJ6bS44MTIuNDU0cTAgLjQ2OC4yNS43NjUuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4MS4yNS0uMjk3LjI1LS43OTd2LS40MzhxMC0uNDY4LS4yNjYtLjc1LS4yNS0uMjk2LS42NzEtLjI5Ni0uNDIyIDAtLjY4OC4yOTYtLjI1LjI4Mi0uMjUuNzgydi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOTEgNC4xNzItNi42NzIuNjEuMzktNC4xNTcgNi42NzN6TTU1LjQ3MiA2Mi4zMzloMi4zOXYxLjAzaC0yLjM5djIuNjg4aC0xLjA3OFY2My4zN2gtMi4zOXYtMS4wMzFoMi4zOXYtMi40ODVoMS4wNzh2Mi40ODV6bTcuMzQ0IDQuNTc4aC0xLjA3OXYtNy4yMmwtMi4xODcuNzk4di0uOTg1bDMuMTEtMS4xNzFoLjE1NnY4LjU3OHptOC43OTYtMy42NDFxMCAxLjkwNi0uNjU2IDIuODQ0LS42NC45MjItMi4wMzEuOTIyLTEuMzYgMC0yLjAxNi0uOTA3LS42NTYtLjkwNi0uNjg3LTIuNzE4di0xLjQzOHEwLTEuODkuNjQtMi43OTcuNjU3LS45MjIgMi4wNDctLjkyMiAxLjM3NSAwIDIuMDMyLjg5MS42NTYuODc1LjY3MSAyLjcxOXYxLjQwNnptLTEuMDkzLTEuNDg0cTAtMS4zNzUtLjM5LTItLjM3Ni0uNjQxLTEuMjItLjY0MS0uODI4IDAtMS4yMTguNjQtLjM3NS42MjYtLjM3NSAxLjkyM3YxLjczNHEwIDEuMzc1LjM5IDIuMDQ3LjQwNi42NTYgMS4yMTkuNjU2Ljc5NyAwIDEuMTg4LS42MjUuMzktLjYyNS40MDYtMS45NTN2LTEuNzgxem04LjA5MyAxLjQ4NHEwIDEuOTA2LS42NTYgMi44NDQtLjY0LjkyMi0yLjAzMS45MjItMS4zNiAwLTIuMDE2LS45MDctLjY1Ni0uOTA2LS42ODctMi43MTh2LTEuNDM4cTAtMS44OS42NC0yLjc5Ny42NTctLjkyMiAyLjA0Ny0uOTIyIDEuMzc1IDAgMi4wMzIuODkxLjY1Ni44NzUuNjcxIDIuNzE5djEuNDA2em0tMS4wOTMtMS40ODRxMC0xLjM3NS0uMzktMi0uMzc2LS42NDEtMS4yMi0uNjQxLS44MjggMC0xLjIxOC42NC0uMzc1LjYyNi0uMzc1IDEuOTIzdjEuNzM0cTAgMS4zNzUuMzkgMi4wNDcuNDA2LjY1NiAxLjIxOS42NTYuNzk3IDAgMS4xODgtLjYyNS4zOS0uNjI1LjQwNi0xLjk1M3YtMS43ODF6bTIuNjQtMS43NjZxMC0uNzY2LjQ4NS0xLjI2Ni41LS41IDEuMjY1LS41Ljc4MiAwIDEuMjY2LjV0LjQ4NCAxLjI5N3YuNDIycTAgLjc2Ni0uNSAxLjI2Ni0uNDg0LjQ4NC0xLjIzNC40ODQtLjc2NiAwLTEuMjY2LS40ODQtLjUtLjUtLjUtMS4zMTN2LS40MDZ6bS44MTMuNDUzcTAgLjQ1My4yNS43NS4yNjYuMjk3LjcwMy4yOTcuNDIyIDAgLjY3Mi0uMjgxLjI1LS4yOTcuMjUtLjc5N3YtLjQyMnEwLS40NTMtLjI1LS43NS0uMjUtLjMxMi0uNjg4LS4zMTItLjQzNyAwLS42ODcuMzEyLS4yNS4yOTctLjI1Ljc2NnYuNDM3em0zLjM0NCA0LjM0NHEwLS43NjYuNDg0LTEuMjUuNS0uNSAxLjI2Ni0uNS43NjUgMCAxLjI1LjUuNS40ODQuNSAxLjI5N3YuNDA2cTAgLjc2Ni0uNDg1IDEuMjY2LS40ODQuNS0xLjI1LjUtLjc2NSAwLTEuMjY1LS40ODUtLjUtLjUtLjUtMS4zMTJ2LS40MjJ6bS44MTIuNDUzcTAgLjQ2OS4yNS43NjYuMjY2LjI5Ny43MDMuMjk3LjQyMiAwIC42NzItLjI4Mi4yNS0uMjk3LjI1LS43OTd2LS40MzdxMC0uNDY5LS4yNjYtLjc1LS4yNS0uMjk3LS42NzEtLjI5Ny0uNDIyIDAtLjY4OC4yOTctLjI1LjI4MS0uMjUuNzgxdi40MjJ6bS0yLjk1MyAxbC0uNjI1LS4zOSA0LjE3Mi02LjY3Mi42MS4zOS00LjE1NyA2LjY3MnpNMTE1LjMwNiAzMzkuMjk0bC0xLjc0NiAxLjAwOCAxLjcyNyAyLjk5LS45NzUuNTYzLTQuMjY1LTcuMzg4IDIuNDQ5LTEuNDE0cTEuMjQ1LS43MiAyLjIzNi0uNTM0IDEuMDA1LjE3OCAxLjYzIDEuMjYuMzk4LjY5LjMxNiAxLjQyNC0uMDY4LjcyNS0uNTgzIDEuMzY1bDMuNTM3IDIuMTI1LjAzOS4wNjgtMS4wNDIuNjAyLTMuMzIzLTIuMDY5em0tMi4yMDcuMjFsMS41MDItLjg2OHEuNzMtLjQyMi45NC0xLjAyOS4yMTQtLjYyOS0uMTUzLTEuMjY1LS4zOTEtLjY3Ni0xLjAwOC0uODA3dC0xLjM5Ni4zbC0xLjUwMi44NjggMS42MTcgMi44em05LjQ3Ni0uMjc1cS0xLjEyMy42NDgtMi4yNDkuMzI0LTEuMTItLjM0Ni0xLjgzLTEuNTc3bC0uMDk0LS4xNjNxLS40NzctLjgyNS0uNTMzLTEuNjQtLjA2My0uODMuMjg4LTEuNTAyLjM1OC0uNjk0IDEuMDA3LTEuMDY5IDEuMDctLjYxNyAyLjA3LS4yNTcgMS4wMDMuMzYgMS43NiAxLjY3MmwuMjI3LjM5My0zLjcyMSAyLjE0OHEuNDk1Ljc5NyAxLjIzMSAxLjA0Ljc1LjIzNCAxLjQ1My0uMTcyLjQ4Ny0uMjgxLjcwOC0uNjguMjM1LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2NS00Ljg1NXEtLjU2OS4zMjgtLjcxOS45NzQtLjE0NS42MjQuMjA0IDEuNDE2bDIuNzQ3LTEuNTg2LS4wNC0uMDY4cS0uNDU0LS42OTQtMS4wMzItLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTMuNTMzLTIuOTQzbC40MjYuNjc1cS4xODItMS4xNTIgMS4xOTctMS43MzggMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3MS43MTMtLjE5OC40MzktLjE2Ljk0bDIuMjU3IDMuOTExLS45MzQuNTM5LTMuMTcxLTUuNDk0Ljg4LS41MDh6bTYuNTE1LS4xNTNxLS43MzQtMS4yNzItLjU3Ni0yLjM3My4xNS0xLjExNSAxLjEyNC0xLjY3OC45Ni0uNTU0IDEuOTA0LS4yMzNsLTEuNjQ4LTIuODU1LjkzMy0uNTQgNC41IDcuNzk1LS44NjYuNS0uMzg0LS41NzJxLS4xNjIgMS4wMzItMS4xNjMgMS42MS0uOTQ4LjU0Ny0yLjAxLjExNC0xLjA0OC0uNDQyLTEuNzc1LTEuN2wtLjAzOS0uMDY4em0uOTk2LS40M3EuNTQuOTMzIDEuMjIzIDEuMjQyLjY5Ny4zMDEgMS4zNzQtLjA5Ljg5My0uNTE1Ljg0NC0xLjU2OWwtMS40NTQtMi41MTdxLS44NjQtLjUyOS0xLjc0NC0uMDIxLS42OS4zOTgtLjc3OCAxLjE1My0uMDc0Ljc0Ni41MzUgMS44MDJ6bTkuMjQyLTEuNjJxLTEuMTI0LjY1LTIuMjUuMzI1LTEuMTE5LS4zNDYtMS44My0xLjU3N2wtLjA5NC0uMTYzcS0uNDc2LS44MjUtLjUzMi0xLjY0LS4wNjQtLjgzLjI4OC0xLjUwMi4zNTctLjY5NCAxLjAwNy0xLjA2OSAxLjA2OS0uNjE3IDIuMDctLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIgMi4xNDhxLjQ5NS43OTcgMS4yMyAxLjA0Ljc1LjIzNCAxLjQ1My0uMTcyLjQ4OC0uMjgxLjcwOS0uNjguMjM0LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2Ni00Ljg1NHEtLjU2OC4zMjgtLjcxOS45NzQtLjE0NC42MjQuMjA0IDEuNDE2bDIuNzQ3LTEuNTg2LS4wMzktLjA2OHEtLjQ1NC0uNjk0LTEuMDMzLS44ODMtLjU2NS0uMTk3LTEuMTYuMTQ3em01Ljc5LTMuMTI3cS0uMjMyLjA5OC0uNDc1LjIzOC0uOTM0LjU0LS44MDUgMS41MTJsMi4yNSAzLjg5Ny0uOTM0LjUzOS0zLjE3Mi01LjQ5NC45MDctLjUyMy4zOC42MjhxLjAzOS0uOTk2Ljg5MS0xLjQ4OS4yNy0uMTU2LjQ1OS0uMTc0bC41Ljg2NnpNMTc3LjEyMiAzMzkuMzA5cS0xLjQ1NS4zNTMtMi4zNDIuMTYyLS44NzMtLjItMS4zMTgtLjk3MS0uNS0uODY2LS4xMzgtMS44MzMuMzY3LS45ODggMS40OS0xLjYzNy43NTgtLjQzNyAxLjUyNi0uNDgzLjc2Ny0uMDQ2IDEuMzg4LjI4LjYzNi4zMi45OTUuOTQybC0uOTg4LjU3cS0uMzktLjY3Ny0xLjA0Mi0uODA1LS42MzgtLjEzNy0xLjQxLjMwOC0uNzE3LjQxNC0uOTM1Ljk3My0uMjI3LjU0Ni4wOTQgMS4xLjI2NS40Ni44MjQuNTUzLjU3Mi4wODUgMS42NC0uMTkgMS4wNy0uMjczIDEuNzYzLS4yNTkuNzA3LjAwNyAxLjE5My4yODUuNS4yNzEuODIuODI2LjUyMy45MDcuMTMyIDEuODU0LS4zOTEuOTQ4LTEuNTU1IDEuNjItLjc3MS40NDUtMS42MDYuNTMtLjgyMS4wNzgtMS40NzYtLjIxMi0uNjQ5LS4zMTEtMS4wMTYtLjk0N2wuOTc1LS41NjNxLjM4Mi42NjMgMS4xMS43NjcuNzI3LjEwMyAxLjU1Mi0uMzc0Ljc3Mi0uNDQ1Ljk5OC0uOTkuMjE4LS41Ni0uMDk0LTEuMS0uMzEzLS41NDItLjg2My0uNjIxLS41NTEtLjA3OS0xLjcxNy4yMTV6bTcuOTgzLS4wOHEtMS4xMjMuNjQ4LTIuMjQ5LjMyNC0xLjEyLS4zNDYtMS44My0xLjU3N2wtLjA5NC0uMTYzcS0uNDc3LS44MjUtLjUzMy0xLjY0LS4wNjQtLjgzLjI4OC0xLjUwMi4zNTgtLjY5NCAxLjAwNy0xLjA2OSAxLjA3LS42MTcgMi4wNy0uMjU3IDEuMDAyLjM2IDEuNzYgMS42NzJsLjIyNy4zOTMtMy43MjEgMi4xNDhxLjQ5NS43OTcgMS4yMyAxLjA0Ljc1LjIzNSAxLjQ1NC0uMTcyLjQ4Ny0uMjgxLjcwOC0uNjguMjM1LS40MDUuMzEtLjlsLjgyNi4xMThxLS4wNzMgMS40NjgtMS40NTMgMi4yNjV6bS0yLjk2Ni00Ljg1NXEtLjU2OC4zMjgtLjcxOC45NzQtLjE0NS42MjQuMjA0IDEuNDE2bDIuNzQ3LTEuNTg2LS4wNC0uMDY4cS0uNDU0LS42OTQtMS4wMzItLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6bTkuMjEgMS4xMDZxLS4xNzYtLjExNi0uNDcyLS41MDQtLjI1MSAxLjA2NS0xLjE1OCAxLjU4OS0uODEyLjQ2OS0xLjYwNS4zMTMtLjc4LS4xNjMtMS4xOTQtLjg4LS40OTItLjg1My0uMTE2LTEuNzAxLjM3Ni0uODQ5IDEuNTY3LTEuNTM2bC45MDYtLjUyNC0uMjUtLjQzM3EtLjI4LS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzcuMjAzLS41MDEuMjg5LS42OTEuNzQxLS4xOTguNDQuMDEzLjgwNWwtLjk0Ny41NDdxLS4yNDItLjQyLS4xNzctLjk2My4wOC0uNTUuNDU1LTEuMDU2LjM2OC0uNTIuOTYzLS44NjMuOTYtLjU1NSAxLjc2Mi0uMzg2LjgxNS4xNjEgMS4zMTguOTcxbDEuNDYxIDIuNTNxLjQzOC43NTguODg1IDEuMDk1bC4wNDcuMDgyLS45ODguNTd6bS0xLjk3MS4xODFxLjQ0Ny0uMjU4LjcwNi0uNzE0LjI2LS40NTcuMjI1LS45MjRsLS42NDktMS4xMjMtLjczLjQyMnEtMS43MzMgMS0xLjE0NyAyLjAxNS4yNS40MzMuNjk3LjUxOC40MzguMDcyLjg5OC0uMTk0em00LjYxNC03LjkxNHEtLjIzMi4wOTgtLjQ3Ni4yMzgtLjkzMy41NC0uODA1IDEuNTEybDIuMjUgMy44OTctLjkzNC41MzktMy4xNzEtNS40OTQuOTA2LS41MjMuMzguNjI4cS4wNC0uOTk2Ljg5Mi0xLjQ4OS4yNy0uMTU2LjQ1OC0uMTc0bC41Ljg2NnptNS4zMDkgMi4yNTdxLjUtLjI4OS43MDgtLjgwNS4xOTktLjUzLS4wMjYtMS4wMTRsLjg5My0uNTE1cS4yNDYuNDg5LjE4NSAxLjEwMi0uMDU2LjU5MS0uNDA4IDEuMTM3LS4zMzkuNTM5LS45MDcuODY3LTEuMTIzLjY0OC0yLjIxNi4yODctMS4wODctLjM4My0xLjgzNy0xLjY4MmwtLjA5NC0uMTYycS0uNDYtLjc5OS0uNTM2LTEuNTg1LS4wNjEtLjc5NS4yODUtMS40NDYuMzUxLS42NzIgMS4xMS0xLjExLjkyLS41MyAxLjg0OC0uMzI3LjkzNS4xODIgMS40OTIgMS4wNTFsLS44OTMuNTE2cS0uMzU0LS41MTgtLjkxNC0uNjQ1LS41Ni0uMTI4LTEuMDg5LjE3Ny0uNzE3LjQxNC0uODEyIDEuMTU1LS4wOTYuNzQuNDY3IDEuNzE1bC4xMDEuMTc2cS41NDcuOTQ3IDEuMjM2IDEuMjM1LjY5LjI4NyAxLjQwNy0uMTI3em0xLjUzMS02LjQ0cS4xODUtMS4xMTggMS4xODctMS42OTYgMS43NDUtMS4wMDggMi44OTIuOTQ2bDIuMDkzIDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzUtLjU4Mi0uNzctLjcxLS40MjEtLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3LjcxMy0uMTk5LjQzOS0uMTYxLjk0bDIuMjU3IDMuOTExLS45MzMuNTM5LTQuNS03Ljc5NC45MzMtLjU0IDEuNzExIDIuOTY0ek0yNDMuMzE3IDMzNy4wM2wtMy4yMDcgMS44NTIgMS41MDcgMi42MTIgMy43MjItMi4xNDguNDYuNzk4LTQuNjk1IDIuNzEtNC4yNjYtNy4zODcgNC42NTUtMi42ODguNDYxLjc5OC0zLjY4IDIuMTI1IDEuMzc1IDIuMzgyIDMuMjA3LTEuODUxLjQ2Ljc5OHptMy41MzktMi4xNWwuMDYxLTIuNzA2IDEuMDk2LS42MzMtLjIzIDMuNzU5IDMuNDU2IDEuNzAzLTEuMDgyLjYyNS0yLjQ2LTEuMzIyLS4wODQgMi43OTEtMS4wOTYuNjMzLjI1Mi0zLjg0NC0zLjM1Ni0xLjY4OSAxLjA4Mi0uNjI1IDIuMzYgMS4zMDd6bTguNDUyLTMuNzk4cS43MTkgMS4yNDUuNTk2IDIuMzQ0LS4xMjMgMS4xLTEuMTExIDEuNjctMS4wMDEuNTc4LTEuOTM3LjI3bDEuNTI0IDIuNjM5LS45MzQuNTM5LTQuMzktNy42MDUuODUyLS40OTIuMzkyLjU4NnEuMTc1LTEuMDQgMS4xOS0xLjYyNi45ODgtLjU3IDEuOTg2LS4xNTQgMS4wMTIuNDA4IDEuNzc3IDEuNzM0bC4wNTUuMDk1em0tLjk5Ni40M3EtLjU0LS45MzMtMS4yNS0xLjIyNi0uNzA1LS4zMTUtMS4zOTUuMDgzLS44NTIuNDkzLS44NDIgMS40NzlsMS41MTUgMi42MjVxLjg1Ny41MTYgMS43MjMuMDE2LjY3Ny0uMzkuNzY1LTEuMTQ1LjA5My0uNzc2LS41MTYtMS44MzF6bTIuMTAzLTEuMjMycS0uNDYtLjc5OC0uNTI1LTEuNjI3LS4wNS0uODM3LjMyMy0xLjUwNC4zNjUtLjY4IDEuMDgyLTEuMDk0IDEuMTI0LS42NDggMi4yNTktLjI3NSAxLjE0OS4zNjUgMS44OTkgMS42NjRsLjAzOS4wNjhxLjQ2Ljc5OC41MTcgMS42MTQuMDU2LjgxNS0uMzAyIDEuNTA5LS4zNjUuNjgtMS4xMDkgMS4xMS0xLjExLjY0LTIuMjU5LjI3NS0xLjE0My0uMzg2LTEuODg1LTEuNjcybC0uMDM5LS4wNjh6bTEuMDE4LS40MjVxLjUyMy45MDcgMS4yNjMgMS4yMi43NTMuMzA0IDEuNDU3LS4xMDIuNzE3LS40MTQuODE2LTEuMjEuMDkxLS44MTEtLjQ5NS0xLjgyNi0uNTE1LS44OTMtMS4yNjgtMS4xOTgtLjc0OC0uMzI2LTEuNDY1LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em02Ljg4My02LjYwOHEtLjIzMi4wOTgtLjQ3Ni4yMzgtLjkzMy41NC0uODA1IDEuNTEybDIuMjUgMy44OTctLjkzNC41NC0zLjE3MS01LjQ5NS45MDYtLjUyMy4zOC42MjhxLjA0LS45OTYuODkyLTEuNDg5LjI3LS4xNTYuNDU4LS4xNzRsLjUuODY2em0uODM0LTMuMzY4bC43NjYgMS4zMjYgMS4wMTUtLjU4Ni40MjEuNzMtMS4wMTQuNTg3IDEuOTYgMy4zOTZxLjE5Ni4zMzguNDI1LjQyMy4yMjkuMDg0LjU1NC0uMTA0LjE2Mi0uMDkzLjQxNS0uMzEybC40MzcuNzU4cS0uMzAyLjMyLS42NTQuNTIyLS42MjMuMzYtMS4xNjYuMTY4LS41NTItLjIwNC0uOTU4LS45MDhsLTEuOTYtMy4zOTctMS4wMDIuNTc5LS40MjItLjczMSAxLjAwMS0uNTc4LS43NjUtMS4zMjYuOTQ3LS41NDd6TTI5My42MTMgMzQ2LjA2bC0zLjA5OSAxLjc5LjQyNyAyLjMzMy0xLjAwMS41NzgtMS40NTEtOS4wMTMuODUyLS40OTIgNy4wOTQgNS43NTUtMS4wMDEuNTc4LTEuODIxLTEuNTI4em0tMy4yNjIuODJsMi41MTctMS40NTQtMy4yNS0yLjcyNC43MzMgNC4xNzd6bTQuNzkzLTYuNDQ5bC40MjYuNjc1cS4xODItMS4xNTIgMS4xOTctMS43MzggMS43NDYtMS4wMDggMi44OTIuOTQ2bDIuMDk0IDMuNjI3LS45NDcuNTQ3LTIuMTAyLTMuNjRxLS4zMzYtLjU4Mi0uNzctLjcxLS40MjItLjEzNi0uOTkuMTkyLS40Ni4yNjYtLjY3MS43MTMtLjE5OC40MzktLjE2Ljk0bDIuMjU3IDMuOTExLS45MzQuNTM5LTMuMTcxLTUuNDk0Ljg4LS41MDh6bTYuMDYyLTMuNWwuNDI2LjY3NXEuMTgzLTEuMTUyIDEuMTk4LTEuNzM4IDEuNzQ1LTEuMDA4IDIuODkxLjk0NmwyLjA5NCAzLjYyNy0uOTQ3LjU0Ny0yLjEwMi0zLjY0cS0uMzM2LS41ODItLjc3LS43MS0uNDIxLS4xMzYtLjk5LjE5Mi0uNDYuMjY2LS42NzEuNzEzLS4xOTguNDM5LS4xNi45NGwyLjI1NyAzLjkxMS0uOTMzLjUzOS0zLjE3Mi01LjQ5NC44OC0uNTA4em02LjQ4LS4xNXEtLjQ2LS43OTktLjUyNC0xLjYyOC0uMDUtLjgzNy4zMjMtMS41MDQuMzY1LS42OCAxLjA4Mi0xLjA5NCAxLjEyMy0uNjQ4IDIuMjU4LS4yNzUgMS4xNS4zNjUgMS45IDEuNjY0bC4wMzkuMDY4cS40Ni43OTguNTE2IDEuNjE0LjA1Ni44MTUtLjMwMSAxLjUwOS0uMzY1LjY4LTEuMTEgMS4xMS0xLjExLjY0LTIuMjU4LjI3NS0xLjE0My0uMzg2LTEuODg1LTEuNjcybC0uMDQtLjA2OHptMS4wMTgtLjQyNnEuNTIzLjkwNyAxLjI2MyAxLjIyLjc1NC4zMDQgMS40NTctLjEwMi43MTctLjQxNC44MTctMS4yMS4wOS0uODExLS40OTUtMS44MjYtLjUxNi0uODkzLTEuMjY5LTEuMTk4LS43NDgtLjMyNi0xLjQ2NS4wODgtLjY5LjM5OC0uODAzIDEuMjAzLS4xMDcuNzgzLjQ5NSAxLjgyNXptNC4yNTMtNy45NzZsLjc2NiAxLjMyNiAxLjAxNS0uNTg2LjQyMi43My0xLjAxNS41ODcgMS45NiAzLjM5NnEuMTk2LjMzOC40MjUuNDIzLjIzLjA4NC41NTQtLjEwNC4xNjItLjA5My40MTUtLjMxMmwuNDM4Ljc1OHEtLjMwMy4zMi0uNjU1LjUyMi0uNjIyLjM2LTEuMTY2LjE2OC0uNTUxLS4yMDQtLjk1Ny0uOTA4bC0xLjk2MS0zLjM5Ny0xLjAwMi41NzktLjQyMi0uNzMxIDEuMDAyLS41NzgtLjc2Ni0xLjMyNi45NDctLjU0N3ptOS41MTMgMy42cS0uMTc1LS4xMTUtLjQ3MS0uNTAzLS4yNTEgMS4wNjUtMS4xNTggMS41ODktLjgxMi40NjktMS42MDUuMzEzLS43OC0uMTYzLTEuMTk0LS44OC0uNDkyLS44NTMtLjExNi0xLjcwMS4zNzYtLjg0OSAxLjU2Ny0xLjUzNmwuOTA2LS41MjQtLjI1LS40MzNxLS4yODEtLjQ4Ny0uNzQzLS42LS40NTYtLjEzMy0xLjAzOC4yMDMtLjUuMjg5LS42OS43NDEtLjE5OC40NC4wMTMuODA1bC0uOTQ3LjU0N3EtLjI0Mi0uNDItLjE3Ny0uOTYzLjA4LS41NS40NTUtMS4wNTYuMzY4LS41Mi45NjMtLjg2My45Ni0uNTU1IDEuNzYyLS4zODYuODE1LjE2MSAxLjMxOC45NzFsMS40NjEgMi41M3EuNDM4Ljc1OC44ODUgMS4wOTVsLjA0Ny4wODItLjk4OC41N3ptLTEuOTcuMTgycS40NDYtLjI1OC43MDYtLjcxNC4yNi0uNDU3LjIyNC0uOTI0bC0uNjQ4LTEuMTIzLS43My40MjJxLTEuNzMzIDEtMS4xNDcgMi4wMTUuMjUuNDMzLjY5Ni41MTguNDM5LjA3Mi44OTktLjE5NHptMS45ODQtOS4yODJsLjc2NSAxLjMyNiAxLjAxNS0uNTg2LjQyMi43My0xLjAxNS41ODcgMS45NjEgMy4zOTZxLjE5NS4zMzguNDI1LjQyMy4yMjkuMDg0LjU1My0uMTA0LjE2My0uMDkzLjQxNi0uMzEybC40MzcuNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjIuMzYtMS4xNjUuMTY4LS41NTItLjIwNC0uOTU4LS45MDhsLTEuOTYxLTMuMzk3LTEuMDAxLjU3OS0uNDIyLS43MzEgMS4wMDEtLjU3OC0uNzY2LTEuMzI2Ljk0OC0uNTQ3em04LjQ2NSA0LjM1cS0xLjEyMy42NDgtMi4yNDguMzI0LTEuMTItLjM0Ni0xLjgzMS0xLjU3N2wtLjA5NC0uMTYzcS0uNDc3LS44MjUtLjUzMy0xLjY0LS4wNjMtLjgzLjI4OC0xLjUwMi4zNTgtLjY5NCAxLjAwNy0xLjA2OSAxLjA3LS42MTcgMi4wNzEtLjI1NyAxLjAwMi4zNiAxLjc2IDEuNjcybC4yMjYuMzkzLTMuNzIxIDIuMTQ4cS40OTYuNzk3IDEuMjMxIDEuMDQuNzUuMjM1IDEuNDUzLS4xNzIuNDg3LS4yODEuNzA4LS42OC4yMzUtLjQwNS4zMS0uOWwuODI2LjExOHEtLjA3MyAxLjQ2OC0xLjQ1MyAyLjI2NXptLTIuOTY1LTQuODU1cS0uNTY5LjMyOC0uNzE5Ljk3NC0uMTQ0LjYyNC4yMDQgMS40MTZsMi43NDctMS41ODYtLjA0LS4wNjhxLS40NTQtLjY5NC0xLjAzMi0uODgzLS41NjUtLjE5Ny0xLjE2LjE0N3pNMzU4LjU1OSAzNDcuMjQ2bC0uOTc0LjU2Mi00LjI2Ni03LjM4OC45NzQtLjU2MyA0LjI2NiA3LjM4OXptLS44ODUtNi44MTVsLjQyNS42NzVxLjE4My0xLjE1MiAxLjE5OC0xLjczOCAxLjc0Ni0xLjAwOCAyLjg5Mi45NDZsMi4wOTQgMy42MjctLjk0Ny41NDctMi4xMDItMy42NHEtLjMzNi0uNTgyLS43Ny0uNzEtLjQyMi0uMTM2LS45OS4xOTItLjQ2LjI2Ni0uNjcxLjcxMy0uMTk4LjQzOS0uMTYuOTRsMi4yNTcgMy45MTEtLjkzNC41MzktMy4xNzItNS40OTQuODgtLjUwOHptOS4zNyAxLjkxNmwtLjkzNC41NC0zLjE3Mi01LjQ5NS45MzMtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDIzLTYuMzU2cS0uMTMzLS4yMy0uMDkyLS40Ny4wNTYtLjI0OS4zMjYtLjQwNS4yNy0uMTU2LjUtLjA3Mi4yNDIuMDc3LjM3NS4zMDcuMTI1LjIxNi4wNy40NjUtLjA1LjIyNi0uMzIuMzgzLS4yNy4xNTYtLjUwNS4wOTMtLjIzLS4wODQtLjM1NC0uM3ptMy45NC0yLjExMmwuNzY2IDEuMzI2IDEuMDE1LS41ODYuNDIxLjczLTEuMDE0LjU4NyAxLjk2IDMuMzk2cS4xOTYuMzM4LjQyNS40MjMuMjI5LjA4NC41NTQtLjEwNC4xNjItLjA5My40MTUtLjMxMmwuNDM3Ljc1OHEtLjMwMi4zMi0uNjU0LjUyMi0uNjIzLjM2LTEuMTY2LjE2OC0uNTUyLS4yMDQtLjk1OC0uOTA4bC0xLjk2LTMuMzk3LTEuMDAyLjU3OS0uNDIyLS43MzEgMS4wMDEtLjU3OC0uNzY1LTEuMzI2Ljk0Ny0uNTQ3em03LjE0NCA0Ljk2OGwtLjkzMy41NC0zLjE3Mi01LjQ5NS45MzQtLjUzOSAzLjE3MSA1LjQ5NHptLTUuMDIyLTYuMzU2cS0uMTMzLS4yMy0uMDkxLS40Ny4wNTUtLjI0OS4zMjUtLjQwNS4yNy0uMTU2LjUtLjA3Mi4yNDMuMDc3LjM3NS4zMDcuMTI1LjIxNi4wNy40NjUtLjA1LjIyNi0uMzIuMzgzLS4yNy4xNTYtLjUwNS4wOTMtLjIzLS4wODQtLjM1NC0uM3ptOS45ODkgMy40ODlxLS4xNzUtLjExNi0uNDcyLS41MDQtLjI1IDEuMDY1LTEuMTU3IDEuNTg5LS44MTIuNDY4LTEuNjA2LjMxMy0uNzgtLjE2My0xLjE5My0uODgtLjQ5My0uODUzLS4xMTctMS43MDEuMzc3LS44NDkgMS41NjctMS41MzZsLjkwNy0uNTI0LS4yNS0uNDMzcS0uMjgxLS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzguMjAzLS41LjI4OS0uNjkuNzQxLS4xOTguNDQuMDEzLjgwNWwtLjk0Ny41NDdxLS4yNDMtLjQyLS4xNzctLjk2My4wNzktLjU1LjQ1NC0xLjA1Ni4zNjgtLjUyLjk2NC0uODYzLjk2LS41NTUgMS43NjItLjM4Ni44MTQuMTYxIDEuMzE4Ljk3MWwxLjQ2IDIuNTNxLjQzOC43NTguODg2IDEuMDk1bC4wNDYuMDgyLS45ODcuNTd6bS0xLjk3LjE4MXEuNDQ2LS4yNTguNzA2LS43MTQuMjYtLjQ1Ny4yMjQtLjkyNGwtLjY0OC0xLjEyMy0uNzMxLjQyMnEtMS43MzIgMS0xLjE0NiAyLjAxNS4yNS40MzMuNjk2LjUxOC40MzguMDcyLjg5OC0uMTk0em01LjY2NC0yLjMxNGwtLjkzNC41NC00LjUtNy43OTUuOTM0LS41NCA0LjUgNy43OTV6bTIuNTk4LTEuNWwtLjkzNC41NC0zLjE3Mi01LjQ5NS45MzQtLjUzOSAzLjE3MiA1LjQ5NHptLTUuMDIzLTYuMzU2cS0uMTMzLS4yMy0uMDkxLS40Ny4wNTUtLjI0OS4zMjYtLjQwNS4yNy0uMTU2LjUtLjA3Mi4yNDIuMDc3LjM3NS4zMDcuMTI1LjIxNi4wNy40NjUtLjA1LjIyNi0uMzIuMzgzLS4yNzEuMTU2LS41MDYuMDkzLS4yMjktLjA4NC0uMzU0LS4zem03LjA0IDQuMTYzbDMuMjA3LTEuODUyLjQ0Ni43NzItNC4zNTggMi41MTUtLjM5OC0uNjkuNzEtNS43NjktMi45OSAxLjcyNy0uNDUzLS43ODUgNC4xNjgtMi40MDYuMzgzLjY2My0uNzE1IDUuODI1em03LjA5OC0yLjkyNXEtMS4xMjMuNjQ4LTIuMjQ5LjMyNC0xLjEyLS4zNDYtMS44My0xLjU3N2wtLjA5NC0uMTYzcS0uNDc3LS44MjUtLjUzMy0xLjY0LS4wNjMtLjgzLjI4OC0xLjUwMi4zNTgtLjY5NCAxLjAwNy0xLjA2OSAxLjA3LS42MTcgMi4wNy0uMjU3IDEuMDAyLjM2IDEuNzYgMS42NzJsLjIyNy4zOTMtMy43MjEgMi4xNDhxLjQ5NS43OTcgMS4yMzEgMS4wNC43NS4yMzQgMS40NTMtLjE3Mi40ODctLjI4MS43MDgtLjY4LjIzNS0uNDA1LjMxLS45bC44MjYuMTE4cS0uMDczIDEuNDY4LTEuNDUzIDIuMjY1em0tMi45NjUtNC44NTVxLS41NjkuMzI4LS43Mi45NzQtLjE0NC42MjQuMjA1IDEuNDE2bDIuNzQ3LTEuNTg2LS4wNC0uMDY4cS0uNDU0LS42OTQtMS4wMzItLjg4My0uNTY1LS4xOTctMS4xNi4xNDd6TTQwNy40ODcgMzQ2LjMxMmwtMi4zODEgMS4zNzUgMy44MDQgNi41OS0uOTYuNTU1LTMuODA1LTYuNTktMi4zODIgMS4zNzUtLjQ2LS43OTkgNS43MjMtMy4zMDQuNDYxLjc5OHptMi43NDIgMy40NjhxLS40Ni0uNzk4LS41MjQtMS42MjctLjA1LS44MzcuMzIzLTEuNTA0LjM2NS0uNjggMS4wODItMS4wOTQgMS4xMjMtLjY0OCAyLjI1OC0uMjc1IDEuMTUuMzY1IDEuOSAxLjY2NGwuMDM5LjA2OHEuNDYuNzk4LjUxNiAxLjYxNC4wNTYuODE1LS4zMDEgMS41MDktLjM2NS42OC0xLjExIDEuMTEtMS4xMDkuNjQtMi4yNTguMjc1LTEuMTQzLS4zODYtMS44ODUtMS42NzJsLS4wNC0uMDY4em0xLjAxOC0uNDI1cS41MjMuOTA3IDEuMjYzIDEuMjIuNzU0LjMwNCAxLjQ1Ny0uMTAyLjcxNy0uNDE0LjgxNy0xLjIxLjA5LS44MTEtLjQ5NS0xLjgyNi0uNTE2LS44OTMtMS4yNjktMS4xOTgtLjc0OC0uMzI2LTEuNDY1LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em00LjI1My03Ljk3NmwuNzY2IDEuMzI2IDEuMDE1LS41ODYuNDIyLjczLTEuMDE1LjU4NyAxLjk2IDMuMzk2cS4xOTYuMzM4LjQyNS40MjMuMjMuMDg0LjU1NC0uMTA0LjE2Mi0uMDkzLjQxNS0uMzEybC40MzguNzU4cS0uMzAzLjMyLS42NTUuNTIyLS42MjIuMzYtMS4xNjYuMTY4LS41NTEtLjIwNC0uOTU3LS45MDhsLTEuOTYxLTMuMzk3LTEuMDAyLjU3OS0uNDIxLS43MzEgMS0uNTc4LS43NjUtMS4zMjYuOTQ3LS41NDd6bTkuNTEzIDMuNnEtLjE3NS0uMTE1LS40NzEtLjUwMy0uMjUxIDEuMDY1LTEuMTU4IDEuNTg5LS44MTIuNDY5LTEuNjA1LjMxMy0uNzgtLjE2My0xLjE5NC0uODgtLjQ5Mi0uODUzLS4xMTYtMS43MDEuMzc2LS44NDkgMS41NjctMS41MzZsLjkwNi0uNTI0LS4yNS0uNDMzcS0uMjgxLS40ODctLjc0My0uNi0uNDU2LS4xMzMtMS4wMzguMjAzLS41LjI4OS0uNjkuNzQxLS4xOTguNDQuMDEzLjgwNWwtLjk0Ny41NDdxLS4yNDItLjQyLS4xNzctLjk2My4wOC0uNTUuNDU1LTEuMDU2LjM2OC0uNTIuOTYzLS44NjMuOTYtLjU1NSAxLjc2Mi0uMzg2LjgxNS4xNjEgMS4zMTguOTcxbDEuNDYxIDIuNTNxLjQzOC43NTguODg1IDEuMDk1bC4wNDcuMDgyLS45ODguNTd6bS0xLjk3LjE4MnEuNDQ2LS4yNTguNzA2LS43MTQuMjYtLjQ1Ny4yMjQtLjkyNGwtLjY0OC0xLjEyMy0uNzMuNDIycS0xLjczMyAxLTEuMTQ3IDIuMDE1LjI1LjQzMy42OTYuNTE4LjQzOS4wNzIuODk5LS4xOTR6bTUuNjY0LTIuMzE0bC0uOTM0LjU0LTQuNS03Ljc5NS45MzQtLjU0IDQuNSA3Ljc5NXptNC41OTctNy4wMzhxLTEuNDU2LjM1My0yLjM0Mi4xNjItLjg3NC0uMi0xLjMxOS0uOTcxLS41LS44NjYtLjEzOC0xLjgzMy4zNjgtLjk4OCAxLjQ5MS0xLjYzNy43NTgtLjQzNyAxLjUyNS0uNDgzLjc2Ny0uMDQ2IDEuMzg5LjI4LjYzNS4zMi45OTQuOTQybC0uOTg3LjU3cS0uMzkxLS42NzctMS4wNDMtLjgwNS0uNjM4LS4xMzctMS40MS4zMDgtLjcxNi40MTQtLjkzNS45NzMtLjIyNi41NDYuMDk0IDEuMS4yNjYuNDYuODI0LjU1My41NzIuMDg1IDEuNjQxLS4xOSAxLjA2OS0uMjczIDEuNzYzLS4yNTkuNzA3LjAwNyAxLjE5My4yODUuNDk5LjI3Mi44Mi44MjYuNTIzLjkwNy4xMzIgMS44NTQtLjM5Mi45NDgtMS41NTUgMS42Mi0uNzcyLjQ0NS0xLjYwNi41My0uODIyLjA3OC0xLjQ3Ni0uMjEyLS42NDktLjMxMS0xLjAxNi0uOTQ3bC45NzQtLjU2M3EuMzgzLjY2MyAxLjExLjc2Ny43MjcuMTAzIDEuNTUzLS4zNzQuNzcxLS40NDUuOTk3LS45OS4yMTktLjU2LS4wOTQtMS4xLS4zMTItLjU0Mi0uODYzLS42MjEtLjU1LS4wNzktMS43MTYuMjE1em03LjQ1Ni0uODA1cS41LS4yODkuNzA4LS44MDUuMTk5LS41My0uMDI2LTEuMDE0bC44OTMtLjUxNXEuMjQ2LjQ4OS4xODUgMS4xMDItLjA1Ni41OTEtLjQwOCAxLjEzNy0uMzM4LjUzOS0uOTA3Ljg2Ny0xLjEyMy42NDgtMi4yMTYuMjg3LTEuMDg3LS4zODMtMS44MzctMS42ODJsLS4wOTMtLjE2MnEtLjQ2MS0uNzk5LS41MzctMS41ODUtLjA2MS0uNzk1LjI4NS0xLjQ0Ni4zNTEtLjY3MiAxLjExLTEuMTEuOTItLjUzIDEuODQ5LS4zMjcuOTM0LjE4MiAxLjQ5IDEuMDUxbC0uODkyLjUxNnEtLjM1My0uNTE4LS45MTQtLjY0NS0uNTYtLjEyOC0xLjA4OS4xNzctLjcxNy40MTQtLjgxMiAxLjE1NS0uMDk2Ljc0LjQ2NyAxLjcxNWwuMTAxLjE3NnEuNTQ3Ljk0NyAxLjIzNiAxLjIzNS42OS4yODcgMS40MDctLjEyN3ptMS41MTItMy43MjRxLS40Ni0uNzk4LS41MjQtMS42MjctLjA1LS44MzcuMzIzLTEuNTA0LjM2NS0uNjggMS4wODItMS4wOTQgMS4xMjMtLjY0OCAyLjI1OC0uMjc1IDEuMTUuMzY1IDEuOSAxLjY2NGwuMDM4LjA2OHEuNDYxLjc5OC41MTcgMS42MTQuMDU2LjgxNS0uMzAxIDEuNTA5LS4zNjUuNjgtMS4xMSAxLjExLTEuMTEuNjQtMi4yNTguMjc1LTEuMTQzLS4zODYtMS44ODUtMS42NzJsLS4wNC0uMDY4em0xLjAxOC0uNDI1cS41MjMuOTA3IDEuMjYzIDEuMjIuNzU0LjMwNCAxLjQ1Ny0uMTAyLjcxNy0uNDE0LjgxNy0xLjIxLjA5LS44MTEtLjQ5NS0xLjgyNi0uNTE2LS44OTMtMS4yNjktMS4xOTgtLjc0OC0uMzI2LTEuNDY1LjA4OC0uNjkuMzk4LS44MDMgMS4yMDMtLjEwNy43ODMuNDk1IDEuODI1em02Ljg4NC02LjYwOHEtLjIzMi4wOTgtLjQ3Ni4yMzgtLjkzNC41NC0uODA1IDEuNTEybDIuMjUgMy44OTctLjkzNC41NC0zLjE3Mi01LjQ5NS45MDctLjUyMy4zOC42MjhxLjAzOS0uOTk2Ljg5MS0xLjQ4OS4yNy0uMTU2LjQ1OS0uMTc0bC41Ljg2NnptNS44MzUgMi45ODJxLTEuMTIzLjY0OC0yLjI0OS4zMjQtMS4xMi0uMzQ2LTEuODMtMS41NzdsLS4wOTQtLjE2M3EtLjQ3Ny0uODI1LS41MzMtMS42NC0uMDY0LS44My4yODgtMS41MDIuMzU3LS42OTQgMS4wMDctMS4wNjkgMS4wNjktLjYxNyAyLjA3LS4yNTcgMS4wMDIuMzYgMS43NiAxLjY3MmwuMjI3LjM5My0zLjcyMiAyLjE0OHEuNDk2Ljc5NyAxLjIzMiAxLjA0Ljc0OS4yMzUgMS40NTMtLjE3Mi40ODctLjI4MS43MDgtLjY4LjIzNS0uNDA1LjMxLS45bC44MjYuMTE4cS0uMDczIDEuNDY4LTEuNDUzIDIuMjY1em0tMi45NjYtNC44NTVxLS41NjguMzI4LS43MTguOTc0LS4xNDUuNjI0LjIwNCAxLjQxNmwyLjc0Ny0xLjU4Ni0uMDQtLjA2OHEtLjQ1NC0uNjk0LTEuMDMyLS44ODMtLjU2NS0uMTk3LTEuMTYuMTQ3eiIvPjxwYXRoIGZpbGw9IiM0Mjg1ZjQiIGQ9Ik01MTEuNDUgNTcuNDE3YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYxMGExIDEgMCAwIDEtMSAxaC0xMGExIDEgMCAwIDEtMS0xeiIvPjxwYXRoIGZpbGw9IiM3NTc1NzUiIGQ9Ik01MzMuMjc4IDY1Ljk5NWg0Ljg5di45MjJoLTYuMjE4di0uODQ0bDQuNjg4LTYuNzY2aC00LjYxdi0uOTIyaDUuOTUzdi44MjlsLTQuNzAzIDYuNzh6bTExLjA2My01LjM5cTAgLjY0LS4zNDQgMS4xNC0uMzQ0LjUtLjkwNi43ODEuNjU2LjI4MSAxLjA0Ny44NDQuMzkuNTQ3LjM5IDEuMjUgMCAxLjA5NC0uNzUgMS43NjUtLjczNC42NTctMS45NTMuNjU3LTEuMjM0IDAtMS45ODQtLjY1Ny0uNzM1LS42NzEtLjczNS0xLjc2NSAwLS43MDMuMzc1LTEuMjUuMzc1LS41NjMgMS4wNDctLjg0NC0uNTYyLS4yODEtLjg5LS43ODEtLjMyOS0uNS0uMzI5LTEuMTQgMC0xLjA3OS42ODgtMS43MDQuNjg3LS42NCAxLjgyOC0uNjQgMS4xMjUgMCAxLjgxMy42NC43MDMuNjI1LjcwMyAxLjcwM3ptLS44OTEgMy45ODRxMC0uNzItLjQ1My0xLjE1Ny0uNDUzLS40NTMtMS4xODgtLjQ1My0uNzM0IDAtMS4xODcuNDUzLS40MzguNDM4LS40MzggMS4xNzIgMCAuNzE5LjQzOCAxLjE0LjQzNy40MDcgMS4yMDMuNDA3Ljc1IDAgMS4xODgtLjQyMi40MzctLjQyMi40MzctMS4xNHptLTEuNjI1LTUuNDM4cS0uNjQgMC0xLjA0Ny40MDYtLjM5LjM5LS4zOSAxLjA3OCAwIC42NDEuMzkgMS4wNDcuMzkuNDA3IDEuMDMxLjQwNy42NTcgMCAxLjA0Ny0uNDA3LjM5LS40MDYuMzktMS4wNDcgMC0uNjU2LS40MDUtMS4wNjItLjQwNy0uNDIyLTEuMDE2LS40MjJ6bTguOTA2IDQuOTA2aDEuMTg4di44NzVoLTEuMTg4djEuOTg1aC0xLjA3OHYtMS45ODVoLTMuODl2LS42NGwzLjgxMi01LjkwN2gxLjE1NnY1LjY3MnptLTMuNzM0IDBoMi42NTZWNTkuODdsLS4xNC4yMzQtMi41MTYgMy45NTN6bTExLjUxNi0uNzgxcTAgMS45MDYtLjY1NyAyLjg0NC0uNjQuOTIyLTIuMDMxLjkyMi0xLjM2IDAtMi4wMTYtLjkwNy0uNjU2LS45MDYtLjY4Ny0yLjcxOHYtMS40MzhxMC0xLjg5LjY0LTIuNzk3LjY1Ny0uOTIyIDIuMDQ3LS45MjIgMS4zNzUgMCAyLjAzMi44OTEuNjU2Ljg3NS42NzIgMi43MTl2MS40MDZ6bS0xLjA5NC0xLjQ4NHEwLTEuMzc1LS4zOS0yLS4zNzYtLjY0MS0xLjIyLS42NDEtLjgyOCAwLTEuMjE4LjY0LS4zNzUuNjI2LS4zNzUgMS45MjN2MS43MzRxMCAxLjM3NS4zOSAyLjA0Ny40MDcuNjU2IDEuMjE5LjY1Ni43OTcgMCAxLjE4OC0uNjI1LjM5LS42MjUuNDA2LTEuOTUzdi0xLjc4MXoiLz48cGF0aCBmaWxsPSIjZGI0NDM3IiBkPSJNNTExLjQ1IDgyLjQxN2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2MTBhMSAxIDAgMCAxLTEgMWgtMTBhMSAxIDAgMCAxLTEtMXoiLz48cGF0aCBmaWxsPSIjNzU3NTc1IiBkPSJNNTMzLjg4OCA4My4zODVsMi43OTYgNi45NTQgMi43ODItNi45NTRoMS40Njh2OC41MzJoLTEuMTI1di0zLjMyOGwuMTEtMy41NzktMi44MTMgNi45MDdoLS44NmwtMi43OTYtNi44OTEuMTEgMy41NjN2My4zMjhoLTEuMTI2di04LjUzMmgxLjQ1NHptMTIuMjk2IDguNTMycS0uMDkzLS4xODgtLjE1Ni0uNjcyLS43NS43OTctMS43OTcuNzk3LS45MzcgMC0xLjU0Ny0uNTMyLS41OTMtLjUzLS41OTMtMS4zNTkgMC0uOTg0Ljc1LTEuNTMxLjc1LS41NDcgMi4xMjUtLjU0N2gxLjA0N3YtLjVxMC0uNTYzLS4zNDQtLjg5LS4zMjgtLjM0NC0xLS4zNDQtLjU3OCAwLS45NjkuMjk2LS4zOS4yODItLjM5LjcwNGgtMS4wOTRxMC0uNDg1LjMyOC0uOTIyLjM0NC0uNDM4LjkyMi0uNjg4LjU3OC0uMjY1IDEuMjY1LS4yNjUgMS4xMSAwIDEuNzE5LjU0Ni42MjUuNTQ3LjY1NiAxLjV2Mi45MjJxMCAuODc1LjIxOSAxLjM5di4wOTVoLTEuMTR6bS0xLjc5Ni0uODI4cS41MTUgMCAuOTY4LS4yNjYuNDUzLS4yNjYuNjU3LS42ODhWODguODRoLS44NDRxLTIgMC0yIDEuMTcxIDAgLjUuMzQ0Ljc5Ny4zNDMuMjgyLjg3NS4yODJ6bTcuNDIxLjA2MnEuNTc5IDAgMS4wMTYtLjM0NC40MzgtLjM2LjQ4NC0uODloMS4wMzJxLS4wMzIuNTQ3LS4zOTEgMS4wNDctLjM0NC40ODQtLjkyMi43OC0uNTYyLjI5OC0xLjIxOS4yOTgtMS4yOTYgMC0yLjA2Mi0uODYtLjc1LS44NzUtLjc1LTIuMzc1di0uMTg3cTAtLjkyMi4zMjgtMS42NC4zNDQtLjcyLjk2OS0xLjExLjY0LS40MDYgMS41MTUtLjQwNiAxLjA2MyAwIDEuNzY2LjY0LjcxOS42MjUuNzY2IDEuNjU2aC0xLjAzMnEtLjA0Ni0uNjI1LS40NjgtMS4wMTUtLjQyMi0uMzktMS4wMzItLjM5LS44MjggMC0xLjI4LjU5My0uNDU0LjU5NC0uNDU0IDEuNzE5di4yMDNxMCAxLjA5NC40NTMgMS42ODcuNDUzLjU5NCAxLjI4MS41OTR6bTMuNjI1Ljc2NnYtOC41MzJoMi43OTdxMS4zOSAwIDIuMDc4LjU3OS43MDQuNTYyLjcwNCAxLjY4NyAwIC42MS0uMzQ0IDEuMDc4LS4zMjguNDUzLS45MjIuNzAzLjcwMy4xODggMS4wOTQuNzM1LjQwNi41My40MDYgMS4yOCAwIDEuMTU3LS43NSAxLjgxMy0uNzM0LjY1Ny0yLjA5NC42NTdoLTIuOTY5em0xLjEyNS0zLjk4NXYzLjA2M2gxLjg2cS43OTcgMCAxLjI1LS40MDYuNDUzLS40MDcuNDUzLTEuMTI1IDAtMS41MzItMS42ODgtMS41MzJoLTEuODc1em0wLS45MDZoMS43MDRxLjczNCAwIDEuMTcxLS4zNi40NTQtLjM3NC40NTQtMS4wMTUgMC0uNzAzLS40MDctMS4wMTYtLjQwNi0uMzI4LTEuMjUtLjMyOGgtMS42NzJ2Mi43MTl6bTUuNDIyIDEuNjU2cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNiAxLjQ4NS0uNDA2IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5LjgxMyAyLjM5di4wNzlxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE1IDEuMTU2LS42NTcuNDA3LTEuNTE2LjQwNy0xLjI4MSAwLTIuMDk0LS44OTEtLjc5Ny0uOTA2LS43OTctMi4zOXYtLjA3OXptMS4wOTQuMTRxMCAxLjA0OC40ODQgMS42ODguNS42NDEgMS4zMTMuNjQxLjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ny40ODUtMS44MjkgMC0xLjAzMS0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjYtLjQ4NCAxLjgyOXptNS45MDYtLjE0cTAtLjkyMi4zNi0xLjY3Mi4zNzUtLjc1IDEuMDMtMS4xNC42NTctLjQwNiAxLjQ4NS0uNDA2IDEuMjk3IDAgMi4wOTQuODkuODEzLjg5LjgxMyAyLjM5di4wNzlxMCAuOTIyLS4zNiAxLjY1Ni0uMzYuNzM1LTEuMDE1IDEuMTU2LS42NTcuNDA3LTEuNTE2LjQwNy0xLjI4MSAwLTIuMDk0LS44OTEtLjc5Ny0uOTA2LS43OTctMi4zOXYtLjA3OXptMS4wOTQuMTRxMCAxLjA0OC40ODQgMS42ODguNS42NDEgMS4zMTMuNjQxLjgyOCAwIDEuMzEyLS42NC40ODUtLjY1Ny40ODUtMS44MjkgMC0xLjAzMS0uNS0xLjY3Mi0uNDg1LS42NTYtMS4zMTMtLjY1Ni0uNzk3IDAtMS4yOTcuNjQtLjQ4NC42MjYtLjQ4NCAxLjgyOXptNy45NjkuMTU3bC0uNjg4LjcwM3YyLjIzNWgtMS4wNzh2LTloMS4wNzh2NS40MzdsLjU3OC0uNjg3IDEuOTg1LTIuMDk0aDEuMzEybC0yLjQ2OCAyLjY1NiAyLjc2NSAzLjY4OGgtMS4yODFsLTIuMjAzLTIuOTM4ek0xNDUuMDMxIDM2LjAxOWg2Ljc1djEuNTMxaC04LjYyNVYyMy4zMzFoMS44NzVWMzYuMDJ6bTEwLjc5NyAxLjUzMWgtMS43OTdWMjYuOTg4aDEuNzk3VjM3LjU1em0tMS45NTMtMTMuMzc1cTAtLjQzOC4yNjYtLjczNC4yOC0uMzEzLjc5Ny0uMzEzLjUzIDAgLjc5Ni4zMTMuMjgyLjI5Ny4yODIuNzM0IDAgLjQzOC0uMjgyLjczNC0uMjY1LjI5Ny0uNzk3LjI5Ny0uNTE1IDAtLjc5Ni0uMjk3LS4yNjYtLjI5Ni0uMjY2LS43MzR6bTUuODc1IDEzLjM3NXYtOS4xNzJoLTEuNjU2di0xLjM5aDEuNjU2di0xLjA5NHEwLTEuNjg4LjkwNi0yLjYxLjkyMi0uOTM3IDIuNTc4LS45MzcuNjI1IDAgMS4yMzUuMTU2bC0uMDk0IDEuNDY5cS0uNDUzLS4wNzgtLjk2OS0uMDc4LS44OSAwLTEuMzc1LjUxNS0uNDY5LjUtLjQ2OSAxLjQ1NHYxLjEyNWgyLjI1djEuMzloLTIuMjV2OS4xNzJoLTEuODEyem04LjU2My0xMy4xMjV2Mi41NjNoMS45ODR2MS4zOWgtMS45ODR2Ni41NDdxMCAuNjQuMjY1Ljk2OS4yNjYuMzEyLjkwNi4zMTIuMzEzIDAgLjg2LS4xMjV2MS40NjlxLS43MTkuMjAzLTEuMzkuMjAzLTEuMjA0IDAtMS44MjktLjczNC0uNjEtLjczNS0uNjEtMi4wOTR2LTYuNTQ3aC0xLjkyMXYtMS4zOWgxLjkyMnYtMi41NjNoMS43OTd6bTQuMDc4IDcuNzVxMC0xLjU2Mi42MDktMi43OTcuNjEtMS4yNSAxLjY4OC0xLjkyMiAxLjA5My0uNjcyIDIuNS0uNjcyIDIuMTU2IDAgMy40ODQgMS41IDEuMzQ0IDEuNDg1IDEuMzQ0IDMuOTd2LjEyNHEwIDEuNTQ3LS41OTQgMi43ODEtLjU5NCAxLjIyLTEuNzAzIDEuOTA3LTEuMDk0LjY4Ny0yLjUxNi42ODctMi4xNCAwLTMuNDg0LTEuNS0xLjMyOC0xLjUtMS4zMjgtMy45NTN2LS4xMjV6bTEuODEyLjIwM3EwIDEuNzY2LjgxMyAyLjgyOC44MjggMS4wNjMgMi4xODcgMS4wNjMgMS4zNzUgMCAyLjE4OC0xLjA3OC44MTItMS4wNzkuODEyLTMuMDE2IDAtMS43NS0uODI4LTIuODI4LS44MjgtMS4wNzgtMi4xODgtMS4wNzgtMS4zNDMgMC0yLjE3MSAxLjA2Mi0uODEzIDEuMDYzLS44MTMgMy4wNDd6bTEwLjU0NyA1LjE3MnYtOS4xNzJoLTEuNjU2di0xLjM5aDEuNjU2di0xLjA5NHEwLTEuNjg4LjkwNi0yLjYxLjkyMi0uOTM3IDIuNTc4LS45MzcuNjI1IDAgMS4yMzUuMTU2bC0uMDk0IDEuNDY5cS0uNDUzLS4wNzgtLjk2OS0uMDc4LS44OSAwLTEuMzc1LjUxNS0uNDY5LjUtLjQ2OSAxLjQ1NHYxLjEyNWgyLjI1djEuMzloLTIuMjV2OS4xNzJoLTEuODEyem03IDB2LTkuMTcyaC0xLjY1NnYtMS4zOWgxLjY1NnYtMS4wOTRxMC0xLjY4OC45MDYtMi42MS45MjItLjkzNyAyLjU3OC0uOTM3LjYyNSAwIDEuMjM1LjE1NmwtLjA5NCAxLjQ2OXEtLjQ1My0uMDc4LS45NjktLjA3OC0uODkgMC0xLjM3NS41MTUtLjQ2OS41LS40NjkgMS40NTR2MS4xMjVoMi4yNXYxLjM5aC0yLjI1djkuMTcyaC0xLjgxMnptMTkuNDM4LTYuNTc4aC02LjE1N3Y1LjA0N2g3LjE1NnYxLjUzMWgtOS4wM1YyMy4zMzFoOC45Mzd2MS41NDdoLTcuMDYzdjQuNTYzaDYuMTU2djEuNTN6bTYuMjE4LS4xMjVsMi4zNDQtMy44NmgyLjExbC0zLjQ1NCA1LjIyIDMuNTYzIDUuMzQzaC0yLjA3OGwtMi40NTMtMy45NTNMMjE1IDM3LjU1aC0yLjA5NGwzLjU2My01LjM0NC0zLjQ1My01LjIxOWgyLjA3OGwyLjMxMiAzLjg2em0xMC44NDQgNi45MDZxLTIuMTQgMC0zLjUtMS40MDYtMS4zNDQtMS40MjItMS4zNDQtMy43ODF2LS4zNDRxMC0xLjU2My41OTQtMi43OTcuNjEtMS4yMzQgMS42ODgtMS45MzggMS4wNzgtLjcwMyAyLjM0My0uNzAzIDIuMDYzIDAgMy4yMDMgMS4zNiAxLjE0MSAxLjM2IDEuMTQxIDMuODl2Ljc1aC03LjE1NnEuMDMxIDEuNTYzLjkwNiAyLjUzMi44NzUuOTUzIDIuMjE5Ljk1My45NjkgMCAxLjYyNS0uMzkuNjcyLS4zOTIgMS4xNzItMS4wMzJsMS4wOTMuODZxLTEuMzI4IDIuMDQ2LTMuOTg0IDIuMDQ2em0tLjIxOS05LjQ4NHEtMS4wOTQgMC0xLjg0NC43OTctLjczNC43OTctLjkwNiAyLjIzNGg1LjI4MXYtLjE0cS0uMDc4LTEuMzc2LS43NS0yLjEyNi0uNjU2LS43NjUtMS43OC0uNzY1em0xMS4wNzggOHEuOTcgMCAxLjY4OC0uNTc4LjcxOS0uNTk0Ljc5Ny0xLjQ3aDEuNzE5cS0uMDYzLjkwNy0uNjQxIDEuNzM1LS41NjMuODEzLTEuNTMxIDEuMzEzLS45NTMuNDg0LTIuMDMyLjQ4NC0yLjE1NiAwLTMuNDM3LTEuNDM3LTEuMjY2LTEuNDU0LTEuMjY2LTMuOTU0di0uMjk2cTAtMS41NDcuNTYzLTIuNzUuNTYyLTEuMjAzIDEuNjI1LTEuODYgMS4wNjItLjY3MiAyLjUtLjY3MiAxLjc4MSAwIDIuOTUzIDEuMDYzIDEuMTg3IDEuMDYyIDEuMjY2IDIuNzY1aC0xLjcycS0uMDc3LTEuMDE1LS43OC0xLjY3MS0uNjg4LS42NzItMS43Mi0uNjcyLTEuMzc0IDAtMi4xNCAxLS43NS45ODQtLjc1IDIuODZ2LjM0M3EwIDEuODI4Ljc1IDIuODEyLjc1Ljk4NSAyLjE1Ni45ODV6bTEyLjI4Mi4yMzRxLTEuMDQ3IDEuMjUtMy4wOTQgMS4yNS0xLjY4OCAwLTIuNTc4LS45ODQtLjg3NS0uOTg1LS44OS0yLjkwN3YtNi44NzVoMS44MTJ2Ni44MjlxMCAyLjM5IDEuOTUzIDIuMzkgMi4wNjIgMCAyLjc1LTEuNTMxdi03LjY4N2gxLjgxMlYzNy41NWgtMS43MTlsLS4wNDYtMS4wNDd6bTYuOTIyLTEyLjA3OHYyLjU2M2gxLjk4NHYxLjM5aC0xLjk4NXY2LjU0N3EwIC42NC4yNjYuOTY5LjI2Ni4zMTIuOTA2LjMxMi4zMTMgMCAuODYtLjEyNXYxLjQ2OXEtLjcxOS4yMDMtMS4zOS4yMDMtMS4yMDQgMC0xLjgyOS0uNzM0LS42MS0uNzM1LS42MS0yLjA5NHYtNi41NDdoLTEuOTIxdi0xLjM5aDEuOTIydi0yLjU2M2gxLjc5NnptNi41MTUgMTMuMTI1aC0xLjc5N1YyNi45ODhoMS43OTdWMzcuNTV6bS0xLjk1My0xMy4zNzVxMC0uNDM4LjI2Ni0uNzM0LjI4LS4zMTMuNzk2LS4zMTMuNTMyIDAgLjc5Ny4zMTMuMjgyLjI5Ny4yODIuNzM0IDAgLjQzOC0uMjgyLjczNC0uMjY1LjI5Ny0uNzk2LjI5Ny0uNTE2IDAtLjc5Ny0uMjk3LS4yNjYtLjI5Ni0uMjY2LS43MzR6bTQuNTE2IDhxMC0xLjU2Mi42MDktMi43OTcuNjEtMS4yNSAxLjY4OC0xLjkyMiAxLjA5My0uNjcyIDIuNS0uNjcyIDIuMTU2IDAgMy40ODQgMS41IDEuMzQ0IDEuNDg1IDEuMzQ0IDMuOTd2LjEyNHEwIDEuNTQ3LS41OTQgMi43ODEtLjU5NCAxLjIyLTEuNzAzIDEuOTA3LTEuMDk0LjY4Ny0yLjUxNi42ODctMi4xNCAwLTMuNDg0LTEuNS0xLjMyOC0xLjUtMS4zMjgtMy45NTN2LS4xMjV6bTEuODEyLjIwM3EwIDEuNzY2LjgxMyAyLjgyOC44MjggMS4wNjMgMi4xODcgMS4wNjMgMS4zNzUgMCAyLjE4OC0xLjA3OC44MTItMS4wNzkuODEyLTMuMDE2IDAtMS43NS0uODI4LTIuODI4LS44MjgtMS4wNzgtMi4xODgtMS4wNzgtMS4zNDMgMC0yLjE3MSAxLjA2Mi0uODEzIDEuMDYzLS44MTMgMy4wNDd6bTExLjM3NS01LjM5bC4wNjMgMS4zMjhxMS4yMDMtMS41MzIgMy4xNTYtMS41MzIgMy4zNiAwIDMuMzc1IDMuNzgydjYuOTg0aC0xLjc5N3YtN3EtLjAxNi0xLjE0LS41MzEtMS42ODgtLjUtLjU0Ni0xLjU5NC0uNTQ2LS44NzUgMC0xLjU0Ny40NjgtLjY1Ni40Ny0xLjAzMSAxLjIzNXY3LjUzMWgtMS43OTdWMjYuOTg4aDEuNzAzem0yNC4zOS0yLjExaC00LjU2MlYzNy41NWgtMS44NlYyNC44NzhoLTQuNTYydi0xLjU0N2gxMC45ODV2MS41NDd6bTMuODYgMTIuNjcyaC0xLjc5N1YyNi45ODhoMS43OTdWMzcuNTV6bS0xLjk1My0xMy4zNzVxMC0uNDM4LjI2Ni0uNzM0LjI4LS4zMTMuNzk2LS4zMTMuNTMyIDAgLjc5Ny4zMTMuMjgyLjI5Ny4yODIuNzM0IDAgLjQzOC0uMjgyLjczNC0uMjY1LjI5Ny0uNzk2LjI5Ny0uNTE2IDAtLjc5Ny0uMjk3LS4yNjYtLjI5Ni0uMjY2LS43MzR6bTYuNjg4IDIuODEzbC4wNDYgMS4xNzFxMS4xNzItMS4zNzUgMy4xNDEtMS4zNzUgMi4yMTkgMCAzLjAxNiAxLjcwNC41My0uNzY2IDEuMzc1LTEuMjM1Ljg0My0uNDY5IDItLjQ2OSAzLjQ2OCAwIDMuNTMgMy42ODh2Ny4wNzhoLTEuODEydi02Ljk2OXEwLTEuMTQtLjUxNS0xLjcwMy0uNTE2LS41NjItMS43MzUtLjU2Mi0xIDAtMS42NzEuNjA5LS42NTcuNTk0LS43NjYgMS42MXY3LjAxNWgtMS44MTN2LTYuOTIycTAtMi4zMTItMi4yNjUtMi4zMTItMS43ODEgMC0yLjQyMiAxLjUxNXY3LjcxOWgtMS44MTNWMjYuOTg4aDEuNzA0em0yMC42ODcgMTAuNzY1cS0yLjE0IDAtMy41LTEuNDA2LTEuMzQ0LTEuNDIyLTEuMzQ0LTMuNzgxdi0uMzQ0cTAtMS41NjMuNTk0LTIuNzk3LjYxLTEuMjM0IDEuNjg4LTEuOTM4IDEuMDc4LS43MDMgMi4zNDMtLjcwMyAyLjA2MyAwIDMuMjAzIDEuMzYgMS4xNDEgMS4zNiAxLjE0MSAzLjg5di43NWgtNy4xNTZxLjAzMSAxLjU2My45MDYgMi41MzIuODc1Ljk1MyAyLjIxOS45NTMuOTY5IDAgMS42MjUtLjM5LjY3Mi0uMzkyIDEuMTcyLTEuMDMybDEuMDkzLjg2cS0xLjMyOCAyLjA0Ni0zLjk4NCAyLjA0NnptLS4yMTktOS40ODRxLTEuMDk0IDAtMS44NDQuNzk3LS43MzQuNzk3LS45MDYgMi4yMzRoNS4yODF2LS4xNHEtLjA3OC0xLjM3Ni0uNzUtMi4xMjYtLjY1Ni0uNzY1LTEuNzgtLjc2NXptMTEuMzYgMy45MDZxMC0xLjU2Mi42MDktMi43OTcuNjEtMS4yNSAxLjY4OC0xLjkyMiAxLjA5My0uNjcyIDIuNS0uNjcyIDIuMTU2IDAgMy40ODQgMS41IDEuMzQ0IDEuNDg1IDEuMzQ0IDMuOTd2LjEyNHEwIDEuNTQ3LS41OTQgMi43ODEtLjU5NCAxLjIyLTEuNzAzIDEuOTA3LTEuMDk0LjY4Ny0yLjUxNi42ODctMi4xNCAwLTMuNDg0LTEuNS0xLjMyOC0xLjUtMS4zMjgtMy45NTN2LS4xMjV6bTEuODEyLjIwM3EwIDEuNzY2LjgxMyAyLjgyOC44MjggMS4wNjMgMi4xODcgMS4wNjMgMS4zNzUgMCAyLjE4OC0xLjA3OC44MTItMS4wNzkuODEyLTMuMDE2IDAtMS43NS0uODI4LTIuODI4LS44MjgtMS4wNzgtMi4xODgtMS4wNzgtMS4zNDMgMC0yLjE3MSAxLjA2Mi0uODEzIDEuMDYzLS44MTMgMy4wNDd6bTExLjM3NS01LjM5bC4wNjMgMS4zMjhxMS4yMDMtMS41MzIgMy4xNTYtMS41MzIgMy4zNiAwIDMuMzc1IDMuNzgydjYuOTg0aC0xLjc5N3YtN3EtLjAxNi0xLjE0LS41MzEtMS42ODgtLjUtLjU0Ni0xLjU5NC0uNTQ2LS44NzUgMC0xLjU0Ny40NjgtLjY1Ni40Ny0xLjAzMSAxLjIzNXY3LjUzMWgtMS43OTdWMjYuOTg4aDEuNzAzem0xNi40NTMgNXY1LjU2MmgtMS44NzVWMjMuMzMxaDUuMjM1cTIuMzQzIDAgMy42NTYgMS4xODggMS4zMjggMS4xODcgMS4zMjggMy4xNTYgMCAyLjA3OC0xLjI5NyAzLjIwMy0xLjI5NyAxLjExLTMuNzAzIDEuMTFoLTMuMzQ0em0wLTEuNTMyaDMuMzZxMS41MTUgMCAyLjMxMi0uNzAzLjc5Ny0uNzE5Ljc5Ny0yLjA2MiAwLTEuMjY2LS43OTctMi4wMTYtLjc5Ny0uNzY2LTIuMjAzLS43OTdoLTMuNDY5djUuNTc4em0xNS4zMTMuNzVxLTIuNDIyLS42ODctMy41MTYtMS42ODctMS4wOTQtMS4wMTYtMS4wOTQtMi41IDAtMS42ODggMS4zNDQtMi43ODEgMS4zNDQtMS4xMSAzLjQ4NS0xLjExIDEuNDY4IDAgMi42MDkuNTc4IDEuMTU2LjU2MyAxLjc4MSAxLjU2My42MjUuOTg0LjYyNSAyLjE3MmgtMS44NzVxMC0xLjI4Mi0uODI4LTIuMDE2LS44MTMtLjc1LTIuMzEzLS43NS0xLjM5IDAtMi4xNzEuNjEtLjc2Ni42MDktLjc2NiAxLjcwMyAwIC44NTkuNzM0IDEuNDY4LjczNS41OTQgMi41IDEuMDk0IDEuNzgyLjUgMi43ODIgMS4xMSAxIC41OTMgMS40ODQgMS4zOS40ODQuNzk3LjQ4NCAxLjg5IDAgMS43Mi0xLjM0MyAyLjc2Ni0xLjM0NCAxLjA0Ny0zLjYxIDEuMDQ3LTEuNDUzIDAtMi43MzQtLjU2Mi0xLjI2Ni0uNTYzLTEuOTUzLTEuNTMyLS42ODgtLjk4NC0uNjg4LTIuMjM0aDEuODlxMCAxLjI5Ny45NTQgMi4wNDcuOTUzLjczNCAyLjUzMS43MzQgMS40ODUgMCAyLjI4MS0uNTk0Ljc5Ny0uNjA5Ljc5Ny0xLjY1NnQtLjczNC0xLjYxcS0uNzM0LS41NzctMi42NTYtMS4xNHptOS42ODcuNzgydjUuNTYyaC0xLjg3NVYyMy4zMzFoNS4yMzVxMi4zNDMgMCAzLjY1NiAxLjE4OCAxLjMyOCAxLjE4NyAxLjMyOCAzLjE1NiAwIDIuMDc4LTEuMjk3IDMuMjAzLTEuMjk3IDEuMTEtMy43MDMgMS4xMWgtMy4zNDR6bTAtMS41MzJoMy4zNnExLjUxNSAwIDIuMzEyLS43MDMuNzk3LS43MTkuNzk3LTIuMDYyIDAtMS4yNjYtLjc5Ny0yLjAxNi0uNzk3LS43NjYtMi4yMDMtLjc5N2gtMy40Njl2NS41Nzh6bTExLjEyNSA3LjA5NFYyMy4zMzFoNC4wMTZxMS44NDQgMCAzLjI2NS44MjggMS40MzguODEzIDIuMjA0IDIuMzI5Ljc4IDEuNTE1Ljc5NiAzLjQ2OHYuOTA3cTAgMi4wMTUtLjc4IDMuNTMtLjc4MiAxLjUxNi0yLjIyIDIuMzI5LTEuNDM3LjgxMi0zLjM0My44MjhoLTMuOTM4em0xLjg3NS0xMi42NzJ2MTEuMTRINDE1cTIuMTcyIDAgMy4zNzUtMS4zNDMgMS4yMDMtMS4zNiAxLjIwMy0zLjg0NHYtLjgyOHEwLTIuNDIyLTEuMTQtMy43NjUtMS4xNDEtMS4zNDQtMy4yMi0xLjM2aC0yLjE4N3pNNDMyIDMxLjI2OGgtNS45Njl2Ni4yODJoLTEuODc1VjIzLjMzMWg4Ljc5N3YxLjU0N2gtNi45MjJ2NC44Nkg0MzJ2MS41M3ptNi43NjYtLjMyN2wtMS43MzUgMS43OTZ2NC44MTNoLTEuODc1VjIzLjMzMWgxLjg3NXY3LjAzMmw2LjMxMy03LjAzMmgyLjI2NWwtNS41OTMgNi4yODIgNi4wMyA3LjkzN2gtMi4yNWwtNS4wMy02LjYxem0xMS4wNjIgNi42MDloLTEuNzk3VjI2Ljk4OGgxLjc5N1YzNy41NXptLTEuOTUzLTEzLjM3NXEwLS40MzguMjY2LS43MzQuMjgtLjMxMy43OTYtLjMxMy41MzIgMCAuNzk3LjMxMy4yODIuMjk3LjI4Mi43MzQgMCAuNDM4LS4yODIuNzM0LS4yNjUuMjk3LS43OTYuMjk3LS41MTYgMC0uNzk3LS4yOTctLjI2Ni0uMjk2LS4yNjYtLjczNHptNy40MzguMjV2Mi41NjNoMS45ODR2MS4zOWgtMS45ODV2Ni41NDdxMCAuNjQuMjY2Ljk2OS4yNjYuMzEyLjkwNi4zMTIuMzEzIDAgLjg2LS4xMjV2MS40NjlxLS43MTkuMjAzLTEuMzkuMjAzLTEuMjA0IDAtMS44MjktLjczNC0uNjEtLjczNS0uNjEtMi4wOTR2LTYuNTQ3aC0xLjkyMXYtMS4zOWgxLjkyMnYtMi41NjNoMS43OTZ6Ii8+PC9zdmc+" alt="Liftoff Performance on PSPDFKit"></p>
<p>On the PSPDFKit benchmark, Liftoff code executes 18-54% slower than optimized code, while initialization improves significantly, as expected. These numbers show that for real-world code which also interacts with the browser via JavaScript calls, the performance loss of unoptimized code is generally lower than on more computation-intensive benchmarks.</p>
<p>And again, note that for these numbers we turned off tier-up completely, so we only ever executed Liftoff code. In production configurations, Liftoff code will gradually be replaced by TurboFan code, such that the lower performance of Liftoff code lasts only for short period of time.</p>
<h2>Future work</h2>
<p>After the initial launch of Liftoff, we are working to further improve startup time, reduce memory usage, and bring the benefits of Liftoff to more users. In particular, we are working on improving the following things:</p>
<ol>
<li><strong>Port Liftoff to arm and arm64 to also use it on mobile devices.</strong>
Currently, Liftoff is only implemented for Intel platforms (32 and 64 bit), which mostly captures desktop use cases. In order to also reach mobile users, we will port Liftoff to more architectures.</li>
<li><strong>Implement dynamic tier-up for mobile devices.</strong>
Since mobile devices tend to have much less memory available than desktop systems, we need to adapt our tiering strategy for these devices. Just recompiling all functions with TurboFan easily doubles the memory needed to hold all code, at least temporarily (until Liftoff code is discarded). Instead, we are experimenting with a combination of lazy compilation with Liftoff and dynamic tier-up of hot functions in TurboFan.</li>
<li><strong>Improve performance of Liftoff code generation.</strong>
The first iteration of an implementation is rarely the best one. There are several things which can be tuned to speed up the compilation speed of Liftoff even more. This will gradually happen over the next releases.</li>
<li><strong>Improve performance of Liftoff code.</strong>
Apart from the compiler itself, the size and speed of the generated code can also be improved. This will also happen gradually over the next releases.</li>
</ol>
<h2>Conclusion</h2>
<p>V8 now contains Liftoff, a new baseline compiler for WebAssembly. Liftoff vastly reduces start-up time of WebAssembly applications with a simple and fast code generator. On desktop systems, V8 still reaches maximum peak performance by recompiling all code in the background using TurboFan. Liftoff is enabled by default in V8 v6.9 (Chrome 69), and can be controlled explicitly with the <code>--liftoff</code>/<code>--no-liftoff</code> and <code>chrome://flags/#enable-webassembly-baseline</code> flags in each, respectively.</p>
<p><em>Posted by Clemens Hammacher, WebAssembly compilation maestro</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-70829958210748005552018-08-14T08:00:00.001-07:002018-08-14T08:00:25.729-07:00Embedded builtins<p>V8 built-in functions (builtins) consume memory in every instance of V8. The builtin count, average size, and the number of V8 instances per Chrome browser tab have been growing significantly. This blog post describes how we reduced the median V8 heap size per website by 19% over the past year.</p>
<h2>Background</h2>
<p>V8 ships with an extensive library of JavaScript (JS) <a href="https://github.com/v8/v8/wiki/Built-in-functions">built-in functions</a>. Many builtins are directly exposed to JS developers as functions installed on JS built-in objects, such as <code>RegExp.prototype.exec</code> and <code>Array.prototype.sort</code>; other builtins implement various internal functionality. Machine code for builtins is generated by V8’s own compiler, and is loaded onto the managed heap state for every V8 Isolate upon initialization. An Isolate represents an isolated instance of the V8 engine, and every browser tab in Chrome contains at least one Isolate. Every Isolate has its own managed heap, and thus its own copy of all builtins.</p>
<p>Back in 2015, builtins were mostly implemented in self-hosted JS, native assembly, or in C++. They were fairly small, and creating a copy for every Isolate was less problematic.</p>
<p>Much has changed in this space over the last years.</p>
<p>In 2016, V8 <a href="https://v8project.blogspot.com/2017/01/speeding-up-v8-regular-expressions.html">began</a> experimenting with builtins implemented in <a href="https://v8project.blogspot.com/2017/11/csa.html">CodeStubAssembler</a> (CSA). This turned out to both be convenient (platform-independent, readable) and to produce efficient code, so CSA builtins became ubiquitous. For a variety of reasons, CSA builtins tend to produce larger code, and the size of V8 builtins roughly tripled as more and more were ported to CSA. By mid-2017, their per-Isolate overhead had grown significantly and we started thinking about a systematic solution.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB7bvJZIlfBUu9_xECcO7VHAJLhxPHQI-hFpratHjpJ9s9Vzdb4ulnmcALkLeN0R4eIZ3CT6J-WupIYTgeP8KzGQHdCCx1vHe8IyZl7Lo9AsyatNT0kD90XBf59Zs3REvQLZq2PgTARhdE/s1600/snapshot-size.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="250" data-original-width="904" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB7bvJZIlfBUu9_xECcO7VHAJLhxPHQI-hFpratHjpJ9s9Vzdb4ulnmcALkLeN0R4eIZ3CT6J-WupIYTgeP8KzGQHdCCx1vHe8IyZl7Lo9AsyatNT0kD90XBf59Zs3REvQLZq2PgTARhdE/s640/snapshot-size.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">V8 snapshot size (including builtins) from 2015 until 2017</td></tr></tbody></table>
<p>In late 2017, we implemented <a href="https://v8project.blogspot.com/2018/02/lazy-deserialization.html">lazy builtin (and bytecode handler) deserialization</a> as a first step. Our initial analysis showed that most sites used less than half of all builtins. With lazy deserialization, builtins are loaded on-demand, and unused builtins are never loaded into the Isolate. Lazy deserialization was shipped in Chrome 64 with promising memory savings. But: builtin memory overhead was still linear in the number of Isolates.</p>
<p>Then, <a href="https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html">Spectre</a> was disclosed, and Chrome ultimately turned on <a href="https://security.googleblog.com/2018/07/mitigating-spectre-with-site-isolation.html">site isolation</a> to mitigate its effects. Site isolation limits a Chrome renderer process to documents from a single origin. Thus, with site isolation, many browsing tabs create more renderer processes and more V8 Isolates. Even though managing per-Isolate overhead has always been important, site isolation has made it even more so.</p>
<h2>Embedded builtins</h2>
<p>Our goal for this project was to completely eliminate per-Isolate builtin overhead.</p>
<p>The idea behind it was simple. Conceptually, builtins are identical across Isolates, and are only bound to an Isolate because of implementation details. If we could make builtins truly isolate-independent, we could keep a single copy in memory and share them across all Isolates. And if we could make them process-independent, they could even be shared across processes.</p>
<p>In practice, we faced several challenges. Generated builtin code was neither isolate- nor process-independent due to embedded pointers to isolate- and process-specific data. V8 had no concept of executing generated code located outside the managed heap. Builtins had to be shared across processes, ideally by reusing existing OS mechanisms. And finally (this turned out to be the long tail), performance must not noticeably regress.</p>
<p>The following sections describe our solution in detail.</p>
<h3>Isolate- and process-independent code</h3>
<p>Builtins are generated by V8’s compiler internal pipeline, which embeds references to heap constants (located on the Isolate’s managed heap), call targets (<code>Code</code> objects, also on the managed heap), and to isolate- and process-specific addresses (e.g.: C runtime functions or a pointer to the Isolate itself, also called ’external references’) directly into the code. In x64 assembly, a load of such an object could look as follows:</p>
<pre><code class="nohighlight">// Load an embedded address into register rbx.
REX.W movq rbx,0x56526afd0f70</code></pre>
<p>V8 has a moving garbage collector, and the location of the target object could change over time. Should the target be moved during collection, the GC updates the generated code to point at the new location.</p>
<p>On x64 (and most other architectures), calls to other <code>Code</code> objects use an efficient call instruction which specifies the call target by an offset from the current program counter (an interesting detail: V8 reserves its entire <code>CODE_SPACE</code> on the managed heap at startup to ensure all possible Code objects remain within an addressable offset of each other). The relevant part of the calling sequence looks like this:</p>
<pre><code class="nohighlight">// Call instruction located at [pc + <offset>].
call <offset></code></pre>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH1hHIG96bIF83zxcc6Ee0hvSRvPvrfiI5HcHueterwtJhhIUEr701AyxuqDZlhJutdtuuUCK-znsivyeiisJXsTYrOJH91KoYYkUQix1qwZuBOf-186owO5AzIlr2ME75KS4yqH_qA37P/s1600/pc-relative-call.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="458" data-original-width="487" height="601" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH1hHIG96bIF83zxcc6Ee0hvSRvPvrfiI5HcHueterwtJhhIUEr701AyxuqDZlhJutdtuuUCK-znsivyeiisJXsTYrOJH91KoYYkUQix1qwZuBOf-186owO5AzIlr2ME75KS4yqH_qA37P/s640/pc-relative-call.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">A pc-relative call</td></tr></tbody></table>
<p>Code objects themselves live on the managed heap and are movable. When they are moved, the GC updates the offset at all relevant call sites.</p>
<p>In order to share builtins across processes, generated code must be immutable as well as isolate- and process-independent. Both instruction sequences above do not fulfill that requirement: they directly embed addresses in the code, and are patched at runtime by the GC.</p>
<p>To address both issues, we introduced an indirection through a dedicated, so-called root register, which holds a pointer into a known location within the current Isolate.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8FTzUodkfq0WOMs38hOMrKclvBfOWBgpLmdMsdhxkHAqFBZYgcfJYREUCD61seDXhy-8qXWg2e6S3pvw6-cNTNJepJlxQANBIC_DBCiNpFAhWYXAxRVY5kPjpdlT7m-LNoqzGbfJvskOI/s1600/isolate-layout.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="412" data-original-width="727" height="361" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8FTzUodkfq0WOMs38hOMrKclvBfOWBgpLmdMsdhxkHAqFBZYgcfJYREUCD61seDXhy-8qXWg2e6S3pvw6-cNTNJepJlxQANBIC_DBCiNpFAhWYXAxRVY5kPjpdlT7m-LNoqzGbfJvskOI/s640/isolate-layout.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Isolate layout</td></tr></tbody></table>
<p>V8’s Isolate class contains the roots table, which itself contains pointers to root objects on the managed heap. The root register permanently holds the address of the roots table.</p>
<p>The new, isolate- and process-independent way to load a root object thus becomes:</p>
<pre><code class="nohighlight">// Load the constant address located at the given
// offset from roots.
REX.W movq rax,[kRootRegister + <offset>]</code></pre>
<p>Root heap constants can be loaded directly from the roots list as above. Other heap constants use an additional indirection through a global builtins constant pool, itself stored on the roots list:</p>
<pre><code class="nohighlight">// Load the builtins constant pool, then the
// desired constant.
REX.W movq rax,[kRootRegister + <offset>]
REX.W movq rax,[rax + 0x1d7]</code></pre>
<p>For <code>Code</code> targets, we initially switched to a more involved calling sequence which loads the target <code>Code</code> object from the global builtins constant pool as above, loads the target address into a register, and finally performs an indirect call.</p>
<p>With these changes, generated code became isolate- and process-independent and we could begin working on sharing it between processes.</p>
<h2>Sharing across processes</h2>
<p>We initially evaluated two alternatives. Builtins could either be shared by <code>mmap</code>-ing a data blob file into memory; or, they could be embedded directly into the binary. We took the latter approach since it had the advantage that we would automatically reuse standard OS mechanisms to share memory across processes, and the change would not require additional logic by V8 embedders such as Chrome. We were confident in this approach since <a href="https://www.youtube.com/watch?v=lqE4u8s8Iik">Dart’s AOT compilation</a> had already successfully binary-embedded generated code.</p>
<p>An executable binary file is split into several sections. For example, an ELF binary contains data in the <code>.data</code> (initialized data), <code>.ro_data</code> (initialized read-only data), and <code>.bss</code> (uninitialized data) sections, while native executable code is placed in <code>.text</code>. Our goal was to pack the builtins code into the <code>.text</code> section alongside native code.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVoYA57nNsE-hx12bRRCUImjqR0uR1MpflxBRLdVe_jPsK19AGWOo7RP09HSZksi_vhb7Jh0JdIpd6jQEZ2tVBTXzKukcLNtwNqj69J7XoM2FXujGo2ORJz6CK0HwnKFxDMnCrpYgXVrY/s1600/binary-format.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="466" data-original-width="637" height="465" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVoYA57nNsE-hx12bRRCUImjqR0uR1MpflxBRLdVe_jPsK19AGWOo7RP09HSZksi_vhb7Jh0JdIpd6jQEZ2tVBTXzKukcLNtwNqj69J7XoM2FXujGo2ORJz6CK0HwnKFxDMnCrpYgXVrY/s640/binary-format.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Sections of an executable binary file</td></tr></tbody></table>
<p>This was done by introducing a new build step that used V8’s internal compiler pipeline to generate native code for all builtins and output their contents in <code>embedded.cc</code>. This file is then compiled into the final V8 binary.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYVLvIWEapDI8uVv8zEOE37hv8ziWq_LWM3JsouGNcgcF451GQW6JySqdNB3DJny05ZaHMgtFYjz23Hcpmqk6gUAsubtClpDtmfaLmMEwaDuvPnkXweoar_GOiCFHN_5qL4u7-euB2qB6M/s1600/build-process.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="202" data-original-width="892" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYVLvIWEapDI8uVv8zEOE37hv8ziWq_LWM3JsouGNcgcF451GQW6JySqdNB3DJny05ZaHMgtFYjz23Hcpmqk6gUAsubtClpDtmfaLmMEwaDuvPnkXweoar_GOiCFHN_5qL4u7-euB2qB6M/s640/build-process.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">The (simplified) V8 embedded build process</td></tr></tbody></table>
<p>The <code>embedded.cc</code> file itself contains both metadata and generated builtins machine code as a series of <code>.byte</code> directives that instruct the C++ compiler (in our case, clang or gcc) to place the specified byte sequence directly into the output object file (and later the executable).</p>
<pre><code class="nohighlight">// Information about embedded builtins are included in
// a metadata table.
V8_EMBEDDED_TEXT_HEADER(v8_Default_embedded_blob_)
__asm__(".byte 0x65,0x6d,0xcd,0x37,0xa8,0x1b,0x25,0x7e\n"
[snip metadata]
// Followed by the generated machine code.
__asm__(V8_ASM_LABEL("Builtins_RecordWrite"));
__asm__(".byte 0x55,0x48,0x89,0xe5,0x6a,0x18,0x48,0x83\n"
[snip builtins code]</code></pre>
<p>Contents of the <code>.text</code> section are mapped into read-only executable memory at runtime, and the operating system will share memory across processes as long as it contains only position-independent code without relocatable symbols. This is exactly what we wanted.</p>
<p>But V8’s <code>Code</code> objects consist not only of the instruction stream, but also have various pieces of (sometimes isolate-dependent) metadata. Normal run-of-the-mill <code>Code</code> objects pack both metadata and the instruction stream into a variable-sized <code>Code</code> object that is located on the managed heap.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGE0g5NE7scoZI9ipM1TLTGYongHhGn0XLcSE-bLHabtB_VTUj2EKTj5eLNNxaDLFWpE8S4H51jxzritzdoPE5Zo36UFUS4OWkDZGS8HOFZUeAK5L6XYyhEzCRKED-p_sBJLWYHxJqDf0J/s1600/code-on-heap.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="592" data-original-width="787" height="481" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGE0g5NE7scoZI9ipM1TLTGYongHhGn0XLcSE-bLHabtB_VTUj2EKTj5eLNNxaDLFWpE8S4H51jxzritzdoPE5Zo36UFUS4OWkDZGS8HOFZUeAK5L6XYyhEzCRKED-p_sBJLWYHxJqDf0J/s640/code-on-heap.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">On-heap <code>Code</code> object layout</td></tr></tbody></table>
<p>As we’ve seen, embedded builtins have their native instruction stream located outside the managed heap, embedded into the <code>.text</code> section. To preserve their metadata, each embedded builtin also has a small associated <code>Code</code> object on the managed heap, called the <em>off-heap trampoline</em>. Metadata is stored on the trampoline as for standard <code>Code</code> objects, while the inlined instruction stream simply contains a short sequence which loads the address of the embedded instructions and jumps there.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOoJKdB_87vOOl-zbtz4kPUO8u47WU-gpZTDDU2Nbfg8goDT7UiLWMv2ykUW2jyel2fl3JbWpoYwUN-ScrJdxDnGWnEk2SsaUwUbXDd-TRkZpQ-zwLVb1qj2nn4YtIb1JJ9BSXVzu7Wj3D/s1600/code-off-heap.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="502" data-original-width="892" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOoJKdB_87vOOl-zbtz4kPUO8u47WU-gpZTDDU2Nbfg8goDT7UiLWMv2ykUW2jyel2fl3JbWpoYwUN-ScrJdxDnGWnEk2SsaUwUbXDd-TRkZpQ-zwLVb1qj2nn4YtIb1JJ9BSXVzu7Wj3D/s640/code-off-heap.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Off-heap <code>Code</code> object layout</td></tr></tbody></table>
<p>The trampoline allows V8 to handle all <code>Code</code> objects uniformly. For most purposes, it is irrelevant whether the given <code>Code</code> object refers to standard code on the managed heap or to an embedded builtin.</p>
<h3>Optimizing for performance</h3>
<p>With the solution described in previous sections, embedded builtins were essentially feature-complete, but benchmarks showed that they came with significant slowdowns. For instance, our initial solution regressed <a href="https://v8project.blogspot.com/2018/01/speedometer-2.html">Speedometer 2.0</a> by more than 5% overall.</p>
<p>We began to hunt for optimization opportunities, and identified major sources of slowdowns. The generated code was slower due to frequent indirections taken to access isolate- and process-dependent objects. Root constants were loaded from the root list (1 indirection), other heap constants from the global builtins constant pool (2 indirections), and external references additionally had to be unpacked from within a heap object (3 indirections). The worst offender was our new calling sequence, which had to load the trampoline Code object, call it, only to then jump to the target address. Finally, it appears that calls between the managed heap and binary-embedded code were inherently slower, possibly due to the long jump distance interfering with the CPU’s branch prediction.</p>
<p>Our work thus concentrated on 1. reducing indirections, and 2. improving the builtin calling sequence. To address the former, we altered the Isolate object layout to turn most object loads into a single root-relative load. The global builtins constant pool still exists, but only contains infrequently-accessed objects.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOzeVFjl28rJh2C9gcUCQmeAhsyeOxIDc33COzIMmjNeT3Mk58A7n2mFhLah4DQ1GpiGqs6bb17vMIvEiFDFgQ_kpTsKRzkCrKMhyie8tKcmsMDOPSK_WEZvP2yYlUSvB0WTMciXq_vI-g/s1600/isolate-layout-optimized.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="502" data-original-width="487" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOzeVFjl28rJh2C9gcUCQmeAhsyeOxIDc33COzIMmjNeT3Mk58A7n2mFhLah4DQ1GpiGqs6bb17vMIvEiFDFgQ_kpTsKRzkCrKMhyie8tKcmsMDOPSK_WEZvP2yYlUSvB0WTMciXq_vI-g/s640/isolate-layout-optimized.png" width="619" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Optimized Isolate layout</td></tr></tbody></table>
<p>Calling sequences were significantly improved on two fronts. Builtin-to-builtin calls were converted into a single pc-relative call instruction. This was not possible for runtime-generated JIT code since the pc-relative offset could exceed the maximal 32-bit value. There, we inlined the off-heap trampoline into all call sites, reducing the calling sequence from 6 to just 2 instructions.</p>
<p>With these optimizations, we were able to limit regressions on Speedometer 2.0 to roughly 0.5%.</p>
<h1>Results</h1>
<p>We evaluated the impact of embedded builtins on x64 over the top 10k most popular websites, and compared against both lazy- and eager deserialization (described above).</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpJB7s72e8LBYRPvrT6191No6fjKyszEU6NCxtDbSIycFA8zUyd3bQ28lUKq3XZ3ZW1ealANk-Xj0IgKDYiThyphenhyphenQu6J-DTtHinhge28_xWX2FdFL04hioHNQOs6EXIVa8ZfH9hYPKLWgoo/s1600/results.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="742" data-original-width="1200" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitpJB7s72e8LBYRPvrT6191No6fjKyszEU6NCxtDbSIycFA8zUyd3bQ28lUKq3XZ3ZW1ealANk-Xj0IgKDYiThyphenhyphenQu6J-DTtHinhge28_xWX2FdFL04hioHNQOs6EXIVa8ZfH9hYPKLWgoo/s640/results.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">V8 heap size reduction vs. eager and lazy deserialization</td></tr></tbody></table>
<p>Whereas previously Chrome would ship with a memory-mapped snapshot that we’d deserialize on each Isolate, now the snapshot is replaced by embedded builtins that are still memory mapped but do not need to be deserialized. The cost for builtins used to be <code>c*(1 + n)</code> where <code>n</code> is the number of Isolates and <code>c</code> the memory cost of all builtins, whereas now it’s just <code>c * 1</code> (in practice, a small amount of per-Isolate overhead also remains for off heap trampolines).</p>
<p>Compared against eager deserialization, we reduced the median V8 heap size by 19%. The median Chrome renderer process size per site has decreased by 4%. In absolute numbers, the 50th percentile saves 1.9 MB, the 30th percentile saves 3.4 MB, and the 10th percentile saves 6.5 MB per site.</p>
<p>Significant additional memory savings are expected once bytecode handlers are also binary-embedded.</p>
<p>Embedded builtins are rolling out on x64 in Chrome 69, and mobile platforms will follow in Chrome 70. Support for ia32 is expected to be released in late 2018.</p>
<p><small>Note: All diagrams were generated using Vyacheslav Egorov’s awesome <a href="https://mrale.ph/blog/2012/11/25/shaky-diagramming.html">Shaky Diagramming</a> tool.</small></small></p>
<p><em>Posted by Jakob Gruber (<a href="https://twitter.com/schuay">@schuay</a>)</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-14960454902428178912018-08-07T06:40:00.000-07:002018-08-07T06:40:45.685-07:00V8 release v6.9<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.9">V8 version 6.9</a>, which is in beta until its release in coordination with Chrome 69 Stable in several weeks. V8 v6.9 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>Memory savings through embedded built-ins</h2>
<p>V8 ships with an extensive library of built-in functions. Examples are methods on built-in objects such as <code>Array.prototype.sort</code> and <code>RegExp.prototype.exec</code>, but also a wide range of internal functionality. Because their generation takes a long time, built-in functions are compiled at build-time and serialized into a <a href="https://v8project.blogspot.com/2015/09/custom-startup-snapshots.html">snapshot</a>, which is later deserialized at runtime to create the initial JavaScript heap state.</p>
<p>Built-in functions currently consume 700 KB in each Isolate (an Isolate roughly corresponds to a browser tab in Chrome). This is quite wasteful, and last year we began working on reducing this overhead. In V8 v6.4, we shipped <a href="https://v8project.blogspot.com/2018/02/lazy-deserialization.html">lazy deserialization</a>, ensuring that each Isolate only pays for the built-ins that it actually needs (but each Isolate still had its own copy).</p>
<p>Embedded built-ins go one step further. An embedded built-in is shared by all Isolates, and embedded into the binary itself instead of copied onto the JavaScript heap. This means that built-ins exist in memory only once regardless of how many Isolates are running, an especially useful property now that <a href="https://developers.google.com/web/updates/2018/07/site-isolation">Site Isolation</a> has been enabled by default. With embedded built-ins, we’ve seen a median <em>9% reduction of the V8 heap size</em> over the top 10k websites on x64. Of these sites, 50% save at least 1.2 MB, 30% save at least 2.1 MB, and 10% save 3.7 MB or more.</p>
<p>V8 v6.9 ships with support for embedded built-ins on x64 platforms. Other platforms will follow soon in upcoming releases. Expect more details soon in a dedicated blog post.</p>
<h2>Performance</h2>
<br>
<h3>Liftoff, WebAssembly’s new first-tier compiler</h3>
<p>WebAssembly got a new baseline compiler for much faster startup of complex websites with big WebAssembly modules (such as Google Earth and AutoCAD). Depending on the hardware we are seeing speedups of more than 10×. Stay tuned for more details in a separate blog post.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://raw.githubusercontent.com/alrra/browser-logos/master/src/v8-liftoff/v8-liftoff_256x256.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/v8-liftoff/v8-liftoff_256x256.png" srcset="https://raw.githubusercontent.com/alrra/browser-logos/master/src/v8-liftoff/v8-liftoff_512x512.png 2x" /></a></div>
<h3>Faster <code>DataView</code> operations</h3>
<p><a href="https://tc39.github.io/ecma262/#sec-dataview-objects"><code>DataView</code></a> methods have been reimplemented in V8 Torque, which spares a costly call to C++ compared to the former runtime implementation. Moreover, we now inline calls to <code>DataView</code> methods when compiling JavaScript code in TurboFan, resulting in even better peak performance for hot code. Using <code>DataView</code>s is now as efficient as using <code>TypedArray</code>s, finally making <code>DataView</code>s a viable choice in performance-critical situations. We’ll be covering this in more detail in an upcoming blog post about <code>DataView</code>s, so stay tuned!</p>
<h3>Faster processing of <code>WeakMap</code>s during garbage collection</h3>
<p>V8 v6.9 reduces Mark-Compact garbage collection pause times by improving <code>WeakMap</code> processing. Concurrent and incremental marking are now able to process <code>WeakMap</code>s, whereas previously all this work was done in the final atomic pause of Mark-Compact GC. Since not all work can be moved outside of the pause, the GC now also does more work in parallel to further reduce pause times. These optimizations essentially halved the average pause time for Mark-Compact GCs in <a href="https://github.com/v8/web-tooling-benchmark">the Web Tooling Benchmark</a>.</p>
<p><code>WeakMap</code> processing uses a fixed-point iteration algorithm that can degrade to quadratic runtime behavior in certain cases. With the new release, V8 is now able to switch to another algorithm that is guaranteed to finish in linear time if the GC does not finish within a certain number of iterations. Previously, worst-case examples could be constructed that took the GC a few seconds to finish even with a relatively small heap, while the linear algorithm finishes within a few milliseconds.</p>
<h2>V8 API</h2>
<p>Please use <code>git log branch-heads/6.8..branch-heads/6.9 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using-Git">active V8 checkout</a> can use <code>git checkout -b 6.9 -t branch-heads/6.9</code> to experiment with the new features in V8 v6.9. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-89652579985979532122018-06-21T04:03:00.000-07:002018-06-21T04:09:02.404-07:00V8 release v6.8<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.8">V8 version 6.8</a>, which is in beta until its release in coordination with Chrome 68 Stable in several weeks. V8 v6.8 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>Memory</h2>
<p>JavaScript functions unnecessarily kept outer functions and their metadata (known as <code>SharedFunctionInfo</code> or <code>SFI</code>) alive. Especially in function-heavy code that relies on short-lived IIFEs, this could lead to spurious memory leaks. Before this change, an active <code>Context</code> (i.e. an on-heap representation of a function activation) kept the <code>SFI</code> alive of the function that created the context:</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif5YYhfiMpcgVr04iWnq_P5H9P2kpPHL54w8C84-gF_POmRbbh0-PjJlcyHZYSbCnRDkdM7wAogqr3fqlcyx4kD-rSP0ohAwuq6MQvfsvTzZgaLYgRBTe8ruhyBPijv13R3RfoauzHAGkP/s1600/context-jsfunction-before.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="269" data-original-width="745" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif5YYhfiMpcgVr04iWnq_P5H9P2kpPHL54w8C84-gF_POmRbbh0-PjJlcyHZYSbCnRDkdM7wAogqr3fqlcyx4kD-rSP0ohAwuq6MQvfsvTzZgaLYgRBTe8ruhyBPijv13R3RfoauzHAGkP/s640/context-jsfunction-before.png" width="640" /></a></div>
<p>By letting the <code>Context</code> point to a <code>ScopeInfo</code> object which contains the stripped-down information necessary for debugging, we can break the dependency on the <code>SFI</code>.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqRGMyLQIuAuIoWYBflX1-LpUYcDdmjEqSw9Xahf6g8thN-RpPDD7t7RYtcRbZwP8ayRft9CBAxPjm0o88wSBZayKgsRM_sIbDiYFA8e1-No7yxkIY1kMUUBPnDXuFCiTykrzMC1zE30Ke/s1600/context-jsfunction-after.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="234" data-original-width="746" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqRGMyLQIuAuIoWYBflX1-LpUYcDdmjEqSw9Xahf6g8thN-RpPDD7t7RYtcRbZwP8ayRft9CBAxPjm0o88wSBZayKgsRM_sIbDiYFA8e1-No7yxkIY1kMUUBPnDXuFCiTykrzMC1zE30Ke/s640/context-jsfunction-after.png" width="640" /></a></div>
<p>We’ve already observed 3% V8 memory improvements on mobile devices over a set of top 10 pages.</p>
<p>In parallel we have reduced the memory consumption of <code>SFI</code>s themselves, removing unnecessary fields or compressing them where possible, and decreased their size by ~25%, with further reductions coming in future releases. We’ve observed <code>SFI</code>s taking up 2–6% of V8 memory on typical websites even after detaching them from the context, so you should see memory improvements on code with a large number of functions.</p>
<h2>Performance</h2>
<h3>Array destructuring improvements</h3>
<p>The optimizing compiler did not generate ideal code for array destructuring. For example, swapping variables using <code>[a, b] = [b, a]</code> used to be twice as slow as <code>const tmp = a; a = b; b = tmp</code>. Once we unblocked escape analysis to eliminate all temporary allocation, array destructuring with a temporary array is as fast as a sequence of assignments.</p>
<h3><code>Object.assign</code> improvements</h3>
<p>So far <code>Object.assign</code> had a fast path written in C++. That meant that the JavaScript-to-C++ boundary had to be crossed for each <code>Object.assign</code> call. An obvious way to improve the builtin performance was to implement a fast path on the JavaScript side. We had two options: either implement it as an native JS builtin (which would come with some unnecessary overhead in this case), or implement it <a href="https://v8project.blogspot.com/2017/11/csa.html">using CodeStubAssembler technology</a> (which provides more flexibility). We went with the latter solution. The new implementation of <code>Object.assign</code> improves the score of <a href="https://chromeperf.appspot.com/report?sid=d9ea9a2ae7cd141263fde07ea90da835cf28f5c87f17b53ba801d4ac30979558&start_rev=550155&end_rev=552590">Speedometer2/React-Redux by about 15%, improving the total Speedometer 2 score by 1.5%</a>.</p>
<h3><code>TypedArray.prototype.sort</code> improvements</h3>
<p><code>TypedArray.prototype.sort</code> has two paths: a fast path, used when the user does not provide a comparison function, and a slow path for everything else. Until now, the slow path reused the implementation for <code>Array.prototype.sort</code>, which does a lot more than is necessary for sorting <code>TypedArray</code>s. V8 v6.8 replaces the slow path with an implementation in <a href="https://v8project.blogspot.com/2017/11/csa.html">CodeStubAssembler</a>. (Not directly CodeStubAssembler but a domain-specific language that is built on top of CodeStubAssembler).</p>
<p>Performance for sorting <code>TypedArray</code>s without a comparison function stays the same while there is a speedup of up to 2.5× when sorting using a comparison function.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3zNVJw2AGEMSDb3E420A_wSiYo6NB-MjTazoVPHGCl6tQfTTDImPctote8EOaKysMk916ogFCTLtBBAbsPwXUgM-rx99QpyyWD_rAfdapW_MKi5qonrFVdlOmxvnYFaok9JdrPxJ6mBWp/s1600/typedarray-sort.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="936" data-original-width="1506" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3zNVJw2AGEMSDb3E420A_wSiYo6NB-MjTazoVPHGCl6tQfTTDImPctote8EOaKysMk916ogFCTLtBBAbsPwXUgM-rx99QpyyWD_rAfdapW_MKi5qonrFVdlOmxvnYFaok9JdrPxJ6mBWp/s640/typedarray-sort.png" width="640" /></a></div>
<h2>WebAssembly</h2>
<p>In V8 v6.8 you can start using <a href="https://docs.google.com/document/d/17y4kxuHFrVxAiuCP_FFtFA2HP5sNPsCD10KEx17Hz6M/edit">trap-based bounds checking</a> on Linux x64 platforms. This memory management optimization considerably improves WebAssembly’s execution speed. It’s already used in Chrome 68, and in the future more platforms will be supported incrementally.</p>
<h2>V8 API</h2>
<p>Please use <code>git log branch-heads/6.7..branch-heads/6.8 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using-Git">active V8 checkout</a> can use <code>git checkout -b 6.8 -t branch-heads/6.8</code> to experiment with the new features in V8 v6.8. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-37803533619325698482018-06-11T07:49:00.000-07:002018-06-11T07:49:11.066-07:00Concurrent marking in V8<p>This post describes the garbage collection technique called <em>concurrent marking</em>. The optimization allows a JavaScript application to continue execution while the garbage collector scans the heap to find and mark live objects. Our benchmarks show that concurrent marking reduces the time spent marking on the main thread by 60%–70%. Concurrent marking is the last puzzle piece of the <a href="https://v8project.blogspot.com/2016/04/jank-busters-part-two-orinoco.html">Orinoco project</a> — the project to incrementally replace the old garbage collector with the new mostly concurrent and parallel garbage collector. Concurrent marking is enabled by default in Chrome 64 and Node.js v10.</p>
<h2>Background</h2>
<p>Marking is a phase of V8’s <a href="https://en.wikipedia.org/wiki/Tracing_garbage_collection">Mark-Compact</a> garbage collector. During this phase the collector discovers and marks all live objects. Marking starts from the set of known live objects such as the global object and the currently active functions — the so-called roots. The collector marks the roots as live and follows the pointers in them to discover more live objects. The collector continues marking the newly discovered objects and following pointers until there are no more objects to mark. At the end of marking, all unmarked objects on the heap are unreachable from the application and can be safely reclaimed.</p>
<p>We can think of marking as a <a href="https://en.wikipedia.org/wiki/Graph_traversal">graph traversal</a>. The objects on the heap are nodes of the graph. Pointers from one object to another are edges of the graph. Given a node in the graph we can find all out-going edges of that node using the <a href="https://v8project.blogspot.com/2017/08/fast-properties.html">hidden class</a> of the object.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-NPVwYEv3w_o7xgjjpnlFst2-kQP8-4znQ1S_wAy15Xog7_gOBGAZo6eBMoSw4Ss2GvQvbc98lG0gXe5kX6tNIFRok4z8X67SeyVENi0Q1-dLwkcDbqlkWyhposh5IVhccuBeWCkIBVM/s1600/concurrent-marking-0.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 1. Object graph" border="0" data-original-height="924" data-original-width="1600" height="369" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-NPVwYEv3w_o7xgjjpnlFst2-kQP8-4znQ1S_wAy15Xog7_gOBGAZo6eBMoSw4Ss2GvQvbc98lG0gXe5kX6tNIFRok4z8X67SeyVENi0Q1-dLwkcDbqlkWyhposh5IVhccuBeWCkIBVM/s640/concurrent-marking-0.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 1. Object graph</td></tr></tbody></table>
<p>V8 implements marking using two mark-bits per object and a marking worklist. Two mark-bits encode three colors: white (<code>00</code>), grey (<code>10</code>), and black (<code>11</code>). Initially all objects are white, which means that the collector has not discovered them yet. A white object becomes grey when the collector discovers it and pushes it onto the marking worklist. A grey object becomes black when the collector pops it from the marking worklist and visits all its fields. This scheme is called tri-color marking. Marking finishes when there are no more grey objects. All the remaining white objects are unreachable and can be safely reclaimed.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAyf-qSZnvuyvQanwc3XRhMS8LWYd2XCtQ9HJr0d4PLNDrC-lvggZCS-kFjR8_jAVLF2rYEX-EEQ9hF77g2uPHmC4-n6mccKeEjCJXI19PmF6xizo72Hxpj_Fddk_kQRv1uBV08mQ5nzg9/s1600/concurrent-marking-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 2. Marking starts from the roots." border="0" data-original-height="1208" data-original-width="1583" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAyf-qSZnvuyvQanwc3XRhMS8LWYd2XCtQ9HJr0d4PLNDrC-lvggZCS-kFjR8_jAVLF2rYEX-EEQ9hF77g2uPHmC4-n6mccKeEjCJXI19PmF6xizo72Hxpj_Fddk_kQRv1uBV08mQ5nzg9/s400/concurrent-marking-1.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 2. Marking starts from the roots.</td></tr></tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYIj3oH3xSjz9veOv3PcfEuzrA_WIcNzb1Od4l8qDnim1enSdAmmZwl5eKZbwJUqHLHj1yB9D7AQd9yo08dK9cnJIUMnSwdE0PSR_oJuxKdandEGVhcT1DwvJqUm1Yox_zGELslNKc68tm/s1600/concurrent-marking-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 3. The collector turns a grey object into black by processing its pointers." border="0" data-original-height="1208" data-original-width="1583" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYIj3oH3xSjz9veOv3PcfEuzrA_WIcNzb1Od4l8qDnim1enSdAmmZwl5eKZbwJUqHLHj1yB9D7AQd9yo08dK9cnJIUMnSwdE0PSR_oJuxKdandEGVhcT1DwvJqUm1Yox_zGELslNKc68tm/s400/concurrent-marking-2.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 3. The collector turns a grey object into black by processing its pointers.</td></tr></tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3prRGDNDrYqFQmCYPBXk9chryBqu7PBX4UNGMEIwzQVVmKee7BVB-P5g8vh0wTrcrh_f2Gk8njKBwnf8uwpUSQZcyRHQAyHxfF3tO1XYWWpbM3uMq670Lck9lAaPbtYaIz-aewMM5ny8I/s1600/concurrent-marking-3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 4. The final state after marking is finished" border="0" data-original-height="1208" data-original-width="1583" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3prRGDNDrYqFQmCYPBXk9chryBqu7PBX4UNGMEIwzQVVmKee7BVB-P5g8vh0wTrcrh_f2Gk8njKBwnf8uwpUSQZcyRHQAyHxfF3tO1XYWWpbM3uMq670Lck9lAaPbtYaIz-aewMM5ny8I/s400/concurrent-marking-3.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 4. The final state after marking is finished.</td></tr></tbody></table>
<p>Note that the marking algorithm described above works only if the application is paused while marking is in progress. If we allow the application to run during marking, then the application can change the graph and eventually trick the collector into freeing live objects.</p>
<h2>Reducing marking pause</h2>
<p>Marking performed all at once can take several hundred milliseconds for large heaps.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA-UmowL97oQwxgO0z5HtITNkzafAfAmnYFHxZqoMohTTlTNgHRtV4N_CEdDK-a7Zw0JHXZa5lXBpBpOLoaHI36d5gnfNWWPDPUzKg6tGOIXrXfX98sCLHs8ptZFM7HEKo8_3o2u888NLZ/s1600/concurrent-marking-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="138" data-original-width="1600" height="54" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA-UmowL97oQwxgO0z5HtITNkzafAfAmnYFHxZqoMohTTlTNgHRtV4N_CEdDK-a7Zw0JHXZa5lXBpBpOLoaHI36d5gnfNWWPDPUzKg6tGOIXrXfX98sCLHs8ptZFM7HEKo8_3o2u888NLZ/s640/concurrent-marking-4.png" width="640" /></a></div>
<p>Such long pauses can make applications unresponsive and result in poor user experience. In 2011 V8 switched from the stop-the-world marking to incremental marking. During incremental marking the garbage collector splits up the marking work into smaller chunks and allows the application to run between the chunks:</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV5iq7sRlWMod9GDnPvEoZuMV2eTDXjIfGXLeZ_2DJN7hRL0kqHVNexeGwKk7BVoGk1WvbXKiKgMschn-nkhAIOcH00P_Oyhdif-4C6xnf0lYbqQH0eEPwjbHd5WgTROF-tnrIeGgrTkeQ/s1600/concurrent-marking-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="138" data-original-width="1600" height="54" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV5iq7sRlWMod9GDnPvEoZuMV2eTDXjIfGXLeZ_2DJN7hRL0kqHVNexeGwKk7BVoGk1WvbXKiKgMschn-nkhAIOcH00P_Oyhdif-4C6xnf0lYbqQH0eEPwjbHd5WgTROF-tnrIeGgrTkeQ/s640/concurrent-marking-5.png" width="640" /></a></div>
<p>The garbage collector chooses how much incremental marking work to perform in each chunk to match the rate of allocations by the application. In common cases this greatly improves the responsiveness of the application. For large heaps under memory pressure there can still be long pauses as the collector tries to keep up with the allocations.</p>
<p>Incremental marking does not come for free. The application has to notify the garbage collector about all operations that change the object graph. V8 implements the notification using a Dijkstra-style write-barrier. After each write operation of the form <code>object.field = value</code> in JavaScript, V8 inserts the write-barrier code:</p>
<pre class="hljs language-cpp"><code><span class="hljs-comment">// Called after `object.field = value`.</span>
write_barrier(object, field_offset, value) {
<span class="hljs-keyword">if</span> (color(object) == black && color(value) == white) {
set_color(value, grey);
marking_worklist.push(value);
}
}
</code></pre>
<p>The write-barrier enforces the invariant that no black object points to a white object. This is also known as the strong tri-color invariant and guarantees that the application cannot hide a live object from the garbage collector, so all white objects at the end of marking are truly unreachable for the application and can be safely freed.</p>
<p>Incremental marking integrates nicely with idle time garbage collection scheduling as described in an <a href="https://v8project.blogspot.com/2015/08/getting-garbage-collection-for-free.html">earlier blog post</a>. Chrome’s Blink task scheduler can schedule small incremental marking steps during idle time on the main thread without causing jank. This optimization works really well if idle time is available.</p>
<p>Because of the write-barrier cost, incremental marking may reduce throughput of the application. It is possible to improve both throughput and pause times by making use of additional worker threads. There are two ways to do marking on worker threads: parallel marking and concurrent marking.</p>
<p><strong>Parallel</strong> marking happens on the main thread and the worker threads. The application is paused throughout the parallel marking phase. It is the multi-threaded version of the stop-the-world marking.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbqQ_tRYJ4F_FezwXeaZ1V5RyLrZ0D1U2nQTpAju8eilV11TN2hhEvEvJ8KG6_c5P7mWSbuBCwTZ0ofCoobc7N-7vyQJnPAQfqZuBbeMc_8H3EQ9bwtWma7DuEFZxSMjcQRPtxg_6aGoAy/s1600/concurrent-marking-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="323" data-original-width="1600" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbqQ_tRYJ4F_FezwXeaZ1V5RyLrZ0D1U2nQTpAju8eilV11TN2hhEvEvJ8KG6_c5P7mWSbuBCwTZ0ofCoobc7N-7vyQJnPAQfqZuBbeMc_8H3EQ9bwtWma7DuEFZxSMjcQRPtxg_6aGoAy/s640/concurrent-marking-6.png" width="640" /></a></div>
<p><strong>Concurrent</strong> marking happens mostly on the worker threads. The application can continue running while concurrent marking is in progress.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxatqOlA62Ba2a4UlRXyN3EeBpeWQkpEqVlKFuWh_3A4bAmATwsRvGQVXdiAiOI2Qm4tF4ETd7dwULZBVMgNdm1Hvec2S_Rkfm019iHar0AVnzLUg_X1-nLjiE0JoZdzmdq_VnVZeilVrQ/s1600/concurrent-marking-7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="323" data-original-width="1600" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxatqOlA62Ba2a4UlRXyN3EeBpeWQkpEqVlKFuWh_3A4bAmATwsRvGQVXdiAiOI2Qm4tF4ETd7dwULZBVMgNdm1Hvec2S_Rkfm019iHar0AVnzLUg_X1-nLjiE0JoZdzmdq_VnVZeilVrQ/s640/concurrent-marking-7.png" width="640" /></a></div>
<p>The following two sections describe how we added support for parallel and concurrent marking in V8.</p>
<h2>Parallel marking</h2>
<p>During parallel marking we can assume that the application is not running concurrently. This substantially simplifies the implementation because we can assume that the object graph is static and does not change. In order to mark the object graph in parallel, we need to make the garbage collector data structures thread-safe and find a way to efficiently share marking work between threads. The following diagram shows the data-structures involved in parallel marking. The arrows indicate the direction of data flow. For simplicity, the diagram omits data-structures that are needed for heap defragmentation.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3chYqCGFErvpwKfGargZZebgnioSbQOoKean2o-8daSMfLCg7rMkAug7yl0z368PebSExk2zt947FwUe-1yJny6-EM-JeDS-JDws_4qKqFVZNTLQLmKSHqFufIpmDZv_v0rMWGK3H3caX/s1600/concurrent-marking-8.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 5. Data-structures for parallel marking" border="0" data-original-height="611" data-original-width="1600" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3chYqCGFErvpwKfGargZZebgnioSbQOoKean2o-8daSMfLCg7rMkAug7yl0z368PebSExk2zt947FwUe-1yJny6-EM-JeDS-JDws_4qKqFVZNTLQLmKSHqFufIpmDZv_v0rMWGK3H3caX/s640/concurrent-marking-8.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 5. Data structures for parallel marking</td></tr></tbody></table>
<p>Note that the threads only read from the object graph and never change it. The mark-bits of the objects and the marking worklist have to support read and write accesses.</p>
<h2>Marking worklist and work stealing</h2>
<p>The implementation of the marking worklist is critical for performance and balances fast thread-local performance with how much work can be distributed to other threads in case they run out of work to do.</p>
<p>The extreme sides in that trade-off space are (a) using a completely concurrent data structure for best sharing as all objects can potentially be shared and (b) using a completely thread-local data structure where no objects can be shared, optimizing for thread-local throughput. Figure 6 shows how V8 balances these needs by using a marking worklist that is based on segments for thread-local insertion and removal. Once a segment becomes full it is published to a shared global pool where it is available for stealing. This way V8 allows marking threads to operate locally without any synchronization as long as possible and still handle cases where a single thread reaches a new sub-graph of objects while another thread starves as it completely drained its local segments.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsL7hKEjcJdq2jnq_Z9Xcfqm5WFL-O3YhuEkas1fDRqB49KRq_0X7nUZU_8cUrQRMWQELMXkWVCAhU7jES2JJwMJLQmaLZaSVQtAUPi48I6g0PILKodf8Tf7cDKADMV6PKRB5-k9m-Wy0d/s1600/concurrent-marking-9.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 6. Marking worklist" border="0" data-original-height="577" data-original-width="1600" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsL7hKEjcJdq2jnq_Z9Xcfqm5WFL-O3YhuEkas1fDRqB49KRq_0X7nUZU_8cUrQRMWQELMXkWVCAhU7jES2JJwMJLQmaLZaSVQtAUPi48I6g0PILKodf8Tf7cDKADMV6PKRB5-k9m-Wy0d/s640/concurrent-marking-9.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 6. Marking worklist</td></tr></tbody></table>
<h2>Concurrent marking</h2>
<p>Concurrent marking allows JavaScript to run on the main thread while worker threads are visiting objects on the heap. This opens the door for many potential data races. For example, JavaScript may be writing to an object field at the same time as a worker thread is reading the field. The data races may confuse the garbage collector to free a live object or to mix up primitive values with pointers.</p>
<p>Each operation on the main thread that changes the object graph is a potential source of a data race. Since V8 is a high-performance engine with many object layout optimizations, the list of potential data race sources is rather long. Here is a high-level breakdown:</p>
<ul>
<li>Object allocation.</li>
<li>Write to an object field.</li>
<li>Object layout changes.</li>
<li>Deserialization from the snapshot.</li>
<li>Materialization during deoptimization of a function.</li>
<li>Evacuation during young generation garbage collection.</li>
<li>Code patching.</li>
</ul>
<p>The main thread needs to synchronize with the worker threads on these operations. The cost and complexity of synchronization depends on the operation. Most operations allow lightweight synchronization with atomic memory accesses, but a few operations require exclusive access to the object. In the following subsections we highlight some of the interesting cases.</p>
<h3>Write barrier</h3>
<p>The data race caused by a write to an object field is resolved by turning the write operation into a <a href="https://en.cppreference.com/w/cpp/atomic/memory_order#Relaxed_ordering">relaxed atomic write</a> and tweaking the write barrier:</p>
<pre class="hljs language-cpp"><code><span class="hljs-comment">// Called after atomic_relaxed_write(&object.field, value);</span>
write_barrier(object, field_offset, value) {
<span class="hljs-keyword">if</span> (color(value) == white && atomic_color_transition(value, white, grey)) {
marking_worklist.push(value);
}
}
</code></pre>
<p>Compare it with the previously used write barrier:</p>
<pre class="hljs language-cpp"><code><span class="hljs-comment">// Called after `object.field = value`.</span>
write_barrier(object, field_offset, value) {
<span class="hljs-keyword">if</span> (color(object) == black && color(value) == white) {
set_color(value, grey);
marking_worklist.push(value);
}
}
</code></pre>
<p>There are two changes:</p>
<ol>
<li>The color check of the source object (<code>color(object) == black</code>) is gone.</li>
<li>The color transition of the <code>value</code> from white to grey happens atomically.</li>
</ol>
<p>Without the source object color check the write barrier becomes more conservative, i.e. it may mark objects as live even if those objects are not really reachable. We removed the check to avoid an expensive memory fence that would be needed between the write operation and the write barrier:</p>
<pre class="hljs language-cpp"><code>atomic_relaxed_write(&object.field, value);
memory_fence();
write_barrier(object, field_offset, value);
</code></pre>
<p>Without the memory fence the object color load operation can be reordered before the write operation. If we don’t prevent the reordering, then the write barrier may observe grey object color and bail out, while a worker thread marks the object without seeing the new value. The original write barrier proposed by Dijkstra et al. also does not check the object color. They did it for simplicity, but we need it for correctness.</p>
<h3>Bailout worklist</h3>
<p>Some operations, for example code patching, require exclusive access to the object. Early on we decided to avoid per-object locks because they can lead to the priority inversion problem, where the main thread has to wait for a worker thread that is descheduled while holding an object lock. Instead of locking an object, we allow the worker thread to bailout from visiting the object. The worker thread does that by pushing the object into the bailout worklist, which is processed only by the main thread:</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihkrAmRcxw3yXjkvexdETp17Xf5KPonh355RtiNTk6FUyeFwKSu7EweQ2jL-Bcmqc0RnSqeGhyphenhyphenNtrJiuvyLTexsnCka2bQvD8coRSER3Zv0KE101TuAhyrucY-hOHSJZb1Est11vwS0hw8/s1600/concurrent-marking-10.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Figure 7. The bailout worklist" border="0" data-original-height="822" data-original-width="1600" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihkrAmRcxw3yXjkvexdETp17Xf5KPonh355RtiNTk6FUyeFwKSu7EweQ2jL-Bcmqc0RnSqeGhyphenhyphenNtrJiuvyLTexsnCka2bQvD8coRSER3Zv0KE101TuAhyrucY-hOHSJZb1Est11vwS0hw8/s640/concurrent-marking-10.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 7. The bailout worklist</td></tr></tbody></table>
<p>Worker threads bail out on optimized code objects, hidden classes and weak collections because visiting them would require locking or expensive synchronization protocol.</p>
<p>In retrospect, the bailout worklist turned out to be great for incremental development. We started implementation with worker threads bailing out on all object types and added concurrency one by one.</p>
<h3>Object layout changes</h3>
<p>A field of an object can store three kinds of values: a tagged pointer, a tagged small integer (also known as a Smi), or an untagged value like an unboxed floating-point number. <a href="https://en.wikipedia.org/wiki/Tagged_pointer">Pointer tagging</a> is a well-known technique that allows efficient representation of unboxed integers. In V8 the least significant bit of a tagged value indicates whether it is a pointer or an integer. This relies on the fact that pointers are word-aligned. The information about whether a field is tagged or untagged is stored in the hidden class of the object.</p>
<p>Some operations in V8 change an object field from tagged to untagged (or vice versa) by transitioning the object to another hidden class. Such an object layout change is unsafe for concurrent marking. If the change happens while a worker thread is visiting the object concurrently using the old hidden class, then two kinds of bugs are possible. First, the worker may miss a pointer thinking that it is an untagged value. The write barrier protects against this kind of bug. Second, the worker may treat an untagged value as a pointer and dereference it, which would result in an invalid memory access typically followed by a program crash. In order to handle this case we use a snapshotting protocol that synchronizes on the mark-bit of the object. The protocol involves two parties: the main thread changing an object field from tagged to untagged and the worker thread visiting the object. Before changing the field, the main thread ensures that the object is marked as black and pushes it into the bailout worklist for visiting later on:</p>
<pre class="hljs language-cpp"><code>atomic_color_transition(object, white, grey);
<span class="hljs-keyword">if</span> (atomic_color_transition(object, grey, black)) {
<span class="hljs-comment">// The object will be revisited on the main thread during draining</span>
<span class="hljs-comment">// of the bailout worklist.</span>
bailout_worklist.push(object);
}
unsafe_object_layout_change(object);
</code></pre>
<p>As shown in the code snippet below, the worker thread first loads the hidden class of the object and snapshots all the pointer fields of the object specified by the hidden class using <a href="https://en.cppreference.com/w/cpp/atomic/memory_order#Relaxed_ordering">atomic relaxed load operations</a>. Then it tries to mark the object black using an atomic compare and swap operation. If marking succeeded then this means that the snapshot must be consistent with the hidden class because the main thread marks the object black before changing its layout.</p>
<pre class="hljs language-cpp"><code>snapshot = [];
hidden_class = atomic_relaxed_load(&object.hidden_class);
<span class="hljs-keyword">for</span> (field_offset in pointer_field_offsets(hidden_class)) {
pointer = atomic_relaxed_load(object + field_offset);
snapshot.add(field_offset, pointer);
}
<span class="hljs-keyword">if</span> (atomic_color_transition(object, grey, black)) {
visit_pointers(snapshot);
}
</code></pre>
<p>Note that a white object that undergoes an unsafe layout change has to be marked on the main thread. Unsafe layout changes are relatively rare, so this does not have a big impact on performance of real world applications.</p>
<h2>Putting it all together</h2>
<p>We integrated concurrent marking into the existing incremental marking infrastructure. The main thread initiates marking by scanning the roots and filling the marking worklist. After that it posts concurrent marking tasks on the worker threads. The worker threads help the main thread to make faster marking progress by cooperatively draining the marking worklist. Once in a while the main thread participates in marking by processing the bailout worklist and the marking worklist. Once the marking worklists become empty, the main thread finalizes garbage collection. During finalization the main thread re-scans the roots and may discover more white objects. Those objects are marked in parallel with the help of worker threads.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-PiMj7rwGkUieMrkPA9LokAdK3NEePGbWi21wTz7RLbqwooP3QvdNHKyyZJpT9uuhyGcyR7D-mKDw7XteW9h1Sk_yR-2VxULAi4b-MHT2E4__2V_tj1YaUYB9An2RCcoVgu_HBtrF0bd/s1600/concurrent-marking-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="571" data-original-width="1600" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9-PiMj7rwGkUieMrkPA9LokAdK3NEePGbWi21wTz7RLbqwooP3QvdNHKyyZJpT9uuhyGcyR7D-mKDw7XteW9h1Sk_yR-2VxULAi4b-MHT2E4__2V_tj1YaUYB9An2RCcoVgu_HBtrF0bd/s640/concurrent-marking-11.png" width="640" /></a></div>
<h2>Results</h2>
<p>Our <a href="https://v8project.blogspot.com/2016/12/how-v8-measures-real-world-performance.html">real-world benchmarking framework</a> shows about 65% and 70% reduction in main thread marking time per garbage collection cycle on mobile and desktop respectively.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhcNYAI071FnCcXjomy3of80o5CCOxj1CEJIzvNDf7WZ-Q6-TN-c0ExET1D-lA8QTsslknpaUf1abyoTR8Xso6KxRb8nVcMsgOU2c4PicHmpYSY30cT8fHJoxHkN9sTODdMqBjDbMDeF90/s1600/concurrent-marking-12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1020" data-original-width="1600" height="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhcNYAI071FnCcXjomy3of80o5CCOxj1CEJIzvNDf7WZ-Q6-TN-c0ExET1D-lA8QTsslknpaUf1abyoTR8Xso6KxRb8nVcMsgOU2c4PicHmpYSY30cT8fHJoxHkN9sTODdMqBjDbMDeF90/s640/concurrent-marking-12.png" width="640" /></a></div>
<p>Concurrent marking also reduces garbage collection jank in Node.js. This is particularly important since Node.js never implemented idle time garbage collection scheduling and therefore was never able to hide marking time in non-jank-critical phases. Concurrent marking shipped in Node.js v10.</p>
<p><em>Posted by Ulan Degenbaev, Michael Lippautz, and Hannes Payer — main thread liberators</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-10727597968340442342018-05-04T13:48:00.000-07:002018-05-04T13:48:31.774-07:00V8 release v6.7<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.7">V8 version 6.7</a>, which is in beta until its release in coordination with Chrome 67 Stable in several weeks. V8 v6.7 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>JavaScript language features</h2>
<p>V8 v6.7 ships with BigInt support enabled by default. BigInts are a new numeric primitive in JavaScript that can represent integers with arbitrary precision. Read <a href="https://developers.google.com/web/updates/2018/05/bigint">the Web Fundamentals article on BigInt</a> for more info on how BigInts can be used in JavaScript, and check out <a href="https://v8project.blogspot.com/2018/05/bigint.html">our write-up with more details about the V8 implementation</a>.</p>
<h2>Untrusted code mitigations</h2>
<p>In V8 v6.7 we’ve landed <a href="https://github.com/v8/v8/wiki/Untrusted-code-mitigations">more mitigations for side-channel vulnerabilities</a> to prevent information leaks to untrusted JavaScript and WebAssembly code.</p>
<h2>V8 API</h2>
<p>Please use <code>git log branch-heads/6.6..branch-heads/6.7 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using-Git">active V8 checkout</a> can use <code>git checkout -b 6.7 -t branch-heads/6.7</code> to experiment with the new features in V8 v6.7. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-78625993643045617912018-05-02T08:41:00.000-07:002018-05-02T08:41:02.688-07:00Adding BigInts to V8<p>Over the past couple of months, we have implemented support for <a href="https://developers.google.com/web/updates/2018/05/bigint">BigInts</a> in V8, as currently specified by <a href="https://github.com/tc39/proposal-bigint">this proposal</a>, to be included in a future version of ECMAScript. The following post tells the story of our adventures.</p>
<h2>TL;DR</h2>
<p>As a JavaScript programmer, you now<sup>1</sup> have integers with arbitrary<sup>2</sup> precision in your toolbox:</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> a = <span class="hljs-number">2172141653</span>n;
<span class="hljs-keyword">const</span> b = <span class="hljs-number">15346349309</span>n;
a * b;
<span class="hljs-comment">// → 33334444555566667777n // Yay!</span>
<span class="hljs-built_in">Number</span>(a) * <span class="hljs-built_in">Number</span>(b);
<span class="hljs-comment">// → 33334444555566670000 // Boo!</span>
<span class="hljs-keyword">const</span> such_many = <span class="hljs-number">2</span>n ** <span class="hljs-number">222</span>n;
<span class="hljs-comment">// → 6739986666787659948666753771754907668409286105635143120275902562304n</span>
</code></pre>
<p>For details about the new functionality and how it could be used, refer to <a href="https://developers.google.com/web/updates/2018/05/bigint">our in-depth Web Fundamentals article on BigInt</a>. We are looking forward to seeing the awesome things you’ll build with them!</p>
<p><sup>1</sup> <em>Now</em> if you run Chrome Beta, Dev, or Canary, or a <a href="https://github.com/v8/node/tree/vee-eight-lkgr">preview Node.js version</a>, otherwise <em>soon</em> (Chrome 67, Node.js master probably around the same time).</p>
<p><sup>2</sup> Arbitrary up to an implementation-defined limit. Sorry, we haven’t yet figured out how to squeeze an infinite amount of data into your computer’s finite amount of memory.</p>
<h2>Representing BigInts in memory</h2>
<p>Typically, computers store integers in their CPU’s registers (which nowadays are usually 32 or 64 bits wide), or in register-sized chunks of memory. This leads to the minimum and maximum values you might be familiar with. For example, a 32-bit signed integer can hold values from -2,147,483,648 to 2,147,483,647. The idea of BigInts, however, is to not be restricted by such limits.</p>
<p>So how can one store a BigInt with a hundred, or a thousand, or a million bits? It can’t fit in a register, so we allocate an object in memory. We make it large enough to hold all the BigInt’s bits, in a series of chunks, which we call “digits” — because this is conceptually very similar to how one can write bigger numbers than “9” by using more digits, like in “10”; except where the decimal system uses digits from 0 to 9, our BigInts use digits from 0 to 4294967295 (i.e. <code>2**32-1</code>). That’s the value range of a 32-bit CPU register<sup>3</sup>, without a sign bit; we store the sign bit separately. In pseudo-code, a <code>BigInt</code> object with 3*32 = 96 bits looks like this:</p>
<pre class="hljs language-js"><code>{
<span class="hljs-attr">type</span>: <span class="hljs-string">'BigInt'</span>,
<span class="hljs-attr">sign</span>: <span class="hljs-number">0</span>,
<span class="hljs-attr">num_digits</span>: <span class="hljs-number">3</span>,
<span class="hljs-attr">digits</span>: [<span class="hljs-number">0x12</span>…, <span class="hljs-number">0x34</span>…, <span class="hljs-number">0x56</span>…],
}
</code></pre>
<p><sup>3</sup> On 64-bit machines, we use 64-bit digits, i.e. from 0 to 18446744073709551615 (i.e. <code>2n**64n-1n</code>).</p>
<h2>Back to school, and back to Knuth</h2>
<p>Working with integers kept in CPU registers is really easy: to e.g. multiply two of them, there’s a machine instruction which software can use to tell the CPU “multiply the contents of these two registers!”, and the CPU will do it. For BigInt arithmetic, we have to come up with our own solution. Thankfully this particular task is something that quite literally every child at some point learns how to solve: remember what you did back in school when you had to multiply 345 * 678 and weren’t allowed to use a calculator?</p>
<pre class="hljs"><code>345 * 678
---------
30 // 5 * 6
+ 24 // 4 * 6
+ 18 // 3 * 6
+ 35 // 5 * 7
+ 28 // 4 * 7
+ 21 // 3 * 7
+ 40 // 5 * 8
+ 32 // 4 * 8
+ 24 // 3 * 8
=========
233910
</code></pre>
<p>That’s exactly how V8 multiplies BigInts: one digit at a time, adding up the intermediate results. The algorithm works just as well for <code>0</code> to <code>9</code> as it does for a BigInt’s much bigger digits.</p>
<p>Donald Knuth published a specific implementation of multiplication and division of large numbers made up of smaller chunks in Volume 2 of his classic <em>The Art of Computer Programming</em>, all the way back in 1969. V8’s implementation follows this book, which shows that this a pretty timeless piece of computer science.</p>
<h2>“Less desugaring” == more sweets?</h2>
<p>Perhaps surprisingly, we had to spend quite a bit of effort on getting seemingly simple unary operations, like <code>-x</code>, to work. So far, <code>-x</code> did exactly the same as <code>x * (-1)</code>, so to simplify things, V8 applied precisely this replacement as early as possible when processing JavaScript, namely in the parser. This approach is called “desugaring”, because it treats an expression like <code>-x</code> as “syntactic sugar” for <code>x * (-1)</code>. Other components (the interpreter, the compiler, the entire runtime system) didn’t even need to know what a unary operation is, because they only ever saw the multiplication, which of course they must support anyway.</p>
<p>With BigInts, however, this implementation suddenly becomes invalid, because multiplying a BigInt with a Number (like <code>-1</code>) must throw a <code>TypeError</code><sup>4</sup>. The parser would have to desugar <code>-x</code> to <code>x * (-1n)</code> if <code>x</code> is a BigInt — but the parser has no way of knowing what <code>x</code> will evaluate to. So we had to stop relying on this early desugaring, and instead add proper support for unary operations on both Numbers and BigInts everywhere.</p>
<p><sup>4</sup> Mixing <code>BigInt</code> and <code>Number</code> operand types is generally not allowed. That’s somewhat unusual for JavaScript, but there is <a href="https://developers.google.com/web/updates/2018/05/bigint#operators">an explanation</a> for this decision.</p>
<h2>A bit of fun with bitwise ops</h2>
<p>Most computer systems in use today store signed integers using a neat trick called “two’s complement”, which has the nice properties that the first bit indicates the sign, and adding 1 to the bit pattern always increments the number by 1, taking care of the sign bit automatically. For example, for 8-bit integers:</p>
<ul>
<li><code>10000000</code> is -128, the lowest representable number,</li>
<li><code>10000001</code> is -127,</li>
<li><code>11111111</code> is -1,</li>
<li><code>00000000</code> is 0,</li>
<li><code>00000001</code> is 1,</li>
<li><code>01111111</code> is 127, the highest representable number.</li>
</ul>
<p>This encoding is so common that many programmers expect it and rely on it, and the BigInt specification reflects this fact by prescribing that BigInts must act as if they used two’s complement representation. As described above, V8’s BigInts don’t!</p>
<p>To perform bitwise operations according to spec, our BigInts therefore must pretend to be using two’s complement under the hood. For positive values, it doesn’t make a difference, but negative numbers must do extra work to accomplish this. That has the somewhat surprising effect that <code>a & b</code>, if <code>a</code> and <code>b</code> are both negative BigInts, actually performs <em>four</em> steps (as opposed to just one if they were both positive): both inputs are converted to fake-two’s-complement format, then the actual operation is done, then the result is converted back to our real representation. Why the back-and-forth, you might ask? Because all the non-bitwise operations are much easier that way.</p>
<h2>Two new types of TypedArrays</h2>
<p>The BigInt proposal includes two new TypedArray flavors: <code>BigInt64Array</code> and <code>BigUint64Array</code>. We can have TypedArrays with 64-bit wide integer elements now that BigInts provide a natural way to read and write all the bits in those elements, whereas if one tried to use Numbers for that, some bits might get lost. That’s why the new arrays aren’t quite like the existing 8/16/32-bit integer TypedArrays: accessing their elements is always done with BigInts; trying to use Numbers throws an exception.</p>
<pre class="hljs language-js"><code>> <span class="hljs-keyword">const</span> big_array = <span class="hljs-keyword">new</span> BigInt64Array(<span class="hljs-number">1</span>);
> big_array[<span class="hljs-number">0</span>] = <span class="hljs-number">123</span>n; <span class="hljs-comment">// OK</span>
> big_array[<span class="hljs-number">0</span>]
<span class="hljs-number">123</span>n
> big_array[<span class="hljs-number">0</span>] = <span class="hljs-number">456</span>;
<span class="hljs-built_in">TypeError</span>: Cannot convert <span class="hljs-number">456</span> to a BigInt
> big_array[<span class="hljs-number">0</span>] = BigInt(<span class="hljs-number">456</span>); <span class="hljs-comment">// OK</span>
</code></pre>
<p>Just like JavaScript code working with these types of arrays looks and works a bit different from traditional TypedArray code, we had to generalize our TypedArray implementation to behave differently for the two newcomers.</p>
<h2>Optimization considerations</h2>
<p>For now, we are shipping a baseline implementation of BigInts. It is functionally complete and should provide solid performance (a little bit faster than existing userland libraries), but it is not particularly optimized. The reason is that, in line with our aim to prioritize real-world applications over artificial benchmarks, we first want to see how you will use BigInts, so that we can then optimize precisely the cases you care about!</p>
<p>For example, if we see that relatively small BigInts (up to 64 bits) are an important use case, we could make those more memory-efficient by using a special representation for them:</p>
<pre class="hljs"><code>{
type: 'BigInt-Int64',
value: 0x12…,
}
</code></pre>
<p>One of the details that remain to be seen is whether we should do this for “int64” value ranges, “uint64” ranges, or both — keeping in mind having to support fewer fast paths means that we can ship them sooner, and also that every additional fast path ironically makes everything else a bit slower, because affected operations always have to check whether it is applicable.</p>
<p>Another story is support for BigInts in the optimizing compiler. For computationally heavy applications operating on 64-bit values and running on 64-bit hardware, keeping those values in registers would be much more efficient than allocating them as objects on the heap as we currently do. We have plans for how we would implement such support, but it is another case where we would first like to find out whether that is really what you, our users, care about the most; or whether we should spend our time on something else instead.</p>
<p>Please send us feedback on what you’re using BigInts for, and any issues you encounter! You can reach us at our bug tracker <a href="https://crbug.com/v8/new">crbug.com/v8/new</a>, via mail to <a href="mailto:v8-users@googlegroups.com">v8-users@googlegroups.com</a>, or <a href="https://twitter.com/v8js">@v8js</a> on Twitter.</p>
<p><em>Posted by Jakob Kummerow, arbitrator of precision</em></p>Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-64403299992178153252018-04-24T03:34:00.000-07:002018-04-24T09:24:13.523-07:00Improved code caching<p>V8 uses <a href="https://v8project.blogspot.com/2015/07/code-caching.html">code caching</a> to cache the generated code for frequently-used scripts. Starting with Chrome 66, we are caching more code by generating the cache after top-level execution. This leads to a 20-40% reduction in parse and compilation time during the initial load.</p>
<h2>Background</h2>
<p>V8 uses two kinds of code caching to cache generated code to be reused later. The first is the in-memory cache that is available within each instance of V8. The code generated after the initial compile is stored into this cache, keyed on the source string. This is available for reuse within the same instance of V8. The other kind of code caching serializes the generated code and stores it on disk for future use. This cache is not specific to a particular instance of V8 and can be used across different instances of V8. This blog post focuses on this second kind of code caching as used in Chrome. (Other embedders also use this kind of code caching; it’s not limited to Chrome. However, this blog post only focuses on the usage in Chrome.)</p>
<p>Chrome stores the serialized generated code onto the disk cache and keys it with the URL of the script resource. When loading a script, Chrome checks the disk cache. If the script is already cached, Chrome passes the serialized data to V8 as a part of compile request. V8 then deserializes this data instead of parsing and compiling the script. There are also additional checks involved to ensure that the code is still usable (for example: a version mismatch makes the cached data unusable).</p>
<p>Real-world data shows that the code cache hit rates (for scripts that could be cached) is high (~86%). Though the cache hit rates are high for these scripts, the amount of code we cache per script is not very high. Our analysis showed that increasing the amount of code that is cached would reduce the time spent in parsing and compiling JavaScript code by around 40%.</p>
<h2>Increasing the amount of code that is cached</h2>
<p>In the previous approach, code caching was coupled with the requests to compile the script.</p>
<p>Embedders could request that V8 serialize the code it generated during its top-level compilation of a new JavaScript source file. V8 returned the serialized code after compiling the script. When Chrome requests the same script again, V8 fetches the serialized code from the cache and deserializes it. V8 completely avoids recompiling functions that are already in the cache. These scenarios are shown in the following figure:</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAS2lOupZ-UPSeucpVPeMy4lhRBfMxwWpuMDMk34DQ58WZxOgMjm2kKiV23gaQyUoKTZGJYIjYyNpz0CyC4903zAQtO9w1TFGl7KhGanNZPerpheRWnbwFac_BRzPKu0aUSvjTCTIET36e/s1600/warm-hot-run-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="195" data-original-width="624" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAS2lOupZ-UPSeucpVPeMy4lhRBfMxwWpuMDMk34DQ58WZxOgMjm2kKiV23gaQyUoKTZGJYIjYyNpz0CyC4903zAQtO9w1TFGl7KhGanNZPerpheRWnbwFac_BRzPKu0aUSvjTCTIET36e/s1600/warm-hot-run-1.png" /></a></div>
<p>V8 only compiles the functions that are expected to be immediately executed (IIFEs) during the top-level compile and marks other functions for lazy compilation. This helps improve page load times by avoiding compiling functions that are not required, however it means that the serialized data only contains the code for the functions that are eagerly compiled.</p>
<p>Prior to Chrome 59, we had to generate the code cache before any execution has started. The earlier baseline compiler of V8 (Full-codegen) generates specialized code for the execution context. Full-codegen used code patching to fast-path operations for the specific execution context. Such code cannot be serialized easily by removing the context specific data to be used in other execution contexts.</p>
<p>With <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">the launch of Ignition</a> in Chrome 59, this restriction is no longer necessary. Ignition uses <a href="https://www.youtube.com/watch?v=u7zRSm8jzvA">data-driven inline caches</a> to fast-path operations in the current execution context. The context-dependent data is stored in feedback vectors and is separate from the generated code. This has opened the possibility of generating code caches even after the execution of the script. As we execute the script, more functions (that were marked for lazy compile) are compiled, allowing us to cache more code.</p>
<p>V8 exposes a new API, <code>ScriptCompiler::CreateCodeCache</code>, to request code caches independent of the compile requests. Requesting code caches along with compile requests is deprecated and would not work in V8 v6.6 onwards. Since version 66, Chrome uses this API to request the code cache after the top-level execute. The following figure shows the new scenario of requesting the code cache. The code cache is requested after the top level execute and hence contains the code for functions that were compiled later during the execution of the script. In the later runs (shown as hot runs in the following figure), it avoids compilation of functions during top level execute.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizcHW6k6YsoNAlu2kqFcoSzjtG-6SmP55UNdTojzMaDF43Jzo83BzXNEPI2rA4LuHp4k2fyZASzExirWOThxkwrgJoaebn1lHRnpnUMOi6mlC1OpYJyIi0nsig5Izzompb7SsG_CerH9a9/s1600/warm-hot-run-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="191" data-original-width="624" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizcHW6k6YsoNAlu2kqFcoSzjtG-6SmP55UNdTojzMaDF43Jzo83BzXNEPI2rA4LuHp4k2fyZASzExirWOThxkwrgJoaebn1lHRnpnUMOi6mlC1OpYJyIi0nsig5Izzompb7SsG_CerH9a9/s1600/warm-hot-run-2.png" /></a></div>
<h2>Results</h2>
<p>The performance of this feature is measured using our internal <a href="https://cs.chromium.org/chromium/src/tools/perf/page_sets/v8_top_25.py?q=v8.top&sq=package:chromium&l=1">real-world benchmarks</a>. The following graph shows the reduction in the parse and compile time over the earlier caching scheme. There is a reduction of around 20–40% in both parse and compilation time on most of the pages.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTnpoJqTLE1KomYSMPuz0RcvrCt8RIVFGLlSz42FyLghwOc0pRSLdR6aj-VTa2lpyU16vNVERTMqUDjGHSZOk0lJi9m6uKo8eenUBZ1qvJL41RSZ_sgPsVICoxZB9p4P04-F9N_G8oYxX/s1600/parse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="1530" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTnpoJqTLE1KomYSMPuz0RcvrCt8RIVFGLlSz42FyLghwOc0pRSLdR6aj-VTa2lpyU16vNVERTMqUDjGHSZOk0lJi9m6uKo8eenUBZ1qvJL41RSZ_sgPsVICoxZB9p4P04-F9N_G8oYxX/s640/parse.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCPWwgszVfS0dchyTYR-EKd2hONOwB02VuNLzd3HaZV-vJvKH3CEoT5EnkPKbolAEBcnExm8R7Lp25bZ72ygSMf-eg6EKgqaB-uBdRqKYYvxOLhEhD8QUjf2UjdDQR2h3o-0Y2yOEw6MVP/s1600/compile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="1532" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCPWwgszVfS0dchyTYR-EKd2hONOwB02VuNLzd3HaZV-vJvKH3CEoT5EnkPKbolAEBcnExm8R7Lp25bZ72ygSMf-eg6EKgqaB-uBdRqKYYvxOLhEhD8QUjf2UjdDQR2h3o-0Y2yOEw6MVP/s640/compile.png" width="640" /></a></div>
<p>Data from the wild shows similar results with a 20–40% reduction in the time spent in compiling JavaScript code both on desktop and mobile. On Android, this optimization also translates to a 1–2% reduction in the top-level page-load metrics like the time a webpage takes to become interactive. We also monitored the memory and disk usage of Chrome and did not see any noticeable regressions.</p>
<p><em>Posted by Mythri Alle, Chief Code Cacher</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com2tag:blogger.com,1999:blog-2683431904392903776.post-50341206806379159172018-03-27T00:28:00.001-07:002018-03-27T02:46:13.042-07:00V8 release v6.6<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.6">V8 version 6.6</a>, which is in beta until its release in coordination with Chrome 66 Stable in several weeks. V8 v6.6 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>JavaScript language features</h2>
<p><a href="https://tc39.github.io/Function-prototype-toString-revision/"><code>Function.prototype.toString()</code></a> now returns exact slices of source code text, including whitespace and comments. Here’s an example comparing the old and the new behavior:</p>
<pre class="hljs language-js"><code><span class="hljs-comment">// Note the comment between the `function` keyword</span>
<span class="hljs-comment">// and the function name, as well as the space following</span>
<span class="hljs-comment">// the function name.</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> /* <span class="hljs-title">a</span> <span class="hljs-title">comment</span> */ <span class="hljs-title">foo</span> (<span class="hljs-params"></span>) </span>{}
<span class="hljs-comment">// Previously:</span>
foo.toString();
<span class="hljs-comment">// → 'function foo() {}'</span>
<span class="hljs-comment">// ^ no comment</span>
<span class="hljs-comment">// ^ no space</span>
<span class="hljs-comment">// Now:</span>
foo.toString();
<span class="hljs-comment">// → 'function /* comment */ foo () {}'</span>
</code></pre>
<p>Line separator (U+2028) and paragraph separator (U+2029) symbols are now allowed in string literals, <a href="https://github.com/tc39/proposal-json-superset">matching JSON</a>. Previously, these symbols were treated as line terminators within string literals, and so using them resulted in a <code>SyntaxError</code> exception.</p>
<p>The <code>catch</code> clause of <code>try</code> statements can now be <a href="https://tc39.github.io/proposal-optional-catch-binding/">used without a parameter</a>. This is useful if you don’t have a need for the <code>exception</code> object in the code that handles the exception.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">try</span> {
doSomethingThatMightThrow();
} <span class="hljs-keyword">catch</span> { <span class="hljs-comment">// → Look mom, no binding!</span>
handleException();
}
</code></pre>
<p>In addition to <code>String.prototype.trim()</code>, V8 now implements <a href="https://github.com/tc39/proposal-string-left-right-trim"><code>String.prototype.trimStart()</code> and <code>String.prototype.trimEnd()</code></a>. This functionality was previously available through the non-standard <code>trimLeft()</code> and <code>trimRight()</code> methods, which remain as aliases of the new methods for backward compatibility.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> string = <span class="hljs-string">' hello world '</span>;
string.trimStart();
<span class="hljs-comment">// → 'hello world '</span>
string.trimEnd();
<span class="hljs-comment">// → ' hello world'</span>
string.trim();
<span class="hljs-comment">// → 'hello world'</span>
</code></pre>
<p><a href="https://tc39.github.io/ecma262/#sec-array.prototype.values">The <code>Array.prototype.values()</code> method</a> gives arrays the same iteration interface as the ES2015 <code>Map</code> and <code>Set</code> collections: all can now be iterated over by <code>keys</code>, <code>values</code>, or <code>entries</code> by calling the same-named method. This change has the potential to be incompatible with existing JavaScript code. If you discover odd or broken behavior on a website, please try to disable this feature via <code>chrome://flags/#enable-array-prototype-values</code> and <a href="https://bugs.chromium.org/p/v8/issues/entry?template=Defect+report+from+user">file an issue</a>.</p>
<h2>Code caching after execution</h2>
<p>The terms <em>cold</em> and <em>warm load</em> might be well-known for people concerned about loading performance. In V8, there is also the concept of a <em>hot load</em>. Let’s explain the different levels with Chrome embedding V8 as an example:</p>
<ul>
<li><strong>Cold load:</strong> Chrome sees the visited web page for the first time and does not have any data cached at all.</li>
<li><strong>Warm load</strong>: Chrome remembers that the web page was already visited and can retrieve certain assets (e.g. images and script source files) from the cache. V8 recognizes that the page shipped the same script file already, and therefore caches the compiled code along with the script file in the disk cache.</li>
<li><strong>Hot load</strong>: The third time Chrome visits the web page, when serving script file from the disk cache, it also provides V8 with the code cached during the previous load. V8 can use this cached code to avoid having to parse and compile the script from scratch.</li>
</ul>
<p>Before V8 v6.6 we cached the generated code immediately after the top-level compile. V8 only compiles the functions that are known to be immediately executed during the top-level compile and marks other functions for lazy compilation. This meant that cached code only included top-level code, while all other functions had to be lazily compiled from scratch on each page load. Beginning with version 6.6, V8 caches the code generated after the script’s top-level execution. As we execute the script, more functions are lazily compiled and can be included in the cache. As a result, these functions don’t need to be compiled on future page loads, reducing compile and parse time in hot load scenarios by between 20–60%. The visible user change is a less congested main thread, thus a smoother and faster loading experience.</p>
<p>Look out for a detailed blog post on this topic soon.</p>
<h2>Background compilation</h2>
<p>For some time V8 has been able to <a href="https://blog.chromium.org/2015/03/new-javascript-techniques-for-rapid.html">parse JavaScript code on a background thread</a>. With V8’s new <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">Ignition bytecode interpreter that shipped last year</a>, we were able to extend this support to also enable compilation of the JavaScript source to bytecode on a background thread. This enables embedders to perform more work off the main thread, freeing it up to execute more JavaScript and reduce jank. We enabled this feature in Chrome 66, where we see between 5% to 20% reduction on main-thread compilation time on typical websites. For more details, please see <a href="https://v8project.blogspot.com/2018/03/background-compilation.html">the recent blog post on this feature</a>.</p>
<h2>Removal of AST numbering</h2>
<p>We have continued to reap benefits from simplifying our compilation pipeline after the <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">Ignition and TurboFan launch last year</a>. Our previous pipeline required a post-parsing stage called "AST Numbering", where nodes in the generated abstract syntax tree were numbered so that the various compilers using it would have a common point of reference.</p>
<p>Over time this post-processing pass had ballooned to include other functionality: numbering suspend point for generators and async functions, collecting inner functions for eager compilation, initializing literals or detecting unoptimizable code patterns.</p>
<p>With the new pipeline, the Ignition bytecode became the common point of reference, and the numbering itself was no longer required — but, the remaining functionality was still needed, and the AST numbering pass remained.</p>
<p>In V8 v6.6, we finally managed to <a href="https://bugs.chromium.org/p/v8/issues/detail?id=7178">move out or deprecate this remaining functionality</a> into other passes, allowing us to remove this tree walk. This resulted in a 3-5% improvement in real-world compile time.</p>
<h2>Asynchronous performance improvements</h2>
<p>We managed to squeeze out some nice performance improvements for promises and async functions, and especially managed to close the gap between async functions and desugared promise chains.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy96z-A22pFuH8KWIPOum__GJG6ElNCxRWr5vnz4EU1pYsMlo-ZqY7riY5_3yI1fc-rggnbiUassAO7PGT9fGbFJ0oZqpx5NMvnagh9MAKTI6E0nk1_S_rP4CHnxxqCvzLMbA5T6Tqgs0o/s1600/promise.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1028" data-original-width="1508" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy96z-A22pFuH8KWIPOum__GJG6ElNCxRWr5vnz4EU1pYsMlo-ZqY7riY5_3yI1fc-rggnbiUassAO7PGT9fGbFJ0oZqpx5NMvnagh9MAKTI6E0nk1_S_rP4CHnxxqCvzLMbA5T6Tqgs0o/s640/promise.png" width="640" /></a></div>
<p>In addition, the performance of async generators and async iteration was improved significantly, making them a viable option for the upcoming Node 10 LTS, which is scheduled to include V8 v6.6. As an example, consider the following Fibonacci sequence implementation:</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span>* <span class="hljs-title">fibonacciSequence</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> a = <span class="hljs-number">0</span>, b = <span class="hljs-number">1</span>;;) {
<span class="hljs-keyword">yield</span> a;
<span class="hljs-keyword">const</span> c = a + b;
a = b;
b = c;
}
}
<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fibonacci</span>(<span class="hljs-params">id, n</span>) </span>{
<span class="hljs-keyword">for</span> <span class="hljs-keyword">await</span> (<span class="hljs-keyword">const</span> value <span class="hljs-keyword">of</span> fibonacciSequence()) {
<span class="hljs-keyword">if</span> (n-- === <span class="hljs-number">0</span>) <span class="hljs-keyword">return</span> value;
}
}
</code></pre>
<p>We’ve measured the following improvements for this pattern, before and after Babel transpilation:</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9c7MKslF3SCwtieqaa1OJ268o8-NBfHstdHn4Bfj-taltvpemNxpJ4wBt-amRMd65ztSKWlkYCaLh_RvfJ2gDGVcl01jBQ4of99Vv7NxtVqPD6lIoE0KO9B0B2lsi00Pc4u_QIopjsC-O/s1600/async-generator.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1028" data-original-width="1508" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9c7MKslF3SCwtieqaa1OJ268o8-NBfHstdHn4Bfj-taltvpemNxpJ4wBt-amRMd65ztSKWlkYCaLh_RvfJ2gDGVcl01jBQ4of99Vv7NxtVqPD6lIoE0KO9B0B2lsi00Pc4u_QIopjsC-O/s640/async-generator.png" width="640" /></a></div>
<p>Finally, <a href="https://chromium-review.googlesource.com/c/v8/v8/+/866734">bytecode improvements</a> to “suspendable functions” such as generators, async functions, and modules, have improved the performance of these functions while running in the interpreter, and decreased their compiled size. We’re planning on improving the performance of async functions and async generators even further with upcoming releases, so stay tuned.</p>
<h2>Array performance improvements</h2>
<p>The throughput performance of <code>Array#reduce</code> was increased by more than 10× for holey double arrays (<a href="https://v8project.blogspot.com/2017/09/elements-kinds-in-v8.html">see our blog post for an explanation what holey and packed arrays are</a>). This widens the fast-path for cases where <code>Array#reduce</code> is applied to holey and packed double arrays.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg69u-35e8IoEXJF-eOYBk3L9JnpzR0aSrkoroDaxb5gxl6u_QHTcut38Y8xLXVLAq4bGSDUkZ_lJsYa34cU-l0XtImpialFS5KiHTVquimiIGIaam-JCa4Cgub-nYVSL-4W57ls5g834YJ/s1600/array-reduce.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="742" data-original-width="1300" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg69u-35e8IoEXJF-eOYBk3L9JnpzR0aSrkoroDaxb5gxl6u_QHTcut38Y8xLXVLAq4bGSDUkZ_lJsYa34cU-l0XtImpialFS5KiHTVquimiIGIaam-JCa4Cgub-nYVSL-4W57ls5g834YJ/s640/array-reduce.png" width="640" /></a></div>
<h2>Untrusted code mitigations</h2>
<p>In V8 v6.6 we’ve landed <a href="https://github.com/v8/v8/wiki/Untrusted-code-mitigations">more mitigations for side-channel vulnerabilities</a> to prevent information leaks to untrusted JavaScript and WebAssembly code.</p>
<h2>GYP is gone</h2>
<p>This is the first V8 version that officially ships without GYP files. If your product needs the deleted GYP files, you need to copy them into your own source repository.</p>
<h2>Memory profiling</h2>
<p>Chrome’s DevTools can now trace and snapshot C++ DOM objects and display all reachable DOM objects from JavaScript with their references. This feature is one of the benefits of the new C++ tracing mechanism of the V8 garbage collector. For more information please have a look at <a href="https://v8project.blogspot.com/2018/03/tracing-js-dom.html">the dedicated blog post</a>.</p>
<h2>V8 API</h2>
<p>Please use <code>git log branch-heads/6.5..branch-heads/6.6 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using%20Git">active V8 checkout</a> can use <code>git checkout -b 6.6 -t branch-heads/6.6</code> to experiment with the new features in V8 v6.6. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com2tag:blogger.com,1999:blog-2683431904392903776.post-12300064621975273222018-03-26T10:14:00.001-07:002018-03-26T10:32:21.536-07:00Background compilation<p>TL;DR: Starting with Chrome 66, V8 compiles JavaScript source code on a background thread, reducing the amount of time spent compiling on the main thread by between 5% to 20% on typical websites.</p>
<h2>Background</h2>
<p>Since version 41, Chrome has supported <a href="https://blog.chromium.org/2015/03/new-javascript-techniques-for-rapid.html">parsing of JavaScript source files on a background thread</a> via V8’s <a href="https://cs.chromium.org/chromium/src/v8/include/v8.h?q=StreamedSource&sq=package:chromium&l=1389"><code>StreamedSource</code></a> API. This enables V8 to start parsing JavaScript source code as soon as Chrome has downloaded the first chunk of the file from the network, and to continue parsing in parallel while Chrome streams the file over the network. This can provide considerable loading time improvements since V8 can be almost finished parsing the JavaScript by the time the file has finished downloading.</p>
<p>However, due to limitations in V8’s original baseline compiler, V8 still needed to go back to the main thread to finalize parsing and compile the script into JIT machine code that would execute the script’s code. With the switch to our new <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">Ignition + TurboFan pipeline</a>, we are now able to move bytecode compilation to the background thread as well, thereby freeing up Chrome’s main-thread to deliver a smoother, more responsive web browsing experience.</p>
<h2>Building a background thread bytecode compiler</h2>
<p>V8’s Ignition bytecode compiler takes the <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">abstract syntax tree (AST)</a> produced by the parser as input and produces a stream of bytecode (<code>BytecodeArray</code>) along with associated meta-data which enables the Ignition interpreter to execute the JavaScript source.</p>
<div class="separator" style="clear: both; text-align: center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU47WmI1tFkNjDFvXiCbHiphLmG6sZlYVAMY66lzS_QQ9ejsLVJartPPwj6vLFdRqqhoOlU_Y1UtjUkCrPjF5vB5p3tqo69TKcfwqkOMTJbvm-ANLRGLbfbvvTSBDsxZDsmm7QfBXSflJk/s1600/bytecode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="1162" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU47WmI1tFkNjDFvXiCbHiphLmG6sZlYVAMY66lzS_QQ9ejsLVJartPPwj6vLFdRqqhoOlU_Y1UtjUkCrPjF5vB5p3tqo69TKcfwqkOMTJbvm-ANLRGLbfbvvTSBDsxZDsmm7QfBXSflJk/s640/bytecode.png" width="640"></a></div>
<p>Ignition’s bytecode compiler was built with multi-threading in mind, however a number of changes were required throughout the compilation pipeline to enable background compilation. One of the main changes was to prevent the compilation pipeline from accessing objects in V8’s JavaScript heap while running on the background thread. Objects in V8’s heap are not thread-safe, since Javascript is single-threaded, and might be modified by the main-thread or V8’s garbage collector during background compilation.</p>
<p>There were two main stages of the compilation pipeline which accessed objects on V8’s heap: AST internalization, and bytecode finalization. AST internalization is a process by which literal objects (strings, numbers, object-literal boilerplate, etc.) identified in the AST are allocated on the V8 heap, such that they can be used directly by the generated bytecode when the script is executed. This process traditionally happened immediately after the parser built the AST. As such, there were a number of steps later in the compilation pipeline that relied on the literal objects having been allocated. To enable background compilation we moved AST internalization later in the compilation pipeline, after the bytecode had been compiled. This required modifications to the later stages of the pipeline to access the <em>raw</em> literal values embedded in the AST instead of internalized on-heap values.</p>
<p>Bytecode finalization involves building the final <code>BytecodeArray</code> object, used to execute the function, alongside associated metadata — for example, a <code>ConstantPoolArray</code> which stores constants referred to by the bytecode, and a <code>SourcePositionTable</code> which maps the JavaScript source line and column numbers to bytecode offset. Since JavaScript is a dynamic language, these objects all need to live in the JavaScript heap to enable them to be garbage-collected if the JavaScript function associated with the bytecode is collected. Previously some of these metadata objects would be allocated and modified during bytecode compilation, which involved accessing the JavaScript heap. In order to enable background compilation, Ignition’s bytecode generator was refactored to keep track of the details of this metadata and defer allocating them on the JavaScript heap until the very final stages of compilation.</p>
<p>With these changes, almost all of the script’s compilation can be moved to a background thread, with only the short AST internalization and bytecode finalization steps happening on the main thread just before script execution.</p>
<div class="separator" style="clear: both; text-align: center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisM44PHKWI89x_ic4NUdTbYFjV1uUxHCM7bgsXauX8eRW42RR-eygwdixYGYTMLa83f8npu9Ycczk8Q5Xja11JGC8BpdxqmfVyRcOEY1SmMCR9hzSl37Ich9x00JTe6ZuvtGLyOnMTTQ45/s1600/threads.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="307" data-original-width="1211" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisM44PHKWI89x_ic4NUdTbYFjV1uUxHCM7bgsXauX8eRW42RR-eygwdixYGYTMLa83f8npu9Ycczk8Q5Xja11JGC8BpdxqmfVyRcOEY1SmMCR9hzSl37Ich9x00JTe6ZuvtGLyOnMTTQ45/s640/threads.png" width="640"></a></div>
<p>Currently, only top-level script code and immediately invoked function expressions (IIFEs) are compiled on a background thread — inner functions are still compiled lazily (when first executed) on the main thread. We are hoping to extend background compilation to more situations in the future. However, even with these restrictions, background compilation leaves the main thread free for longer, enabling it to do other work such as reacting to user-interaction, rendering animations or otherwise producing a smoother more responsive experience.</p>
<h2>Results</h2>
<p>We evaluated the performance of background compilation using our <a href="https://v8project.blogspot.com/2016/12/how-v8-measures-real-world-performance.html">real-world benchmarking framework</a> across a set of popular webpages.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRL6dnfIkEXUciB3wVyi9HvhKvJbCvRBu_GfgY_tk8IisQczEdmd5_8nbCHgq8B5X3ZDyuBI3U0oEMT2FYlXSVVU05nABnG4HTTIQYPYLt6KRvoFBBOsrGKCoO-rcUWeZ85NrEkeWOePRH/s1600/desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="880" data-original-width="1424" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRL6dnfIkEXUciB3wVyi9HvhKvJbCvRBu_GfgY_tk8IisQczEdmd5_8nbCHgq8B5X3ZDyuBI3U0oEMT2FYlXSVVU05nABnG4HTTIQYPYLt6KRvoFBBOsrGKCoO-rcUWeZ85NrEkeWOePRH/s640/desktop.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdthgzEI-Ni69k4sOb0Lshy8hN82n9gl1UD_uKR-N6MIvqSAeKkMDYh3iyEAxAy6zR_k9Z9SmEPzJxrTdIc_ttiH-9JSKJ2PWaNlXkiEXH26T67KsUh6PJKT-Hm3OlIHy2Bv8nC-j2SaN2/s1600/mobile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1278" data-original-width="1600" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdthgzEI-Ni69k4sOb0Lshy8hN82n9gl1UD_uKR-N6MIvqSAeKkMDYh3iyEAxAy6zR_k9Z9SmEPzJxrTdIc_ttiH-9JSKJ2PWaNlXkiEXH26T67KsUh6PJKT-Hm3OlIHy2Bv8nC-j2SaN2/s640/mobile.png" width="640" /></a></div>
<p>The proportion of compilation that can happen on a background thread varies depending on the proportion of bytecode compiled during top-level streaming-script compilation verses being lazy compiled as inner functions are invoked (which must still occur on the main thread). As such, the proportion of time saved on the main thread varies, with most pages seeing between 5% to 20% reduction in main-thread compilation time.</p>
<h2>Next steps</h2>
<p>What’s better than compiling a script on a background thread? Not having to compile the script at all! Alongside background compilation we have also been working on improving V8’s <a href="https://v8project.blogspot.com/2015/07/code-caching.html">code-caching system</a> to expand the amount of code cached by V8, thereby speeding up page loading for sites you visit often. We hope to bring you updates on this front soon. Stay tuned!</p>
<p><em>Posted by <a href="https://twitter.com/rossmcilroy">Ross McIlroy</a>, main thread defender</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-68880066870832506972018-03-01T04:16:00.000-08:002018-03-01T04:16:05.629-08:00Tracing from JS to the DOM and back again<h2>Summary</h2>
<p>Debugging memory leaks in Chrome 66 just became much easier. Chrome’s DevTools can now trace and snapshot C++ DOM objects and display all reachable DOM objects from JavaScript with their references. This feature is one of the benefits of the new C++ tracing mechanism of the V8 garbage collector.</p>
<h2>Background</h2>
<p>A memory leak in a garbage collection system occurs when an unused object is not freed due to unintentional references from other objects. Memory leaks in web pages often involve interaction between JavaScript objects and DOM elements.</p>
<p>The following <a href="https://ulan.github.io/misc/leak.html">toy example</a> shows a memory leak that happens when a programmer forgets to unregister an event listener. None of the objects referenced by the event listener can be garbage collected. In particular, the iframe window leaks together with the event listener.</p>
<pre class="hljs language-js"><code><span class="hljs-comment">// Main window:</span>
<span class="hljs-keyword">const</span> iframe = <span class="hljs-built_in">document</span>.createElement(<span class="hljs-string">'iframe'</span>);
iframe.src = <span class="hljs-string">'iframe.html'</span>;
<span class="hljs-built_in">document</span>.body.appendChild(iframe);
iframe.addEventListener(<span class="hljs-string">'load'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">const</span> local_variable = iframe.contentWindow;
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">leakingListener</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-comment">// Do something with `local_variable`.</span>
<span class="hljs-keyword">if</span> (local_variable) {}
}
<span class="hljs-built_in">document</span>.body.addEventListener(<span class="hljs-string">'my-debug-event'</span>, leakingListener);
<span class="hljs-built_in">document</span>.body.removeChild(iframe);
<span class="hljs-comment">// <span class="hljs-doctag">BUG:</span> forgot to unregister `leakingListener`.</span>
});
</code></pre>
<p>The leaking iframe window also keeps all its JavaScript objects alive.</p>
<pre class="hljs language-js"><code><span class="hljs-comment">// iframe.html:</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Leak</span> </span>{};
<span class="hljs-built_in">window</span>.global_variable = <span class="hljs-keyword">new</span> Leak();
</code></pre>
<p>It is important to understand the notion of retaining paths to find the root cause of a memory leak. A retaining path is a chain of objects that prevents garbage collection of the leaking object. The chain starts at a root object such as the global object of the main window. The chain ends at the leaking object. Each intermediate object in the chain has a direct reference to the next object in the chain. For example, the retaining path of the <code>Leak</code> object in the iframe looks as follows:</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwhu81jWTMu_7QHiAo5RI3Rkk2sAcSVPX2g18rh12XMgndJXoqQO4D3j3TD0SYt2MFggoJDJkQAa4KhU_ve3wYZ1D3z-CG3zB9xb5Jccmf856h1Solx0LORcwdZQHWnYHExbKw4MLexf0C/s1600/retaining-path.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="517" data-original-width="427" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwhu81jWTMu_7QHiAo5RI3Rkk2sAcSVPX2g18rh12XMgndJXoqQO4D3j3TD0SYt2MFggoJDJkQAa4KhU_ve3wYZ1D3z-CG3zB9xb5Jccmf856h1Solx0LORcwdZQHWnYHExbKw4MLexf0C/s640/retaining-path.png" width="528" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 1: Retaining path of an object leaked via iframe and event listener.</td></tr></tbody></table>
<p>Note that the retaining path crosses the JavaScript / DOM boundary (highlighted in green/red, respectively) two times. The JavaScript objects live in the V8 heap, while DOM objects are C++ objects in Chrome.</p>
<h2>DevTools heap snapshot</h2>
<p>We can inspect the retaining path of any object by taking a heap snapshot in DevTools. The heap snapshot precisely captures all objects on the V8 heap. Up until recently it had only approximate information about the C++ DOM objects. For instance, Chrome 65 shows an incomplete retaining path for the <code>Leak</code> object from the toy example:</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYG6BlEY9sYdLsRIsQiWADwRajGjQekhspgiOLyc-fuhAnDWfnaQvpb5EDbO4nYP0icCINgkRAsatIImAYWBOYxOtXREnTsKnAg9GrKsyEeKbo1plFhfq63AIsUDy4_XmQBfzr33UJjXMI/s1600/chrome-65.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="877" data-original-width="1513" height="371" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYG6BlEY9sYdLsRIsQiWADwRajGjQekhspgiOLyc-fuhAnDWfnaQvpb5EDbO4nYP0icCINgkRAsatIImAYWBOYxOtXREnTsKnAg9GrKsyEeKbo1plFhfq63AIsUDy4_XmQBfzr33UJjXMI/s640/chrome-65.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 2: Retaining path in Chrome 65.</td></tr></tbody></table>
<p>Only the first row is precise: the <code>Leak</code> object is indeed stored in the <code>global_variable</code> of the iframe’s window object. Subsequent rows approximate the real retaining path and make debugging of the memory leak hard.</p>
<p>As of Chrome 66, DevTools traces through C++ DOM objects and precisely captures the objects and references between them. This is based on the powerful C++ object tracing mechanism that was introduced for cross-component garbage collection earlier. As a result, <a href="https://www.youtube.com/watch?v=ixadA7DFCx8">the retaining path in DevTools</a> is actually correct now:</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://www.youtube.com/watch?v=ixadA7DFCx8" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1204" data-original-width="1512" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk_dmBIAvSZ61I2e7PuNIHbrHWynyNhExkQ06Z7WQ-g5MiYH9UjF02pMxioxKbQmqpCUuUD8bBQIbiTLAXOrnLZ5xmgkagz2dtAoK3AUJMulF53JEAqkavf0EUcVBo01iBFa8cLyZ1wDQD/s640/chrome-66.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 3: Retaining path in Chrome 66.</td></tr></tbody></table>
<h2>Under the hood: cross-component tracing</h2>
<p>DOM objects are managed by Blink — the rendering engine of Chrome, which is responsible for translating the DOM into actual text and images on the screen. Blink and its representation of the DOM are written in C++ which means that the DOM cannot be directly exposed to JavaScript. Instead, objects in the DOM come in two halves: a V8 wrapper object available to JavaScript and a C++ object representing the node in the DOM. These objects have direct references to each other. Determining liveness and ownership of objects across multiple components, such as Blink and V8, is difficult because all involved parties need to agree on which objects are still alive and which ones can be reclaimed.</p>
<p>In Chrome 56 and older versions (i.e. until Mar 2017), Chrome used a mechanism called <em>object grouping</em> to determine liveness. Objects were assigned groups based on containment in documents. A group with all of its containing objects was kept alive as long as a single object was kept alive through some other retaining path. This made sense in the context of DOM nodes that always refer to their containing document, forming so-called DOM trees. However, this abstraction removed all of the actual retaining paths which made it hard to use for debugging as shown in Figure 2. In the case of objects that did not fit this scenario, e.g. JavaScript closures used as event listeners, this approach also became cumbersome and led to various bugs where JavaScript wrapper objects would prematurely get collected, which resulted in them being replaced by empty JS wrappers that would lose all their properties.</p>
<p>Starting from Chrome 57, this approach was replaced by cross-component tracing, which is a mechanism that determines liveness by tracing from JavaScript to the C++ implementation of the DOM and back. We implemented incremental tracing on the C++ side with write barriers to avoid any stop-the-world tracing jank we’ve been talking about in <a href="https://v8project.blogspot.com/2017/11/orinoco-parallel-scavenger.html">previous blog posts</a>. Cross-component tracing does not only provide better latency but also approximates liveness of objects across component boundaries better and fixes several <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=501866">scenarios</a> that used to cause leaks. On top of that, it allows DevTools to provide a snapshot that actually represents the DOM, as shown in Figure 3.</p>
<p>Try it out! We are happy to hear your feedback.</p>
<p><em>Posted by Ulan Degenbaev, Alexei Filippov, Michael Lippautz, and Hannes Payer — the fellowship of the DOM</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-46399398509071983322018-02-12T01:56:00.000-08:002018-02-12T02:08:51.526-08:00Lazy deserialization<p>TL;DR: Lazy deserialization was recently enabled by default in <a href="https://v8project.blogspot.com/2017/12/v8-release-64.html">V8 version 6.4</a>, reducing V8’s memory consumption by over 500 KB per browser tab on average. Read on to find out more!</p>
<h2>Introducing V8 snapshots</h2>
<p>But first, let’s take a step back and have a look at how V8 uses heap snapshots to speed up creation of new Isolates (which roughly correspond to a browser tab in Chrome). My colleague Yang Guo gave a good introduction on that front in his article on <a href="https://v8project.blogspot.com/2015/09/custom-startup-snapshots.html">custom startup snapshots</a>:</p>
<blockquote>
<p>The JavaScript specification includes a lot of built-in functionality, from math functions to a full-featured regular expression engine. Every newly-created V8 context has these functions available from the start. For this to work, the global object (for example, the <code>window</code> object in a browser) and all the built-in functionality must be set up and initialized into V8’s heap at the time the context is created. It takes quite some time to do this from scratch.</p>
<p>Fortunately, V8 uses a shortcut to speed things up: just like thawing a frozen pizza for a quick dinner, we deserialize a previously-prepared snapshot directly into the heap to get an initialized context. On a regular desktop computer, this can bring the time to create a context from 40 ms down to less than 2 ms. On an average mobile phone, this could mean a difference between 270 ms and 10 ms.</p>
</blockquote>
<p>To recap: snapshots are critical for startup performance, and they are deserialized to create the initial state of V8’s heap for each Isolate. The size of the snapshot thus determines the minimum size of the V8 heap, and larger snapshots translate directly into higher memory consumption for each Isolate.</p>
<p>A snapshot contains everything needed to fully initialize a new Isolate, including language constants (e.g., the <code>undefined</code> value), internal bytecode handlers used by the interpreter, built-in objects (e.g., <code>String</code>), and the functions installed on built-in objects (e.g., <code>String.prototype.replace</code>) together with their executable <code>Code</code> objects.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPAZqshkW7_XHfxANvBYar_Ls10t7q9rSRnrOucPy7yqxS6sSxz9QCxaEgz7DaDjTrrAYTbqKGGVceSNpeOlKbXsRTnUcnsHALlDIQQrWWOkHa0UqAGbpa3MomKvipzVPAjX0d6sggTQ7/s1600/startup-snapshot-size.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="251" data-original-width="908" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPAZqshkW7_XHfxANvBYar_Ls10t7q9rSRnrOucPy7yqxS6sSxz9QCxaEgz7DaDjTrrAYTbqKGGVceSNpeOlKbXsRTnUcnsHALlDIQQrWWOkHa0UqAGbpa3MomKvipzVPAjX0d6sggTQ7/s640/startup-snapshot-size.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Startup snapshot size in bytes from 2016-01 to 2017-09. The x-axis shows V8 revision numbers.</td></tr></tbody></table>
<p>Over the past two years, the snapshot has nearly tripled in size, going from roughly 600 KB in early 2016 to over 1500 KB today. The vast majority of this increase comes from serialized <code>Code</code> objects, which have both increased in count (e.g., through recent additions to the JavaScript language as the language specification evolves and grows); and in size (built-ins generated by the new <a href="https://v8project.blogspot.com/2017/11/csa.html">CodeStubAssembler</a> pipeline ship as native code vs. the more compact bytecode or minimized JS formats).</p>
<p>This is bad news, since we’d like to keep memory consumption as low as possible.</p>
<h2>Lazy deserialization</h2>
<p>One of the major pain points was that we used to copy the entire content of the snapshot into each Isolate. Doing so was especially wasteful for built-in functions, which were all loaded unconditionally but may never have ended up being used.</p>
<p>This is where lazy deserialization comes in. The concept is quite simple: what if we were to only deserialize built-in functions just before they were called?</p>
<p>A quick investigation of some of the most popular websites showed this approach to be quite attractive: on average, only 30% of all built-in functions were used, with some sites only using 16%. This looked remarkably promising, given that most of these sites are heavy JS users and these numbers can thus be seen as a (fuzzy) lower bound of potential memory savings for the web in general.</p>
<p>As we began working on this direction, it turned out that lazy deserialization integrated very well with V8’s architecture and there were only a few, mostly non-invasive design changes necessary to get up and running:</p>
<ol>
<li><strong>Well-known positions within the snapshot.</strong> Prior to lazy deserialization, the order of objects within the serialized snapshot was irrelevant since we’d only ever deserialize the entire heap at once. Lazy deserialization must be able to deserialize any given built-in function on its own, and therefore has to know where it is located within the snapshot.</li>
<li><strong>Deserialization of single objects.</strong> V8’s snapshots were initially designed for full heap deserialization, and bolting on support for single-object deserialization required dealing with a few quirks such as non-contiguous snapshot layout (serialized data for one object could be interspersed with data for other objects) and so-called backreferences (which can directly reference objects previously deserialized within the current run).</li>
<li><strong>The lazy deserialization mechanism itself.</strong> At runtime, the lazy deserialization handler must be able to a) determine which code object to deserialize, b) perform the actual deserialization, and c) attach the serialized code object to all relevant functions.</li>
</ol>
<p>Our solution to the first two points was to add a new <a href="https://cs.chromium.org/chromium/src/v8/src/snapshot/snapshot.h?l=55&rcl=f5b1d1d4f29b238ca2f0a13bf3a7b7067854592d">dedicated built-ins area</a> to the snapshot, which may only contain serialized code objects. Serialization occurs in a well-defined order and the starting offset of each <code>Code</code> object is kept in a dedicated section within the built-ins snapshot area. Both back-references and interspersed object data are disallowed.</p>
<p><a href="https://goo.gl/dxkYDZ">Lazy built-in deserialization</a> is handled by the aptly named <a href="https://cs.chromium.org/chromium/src/v8/src/builtins/x64/builtins-x64.cc?l=1355&rcl=f5b1d1d4f29b238ca2f0a13bf3a7b7067854592d"><code>DeserializeLazy</code> built-in</a>, which is installed on all lazy built-in functions at deserialization time. When called at runtime, it deserializes the relevant <code>Code</code> object and finally installs it on both the <code>JSFunction</code> (representing the function object) and the <code>SharedFunctionInfo</code> (shared between functions created from the same function literal). Each built-in function is deserialized at most once.</p>
<p>In addition to built-in functions, we have also implemented <a href="https://goo.gl/QxZBL2">lazy deserialization for bytecode handlers</a>. Bytecode handlers are code objects that contain the logic to execute each bytecode within V8’s <a href="https://v8project.blogspot.com/2016/08/firing-up-ignition-interpreter.html">Ignition</a> interpreter. Unlike built-ins, they neither have an attached <code>JSFunction</code> nor a <code>SharedFunctionInfo</code>. Instead, their code objects are stored directly in the <a href="https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter.h?l=94&rcl=f5b1d1d4f29b238ca2f0a13bf3a7b7067854592d">dispatch table</a> into which the interpreter indexes when dispatching to the next bytecode handler. Lazy deserialization is similar as to built-ins: the <a href="https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter-generator.cc?l=3247&rcl=f5b1d1d4f29b238ca2f0a13bf3a7b7067854592d"><code>DeserializeLazy</code></a> handler determines which handler to deserialize by inspecting the bytecode array, deserializes the code object, and finally stores the deserialized handler in the dispatch table. Again, each handler is deserialized at most once.</p>
<h2>Results</h2>
<p>We evaluated memory savings by loading the top 1000 most popular websites using Chrome 65 on an Android device, with and without lazy deserialization.</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjupBxKnOyhXnyg3qfbRTV2XKfNaBJLQEzdnIKholNJZ6HSa8ac7FPkOmjtTOl7dJd9VvxUEuvhxvMFMxNZ_611mC26GJcq8ZGqJRp7DKhLEQatfXmAMvAjqHGiMp-MIp0DzXNTyRka3Vwn/s1600/memory-savings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjupBxKnOyhXnyg3qfbRTV2XKfNaBJLQEzdnIKholNJZ6HSa8ac7FPkOmjtTOl7dJd9VvxUEuvhxvMFMxNZ_611mC26GJcq8ZGqJRp7DKhLEQatfXmAMvAjqHGiMp-MIp0DzXNTyRka3Vwn/s640/memory-savings.png" width="640" /></a></p>
<p>On average, V8’s heap size decreased by 540 KB, with 25% of the tested sites saving more than 620 KB, 50% saving more than 540 KB, and 75% saving more than 420 KB.</p>
<p>Runtime performance (measured on standard JS benchmarks such as Speedometer, as well as a wide selection of popular websites) has remained unaffected by lazy deserialization.</p>
<h2>Next steps</h2>
<p>Lazy deserialization ensures that each Isolate only loads the built-in code objects that are actually used. That is already a big win, but we believe it is possible to go one step further and reduce the (built-in-related) cost of each Isolate to effectively zero.</p>
<p>We hope to bring you updates on this front later this year. Stay tuned!</p>
<p><em>Posted by Jakob Gruber (<a href="https://twitter.com/schuay">@schuay</a>)</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-18506676602953952092018-02-01T13:18:00.000-08:002018-02-02T09:30:10.465-08:00V8 release v6.5<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.5">V8 version 6.5</a>, which is in beta until its release in coordination with Chrome 65 Stable in several weeks. V8 v6.5 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>Untrusted code mode</h2>
<p>In response to the latest speculative side-channel attack called Spectre, V8 introduced an <a href="https://github.com/v8/v8/wiki/Untrusted-code-mitigations">untrusted code mode</a>. If you embed V8, consider leveraging this mode in case your application processes user-generated, not-trustworthy code. Please note that the mode is enabled by default, including in Chrome.</p>
<h2>Streaming compilation for WebAssembly code</h2>
<p>The WebAssembly API provides a special function to support streaming compilation in combination with the <code>fetch()</code> API:</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> <span class="hljs-built_in">module</span> = <span class="hljs-keyword">await</span> WebAssembly.compileStreaming(fetch(<span class="hljs-string">'foo.wasm'</span>));
</code></pre>
<p>This API has been available since V8 v6.1 and Chrome 61, although the initial implementation didn’t actually use streaming compilation. However, with V8 v6.5 and Chrome 65 we take advantage of this API and compile WebAssembly modules already while we are still downloading the module bytes. As soon as we download all bytes of a single function, we pass the function to a background thread to compile it.</p>
<p>Our measurements show that with this API, the WebAssembly compilation in Chrome 65 can keep up with up to 50 Mbit/sec download speed on high-end machines. This means that if you download WebAssembly code with 50 Mbit/sec, compilation of that code finishes as soon as the download finishes.</p>
<p>For the graph below we measure the time it takes to download and compile a WebAssembly module with 67 MB and about 190,000 functions. We do the measurements with 25 Mbit/sec, 50 Mbit/sec, and 100 Mbit/sec download speed.</p>
<p class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPKtfIy5tEfD8re54Yg_sNgYpKvOzz1MIPCaEGjwELBc1U-s0AE1HKTPKE0CXB1CQcULbJggg_08hcod5j4V27DBDk6e0VRIm-lOs5eiIaRbyz0AuFGLaLsTzOsABBuF5KrjX0pPFX6I7/s1600/wasm-streaming-compilation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="742" data-original-width="1200" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXPKtfIy5tEfD8re54Yg_sNgYpKvOzz1MIPCaEGjwELBc1U-s0AE1HKTPKE0CXB1CQcULbJggg_08hcod5j4V27DBDk6e0VRIm-lOs5eiIaRbyz0AuFGLaLsTzOsABBuF5KrjX0pPFX6I7/s640/wasm-streaming-compilation.png" width="640" /></a></p>
<p>When the download time is longer than the compile time of the WebAssembly module, e.g. in the graph above with 25 Mbit/sec and 50 Mbit/sec, then <code>WebAssembly.compileStreaming()</code> finishes compilation almost immediately after the last bytes are downloaded.</p>
<p>When the download time is shorter than the compile time, then <code>WebAssembly.compileStreaming()</code> takes about as long as it takes to compile the WebAssembly module without downloading the module first.</p>
<h2>Speed</h2>
<p>We continued to work on widening the fast-path of JavaScript builtins in general, adding a mechanism to detect and prevent a ruinous situation called a “deoptimization loop.” This occurs when your optimized code deoptimizes, and there is <em>no way to learn what went wrong</em>. In such scenarios, TurboFan just keeps trying to optimize, finally giving up after about 30 attempts. This would happen if you did something to alter the shape of the array in the callback function of any of our second order array builtins. For example, changing the <code>length</code> of the array — in v6.5, we note when that happens, and stop inlining the array builtin called at that site on future optimization attempts.</p>
<p>We also widened the fast-path by inlining many builtins that were formerly excluded because of a side-effect between the load of the function to call and the call itself, for example a function call. And <code>String.prototype.indexOf</code> got a <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6270">10× performance improvement in function calls</a>.</p>
<p>In V8 v6.4, we’d inlined support for <code>Array.prototype.forEach</code>, <code>Array.prototype.map</code>, and <code>Array.prototype.filter</code>. In V8 v6.5 we’ve added inlining support for:</p>
<ul>
<li><code>Array.prototype.reduce</code></li>
<li><code>Array.prototype.reduceRight</code></li>
<li><code>Array.prototype.find</code></li>
<li><code>Array.prototype.findIndex</code></li>
<li><code>Array.prototype.some</code></li>
<li><code>Array.prototype.every</code></li>
</ul>
<p>Furthermore, we’ve widened the fast path on all these builtins. At first we would bail out on seeing arrays with floating-point numbers, or (even more bailing out) <a href="https://v8project.blogspot.com/2017/09/elements-kinds-in-v8.html">if the arrays had “holes” in them</a>, e.g. <code>[3, 4.5, , 6]</code>. Now, we handle holey floating-point arrays everywhere except in <code>find</code> and <code>findIndex</code>, where the spec requirement to convert holes into <code>undefined</code> throws a monkey-wrench into our efforts (<em>for now…!</em>).</p>
<p>The following image shows the improvement delta compared to V8 v6.4 in our inlined builtins, broken down into integer arrays, double arrays, and double arrays with holes. Time is in milliseconds.</p>
<p class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbShIBitInc2yoJ0qkwr6oAmo5NUtCJTWIAOtDeACym6Dx-ZeNClLUTsu-keeOnvTqkGTwWlOndEM2MT9epbGd9xoGnXuwtpvba8sHoqxECVhx3zlkTHhsQtGoq4NeMlG1PeclG446mTxk/s1600/performance-improvements.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="988" data-original-width="1598" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbShIBitInc2yoJ0qkwr6oAmo5NUtCJTWIAOtDeACym6Dx-ZeNClLUTsu-keeOnvTqkGTwWlOndEM2MT9epbGd9xoGnXuwtpvba8sHoqxECVhx3zlkTHhsQtGoq4NeMlG1PeclG446mTxk/s640/performance-improvements.png" width="640" /></a></p>
<h2>V8 API</h2>
<p>Please use <code>git log branch-heads/6.4..branch-heads/6.5 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using%20Git">active V8 checkout</a> can use <code>git checkout -b 6.5 -t branch-heads/6.5</code> to experiment with the new features in V8 v6.5. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com1tag:blogger.com,1999:blog-2683431904392903776.post-25572675408638680952018-01-29T10:34:00.000-08:002018-01-30T14:05:16.346-08:00Optimizing hash tables: hiding the hash code<p>ECMAScript 2015 introduced several new data structures such as Map, Set, WeakSet, and WeakMap, all of which use hash tables under the hood. This post details the <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6404">recent improvements</a> in how <a href="https://v8project.blogspot.com/2017/10/v8-release-63.html">V8 v6.3+</a> stores the keys in hash tables.</p>
<h2>Hash code</h2>
<p>A <a href="https://en.wikipedia.org/wiki/Hash_function"><em>hash function</em></a> is used to map a given key to a location in the hash table. A <em>hash code</em> is the result of running this hash function over a given key.</p>
<p>In V8, the hash code is just a random number, independent of the object value. Therefore, we can’t recompute it, meaning we must store it.</p>
<p>For JavaScript objects that were used as keys, previously, the hash code was stored as a private symbol on the object. A private symbol in V8 is similar to a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol"><code>Symbol</code></a>, except that it’s not enumerable and doesn’t leak to userspace JavaScript.</p>
<pre class="hljs language-js"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">GetObjectHash</span>(<span class="hljs-params">key</span>) </span>{
<span class="hljs-keyword">const</span> hash = key[hashCodeSymbol];
<span class="hljs-keyword">if</span> (IS_UNDEFINED(hash)) {
hash = (MathRandom() * <span class="hljs-number">0x40000000</span>) | <span class="hljs-number">0</span>;
<span class="hljs-keyword">if</span> (hash === <span class="hljs-number">0</span>) hash = <span class="hljs-number">1</span>;
key[hashCodeSymbol] = hash;
}
<span class="hljs-keyword">return</span> hash;
}
</code></pre>
<p>This worked well because we didn’t have to reserve memory for a hash code field until the object was added to a hash table, at which point a new private symbol was stored on the object.</p>
<p>V8 could also optimize the hash code symbol lookup just like any other property lookup using the IC system, providing very fast lookups for the hash code. This works well for <a href="https://en.wikipedia.org/wiki/Inline_caching#Monomorphic_inline_caching">monomorphic IC lookups</a>, when the keys have the same <a href="https://github.com/v8/v8/wiki/Design-Elements">hidden class</a>. However, most real-world code doesn’t follow this pattern, and often keys have different hidden classes, leading to slow <a href="https://en.wikipedia.org/wiki/Inline_caching#Megamorphic_inline_caching">megamorphic IC lookups</a> of the hash code.</p>
<p>Another problem with the private symbol approach was that it triggered a <a href="https://github.com/v8/v8/wiki/Design%20Elements#fast-property-access">hidden class transition</a> in the key on storing the hash code. This resulted in poor polymorphic code not just for the hash code lookup but also for other property lookups on the key and <a href="https://floitsch.blogspot.com/2012/03/optimizing-for-v8-inlining.html">deoptimization</a> from optimized code.</p>
<h2>JavaScript object backing stores</h2>
<p>A JavaScript object (<code>JSObject</code>) in V8 uses two words (apart from its header): one word for storing a pointer to the elements backing store, and another word for storing a pointer to the properties backing store.</p>
<p>The elements backing store is used for storing properties that look like <a href="https://tc39.github.io/ecma262/#sec-array-index">array indices</a>, whereas the properties backing store is used for storing properties whose keys are strings or symbols. See this <a href="https://v8project.blogspot.com/2017/08/fast-properties.html">V8 blog post</a> by Camillo Bruni for more information about these backing stores.</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">const</span> x = {};
x[<span class="hljs-number">1</span>] = <span class="hljs-string">'bar'</span>; <span class="hljs-comment">// ← stored in elements</span>
x[<span class="hljs-string">'foo'</span>] = <span class="hljs-string">'bar'</span>; <span class="hljs-comment">// ← stored in properties</span>
</code></pre>
<h2>Hiding the hash code</h2>
<p>The easiest solution to storing the hash code would be to extend the size of a JavaScript object by one word and store the hash code directly on the object. However, this would waste memory for objects that aren’t added to a hash table. Instead, we could try to store the hash code in the elements store or properties store.</p>
<p>The elements backing store is an array containing its length and all the elements. There’s not much to be done here, as storing the hashcode in a reserved slot (like the 0th index) would still waste memory when we don’t use the object as a key in a hash table.</p>
<p>Let’s look at the properties backing store. There are two kinds of data structures used as a properties backing store: arrays and dictionaries.</p>
<p>Unlike the array used in the elements backing store which does not have an upper limit, the array used in the properties backing store has an upper limit of 1022 values. V8 transitions to using a dictionary on exceeding this limit for performance reasons. (I’m slightly simplifying this — V8 can also use a dictionary in other cases, but there is a fixed upper limit on the number of values that can be stored in the array.)</p>
<p>So, there are three possible states for the properties backing store:</p>
<ol>
<li>empty (no properties)</li>
<li>array (can store up to 1022 values)</li>
<li>dictionary</li>
</ol>
<h3>The properties backing store is empty</h3>
<p>For the empty case, we can directly store the hash code in this offset on the <code>JSObject</code>.</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIbq4X9gvOh9LyZl5ZqpXCMl_lcOtaNj7M2319WljZrpIGCjxseITRiUZOnFh-o08TbH844E8IgFuGvKg6JxQCaoC6xy3b-yVS7ZLqNLogMCaEZ2kT2MtZzfg9F_ISItfkHS8jy-7bd-t/s1600/properties-backing-store-empty.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="160" data-original-width="323" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidIbq4X9gvOh9LyZl5ZqpXCMl_lcOtaNj7M2319WljZrpIGCjxseITRiUZOnFh-o08TbH844E8IgFuGvKg6JxQCaoC6xy3b-yVS7ZLqNLogMCaEZ2kT2MtZzfg9F_ISItfkHS8jy-7bd-t/s320/properties-backing-store-empty.png" width="320" /></a></center></p>
<h3>The properties backing store is an array</h3>
<p>V8 represents integers less than 2<sup>31</sup> (on 32-bit systems) unboxed, as <a href="https://wingolog.org/archives/2011/05/18/value-representation-in-javascript-implementations">Smi</a>s. In a Smi, the least significant bit is a tag used to distinguish it from pointers, while the remaining 31 bits hold the actual integer value.</p>
<p>Normally, arrays store their length as a Smi. Since we know that the maximum capacity of this array is only 1022, we only need 10 bits to store the length. We can use the remaining 21 bits to store the hash code!</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6yAyf7E97jAsqLBiUdoHTLsP-0dz49aLAMfKW1ZpdPZWvQsMEjR5AU6SGa6NuAZKfAR_-sycBbRHm9p16n6cz68_-dpbAnG6KER1xHb_HwlJtCWiGoTlXy2I4IAevdNrmyMH5FoQ_lRJ/s1600/properties-backing-store-array.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="322" data-original-width="491" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6yAyf7E97jAsqLBiUdoHTLsP-0dz49aLAMfKW1ZpdPZWvQsMEjR5AU6SGa6NuAZKfAR_-sycBbRHm9p16n6cz68_-dpbAnG6KER1xHb_HwlJtCWiGoTlXy2I4IAevdNrmyMH5FoQ_lRJ/s400/properties-backing-store-array.png" width="400" /></a></center></p>
<h3>The properties backing store is a dictionary</h3>
<p>For the dictionary case, we increase the dictionary size by 1 word to store the hashcode in a dedicated slot at the beginning of the dictionary. We get away with potentially wasting a word of memory in this case, because the proportional increase in size isn’t as big as in the array case.</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilmGui5illbBKPfNlwLbCb7Jzmtt-vV-ITIJ9MW8OMf1ZKl25-v-_qRFfQouHhwF9Pflk1MDtgCalVn8p-ZBT8MwYNj7pCDpcxFbhIh6d6ValJC_3AUe23ZKDgoBEogJT32CIMc4NOFgoi/s1600/properties-backing-store-dictionary.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="214" data-original-width="446" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilmGui5illbBKPfNlwLbCb7Jzmtt-vV-ITIJ9MW8OMf1ZKl25-v-_qRFfQouHhwF9Pflk1MDtgCalVn8p-ZBT8MwYNj7pCDpcxFbhIh6d6ValJC_3AUe23ZKDgoBEogJT32CIMc4NOFgoi/s400/properties-backing-store-dictionary.png" width="400" /></a></center></p>
<p>With these changes, the hash code lookup no longer has to go through the complex JavaScript property lookup machinery.</p>
<h2>Performance improvements</h2>
<p>The <a href="https://github.com/kpdecker/six-speed">SixSpeed</a> benchmark tracks the performance of Map and Set, and these changes resulted in a ~500% improvement.</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7WeInw0Qv1I3AiP83Wny-o1Qi0r9K7Scbv95bGDmJUBjRlVwVoOwmxYX4m7I4KqdSa3FS5z08BHG1dHT-7RdH2hABOLHYevfvVkJPuGtQxqC7MaG-irKNdcKUwiRG4rRhs6PTObIE6YoX/s1600/sixspeed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="309" data-original-width="1600" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7WeInw0Qv1I3AiP83Wny-o1Qi0r9K7Scbv95bGDmJUBjRlVwVoOwmxYX4m7I4KqdSa3FS5z08BHG1dHT-7RdH2hABOLHYevfvVkJPuGtQxqC7MaG-irKNdcKUwiRG4rRhs6PTObIE6YoX/s640/sixspeed.png" width="640" /></a></center></p>
<p>This change caused a 5% improvement on the Basic benchmark in <a href="https://webkit.org/blog/7536/jsc-loves-es6/">ARES6</a> as well.</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ4uVsb6YoUvlnldwOR2qhzgFoPb26vkOk40pB9W7xzmFUeJzWtLT3UvuE5wL3dzI7nowBK7r-CPyLTjKOsYZOyAnLQtu1E1oS1zsKnqlWrlm7E9Xf211P47yo2dFyiyQ9fVuylCPoiRsy/s1600/ares-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="405" data-original-width="1600" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ4uVsb6YoUvlnldwOR2qhzgFoPb26vkOk40pB9W7xzmFUeJzWtLT3UvuE5wL3dzI7nowBK7r-CPyLTjKOsYZOyAnLQtu1E1oS1zsKnqlWrlm7E9Xf211P47yo2dFyiyQ9fVuylCPoiRsy/s640/ares-6.png" width="640" /></a></center></p>
<p>This also resulted in an 18% improvement in one of the benchmarks in the <a href="http://emberperf.eviltrout.com/">Emberperf</a> benchmark suite that tests Ember.js.</p>
<p><center><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtkoT48tTu6v13zhBcDSotEKoxw7S3vy9wLIeIX7TeKK8rH74IiG6MG5F_a6jwNmaTipgizvFNQafg2ksPy1uQRe7WQ51NHamqU1QTqRfy6yowc0zIAM5XzOSiH40tY_rnBIOHhP7iP-y7/s1600/emberperf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="491" data-original-width="1600" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtkoT48tTu6v13zhBcDSotEKoxw7S3vy9wLIeIX7TeKK8rH74IiG6MG5F_a6jwNmaTipgizvFNQafg2ksPy1uQRe7WQ51NHamqU1QTqRfy6yowc0zIAM5XzOSiH40tY_rnBIOHhP7iP-y7/s640/emberperf.jpg" width="640" /></a></center></p>
<p><em>Posted by <a href="https://twitter.com/_gsathya">Sathya Gunasekaran</a>, keeper of hash codes</em></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com6tag:blogger.com,1999:blog-2683431904392903776.post-88860187322964811672018-01-24T10:27:00.000-08:002018-03-13T05:11:13.454-07:00Chrome welcomes Speedometer 2.0!<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">Ever since its initial release of Speedometer 1.0 in 2014, the Blink and V8 teams have been using the benchmark as a proxy for real-world use of popular JavaScript frameworks and we achieved considerable speedups on this benchmark. We verified independently that these improvements translate to real user benefits by measuring against real-world websites and observed that improvements of page load times of popular websites also improved the Speedometer score.</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">JavaScript has rapidly evolved in the meantime, adding many new language features with ES2015 and later standards. The same is true for the frameworks themselves, and as such Speedometer 1.0 has become outdated over time. Hence using Speedometer 1.0 as an optimization indicator raises the risk of not measuring newer code patterns that are actively used.</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">The Blink and V8 teams welcome </span><a href="https://webkit.org/blog/8063/speedometer-2-0-a-benchmark-for-modern-web-app-responsiveness/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">the recent release of the updated Speedometer 2.0 benchmark</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">. Applying the original concept to a list of contemporary frameworks, transpilers and ES2015 features makes the benchmark a prime candidate for optimizations again. Speedometer 2.0 is a great addition to </span><a href="https://v8project.blogspot.com/2016/12/how-v8-measures-real-world-performance.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">our real-world performance benchmarking tool belt</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<h2 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
Chrome's mileage so far</h2>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">The Blink and V8 teams have already completed a first round of improvements, underlying the importance of this benchmark to us and continuing our journey of focusing on real-world performance. Comparing Chrome 60 from July 2017 with the latest Chrome 64 we have achieved about a 21% improvement on the total score (runs per minute) on a mid-2016 Macbook Pro (4 core, 16GB RAM).</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: left;">
<img alt="" border="0" data-original-height="232" data-original-width="1500" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4vMXnvvEDScCtmWvATSNcJXwtIEOZqgfWJAi-2LCqUFHaqBblwPrgEw1JeztpuBjc1WSA9ZHYr5RMM4dTvdLW-zGLTcOgnikCahw8-0ImPYRbgdEhjCRZJX53Ra6PeZn7BIuCdJ3YZhLY/s640/Screen+Shot+2018-01-29+at+16.05.02.png" title="Speedometer 2 Scores Comparison between Chrome 60 and 64" width="640" /></div>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">Let’s zoom into the individual Speedometer 2.0 line items. </span><span style="font-family: "arial"; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">We doubled the performance of the React runtime</span><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"> by improving </span><a href="https://chromium.googlesource.com/v8/v8/+/808dc8cff3f6530a627ade106cbd814d16a10a18" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "courier new"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">Function.prototype.bind</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">. Vanilla-ES2015, AngularJS, Preact, and VueJS improved by 19%–42% due to </span><a href="https://chromium-review.googlesource.com/c/v8/v8/+/700494" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">speeding up the JSON parsing</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"> and various other performance fixes. The jQuery-TodoMVC app's runtime was reduced by improvements to Blink's DOM implementation, including </span><a href="https://chromium.googlesource.com/chromium/src/+/f610be969095d0af8569924e7d7780b5a6a890cd" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">more lightweight form controls</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://chromium.googlesource.com/chromium/src/+/6dd09a38aaae9c15adf5aad966f761f180bf1cef" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">tweaks to our HTML parser</span></a><span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">. Additional tweaking of V8's inline caches in combination with the optimizing compiler yielded improvements across the board.</span><br />
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguJNXql3JOq3dzdEIwbO1LCECCCnW-NJUnZW7Fc3hOHg3QUPQYnd3Qlj52VzebfyhWOcqNhisXocwgIldIGqARqdAkIRxLOEZeiXrkol8xOLrrUEb7i4yBaELwg0rnxgr2nmLExIoTmZXE/s1600/Screen+Shot+2018-01-29+at+11.06.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="669" data-original-width="1600" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguJNXql3JOq3dzdEIwbO1LCECCCnW-NJUnZW7Fc3hOHg3QUPQYnd3Qlj52VzebfyhWOcqNhisXocwgIldIGqARqdAkIRxLOEZeiXrkol8xOLrrUEb7i4yBaELwg0rnxgr2nmLExIoTmZXE/s640/Screen+Shot+2018-01-29+at+11.06.11.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">A significant change over Speedometer 1.0 is the calculation of the final score. Previously the average of all scores favoured working only on the slowest line items. When looking at the absolute times spent in each line item we see for instance that the EmberJS-Debug version takes roughly 35 times as long as the fastest benchmark. Hence to improve the overall score focusing on EmberJS-Debug has the highest potential.</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="395" data-original-width="1600" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip__lWvG5BqkGn0e2DyNNRJx6eluWZ12HeEi1Jwsb4nI6xwYIKvCFQAKajzQ5kiu6IL05O4YeVMXxAQ6f0Z4gTZ89JJyUN3KN1dxhYCyU6Ui9u-4dcx_n2RuahcjMHhuWhUWxy6drK_1w3/s640/Screen+Shot+2018-01-29+at+16.09.40.png" width="640" /></div>
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">Speedometer 2.0 uses the geometric mean for the final score, favouring equal investments into each framework. Let us consider our recent 16.5% improvement of Preact from above. It would be rather unfair to forgo the 16.5% improvement just because of its minor contribution to the total time.</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;">We are looking forward to bring further performance improvements to Speedometer 2.0 and through that to the whole web. Stay tuned for more performance high-fives.</span></div>
<div>
<span style="font-family: "arial"; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; font-size: 14.6667px; font-style: italic; white-space: pre-wrap;">Posted by the Blink and V8 teams</span></div>
Anonymoushttp://www.blogger.com/profile/07721727737557035238noreply@blogger.com1tag:blogger.com,1999:blog-2683431904392903776.post-43655460546927366382017-12-19T01:56:00.000-08:002017-12-19T06:45:00.866-08:00V8 release v6.4<p><em>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s Git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.4">V8 version 6.4</a>, which is in beta until its release in coordination with Chrome 64 Stable in several weeks. V8 v6.4 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</em></p>
<h2>Speed</h2>
<p>V8 v6.4 <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6971">improves</a> the performance of the <code>instanceof</code> operator by 3.6×. As a direct result, <a href="http://lisperator.net/uglifyjs/">uglify-js</a> is now 15–20% faster according to <a href="https://github.com/v8/web-tooling-benchmark">V8’s Web Tooling Benchmark</a>.</p>
<p>This release also addresses some performance cliffs in <code>Function.prototype.bind</code>. For example, TurboFan now <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6946">consistently inlines</a> all monomorphic calls to <code>bind</code>. In addition, TurboFan also supports the <em>bound callback pattern</em>, meaning that instead of the following:</p>
<pre class="hljs language-js"><code>doSomething(callback, someObj);
</code></pre>
<p>You can now use:</p>
<pre class="hljs language-js"><code>doSomething(callback.bind(someObj));
</code></pre>
<p>This way, the code is more readable, and you still get the same performance.</p>
<p>Thanks to <a href="https://twitter.com/peterwmwong">Peter Wong</a>’s latest contributions, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap"><code>WeakMap</code></a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet"><code>WeakSet</code></a> are now implemented using the <a href="https://v8project.blogspot.com/2017/11/csa.html">CodeStubAssembler</a>, resulting in performance improvements of up to 5× across the board.</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifBryuMFXUvjlU6O0k_uRcbn6lpovlg2Vqd_xVOuCfU19mcDbhSi-VDVsdPk8dVeARNXMwxwuG_hSMhPZ3I7XZqgerHSAJwnr1zUN0sfzoZa5AHeaI-bYsTlooOiY2cUSVIZw11OtnMujV/s1600/weak-collection.png" imageanchor="1"><img border="0" data-original-height="750" data-original-width="1250" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifBryuMFXUvjlU6O0k_uRcbn6lpovlg2Vqd_xVOuCfU19mcDbhSi-VDVsdPk8dVeARNXMwxwuG_hSMhPZ3I7XZqgerHSAJwnr1zUN0sfzoZa5AHeaI-bYsTlooOiY2cUSVIZw11OtnMujV/s640/weak-collection.png" width="640" /></a></p>
<p>As part of V8’s <a href="https://bugs.chromium.org/p/v8/issues/detail?id=1956">on-going effort</a> to improve the performance of array built-ins, we improved <code>Array.prototype.slice</code> performance ~4× by reimplementing it using the CodeStubAssembler. Additionally, calls to <code>Array.prototype.map</code> and <code>Array.prototype.filter</code> are now inlined for many cases, giving them a performance profile competitive with hand-written versions.</p>
<p>We worked to make out-of-bounds loads in arrays, typed arrays, and strings <a href="https://bugs.chromium.org/p/v8/issues/detail?id=7027">no longer incur a ~10× performance hit</a> after noticing <a href="https://v8project.blogspot.com/2017/09/elements-kinds-in-v8.html#avoid-reading-beyond-length">this coding pattern</a> being used in the wild.</p>
<h2>Memory</h2>
<p>V8’s built-in code objects and bytecode handlers are now deserialized lazily from the snapshot, which can significantly reduce memory consumed by each Isolate. Benchmarks in Chrome show savings of several hundred KB per tab when browsing common sites.</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZofVpq9P0NF-RJUQz8Kao1Po_LQJrEHyTw_WUFFIxnTaHVCN4R7Sjl8fgnTIqIb6BNg9W4mYiOItckt4923-5R5CXSRWFBcUYMh_5oa4AeskBZ1qd1O-6H9svIM2wlOZK3-_sMB8WrA62/s1600/codespace-consumption.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZofVpq9P0NF-RJUQz8Kao1Po_LQJrEHyTw_WUFFIxnTaHVCN4R7Sjl8fgnTIqIb6BNg9W4mYiOItckt4923-5R5CXSRWFBcUYMh_5oa4AeskBZ1qd1O-6H9svIM2wlOZK3-_sMB8WrA62/s640/codespace-consumption.png" width="640" /></a></p>
<p>Look out for a dedicated blog post on this subject early next year.</p>
<h2>ECMAScript language features</h2>
<p>This V8 release includes support for two new exciting regular expression features.</p>
<p>In regular expressions with the <code>/u</code> flag, <a href="https://mathiasbynens.be/notes/es-unicode-property-escapes">Unicode property escapes</a> are now enabled by default.</p>
<pre class="hljs"><code>const regexGreekSymbol = /\p{Script_Extensions=Greek}/u;
regexGreekSymbol.test('π');
// → true
</code></pre>
<p>Support for <a href="https://developers.google.com/web/updates/2017/07/upcoming-regexp-features#named_captures">named capture groups</a> in regular expressions is now enabled by default.</p>
<pre class="hljs"><code>const pattern = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/u;
const result = pattern.exec('2017-12-15');
// result.groups.year === '2017'
// result.groups.month === '12'
// result.groups.day === '15'
</code></pre>
<p>More details about these features are available in our blog post titled <a href="https://developers.google.com/web/updates/2017/07/upcoming-regexp-features">Upcoming regular expression features</a>.</p>
<p>Thanks to <a href="https://twitter.com/GrouponEng">Groupon</a>, V8 now implements <a href="https://github.com/tc39/proposal-import-meta"><code>import.meta</code></a>, which enables embedders to expose host-specific metadata about the current module. For example, Chrome 64 exposes the module URL via <code>import.meta.url</code>, and Chrome plans to add more properties to <code>import.meta</code> in the future.</p>
<p>To assist with local-aware formatting of strings produced by internationalization formatters, developers can now use <a href="https://github.com/tc39/proposal-intl-formatToParts"><code>Intl.NumberFormat.prototype.formatToParts()</code></a> to format a number to a list of tokens and their type. Thanks to <a href="https://twitter.com/igalia">Igalia</a> for implementing this in V8!</p>
<h1>V8 API</h1>
<p>Please use <code>git log branch-heads/6.3..branch-heads/6.4 include/v8.h</code> to get a list of the API changes.</p>
<p>Developers with an <a href="https://github.com/v8/v8/wiki/Using%20Git">active V8 checkout</a> can use <code>git checkout -b 6.4 -t branch-heads/6.4</code> to experiment with the new features in V8 v6.4. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.</p>
<p><em>Posted by the V8 team</em></p>Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com2tag:blogger.com,1999:blog-2683431904392903776.post-44333026989859622172017-12-13T01:41:00.001-08:002017-12-13T01:41:43.118-08:00JavaScript code coverage
<h2>What is it?</h2>
<p>Code coverage provides information about whether, and optionally how often certain parts of an application have been executed. It’s commonly used to determine how thoroughly a test suite exercises a particular codebase.</p>
<h2>Why is it useful?</h2>
<p>As a JavaScript developer, you may often find yourself in a situation in which code coverage could be useful. For instance:</p>
<ul>
<li>Interested in the quality of your test suite? Refactoring a large legacy project? Code coverage can show you exactly which parts of your codebase is covered.</li>
<li>Want to quickly know if a particular part of the codebase is reached? Instead of instrumenting with <code>console.log</code> for <code>printf</code>-style debugging or manually stepping through the code, code coverage can display live information about which parts of your applications have been executed.</li>
<li>Or maybe you’re optimizing for speed and would like to know which spots to focus on? Execution counts can point out hot functions and loops.</li>
</ul>
<h2>JavaScript code coverage in V8</h2>
<p>Earlier this year, we added native support for JavaScript code coverage to V8. The initial release in version 5.9 provided coverage at function granularity (showing which functions have been executed), which was later extended to support coverage at block granularity in 6.2 (likewise, but for individual expressions).</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggfb7_z87dOOuAo3LgbErVIlMF0vZhMDZHK0q-uGUaCCY4CQEQAn4vMi42nEelt-ioEtJW0y1UJJ8PYiQG_LmJA8ikDykFrxzLiLf9rx8sPC8ra4kpfRoIw1f19946aip46cYAOjVm_LrQ/s1600/function-vs-block.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="180" data-original-width="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggfb7_z87dOOuAo3LgbErVIlMF0vZhMDZHK0q-uGUaCCY4CQEQAn4vMi42nEelt-ioEtJW0y1UJJ8PYiQG_LmJA8ikDykFrxzLiLf9rx8sPC8ra4kpfRoIw1f19946aip46cYAOjVm_LrQ/s1600/function-vs-block.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Function granularity (left) and block granularity (right)</td></tr></tbody></table>
<h2>For JavaScript developers</h2>
<p>There are currently two primary ways to access coverage information. For JavaScript developers, Chrome DevTools’ <a href="https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage">Coverage tab</a> exposes JS (and CSS) coverage ratios and highlights dead code in the Sources panel.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnMt4oTXR4kfOtzcZNdTBNeGs-ZskD22KM_5AxgQoVVxMuKcdP1R9nafnP_avDF8LaWHKK1LZ04JD15UwKRmPPvxjR0wyrr4lZbYxVrI_Efav6K0J6M3GyWDM6uszMrrzdVqFJ0mEREFNs/s1600/block-coverage.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="491" data-original-width="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnMt4oTXR4kfOtzcZNdTBNeGs-ZskD22KM_5AxgQoVVxMuKcdP1R9nafnP_avDF8LaWHKK1LZ04JD15UwKRmPPvxjR0wyrr4lZbYxVrI_Efav6K0J6M3GyWDM6uszMrrzdVqFJ0mEREFNs/s1600/block-coverage.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Block coverage in the DevTools Coverage pane. Covered lines are highlighted in green, uncovered in red.</td></tr></tbody></table>
<p>Thanks to <a href="https://twitter.com/BenjaminCoe">Benjamin Coe</a>, there is also <a href="https://github.com/bcoe/c8">ongoing</a> work to integrate V8’s code coverage information into the popular <a href="https://istanbul.js.org/">Istanbul.js</a> code coverage tool.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhraA4_93vuuuOkROnAI0jNwsvA6o-nDiMgIGB5DgFsslUAIbXRIdRsVmwTZf21iIROCasnsJ30UhiHkx-6O5Vp15nApW7idJ-aGAaw1T5eZ4Cdz3MBpF_dihjZGM5iSj7GKSIvxmsw7o-2/s1600/istanbul.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="847" data-original-width="1600" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhraA4_93vuuuOkROnAI0jNwsvA6o-nDiMgIGB5DgFsslUAIbXRIdRsVmwTZf21iIROCasnsJ30UhiHkx-6O5Vp15nApW7idJ-aGAaw1T5eZ4Cdz3MBpF_dihjZGM5iSj7GKSIvxmsw7o-2/s640/istanbul.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">An Istanbul.js report based on V8 coverage data.</td></tr></tbody></table>
<h2>For embedders</h2>
<p>Embedders and framework authors can hook directly into the Inspector API for more flexibility. V8 offers two different coverage modes:</p>
<ol>
<li>
<p><em>Best-effort coverage</em> collects coverage information with minimal impact on runtime performance, but might lose data on garbage-collected (GC) functions.</p>
</li>
<li>
<p><em>Precise coverage</em> ensures that no data is lost to the GC, and users can choose to receive execution counts instead of binary coverage information; but performance might be impacted by increased overhead (see the next section for more details). Precise coverage can be collected either at function or block granularity.</p>
</li>
</ol>
<p>The Inspector API for precise coverage is as follows:</p>
<ul>
<li>
<p><a href="https://chromedevtools.github.io/devtools-protocol/tot/Profiler/#method-startPreciseCoverage"><code>Profiler.startPreciseCoverage(callCount, detailed)</code></a> enables coverage collection, optionally with call counts (vs. binary coverage) and block granularity (vs. function granularity);</p>
</li>
<li>
<p><a href="https://chromedevtools.github.io/devtools-protocol/tot/Profiler/#method-takePreciseCoverage"><code>Profiler.takePreciseCoverage()</code></a> returns collected coverage information as a list of source ranges together with associated execution counts; and</p>
</li>
<li>
<p><a href="https://chromedevtools.github.io/devtools-protocol/tot/Profiler/#method-stopPreciseCoverage"><code>Profiler.stopPreciseCoverage()</code></a> disables collection and frees related data structures.</p>
</li>
</ul>
<p>A conversation through the Inspector protocol might look like this:</p>
<pre class="hljs language-json"><code>// The embedder directs V<span class="hljs-number">8</span> to begin collecting precise coverage.
{ <span class="hljs-attr">"id"</span>: <span class="hljs-number">26</span>, <span class="hljs-attr">"method"</span>: <span class="hljs-string">"Profiler.startPreciseCoverage"</span>,
<span class="hljs-attr">"params"</span>: { <span class="hljs-attr">"callCount"</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">"detailed"</span>: <span class="hljs-literal">true</span> }}
// Embedder requests coverage data (delta since last request).
{ <span class="hljs-attr">"id"</span>: <span class="hljs-number">32</span>, <span class="hljs-attr">"method"</span>:<span class="hljs-string">"Profiler.takePreciseCoverage"</span> }
// The reply contains collection of nested source ranges.
{ <span class="hljs-attr">"id"</span>: <span class="hljs-number">32</span>, <span class="hljs-attr">"result"</span>: { <span class="hljs-attr">"result"</span>: [{
<span class="hljs-attr">"functions"</span>: [
{
<span class="hljs-attr">"functionName"</span>: <span class="hljs-string">"fib"</span>,
<span class="hljs-attr">"isBlockCoverage"</span>: <span class="hljs-literal">true</span>, // Block granularity.
<span class="hljs-attr">"ranges"</span>: [ // An array of nested ranges.
{
<span class="hljs-attr">"startOffset"</span>: <span class="hljs-number">50</span>, // Byte offset, inclusive.
<span class="hljs-attr">"endOffset"</span>: <span class="hljs-number">224</span>, // Byte offset, exclusive.
<span class="hljs-attr">"count"</span>: <span class="hljs-number">1</span>
}, {
<span class="hljs-attr">"startOffset"</span>: <span class="hljs-number">97</span>,
<span class="hljs-attr">"endOffset"</span>: <span class="hljs-number">107</span>,
<span class="hljs-attr">"count"</span>: <span class="hljs-number">0</span>
}, {
<span class="hljs-attr">"startOffset"</span>: <span class="hljs-number">134</span>,
<span class="hljs-attr">"endOffset"</span>: <span class="hljs-number">144</span>,
<span class="hljs-attr">"count"</span>: <span class="hljs-number">0</span>
}, {
<span class="hljs-attr">"startOffset"</span>: <span class="hljs-number">192</span>,
<span class="hljs-attr">"endOffset"</span>: <span class="hljs-number">223</span>,
<span class="hljs-attr">"count"</span>: <span class="hljs-number">0</span>
},
]},
<span class="hljs-string">"scriptId"</span>: <span class="hljs-string">"199"</span>,
<span class="hljs-string">"url"</span>: <span class="hljs-string">"file:///coverage-fib.html"</span>
}
]
}}
// Finally, the embedder directs V8 to end collection and
// free related data structures.
{<span class="hljs-attr">"id"</span>:<span class="hljs-number">37</span>,<span class="hljs-attr">"method"</span>:<span class="hljs-string">"Profiler.stopPreciseCoverage"</span>}
</code></pre>
<p>Similarly, best-effort coverage can be retrieved using <a href="https://chromedevtools.github.io/devtools-protocol/tot/Profiler/#method-getBestEffortCoverage"><code>Profiler.getBestEffortCoverage()</code></a>.</p>
<h1>Behind the scenes</h1>
<p>As stated in the previous section, V8 supports two main modes of code coverage: best-effort and precise coverage. Read on for an overview of their implementation.</p>
<h2>Best-effort coverage</h2>
<p>Both best-effort and precise coverage modes heavily reuse other V8 mechanisms, the first of which is called the <em>invocation counter</em>. Each time a function is called through V8’s <a href="https://v8project.blogspot.com/2016/08/firing-up-ignition-interpreter.html">Ignition</a> interpreter, we <a href="https://cs.chromium.org/chromium/src/v8/src/builtins/x64/builtins-x64.cc?l=917&rcl=fc33dfbebfb1cb800d490af97bf1019e9d66be33">increment an invocation counter</a> on the function’s <a href="http://slides.com/ripsawridge/deck">feedback vector</a>. As the function later becomes hot and tiers up through the optimizing compiler, this counter is used to help guide inlining decisions about which functions to inline; and now, we also rely on it to report code coverage.</p>
<p>The second reused mechanism determines the source range of functions. When reporting code coverage, invocation counts need to be tied to an associated range within the source file. For example, in the example below, we not only need to report that function <code>f</code> has been executed exactly once, but also that <code>f</code>’s source range begins at line 1 and ends in line 3.</p>
<pre class="hljs language-js"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">f</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Hello World'</span>);
}
f();
</code></pre>
<p>Again we got lucky and were able to reuse existing information within V8. Functions already knew their start- and end positions within source code due to <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString"><code>Function.prototype.toString</code></a>, which needs to know the function’s location within the source file to extract the appropriate substring.</p>
<p>When collecting best-effort coverage, these two mechanisms are simply tied together: first we find all live function by traversing the entire heap. For each seen function we report the invocation count (stored on the feedback vector, which we can reach from the function) and source range (conveniently stored on the function itself).</p>
<p>Note that since invocation counts are maintained regardless of whether coverage is enabled, best-effort coverage does not introduce any runtime overhead. It also does not use dedicated data structures and thus neither needs to be explicitly enabled or disabled.</p>
<p>So why is this mode called best-effort, what are its limitations? Functions that go out of scope may be freed by the garbage collector. This means that associated invocation counts are lost, and in fact we completely forget that these functions ever existed. Ergo ‘best-effort’: even though we try our best, the collected coverage information may be incomplete.</p>
<h2>Precise coverage (function granularity)</h2>
<p>In contrast to the best-effort mode, precise coverage guarantees that the provided coverage information is complete. To achieve this, we add all feedback vectors to V8’s root set of references once precise coverage is enabled, preventing their collection by the GC. While this ensures no information is lost, it increases memory consumption by keeping objects alive artificially.</p>
<p>The precise coverage mode can also provide execution counts. This adds another wrinkle to the precise coverage implementation. Recall that the invocation counter is incremented each time a function is called through V8’s interpreter, and that functions can tier up and be optimized once they become hot. But optimized functions no longer increment their invocation counter, and thus the optimizing compiler must be disabled for their reported execution count to remain accurate.</p>
<h2>Precise coverage (block granularity)</h2>
<p>Block-granularity coverage must report coverage that is correct down to the level of individual expressions. For example, in the following piece of code, block coverage could detect that the <code>else</code> branch of the conditional expression <code>: c</code> is never executed, while function granularity coverage would only know that the function <code>f</code> (in its entirety) is covered.</p>
<pre class="hljs language-js"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">f</span>(<span class="hljs-params">a</span>) </span>{
<span class="hljs-keyword">return</span> a ? b : c;
}
f(<span class="hljs-literal">true</span>);
</code></pre>
<p>You may recall from the previous sections that we already had function invocation counts and source ranges readily available within V8. Unfortunately, this was not the case for block coverage and we had to implement new mechanisms to collect both execution counts and their corresponding source ranges.</p>
<p>The first aspect is source ranges: assuming we have an execution count for a particular block, how can we map them to a section of the source code? For this, we need to collect relevant positions while parsing the source files. Prior to block coverage, V8 already did this to some extent. One example is the collection of function ranges due to <code>Function.prototype.toString</code> as described above. Another is that source positions are used to construct the backtrace for Error objects. But neither of these is sufficient to support block coverage; the former is only available for functions, while the latter only stores positions (e.g. the position of the <code>if</code> token for <code>if</code>-<code>else</code> statements), not source ranges.</p>
<p>We therefore had to extend the parser to collect source ranges. To demonstrate, consider an <code>if</code>-<code>else</code> statement:</p>
<pre class="hljs language-js"><code><span class="hljs-keyword">if</span> (cond) {
<span class="hljs-comment">/* Then branch. */</span>
} <span class="hljs-keyword">else</span> {
<span class="hljs-comment">/* Else branch. */</span>
}
</code></pre>
<p>When block coverage is enabled, we <a href="https://cs.chromium.org/chromium/src/v8/src/parsing/parser-base.h?l=5199&rcl=cd23cae9edc134ecfe16a4868266dcf5ec432cbf">collect</a> the source range of the <code>then</code> and <code>else</code> branches and associate them with the parsed <code>IfStatement</code> AST node. The same is done for other relevant language constructs.</p>
<p>After collecting source range collection during parsing, the second aspect is tracking execution counts at runtime. This is done by <a href="https://cs.chromium.org/chromium/src/v8/src/interpreter/control-flow-builders.cc?l=207&rcl=cd23cae9edc134ecfe16a4868266dcf5ec432cbf">inserting</a> a new dedicated <code>IncBlockCounter</code> bytecode at strategic positions within the generated bytecode array. At runtime, the <code>IncBlockCounter</code> bytecode handler simply <a href="https://cs.chromium.org/chromium/src/v8/src/runtime/runtime-debug.cc?l=2012&rcl=cd23cae9edc134ecfe16a4868266dcf5ec432cbf">increments</a> the appropriate counter (reachable through the function object).</p>
<p>In the above example of an <code>if</code>-<code>else</code> statement, such bytecodes would be inserted at three spots: immediately prior to the body of the <code>then</code> branch, prior to the body of the <code>else</code> branch, and immediately after the <code>if</code>-<code>else</code> statement (such continuation counters are needed due to possibility of non-local control within a branch).</p>
<p>Finally, reporting block-granularity coverage works similarly to function-granularity reporting. But in addition to invocations counts (from the feedback vector), we now also report the collection of <em>interesting</em> source ranges together with their block counts (stored on an auxiliary data structure that hangs off the function).</p>
<p>If you’d like to learn more about the technical details behind code coverage in V8, see the <a href="https://goo.gl/WibgXw">coverage</a> and <a href="https://goo.gl/hSJhXn">block coverage</a> design documents.</p>
<h1>Conclusion</h1>
<p>We hope you’ve enjoyed this brief introduction to V8’s native code coverage support. Please give it a try and don’t hesitate to let us know what works for you, and what doesn’t. Say hello on Twitter (<a href="https://twitter.com/schuay">@schuay</a> and <a href="https://twitter.com/hashseed">@hashseed</a>) or file a bug at <a href="https://crbug.com/v8/new">crbug.com/v8/new</a>.</p>
<p>Coverage support in V8 has been a team effort, and thanks are in order to everyone that has contributed: Benjamin Coe, Jakob Gruber, Yang Guo, Marja Hölttä, Andrey Kosyakov, Alexey Kozyatinksiy, Ross McIlroy, Ali Sheikh, Michael Starzinger. Thank you!</p>
Anonymoushttp://www.blogger.com/profile/09010228458207624056noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-14230435017330028002017-11-29T06:48:00.000-08:002017-11-29T07:06:22.953-08:00Orinoco: young generation garbage collection<p>JavaScript objects in V8 are allocated on a heap managed by V8’s garbage collector. In previous blog posts we have already talked about how we <a href="https://v8project.blogspot.com/2015/10/jank-busters-part-one.html">reduce garbage collection pause times</a> (<a href="https://v8project.blogspot.com/2016/04/jank-busters-part-two-orinoco.html">more than once</a>) and <a href="https://v8project.blogspot.com/2016/10/fall-cleaning-optimizing-v8-memory.html">memory consumption</a>. In this blog post we introduce the parallel Scavenger, one of the latest features of Orinoco, V8’s mostly concurrent and parallel garbage collector and discuss design decisions and alternative approaches we implemented on the way.</p>
<p>V8 partitions its managed heap into generations where objects are initially allocated in the “nursery” of the young generation. Upon surviving a garbage collection, objects are copied into the intermediate generation, which is still part of the young generation. After surviving another garbage collection, these objects are moved into the old generation (see Figure 1). V8 implements two garbage collectors: one that frequently collects the young generation, and one that collects the full heap including both the young and old generation. Old-to-young generation references are roots for the young generation garbage collection. These references are <a href="https://v8project.blogspot.com/2016/04/jank-busters-part-two-orinoco.html">recorded</a> to provide efficient root identification and reference updates when objects are moved.</p>
<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVrBeDnX8MRFPUJDRR4ZYU7clXH75JnqWdiRTuoC6N0_MQEMYmH-UU7GCyaLBJec-DxJKthKZ1d-8bmnL3ZnomQAsoHkRBiO6R8DWvrw6v6L3jJn97rjcbAKp9dSDhjc8xczNcLN-r9t6g/s1600/image6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="256" data-original-width="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVrBeDnX8MRFPUJDRR4ZYU7clXH75JnqWdiRTuoC6N0_MQEMYmH-UU7GCyaLBJec-DxJKthKZ1d-8bmnL3ZnomQAsoHkRBiO6R8DWvrw6v6L3jJn97rjcbAKp9dSDhjc8xczNcLN-r9t6g/s1600/image6.png" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;">Figure 1: Generational garbage collection</td></tr></tbody></table><br>
<p>Since the young generation is relatively small (up to 16MiB in V8) it fills up quickly with objects and requires frequent collections. Until M62, V8 used a Cheney semispace copying garbage collector (see below) that divides the young generation into two halves. During JavaScript execution only one half of the young generation is available for allocating objects, while the other half remains empty. During a young garbage collection, live objects are copied from one half to the other half, compacting the memory on the fly. Live objects that have already been copied once are considered part of the intermediate generation and are promoted to the old generation.</p>
<p><strong>Starting with M62, V8 switched the default algorithm for collecting the young generation to a parallel Scavenger</strong>, similar to <a href="https://dl.acm.org/citation.cfm?id=802017">Halstead’s semispace copying collector</a> with the difference that V8 makes use of dynamic instead of static work stealing across multiple threads. In the following we explain three algorithms: a) the single-threaded Cheney semispace copying collector, b) a parallel Mark-Evacuate scheme, and c) the parallel Scavenger.</p>
<h2>Single-threaded Cheney’s Semispace Copy</h2>
<p>Until M62, V8 used <a href="https://dl.acm.org/citation.cfm?doid=362790.362798">Cheney’s semispace copying algorithm</a> which is well-suited for both single-core execution and a generational scheme. Before a young generation collection, both semispace halves of memory are committed and assigned proper labels: the pages containing the current set of objects are called <em>from-space</em> while the pages that objects are copied to are called <em>to-space</em>.</p>
<p>The Scavenger considers references in the call stack and references from the old to the young generation as roots. Figure 2 illustrates the algorithm where initially the Scavenger scans these roots and copies objects reachable in the <em>from-space</em> that have not yet been copied to the <em>to-space</em>. Objects that have already survived a garbage collection are promoted (moved) to the old generation. After root scanning and the first round of copying, the objects in the newly allocated to-space are scanned for references. Similarly, all promoted objects are scanned for new references to <em>from-space</em>. These three phases are interleaved on the main thread. The algorithm continues until no more new objects are reachable from either <em>to-space</em> or the old generation. At this point the <em>from-space</em> only contains unreachable objects, i.e., it only contains garbage.</p>
<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXTdR3oQad5mFq3jXChTiuLLdXo5Yy37ViEhDuoxk3eXvOOYAK1ZzJLBOr1-iiILM2BZWb5Ib8aiBZeID1DHoOXVAawvAn9DoZOl5kzpxL6rvzu9lIwf_fMgnSxQxJMM0sLhVQg7TObVQU/s1600/image4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="337" data-original-width="562" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXTdR3oQad5mFq3jXChTiuLLdXo5Yy37ViEhDuoxk3eXvOOYAK1ZzJLBOr1-iiILM2BZWb5Ib8aiBZeID1DHoOXVAawvAn9DoZOl5kzpxL6rvzu9lIwf_fMgnSxQxJMM0sLhVQg7TObVQU/s1600/image4.png" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;"><b>Processing</b><br /><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQVFJUhSKJNBh0k1w32GwZES71NwJMr8YFrxe7dfhcsb6Q7JZVQAjamO-YS27UCrAQGSzPBYUw0NLpBdirAGaYG5YP2kUAzaRwChyphenhyphenqx_jGmuO-GhdXleCrivrt8C53TA9EB9kQaqMyhT7H/s1600/image8.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="32" data-original-width="342" height="29" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQVFJUhSKJNBh0k1w32GwZES71NwJMr8YFrxe7dfhcsb6Q7JZVQAjamO-YS27UCrAQGSzPBYUw0NLpBdirAGaYG5YP2kUAzaRwChyphenhyphenqx_jGmuO-GhdXleCrivrt8C53TA9EB9kQaqMyhT7H/s320/image8.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;">Figure 2: Cheney’s semispace copying algorithm used for young generation garbage collections in V8</td></tr></tbody></table></td></tr></tbody></table><br>
<h2>Parallel Mark-Evacuate</h2>
<p>We experimented with a parallel Mark-Evacuate algorithm based on the V8’s full Mark-Sweep-Compact collector. The main advantage is leveraging the already existing garbage collection infrastructure from the full Mark-Sweep-Compact collector. The algorithm consists of three phases: marking, copying, and updating pointers, as shown in Figure 3. To avoid sweeping pages in the young generation to maintain free lists, the young generation is still maintained using a semispace that is always kept compact by copying live objects into <em>to-space</em> during garbage collection. The young generation is initially marked in parallel. After marking, live objects are copied in parallel to their corresponding spaces. Work is distributed based on logical pages. Threads participating in copying keep their own local allocation buffers (LABs) which are merged upon finishing copying. After copying, the same parallelization scheme is applied for updating inter-object pointers. These three phases are performed in lockstep, i.e., while the phases themselves are performed in parallel, threads have to synchronize before continuing to the next phase.</p>
<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNINClYiMDKFq1NnvUVxUsutV9aamSkPLdtAm-bH-E70mjK1nwyP36CsXrdefZuZf4EF2-9-T8LHQUUqpPsqbzwsUcT_tOOQE76NFqyGyKxUVluqfrQwZdeMKFYHp9Z3aERUd2WXhWLyMG/s1600/image5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="388" data-original-width="625" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNINClYiMDKFq1NnvUVxUsutV9aamSkPLdtAm-bH-E70mjK1nwyP36CsXrdefZuZf4EF2-9-T8LHQUUqpPsqbzwsUcT_tOOQE76NFqyGyKxUVluqfrQwZdeMKFYHp9Z3aERUd2WXhWLyMG/s1600/image5.png" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;"><b>Processing</b><br /><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJHKQ5hkArdmiIZxXMJfn-ZljEnmrwa6AsBSy_AyAXB0oes7taRG4cSoxooknKIU8_TO1uCrZMnlP_Il58O1fXnysDiJ5anb7ujV3vGlRrh3ThuorE-cq_1f76IVLCyGQ-mMWgYImWlTi/s1600/image7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="71" data-original-width="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxJHKQ5hkArdmiIZxXMJfn-ZljEnmrwa6AsBSy_AyAXB0oes7taRG4cSoxooknKIU8_TO1uCrZMnlP_Il58O1fXnysDiJ5anb7ujV3vGlRrh3ThuorE-cq_1f76IVLCyGQ-mMWgYImWlTi/s1600/image7.png" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;">Figure 3: Young Generation Parallel Mark-Evacuate garbage collection in V8</td></tr></tbody></table></td></tr></tbody></table><br>
<h2>Parallel Scavenge</h2>
<p>The parallel Mark-Evacuate collector separates the phases of computing liveness, copying live objects, and updating pointers. An obvious optimization is to merge these phases, resulting in an algorithm that marks, copies, and updates pointers at the same time. By merging those phases we actually get the parallel Scavenger used by V8, which is a version similar to <a href="https://dl.acm.org/citation.cfm?id=802017">Halstead’s</a> semispace collector with the difference that V8 uses dynamic work stealing and a simple load balancing mechanism for scanning the roots (see Figure 4). Like the single-threaded Cheney algorithm, the phases are: scanning for roots, copying within the young generation, promoting to the old generation, and updating pointers. We found that the majority of the root set is usually the references from the old generation to the young generation. In our implementation, remembered sets are maintained per-page, which naturally distributes the roots set among garbage collection threads. Objects are then processed in parallel. Newly found objects are added to a global work list from which garbage collection threads can steal. This work list provides fast task local storage as well as global storage for sharing work. A barrier makes sure that tasks do not prematurely terminate when the sub graph currently processed is not suitable for work stealing (e.g. a linear chain of objects). All phases are performed in parallel and interleaved on each task, maximizing the utilization of worker tasks.</p>
<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXTdR3oQad5mFq3jXChTiuLLdXo5Yy37ViEhDuoxk3eXvOOYAK1ZzJLBOr1-iiILM2BZWb5Ib8aiBZeID1DHoOXVAawvAn9DoZOl5kzpxL6rvzu9lIwf_fMgnSxQxJMM0sLhVQg7TObVQU/s1600/image4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="337" data-original-width="562" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXTdR3oQad5mFq3jXChTiuLLdXo5Yy37ViEhDuoxk3eXvOOYAK1ZzJLBOr1-iiILM2BZWb5Ib8aiBZeID1DHoOXVAawvAn9DoZOl5kzpxL6rvzu9lIwf_fMgnSxQxJMM0sLhVQg7TObVQU/s1600/image4.png" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;"><b>Processing</b></td></tr></tbody></table><table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVxaHSaKnVyGc0mk8wNWES9y6nFMbiCnXIP4HDaLqAmKG1JEl1xjoWGpYyD_PTNClG1MzcQExj9G02susGtbaMTDqEPS4UqvIutk7ZBM-XdacgA0qd5xuumncIdVvo9uFUt8KHyikQ_Jfo/s1600/image3.png" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" data-original-height="71" data-original-width="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVxaHSaKnVyGc0mk8wNWES9y6nFMbiCnXIP4HDaLqAmKG1JEl1xjoWGpYyD_PTNClG1MzcQExj9G02susGtbaMTDqEPS4UqvIutk7ZBM-XdacgA0qd5xuumncIdVvo9uFUt8KHyikQ_Jfo/s1600/image3.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Figure 4: Young generation parallel Scavenger in V8</td></tr></tbody></table><br>
<h2>Results and outcome</h2>
<p>The Scavenger algorithm was initially designed having optimal single-core performance in mind. The world has changed since then. CPU cores are often plentiful, even on low-end mobile devices. More importantly, <a href="https://dl.acm.org/citation.cfm?id=2968469">often</a> these cores are actually up and running. To fully utilize these cores, one of the last sequential components of V8’s garbage collector, the Scavenger, had to be modernized.</p>
<p>The big advantage of a parallel Mark-Evacuate collector is that exact liveness information is available. This information can e.g. be used to avoid copying at all by just moving and relinking pages that contain mostly live objects which is also performed by the full Mark-Sweep-Compact collector. In practice, however, this was mostly observable on synthetic benchmarks and rarely showed up on real websites. The downside of the parallel Mark-Evacuate collector is the overhead of performing three separate lockstep phases. This overhead is especially noticeable when the garbage collector is invoked on a heap with mostly dead objects, which is the case on many real-world webpages. Note that invoking garbage collections on heaps with mostly dead objects is actually the ideal scenario, as garbage collection is usually bounded by the size of live objects.</p>
<p>The parallel Scavenger closes this performance gap by providing performance that is close to the optimized Cheney algorithm on small or almost empty heaps while still providing a high throughput in case the heaps get larger with lots of live objects.</p>
<p>V8 supports, among many other platforms, as <a href="https://developer.arm.com/technologies/big-little">Arm big.LITTLE</a>. While offloading work on little cores benefits battery lifetime, it can lead to stalling on the main thread when work packages for little cores are too big. We observed that page-level parallelism does not necessarily load balance work on big.LITTLE for a young generation garbage collection due to the limited number of pages. The Scavenger naturally solves this issue by providing medium-grained synchronization using explicit work lists and work stealing.</p>
<table align="center" cellpadding="0" cellspacing="0" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga0AR68GZbrCbrIrdW6pJLRRcheeb11VgdSG9kyQTgHdjkWxSj9vibIEzNWKBdwTsovyYP3CWLVmt_bJOQk8cuGimMCvvwAhQHy_EiagntqVuDW_AYQEoFu8dMgR1hvKJdv3RS64Jw20B1/s1600/image1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="742" data-original-width="1200" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga0AR68GZbrCbrIrdW6pJLRRcheeb11VgdSG9kyQTgHdjkWxSj9vibIEzNWKBdwTsovyYP3CWLVmt_bJOQk8cuGimMCvvwAhQHy_EiagntqVuDW_AYQEoFu8dMgR1hvKJdv3RS64Jw20B1/s640/image1.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="font-size: 12.8px;">Figure 5: Total young generation garbage collection time (in ms) across various websites</td></tr></tbody></table><br>
<p>V8 now ships with the parallel Scavenger which <strong>reduces the main thread young generation garbage collection total time by about 20%–50%</strong> across a large set of benchmarks (<a href="https://chromeperf.appspot.com/group_report?rev=489898">details on our perf waterfalls</a>). Figure 5 shows a comparison of the implementations across various real-world websites, showing improvements around <strong>55% (2×)</strong>. Similar improvements can be observed on maximum and average pause time while maintaining minimum pause time. The parallel Mark-Evacuate collector scheme has still potential for optimization. Stay tuned if you want to find out what happens next.</p>
<p><em>Posted by friends of <a href="https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual">TSAN</a>: Ulan Degenbaev, Michael Lippautz, and Hannes Payer</em></p>Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com5tag:blogger.com,1999:blog-2683431904392903776.post-58644936555028732792017-11-16T07:38:00.001-08:002017-11-16T07:38:50.877-08:00Taming architecture complexity in V8 — the CodeStubAssembler<p>In this post we’d like to introduce the CodeStubAssembler (CSA), a component in V8 that has been a very useful tool in achieving some <a href="https://v8project.blogspot.com/2017/10/optimizing-proxies.html">big</a> <a href="https://twitter.com/v8js/status/918119002437750784">performance</a> <a href="https://twitter.com/_gsathya/status/900188695721984000">wins</a> over the last several V8 releases. The CSA also significantly improved the V8 team’s ability to quickly optimize JavaScript features at a low-level with a high degree of reliability, which improved the team’s development velocity.</p>
<h2>A brief history of builtins and hand-written assembly in V8</h2>
<p>To understand the CSA’s role in V8, it’s important to understand a little bit of the context and history that led to its development.</p>
<p>V8 squeezes performance out of JavaScript using a combination of techniques. For JavaScript code that runs a long time, V8’s <a href="https://github.com/v8/v8/wiki/TurboFan">TurboFan</a> optimizing compiler does a great job of speeding up the entire spectrum of ES2015+ functionality for peak performance. However, V8 also needs to execute short-running JavaScript efficiently for good baseline performance. This is especially the case for the so-called <strong>builtin functions</strong> on the pre-defined objects that are available to all JavaScript programs as defined by the <a href="https://tc39.github.io/ecma262/">ECMAScript specification</a>.</p>
<p>Historically, many of these builtin functions were <a href="https://en.wikipedia.org/wiki/Self-hosting">self-hosted</a>, that is, they were authored by a V8 developer in JavaScript—albeit a special V8-internal dialect. To achieve good performance, these self-hosted builtins rely on the same mechanisms V8 uses to optimize user-supplied JavaScript. As with user-supplied code, the self-hosted builtins require a warm-up phase in which type feedback is gathered and they need to be compiled by the optimizing compiler.</p>
<p>Although this technique provides good builtin performance in some situations, it’s possible to do better. The exact semantics of the pre-defined functions on the <code>Array.prototype</code> are <a href="https://tc39.github.io/ecma262/#sec-properties-of-the-array-prototype-object">specified in exquisite detail</a> in the spec. For important and common special cases, V8’s implementers know in advance exactly how these builtin functions should work by understanding the specification, and they use this knowledge to carefully craft custom, hand-tuned versions up front. These <em>optimized builtins</em> handle common cases without warm-up or the need to invoke the optimizing compiler, since by construction baseline performance is already optimal upon first invocation.</p>
<p>To squeeze the best performance out of hand-written built-in JavaScript functions (and from other fast-path V8 code that are also somewhat confusingly called builtins), V8 developers traditionally wrote optimized builtins in assembly language. By using assembly, the hand-written builtin functions were especially fast by, among other things, avoiding expensive calls to V8’s C++ code via trampolines and by taking advantage of V8’s custom register-based <a href="https://en.wikipedia.org/wiki/Application_binary_interface">ABI</a> that it uses internally to call JavaScript functions.</p>
<p>Because of the advantages of hand-written assembly, V8 accumulated literally tens of thousands of lines of hand-written assembly code for builtins over the years… <em>per platform</em>. All of these hand-written assembly builtins were great for improving performance, but new language features are always being standardized, and maintaining and extending this hand-written assembly was laborious and error-prone.</p>
<h2>Enter the CodeStubAssembler</h2>
<p>V8 developers wrestled with a dilemma for many years: is it possible to create builtins that have the advantage of hand-written assembly without also being fragile and difficult to maintain?</p>
<p>With the advent of TurboFan the answer to this question is finally “yes”. TurboFan’s backend uses a cross-platform <a href="https://en.wikipedia.org/wiki/Intermediate_representation">intermediate representation</a> (IR) for low-level machine operations. This low-level machine IR is input to an instruction selector, register allocator, instruction scheduler and code generator that produce very good code on all platforms. The backend also knows about many of the tricks that are used in V8’s hand-written assembly builtins—e.g. how to use and call a custom register-based ABI, how to support machine-level tail calls, and how to elide the construction of stack frames in leaf functions. That knowledge makes the TurboFan backend especially well-suited for generating fast code that integrates well with the rest of V8.</p>
<p>This combination of functionality made a robust and maintainable alternative to hand-written assembly builtins feasible for the first time. The team built a new V8 component—dubbed the CodeStubAssembler or CSA—that defines a portable assembly language built on top of TurboFan’s backend. The CSA adds an API to generate TurboFan machine-level IR directly without having to write and parse JavaScript or apply TurboFan’s JavaScript-specific optimizations. Although this fast-path to code generation is something that only V8 developers can use to speed up the V8 engine internally, this efficient path for generating optimized assembly code in a cross-platform way directly benefits all developers’ JavaScript code in the builtins constructed with the CSA, including the performance-critical bytecode handlers for V8’s interpreter, <a href="https://github.com/v8/v8/wiki/Ignition">Ignition</a>.</p>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_EGreRXGVciVd_yUCAgxJBbI90zyDroLPkZ-wMafOTXRIcBdmIMPvGQi2P5w7bWbB8e_KG5feFgjke8mVF283eVLb3mx6corwA1fNMyB-YOhK0Jbn3mtrLXFoOOJC-iCGCG5sBX6ortwW/s1600/csa.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="496" data-original-width="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_EGreRXGVciVd_yUCAgxJBbI90zyDroLPkZ-wMafOTXRIcBdmIMPvGQi2P5w7bWbB8e_KG5feFgjke8mVF283eVLb3mx6corwA1fNMyB-YOhK0Jbn3mtrLXFoOOJC-iCGCG5sBX6ortwW/s1600/csa.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">The CSA and JavaScript compilation pipelines</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<br />
<br />
<p>The CSA interface includes operations that are very low-level and familiar to anybody who has ever written assembly code. For example, it includes functionality like “load this object pointer from a given address” and “multiply these two 32-bit numbers”. The CSA has type verification at the IR level to catch many correctness bugs at compile time rather than runtime. For example, it can ensure that a V8 developer doesn’t accidentally use an object pointer that is loaded from memory as the input for a 32-bit multiplication. This kind of type verification is simply not possible with hand-written assembly stubs.</p>
<h2>A CSA test-drive</h2>
<p>To get a better idea of what the CSA offers, let’s go through a quick example. We’ll add a new internal builtin to V8 that returns the string length from an object if it is a String. If the input object is not a String, the builtin will return <code>undefined</code>.</p>
<p>First, we add a line to the <code>BUILTIN_LIST_BASE</code> macro in V8’s <a href="https://cs.chromium.org/chromium/src/v8/src/builtins/builtins-definitions.h"><code>builtin-definitions.h</code></a> file that declares the new builtin called <code>GetStringLength</code> and specifies that it has a single input parameter that is identified with the constant <code>kInputObject</code>:</p>
<pre><code class="hljs nohighlight">TFS(GetStringLength, kInputObject)
</code></pre>
<p>The <code>TFS</code> macro declares the builtin as a <b>T</b>urbo<b>F</b>an builtin using standard Code<b>S</b>tub linkage, which simply means that it uses the CSA to generate its code and expects parameters to be passed via registers.</p>
<p>We can then define the contents of the builtin in <a href="https://cs.chromium.org/chromium/src/v8/src/builtins/builtins-string-gen.cc"><code>builtins-string-gen.cc</code></a>:</p>
<pre><code class="hljs nohighlight">TF_BUILTIN(GetStringLength, CodeStubAssembler) {
Label not_string(this);
// Fetch the incoming object using the constant we defined for
// the first parameter.
Node* const maybe_string = Parameter(Descriptor::kInputObject);
// Check to see if input is a Smi (a special representation
// of small numbers). This needs to be done before the IsString
// check below, since IsString assumes its argument is an
// object pointer and not a Smi. If the argument is indeed a
// Smi, jump to the label |not_string|.
GotoIf(TaggedIsSmi(maybe_string), &not_string);
// Check to see if the input object is a string. If not, jump to
// the label |not_string|.
GotoIfNot(IsString(maybe_string), &not_string);
// Load the length of the string (having ended up in this code
// path because we verified it was string above) and return it
// using a CSA "macro" LoadStringLength.
Return(LoadStringLength(maybe_string));
// Define the location of label that is the target of the failed
// IsString check above.
BIND(&not_string);
// Input object isn't a string. Return the JavaScript undefined
// constant.
Return(UndefinedConstant());
}
</code></pre>
<p>Note that in the example above, there are two types of instructions used. There are <em>primitive</em> CSA instructions that translate directly into one or two assembly instructions like <code>GotoIf</code> and <code>Return</code>. There are a fixed set of pre-defined CSA primitive instructions roughly corresponding to the most commonly used assembly instructions you would find on one of V8’s supported chip architectures. Others instructions in the example are <em>macro</em> instructions, like <code>LoadStringLength</code>, <code>TaggedIsSmi</code>, and <code>IsString</code>, that are convenience functions to output one or more primitive or macro instructions inline. Macro instructions are used to encapsulate commonly used V8 implementation idioms for easy reuse. They can be arbitrarily long and new macro instructions can be easily defined by V8 developers whenever needed.</p>
<p>After compiling V8 with the above changes, we can run <code>mksnapshot</code>, the tool that compiles builtins to prepare them for V8’s snapshot, with the <code>--print-code</code> command-line option. This options prints the generated assembly code for each builtin. If we <code>grep</code> for <code>GetStringLength</code> in the output, we get the following result on x64 (the code output is cleaned up a bit to make it more readable):</p>
<pre><code class="hljs nohighlight"> test al,0x1
jz not_string
movq rbx,[rax-0x1]
cmpb [rbx+0xb],0x80
jnc not_string
movq rax,[rax+0xf]
retl
not_string:
movq rax,[r13-0x60]
retl
</code></pre>
<p>On 32-bit ARM platforms, the following code is generated by <code>mksnapshot</code>:</p>
<pre><code class="hljs nohighlight"> tst r0, #1
beq +28 -> not_string
ldr r1, [r0, #-1]
ldrb r1, [r1, #+7]
cmp r1, #128
bge +12 -> not_string
ldr r0, [r0, #+7]
bx lr
not_string:
ldr r0, [r10, #+16]
bx lr
</code></pre>
<p>Even though our new builtin uses a non-standard (at least non-C++) calling convention, it’s possible to write test cases for it. The following code can be added to <a href="https://cs.chromium.org/chromium/src/v8/test/cctest/compiler/test-run-stubs.cc"><code>test-run-stubs.cc</code></a> to test the builtin on all platforms:</p>
<pre><code class="hljs">TEST(GetStringLength) {
HandleAndZoneScope scope;
Isolate* isolate = scope.main_isolate();
Heap* heap = isolate->heap();
Zone* zone = scope.main_zone();
// Test the case where input is a string
StubTester tester(isolate, zone, Builtins::kGetStringLength);
Handle<String> input_string(
isolate->factory()->
NewStringFromAsciiChecked("Oktoberfest"));
Handle<Object> result1 = tester.Call(input_string);
CHECK_EQ(11, Handle<Smi>::cast(result1)->value());
// Test the case where input is not a string (e.g. undefined)
Handle<Object> result2 =
tester.Call(factory->undefined_value());
CHECK(result2->IsUndefined(isolate));
}
</code></pre>
<p>For more details about using the CSA for different kinds of builtins and for further examples, see <a href="https://github.com/v8/v8/wiki/CodeStubAssembler-Builtins">this wiki page</a>.</p>
<h2>A V8 developer velocity multiplier</h2>
<p>The CSA is more than just an universal assembly language that targets multiple platforms. It enables much quicker turnaround when implementing new features compared to hand-writing code for each architecture as we used to do. It does this by providing all of the benefits of hand-written assembly while protecting developers against its most treacherous pitfalls:</p>
<ul>
<li>With the CSA, developers can write builtin code with a cross-platform set of low-level primitives that translate directly to assembly instructions. The CSA’s instruction selector ensures that this code is optimal on all of the platforms that V8 targets without requiring V8 developers to be experts in each of those platform’s assembly languages.</li>
<li>The CSA’s interface has optional types to ensure that the values manipulated by the low-level generated assembly are of the type that the code author expects.</li>
<li>Register allocation between assembly instructions is done by the CSA automatically rather than explicitly by hand, including building stack frames and spilling values to the stack if a builtin uses more registers than available or makes call. This eliminates a whole class of subtle, hard-to-find bugs that plagued hand-written assembly builtins. By making the generated code less fragile the CSA drastically reduces the time required to write correct low-level builtins.</li>
<li>The CSA understands ABI calling conventions—both standard C++ and internal V8 register-based ones—making it possible to easily interoperate between CSA-generated code and other parts of V8.</li>
<li>Since CSA code is C++, it’s easy to encapsulate common code generation patterns in macros that can be easily reused in many builtins.</li>
<li>Because V8 uses the CSA to generate the bytecode handlers for Ignition, it is very easy to inline the functionality of CSA-based builtins directly into the handlers to improve the interpreter’s performance.</li>
<li>V8’s testing framework supports testing CSA functionality and CSA-generated builtins from C++ without having to write assembly adapters.</li>
</ul>
<p>All in all, the CSA has been a game changer for V8 development. It has significantly improved the team’s ability to optimize V8. That means we are able to optimize more of the JavaScript language faster for V8’s embedders.</p>
<em>Posted by <a href="https://twitter.com/expatdanno">Daniel Clifford</a>, CodeStubAssembler assembler</em>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-28384053316345850922017-11-06T08:20:00.000-08:002017-12-14T04:34:35.194-08:00Announcing the Web Tooling Benchmark<p>JavaScript performance has always been important to the V8 team, and in this post we would like to discuss a new JavaScript <a href="https://v8.github.io/web-tooling-benchmark">Web Tooling Benchmark</a> that we have been using recently to identify and fix some performance bottlenecks in V8. You may already be aware of V8’s <a href="https://v8project.blogspot.com/2016/12/v8-nodejs.html">strong commitment to Node.js</a> and this benchmark extends that commitment by specifically running performance tests based on common developer tools built upon Node.js. The tools in the Web Tooling Benchmark are the same ones used by developers and designers today to build modern web sites and cloud-based applications. In continuation of our ongoing efforts to focus on <a href="https://v8project.blogspot.com/search?q=real+world">real-world performance</a> rather than artificial benchmarks, we created the benchmark using actual code that developers run every day.</p>
<p>The Web Tooling Benchmark suite was designed from the beginning to cover important <a href="https://github.com/nodejs/benchmarking/blob/master/docs/use_cases.md#web-developer-tooling">developer tooling use cases</a> for Node.js. Because the V8 team focuses on core JavaScript performance, we built the benchmark in a way that focuses on the JavaScript workloads and excludes measurement of Node.js-specific I/O or external interactions. This makes it possible to run the benchmark in Node.js, in all browsers, and in all major JavaScript engine shells, including <code>ch</code> (ChakraCore), <code>d8</code> (V8), <code>jsc</code> (JavaScriptCore) and <code>jsshell</code> (SpiderMonkey). Even though the benchmark is not limited to Node.js, we are excited that the <a href="https://github.com/nodejs/benchmarking">Node.js benchmarking working group</a> is considering using the tooling benchmark as a standard for Node performance as well (<a href="https://github.com/nodejs/benchmarking/issues/138">nodejs/benchmarking#138</a>).</p>
<p>The individual tests in the tooling benchmark cover a variety of tools that developers commonly use to build JavaScript-based applications, for example:
<br />
<ul>
<li>The <a href="https://github.com/babel/babel">Babel</a> transpiler using the <code>es2015</code> preset.</li>
<li>The parser used by Babel — named <a href="https://github.com/babel/babylon">Babylon</a> — running on several popular inputs (including the <a href="https://lodash.com/">lodash</a> and <a href="https://github.com/developit/preact">Preact</a> bundles).</li>
<li>The <a href="https://github.com/ternjs/acorn">acorn</a> parser used by <a href="http://webpack.js.org/">webpack</a>.</li>
<li>The <a href="http://www.typescriptlang.org/">TypeScript</a> compiler running on the <a href="https://github.com/tastejs/todomvc/tree/master/examples/typescript-angular">typescript-angular</a> example project from the <a href="https://github.com/tastejs/todomvc">TodoMVC</a> project.</li>
</ul>
See the <a href="https://github.com/v8/web-tooling-benchmark/blob/master/docs/in-depth.md">in-depth analysis</a> for details on all the included tests.</p>
<p>Based on past experience with other benchmarks like <a href="http://browserbench.org/Speedometer">Speedometer</a>, where tests quickly become outdated as new versions of frameworks become available, we made sure it is straight-forward to update each of the tools in the benchmarks to more recent versions as they are released. By basing the benchmark suite on npm infrastructure, we can easily update it to ensure that it is always testing the state of the art in JavaScript development tools. Updating a test case is just a matter of bumping the version in the <code>package.json</code> manifest.</p>
<p>We created a <a href="http://crbug.com/v8/6936">tracking bug</a> and a <a href="https://docs.google.com/spreadsheets/d/14XseWDyiJyxY8_wXkQpc7QCKRgMrUbD65sMaNvAdwXw">spreadsheet</a> to contain all the relevant information that we have collected about V8’s performance on the new benchmark up to this point. Our investigations have already yielded some interesting results. For example, we discovered that V8 was often hitting the slow path for <code>instanceof</code> (<a href="http://crbug.com/v8/6971">v8:6971</a>), incurring a 3–4× slowdown. We also found and fixed performance bottlenecks in certain cases of property assignments of the form of <code>obj[name] = val</code> where <code>obj</code> was created via <code>Object.create(null)</code>. In these cases, V8 would fall off the fast-path despite being able to utilize the fact that <code>obj</code> has a <code>null</code> prototype (<a href="http://crbug.com/v8/6985">v8:6985</a>). These and other discoveries made with the help of this benchmark improve V8, not only in Node.js, but also in Chrome.</p>
<p>We not only looked into making V8 faster, but also fixed and upstreamed performance bugs in the benchmark’s tools and libraries whenever we found them. For example, we discovered a number of performance bugs in <a href="https://github.com/babel/babel">Babel</a> where code patterns like
<pre class="hljs language-js"><code>value = items[items.length - <span class="hljs-number">1</span>];
</code></pre>
lead to accesses of the property <code>"-1"</code>, because the code didn’t check whether <code>items</code> is empty beforehand. This code pattern causes V8 to go through a slow-path due to the <code>"-1"</code> lookup, even though a slightly modified, equivalent version of the JavaScript is much faster. We helped to fix these issues in Babel (<a href="https://github.com/babel/babel/pull/6582">babel/babel#6582</a>, <a href="https://github.com/babel/babel/pull/6581">babel/babel#6581</a> and <a href="https://github.com/babel/babel/pull/6580">babel/babel#6580</a>). We also discovered and fixed a bug where Babel would access beyond the length of a string (<a href="https://github.com/babel/babel/pull/6589">babel/babel#6589</a>), which triggered another slow-path in V8. Additionally we <a href="https://twitter.com/bmeurer/status/926357262318305280">optimized out-of-bounds reads of arrays and strings</a> in V8. We’re looking forward to continue <a href="https://twitter.com/rauchg/status/924349334346276864">working with the community</a> on improving the performance of this important use case, not only when run on top of V8, but also when run on other JavaScript engines like ChakraCore.</p>
<p>Our strong focus on real-world performance and especially on improving popular Node.js workloads is shown by the constant improvements in V8’s score on the benchmark over the last couple of releases:</p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXtwi44YRkUl59erBFEVWdEXzWl7HcLLRrCFJv-1neMn3kj1mDM-BLiZaoDCLq7JCHvSvv64XPnXiswPCZb1ahJixh8ZtYTvwQR7XmU4xJJ32GWIaK9-AxR1pvDXhqL6P2y69UHm5Zes/s1600/blogpost.png" imageanchor="1"><img border="0" data-original-height="738" data-original-width="1198" height="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigXtwi44YRkUl59erBFEVWdEXzWl7HcLLRrCFJv-1neMn3kj1mDM-BLiZaoDCLq7JCHvSvv64XPnXiswPCZb1ahJixh8ZtYTvwQR7XmU4xJJ32GWIaK9-AxR1pvDXhqL6P2y69UHm5Zes/s640/blogpost.png" width="640" /></a><br />
<p>Since V8 5.8, which is the last V8 release before <a href="https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html">switching to the Ignition+TurboFan architecture</a>, V8’s score on the tooling benchmark has improved by around <strong>60%</strong>.</p>
<p>Over the last several years, the V8 team has come to recognize that no one JavaScript benchmark — even a well-intentioned, carefully crafted one — should be used as a single proxy for a JavaScript engine’s overall performance. However, we do believe that the new <strong>Web Tooling Benchmark</strong> highlights areas of JavaScript performance that are worth focusing on. Despite the name and the initial motivation, we have found that the Web Tooling Benchmark suite is not only representative of tooling workloads, but is representative of a large range of more sophisticated JavaScript applications that are not tested well by front end-focused benchmarks like Speedometer. It is by no means a replacement for Speedometer, but rather a complementary set of tests.</p>
<p>The best news of all is that given how the Web Tooling Benchmark is constructed around real workloads, we expect that our recent improvements in benchmark scores will translate directly into improved developer productivity through <a href="https://xkcd.com/303/">less time waiting for things to build</a>. Many of these improvements are already available in Node.js: at the time of writing, Node 8 LTS is at V8 6.1 and Node 9 is at V8 6.2.</p>
<p>The latest version of the benchmark is hosted at <a href="https://v8.github.io/web-tooling-benchmark/">https://v8.github.io/web-tooling-benchmark/</a>.</p>
<p><em>Benedikt Meurer, <a href="https://twitter.com/bmeurer">@bmeurer</a>, JavaScript Performance Juggler</em></p>Anonymoushttp://www.blogger.com/profile/17484386788351777930noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-87697351747602930092017-10-25T05:38:00.000-07:002017-12-14T04:34:02.999-08:00V8 Release 6.3<div class="separator" style="clear: both; text-align: center;">
</div>
<i>Every six weeks, we create a new branch of V8 as part of our <a href="https://github.com/v8/v8/wiki/Release-Process">release process</a>. Each version is branched from V8’s git master immediately before a Chrome Beta milestone. Today we’re pleased to announce our newest branch, <a href="https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/6.3">V8 version 6.3</a>, which is in beta until its release in coordination with Chrome 63 Stable in several weeks. V8 v6.3 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.</i><br />
<i><br /></i>
<br />
<h2>
Speed</h2>
<a href="https://v8project.blogspot.de/2016/04/jank-busters-part-two-orinoco.html">Jank Busters</a> III hit the shelves as part of the <a href="https://v8project.blogspot.de/2016/04/jank-busters-part-two-orinoco.html">Orinoco</a> project. Concurrent marking (<a href="https://chromeperf.appspot.com/report?sid=612eec65c6f5c17528f9533349bad7b6f0020dba595d553b1ea6d7e7dcce9984">70-80%</a> of marking is done on a non-blocking thread) is shipped.<br />
<br />
The parser now does not <a href="https://docs.google.com/document/d/1TqpdGeLmURL2gc18s6PwNeyZOvayQJtJ16TCn0BEt48/edit#heading=h.un2pnqwbiw11">need to preparse a function a second time</a>. This translates to a <a href="https://docs.google.com/document/d/1TqpdGeLmURL2gc18s6PwNeyZOvayQJtJ16TCn0BEt48/edit#heading=h.dvuo4tqnsmml">14 % median improvement in parse time</a> on our internal startup top25 benchmark.<br />
<br />
<code>string.js</code> has been completely ported to CodeStubAssembler. Thanks a lot to <a href="https://twitter.com/peterwmwong">@peterwmwong</a> for <a href="https://chromium-review.googlesource.com/q/peter.wm.wong">his awesome contributions</a>! As a developer this means that builtin string functions like <code>String#trim</code> are a lot faster starting with 6.3.<br />
<br />
<code>Object.is()</code>'s performance is now roughly on-par with alternatives. In general, 6.3 continues the path to better the ES2015+ performance. Beside other items we boosted the <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6367">speed of polymorphic access to symbols</a>, <a href="https://bugs.chromium.org/p/v8/issues/detail?id=6885">polymorphic inlining of constructor calls</a> and <a href="https://pasteboard.co/GLYc4gt.png">(tagged) template literals</a>. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXp5lgujap810hurIwwFgRCOcXta1AZ0wqUpawKjV8xMakSyRR2HE6TblDr6F8VeqlSC27UJ1c7ySyLAZcoNVkpR9YbwzmsN2pHNkhpLYtGFAVRXZ2KOpvLMvRZy3zUPhNBTkHVSHMU3SD/s1600/ares6perf.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="914" data-original-width="1600" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXp5lgujap810hurIwwFgRCOcXta1AZ0wqUpawKjV8xMakSyRR2HE6TblDr6F8VeqlSC27UJ1c7ySyLAZcoNVkpR9YbwzmsN2pHNkhpLYtGFAVRXZ2KOpvLMvRZy3zUPhNBTkHVSHMU3SD/s640/ares6perf.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"> V8's performance over the past six releases</td></tr>
</tbody></table>
<br>Weak optimized function list is gone. More information can be found in <a href="https://v8project.blogspot.de/2017/10/lazy-unlinking.html">the dedicated blog post</a>.<br />
<br />
The mentioned items are a non-exhaustive list of speed improvements. Lot's of other performance-related work has happened.<br />
<br />
<div>
<h2>
Memory consumption</h2>
<a href="https://chromium.googlesource.com/v8/v8/+/dbfdd4f9e9741df0a541afdd7516a34304102ee8">Write barriers are switched over to using the CodeStubAssembler</a>. This saves around 100kb of memory per isolate.</div>
<div>
<br /></div>
<div>
<h2>
ECMAScript language features</h2>
V8 shipped the following stage 3 features: <a href="https://developers.google.com/web/updates/2017/11/dynamic-import">Dynamic module import via <code>import()</code></a>, <a href="https://developers.google.com/web/updates/2017/10/promise-finally"><code>Promise.prototype.finally()</code></a> and <a href="https://github.com/tc39/proposal-async-iteration">async iterators/generators</a>.<br />
<br />
With <a href="https://developers.google.com/web/updates/2017/11/dynamic-import">dynamic module import</a> it is very straightforward to import modules based on runtime conditions. This comes in handy when an application should lazy-load certain code modules.<br />
<br />
<a href="https://developers.google.com/web/updates/2017/10/promise-finally"><code>Promise.prototype.finally</code></a> introduces a way to easily clean up after a promise is settled.<br />
<br />
Iterating with async functions got more ergonomic with the introduction of <a href="https://github.com/tc39/proposal-async-iteration">async iterators/generators</a>.</div>
<div>
<br /></div>
<div>
<h2>
Inspector/Debugging</h2>
In Chrome 63 <a href="https://docs.google.com/presentation/d/1IFqqlQwJ0of3NuMvcOk-x4P_fpi1vJjnjGrhQCaJkH4/edit#slide=id.g271d6301ff_0_44">block coverage</a> is also supported in the DevTools UI. Please note that the inspector protocol already supports block coverage since V8 6.2.</div>
<div>
<br /></div>
<div>
<h2>
V8 API</h2>
Please check out our <a href="http://bit.ly/v8-api-changes">summary of API changes</a>. This document is regularly updated a few weeks after each major release. <br />
<br />
Developers with an <a href="https://github.com/v8/v8/wiki/Using%20Git">active V8 checkout</a> can use <span style="font-family: "courier new" , "courier" , monospace;">git checkout -b 6.3 -t branch-heads/6.3</span> to experiment with the new features in V8 6.3. Alternatively you can <a href="https://www.google.com/chrome/browser/beta.html">subscribe to Chrome’s Beta channel</a> and try the new features out yourself soon.<br />
<br />
<i>Posted by the V8 team</i></div>
Anonymoushttp://www.blogger.com/profile/13656340413912595368noreply@blogger.com2tag:blogger.com,1999:blog-2683431904392903776.post-85149595318561976472017-10-05T00:42:00.000-07:002017-10-05T00:42:59.000-07:00Optimizing ES2015 proxies in V8<h2>Introduction</h2>
<p>
Proxies have been an integral part of JavaScript since ES2015. They allow
intercepting fundamental operations on objects and customizing their behavior.
Proxies form a core part of projects like <a
href="https://github.com/tmpvar/jsdom">jsdom</a> and the <a
href="https://github.com/GoogleChrome/comlink">Comlink RPC library</a>.
Recently, we put a lot of effort into improving the performance of proxies in
V8. This article sheds some light on general performance improvement patterns
in V8 and for proxies in particular.
</p>
<p>
Proxies are “objects used to define custom behavior for fundamental
operations (e.g. property lookup, assignment, enumeration, function invocation,
etc.)” (definition by <a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy">MDN</a>).
More info can be found in the <a
href="https://tc39.github.io/ecma262/#sec-proxy-objects">full specification</a>.
For example, the following code snippet adds logging to every property access on
the object:
</p>
<pre
class="prettyprint"><code>const target = {};
const callTracer = new Proxy(target, {
get: (target, name, receiver) => {
console.log(`get was called for: ${name}`);
return target[name];
}
});
callTracer.property = 'value';
console.log(callTracer.property);
// get was called for: property
// value
</code></pre>
<h2>Constructing proxies</h2>
<p>
The first feature we'll focus on is the <strong>construction</strong> of
proxies. Our original C++ implementation here followed the EcmaScript
specification step-by-step, resulting in at least 4 jumps between the C++ and JS
runtimes as shown in the following figure. We wanted to port this implementation
into the platform-agnostic <a
href="https://github.com/v8/v8/wiki/CodeStubAssembler-Builtins">CodeStubAssembler</a>
(CSA), which is executed in the JS runtime as opposed to the C++ runtime.This
porting minimizes that number of jumps between the language runtimes. CEntryStub
and JSEntryStub represent the runtimes in the figure below. The dotted lines
represent the borders between the JS and C++ runtimes. Luckily, lots of <a
href="https://github.com/v8/v8/blob/4e5db9a6c859df7af95a92e7cf4e530faa49a765/src/code-stub-assembler.h">helper
predicates</a> were already implemented in the assembler, which made the <a
href="https://github.com/v8/v8/commit/f2af839b1938b55b4d32a2a1eb6704c49c8d877d#diff-ed49371933a938a7c9896878fd4e4919R97">initial
version</a> concise and readable.
</p>
<p>
The figure below shows the execution flow for calling a Proxy with any proxy
trap (in this example <code>apply</code>, which is being called when the proxy
is used as a function) generated by the following sample code:
</p>
<pre
class="prettyprint"><code>function foo(...) {...}
g = new Proxy({...}, {
apply: foo
});
g(1, 2);
</code></pre>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtPMfFLnnxmPyJ5kgzP0Z5z-tYC0twX2WXfnyG4EsBgRN0jDoNg-SnBVlwG3xNqwY24UV2wNXqiChf6DOgD4lUYLXWKyUGgEGDaoeUx0XNPYs8VXN969XGZvtldOAjJcpSE2ZB55hx7cNq/s1600/Optimizing-ES20150.png" imageanchor="1"><img border="0" data-original-height="768" data-original-width="1024" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtPMfFLnnxmPyJ5kgzP0Z5z-tYC0twX2WXfnyG4EsBgRN0jDoNg-SnBVlwG3xNqwY24UV2wNXqiChf6DOgD4lUYLXWKyUGgEGDaoeUx0XNPYs8VXN969XGZvtldOAjJcpSE2ZB55hx7cNq/s640/Optimizing-ES20150.png" width="640" /></a></p>
<p>
After porting the trap execution to CSA all of the execution happens in the JS
runtime, reducing the number of jumps between languages from 4 to 0.
</p>
<p>
This change resulted in the following performance improvements::
</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pzW_czSB-FtmAZQxNOMbjqQdRLdY4vfYxhdmrQ5KjLFOeumLZ6dBmWOiyamSFKFMeYlpxdgotfexczPbZpRfhh8dgp4pH-k8598-KkUlWf8efBPM58uPjrudochyDeQZRCD7ec7Nz-w-/s1600/Optimizing-ES20151.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pzW_czSB-FtmAZQxNOMbjqQdRLdY4vfYxhdmrQ5KjLFOeumLZ6dBmWOiyamSFKFMeYlpxdgotfexczPbZpRfhh8dgp4pH-k8598-KkUlWf8efBPM58uPjrudochyDeQZRCD7ec7Nz-w-/s640/Optimizing-ES20151.png" width="640" /></a></p>
<p>
Our JS performance score shows an improvement between <strong>49% and
74%</strong>. This score roughly measures how many times the given
microbenchmark can be executed in 1000ms. For some tests the code is run
multiple times in order to get an accurate enough measurement given the timer
resolution. The code for all of the following benchmarks can be found <a
href="https://github.com/v8/v8/blob/5a5783e3bff9e5c1c773833fa502f14d9ddec7da/test/js-perf-test/Proxies/proxies.js">in
our js-perf-test directory</a>.
</p>
<h2>Call and construct traps</h2>
<p>
The next section shows the results from optimizing call and construct traps
(a.k.a. "<code><a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply">apply</a></code>"
and "<code><a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/construct">construct</a></code>").
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT13KcaNmy5fXKXV9nJVPg83-M8gfsulTH-adzDrnc3HPGe6vq5mzuA3T6ygDGaslb3sggKPcpd9q2IdbBfS5KvKQlnGWuMdVCMTVe1bW4peYoOddYc0CG2dpcxbGc41BX_fi93qQBLuSa/s1600/Optimizing-ES20152.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT13KcaNmy5fXKXV9nJVPg83-M8gfsulTH-adzDrnc3HPGe6vq5mzuA3T6ygDGaslb3sggKPcpd9q2IdbBfS5KvKQlnGWuMdVCMTVe1bW4peYoOddYc0CG2dpcxbGc41BX_fi93qQBLuSa/s640/Optimizing-ES20152.png" width="640" /></a></p>
<p>
The performance improvements when <em>calling</em> proxies are significant — up
to <strong>500%</strong> faster! Still, the improvement for proxy construction
is quite modest, especially in cases where no actual trap is defined — only
about <strong>25% </strong>gain. We investigated this by running the following
command with the <code><a
href="https://github.com/v8/v8/wiki/Building%20from%20Source">d8
shell</a></code>:
<pre
class="prettyprint">$ out/x64.release/d8 --runtime-call-stats test.js
> run: 120.104000
Runtime Function/C++ Builtin Time Count
========================================================================================
NewObject 59.16ms 48.47% 100000 24.94%
JS_Execution 23.83ms 19.53% 1 0.00%
RecompileSynchronous 11.68ms 9.57% 20 0.00%
AccessorNameGetterCallback 10.86ms 8.90% 100000 24.94%
AccessorNameGetterCallback_FunctionPrototype 5.79ms 4.74% 100000 24.94%
Map_SetPrototype 4.46ms 3.65% 100203 25.00%
… SNIPPET …
</pre>
<p>
Where <code>test.js</code>'s source is:
</p>
<pre class="prettyprint"><code>function MyClass() {}
MyClass.prototype = {};
const P = new Proxy(MyClass, {});
function run() {
return new P();
}
const N = 1e5;
console.time('run');
for (let i = 0; i < N; ++i) {
run();
}
console.timeEnd('run');</code></pre>
<p>
It turned out most of the time is spent in <code>NewObject</code> and the
functions called by it, so we started planning how to speed this up in future
releases.
</p>
<h2>Get trap</h2>
<p>
The next section describes how we optimized the other most common operations —
getting and setting properties through proxies. It turned out the <code><a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/get">get</a></code>
trap is more involved than the previous cases, due to the specific behavior of
V8's inline cache. For a detailed explanation of inline caches, you can watch
<a href="https://www.youtube.com/watch?v=u7zRSm8jzvA">this talk</a>.
<p>
Eventually we managed to get a working port to CSA with the following results:
</p>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtKKnQb4_5U_mkn2JthgSt3lfemVvNH4vDBgpwOUrRvAYr1S1n7vuaMF8kZfDmmqzOYqu1bvVXDIa48-DSPM7mVyWbbwfNte9ktOIyw24T9pW1e7DxAMPaf4Q5Y4TMmAlGZs3yfmU2AIb5/s1600/Optimizing-ES20153.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtKKnQb4_5U_mkn2JthgSt3lfemVvNH4vDBgpwOUrRvAYr1S1n7vuaMF8kZfDmmqzOYqu1bvVXDIa48-DSPM7mVyWbbwfNte9ktOIyw24T9pW1e7DxAMPaf4Q5Y4TMmAlGZs3yfmU2AIb5/s640/Optimizing-ES20153.png" width="640" /></a></p>
<p>
After landing the change, we noticed the size of the Android <code>.apk</code>
for Chrome had grown by <strong>~160KB</strong>, which is more than expected for
a helper function of roughly 20 lines, but fortunately we track such statistics.
It turned out this function is called twice from another function, which is
called 3 times, from another called 4 times. The cause of the problem turned out
to be the aggressive inlining. Eventually we solved the issue by turning the
inline function into a separate code stub, thus saving precious KBs - the end
version had only <strong>~19KB</strong> increase in <code>.apk</code> size.
</p>
<h2>Has trap</h2>
<p>
The next section shows the results from optimizing the <code><a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/has">has</a></code>
trap. Although at first we thought it would be easier (and reuse most of the
code of the <code>get</code> trap), it turned out to have its own peculiarities.
A particularly hard-to-track-down problem was the prototype chain walking when
calling the <code>in</code> operator. The improvement results achieved vary
between <strong>71% and 428%</strong>. Again the gain is more prominent in cases
where the trap is present.
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBc8GYdB3g6WA9mxuYmsaMggUt5avWuUY6Xb82-5m1G6lqGnASX5d37DTR1YFVS7NlMUve77FMxfe7nLbaBb63EzGR7a8ap-wEn8sJW4BLn1iQ26p3fl2dCguDYCiO6BwzrW81L2oFKHMu/s1600/Optimizing-ES20154.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBc8GYdB3g6WA9mxuYmsaMggUt5avWuUY6Xb82-5m1G6lqGnASX5d37DTR1YFVS7NlMUve77FMxfe7nLbaBb63EzGR7a8ap-wEn8sJW4BLn1iQ26p3fl2dCguDYCiO6BwzrW81L2oFKHMu/s640/Optimizing-ES20154.png" width="640" /></a></p>
<h2>Set trap</h2>
<p>
The next section talks about porting the <code><a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/set">set</a></code>
trap. This time we had to differentiate between <a
href="https://v8project.blogspot.com/2017/08/fast-properties.html">named</a> and
indexed properties (<a
href="https://v8project.blogspot.com/2017/09/elements-kinds-in-v8.html">elements</a>).
These two main types are not part of the JS language, but are essential for V8's
efficient property storage. The initial implementation still bailed out to the
runtime for elements, which causes crossing the language boundaries again.
Nevertheless we achieved improvements between <strong>27% and 438%</strong> for
cases when the trap is set, at the cost of a decrease of up to
<strong>23%</strong> when it's not. This performance regression is due to the
overhead of additional check for differentiating between indexed and named
properties. For indexed properties, there is no improvement yet. Here are the
complete results:
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh0rGVty57x0NmAef_627sUdEahyKuUaLYTT7YSjylYEDh7I_sA_W64UbttlgJ2hxMOrWaV-rWdFhh-I8SmjbK4NhXfEJtszDR_IA0mrtxIv7bFGMCRRym_fwKhI_gc2KmF2yLj__WA6N6/s1600/Optimizing-ES20155.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh0rGVty57x0NmAef_627sUdEahyKuUaLYTT7YSjylYEDh7I_sA_W64UbttlgJ2hxMOrWaV-rWdFhh-I8SmjbK4NhXfEJtszDR_IA0mrtxIv7bFGMCRRym_fwKhI_gc2KmF2yLj__WA6N6/s640/Optimizing-ES20155.png" width="640" /></a></p>
<h2>Real-world usage</h2>
<h3>Results from <a
href="https://github.com/domenic/jsdom-proxy-benchmark">jsdom-proxy-benchmark</a>
</h3>
<p>
The jsdom-proxy-benchmark project compiles the <a
href="https://github.com/tc39/ecma262">ECMAScript specification</a> using the <a
href="https://github.com/bterlson/ecmarkup">Ecmarkup</a> tool. As of <a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120">v11.2.0</a>,<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120"> </a>t<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120">h</a>e<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120"> jsdom
</a>p<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120">r</a>o<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120">j</a>e<a
href="https://github.com/tmpvar/jsdom/blob/master/Changelog.md#1120">c</a>t
(which underlies Ecmarkup) uses proxies to implement the common data structures
<code>NodeList</code> and <code>HTMLCollection</code>. We used this benchmark to
get an overview of some more realistic usage than the synthetic
micro-benchmarks, and achieved the following results, average of 100 runs:
</p><ul>
<li>Node v8.4.0 (without Proxy optimizations): <strong>14277 ± 159 ms</strong>
<li><a
href="https://nodejs.org/download/v8-canary/v9.0.0-v8-canary20170924898da64843/node-v9.0.0-v8-canary20170924898da64843-linux-x64.tar.gz">Node
v9.0.0-v8-canary-20170924</a> (with only half of the traps ported):
<strong>11789 ± 308 ms</strong>
<li>Gain in speed around 2.4 seconds which is <strong>~17%
better</strong></li></ul>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie7KuVqLNiJtffaj85KasDOKG8jjr4jt0HEYG_YylMDmkiUjhKUzVHszk2iq6-mA7Xe1wDyNl5OYZedZAVMRvqWA86WtedAPEepTwqMv_JQDqzXqsbv1WWxWK5KNV7vyTAHyDvt3YTjdxo/s1600/Optimizing-ES20156.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie7KuVqLNiJtffaj85KasDOKG8jjr4jt0HEYG_YylMDmkiUjhKUzVHszk2iq6-mA7Xe1wDyNl5OYZedZAVMRvqWA86WtedAPEepTwqMv_JQDqzXqsbv1WWxWK5KNV7vyTAHyDvt3YTjdxo/s640/Optimizing-ES20156.png" width="640" /></a></p>
<ul>
<li><a
href="https://github.com/domenic/jsdom-proxy-benchmark/issues/1#issuecomment-329047990">Converting
NamedNodeMap to use Proxy</a> increased processing time by <ul>
<li><strong>1.9 s</strong> on V8 6.0 (Node v8.4.0)
<li><strong>0.5 s</strong> on V8 6.3 (Node v9.0.0-v8-canary-20170910)</li>
</ul>
</li> </ul>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcoOCB-epGkgcRIldoYFeWszkW-fY09692rhKyOJyft4bXDC2EekW6XVVREd18apVFOv-A07dxzhixbjtbSdM9oL7mDovzliiAXNDLzWHiM2_7KZ2GmoTHCEHM2r9o-s2TBAwzjbpRYkMP/s1600/Optimizing-ES20157.png" imageanchor="1"><img border="0" data-original-height="634" data-original-width="1028" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcoOCB-epGkgcRIldoYFeWszkW-fY09692rhKyOJyft4bXDC2EekW6XVVREd18apVFOv-A07dxzhixbjtbSdM9oL7mDovzliiAXNDLzWHiM2_7KZ2GmoTHCEHM2r9o-s2TBAwzjbpRYkMP/s640/Optimizing-ES20157.png" width="640" /></a></p>
<p>
<em>(thanks for the results provided by <a
href="https://github.com/TimothyGu">TimothyGu</a>)</em>
</p>
<h3>Results from <a href="chaijs.com">Chai.js</a></h3>
<p>
Chai.js is a popular assertion library which makes heavy use of proxies. We've
created a kind of real-world benchmark by running its tests with different
versions of V8 an improvement of roughly <strong>1s out of more than
4s</strong>, average of 100 runs:
</p><ul>
<li>Node v8.4.0 (without Proxy optimizations): <strong>4.2863 ± 0.14 s</strong>
<li><a
href="https://nodejs.org/download/v8-canary/v9.0.0-v8-canary20170924898da64843/node-v9.0.0-v8-canary20170924898da64843-linux-x64.tar.gz">Node
v9.0.0-v8-canary-20170924</a> (with only half of the traps ported):
<strong>3.1809 ± 0.17 s</strong></li></ul>
<p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1ykpOtJX_qltqSs1OZj4GI-iAimQAXT-2OKj6SO8Hc7OAqmR_zt-7ElbVbFxpDmCqaoPKESUzFr5ptzmnYrKqJUTceuPyOZNRdhK9S0xqFZAbIrx2Uf6Sg6aHvA9Iwqj0Pf8rnDWRDqXs/s1600/Optimizing-ES20158.png" imageanchor="1"><img border="0" data-original-height="742" data-original-width="1200" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1ykpOtJX_qltqSs1OZj4GI-iAimQAXT-2OKj6SO8Hc7OAqmR_zt-7ElbVbFxpDmCqaoPKESUzFr5ptzmnYrKqJUTceuPyOZNRdhK9S0xqFZAbIrx2Uf6Sg6aHvA9Iwqj0Pf8rnDWRDqXs/s640/Optimizing-ES20158.png" width="640" /></a></p>
<h2>Optimization approach</h2>
<p>
We often tackle performance issues using a generic optimization scheme. The main
approach that we followed for this particular work included the following steps:
</p><ul>
<li>Implement performance tests for the particular sub-feature
<li>Add more specification conformance tests (or write them from scratch)
<li>Investigate the original C++ implementation
<li>Port the sub-feature to the platform-agnostic CodeStubAssembler
<li>Optimize the code even further by hand-crafting a <a
href="https://github.com/v8/v8/wiki/TurboFan">TurboFan</a> implementation
<li>Measure the performance improvement.</li></ul>
<p>
This approach can be applied to any general optimization task that you may have.
</p>
<p>Written by <i>Maya Lekova (<a href="https://twitter.com/MayaLekova">@MayaLekova</a>),
Optimizer of Proxies</i></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com0tag:blogger.com,1999:blog-2683431904392903776.post-85935373975753126362017-10-04T00:03:00.000-07:002017-11-28T20:32:11.509-08:00An internship on laziness: lazy unlinking of deoptimized functions<p>
Roughly three months ago, I joined the V8 team (Google Munich) as an intern and
since then I’ve been working on the VM’s <em>Deoptimizer</em> — something
completely new to me which proved to be an interesting and challenging project.
The first part of my internship focused on <a
href="http://goo.gl/N7hwEp">improving the VM security-wise</a>. The second part
focused on performance improvements. Namely, on the removal of a data-structure
used for the unlinking of previously deoptimized functions, which was a
performance bottleneck during garbage collection. This blog post describes this
second part of my internship. I’ll explain how V8 used to unlink deoptimized
functions, how we changed this, and what performance improvements were obtained.
</p>
<p>
Let’s (very) briefly recap the V8 pipeline for a JavaScript function: V8’s
interpreter, Ignition, collects profiling information about that function while
interpreting it. Once the function becomes hot, this information is passed to
V8’s compiler, TurboFan, which generates optimized machine code. When the
profiling information is no longer valid — for example because one of the
profiled objects gets a different type during runtime — the optimized machine
code might become invalid. In that case, V8 needs to deoptimize it.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikeqJWCY8U3aenNzqMT4q-y1TBtLAZgMJNTCQysJWr0JTpWp4Yu2FnM23AppFKhxsfccTjikE5sV0UHsafPEOA_skoZ2DgyihM8bHhR0EAiczNcZ_XFIw2IN9YWU0AhreErGdvc2DHLW3h/s1600/Copy-of0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1155" data-original-width="1600" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikeqJWCY8U3aenNzqMT4q-y1TBtLAZgMJNTCQysJWr0JTpWp4Yu2FnM23AppFKhxsfccTjikE5sV0UHsafPEOA_skoZ2DgyihM8bHhR0EAiczNcZ_XFIw2IN9YWU0AhreErGdvc2DHLW3h/s640/Copy-of0.png" width="640" /></a></div>
<p>
Source: <a
href="https://medium.com/reloading/javascript-start-up-performance-69200f43b201">JavaScript
Start-up Performance</a>
</p>
<p>
Upon optimization, TurboFan generates a code object, i.e. the optimized machine
code, for the function under optimization. When this function is invoked the
next time, V8 follows the link to optimized code for that function and executes
it. Upon deoptimization of this function, we need to unlink the code object in
order to make sure that it won’t be executed again. How does that happen?
</p>
<p>
For example, in the following code, the function <code>f1</code> will be invoked
many times (always passing an integer as argument). TurboFan then generates
machine code for that specific case.
</p>
<pre
class="prettyprint">function g() {
return (i) => i;
}
// Create a closure.
const f1 = g();
// Optimize f1.
for (var i = 0; i < 1000; i++) f1(0);
</pre>
<p>
Each function also has a trampoline to the interpreter — more details in these
<a
href="https://docs.google.com/presentation/d/1Z6oCocRASCfTqGq1GCo1jbULDGS-w-nzxkbVF7Up0u0/edit#slide=id.p">slides</a>
— and will keep a pointer to this trampoline in its
<code>SharedFunctionInfo</code> (SFI). This trampoline will be used whenever V8
needs to go back to unoptimized code. Thus, upon deoptimization, triggered by
passing an argument of a different type, for example, the Deoptimizer can simply
set the code field of the JavaScript function to this trampoline.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXZh3ZAtm5foqX4Gbl999NEXHo-WNwVQl1OcESXed9i_AA7JT8U96yeua78lkBZ-BlIc0uf6A_r6KytPvgCGHt3s7bZ4Jb7OKgzHwesUE_BuijV5WFubis4J7JYE9pdVL4yVm2R2Pp9DTG/s1600/Copy-of1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXZh3ZAtm5foqX4Gbl999NEXHo-WNwVQl1OcESXed9i_AA7JT8U96yeua78lkBZ-BlIc0uf6A_r6KytPvgCGHt3s7bZ4Jb7OKgzHwesUE_BuijV5WFubis4J7JYE9pdVL4yVm2R2Pp9DTG/s640/Copy-of1.png" width="640" /></a></div>
<p>
Although this seems simple, it forces V8 to keep weak lists of optimized
JavaScript functions. This is because it is possible to have different functions
pointing to the same optimized code object. We can extend our example as
follows, and the functions <code>f1</code> and <code>f2</code> both point to the
same optimized code.
</p>
<pre
class="prettyprint">const f2 = g();
f2(0);
</pre>
<p>
If the function <code>f1</code> is deoptimized (for example by invoking it with
an object of different type {<code>x: 0}</code>) we need to make sure that the
invalidated code will not be executed again by invoking <code>f2</code>.
</p>
<p>
Thus, upon deoptimization, V8 used to iterate over all the optimized JavaScript
functions, and would unlink those that pointed to the code object being
deoptimized. This iteration in applications with many optimized JavaScript
functions became a performance bottleneck. Moreover, other than slowing down
deoptimization, V8 used to iterate over these lists upon stop-the-world cycles
of garbage collection, making it even worse.
</p>
<p>
In order to have an idea of the impact of such data-structure in the performance
of V8, we wrote a <a
href="https://github.com/v8/v8/blob/master/test/js-perf-test/ManyClosures/create-many-closures.js">micro-benchmark</a>
that stresses its usage, by triggering many scavenge cycles after creating many
JavaScript functions.
</p>
<pre
class="prettyprint">function g() {
return (i) => i + 1;
}
// Create an initial closure and optimize.
var f = g();
f(0);
f(0);
%OptimizeFunctionOnNextCall(f);
f(0);
// Create 2M closures, those will get the previously optimized code.
var a = [];
for (var i = 0; i < 2000000; i++) {
var h = g();
h();
a.push(h);
}
// Now cause scavenges, all of them are slow.
for (var i = 0; i < 1000; i++) {
new Array(50000);
}
</pre>
<p>
When running this benchmark, we could observe that V8 spent around 98% of its
execution time on garbage collection. We then removed this data structure, and
instead used an approach for <em>lazy unlinking</em>, and this was what we
observed on x64:
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRtMYX3N93fAsT_GGRmtoLoKO5QtmRKVv6XjN_QuvS10iTyDlDVWIzDurKAm2YDYImXIdbeuA9MNfTdPgVSBj2K3rlTASTMGhEHTkJ8UWOuQwhcVB8Y2jNVSLvPamLc8NSHgmdNqTB_CP6/s1600/Copy-of2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="766" data-original-width="1240" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRtMYX3N93fAsT_GGRmtoLoKO5QtmRKVv6XjN_QuvS10iTyDlDVWIzDurKAm2YDYImXIdbeuA9MNfTdPgVSBj2K3rlTASTMGhEHTkJ8UWOuQwhcVB8Y2jNVSLvPamLc8NSHgmdNqTB_CP6/s640/Copy-of2.png" width="640" /></a></div>
<p>
Although this is just a micro-benchmark that creates many JavaScript functions
and triggers many garbage collection cycles, it gives us an idea of the overhead
introduced by this data structure. Other more realistic applications where we
saw some overhead, and which motivated this work, were the <a
href="https://github.com/delvedor/router-benchmark">router benchmark</a>
implemented in Node.js and <a href="http://browserbench.org/ARES-6/">ARES-6
benchmark suite</a>.
</p>
<h2>Lazy unlinking</h2>
<p>Rather than unlinking optimized code from
JavaScript functions upon deoptimization, V8 postpones it for the next
invocation of such functions. When such functions are invoked, V8 checks whether
they have been deoptimized, unlinks them and then continues with their lazy
compilation. If these functions are never invoked again, then they will never be
unlinked and the deoptimized code objects will not be collected. However, given
that during deoptimization, we invalidate all the embedded fields of the code
object, we only keep that code object alive.
</p>
<p>
The <a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690">commit</a>
that removed this list of optimized JavaScript functions required changes in
several parts of the VM, but the basic idea is as follows. When assembling the
optimized code object, we check if this is the code of a JavaScript function. If
so, in its prologue, we assemble machine code to bail out if the code object has
been deoptimized. Upon deoptimization we don’t modify the deoptimized code —
code patching is gone. Thus, its bit <code>marked_for_deoptimization</code> is
still set when invoking the function again. TurboFan generates code to check it,
and if it is set, then V8 jumps to a new builtin,
<code>CompileLazyDeoptimizedCode</code>, that unlinks the deoptimized code from
the JavaScript function and then continues with lazy compilation.
</p>
<p>
In more detail, the first step is to generate instructions that load the address
of the code being currently assembled. We can do that in x64, with the following
code:
</p>
<pre
class="prettyprint">Label current;
// Load effective address of current instruction into rcx.
__ leaq(rcx, Operand(&current));
__ bind(&current);
</pre>
<p>
After that we need to obtain where in the code object the
<code>marked_for_deoptimization</code> bit lives.
</p>
<pre
class="prettyprint">int pc = __ pc_offset();
int offset = Code::kKindSpecificFlags1Offset - (Code::kHeaderSize + pc);
</pre>
<p>
We can then test the bit and if it is set, we jump to the
<code>CompileLazyDeoptimizedCode</code> built in.
</p>
<pre
class="prettyprint">// Test if the bit is set, that is, if the code is marked for deoptimization.
__ testl(Operand(rcx, offset),
Immediate(1 << Code::kMarkedForDeoptimizationBit));
// Jump to builtin if it is.
__ j(not_zero, /* handle to builtin code here */, RelocInfo::CODE_TARGET);
</pre>
<p>
On the side of this <code>CompileLazyDeoptimizedCode</code> builtin, all that’s
left to do is to unlink the code field from the JavaScript function and set it
to the trampoline to the Interpreter entry. So, considering that the address of
the JavaScript function is in the register <code>rdi</code>, we can obtain the
pointer to the <code>SharedFunctionInfo</code> with:
</p>
<p>
</p>
<pre
class="prettyprint">// Field read to obtain the SharedFunctionInfo.
__ movq(rcx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
</pre>
<p>
…and similarly the trampoline with:
</p>
<pre
class="prettyprint">// Field read to obtain the code object.
__ movq(rcx, FieldOperand(rcx, SharedFunctionInfo::kCodeOffset));
</pre>
<p>
Then we can use it to update the function slot for the code pointer:
</p>
<pre
class="prettyprint">// Update the code field of the function with the trampoline.
__ movq(FieldOperand(rdi, JSFunction::kCodeOffset), rcx);
// Write barrier to protect the field.
__ RecordWriteField(rdi, JSFunction::kCodeOffset, rcx, r15,
kDontSaveFPRegs, OMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
</pre>
<p>
This produces the same result as before. However, rather than taking care of the
unlinking in the Deoptimizer, we need to worry about it during code generation.
Hence the handwritten assembly.
</p>
<p>
The above is <a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-0920a0f56f95b36cdd43120466ec7ccd">how
it works in the x64 architecture</a>. We have implemented it for <a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-10985b50f31627688e9399a768d9ec21">ia32</a>,
<a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-0f5515e80dd0139244a4ae48ce56a139">arm</a>,
<a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-1bbe32f45000ec9157f4997a6c95f1b1">arm64</a>,
<a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-73f690ee13a5465909ae9fc1a70d8c41">mips</a>,
and <a
href="https://github.com/v8/v8/commit/f0acede9bb05155c25ee87e81b4b587e8a76f690#diff-b1de25cbfd2d02b81962797bfdf807df">mips64</a>
as well.
</p>
<p>
This new technique is already integrated in V8 and, as we’ll discuss later,
allows for performance improvements. However, it comes with a minor
disadvantage: Before, V8 would consider unlinking only upon deoptimization. Now,
it has to do so in the activation of all optimized functions. Moreover, the
approach to check the <code>marked_for_deoptimization</code> bit is not as
efficient as it could be, given that we need to do some work to obtain the
address of the code object. Note that this happens when entering every optimized
function. A possible solution for this issue is to keep in a code object a
pointer to itself. Rather than doing work to find the address of the code object
whenever the function is invoked, V8 would do it only once, after its
construction.
</p>
<h2>Results</h2>
<p>
We now look at the performance gains and regressions obtained with this project.
</p>
<h3>General Improvements on x64</h3>
<p>The following plot shows us some
improvements and regressions, relative to the previous commit. Note that the
higher, the better.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNA_Ypy0vM-3MXGR3DqGR5yxIxIIkf6d993GWJpEzbk7KtaD20b85nh5rnB9Ykyp31QKrKI7XhUd7ZqH70HljRqcs2105N2zFhqhPV8nY7SfhZFyXlt7ludCu_D-fYUB-3DsDJXmHo0dYq/s1600/Copy-of3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="881" data-original-width="1200" height="470" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNA_Ypy0vM-3MXGR3DqGR5yxIxIIkf6d993GWJpEzbk7KtaD20b85nh5rnB9Ykyp31QKrKI7XhUd7ZqH70HljRqcs2105N2zFhqhPV8nY7SfhZFyXlt7ludCu_D-fYUB-3DsDJXmHo0dYq/s640/Copy-of3.png" width="640" /></a></div>
<p>
The <code>promises</code> benchmarks are the ones where we see greater
improvements, observing almost 33% gain for the <code>bluebird-parallel</code>
benchmark, and 22.40% for <code>wikipedia</code>. We also observed a few
regressions in some benchmarks. This is related to the issue explained above, on
checking whether the code is marked for deoptimization.
</p>
<p>
We also see improvements in the ARES-6 benchmark suite. Note that in this chart
too, the higher the better. These programs used to spend considerable amount of
time in GC-related activities. With lazy unlinking we improve performance by
1.9% overall. The most notable case is the <code>Air steadyState</code> where we
get an improvement of around 5.36%.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrN2OAUXVnwX6h_SwtmpOaPl7I7bJVLKYYA8HwnigpPOTyDbTcMlkJ08dq2bKj99nLNhDTCqcEDP21jlCvi7jSWouFnb0Spuz_SVM-f9vbjpUzfyEF3eg8aq5BJN9vKpLp9-k1YUwsV6Uv/s1600/Copy-of4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="600" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrN2OAUXVnwX6h_SwtmpOaPl7I7bJVLKYYA8HwnigpPOTyDbTcMlkJ08dq2bKj99nLNhDTCqcEDP21jlCvi7jSWouFnb0Spuz_SVM-f9vbjpUzfyEF3eg8aq5BJN9vKpLp9-k1YUwsV6Uv/s640/Copy-of4.png" width="640" /></a></div>
<br>
<h3>AreWeFastYet results</h3>
<p>The performance results for the Octane
and ARES-6 benchmark suites also showed up on the AreWeFastYet tracker. We
looked at these performance results on September 5th, 2017, using the provided
default machine (macOS 10.10 64-bit, Mac Pro, shell).
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdc36PDqoSkm_U4Npa3qHEZGcbjYSU5k9PklvUDUQlksYpwQ2IL1OOq9foHP7TfIH9K96u8A4LKkFpjb23qGFD-odN-zpn93QmRowACiezv8uJEtLjJ419h_fbI_HspiiOK1UB_L9YerbQ/s1600/Copy-of5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="734" data-original-width="1236" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdc36PDqoSkm_U4Npa3qHEZGcbjYSU5k9PklvUDUQlksYpwQ2IL1OOq9foHP7TfIH9K96u8A4LKkFpjb23qGFD-odN-zpn93QmRowACiezv8uJEtLjJ419h_fbI_HspiiOK1UB_L9YerbQ/s640/Copy-of5.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhUm_2-TkRHH5IXRpcu1lExGy4wd-dfTyiA_rV-I72duyQWUjBgeFZ7VFyP89Dy5hie3azhSSllZ2lVddhQfzz_dCoUFCu0xsd5Rr-oZFo6zepCKwxPFOh7Ehbtz8sB_iC91DHz0dGCzSS/s1600/Copy-of6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="756" data-original-width="1236" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhUm_2-TkRHH5IXRpcu1lExGy4wd-dfTyiA_rV-I72duyQWUjBgeFZ7VFyP89Dy5hie3azhSSllZ2lVddhQfzz_dCoUFCu0xsd5Rr-oZFo6zepCKwxPFOh7Ehbtz8sB_iC91DHz0dGCzSS/s640/Copy-of6.png" width="640" /></a></div>
<!--
<p>
The overall improvement for Octane was of 0.7%, and the benchmark where we see
the biggest improvement is on Octane-EarleyBoyer, with a notable 21.2%
improvement.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpP-CihcdbPpIJW9IgpVc0a_DvNDv3osWY5RJJQsPAZgYqpabDXYWXenKsac2Fo_my1mbl9YWmirz41W7L2H2isWbdh-g9ARDkuJIbdfcLA5menL_jO89OqJx4PGSO-kK8M7oY6UD8L367/s1600/Copy-of7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="768" data-original-width="1024" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpP-CihcdbPpIJW9IgpVc0a_DvNDv3osWY5RJJQsPAZgYqpabDXYWXenKsac2Fo_my1mbl9YWmirz41W7L2H2isWbdh-g9ARDkuJIbdfcLA5menL_jO89OqJx4PGSO-kK8M7oY6UD8L367/s640/Copy-of7.png" width="640" /></a></div>
-->
<br>
<h3>Impact on Node.js</h3>
We can also see performance improvements in
the router-benchmark. The following two plots show the number of operations per
second of each tested router. Thus the higher the better. We have performed two
kinds of experiments with this benchmark suite. Firstly, we ran each test in
isolation, so that we could see the performance improvement, independently from
the remaining tests. Secondly, we ran all tests at once, without switching of
the VM, thus simulating an environment where each test is integrated with other
functionalities.
</p>
<p>
For the first experiment, we saw that the <code>router</code> and
<code>express</code> tests perform about twice as many operations than before,
in the same amount of time. For the second experiment, we saw even greater
improvement. In some of the cases, such as <code>routr</code>,
<code>server-router</code> and <code>router</code>, the benchmark performs
approximately 3.80×, 3× and 2× more operations, respectively. This happens
because V8 accumulates more optimized JavaScript functions, test after test.
Thus, whenever executing a given test, if a garbage collection cycle is
triggered, V8 has to visit the optimized functions from the current test and
from the previous ones.
</p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYLKg6aJ2lYk6FvHKNaUxJyUhdHS12OGlvdZEqazyH6r5x-duFTUteHT6mqHF5Rd2AW4viAIhqGKOuy6V3W0k05zxR7toORufPEFodt1E8fELFOHMa8uYbkANIntRjWQODyM5eHwbfoFT/s1600/Copy-of8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="600" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYLKg6aJ2lYk6FvHKNaUxJyUhdHS12OGlvdZEqazyH6r5x-duFTUteHT6mqHF5Rd2AW4viAIhqGKOuy6V3W0k05zxR7toORufPEFodt1E8fELFOHMa8uYbkANIntRjWQODyM5eHwbfoFT/s640/Copy-of8.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwblhW69Q9SOn_PCK4zJ6wg33PWAor5zCtP72LDtzL_-QubZwUpezyX8RhINzLLXpa5d003Nluqu5esb_OfGnizepE2FxfV4AthbUDWAztc10GTEz4Kp1dHqqNkeqHS9ELkXpbh-CwCcjH/s1600/Copy-of9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="600" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwblhW69Q9SOn_PCK4zJ6wg33PWAor5zCtP72LDtzL_-QubZwUpezyX8RhINzLLXpa5d003Nluqu5esb_OfGnizepE2FxfV4AthbUDWAztc10GTEz4Kp1dHqqNkeqHS9ELkXpbh-CwCcjH/s640/Copy-of9.png" width="640" /></a></div>
<br>
<h3>Further Optimization</h3>
<p>
Now that V8 does not keep the linked-list of JavaScript functions in the
context, we can remove the field <code>next</code> from the
<code>JSFunction</code> class. Although this is a simple modification, it allows
us to save the size of a pointer per function, which represent significant
savings in several web pages:
</p>
<table>
<tr>
<td><strong>Benchmark</strong>
</td>
<td><strong>Kind</strong>
</td>
<td><strong>Memory savings (absolute)</strong>
</td>
<td><strong>Memory savings (relative) </strong>
</td>
</tr>
<tr>
<td>facebook.com
</td>
<td>Average effective size
</td>
<td>170KB
</td>
<td>3.7%
</td>
</tr>
<tr>
<td>twitter.com
</td>
<td>Average size of allocated objects
</td>
<td>284KB
</td>
<td>1.2%
</td>
</tr>
<tr>
<td>cnn.com
</td>
<td>Average size of allocated objects
</td>
<td>788KB
</td>
<td>1.53%
</td>
</tr>
<tr>
<td>youtube.com
</td>
<td>Average size of allocated objects
</td>
<td>129KB
</td>
<td>0.79%
</td>
</tr>
</table>
<br>
<h2>Acknowledgments</h2>
<p>
Throughout my internship, I had lots of help from several people, who were
always available to answer my many questions. Thus I would like to thank the
following people: Benedikt Meurer, Jaroslav Sevcik, and Michael Starzinger for
discussions on how the Compiler and the Deoptimizer work, Ulan Degenbaev for
helping with the Garbage Collector whenever I broke it, and Mathias Bynens,
Peter Marshall, Camillo Bruni, and Maya Lekova for proofreading this article.
</p>
<p>
Finally, this article is my last contribution as a Google intern and I would
like to take the opportunity to thank everyone in the V8 team, and especially my
host, Benedikt Meurer, for hosting me and for giving me the opportunity to work
on such an interesting project — I definitely learned a lot and enjoyed my time
at Google!
</p>
<p><i>Juliana Franco, <a href="https://twitter.com/jupvfranco">@jupvfranco</a>,
Laziness Expert</i></p>
Mathias Bynenshttp://www.blogger.com/profile/02128634431048629148noreply@blogger.com1