<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>204398</bug_id>
          
          <creation_ts>2019-11-19 23:49:59 -0800</creation_ts>
          <short_desc>[Win] Use thread_local to hold Ref&lt;WTF::Thread&gt; in the thread rather than using FLS</short_desc>
          <delta_ts>2019-12-18 18:38:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1591911</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-19 23:49:59 -0800</bug_when>
    <thetext>[Win] Use thread_local to hold Ref&lt;WTF::Thread&gt; in the thread rather than using FLS

thread_local seems faster than FLS.

https://en.cppreference.com/w/cpp/keyword/thread_local

11:09 &lt;yusukesuzuki&gt; fujihiro:  do you know the performance difference between FLS and `thread_local` in Windows?
11:12 &lt;fujihiro&gt; yusukesuzuki: I don&apos;t know.
11:12 &lt;yusukesuzuki&gt; fujihiro: it would be possible that `thread_local` is faster than FLS. If it is faster, it could be nice using thread_local for Thread for Windows (and maybe Linux?).
11:13 &lt;yusukesuzuki&gt; For Darwin, we are using `_pthread_getspecific_direct`, which is super fast (basically it is the same to TLS Local-Exec semantics IIRC).
11:15 &lt;yusukesuzuki&gt; IIRC, facebook folly is saying thread_local is faster than pthread_getspecific, and IIRC, FLS in Windows is very slow. It is possible that we could get perf improvement if we switch using thread_local for Windows&apos;s current Thread holder.
11:22 &lt;fujihiro&gt; yusukesuzuki: Sounds interesting. Will check.
11:28 &lt;fujihiro&gt; yusukesuzuki:  Do you mean WTF::ThreadSpecific also should use `thread_local`? If so, how can I ensure destructing WTF::Thread after WTF::ThreadSpecific?
11:29 &lt;yusukesuzuki&gt; fujihiro:  I mean, just using `thread_local` only for Thread&apos;s holder.
11:29 &lt;yusukesuzuki&gt; fujihiro: not considering about using `thread_local` for the other ThreadSpecific.
11:29 &lt;yusukesuzuki&gt; fujihiro: maybe, for Linux, we should use pthread_getspecific because of ordering thing (pthread works as we expect).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593813</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-27 01:50:53 -0800</bug_when>
    <thetext>https://github.com/facebook/folly/blob/master/folly/ThreadLocal.h
https://github.com/facebook/folly/blob/master/folly/docs/ThreadLocal.md

https://github.com/facebook/folly/commit/ce9e2df36ae6c86ee77dabbf9a6f97f32c39fe26
Since this change, MSVC is using pthread_setspecific rather than __declspec(thread).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593957</commentid>
    <comment_count>2</comment_count>
      <attachid>384438</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-27 22:07:54 -0800</bug_when>
    <thetext>Created attachment 384438
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593960</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-27 23:27:49 -0800</bug_when>
    <thetext>Octane 2.0
base: 22402  23199 22336 
patched: 22697 22272 22508

speedometer 2.0
base: 65.0 65.71 65.5
patched: 64.9 65.21 64.9

slightly gets slower?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594117</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-28 17:14:19 -0800</bug_when>
    <thetext>Oh, that’s interesting, but I don’t know whether TLS can affect on these performance. Can we create a silly but a bit possible small benchmark app, which uses JSC APIs as an embedder? Everytime we use JSC APIs, we use JSLock, which uses TLS.
Another fun thing is running locking micro benchmark included in WebKit tree.
Our ParkingLot is using TLS. So it could be affected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594506</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-01 23:37:06 -0800</bug_when>
    <thetext>https://chromium.googlesource.com/chromium/src/+/e8f14977868c566c4d00666db010d1255e931c86
https://chromium-review.googlesource.com/c/chromium/src/+/1873751

&gt; thread_local is already used in Chrome, though not widely as it is still banned
&gt; by the style-guide. Add a benchmark to estimate its performance.
&gt; 
&gt; Detailed results below, tldr:
&gt; - On Linux: 2-3x faster than the current TLS implementation for reading, ~10x
&gt;   faster for writing
&gt; - On Android: ~4x faster for reading
&gt; 
(...)

Re: [chromium-dev] Using C++11 thread_local storage class
https://groups.google.com/a/chromium.org/d/msg/cxx/h7O5BdtWCZw/NUhcP-DBBwAJ

https://groups.google.com/a/chromium.org/d/msg/cxx/h7O5BdtWCZw/Pa8v7RFBCAAJ

&gt; I&apos;ve done some performance comparisons between using thread_local
&gt; and using WTF::ThreadSpecific, and there&apos;s a 2.5x performance
&gt; improvement[1] on both Windows and Mac. The generated code is
&gt; also significantly smaller, which is a nice benefit as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594519</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-02 01:13:07 -0800</bug_when>
    <thetext>I tried base_perftests on my PC.

Windows 10 Pro Version 10.0.18362 Build 18362
AMD Ryzen 7 1700 Eight-Core Processor, 3000 Mhz, 8 Core(s), 16 Logical Processor(s)

&gt; autoninja -C out/Default base:base_perftests

C:\work\chromium\src&gt;.\out\Default\base_perftests.exe --gtest_filter=ThreadLocalStoragePerfTest.*
Note: Google Test filter = ThreadLocalStoragePerfTest.*
[==========] Running 4 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 4 tests from ThreadLocalStoragePerfTest
[ RUN      ] ThreadLocalStoragePerfTest.ThreadLocalStorage
*RESULT TLS read throughput: ThreadLocalStorage= 26301.53127515084 operations/ms
*RESULT TLS read throughput: ThreadLocalStorage= 38 ns/operation
*RESULT TLS write throughput: ThreadLocalStorage= 26061.755936868 operations/ms
*RESULT TLS write throughput: ThreadLocalStorage= 38 ns/operation
*RESULT TLS read-write throughput: ThreadLocalStorage= 12702.880886356217 operations/ms
*RESULT TLS read-write throughput: ThreadLocalStorage= 78 ns/operation
*RESULT TLS read throughput: ThreadLocalStorage 4 threads= 23584.01569752085 operations/ms
*RESULT TLS read throughput: ThreadLocalStorage 4 threads= 42 ns/operation
*RESULT TLS write throughput: ThreadLocalStorage 4 threads= 23240.46443744132 operations/ms
*RESULT TLS write throughput: ThreadLocalStorage 4 threads= 43 ns/operation
*RESULT TLS read-write throughput: ThreadLocalStorage 4 threads= 11242.043443752684 operations/ms
*RESULT TLS read-write throughput: ThreadLocalStorage 4 threads= 88 ns/operation
[       OK ] ThreadLocalStoragePerfTest.ThreadLocalStorage (3311 ms)
[ RUN      ] ThreadLocalStoragePerfTest.PlatformFls
*RESULT TLS read throughput: PlatformFls= 142934.7359995426 operations/ms
*RESULT TLS read throughput: PlatformFls= 6 ns/operation
*RESULT TLS write throughput: PlatformFls= 113831.688465435 operations/ms
*RESULT TLS write throughput: PlatformFls= 8 ns/operation
*RESULT TLS read-write throughput: PlatformFls= 64341.78355424013 operations/ms
*RESULT TLS read-write throughput: PlatformFls= 15 ns/operation
*RESULT TLS read throughput: PlatformFls 4 threads= 136150.74610608869 operations/ms
*RESULT TLS read throughput: PlatformFls 4 threads= 7 ns/operation
*RESULT TLS write throughput: PlatformFls 4 threads= 106626.85930585915 operations/ms
*RESULT TLS write throughput: PlatformFls 4 threads= 9 ns/operation
*RESULT TLS read-write throughput: PlatformFls 4 threads= 55406.57343587243 operations/ms
*RESULT TLS read-write throughput: PlatformFls 4 threads= 18 ns/operation
[       OK ] ThreadLocalStoragePerfTest.PlatformFls (677 ms)
[ RUN      ] ThreadLocalStoragePerfTest.PlatformTls
*RESULT TLS read throughput: PlatformTls= 289075.8245887896 operations/ms
*RESULT TLS read throughput: PlatformTls= 3 ns/operation
*RESULT TLS write throughput: PlatformTls= 182351.97578365763 operations/ms
*RESULT TLS write throughput: PlatformTls= 5 ns/operation
*RESULT TLS read-write throughput: PlatformTls= 127638.93498072651 operations/ms
*RESULT TLS read-write throughput: PlatformTls= 7 ns/operation
*RESULT TLS read throughput: PlatformTls 4 threads= 263511.55498168594 operations/ms
*RESULT TLS read throughput: PlatformTls 4 threads= 3 ns/operation
*RESULT TLS write throughput: PlatformTls 4 threads= 161124.00103119362 operations/ms
*RESULT TLS write throughput: PlatformTls 4 threads= 6 ns/operation
*RESULT TLS read-write throughput: PlatformTls 4 threads= 116123.7879579632 operations/ms
*RESULT TLS read-write throughput: PlatformTls 4 threads= 8 ns/operation
[       OK ] ThreadLocalStoragePerfTest.PlatformTls (370 ms)
[ RUN      ] ThreadLocalStoragePerfTest.Cpp11Tls
*RESULT TLS read throughput: C++ thread_local TLS= 357449.24220760656 operations/ms
*RESULT TLS read throughput: C++ thread_local TLS= 2 ns/operation
*RESULT TLS write throughput: C++ thread_local TLS= 358628.60421747237 operations/ms
*RESULT TLS write throughput: C++ thread_local TLS= 2 ns/operation
*RESULT TLS read-write throughput: C++ thread_local TLS= 224039.43093984542 operations/ms
*RESULT TLS read-write throughput: C++ thread_local TLS= 4 ns/operation
*RESULT TLS read throughput: C++ thread_local TLS 4 threads= 327300.10146303143 operations/ms
*RESULT TLS read throughput: C++ thread_local TLS 4 threads= 3 ns/operation
*RESULT TLS write throughput: C++ thread_local TLS 4 threads= 109206.07185759529 operations/ms
*RESULT TLS write throughput: C++ thread_local TLS 4 threads= 9 ns/operation
*RESULT TLS read-write throughput: C++ thread_local TLS 4 threads= 51652.89256198347 operations/ms
*RESULT TLS read-write throughput: C++ thread_local TLS 4 threads= 19 ns/operation
[       OK ] ThreadLocalStoragePerfTest.Cpp11Tls (428 ms)
[----------] 4 tests from ThreadLocalStoragePerfTest (4787 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 1 test suite ran. (4791 ms total)
[  PASSED  ] 4 tests.

C:\work\chromium\src&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594524</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-02 01:36:20 -0800</bug_when>
    <thetext>In Comment 6, Cpp11Tls was performed badly, but this seems anomaly.
I tested several times, Cpp11Tls is performing nicely.

Note: Google Test filter = ThreadLocalStoragePerfTest.*
[==========] Running 4 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 4 tests from ThreadLocalStoragePerfTest
[ RUN      ] ThreadLocalStoragePerfTest.ThreadLocalStorage
*RESULT TLS read throughput: ThreadLocalStorage= 26487.891060601647 operations/ms
*RESULT TLS read throughput: ThreadLocalStorage= 37 ns/operation
*RESULT TLS write throughput: ThreadLocalStorage= 25845.202742692916 operations/ms
*RESULT TLS write throughput: ThreadLocalStorage= 38 ns/operation
*RESULT TLS read-write throughput: ThreadLocalStorage= 12489.306031710348 operations/ms
*RESULT TLS read-write throughput: ThreadLocalStorage= 80 ns/operation
*RESULT TLS read throughput: ThreadLocalStorage 4 threads= 23530.8512991383 operations/ms
*RESULT TLS read throughput: ThreadLocalStorage 4 threads= 42 ns/operation
*RESULT TLS write throughput: ThreadLocalStorage 4 threads= 23237.764155284036 operations/ms
*RESULT TLS write throughput: ThreadLocalStorage 4 threads= 43 ns/operation
*RESULT TLS read-write throughput: ThreadLocalStorage 4 threads= 11322.797093211531 operations/ms
*RESULT TLS read-write throughput: ThreadLocalStorage 4 threads= 88 ns/operation
[       OK ] ThreadLocalStoragePerfTest.ThreadLocalStorage (3324 ms)
[ RUN      ] ThreadLocalStoragePerfTest.PlatformFls
*RESULT TLS read throughput: PlatformFls= 153862.72367793455 operations/ms
*RESULT TLS read throughput: PlatformFls= 6 ns/operation
*RESULT TLS write throughput: PlatformFls= 121104.96167027965 operations/ms
*RESULT TLS write throughput: PlatformFls= 8 ns/operation
*RESULT TLS read-write throughput: PlatformFls= 64830.662310046166 operations/ms
*RESULT TLS read-write throughput: PlatformFls= 15 ns/operation
*RESULT TLS read throughput: PlatformFls 4 threads= 137059.52495168653 operations/ms
*RESULT TLS read throughput: PlatformFls 4 threads= 7 ns/operation
*RESULT TLS write throughput: PlatformFls 4 threads= 104171.00712529689 operations/ms
*RESULT TLS write throughput: PlatformFls 4 threads= 9 ns/operation
*RESULT TLS read-write throughput: PlatformFls 4 threads= 56775.2777730465 operations/ms
*RESULT TLS read-write throughput: PlatformFls 4 threads= 17 ns/operation
[       OK ] ThreadLocalStoragePerfTest.PlatformFls (668 ms)
[ RUN      ] ThreadLocalStoragePerfTest.PlatformTls
*RESULT TLS read throughput: PlatformTls= 298124.7950392034 operations/ms
*RESULT TLS read throughput: PlatformTls= 3 ns/operation
*RESULT TLS write throughput: PlatformTls= 176619.1561136721 operations/ms
*RESULT TLS write throughput: PlatformTls= 5 ns/operation
*RESULT TLS read-write throughput: PlatformTls= 128373.0005905158 operations/ms
*RESULT TLS read-write throughput: PlatformTls= 7 ns/operation
*RESULT TLS read throughput: PlatformTls 4 threads= 264228.71637689584 operations/ms
*RESULT TLS read throughput: PlatformTls 4 threads= 3 ns/operation
*RESULT TLS write throughput: PlatformTls 4 threads= 169497.2710939354 operations/ms
*RESULT TLS write throughput: PlatformTls 4 threads= 5 ns/operation
*RESULT TLS read-write throughput: PlatformTls 4 threads= 115937.99635954692 operations/ms
*RESULT TLS read-write throughput: PlatformTls 4 threads= 8 ns/operation
[       OK ] ThreadLocalStoragePerfTest.PlatformTls (371 ms)
[ RUN      ] ThreadLocalStoragePerfTest.Cpp11Tls
*RESULT TLS read throughput: C++ thread_local TLS= 359828.7215285524 operations/ms
*RESULT TLS read throughput: C++ thread_local TLS= 2 ns/operation
*RESULT TLS write throughput: C++ thread_local TLS= 357193.8848406915 operations/ms
*RESULT TLS write throughput: C++ thread_local TLS= 2 ns/operation
*RESULT TLS read-write throughput: C++ thread_local TLS= 226911.7313365101 operations/ms
*RESULT TLS read-write throughput: C++ thread_local TLS= 4 ns/operation
*RESULT TLS read throughput: C++ thread_local TLS 4 threads= 325595.0249080194 operations/ms
*RESULT TLS read throughput: C++ thread_local TLS 4 threads= 3 ns/operation
*RESULT TLS write throughput: C++ thread_local TLS 4 threads= 325870.8899534005 operations/ms
*RESULT TLS write throughput: C++ thread_local TLS 4 threads= 3 ns/operation
*RESULT TLS read-write throughput: C++ thread_local TLS 4 threads= 206577.42521897206 operations/ms
*RESULT TLS read-write throughput: C++ thread_local TLS 4 threads= 4 ns/operation
[       OK ] ThreadLocalStoragePerfTest.Cpp11Tls (225 ms)
[----------] 4 tests from ThreadLocalStoragePerfTest (4590 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 1 test suite ran. (4597 ms total)
[  PASSED  ] 4 tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594529</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-02 01:53:21 -0800</bug_when>
    <thetext>graph: https://ibb.co/ZKTHn08</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594893</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-02 19:49:14 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #8)
&gt; graph: https://ibb.co/ZKTHn08

Nice. One question: TLS typically has several modes. In UNIX-like env, we have init-exec, local-exec, lical-dynamic, and general-dynamic. The mode is selected based on how the fule is compiled and linked (in main objfile? in so file? etc.)
Can you check whether the measured TLS’s mode is the same to WebKit’s mode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595427</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-04 02:31:55 -0800</bug_when>
    <thetext>Oh, I didn&apos;t know that. I&apos;m reading following materials:

Thread Local Storage, part 8: Wrap-up « Nynaeve
http://www.nynaeve.net/?p=190

Consequences of using variables declared __declspec(thread) | The Old New Thing
https://devblogs.microsoft.com/oldnewthing/20101122-00/?p=12233

ELF Handling For Thread-Local Storage - Ulrich Drepper
https://akkadia.org/drepper/tls.pdf

/GA (Optimize for Windows Application) | Microsoft Docs
https://docs.microsoft.com/en-us/cpp/build/reference/ga-optimize-for-windows-application?view=vs-2019

base_perftests.exe seems not to be built with /GA switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597934</commentid>
    <comment_count>11</comment_count>
      <attachid>385477</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-11 22:08:14 -0800</bug_when>
    <thetext>Created attachment 385477
benchmark of ThreadSpecific</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597935</commentid>
    <comment_count>12</comment_count>
      <attachid>385478</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-11 22:09:21 -0800</bug_when>
    <thetext>Created attachment 385478
benchmark result of comment#2 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597937</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-11 22:10:15 -0800</bug_when>
    <thetext>It&apos;s faster.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598304</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-13 04:06:03 -0800</bug_when>
    <thetext>Windows doesn&apos;t support dllexport of thread_local variable. So, it&apos;s unable to access thread_local variable on other DLL.

Compiler Error C2492 | Microsoft Docs
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2492?redirectedfrom=MSDN&amp;view=vs-2019

Windows uses init-exec model as default, and local-exec models if /GA switch is specified and it&apos;s a EXE.

without /GA

00007FF775A61324  mov         ecx,dword ptr [_tls_index (07FF775A68150h)]  
00007FF775A6132A  mov         rax,qword ptr gs:[58h]  
00007FF775A61333  mov         edx,104h  
00007FF775A61338  mov         rax,qword ptr [rax+rcx*8]  

with /GA

00007FF6D9431324  mov         rax,qword ptr gs:[58h]  
00007FF6D943132D  mov         edx,104h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598831</commentid>
    <comment_count>15</comment_count>
      <attachid>385748</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-16 04:05:45 -0800</bug_when>
    <thetext>Created attachment 385748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599986</commentid>
    <comment_count>16</comment_count>
      <attachid>385748</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-18 14:11:55 -0800</bug_when>
    <thetext>Comment on attachment 385748
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600092</commentid>
    <comment_count>17</comment_count>
      <attachid>385748</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-18 18:03:07 -0800</bug_when>
    <thetext>Comment on attachment 385748
Patch

Clearing flags on attachment: 385748

Committed r253730: &lt;https://trac.webkit.org/changeset/253730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600093</commentid>
    <comment_count>18</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-18 18:03:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600094</commentid>
    <comment_count>19</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-18 18:04:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/58065291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600101</commentid>
    <comment_count>20</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-18 18:38:21 -0800</bug_when>
    <thetext>Committed r253732: &lt;https://trac.webkit.org/changeset/253732&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384438</attachid>
            <date>2019-11-27 22:07:54 -0800</date>
            <delta_ts>2019-12-16 04:05:24 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>5915</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDc5M2M0ZWM1MDk1Li5iYjBkNWQ5M2ViZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuY3BwCkBAIC0zMjMsNyArMzIzLDcgQEAgdm9pZCBUaHJlYWQ6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoIlRocmVhZDoiLCBSYXdQb2ludGVyKHRoaXMp
KTsKIH0KIAotI2lmICFIQVZFKEZBU1RfVExTKQorI2lmICFIQVZFKEZBU1RfVExTKSAmJiAhT1Mo
V0lORE9XUykKIFRocmVhZFNwZWNpZmljS2V5IFRocmVhZDo6c19rZXkgPSBJbnZhbGlkVGhyZWFk
U3BlY2lmaWNLZXk7CiAjZW5kaWYKIApAQCAtMzMyLDcgKzMzMiw3IEBAIHZvaWQgaW5pdGlhbGl6
ZVRocmVhZGluZygpCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VLZXk7CiAgICAgc3Rk
OjpjYWxsX29uY2Uob25jZUtleSwgW10gewogICAgICAgICBpbml0aWFsaXplUmFuZG9tTnVtYmVy
R2VuZXJhdG9yKCk7Ci0jaWYgIUhBVkUoRkFTVF9UTFMpCisjaWYgIUhBVkUoRkFTVF9UTFMpICYm
ICFPUyhXSU5ET1dTKQogICAgICAgICBUaHJlYWQ6OmluaXRpYWxpemVUTFNLZXkoKTsKICNlbmRp
ZgogICAgICAgICBpbml0aWFsaXplRGF0ZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKaW5kZXggMTc4ODdhYzI3
ODUuLjljN2MwODRhYjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaApAQCAtMTI3LDYgKzEyNywxNCBAQCBwdWJs
aWM6CiAgICAgfTsKIAogICAgIFNwZWNpZmljU3RvcmFnZSYgc3BlY2lmaWNTdG9yYWdlKCkgeyBy
ZXR1cm4gbV9zcGVjaWZpY1N0b3JhZ2U7IH07CisKKyAgICBzdHJ1Y3QgVGhyZWFkSG9sZGVyIHsK
KyAgICAgICAgflRocmVhZEhvbGRlcigpIHsKKyAgICAgICAgICAgIHRocmVhZC0+c3BlY2lmaWNT
dG9yYWdlKCkuZGVzdHJveVNsb3RzKCk7CisgICAgICAgICAgICB0aHJlYWQtPmRpZEV4aXQoKTsK
KyAgICAgICAgfQorICAgICAgICBSZWZQdHI8VGhyZWFkPiB0aHJlYWQ7CisgICAgfTsKICNlbmRp
ZgogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgY2hhbmdlUHJpb3JpdHkoaW50KTsKQEAg
LTI3NiwxMSArMjg0LDE4IEBAIHByb3RlY3RlZDoKICAgICAvLyBGb3IgV2luZG93cywgd2UgdXNl
IHRocmVhZF9sb2NhbCB0byBkZWZlciB0aHJlYWQgVExTIGRlc3RydWN0aW9uLiBJdCBhc3N1bWVz
IHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMKICAgICAvLyB0eXBlcyBkb24ndCB1c2UgbXVsdGlwbGUt
cGFzcyBkZXN0cnVjdGlvbi4KIAotI2lmICFIQVZFKEZBU1RfVExTKQorI2lmICFIQVZFKEZBU1Rf
VExTKSAmJiAhT1MoV0lORE9XUykKICAgICBzdGF0aWMgV1RGX0VYUE9SVF9QUklWQVRFIFRocmVh
ZFNwZWNpZmljS2V5IHNfa2V5OwogICAgIC8vIE9uZSB0aW1lIGluaXRpYWxpemF0aW9uIGZvciB0
aGlzIGNsYXNzIGFzIGEgd2hvbGUuCiAgICAgLy8gVGhpcyBtZXRob2QgbXVzdCBiZSBjYWxsZWQg
YmVmb3JlIGluaXRpYWxpemVUTFMoKSBhbmQgaXQgaXMgbm90IHRocmVhZC1zYWZlLgogICAgIHN0
YXRpYyB2b2lkIGluaXRpYWxpemVUTFNLZXkoKTsKKworICAgIC8vIFRoaXMgdGhyZWFkLXNwZWNp
ZmljIGRlc3RydWN0b3IgaXMgY2FsbGVkIDIgdGltZXMgd2hlbiB0aHJlYWQgdGVybWluYXRlczoK
KyAgICAvLyAtIGZpcnN0LCB3aGVuIGFsbCB0aGUgb3RoZXIgdGhyZWFkLXNwZWNpZmljIGRlc3Ry
dWN0b3JzIGFyZSBjYWxsZWQsIGl0IHNpbXBseSByZW1lbWJlcnMgaXQgd2FzICdkZXN0cm95ZWQg
b25jZScKKyAgICAvLyBhbmQgKDEpIHJlLXNldHMgaXRzZWxmIGludG8gdGhlIHRocmVhZC1zcGVj
aWZpYyBzbG90IG9yICgyKSBjb25zdHJ1Y3RzIHRocmVhZCBsb2NhbCB2YWx1ZSB0byBjYWxsIGl0
IGFnYWluIGxhdGVyLgorICAgIC8vIC0gc2Vjb25kLCBhZnRlciBhbGwgdGhyZWFkLXNwZWNpZmlj
IGRlc3RydWN0b3JzIHdlcmUgaW52b2tlZCwgaXQgZ2V0cyBjYWxsZWQgYWdhaW4gLSB0aGlzIHRp
bWUsIHdlIGRlcmVmIHRoZQorICAgIC8vIFRocmVhZCBpbiB0aGUgVExTLCBjb21wbGV0aW5nIHRo
ZSBjbGVhbnVwLgorICAgIHN0YXRpYyB2b2lkIFRIUkVBRF9TUEVDSUZJQ19DQUxMIGRlc3RydWN0
VExTKHZvaWQqIGRhdGEpOwogI2VuZGlmCiAKICAgICAvLyBDcmVhdGVzIGFuZCBwdXRzIGFuIGlu
c3RhbmNlIG9mIFRocmVhZCBpbnRvIHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlLgpAQCAtMjg4LDE0
ICszMDMsMTEgQEAgcHJvdGVjdGVkOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgVGhy
ZWFkJiBpbml0aWFsaXplQ3VycmVudFRMUygpOwogCiAgICAgLy8gUmV0dXJucyBudWxscHRyIGlm
IHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlIHdhcyBub3QgaW5pdGlhbGl6ZWQuCisjaWYgT1MoV0lO
RE9XUykKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFRocmVhZCogY3VycmVudE1heUJl
TnVsbCgpOworI2Vsc2UKICAgICBzdGF0aWMgVGhyZWFkKiBjdXJyZW50TWF5QmVOdWxsKCk7Ci0K
LSAgICAvLyBUaGlzIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVjdG9yIGlzIGNhbGxlZCAyIHRpbWVz
IHdoZW4gdGhyZWFkIHRlcm1pbmF0ZXM6Ci0gICAgLy8gLSBmaXJzdCwgd2hlbiBhbGwgdGhlIG90
aGVyIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVjdG9ycyBhcmUgY2FsbGVkLCBpdCBzaW1wbHkgcmVt
ZW1iZXJzIGl0IHdhcyAnZGVzdHJveWVkIG9uY2UnCi0gICAgLy8gYW5kICgxKSByZS1zZXRzIGl0
c2VsZiBpbnRvIHRoZSB0aHJlYWQtc3BlY2lmaWMgc2xvdCBvciAoMikgY29uc3RydWN0cyB0aHJl
YWQgbG9jYWwgdmFsdWUgdG8gY2FsbCBpdCBhZ2FpbiBsYXRlci4KLSAgICAvLyAtIHNlY29uZCwg
YWZ0ZXIgYWxsIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVjdG9ycyB3ZXJlIGludm9rZWQsIGl0IGdl
dHMgY2FsbGVkIGFnYWluIC0gdGhpcyB0aW1lLCB3ZSBkZXJlZiB0aGUKLSAgICAvLyBUaHJlYWQg
aW4gdGhlIFRMUywgY29tcGxldGluZyB0aGUgY2xlYW51cC4KLSAgICBzdGF0aWMgdm9pZCBUSFJF
QURfU1BFQ0lGSUNfQ0FMTCBkZXN0cnVjdFRMUyh2b2lkKiBkYXRhKTsKKyNlbmRpZgogCiAgICAg
Sm9pbmFibGVTdGF0ZSBtX2pvaW5hYmxlU3RhdGUgeyBKb2luYWJsZSB9OwogICAgIGJvb2wgbV9p
c1NodXR0aW5nRG93biA6IDE7CkBAIC0zNDQsNiArMzU2LDcgQEAgaW5saW5lIFRocmVhZDo6VGhy
ZWFkKCkKIHsKIH0KIAorI2lmICFPUyhXSU5ET1dTKQogaW5saW5lIFRocmVhZCogVGhyZWFkOjpj
dXJyZW50TWF5QmVOdWxsKCkKIHsKICNpZiAhSEFWRShGQVNUX1RMUykKQEAgLTM1Myw2ICszNjYs
NyBAQCBpbmxpbmUgVGhyZWFkKiBUaHJlYWQ6OmN1cnJlbnRNYXlCZU51bGwoKQogICAgIHJldHVy
biBzdGF0aWNfY2FzdDxUaHJlYWQqPihfcHRocmVhZF9nZXRzcGVjaWZpY19kaXJlY3QoV1RGX1RI
UkVBRF9EQVRBX0tFWSkpOwogI2VuZGlmCiB9CisjZW5kaWYKIAogaW5saW5lIFRocmVhZCYgVGhy
ZWFkOjpjdXJyZW50KCkKIHsKQEAgLTM2Miw3ICszNzYsNyBAQCBpbmxpbmUgVGhyZWFkJiBUaHJl
YWQ6OmN1cnJlbnQoKQogICAgIC8vIFdSVCBKYXZhU2NyaXB0Q29yZToKICAgICAvLyAgICBUaHJl
YWQ6OmluaXRpYWxpemVUTFNLZXkoKSBpcyBpbml0aWFsbHkgY2FsbGVkIGZyb20gaW5pdGlhbGl6
ZVRocmVhZGluZygpLCBlbnN1cmluZwogICAgIC8vICAgIHRoaXMgaXMgaW5pdGlhbGx5IGNhbGxl
ZCBpbiBhIHN0ZDo6Y2FsbF9vbmNlIGxvY2tlZCBjb250ZXh0LgotI2lmICFIQVZFKEZBU1RfVExT
KQorI2lmICFIQVZFKEZBU1RfVExTKSAmJiAhT1MoV0lORE9XUykKICAgICBpZiAoVU5MSUtFTFko
VGhyZWFkOjpzX2tleSA9PSBJbnZhbGlkVGhyZWFkU3BlY2lmaWNLZXkpKQogICAgICAgICBXVEY6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvd2luL1RocmVhZGluZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vVGhyZWFkaW5nV2lu
LmNwcAppbmRleCBmMmJhMjBjODM3YS4uNmE1Nzg2OWVlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9UaHJlYWRpbmdXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9UaHJl
YWRpbmdXaW4uY3BwCkBAIC0yNjMsNDAgKzI2MywxNyBAQCB2b2lkIFRocmVhZDo6ZXN0YWJsaXNo
UGxhdGZvcm1TcGVjaWZpY0hhbmRsZShIQU5ETEUgaGFuZGxlLCBUaHJlYWRJZGVudGlmaWVyIHRo
cgogICAgIG1faWQgPSB0aHJlYWRJRDsKIH0KIAotI2RlZmluZSBJbnZhbGlkVGhyZWFkIHJlaW50
ZXJwcmV0X2Nhc3Q8VGhyZWFkKj4oc3RhdGljX2Nhc3Q8dWludHB0cl90PigweGJiYWRiZWVmKSkK
K3RocmVhZF9sb2NhbCBUaHJlYWQ6OlRocmVhZEhvbGRlciBzX3RocmVhZEhvbGRlcjsKIAotdm9p
ZCBUaHJlYWQ6OmluaXRpYWxpemVUTFNLZXkoKQorVGhyZWFkKiBUaHJlYWQ6OmN1cnJlbnRNYXlC
ZU51bGwoKQogewotICAgIHRocmVhZFNwZWNpZmljS2V5Q3JlYXRlKCZzX2tleSwgZGVzdHJ1Y3RU
TFMpOworICAgIHJldHVybiBzX3RocmVhZEhvbGRlci50aHJlYWQuZ2V0KCk7CiB9CiAKIFRocmVh
ZCYgVGhyZWFkOjppbml0aWFsaXplVExTKFJlZjxUaHJlYWQ+JiYgdGhyZWFkKQogewotICAgIEFT
U0VSVChzX2tleSAhPSBJbnZhbGlkVGhyZWFkU3BlY2lmaWNLZXkpOwotICAgIC8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyB3b3JrYXJvdW5kIGNvZGUgb25jZSA8cmRhcjovL3Byb2JsZW0vMzE3OTMyMTM+
IGlzIGZpeGVkLgotICAgIGF1dG8gaWQgPSB0aHJlYWQtPmlkKCk7Ci0gICAgLy8gV2UgbGVhayB0
aGUgcmVmIHRvIGtlZXAgdGhlIFRocmVhZCBhbGl2ZSB3aGlsZSBpdCBpcyBoZWxkIGluIFRMUy4g
ZGVzdHJ1Y3RUTFMgd2lsbCBkZXJlZiBpdCBsYXRlciBhdCB0aHJlYWQgZGVzdHJ1Y3Rpb24gdGlt
ZS4KLSAgICBhdXRvJiB0aHJlYWRJblRMUyA9IHRocmVhZC5sZWFrUmVmKCk7Ci0gICAgdGhyZWFk
U3BlY2lmaWNTZXQoc19rZXksICZ0aHJlYWRJblRMUyk7Ci0gICAgcmV0dXJuIHRocmVhZEluVExT
OwotfQotCi12b2lkIFRocmVhZDo6ZGVzdHJ1Y3RUTFModm9pZCogZGF0YSkKLXsKLSAgICBpZiAo
ZGF0YSA9PSBJbnZhbGlkVGhyZWFkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBUaHJlYWQqIHRo
cmVhZCA9IHN0YXRpY19jYXN0PFRocmVhZCo+KGRhdGEpOwotICAgIEFTU0VSVCh0aHJlYWQpOwot
Ci0gICAgdGhyZWFkLT5zcGVjaWZpY1N0b3JhZ2UoKS5kZXN0cm95U2xvdHMoKTsKLSAgICB0aHJl
YWQtPmRpZEV4aXQoKTsKLSAgICB0aHJlYWQtPmRlcmVmKCk7Ci0KLSAgICAvLyBGaWxsIHRoZSBG
TFMgd2l0aCB0aGUgbm9uLW51bGxwdHIgdmFsdWUuIFdoaWxlIEZMUyBkZXN0cnVjdG9yIHdvbid0
IGJlIGNhbGxlZCBmb3IgdGhhdCwKLSAgICAvLyBub24tbnVsbHB0ciB2YWx1ZSB0ZWxscyB1cyB0
aGF0IHdlIGFscmVhZHkgZGVzdHJ1Y3RlZCBUaHJlYWQuIFRoaXMgYWxsb3dzIHVzIHRvCi0gICAg
Ly8gZGV0ZWN0IGluY29ycmVjdCB1c2Ugb2YgVGhyZWFkOjpjdXJyZW50KCkgYWZ0ZXIgdGhpcyBw
b2ludCBiZWNhdXNlIGl0IHdpbGwgY3Jhc2guCi0gICAgdGhyZWFkU3BlY2lmaWNTZXQoc19rZXks
IEludmFsaWRUaHJlYWQpOworICAgIHNfdGhyZWFkSG9sZGVyLnRocmVhZCA9IFdURk1vdmUodGhy
ZWFkKTsKKyAgICByZXR1cm4gKnNfdGhyZWFkSG9sZGVyLnRocmVhZDsKIH0KIAogQXRvbWljPGlu
dD4gVGhyZWFkOjpTcGVjaWZpY1N0b3JhZ2U6OnNfbnVtYmVyT2ZLZXlzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385477</attachid>
            <date>2019-12-11 22:08:14 -0800</date>
            <delta_ts>2019-12-16 04:05:26 -0800</delta_ts>
            <desc>benchmark of ThreadSpecific</desc>
            <filename>perf.diff</filename>
            <type>text/plain</type>
            <size>5190</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IDg3Zjg0NDIxMDFhLi4wNWU1ZTgxZDMw
NSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0xMDAsNiArMTAwLDcgQEAgc2V0
KFRlc3RXVEZfU09VUkNFUwogICAgIFRlc3RzL1dURi9XZWFrUHRyLmNwcAogICAgIFRlc3RzL1dU
Ri9Xb3JrUXVldWUuY3BwCiAgICAgVGVzdHMvV1RGL1dvcmtlclBvb2wuY3BwCisgICAgVGVzdHMv
V1RGL3RocmVhZF9sb2NhbF9zdG9yYWdlX3BlcmZ0ZXN0LmNjCiApCiAKIHNldChUZXN0V1RGX1BS
SVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvdGhyZWFkX2xvY2FsX3N0b3JhZ2VfcGVyZnRlc3QuY2MgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi90aHJlYWRfbG9jYWxfc3RvcmFnZV9wZXJmdGVzdC5jYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzc4MThhY2RmODgKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi90aHJlYWRfbG9jYWxfc3Rv
cmFnZV9wZXJmdGVzdC5jYwpAQCAtMCwwICsxLDEyMiBAQAorLy8gQ29weXJpZ2h0IDIwMTkgVGhl
IENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl
CisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8dmVjdG9y
PgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KKyNpbmNsdWRlIDx3dGYvZHRvYS5oPgorI2luY2x1ZGUgPHd0Zi9XVEZTZW1hcGhvcmUu
aD4KKyNpbmNsdWRlIDx3dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaD4KKworY2xhc3MgVGhy
ZWFkTG9jYWxTdG9yYWdlUGVyZlRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7Citwcm90ZWN0
ZWQ6CisgICAgVGhyZWFkTG9jYWxTdG9yYWdlUGVyZlRlc3QoKSA9IGRlZmF1bHQ7CisgICAgflRo
cmVhZExvY2FsU3RvcmFnZVBlcmZUZXN0KCkgb3ZlcnJpZGUgPSBkZWZhdWx0OworCisgICAgdGVt
cGxhdGUgPGNsYXNzIFJlYWQsIGNsYXNzIFdyaXRlPgorICAgIHZvaWQgQmVuY2htYXJrKGNvbnN0
IHN0ZDo6c3RyaW5nJiB0cmFjZSwKKyAgICAgICAgUmVhZCByZWFkLAorICAgICAgICBXcml0ZSB3
cml0ZSwKKyAgICAgICAgc2l6ZV90IG51bV9vcGVyYXRpb24sCisgICAgICAgIHNpemVfdCBudW1f
dGhyZWFkcykgeworICAgICAgICB3cml0ZSgyKTsKKworICAgICAgICBCZW5jaG1hcmtJbXBsKCJU
TFMgcmVhZCB0aHJvdWdocHV0IiwgdHJhY2UsCisgICAgICAgICAgICBbJl0oKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sYXRpbGUgaW50cHRyX3QgdG90
YWwgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbnVtX29wZXJhdGlvbjsgKytpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPSByZWFkKCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgbnVtX29wZXJhdGlv
biwgbnVtX3RocmVhZHMpOworCisgICAgICAgIEJlbmNobWFya0ltcGwoIlRMUyB3cml0ZSB0aHJv
dWdocHV0IiwgdHJhY2UsCisgICAgICAgICAgICBbJl0oKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1fb3BlcmF0
aW9uOyArK2kpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHdyaXRlKGkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIG51bV9vcGVyYXRpb24sIG51bV90aHJlYWRzKTsKKworICAgICAgICBCZW5jaG1h
cmtJbXBsKCJUTFMgcmVhZC13cml0ZSB0aHJvdWdocHV0IiwgdHJhY2UsCisgICAgICAgICAgICBb
Jl0oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBudW1fb3BlcmF0aW9uOyArK2kpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlKHJlYWQoKSArIDEpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIG51bV9vcGVyYXRp
b24sIG51bV90aHJlYWRzKTsKKyAgICB9CisKKyAgICB2b2lkIEJlbmNobWFya0ltcGwoY29uc3Qg
c3RkOjpzdHJpbmcmIG1lYXN1cm1lbnQsCisgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiB0cmFj
ZSwKKyAgICAgICAgRnVuY3Rpb248dm9pZCgpPiBhY3Rpb24sCisgICAgICAgIHNpemVfdCBudW1f
b3BlcmF0aW9uLAorICAgICAgICBzaXplX3QgbnVtX3RocmVhZHMpIHsKKyAgICAgICAgU2VtYXBo
b3JlIHN0YXJ0X3RocmVhZChudW1fdGhyZWFkcyk7CisgICAgICAgIEJpbmFyeVNlbWFwaG9yZSBj
b21wbGV0ZV90aHJlYWQ7CisgICAgICAgIHN0ZDo6YXRvbWljPHNpemVfdD4gcmVhZHlfY291bnQg
eyB9OworICAgICAgICBzdGQ6OmF0b21pYzxzaXplX3Q+IGNvbXBsZXRlX2NvdW50IHsgfTsKKwor
ICAgICAgICBhdXRvIHJlYWR5ID0gWyZdKCkgeyBpZiAoKytyZWFkeV9jb3VudCA9PSBudW1fdGhy
ZWFkcykgY29tcGxldGVfdGhyZWFkLnNpZ25hbCgpOyB9OworICAgICAgICBhdXRvIGRvbmUgPSBb
Jl0oKSB7IGlmICgrK2NvbXBsZXRlX2NvdW50ID09IG51bV90aHJlYWRzKSBjb21wbGV0ZV90aHJl
YWQuc2lnbmFsKCk7IH07CisKKyAgICAgICAgc3RkOjp2ZWN0b3I8UmVmUHRyPFRocmVhZD4+IHRo
cmVhZHM7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7ICsraSkg
eworICAgICAgICAgICAgdGhyZWFkcy5lbXBsYWNlX2JhY2soCisgICAgICAgICAgICAgICAgVGhy
ZWFkOjpjcmVhdGUoIlRMU1RocmVhZCIsCisgICAgICAgICAgICAgICAgICAgIFsmXSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICByZWFkeSgpOworICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
cnRfdGhyZWFkLndhaXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbigpOworICAg
ICAgICAgICAgICAgICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgICAgICAgICB9KQorICAg
ICAgICAgICAgICAgICk7CisgICAgICAgIH0KKworICAgICAgICBjb21wbGV0ZV90aHJlYWQud2Fp
dCgpOworICAgICAgICBhdXRvIG9wZXJhdGlvbl9zdGFydCA9IFdhbGxUaW1lOjpub3coKTsKKyAg
ICAgICAgZm9yIChhdXRvIGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7ICsraSkKKyAgICAgICAgICAg
IHN0YXJ0X3RocmVhZC5zaWduYWwoKTsKKyAgICAgICAgY29tcGxldGVfdGhyZWFkLndhaXQoKTsK
KyAgICAgICAgYXV0byBvcGVyYXRpb25fZHVyYXRpb24gPSBXYWxsVGltZTo6bm93KCkgLSBvcGVy
YXRpb25fc3RhcnQ7CisKKyAgICAgICAgZm9yIChhdXRvJiB0aHJlYWQgOiB0aHJlYWRzKQorICAg
ICAgICAgICAgdGhyZWFkLT53YWl0Rm9yQ29tcGxldGlvbigpOworCisgICAgICAgIFByaW50UmVz
dWx0KG1lYXN1cm1lbnQsICIiLCB0cmFjZSwKKyAgICAgICAgICAgIG51bV9vcGVyYXRpb24gLyBv
cGVyYXRpb25fZHVyYXRpb24ubWlsbGlzZWNvbmRzKCksCisgICAgICAgICAgICAib3BlcmF0aW9u
cy9tcyIsIHRydWUpOworICAgICAgICBzaXplX3QgbmFub3NfcGVyX29wZXJhdGlvbiA9CisgICAg
ICAgICAgICBvcGVyYXRpb25fZHVyYXRpb24ubmFub3NlY29uZHMoKSAvIG51bV9vcGVyYXRpb247
CisgICAgICAgIFByaW50UmVzdWx0KG1lYXN1cm1lbnQsICIiLCB0cmFjZSwgbmFub3NfcGVyX29w
ZXJhdGlvbiwKKyAgICAgICAgICAgICJucy9vcGVyYXRpb24iLCB0cnVlKTsKKyAgICB9CisKKyAg
ICB2b2lkIFByaW50UmVzdWx0KGNvbnN0IHN0ZDo6c3RyaW5nJiBtZWFzdXJlbWVudCwKKyAgICAg
ICAgY29uc3Qgc3RkOjpzdHJpbmcmIG1vZGlmaWVyLAorICAgICAgICBjb25zdCBzdGQ6OnN0cmlu
ZyYgdHJhY2UsCisgICAgICAgIGRvdWJsZSB2YWx1ZSwKKyAgICAgICAgY29uc3Qgc3RkOjpzdHJp
bmcmIHVuaXRzLAorICAgICAgICBib29sIGltcG9ydGFudCkgeworICAgICAgICBOdW1iZXJUb1N0
cmluZ0J1ZmZlciBidWZmZXI7CisKKyAgICAgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgICAgIGZw
cmludGYoc3Rkb3V0LCAiJXNSRVNVTFQgJXMlczogJXM9ICVzJXMlcyAlc1xuIiwKKyAgICAgICAg
ICAgIGltcG9ydGFudCA/ICIqIiA6ICIiLCBtZWFzdXJlbWVudC5jX3N0cigpLCBtb2RpZmllci5j
X3N0cigpLAorICAgICAgICAgICAgdHJhY2UuY19zdHIoKSwgIiIsIG51bWJlclRvU3RyaW5nKHZh
bHVlLCBidWZmZXIpLCAiIiwKKyAgICAgICAgICAgIHVuaXRzLmNfc3RyKCkpOworICAgICAgICBm
Zmx1c2goc3Rkb3V0KTsKKyAgICB9Cit9OworCitURVNUX0YoVGhyZWFkTG9jYWxTdG9yYWdlUGVy
ZlRlc3QsIFRocmVhZExvY2FsU3RvcmFnZSkgeworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxU
aHJlYWRTcGVjaWZpYzxpbnRwdHJfdD4+IHRsczsKKyAgICBhdXRvIHJlYWQgPSBbJl0oKSB7IHJl
dHVybiAqdGxzLmdldCgpOyB9OworICAgIGF1dG8gd3JpdGUgPSBbJl0oaW50cHRyX3QgdmFsdWUp
IHsgKnRscy5nZXQoKSA9IHZhbHVlOyB9OworCisgICAgQmVuY2htYXJrKCJUaHJlYWRTcGVjaWZp
YyIsIHJlYWQsIHdyaXRlLCAxMDAwMDAwMCwgMSk7CisgICAgQmVuY2htYXJrKCJUaHJlYWRTcGVj
aWZpYyA0IHRocmVhZHMiLCByZWFkLCB3cml0ZSwgMTAwMDAwMDAsIDQpOworICAgIEJlbmNobWFy
aygiVGhyZWFkU3BlY2lmaWMgOCB0aHJlYWRzIiwgcmVhZCwgd3JpdGUsIDEwMDAwMDAwLCA4KTsK
K30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>385478</attachid>
            <date>2019-12-11 22:09:21 -0800</date>
            <delta_ts>2019-12-11 22:09:21 -0800</delta_ts>
            <desc>benchmark result of comment#2 patch</desc>
            <filename>thread-local-storage.pdf</filename>
            <type>application/pdf</type>
            <size>55335</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDEwIDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4v
TWV0YWRhdGEgMTAxIDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAxMDIgMCBSPj4NCmVuZG9iag0KMiAw
IG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbIDQgMCBSXSA+Pg0KZW5kb2JqDQozIDAg
b2JqDQo8PC9BdXRob3IoRnVqaWksIEhpcm9ub3JpKSAvQ3JlYXRpb25EYXRlKEQ6MjAxOTEyMTIx
NTA3MTMrMDknMDAnKSAvTW9kRGF0ZShEOjIwMTkxMjEyMTUwNzEzKzA5JzAwJykgL1Byb2R1Y2Vy
KP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABFAHgAYwBlAGwArgAgAGYAbwByACAATwBmAGYAaQBj
AGUAIAAzADYANSkgL0NyZWF0b3Io/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAEUAeABjAGUAbACu
ACAAZgBvAHIAIABPAGYAZgBpAGMAZQAgADMANgA1KSA+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9U
eXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0V4dEdTdGF0ZTw8L0dTNiA2IDAgUi9H
UzcgNyAwIFI+Pi9Gb250PDwvRjEgOCAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1h
Z2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA4NDEuOTIgNTk1LjMyXSAvQ29udGVudHMgNSAw
IFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMv
Uy9TdHJ1Y3RQYXJlbnRzIDA+Pg0KZW5kb2JqDQo1IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNv
ZGUvTGVuZ3RoIDEzMjY+Pg0Kc3RyZWFtDQp4nLVY308cNxB+P+n+Bz/uRjpjj39LUaSGpFGrRkrF
SX2I+kDTA1ItgQIq/35nvF6vfdyxBwuJBPjzzPgbz+yMbXb0hb19e/T5+JcPTLx7x95/OGb/LhdG
cM2MZk5LLoFp77gCdrNZLv54w34sF0efTiw7v10uJDtP0hZ4UIo5BRws085zFaLG2Zvl4vflQnBn
2H1UdVFVcG8k+7RcMMn+YYsA3IrAQAguLbtcLpz0XLsB6JZZwjnuS4E4HueVMUR2FEjAKKGRYyjX
SMAoYaTg6P4okQCUOCHmYB1DpzX9dBb9xF2QInDrmQKLEKlKMBwy0GVAAi4iI9CrjMAFYi5ELSnT
PsigST8BXQYKM71KZQa0JyHwkovoCFjNVQa6DIxaSaUyo9B90gKdnFJKca8HoMvAqJVUajOYQKSF
UyaGRguF2zcAXQYKM71KZUYbF4XCwEY7DBwMQDcCWWtQKc0YjAgKKcDdj3tjNBCNBHQZGLWSSm0m
WBICD/SNoBkr86jrR4WBXrgyYK2N2WtjOluMTB53w3hUIOlK/YwyMUCgTKQfEgnGREQ3tGda2PQd
SG24yECXgSKDepU6EUMgIYWfRJ9AUnNj07jL48JIr1CnofVRCRPd91a8pjROQJeBIg17lTp/lCch
8ORwTEOjKFQJ6DJQ5E+vUuePcFHLiRQxDYpDBroMFPnTq9RmMEakhZjq0xD3xMEAdBkozPQqdf5o
S0Ia4i9KQ6yhKgNdBoos6lXqLJIxrFrKmEVKYjWkQTcMihTqRWt1bziVG5V21gmJ8U3jbhgXNqL8
diIOhTPhY+EcBU92SQ2AMKm4KVwOCoE0zvOGEscXAgOQJeqFCyZZomTSgyMTrDquT4Vq5cxknK8X
HpmMEvXCI5NRApmwj5+PGSvasNxqwzY1Vd031bINv19jP/1ZssDWZ9SLBf6XDLuBwxIvZeDBs/Ul
lQmFFeJ8+AN77tdGtH+y9a/Lxcd1bM8PaMBcGhbzhr6c4LgJe2iwleBCKLb+9rUxAv9NkFJzSRks
44I+eAzJvr0pSUlxACv9QqyUAX4QqUO2yrwQKa0EneSmWcEhW2VfiJXBsrw3uStWh+yVm8tK4uHM
UzXxHPbtFcaN3V20K9vcbFrXnP49QcrPJoWFwE6S0lukdHM7QSzMJQY6xGb4ODH/ZGJy+wbzZGYK
4jH/ReMoZxd05VFsktXTAyln13g6XXv3CpGcX+jxRAsvHMj5dR4vAcG/QiBnF3u8XHCjXiGQswu+
xGsQXuCCoPvCPmLrdmWa35DUSbtyDdps7QHxnF32FVZYaZ7HTTere5q5+Y7ju80U19ndwNA57GlU
71tP9PDPaX5DU9j9NuIUXvIC3vpwecU0D1rlX8Mb0cMT6OxyTs9XWDhpWbw17fP6r9Y0p7ftKjRT
XoLMXu64dycnwePVyRzs5OwanJykZf1+J6/Jybtv7QqaC4roBsdTHwgMVTi+8jk8CALEdyiH5Ay3
VPkVdz57NyWz67oDz6mq9FpX7QEdUmldQxGIexD9HwK80s3R9ZS3QxE1nlj4+JypFD1bbnn5mMBO
F59TBLddpEXxFumAK2W3XMQkFLjn8cB7NennUPbwxovFK/lB57Hay/3TO318ToHa9pGWfMRFwDQn
F7EJTbgYylAakP2hDnYGcuf0LhfVc+oRtzi9I44GMFXdg1T9CT/L/1rVbG5OsUOcb9qVatgVgmfU
d+Nf1zSHLeM7Clyh6I9bmjq6bKWabMdq+yz6yBv/xLP+ybjC/87XshINCmVuZHN0cmVhbQ0KZW5k
b2JqDQo2IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoN
CjcgMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOCAw
IG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMS9CYXNlRm9udC9CQ0RF
RUUrQ2FsaWJyaS9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgOSAwIFIv
Rmlyc3RDaGFyIDMyL0xhc3RDaGFyIDExOS9XaWR0aHMgOTkgMCBSPj4NCmVuZG9iag0KOSAwIG9i
ag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9CQ0RFRUUrQ2FsaWJyaS9GbGFncyAz
Mi9JdGFsaWNBbmdsZSAwL0FzY2VudCA3NTAvRGVzY2VudCAtMjUwL0NhcEhlaWdodCA3NTAvQXZn
V2lkdGggNTIxL01heFdpZHRoIDE3NDMvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvU3RlbVYg
NTIvRm9udEJCb3hbIC01MDMgLTI1MCAxMjQwIDc1MF0gL0ZvbnRGaWxlMiAxMDAgMCBSPj4NCmVu
ZG9iag0KMTkgMCBvYmoNCjw8L1R5cGUvT2JqU3RtL04gODgvRmlyc3QgNjg1L0ZpbHRlci9GbGF0
ZURlY29kZS9MZW5ndGggMTQwNj4+DQpzdHJlYW0NCnicpVhdb9s2FH0v0P/Ax+1hkPhx+QEUBYK1
xYauQRAH2EOwB8VRY6O2ZSjK1v77HUq0LWcUTUx5iEyR9/Kcy6t7SHLDSiYEI84EZ1ygUTJuNBPE
hLRMKCY5+iST2jBhmRKOCcOolExoRuTQzzRsZcm0g5FjBs6kYpbDSDJrDZOCOYWWYbwsCa7wNLAk
xjn+KUzJHYY5IDAYZxmXcAQTLh3HnIwrjbmBkIBIwZ6sZgr2WkumFCBzjIe9sRgPe0sYj/kcV4xg
78DJkywJbbDkvAR6PA3IK4QALwmcZIlx4C0xH4GxwiTkw1GCJuwJ82nYa4ABeaGBW8PeoIEuYUFS
CzwdxsHeYRKtER3EQIN6aS0zJYJGPl6IDEKEqSQMmKcuARKQpI+z8XG0xAwWgUDGIETk8F771RAI
NEKKNTGwN65ExBE6BMvCv+N4D/8OxlYgxAi69aHG/BYh5CBhETrB8R6hFHBifcixjhiiFPhi5UDf
MLhWhPiCEpqcOfjTmMcvjXYWa4tQwx9CoSzHe/hzWGekg3IIGoZQiRTCVFQCNEdIpV8ULAUAMb8U
CkFDohFhEeCCDMAggcj7AxWySLp374ob76Rkt8WiWOyrXXH3Y18Xi659WXYfN/W2uHliqu//zMr3
79++6U2QnQmTq2X3Um3u6u/dT+XPrPh8z/hf7Ojo5KQMTm7+4wEm+ITQG7M74vUzPDTfo9Z8ylqo
TOhU4m+AL6KOZBI+zYKvJuGbTPi8POGXUU86id/Owm+mrGWZi38UfxXF71L45WQC5OAfUEbxy0z8
YhR/inoSSfyTGZCFX07iT37sY/yj+OuoJ0rin8yALPx6Er/LzR/Wrdq6ehwYmKgvm2KgJnMgi4Gb
slYik4EKDJ4HCjbqjCcpTKZBDgU1WYEVZVKw5xRc1JlKUpjMhCwKk1VY2f+VR7yMOjNJCpOpkEVh
shBTrgi/SiQeVWNKqjHNUmOaLMaUq8avMolHJZmSkkyzJJkmCzJlS/J5KkVVmZKqTLNUmSZrss5V
5depFFVmSiqznqXMerIq61xlfp1KUXXWSXXWs9RZT5ZlnavOd38s2CiVogKtkwKtZwm0nizLOleg
DxR++addd3UgEtVpndRpM0un9WRxNrk67YmMOUSF2iSF2swSanO5OF862nF3Qpqbgw/Vc6Asoqpo
kvlnZuWfubwtuERZ8KONzS1/+6pbrurw1YmoBplk8bOzip+9nOoXWcsT61ztfSj2gXG03Nuk6tpZ
qmsvF9qLjOmENHfT1xwIRwurTW737Kztnr2s8BcJm6ONy61h3SoQjhYvlyxeblbxcvOLlzgVL5db
vK7+rtvqqWbNV9bs8bNbN7vnYhv2BDJa0FyyoLlZBc3NL2jyVND4Aemvq6rtYvPxHm24gwt3WeFK
KNyshAuKcM4Ph+Vw4AyHtnDwCWeHsP0OW9iwCwwbqbAZCVIe1NBfw/aPoc+EvsHODnZDcfEXqv1j
mM8N8w1p6S9L+8fgxU1/QId61wfleVXX8ciElTjZHdThz6b99tA036JWdGY1GnHX1vVt03TFbbOp
v1R7fynr/d1Ubb3re/31bL+E9wGjR3/svUbSfK5/sMPqfoKvXdPVxbX/93H3eGoc8mtRL7viN+yt
6nb47W0Ov3/fbda7erGqPEL/4moHD/0HENptt/5a4UffOpL+0CxftsDUvxmid+OT60u1bJtRexTd
vv1hXW2ap9GLxWb9WI/GDvNg2FNbbYtP66eXtg5cr1+2z/eICLdn0b2utvXz/dA8pfKQMMPFa7i/
DNeA4TYtXEqFm51wOxJuGMIpPRx0w1kxnLfCkSXs+sPOOew7w9btmMpmnMqD2h9Tmc5S2Z2lsjxL
ZXOWym/f/Avj6vMYDQplbmRzdHJlYW0NCmVuZG9iag0KOTkgMCBvYmoNClsgMjI2IDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAwIDMwNiAwIDM4NiA1MDcgNTA3IDUwNyAwIDUwNyA1MDcgMCAwIDUwNyAw
IDAgMCAwIDAgMCAwIDAgNTc5IDAgMCAwIDAgMCAwIDAgMCAwIDAgNDIwIDAgMCAwIDAgMCAwIDQ1
OSA0ODcgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDc5IDUyNSA0MjMgNTI1IDQ5OCAzMDUgNDcx
IDUyNSAyMzAgMCAwIDAgNzk5IDUyNSA1MjcgNTI1IDAgMzQ5IDM5MSAzMzUgMCA0NTIgNzE1XSAN
CmVuZG9iag0KMTAwIDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ0NzE4L0xl
bmd0aDEgMTI0ODkyPj4NCnN0cmVhbQ0KeJzsfQl8VNXZ/nvunS2ZSTKTjSRDmAnDBHCAABEIi2Qg
C5tAAhlMWBOSQMAAYUcFjQuiUVzqvqO1agvqZEAJuKFV6661Ki51t1arcWnVWijk/5z7zgkBwaXt
9/n19583eeZ5znvOee/Z7wkGIUFETnyYqLpkbHHFDZsuHEbigWeI7HtLxp5YZMsvySbRhrSZpk7P
G3zDI0M/JRLnoVZ17ZKapoObnB8RnXw5AnxYu2aVd1fTq0OIbkHafP+CpoVLTn9LH0bUtJ4oIbCw
8ZQFVfH0ItEdZUS/vqihvqbu28mnhBHPgXhDG+BIuLN7O9LFSPdqWLJq3boL829BGs9YtK1xWW1N
/7Mtu0mUv4PiM5bUrGsakJA7FPkNKO9dUr+q5tqztqwh8eStSJ+ztGZJ/Y37vp6H5hYQDVzZtGzl
qg43nYv+bJPlm1bUN6Us7JlJtOEOPO4TkmNhGfHu1OWP9ZuXNOpryrSRtPs+Wf+M5L0T1k7dv+9A
c9ynNjyT4kgjNtSz0EESj8Zv2b9v35a4T41IXSxzm/S4j6ObyUnrSEdNJ+XRJqLkoXiuhlzdFBCX
YJBt5mvM+QjZg1l/gc7VyEZaklnTNJOumT6gAR17qNdpRgtgk6d7vRQk2q9zG6w3arleEh0yT99p
TpQ9pVRT4qHWiOcxWzeTj/4/MH0ObTua37L36P7/+PPvpHFH9X9ISf8bzz/qs7/C6vuJZjLRzfrT
tOSoefVY113jNx+ePmY7yuhm01nU+J146w7VF59+fyzku46Vp71z9LoWC5576dHzTL+hBd/3vCNN
f+xQHL39iHGYShOOWqeKuv+UZxxW9wDlWEbTsH+5/ss0+6fWMR1P1+jzaebR8qzL2G8RzChbfdjz
9tOcH/MMbTn5LdeS3/Yy+U1boa+L6lHk/zH1LWt+XLkfa6b2Q/GsfcivP0pDvlPmiL5GfdcoLV6h
jT/0HJS55ofKHMssdXRN1+d9py0FR5+zY5bvEkt76vC4eg6VH62O+a7D/dpdlHNYzA8px7T6cN9R
n40y5hTKsU7C+n7th8v/mDJdTb+BeprbvjuH/4pp26hY+xM1alMMHq+10TjxMPXSrqLjtI+pUdRS
Tdfyphko+6GBEllP+sQ3SA+kseJ9fg9rG8mjf079/hPt+28xrH0Sz/3crYhZzGIWMzbtOhF/zLxq
av/faofejYT2Nnm+04aVeIcA/1vt+DGmD6ELfu42KDNdTvO0p8mnf0rzjXSIeup7D91RTEOp1uBE
Gg/cBayIpr1AfWe5RJpmcBEt1DZTpn4m35v1bZSrNxx6v+v30CSDb6IyYDNQH02PABZ2lruJ2/Cd
9vX50e0beLT24V42XnxLPi3M7dDeIL9226H1ob3L/qPZv1NXu4EKxNc0SJtGo4z0RErVSmlwZ/5J
fH/+0eVaO475rJjFLGb/82Z6+Kf92cfRTPv6x//ZhjaLLjItoYuOmtdMpTgbTP9ue2IWs5jFLGYx
i1nMYhazmMUsZv+99lN+xjTKf8/PmUZ+7OfMmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5/dxL/8W/Ix
i1nMYhazmMUsZjGLWcxiFrOYxSxmMYvZ/4xpTZQMDAP80XQPoE+X/NR/+xkLaDQwF5gaTQ8Ayrvk
B49du+OOf/f5MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5gd3Tp2/9wt
iFnMfmbTo+jO/5KUOBcpKH09mcRiOEopSGayQCVQT+pPg2kIFdAYmkwVtIiaaBWtpS10J0VolxiU
3S97eHbQG+d1eou9Td7V3nXes7wbvef5n9kv9usdxr8UhThexMmj4404J9J0qqEltILWHBanoEuc
VYhzhvccIw4ZcUTH12hjCXC/fn/Hbw91R0zsqNUe00v10TTkk03yq733+/Pf/+D9c+UX0fsb39/4
9glEliHRfzlrLFAcrVyM3o6nSpr7A2NWfBjr+kT9Kr1R/1Rv1z+j0fDOpTqhiSThFFmih+gjysRM
MUesFmvEBnG+uFBcIq4V75jMJovJKgJiAFnEN0akb47817yQ1qL/9pdG32/iUFuOlq2vAFQbSf9C
/9LwfvWdgkf//xON7uyzNPTvmM34Tr+j/mjvoYz+g/eIh3+gT/83TP/+bFP0t6wwjz/BxILY/jqm
/af3FwVnnrtx1coVy5uWLV3SePLiRQ0LF9TXzZ83d87sWTOrKkMV06eVl02dMvnESRMnjB9XWlJc
NHZMsHD0CaNGjhheMGzokLwB/fv1yfX38vX0ZKS6nEkJ9vg4m9ViNumaoH4lvtJqbzi3OmzK9Y0f
31+mfTVw1HRxVIe9cJUeXibsrTaKeQ8vGUTJBUeUDHLJYGdJ4fSOolH9+3lLfN7ws8U+b5uYWV4J
vbnYV+UNtxt6sqFNuUYiAYmcHNTwlmQ0FHvDotpbEi5d09BSUl2MeK32+CJfUX18/37UGm+HtEOF
+/iaWkWf0cIQWp+SEa0a2RLkY8O6v6SmLlxWXllS7M7JqTJ8VGTECluKwlYjlneRbDNd4G3tt6fl
wjYnza8OOOp8dTWzK8N6DSq16CUtLZvCrkC4r6843PfUDzLQ5fpwP19xSTjgQ7BJ0zofIMJmv9Pn
bfma0Hhf+6eHe2qiHovf+TVJKbvYOUzIV5rQNrQQ/cvJkW25oC1I85EIN5dXctpL890RCuYFqsJa
tczZo3LSQjKnWeV0Vq/25cipKqmOfq9pyAg3z/f274fRN779+Ea+N6znVs+vbZBcU9/iKy7mcauo
DAeLIYI10b6WtA7MQ/maanRikRyG8spwnq8pnOobywXg8Mo5WDS90qgSrRZOLQpTdW20VjivpFi2
y1vSUl3MDZSxfOWVuyi/453W473u7fk4KKpkO8LpRZiU3JKWyroFYU+1uw7rc4G30p0TDlZh+Kp8
lfVVcpZ8znDfd/C4HOOJRi307YjSqrDsudVv81Zqbr1KzhYc3lJ8+MaOQoYT02Uk5YyOHeWtFG5S
xfCUaAmpDouDhO4vGi+zdFm1aLw7pyqH7Xua5I62yewP27rEcsLR2SZ+zjGbxqVlg/p6S+qLuzTw
sKDmaAOj0Y7eTk2ORfTBqGGT0zleZel+7Fz4NIQxXHIWM7xhKvNW+up9VT6soWBZpeybHGtjfidN
900qn1lpzHZ0lVQcluL8Ak6FKQfZKqEVYQ2WBtxqWo30OCPdmRx/RPYEle2T7WppqWsl3S+XsrtV
GMJcdEFVeGqgyheeH/DlyHb279dqI0dORXUR9mopjjtfaY0Pr6HSlpq2jub5La3BYEtTSXXDCOyL
Ft+Euhbf9MpRbqPx0yo3uE+Vz06mSWJSxViE0mhsq0+cV94aFOdNn1m5y0nkPa+iMqIJrah6bFVr
L+RV7vLiBWB4NemVTpnwyoSMNA0Jm1HevStI1GzkmgyHka5tE2T4bMonqLZNY5+TH5RrPCiIW1pt
m4lzgqq0CT4b+5q5dJ9oaRtynDJnN+FFQkYmWyvJAQ7Gm4O2YFzQoSVoGFLpisCzG2XjBG13iATh
bkXMaYa7TTS3xgXdu4xI06Ilm1FS+po7fWi5LNYlEJ7HHQ8d6kFoZuV2ByG+8YkSY6VhFWY0YA3h
fVLirZPrb31VQ0t1lTw9KB1rFd8iLHyjKaz5RqPFFkc43lc/Nmz3jZX+QukvZL9F+q1Y+SJdYLLl
odtS7cNBjB1TSW7Be02XIb1tHR0VlTnPuturcrCXZgMzK8NxAbzczP6JKDdOohruceHm2hrZDgpV
yrpW/4TaKuxLFRBFJoTjECEuGgElSo06cr+hUi3WWo3PkHDj6GiuClcF5EMrF1UZ+9UZpvG+EWFL
Lsc058oH5VW1JPsGG4cP9nq8f5OkOLSNpleyx40kHlbFg2R1oOW1PmTVVnt5jUzHXuaXRbybPfU4
80259Qbi3dFMkt3S/faE+HDcAATEt9T2AfLMMfutVVXceCO1KVoAz3aG7WhRbpehjFbA6CBrgmwL
vjehqbLowzJMeRtN863D0SkbbUSyIjuc4J9Qg7cb17fD4ytQlW3yELRHYzzKXqvsuQPjjiOhreN2
3yk5XQxnh3z7yfVH7l3YqFTVcqQjPCvQv5/tSG+C4W5psSUcvQKPly2hkw2n5q+VbwWwXHDGevOW
yFelb2KrNiVgsDC4ZaIPbxDNL4GLjo7tk+Otq5Kl0OQy4yw7ZiHRpZB8TRvBW5wjVUpEUzyZLeGF
hycbOpOlErgM+gfwHQJdkWct1spid7gRK1MVkTPibfE6fSN88sOoPE6iGpPUuS2w/LHq5KZprvVW
zsdiR8DS6pbSFnlFra2JDlv0SeGlgcNCYl8ILB4Ekt0JN5d5q6u81biaivLKnBw3diPYuwD3VF+N
fBWUcX/KZhpXlZoWucQJN5Uqd9iKF9OCmnpfDt4gYXkC8ejLNpqi24bcLS2+lrCxb0tRGOFzse0m
SMJ3U8BXUy+v0AvkDbreqFuK5hqjI6O5S3zYy/VwG2OJgcPRN19+1LbIC/qc6gBGwtWS3OId3oIj
eA7eHqbc2hnVeFXJN5LXmOoaN1IYhAkyVYVAXDDOLwvyFpCtWRJonWP1H/IY38sCXNhmREXLplWG
y1QRYz9JsTwQ1roVIFN2XkybWanOKV1mT8DwBrGq3LK2N6xVVEanx6g/QVZ1qwnjavAY75Do/up8
26j30Gw3xvSYfrwc9DHTtSe0x/Hjo0f7XZTfpALtdQppr4H3gl+N8ivgl8Evgf8AfhH8e/BD4AfB
D4DvpxCZtDfoeKAC0DtVHXAr8BJgppMRSZAd9QWlao9QMVAHrAIuB8wo+yDybkVEQV7tnB1xGWIi
JvRsJc5S4kwlmpU4Q4nTldigxHolTlPiVCVOUWKdEmuVWKPEaiVWKbFSieVKNCmxTImlSixRolGJ
k5VYrMQiJRqUWKjEAiXqlahTolaJ+UrUKFGtxDwl5ioxR4nZSsxSYqYSVUpUKnGSEjOUCClRocR0
JaYpUa5EmRJTlZiixGQlTlRikhITlZigxHglxilRqkSJEsVKFCkxVokxSgSVKFRitBInKDFKiZFK
jFBiuBIFSgxTYqgSQ5Q4Xol8JQYrMUiJgUrkKTFAif5K9FMioMRxSvRVoo8SvZXIVcKvRC8lfEr0
VCJHCa8SHiV6KJGtRHcl3EpkKZGpRIYS3ZRIVyJNiVQlUpRIVsKlhFOJJCUSlUhQwqGEXYl4JeKU
sClhVcKihFkJkxK6EpoSQgmKCtGhxEElDijxTyX2K7FPiX8o8a0Sf1fiGyW+VuIrJf6mxF+V+FKJ
L5T4XInPlGhX4lMlPlHiL0p8rMRHSvxZiQ+V+JMSHyjxvhLvKfGuEu8o8bYSbynxphJ/VOINJV5X
4jUlXlVirxKvKPGyEi8p8QclXlTi90q8oMTzSjynxLNKPKPE00o8pcSTSjyhxO+UeFyJx5R4VInf
KvGIEg8rsUeJh5R4UIkHlLhfifuU2K3ELiXalNipxL1K3KPEDiW2KxFRolWJsBJ3K3GXEncqsU2J
rUr8RolfK3GHErcrcZsSv1LiViV+qcQtStysxBYlblLiRiVuUOJ6Ja5T4lolrlHiaiWuUuJKJa5Q
4nIlLlPiF0pcqsQlSlysxEVKbFbiQiUuUKJFifOVOE+JTUqcq8RGJdS1R6hrj1DXHqGuPUJde4S6
9gh17RHq2iPUtUeoa49Q1x6hrj1CXXuEuvYIde0R6toj1LVHqGuPWKGEuv8Idf8R6v4j1P1HqPuP
UPcfoe4/Qt1/hLr/CHX/Eer+I9T9R6j7j1D3H6HuP0Ldf4S6/wh1/xHq/iPU/Ueo+49Q9x+h7j9C
3X+Euv8Idf8R6v4j1P1HqPuPUPcfoe4/Qt1/hLr2CHXtEeraI9RtR6jbjlC3HaFuO0LddoS67Qh1
2xHqtiPUbUcUbZeiTTsn0mO0B3fmSI800FmcOjPSYwSomVNnMJ0e6eEAbeDUeqbTmE5lOiWSPQa0
LpJdBFrLtIZpNeet4tRKphXsXB7JHgtqYlrGtJSLLGFqZDo50r0EtJhpEVMD00KmBZHuxaB6TtUx
1TLNZ6phqmaaxzSX683h1GymWUwzmaqYKplOYprBFGKqYJrONI2pnKmMaSrTFKbJTCcyTWKaGHFP
AE1gGh9xTwSNYyqNuCeBSiLuE0HFTEVMYzlvDNcLMhVyvdFMJzCN4pIjmUZw9eFMBUzDmIYyDeFg
xzPlc5TBTIOYBnKwPKYBXK8/Uz+mANNxTH2Z+jD15tC5TH6O2YvJx9STQ+cwebmeh6kHUzZTdyY3
U1YkawookykjkjUV1I0pnZ1pTKnsTGFKZnJxnpMpiZ2JTAlMDs6zM8UzxXGejcnKZIlkloHMkcxy
kIlJZ6fGKcFEBokOpoNGEXGAU/9k2s+0j/P+walvmf7O9A3T15GMCtBXkYzpoL9x6q9MXzJ9wXmf
c+ozpnamTznvE6a/sPNjpo+Y/sz0IRf5E6c+4NT7nHqP6V2mdzjvbaa32Pkm0x+Z3mB6nYu8xqlX
mfZGup0EeiXSbQboZaaX2PkHpheZfs/0Ahd5nuk5dj7L9AzT00xPcZEnmZ5g5++YHmd6jOlRpt9y
yUc49TDTHqaHOO9BpgfYeT/TfUy7mXYxtXHJnZy6l+keph1M2yPphaBIJH0WqJUpzHQ3011MdzJt
Y9rK9JtIOs5r8WuOcgfT7Zx3G9OvmG5l+iXTLUw3M21huomD3chRbmC6nvOuY7qW6Rqmq7nCVZy6
kukKpss57zKO8gumSznvEqaLmS5i2sx0IZe8gFMtTOcznce0iencSFoNaGMkbT7oHKazI2kLQGcx
nRlJC4GaI2k4jMUZkbShoNOZNnD19VzvNKZTI2l1oFO4+jqmtUxrmFYzrWJayaFXcPXlTE2RtFrQ
Mg62lEsuYWpkOplpMdMirtfAtJBbtoCr1zPVcclapvlMNUzVTPOY5nKn53DLZjPN4k7P5NBV/KBK
ppO4uTP4QSGOUsE0nWkaU3kkNQgqi6TKJ0yNpMrlPSWSejZociS1P+hELjKJaWIkFfcCMYFT45nG
sbM0kno6qCSSuglUHEk9A1QUSW0GjY0kl4LGMAWZCplGR5LxfhcncGpUxFUFGsk0IuKSS2M4U0HE
NQ40LOKqBA2NuGaChnDe8Uz5EVc/0GAuOSjikh0bGHHJvZnHNICr9+cn9GMKcLDjmPpysD5MvZly
mfwRlxylXkw+jtmTY+ZwMC9H8TD14HrZTN2Z3ExZTJkR5xxQRsQ5F9Qt4pwHSmdKY0plSmFK5gou
ruBkZxJTIlMCk4NL2rlkPDvjmGxMViYLlzRzSRM7dSaNSTBRsCNpvkfiYFKt50BSneef0PuBfcA/
4PsWvr8D3wBfA1/B/zfgr8j7EukvgM+Bz4B2+D8FPkHeX5D+GPgI+DPwYeJCz58SGzwfAO8D7wHv
wvcO+G3gLeBNpP8IfgN4HXgNeDXhZM/ehEGeV8AvJzR6XkrI9fwBeBH69wkBzwvA88BzyH8WvmcS
lniehn4K+knoJxIWe36XsMjzeEKD57GEhZ5HUfe3iPcI8DAQ7NiDz4eAB4EHHMs99ztWeO5zrPTs
dqzy7ALagJ3w3wvcg7wdyNsOXwRoBcLA3fZTPHfZT/XcaV/v2Wbf4NlqP93zG+DXwB3A7cBtwK/s
/T23gn8J3II6N4O32E/23AR9I/QNwPXQ1yHWtYh1DWJdDd9VwJXAFcDlwGXAL1DvUsS7JH6K5+L4
qZ6L4hd6Nsf/ynNh/O2ejbrfc45e4DlbFHjOCjWHztzaHDojtCF0+tYNIfsGYd/g3jBpw2kbtm54
Y0Mw2RK/PnRq6LStp4ZOCa0Nrdu6NrRbO5cWaBuDo0Jrtq4OmVanrl61Wv9qtdi6WhSvFgNXC41W
O1d7V+uOVaEVoZVbV4RoRdmK5hXhFaaR4RXvrNBohYhv69izfYW7Ryk4uH5FgrN0eWhZqGnrstDS
BUtCi9HARQULQw1bF4YWFNSF6rfWhWoL5odqCqpD8wrmhOZunROaXTAzNGvrzFBVQWXoJJSfUVAR
Cm2tCE0vKA9N21oemlowJTQF/skFk0Inbp0UmlgwPjRh6/jQuILSUAk6T92d3b3ddadswJTuaAm5
xdiB7qD7HfcXbhO5w+49bj05KcuTpfVNyhRFUzPFsswzMi/O1JMyns/Qghl9+5UmdXu+29vdPu9m
Sgl26zuglNKd6d50PU32LX1yRanBhcXMg4YYffWk+3JLk9JEUponTSv5PE3+hq/wCkHCCdJtKLND
pHlK9QeE/JU9MwlxCVUEJrXZaNqksK1sVlicF/ZPl5/B8plhy3lhCs2cVdkqxEVVxu8khFPlL5UY
6Y2bN1P22Enh7OmVEX3LluyxVZPCzVIHg4bukJpQpCowd+XqlYHK4Ankesf1hUtPe8j5vFNLShJJ
SR1JWjAJjU9K9CRq8qMjUQ8mDhpWmpTgSdDkR0eCnh5MgEf2r7ejrKI0ye6xa6FC+1S7FrQXFpUG
7f0Hln6nn9tlP/nJgVVz8TF35aqA8Y1UlVgtkwHpld8rVyEtv1YbaQp8r3Ex0LyVsFXKuer7a/1f
N/FzN+C/3/g3ecZ0aOdQnXY2cBZwJtAMnAGcDmwA1gOnAacCpwDrgLXAGmA1sApYCSwHmoBlwFJg
CdAInAwsBhYBDcBCYAFQD9QBtcB8oAaoBuYBc4E5wGxgFjATqAIqgZOAGUAIqACmA9OAcqAMmApM
ASYDJwKTgInABGA8MA4oBUqAYqAIGAuMAYJAITAaOAEYBYwERgDDgQJgGDAUGAIcD+QDg4FBwEAg
DxgA9Af6AQHgOKAv0AfoDeQCfqAX4AN6AjmAF/AAPYBsoDvgBrKATCAD6AakA2lAKpACJAMuwAkk
AYlAAuAA7EA8EAfYACtgAcyAaUwHPnVAAwRAVCfgEweBA8A/gf3APuAfwLfA34FvgK+Br4C/AX8F
vgS+AD4HPgPagU+BT4C/AB8DHwF/Bj4E/gR8ALwPvAe8C7wDvA28BbwJ/BF4A3gdeA14FdgLvAK8
DLwE/AF4Efg98ALwPPAc8CzwDPA08BTwJPAE8DvgceAx4FHgt8AjwMPAHuAh4EHgAeB+4D5gN7AL
aAN2AvcC9wA7gO1ABGgFwsDdwF3AncA2YCvwG+DXwB3A7cBtwK+AW4FfArcANwNbgJuAG4EbgOuB
64BrgWuAq4GrgCuBK4DLgcuAXwCXApcAFwMXAZuBC4ELgBbgfOA8YBNwLrCR6sY0C+x/gf0vsP8F
9r/A/hfY/wL7X2D/C+x/gf0vsP8F9r/A/hfY/wL7X2D/C+x/gf0vVgA4AwTOAIEzQOAMEDgDBM4A
gTNA4AwQOAMEzgCBM0DgDBA4AwTOAIEzQOAMEDgDBM4AgTNAyF+mxxkgcAYInAECZ4DAGSBwBgic
AQJngMAZIHAGCJwBAmeAwP4X2P8C+19g7wvsfYG9L7D3Bfa+wN4X2PsCe19g7wvs/Z/7HP4vt6qf
uwH/5UYrV3a5mEnLmCf/Gor1RqKDlx32t0/KaDGtpGZ8nUub6TJ6iN6g+XQ21DW0hW6jX1OYHqYn
ae8P/C2Wn2QHTzEvIYe+kyyUQtSxr6P94G1Amzmxi+cypFJM3kOeDmfHZ0f4Pjt4WYfzYJslmeKN
ugnai/D+TRzo2IdXLtIdQ2Va2wSdZNT40nrjwbsP3n7EGJTTTJpFs2kOVVMN+l9HDbQII3MyNdIS
WmqkliJvIT4XIDUPpXC8GPpQqWXUBKygVbSa1uCrCXplNCXzlhvp1bQWX+voFDqVTqP1tCH6udbw
rEfOqUZ6HXA6nYGZOZPOMpRi9pxN59BGzNomOo/O/97U+Z2qhS6gCzHPF9HFx9SbD0tdgq9L6RdY
D5fTFXQlXY11cR1df4T3KsN/Ld1IN2HNyLwr4LnJUDL3fnqc7qG76G661xjLWowaj4galwXGGDZh
DNajh2d3aTGP39rO0TodfZd9a4n2dB38Z3WpsSY6jrLk2SjJUXgeZJQNR4zEJegD60M94tQVRv8P
ebuOyvd51Xhc32VkrjNSUh3pPZa+km7ADrwZn3JUpboFmtVNhu7qv7Gz7BYj/Uu6lX6FubjdUIrZ
cxv07XQH9vZvaCttw9ch3VUx30V3GjMXplaK0HbagZm8l3ZSm+H/vryj+bdH/ZFOzy7aTfdhhTxI
e3DSPIIv5XkAvoei3kcNH6cfod8iLUtx6nH6HU6op+hpeoaep8eQes74fAKpF+hF+gPtFQlQv6eP
8XmAXjB/QIk0Bj/+78Y4X09zf/Dv6P1bZs6iNNrS8W3H2o5v9fG0QFTgArkNs7SDLsRP7EsPlRQe
ije9R6m0o+MbfTa4z4HXzQ0Hb+n4nMw4NVfqL+KU08lKw2kyTaGrwhsDlfdTAm4p6TRC3HNPWnGx
rb/1QdxANPLiDmMjIYqCSSYtYWdWVqFv5xDLZt01oU3031Fo3YzbeeGBtw48l3fgrfbk4XntIu/N
d9961/nlc67hefnvvvTuoIHuYGpWws5GVB3i29k4RLdsbtRdhbJ+MK6xMKhZNzciSEZhIOu5wHN5
gecCCBMYOKhKuHJcBlITNas11eLrOUAb0jt3aH7+4NHakONzfT0TNcN3/NBho/X8wT00PVV5Rmsy
LfQX/zlTn3rAop3uK5yRb+6RlZSaYDFr3TOS+4/yO6fP8o8akG3VrRbdbLP2GTa256TGkp6vW13Z
aenZyTZbcnZ6WrbLeuANc+K+v5oT9xeZGvdfrltGzi7spV8db9NMFktbj4zM40bmTJiRlOI02VOc
rnSbNdnl6FM8+8C5ad1ljO5paRzrwGQMp69jn+l0cyr1pFz6oxz3XdSr46MdDqc40dcWFbltHV/s
sEPYlYiHCGZJ5XfKzwTj02F8BvsIv8zuZxeTe/ly/V857I6Mntm++ASRbnKQw+nQ7vY95Hvep/sc
Pkdy9rTkkDlEhYWFycOH5+XNmePqNtwF6cp3tg925Q8aKAJzom//QMAd7IGQDv9XjV1jdo2ToQJ1
hgkgCibPn55uMWast56jJ+q+nrm5Q4cJnqZuVp+eY1ptE06/x+NPiTMtO/DhYj0+xdc9258kbCJi
Ssjs3cN7XFai6TTxtnjkhHR3okm3OuLEyINPxiXEmcyJ7nRTxJ5o03Vbkn3zgdNIYCeQPgkjm0U1
PK5pHR9td4rJaRic7UlRTjD4m+0Ogz/abpesuXZQXNK0tDYRaLVUUGF7och79l1jDLB4tydNs8is
SCPysEgLZefkOsvpmTvEFV1oaa4cufwmmdC6A49262tL7ZmRmZNqEy/I5k5KdafEeXqb7rI5rGaz
1WHbf3OcS/6/A7Z17LMEsBdH0SuyzUFn9eim0VrCwIHd8vLiB2RkZLVxH7KifciK9iEr2oesaB+y
0AdM1SCHIz4DxeOdSfIDBePjUSo+A0Xid+OHcOrYE8xEgnoNLbdndEvIyxg0wOLpU+4JqUVRmIx5
zMcAvBTgEcBsOjuVa/gJefn5cpXMwaY+aoyMQ0HUQMkN6fIJuQiwHITP1ek8Xu5lrAeRL1eGMZCW
gC3Vk9ktJ8WmHczX7WnZqWk9Uu3awXHClurNzPCmWPu5G7wDe2XEibVmca49y5ObuSTJneLIUoNr
Wrj/cmu8VTdZ4y3YsNd0+m87rpcjq4/7nyfpt/U4LtMel5KdhjkY19Gu15pzaILow+tmDLZhEjbW
mOhgG+yMssNgY9DHtGn9goHBwZRUceLgoAu7b3CvwQ53hqzrloPvdjrlB6q45Qy4d2uD5Axsd2MC
5B+sZkY5lfneJBd+LnQMuE/0pmEUL3KDdpd3mBgWtDvEiS75p7bxUg1zDXOlj2oTjnvGuM19p6e3
ib6t5hly1WL7tbvkXgwE5jjbne1yEmE8e8mc0bmsW4cNkP8trdEV3yZydzYaUfvKsDsbjbhmGTjS
iMhyzaN2IBpaHsw8gSZ1zPJ5PMASTVvSohMsD+i01B4WvbZo7c1zxiw7aWQ3u8nmsCXmly2fWDCn
qNfgaYuWNkzLH7no0orASZNHpVhMmm6xW+15xXNGDC07Pmvw9MVLF0/PFyfPuqh2cLq3Z4bfg4PZ
2rOPr8ewsvxhU0YOyh9dsXxq+Rkz+idlelLsroyU5O4pcd192dkDx/qHThk1OP+E6cvl/+chqWOf
vhc7rSc1y1nemRHEBGW45LjvgCJLdKdZojvNEp18S3SnWaKTbpHbyNWx5x7kuSzJbaLP9uxyh9w6
7YNFXuBLY3gfCzgflWMcsWTLEjsajSLYGYHBavRyDm2CHPXCMo6QvThCbAcvt6XmZGb0TJUqwWY2
40M/x4ajxPRoSneXbf+NnYt6vs3VPSWF3zB4vzjRzw9MudSL+tBy2dN7Mrr1duQmtGkiGNct1wu/
PTe+TRsZdFKuP/u43t86cJbXJzeYG/idkNeOY1xk5mW89C4mPHl4lvNNFvI97kQNR+9vGw/V4fM/
L4BKhx36vXOshx/6JuPQ11+36s7cnBx/qk0/6WBwmik+pVf3bF+iZhOLTI6M3j0yfRnJdpu+Qbtb
LByVjheAbnHEtX8S57Dp5sTuafpj9kSrLvC6dtiaD8bL/8/Ezfj4JX6W60EBKqAFss+tufn3aTrZ
yaOlb09Ls/dr005Af+1Zvd8bNMjq/9BZl/+1daHcMsaNZfj/Y+1LwKM4zzTr6q6+u/q+70tSq9Ut
detoXd06u9VqISQZJDDilLDBhcEGX8D4ABvbiSchCXaWjGfW2c0kmd2MEy5DYu84+yxxQsZ4M/uQ
7Hji+AmzT3ymfcxsHGOD2P/7q7rVEhLGySJQVXdX/VX1He/3fe///Q1ylIto5yJ3sUnIVhoj/8qj
I7nQGzw3wyb/wKOjwQ1wZpIWdMiIAaAF6w1MnnXTdApZfUAHDmGY36X/szM5sGpLz9z/MAaDRrJm
w/2r6w3BlkB0JO1/3xQb6Py7U+meGlOHo3Wi/x9eb+5PushkavVAk59z+ehv+Vz+/i09kf72mEZW
1zdFfiPQXmOee9ER65wbjvY2WOe+ZY52g43vuPoBfZBJEM3EbSCF41YicobqzipU5k/jroyLcvnP
kHoEKlupj72NiUaqsf4M2XyM3YbytwvTJfyLjF+8cBbJ4DmX+VPepcMnKHjd1kbqY76RheOP8+gE
JIuzUfgnQDxTlXMxi5wfgwPOzQ7K7Kmh6Vb++AODuQdP8PHJQoddjkCaVYYz09nB3WP18dX3DHVN
dtWopTIJ/R9cPrvPacg9fu7AQy9/qcA5ffaAT2/XyTxBd+stT01vfmom6Q64pSiQIrsHK7iMrEBP
eIhuIZ81UGmUC9spY1Yut17SzDguSQSdw0PitFSlsV7iNTMSxyVeIiq47J+BKt2yVZq8PPSFn/3l
p1iNui/894P9P6hZ9Sj/lcNbD62ppzxPvHyoR9DYwMMv3j/+xC3tl99rnP066AbuT4Pur56YwhZq
R6oxZo1yr8FrIOT2P4bDUtvH6pnIx9J5u0RZCECuaJWGsP2PPDpMbfuYV89IkRdKq4xyYVIyb5MI
aBbtottgldIrb8IzUHpWyTLoNTu3kbyFVUI+hfaPkt9BKMz0I2mzwvOwnEOvt2llcy+znN2gs3Hs
3N+ynA0/2dVPqA/QkwWIlfjJJDp4Mr1TqXQQTofkkk5nYT71zlgAX8THip9FtYH4WFqd5BKPjvEy
n/L4KIDJcgGAcv4F91+dOPiazNQHWu3cfeQuqQoeQiWdOywzINhEeRdSzyWtlv510Dt3UsbZDHo7
uvebZMLDyuif+1w+uHf+6nv0e0wTkSV2wb2fcLu1VuhqJGq0Z6i2rKI58AebBP0kFNDW0b7ViPzh
WGKbqCHQjeAxCCHj8DBKW+APPD6hHc44ybdvTcA5x/nEtrKuIIjOx9AqN2lp1QXmQ4HZpDNKWSFn
KrsW/Z6ElTPaxuKO4uovbEq1bnl8rGFT5PdlHZIbzF5O51t50+raB849MTR6+Ny+vjtXtRoV9BMG
BydzhVyd259cs/mpW5rNJtKN1AcqZV2euS1GF6u3G5TFJ17a+8Arh0dNHo/BI+oWBaQwESfWYt0G
VND6aQkqYYERYambDQJAyK8JIZA/XmwSNHyiblYVFHDk2rCxMEesVnAlr67s0v9bZkLa9RrZOTfO
BZGeUZi02rwoz/5X1uhFGbdJZqlI46W59vI+/W8VO99C/nV5X3xCchg9oYkICtkfgZ5Mwc3iZ0G6
hQfAr9AdL7jX8l2Rw+V7kcMdoHup3AH971JhT0pcvYqShk/IdZJHqDDxLIIlKRXWibhAvYqubyVS
wvUNIFlWPYvMRnOMuaVcjcB9qGcZePc4z9wyX4hIl6hDqFc57ZzHGKxIZydkCgNBZPX0y+V7uvwQ
q3MIEpDMIv9tI7bDHZysN8Ui1jPk1azcr44rYjF/SgGvdIS/eSZmVtKu8IzrVk5UNmT6grL1qDRA
xo10jrIF7NiLDy9XBovrAjFjuF5dYDZJZlmD12Lz6llq7otMoAbV1nJ67ijF6r02m0fPhq28p96H
ioJahmxS2Xy1zq224Lwm7rn8sEpFS+VSev/lxyvv/tTvhYLgSor6mbvOrvT6yzb/AdJIB1HENu/T
Q9urk0mcIf8xqyacLbPKOgsgFX2LWEVXW3tWWf25WB2XNYWCSoQMhyMBI2jqmqc1mM2WZAM9r0z6
A799tyfMzb1VMxohSYpkdU6z1QVPu1/nMOpkc9FVtRSJ/kj1TovVpZP2+r0eH6Uc/kbRXxgu+K/8
Q/WzyrRWbi449s3xmlWrVteQf0A5FAPpOMTPrVffY/oREhqICJGH536RMFIdyFDd6LeCsJHa49qt
gTOk9phk24IgekxrQ++e5LVbJfAxqhi2LYykVXQMDqRVaQHT3/PAC3v3nt7X2fvgC3vvOrU/e9xX
uHdq6r7hgHcYbfcWfZT7wP/8yor+R39+6P7zh1f0H3rpy1Nf4zuzO782dvNTOzp6dz0JsR9pbDuy
YBfKAFcI+Z/0ecpI6NDNdyKV6SJ/kEhUoY9MM6qqIHShnO5pJREE2hKVKfQRjw9ZEIEgF1gcdyxu
mk2FI+FwOSvYntry5dkjZSAIW0l1oN/bfnPWf6K32xQ3f/VvOoYabdTvJg7cHJ/7SrVKpKwquWK2
kN+sk0jmdnhahwnxeZ5Gz5NEcWlGQAUFZTrZyEV1KViSEO7AIVbrjOre6OiwpD8CaxP8sZzPXmyC
jDb9K5zm6KMdujd4dKQ3/REvHguWWclmy94YiTTQ1zxtJbe1WMzmqvyWflpmCjkdPpOCXq0NJnpS
t5SfHwVf+8ZHbk64mouNjljIx61RsL83JYazT36pe0WTzcAiN6TlGuW/1fXH7XOjFXn8o88VHryl
BzJfTulLZGvettuo1wOdUdvcs7Y4fIPM0NX3qMvISoeJhwW59FL6U+FUOKVxwQoMQoOcVJ2Vp7sv
ufok0a0IuHTPeQ0JA2VAiKbGpotTXSSaKxdKQtqP4jG24zQ+V82no92XeHy6Ac4/wRskcHLZsM8K
xfDZKvuW3mgdTF3u2PqlieSGYjPHSigKZSLK2OCmzlix1RMdXDu9NleXWrc/Xzfe16jBn8tZeW3X
eDKSrbfW59auX5urJyOFPaP1eoeTU3Imzugyyl0Bl7m2I1zbFQ/VJQc29WS3FWo5s02LamHOgLJl
u8tuCiVd0e6GSE1T/3pAOCeyr25kX16iHXsLwSBzOmHWMhyKLiccM4pbxXL27Ic/gSqWccAHJ3n8
yXwVK12+iO3WauYuyvU+m92DStiL5cSSegt0Tf865Lt8oKL1+2U6lFs6dCyEI3R3PnR3ryH89RPD
uIohLEj875/yW7wKiwklZ1mF0uKaNUvEGK1H8IurVaFUxXXq6crnVnwAmHiZfUIVaUtVbGlCFStL
3c4oLGGPv86qYub+Sspog15PwIjqzCYKxRO50e9y+dQM6xYIR42K/onZocaE5OVv0usUaqhNHWZ0
761XP5Gy6N47ifswnyePK1REZyKhajpDfpBVdKosVnUoEFD5z1DmrM6qap2tm00ElHR1+oQCZOWJ
bHGovK2csK9H+0JoXXyetXxi1ZPSAfqaZzYkDSIDK+7B0zNvMGp7jdsftSrp39IXUBle4/FG7UgU
/8yS+rDX7TOw9P+lfk/L9D6X069n6Y/J/0PLDCAVDSUVpcKpqE+uSFTaRRJSXP4v9IRSDe+q5Zf/
q7DPaBwWhHPrrpboDP1zjHMfYXl5tb2e3ngvrZRbUioVOZICGi0F5FmKA1otdYb8Y1ZDRCJaglQR
wHIS7SIr1w4EjVrcKoUtpvHaz1CyrFFn+QmR4lJUx49TJJEiU6mGnrozJBLlL/yk38+43mkodL2m
GmGIuFh9TQMPEp++Yz0uioHVORtdPw1lC+ZCkR7WTzuyaqWFTFl+wsN4fjygmSf8pJlBYza43uEb
Cqqu13gY1xoXS7UN66eBLYlHp4WsQAosSXOzkAVhF0o2i3FSfIfByQAroIgZCgU6wzkddo+m4ytj
ud1jse49392239y4It21aahRJVOhqtrRu3pratNjN4W/9Zf9M72eNSt7dnZZVSqpVKVamxkMDW7t
Ke4qhAZTK5sdCEFQiaS1uewBl6F+1f03nbXEMrWDE739SEdHkY5+KbmDqCO6iOcwn4SsU+FrEWmx
FpEmaxGlDq+x1FvOkB9nHaaoHh0U9aIjoqDFKLDTUdBb9AylyMoJk6Kl2cdIEPRKngsXHINcMY12
j0lGIMeAcGbB5Axm1eYlP+04LZwXhhOzcl44VQLnIpwewQkIxDdLuioLiZiurS4EbyjnJazObMah
7ZfJLYeno0ODgxGZ3mEyOvVSlH2iVFovqxnO52s2f3Gy5llTanXW250diPTv7+uearWRb971/MOD
unB77e0yoR6VSdrKKdaV39W2BbgVB39w18CBmS59XW/T3NGJyc4t+wDx1iIZe+lzRDPxM4zHTswK
c5gV/i1IlwBbBto+IrKUEZGlRNv3QA0RUfxo+w6cEDlDKbPquIbU2N70ZBXqvAdVYNRJQ4F+txEY
T7k6D+SP9Jh8BCJitIR/kfFpQdJnQc6YIPHY3uSFAQwwwmneUGik3+VhkFMwiBxGOc7LR4TQiDkh
kYuQVmV+KBJKhUAoXUAJeSkJa+scnopvemq2ueeOo2uiY/3NVrmU0qu1kc5V7fc84MtOd6ZXZ6Iq
YPT/k86mU9tCLn1234m7Hnlxbwdn91s1Bqs+4vHV+E4/O3lwKhqMBmQGlyBV6a8l9xJ3ERdwbX/L
hrHt8E0QidYxwnmGvHQiEtlgfJ68RMhQFqHM2jdESztzmfbRdipRzBap9mJ7MZd5q2kmn0OPmFWs
HSGctL+oKdpAbnQBGyjk9qVMUmDdp6fFrBioxKbXL1y4qBNYU+/OaInfmdO2e9oposgVKRWNR5/J
vMWj8dfiC6j4yhVoGxYquga2Y7hINJMU+HeEHtNCbi1AenUZgeXLzr8RDouJB7O0+E0LlGS2IBgS
1EWbmHtzXx5eu2/YL0f1ldVjZC2JXGP3vgEZLsIMMmVA2zXZ5gjGsK7UofRYWtTVqkwd1hVotmN4
Ems2y39phaneYDE2bv3GttqBFr+abhke6tr6+KYrr8mU4CFKGaUdWd8fnFp15Yvld5j/RVGelnxt
ZiSh0dl1EY876BF0HMA6NnE2vcoWcmJrePi/3ZtmWWdffe+dNzVKWKVGLXqW5EXJTuJ+Ya71JHHP
tlEajCDfOqpBacWlrDLZlRxFP/cYw2vBacz3ZMZHx6nETHaGGp8Zn9kw+WZhf34DaEh+50jSWtJ0
5ZH1MKdiI30l2SAuhZABNFWbAaaEhEnRJKoxuJdQqXFWh03Brh33jFPEDDeDjACPv3/yTR5d4U58
CTWPrtFlLfHoKjG4DMK22Iisr8SjS+GqCtlB00JrAFuoaI4ymQTNSiGPN1dpmhHLbX94YYy5YfOg
Ws3GhpsPTEz8xXj0DYgxOu6N1kFL0GmSSWRSmtU4I02O3Jas+x6tnpGr2Xtssd7amt4Gmzshl1B6
lTrUVjGSskNXuz8yklFTlD7p6I/27hxvaFj90Kr1rM5uCHrn3HdskCvkEo1V7/ar1Uo2NLx7M/mJ
N4jyW7bQOdnqcDYN1rWNNWn0tmozEaDAWA0ayEzapFBjbUSY+7RkBxEm0sQLOPfwZDpIpSMNGUca
Zk3TMHuXhliVhtCVBqggiLiAyHERiOMiEMfFLCQuAnEcwpvC4BtUpiMORlMHgclaQOkLc0IzIilC
fo2DW0bMLaJijBOiW1ZRPtEKZ57krQUNnHuSxydDCo6D2wImpTqDQM48TyJUYABrtpV+mtU5jdCb
kDt685YnJmuaNn9lw+jBLGv0QISTf7vvL/ozKJ6h+Nbj68oORmzlcHbPyOqRg8c273n+4dxAH6Vk
1TAFpWavDKBItnl/tv/ALIpsfY1IutNIukdRZhclUsQ7WLp18ZZMy84W2gC5gMGLRGYw+OphbrQe
pFsPYq/HOR6KKJdO9Ue/FaWiSKinIFdIMWIgZMR4h18r8VZI8hiQt89X/9MHmcMM9WOG/AVDMowz
/lq4YH1no2aXhtLI33GOiOUfzu/uuLOc2DX9JioEPsjKolgBfqb+p/zdeIxw/DWUX2is7/CEhtNQ
WlrjlL/DO4WIB8kczuqmK3z1sh6EXkdasC5Y+mjEduW4e3DXWHZmKK5ilVKaollly+o7sju/c2d7
5x3PbNn+5MbYt+n77ula1+2nKCriG753dYPJbmI1Nr3aoFUpbVZD994ze/f88KGB/t1/NWU4cKSh
ONsKqBe6+gl1CEW+TuIxXEGZOUgkcALhEPM1RzlPc4iJnEM0XAcsj0/Uhc5c/UVWz+nIYkhRasnZ
w6VE3lvk8phjaII4Fz2b/FDIFZIwYZTVtShKPDoyES7x4rGYY2jKXMN2V0NUhQacxyWB66YOMQhW
WJO71hFKeTXnZEq5RK89hwKQ1YoC0AMcB3nVA4H8jkKgNwjTg1qDRSORK+XW5Fj7ZgE5Lr9bDia0
SYCL6fWPrq5Va1UGB6BACOUI7UhSs8S9xCkcIerqTME4ZAdpxbpd8J1SYyZTeitEBiXR351W3LFr
HSO5DbJO46bC6kF3qZBraC/151PFYJ4r7qlOXrGgyjns2STOC5IXmwSKFKYLTgujbcLD2XkYr+Au
8WjE/vYSXx5TsmdhVotFer3kVir9fJK2CEnwcsmwtB0BBCTDAzUyPQCHjmXkUnky0WjpXtmg+6EQ
Cn64WDF1k4em7W3JWouGJlmd1w6f1RbyQ5HNX5is+Z4ZkueunoFI3/7+7qm2pZJn5ic0jZRnS423
LqvNjdOHVtUyLMsqZAqV4rMybaxv2V2S+wg98QzxAdb3kSM7nwE9n9q/YUNhzRbY22nYmYkqITmQ
F7yFnehnP3GGcmY9zYce3P9M/unSE4O7tuwvHcrfXdxWXJMfKGaUiiiT0ICa2kckaHM6gUqriZIt
hw1BRHrBIpoEPj8pMk84QUjj38KUmDiR5H0m/8TTJR6udGh/iV98rXYNDgvtIwm4XFbJwwVtEyUe
XRJbiRgfBHNpEuYKyEWKJSsGsKgcMn1um/Ita17AlValFyb2Z2XVh/tw3WT/tAVMxYFMxaxhMJ2P
LKUGWwoqs5LY9gZyEdYAhRi2PQWyPTOyPf2PECgwOu2PyrY3xy+2wmD+tlx9r0mB8EGhlpm8NfZC
J3lhkWVQ/k3Tj6wW7Eh+jR1trlimXKCs5MxLgmU2j7VuudYyr7XSVTC6Vs4g0DF4XQihtu6aFHGa
+TGyxk3EIWyLuZx/Igj426Ayg/l5bvLr/XoinWyQldbmJvKjpcxgwBwvpfO1RWdRhcFYNClA5LPJ
s2BSSTwVIdqRc62sxMO5mdESD2en4yW+cr513j4y5fhVVtSfpWXf/NvMj0HwHiT4rnMCVJz7nOo6
EkLvRvtMKKekJZzXKQMB/smC3zT/nqgDqRRFgB3E01gHyWQrTL1dOrnW7e4DEDi+I9aKNs+N5Ppm
DTYOsnTTrYUNg5HSRK61rzSS7yrG8rYizumqMD+dBi8XaHhQiR7r4yQa4lY8hp2HQSYiJR4Ng0oJ
vmoga6Ya5tPVDP0SVd6fDPdiASmVClowsuZKjYeV8qeiPKoc1+wr+mzXqez+VGgXikZRb7Is8p0n
her+5GOPbTkyA+i9a2Kie2QSIviWJ7ekMIp3q7q3oJ9dUeCkXJ69e3YdyR8uPTg4M7mrtDe/vThd
HMlb7OliqJhAqjltL+gGcyVJGbyBQF4Ouq8FbveR/IOHSzwMvndXiV84vB3GR2gNV5DkSrykgtbi
RaqwejE0f3a5//8No33U3BKQnPtyYc3+YZ9MLxBh1oahRPe+fmQQ0KyJU4JY658Fy0cY61IwfANE
AcJjhfzPxWPIDj6hn0M2ZSBWCf0gxwaI56nbCQXhQTiwaswL1mRqSdSP5UdKnTlvfalFK2nJh4s2
7PwXznOlso1cbPrNhxcuvgIWYR7Ld46UeHR8S32J12bLZ4CXX7Cfj5Y1vmiulL4BxS3g1UzQM0I/
JzdH3K6IRaGwRFzuiFmuv44Wctv6zfVBh0LKUEgVOnvIOdBOsXYb87IzDCOEnc6QTS63hT5tvJ48
hegpkyuUnFXndbIyFuGzwypIVPIhluh+4jj205UrY/eCHE/WT9fzKK3a+ZyiHv2kPQC1+9fFcNzr
60rfm9dKJH17Slty6/JTpaHBmDdd6ssni2VhV+IeAtbzZZELjsldfAX7pQC52QAaKovG2rKnxMNo
Q1MlHsbrS5f4yogLIiE60X7+hnVyHfUwS8TEa3Um+VBuqdaZBesMe9XcbZ/lQ56yC9XacKgcRCqN
BZBKJZRCzeptYcdAB1Kp/YZVupy7qK8JoktoHHD5feZ7uKL6GvagbAFAVzUbCBCp2VnV4FSSAGw2
c6oVQG+ZNoxk88l8e7s5VnLmCoSqZM5LMT0C6kWKyODUBkfSsxBJ9eXGsWMb8AB2vjKCM1biYQyz
qsTjUayiSoVhhBUl19NVdYnqu1FCjdx+TUma24GycbeKpWmpTCIzQgWb9GrJp2TApSLofANaevXa
N1vy5pDTxKKDGDnnro2bczNZF92wTNEqaKC6xv0Vi4IyI1exvxJ5MsV0mSdz+TmNXBoa3r2C0gha
kb6J/PAw8TL2wu5u+wqo9E9F1q1T8xrwR/uo/b6D4H116h1qO/qJPEA0RiP35fn87t2NW0urcivy
+VLr4EGHJlJqzPuKxuKjSAHH2PJUTdO8Q2aEOFnFgV4bKIPiyKu2lngYuzVf4vHojSgnEsZn4QLH
ebYyn9M076Dlbizmc/rjUjr+fKqXvinnPEhZgzNZ9/X8E5iJSL8b+ecCIoM8EswBZRFQg33IpazR
hT9A9gEtbDACsKsSPfcGtg8jsg8pc3O1Qq/vruNLGsvk+ulHJ2s1GvFtdAJ+e8vyNgS91c1zX6Mf
p39GdBMriA2kGTN5Jn0sB6xoTqZCv7ycgSzmkpkzVz8GGikj8qFo+9vn4KMMO4p2s2qtniyOOhht
gk6yLLB3HOacfpxVo51YknU42GSMAZ4qmwKiagouMeXl0GlTdaGsEm1D2gRLtxX+RTXxlsm0sY1+
uzNf5+19ta1w86veUbElM4NnbUu/EkiXaPI8EFQWZIWwckGH3uTOR9HfaPkXWGIEj6sq/AuvMpkm
3uJh8E76bR6Gb+t9lW8reG9+lUeXEBs4M8L0LfdShYJBBmI2C0YUjkgRwJstOKWajx6twNC3tJZ5
erMFAT+ZClemdKFdPByJaGjxFf24QftQwNk0/eCK1i0OvaWn5d2+XeMNqdu+fceOo5vrOV+jtzHe
FPIEU+seKtbmPCSn083NzU4ncnHL7M2N+bhlYsPY295aq/zhu4dnux30noAnOBlfce9Evcusb3AH
GigF5eta09G9a1VjKLsm5etuS9psxfqujeHQdO/I3pticplv7sN1t3jbhmrWbPW05q+sb89QMlus
tsbU0+dKdGMWHdnH0/TPiS5iJfEo5hqb3CsBTQiNhhgETlZd4yLG24aaule6mUAPfINZrDCMNqcC
Reu7EkFtAj+iSybJ+MWzGCPwXIm66swYnHqSjxUCcHJWzgeKEuu7vERUisB2oBHmS6WFTTnNCxpp
KUvFxa9lx1v5b/KNWyZajDKaYqSQ1g5t689u6vXWFnK5SJkwr80N5GrLfNg1lHlox9GN9Uq9Sa3l
jCpgLQw2g71rtjhbmw5qRw5+f/PuHx3M6UIdtTvkQmuMfO6PmETPDByY6dTX9jVCjXMU5aPPSO4g
moi/xqidSZF1BpGnNZQJXINI4BpEZtcA8dbiVsIUhhJYdSXw60pMrSvhMwWRRR8R7jpczJ6OFYKD
lfIVeRCJPOXi/HQ7no84UWeL4apVzlcOFzIm/WcUp4vLF/qZBfXD/n4hJhrY8vx67vDQ2usXj9WT
6uV6kCIeufoJOSaJEybCR3wHr/DJBEYDOwO0WewLMYtywq8NeItByCwillkUrPl56g7CSZiWWywo
it2ERPmcwpNFZ8KXJp60cUNYhr8qRcVZBXFGB88nHLPBQad44SgkupeiiaWaiQ2QGgJSIIgguxfL
xlDf0R6FfxXp0A+zgixYMtFeV5tG/wS7IbvpF6p6msmPTyrEGyz3NIs3snRP8zWXrroiMlaaRmYr
WqjkF8j/V5JuHBsceg5sEywuzMFitYgVfu8aJwer7LRiwCB/gyh/g9i6gO3X7TajXbe7SVi/iFcy
4kWM2IwVCGFOr4QVdyu7I+KwVR0QHyzqkMCKjDxPfowciSOlx4cLQTzX2lPoHoy1DcWKFfMXpvPL
00LRtLgGEmUs4ro58Ab8nWaOY8PgECf54UIPHk3DLxzOWh5P6IS9noss5zMmsWlL5GskvxBcxyAz
1vc3pHdjngaKBHN9X0N6T8WToBXY7OLY4peH2tb0J7jY2HAuOHn3kGfepwLpRT517Tvzer5n1ag9
3lPT2F9nQM5WLOMS0noTcQZrXStoHX6JELVYsyIyLbYAaBFyK2GeVUAqiPkCcGHMQp+fFsEKo48i
VqizBYfK6oJoX0ErEa7KGnIcEwBLyVedI3Rjf6Y+Fop/eciqCPrrI58BWQuEiYS4ERALun5eR1KE
jutzWI7OTC1ZoydrdWRYTYZVZFhGhlmyjiZrKdItTji7RaG6xRlRtzgj6haF6oag644rSIUReq2M
IFIjzLkaoRPLCHI1/ohSwDrU01piZBdSpw2+SVRbCJwhKXHuCjqBRLGWW4KQWMt/hJZv8iSvLUDL
N1WZm7qRlm/69fbdf3/nzr+9vSW9+3u70bb1WUf39lEUYn2OzPbR/PZ+L/m72394aLj3/pN3om0B
bfcPHdicTm04MFI4sCmdWn8ApHd07gj9SyQ96Es7Vu5L87UoRFtTiLamKOO1QpSPAodHk9CShpvT
8HpdoTttyZ60IW502Z6067ekoTM/qyVtCbNbviXtq+tr+nuywSr7M5ocera2ODIWg1m1Z01J3JI2
GOnf29e9ptVOvn33CwdznD8VmOsuB03m7XLKcV9dd62p+PD37xp4aKbTgHKOuW9MTHXO7Bc8nPoO
7swUZiZ2NZNhrShSrShJbVm0WlHmWhCtnsii4EoAOBMgY8KOJB7KyqOFsNbkHTIVCRFmyfjZ8tpk
LL5jUXyggp8/0ioi6KL546V8FQtNSn2HksplMosraLIlmtsDiz011NOedql9QZeKoUl6s9mtk8vl
MmNDsfXKD6711YMt/REtLVMo5BpYJzN2tUS9gmQyRHLYW1Xx4czw6PADw98fllQtFf9IXCKOvbQH
GvkMi5aQ46Xj5GtZj7BeHK8UB9ATl4vDJDx4reNH8B/cw6pvaHNVZdH7KiiYwmi8jOr7KkrV8JtW
xbu6lbqNul06WlgW/mtYu10wvyUYa2VBuLgcfBplJdXLwasylGyoteE3vE7xLk/oOJ1XR2tocUn4
r/F68ILE/FbZjCuLwaH74U9ZD069klx/YEViciBhVjCw3juaWd1W19/kiGRXrhrLRmrH940H8+21
JlQi06xCKve3DMXrsrWmmuz4qolshNQM8MhKLDZj0GOwc6zD69AHWkLhVI3HH+1e3dm8aahepTdx
Kq2Zg7WKZpvZEEg4I801Xn9d502EoE3JDslO4qvEvwurXdrI14hZYh2SeQ+xi/ztyWCtYd8jwIe0
a23aHT2zPQat1tAzy4w8RIzsy3tKdw22rds+OPzu+MrxjeO7xumG8YbxyeS58PbC5FuDI49oS7b8
48CPyAVErW4Q46BITWOm+MJZvVCd6oVJYO51WJbC4WUbqX35uzwlXrjQ+DDSzDg37h1HmsHX2p48
x6OrDU6+xaPr2bQl3paXP44ZE7mIxws7xaI6IR+pbs9csh+MWqwv03X1W9U4uAxlItlBMazKU4MZ
Lvc+rR7Ws++1NfTW1vQl7AGXjIalDv7mQrWSr28isZW3dduierMlse7gTeP7b6p7A1bHl0k1kTTR
mXVKpbZMm1T3izUO1mYLTq97Cetov75ttW8aCEul1ny4d+fYgia1eeIE1jC8T+1g/p5oJx7H+FlL
6AIxERNiIlbERKyIiZE9JuJqDBOmFnWsFMi71CVLvnGeZiudB+BMir1i58/iJl00dIlHx1qyFnWJ
t+TZxmraLGrnzmcWrNO+hhZbRmvUDhnnrW2wDM5kXfcLOvuLcj3wJswHImm35ixBp1EmkUsWUlSC
rK9DLmEZMZ9K7iVmiCM4fo/39DTNJOHhbSuc4SaiyY9+1FMrZvLr10uT4RWlqXwrML6K/Eh90Zk3
l6Q5MSAD9wiUIJLMWZFxPC/OgWOqUSsOMbWixE/lhVHUvDCM1FzipblydAaKEUYCTFtIDoo0wTIT
a9dvtCwLmW4P5HcM+fugWwlTw9EEZv7OCXzwz8vhai5aJdbldUCfnm9mwlSfXrlM61M1MezTLask
WKWKtEK/L4lTYfK7BEGwVIj6G0JYlfM+/Rqy6B7iVszzxHs4+I/2om53VAsoqaKboz15LlrqaM4b
oc0xNCIX2hzPI+wj43hyBqgdrBE1OrQ5WuI7ss35kBF3NuLjcWcjnhMDDeA10J9fyt91m8ttynPx
G5Skw375659fXqIV/xPzzyh0fFuUiwb+Z5noiik8k6XuVTvRD9EcvYlYke/Jd3R484k8lZ/SREvN
eT04amhkXZWDgy2fnRYo9LMw3VHpIhZFZxOGIfJcnlLS+eYpDQgSiVEvipFdt8D9waQ56FNcijM3
X9OpuJRE55dg65bCCeafZDph9iLjnuupEjhFs1p3zdIiJ18s8+W4l1ivebMlV5kNudnl4zQKUepV
ytAZdWq1ejl1kGT5S1Hmri6NN+xGhDdfIl7Bmtq8pw80tf6hCBCWvXf1cnZQWTh8IDzW2xw2m8PN
vWMS4tb1+27fd/utitJjuYfye/J9Efv60q2wJoA5PoUqBpI51TlS6YwU9NckMGlIc4BIQnyvmgYp
a9KOB35MUeIrQ9+6vsTfmp/KYVVOjXTC+M/x4gWsAkIJ0yAZ8asEbqS3cmnXuWGHqlJ/ZcaE3chI
5FLWhOcuPNpKd6beJ8yG1Fdpk9X5IktYh4zzfaZtkBdgFiXU41d/dn/nMk57g75cbTwYVvFUiYiI
0gmMiCcFRJRQZUSU9iDP306cwPbk6R7FQLi9abtm+/T0dg3tWAGT2r2NBNhZyDEBcccyM5Ivducb
89Goty3RRrWNEo5SKM8ABJjEVFEEgIwQ6wE5sQ1h4wHLOTaDh3Lz82MRbVwbgoO20CgRcpT4UN7E
YBQwlTPBeQyozIR+fu3fACCTs9Uq1nmWQdx5FVN9Lgue7obvdYhXmc08qNANy8xsXk+JyyN69dQo
0qP/6if0PvoFop5UC2xp4OrHWQvQlh4Z/A55SLew4ybNYv1mErfGeTITb/XiVgdfyNeKdlp1ZFhH
RjiyRkL6a9AbXX4y6Cd9sJvxkUEf6cXvesmgl4xoybt9pA9ar+U6U97nRZUeevVWVo7SQx/0zMMr
yBl9ML4KneirGfIp7UPKorgSNi5+c9805muiwl8SWBuh1JuGL/dznCJ8JCfBF1KiC1XGEFbLRpGh
iLDCVr60rWruxGBpFVeR0vtIiqbmzuP1o+4am4aZe4WRkDKDx+IKGOTMHEN/SikMPofFrWPp/8jI
FSr28t/BelFGplHQkyq9nP5/tH0HfBvXmee8aQBmUGZQB703ohIkQYINYKdESRRVLYpUsyoFiaIp
96rEduzE2ViymuN4XZJfssnasdUZOU6cs2Lf2lZunVhO1usUb7LZvewql9zGUeKY4L03MwBBqti+
y5ESBxi8Gcx733v/r7yvQIrh8I9q2qZW479GeZ5wJYvo0jDzAXUvpEsPqJXo0geV3zY4CE1o4zHa
BBrRMZgEIS8IeUDIDUIuEHKCsANESBAlQHMLaGkGLQnQGgecxwQWc7LJHx0LDBTBOQ+8A6eTT6Nj
QY0MGei0rmOB2A4Ne54b5Ma5uzmSK+jN/VzdguCC5ofjII4+iyOdnDOY+7fFb47jPfCsZZEo+VxA
Yz56Lp8/D8dcokxK0rYxRA9QsaeJJCk4OxboODeHvopUS99TEL9oaRwQ4pfo4ZeE4tk4jsOpSkpf
Ayl2AQUBxdajb4KS07pRyXGFrpCOCCuqAoGvQMWql9S9JFW6RGgsEZe7xqomXsTx5wiNLepyh+G7
0p/hqoSSlcMHRaZ/wvFXcZXebRXceiX+Yxy8jasMXpvgRJRWGHWzdMY/r1JNT85SXWdUqFhIdIUG
El2lgkRHW+Fw0U4L5Xe4ksFwrBv/Pl6g7FgC6lEPiRirMDWjYqEY8iaZAmsKTl3wkMdjN+33JEE6
WUjiySRjPxSZaHyE2UtMylE2KNYDat4o50P19mLQEzxUhBcnTfuLWJJL/i5JqAl4fcR+qBiZYBof
KYr3kINt5Ljd2bxEvqvG7M4qw9Uhu3jB7vLagqPN8YGsOzJQ7FqhcdeFgq0Jl1Kj17Zsbusezdnu
XxZpCekz8Xg+gP9SrWY16WDUHM/XJHsSZr+9xqHRm3i/w2B0Cc7s4tQ9arPHHA4HwnCsinCsHqcN
WAhrxEbEsWLc6RfAamReBp8t8JjBzWjjz/smrLu0k3XHqL1lY2YuJ6fCEAcFtfLFny9K7ai6Y0XY
smy6zM0LOKCvuMenkC3qJslwiT+OIr4cmWRCsPs4s5aiOZvRaOOozJq6wnCT7W807kwg2JuK9EX9
GTdHXOqdWBpjzH6hVa1B26+Eg0K5EOCf0j8kgqmlY93B7gZPNPtiMuGu74I4gWaJQFmxNLZMznoW
nII91jGmI07fUd0E8Wg88iXFXhT6g8JcKynOCman6UjRqfMdLeom4sSjxbgi8qWiYu+c5GZinrcK
RasMWbREVrHHuICTCt9wy/2fjQ1sbzfGIiELS0MNj1EomEje27doYGGsI8QqFFAirtfoNYzgPfz5
wcmBAM3yPKPVa1mjniG9lg0bN6x1+lU88pzrh726jeaxANYg5V46rrI2vACug6JHAjxY4Hj3LquK
iDxvnsg8pq6a62JE2VsVaqJG5sjzRfOEOvNYUV09oXP5WY/vjxc8BifxbVYvb9bRqY2tnWtzNk/H
+nztsohCJ1KUfiDSFwlAaVDtyoQCC5L4ryQKdqRqU4M7WnsnB2OhEEhSSpKASECVlieTnvouf6C3
wRtrQDb9Ptjn3XC9B7EkdofoPZYkUVFnO8/bQ1NgdcGC2Q0HtVpVcr8HhWYJ0QOeCdUhYW85Y9pE
JQFxxU2s4NYaDhbhNWQSLnMS2Al4nSd6oOiZEFSHisLeSgo1tL6r845V4rjMpjmTYDaKC99tM5T2
66OdtaF8xsswSq0vVtvoOXQovHBndy8UXD5D9nT76wMGnMRs1nBbjZmFurrNYdWqVdSBQ70TS2oi
veuyfO+AJVLvQjwvgL8OztIOLIutEu1Gej2mNU+B6wp8TcinPJze7TtiPlIz7pjUjov6xkXJOe73
mXOSU5UxrTxcTO+u8R0p1pjhf6mlqDhUb89UbBnmKzmLZ2f9pcBZnKQJOmZB0tmNaq2GvZnW2o0m
SOwlLMSnJZbahRlLrUlF4dSPtHoG16jtNc4mweEUSnlIehLRH3xPcDqEbOOyBptSpdQYMQKrAZfw
LXDNtmKLsLXYryUL7BDoxiKYHizDYpDpLz9TG4O/QXsbKpOowBYjMLNjK8CqQiRIHsyNR4YOFkxL
Tbipf78uqSCykGmr1Z7C/uyEZzVYvb/gAR4U6q5k+z03YfnY6MUJaY5AYfri26MXc3Kw9lvvojBt
0W2Ue++nouG1NkceLMIvMA0dLGImDn6FWt2/vyh+yy/Eb8kW9hfR98Ap5QEaouqLBFF8kmMC4VfF
uFdGY7lKdMW1/YSyl7kJwf+Ky92EaFp+h2/RqAb0Wm/7qgZ3k57RhDyPJBfVO/wLxgf6t3a44mGH
x28zW33tq+scKdNpln2xudEetWua6x0xuybZkPqMXxjojjX7deQ/W82GmJDsz9g0asbC6QWcxk2h
Jl+kq94JVWFPpMOlSdn8LRZzLpbqr7PTlPBEupF3ho3pes4ZKI25XDhpD5v9Hp3gEXPr4a/jd0GO
JOPysYgeUdCBsXA66zAHH7Foj8UmfLssk9Rk2fkkV52WCbaIaY8VK23KHifVXAhyn9C1PU7wuxSc
3WiADKexyd8fpSTuQ5e5UHI43TyUMeO/qszWpv6+VKJ0qPy+mv/URALty3MQqTbCdYpTfxG9TQrS
7DWDd2DnMNhF5C5uO2nl9oj9+tlspizkBGI7XbQWxI9gd2w/QPPCcNmzN1a5gbxP6Wym8hObbDpK
40snvb5k2jv7zLhAK2kch3/O1Lhc0Rq3Sxp/4jcQTXux3eL4Z/2oFmmylUdcxIH1Qjw1MtpjHROe
Y7mJ1mw0syc6WaHFrCdE6r0c/IcIYumA1OiYyHmOFedeMM/X4Rq0mf8edVDaaDeX3RyI38COGlCH
6xs8XRFaZzOY7DpFpsHXWSGe1e+3ZNbVLlgp2OtSKaF5Sa3x6gSc/x4X1PCnsy7ZmHKErGygbVmT
PFtvh6MVlzOIBfjZ2arFHNrnwxMBi2dPeYAk3wM0V8Wh0Ya1zxerWlR5GlxjNGZ7j+bp7YjABtjV
bJO/L1IeBKvfa81sqGtZVjtnji5AXTp4WZfEzsD52QM56VOwNwbIS+VsqEbwIMrmBmUHFWM9rJvw
H5VkwKpsqDrrYSgKUf6jZaHvozf0s/hT0cEb+gf3LPCFF924ZOHuBcHP64JtyZq2iBEdl6wkLnXt
WZYIL9rV1zU+FI8O7FoQ6WtwOer74jW99c516GmL4E/44/Bpkey6SbKlpBk0/CZRdjViJiS4MumU
m6Tse7gbK+Ircvq7WC2+miXZdbZptQSLWseusfleocXlEmx+XZstXhOxlCcgpTVzPlvdxtZZCbY/
EemNBOqQBNs3MRhTGZzG0jSFMp3RkDteREgCSVSbTg3uFCXYWP2LiaQkwcK5B94U9ZxeMVOJz4bp
kLijtjHnwhM+ncm1xzQ5u2/++3NSWhFNmDlXnP38Y+yWSxNOSscM3oRCK6VkdSZeB7mEuXptCTUh
v0HrNSuglPVDXtAqKJpihYiz9HdzZ1yfO2JRkkpaa4G96MS/Dy7CXuSlqPNvYTmw4pQn7omrrVNg
ZcGJqWv2/6L2d7V4bfaANUcFJ5j9L/H/yOO8+QC1tzov2+jcxGyFYG3N/qKUsDiYPVAUr+WZ/eJG
NcQLnjIfkGksheOL6dlGr7wvnYVqGjl3Z6ec94IEFwP5NQ2elqRbTROUgmSckWww0V7TviAf9eSG
Mq66sI2l4CcUbQ6k3BkoUi3M1xA3xzoTAqvTqS0mjUFNcXqdL+zwWiyRQkO4NWZWqTUM/IRXUxpO
E7W5/II5KGZr9sPxeo56CstIst4JzO8OI6pzBh3rHg8fsbJHDOOxRxXSKj0vxhWd+/33L4i6i8k9
bggfKVoNBQN7pGgYV8QelVUXccOvHFEkiq3zpbo5kh9SYtA58BzNmF1e3YYVS1iWVS+mZZn+c/Ad
+zlPjS1EkzSFE5xZYJU0ObIOhJBUdyelpEgS/rlTlPl+W5vRkawe9s6NvwElPCMWlrO46b2Q+T1w
0uBVeiEfGi6wCo/Xq7Ht0UxieyRABdaUTUCSeyWLW+VzCU7FLSEXbqQr9gyoncw1Z+Buo12nJMiz
BGP0ORx+E0O8QFEqzmE0O/Q0cQAnHsCVnJ0yQl6p1mlKWiWK0lCySvC/1bxaCfsH53ZpvcEAnlIo
aQL2I46/QbwM+9GF3SJ6lXq8teZUypiAnSmwXqO+xahUtLUZ88gawSuM2T2pNiNhj+yxT5Z7JqVI
rSR0E5O4lTO6lfOq6+ZfV50rdX6nw1fvf9VL4i5IPgVBfoVQGrw2u9ekwncDfAuhMqJ3RoZ4miQU
vM1ocfAK/FYcvwkoOKvJZNXSxD04fgNQ8tIwsTpt1TBtUatLj80OmpZjK4OmVoOnaBHvlHRplJXf
IXzHiDOiby6LqbFIOcvuxElaRaAY5p+dl1xST6qIghiTbPvZ+Vkbi+QKC4bKrq+l58jzsqdr6Ri6
N+kBA9R9c+99s3jvzfPuvfkq9x6I55pqYrmmWOkUFWyMRRub4L3PYThgZv4I3qXWQTYUxYLiHjUV
tC/meiFVf4pC+05TwYL4HolyP/1BNbMkQhWP3rnsE7yoQBVhHHoFD5Qmv8PuNym1KmvE7Y4KKpUQ
dbsjVhW4seytRZxV69UUDSfnX3LemJ1l7TGvN2FlWWsCjezFmYvgOXK9+IRNEp8345sxD2bCc6dZ
rgY+7w4MPix3rszlT6OTBTtKZWlD56v5IVF/tYc+pNDZTWY7RwOeNgQcdp9BoVKZA05HyKJSWUIO
Z8CsAg0oow8B/+Azao6hKKjsfuhxhgWWFcJOZ8TKMNYIXFGg9G8EQ30HPrNFlLQ4ChO36dELQdzQ
skjTu1wtRvF3pMboNFm9epLGR0mNwWWyevQk9XuNTkkqNAYNfbtGpyIUaqOY88k9U4+fIC98gvu/
RLDw/oKHJwnwO5I1OOB38QT1DZTYkUbIPSimeISUQPfvASfxJN6G6TCPlFNKwV4kMTFbO5ppJHux
iLL9VewI0kQT0zIn9XxpnR7+gKeVGhUF/hx2uUMhF83bZmagzNYN73seVxA3QEHtYUjdzxFb8S9S
N1bPP3uoj+uD8+98Rpx/9oL4Hs2/85k5868src07Yzbhn6Y5i14v6GgLY/RaBK9RBUqfmXMuHSLu
L09A8D/Kr0q1c89xHJqB62cukg1k3dy8wb1i3uBeMW+w+bhuBCK++Ri1/vK8weaTRd0IciI1Hy/C
zz923uCG1ttfuOtTZ25qRMd9Uzc1Hg8sumX54snBSGDRzcsX7x2M4IZdrx4dXvbIqzcW0fHAq3ev
PrKn0LrzwOrVhyfg8RHEgWc+wGkyAnW4VnGmWNgp3HYC49XsFOg84VgLl34+P31ezO6MfObVBQf6
5GRR/AjZ0Wzn5/gSK2haUt0bg7I2g9OMyWMxe0zsB2j3kqBZFagh1bygR0mrrSqEpAqWIdYcZEmN
S+CtvJr+Lk7hAK0jNNs2QfR8EI5vO7ZXQjczvuN0XRD+Yrkp/N6TrMeTs0+BXEHVxJsJOjnC5aZA
8zF6FEM+Z8jWwedScMzlSgJohsIrkuIlbLF8DY0uOl6EVwnIawzZLeBlszUF5CAm2Kt5qSnpcr4Q
hUJM/PogxehU0zmNWaskVToNMPUN1xmE2oG69s0L0yzNKkmCUvItq2/oXHnv2pSte/K6/8BrlTqG
6tfb9SoF7xJMHqtB9ZvWDUt7vOFC0uYJe2jOYYbytoYL+ITwovHe+k07bur9rkrK4OObYcgMGcJq
sCS2QZQ0kl5uCqdPhkkSS0zh1BlzjPOuTdqhbGU5xY0yG8hRTA4fRsEucGDQHiui7xmpIYdani7K
TQU5LlgOdIEyU8Vc01AZF1BOqYD4iR94yYxB/4YSRfN5DYrpKVavoeG6UYE/UUZvwu2vdWnf0JlL
2/FSAlzo8wXfRqkiKchV34ZdtRjdDgdHdKgQ5Ch1qg8f8hPBD0uSzyIm5rlux4rSXGgEPz4VyUQy
avsU3nccU3umAHaiuZnKToGW4/Fh8xSwHqM2VtWTqM533IxanyrC5nHU/mQxPoxq/ljhStx4eV2J
y73/Krsds2miUUZgSYUixnrufHZbbutQg5GhkPtesHPLwvzOwYRv4JZV7lQ4YHAIbifuUmlZymgo
tXr7A+NP76g7tfPL4006k2AMezkrpxIcFk/3jgX50XYXQZG2IM55PEqDwxCIlA6RRHbjAyhG8fqZ
i8QPKS/EnwasR6p88m0siVtR2TvcWmBcOr/LCH+Z7At4NwSmAt5dUDN1LVRs2rqma1qGJdH29J48
PmIee8kJUwcbWmPTResaqmu6glHzjFBoDiSJinhdLgUTkhPqWbJZVAymHN2XJX7YdsNXx65/YqIt
unhXb+towVu75dGtm74wmvR2rGvp2zMQeWdybOekPbe6bcvumL9nW09+Q979mfvuvh8sWvnp4UR0
6JbBtq2rBnzunqUj2a6bh+tSQ7vas+tX9Lv9C1euxzeu2LhpZbirLeequ2f6qeRAod3raetcEN84
NoZ2FuB4vTofsXtExO4REdsiIbbliohtKSO25RMhNvFqbfHZu/Z9fXM0vevZu+75+pbo80LbjqGF
2zucQqt4dOH6oozYu15BiP3f77ruyHi+eeyR6+QjXAHfhAR/gozCtT4krYAobivoeBfPwl9MMOj9
a6P8FDCW8e+nELzLLoGoC2cM+gJsQqM2s3Bn++n5+VBX570CmIveT8QTNKNRTI8o1CxNw0UKtHOQ
XS/oBY+e/g0U6qhu5D+K6qXobbwK/w8R4i28wLP0S2WI//AOFW9DaxvyfOJLkCrNkgUE4fzO0yk/
/MUapvBbT7LmFA2HP3eiZoRrqEJ4eeJWwTtsWINanirCpnTDHGCvziYzF9WriinK+YZnQf1LlAqC
eoPWpFMQjE4NhIXDtdzG69uuH8hoKFZFMeb88GR+zX1r4tbuvcMX8Xqljp0P6PmNS3sDi4c9ES+q
V2XzmgN+a2Sg2Nm4ZUwGcxzzzDDEv8hYvm4Wyy0yloP3IZYz3rVhexLNQxIhNITyuitCudiOQw1P
FaWWEMnrPjGSE/9i1B+ACpSYGXH6DRayZ+SrDC6SRk/C7U27dQc4c+lJUGoF35+H5C6L0WUTNMQi
hVrc+VZ++GAFybdAJD8sIvltc5Ec5bHvP4VpDQYh+wJoweJYMwRpn4+KDwuzaI7AnJMYexWin4QX
iVB+vOhrhth+piheh7LXz4K6mOKwirdfnr0emUOuCuuHe+85VmwtrmjgkDFAySqYmr4d/V17hpLh
oTtWtV0XEmG9DXF0o77k9C9Ij391PHd8+1PjzXqroNHwNl5v55VWl9XduX1h+/q8Wz0X1im8YeNn
Iaovgyh1VkT1RqwPfEUapSyKOOFRcmn4Qq0Bixqm5DMN5TP15TP15TN1yFeHB4vrZP/rBWKpPXzx
hgUgXW6TLseyVJ8RM0ympyAPsRojHDoZEcMP5dce+GlkChcKNsRhXAIKtBL/IF7TJLZpQh42JidY
3CReKJ9EFzadxbswbOatE/BBxCzPurm1AOXszy/J2Z9fEpM3diKvHwbdozMNb9pZfujO8kN3yg/d
OYV3FXgGhYwwDW1UAjK6njmMTg4CeUtyCppTIFDkfbOxTbXp0RgWk39QUZc2ypoQ2WHPJ2WHZUPb
5fzwbOvEV3du/tvdzZGB3T2tI5AfXi/ywzhyHegbHwj/xNm0vKE4Djli65Zija9nW3d+fZv7vnvv
+TRYtOLTw8maZbcsljni0Ei2++brIEfcna9bt2KBR+SI62u601bEE1tz7vq7pp9ODnS0ed3tIk/c
CZFnG5xt787niY0iT2wUeaJWqn6ivWL1E225+on2E1U/Id7N3fCN8V1fLjY07/nGHnT8ZqRvU3P3
li5fuG9TCzriwr4fPLyo497XH9r3gy8sKtz7xsG9j2+INI8dHoHHaMvYYRS+N/MBeJcMQy2muaLF
GE54RS2m44RDqpIw/QraFUfQeFyNlJgOqMTI9RFir1xFh5Fr6prAuwwUZS1uk/JXnElNESSj/DNr
sNj1gptXCKIxCEHchn0MrnFaeAuvJh9TqCSzEHy+EcjZYmQGa8XGy5xt46wG86myBlN/us5MJ7ci
9aXhmFgELSPHL11ZfakvqIrSFUh5aTguV0PLyNFJlysvjddWXszwIZUa5fQDWpOGphi95ofd19UZ
LYmuZN2KfExFo2zFpJLPLtnYsOrOZVFbx961XwPv6vle3qZX0Tq72eSyWjRvdo8PL/L6WuKC3WdD
eXY1Rl7DuZym+MDmXP3myQdXP428dUIzHxL3kQEI72lZa0l7dVNg5mSYorDUFPh6QWcO29OXyISX
4xjvFkaqdAEFU8Tt5rC6Agf5XPpSsaqpUG4L2V153/navM6Fi8zuPr3ucYXRbUYemqU4ZPUUklHA
g7TRHXP5ki7N45DQdOkJvHQUjIEWr++9ssnnPYpzCnqHYNHiQ6yWkdy5blZwVnzp9C8Qx9s4878I
AXK8TimzFtod+GqF4zVLHK9pCnAFdbz9Xz0eKr5Z+LO01q7B7MQLuKKn/V+L4iWU8OfyAqzic1eu
0hK6XH1Bs0VOgUkIPZNfXJVe1ZXQiDVJIf3DuaV1nRsK7ofut0X8bs5itNnAf4olOVVqVWlCY7E5
9SMPX98AVq2+byTF8kaG5W0GzqJV8Gbe0zSY2DBMUITgBt9y2JWiUGhQlf4TEADEBvdAjjcw81ti
B1wniOMNYDdKekwax0U9Bq/SY5pewE0QmjpRCRGmqbOtIR2hqdgF69a+CzI6iRGqV1BmjOXW1tiF
onUr1Xehgldz41KvodFI+FUN4TKa7chuP7pp04FNaXdhfQeEa2ti5HPrh+9dHRPql7cU4MC9vmFz
ZmHaYkwPtmxa7bE2Dnd2rqyFcs6qtq41DSbAdowtjAR7NrQml/YX3NZcYSDedP3CWLBzpCm2sLPF
4WjtHQS/zS82Bevdrkw8bk2sLXGhptq0zdlYX+/wNEUsjrjoR7QUjuQgHElkN2svW0WzcMg8uKmg
Utsv8VuDf5oH5AU1b79U5LdSwT9dAcPJq2L4YM3IwbGe3SvaQnx07cGd2/cPR5+1ZYey+aUpvb1h
qDE/lORx/e2vPTzoza+79ZFVd/zDw4MLP/faZyefvD7ZXjy0Gh4TbcVDcIV8HuJkHOJ4Ehss6zb6
My4eqjWsQT8FCqf9W6L8+zIyIqvUOREEkGHKUPCjFgWmCNvQ/PsVLKwyUFU0m7qrajZxSsXS02cp
FiWkYqmf/5I3qUmcZpRASWn1Nr3g0tPfVcBPO1DdQIUO1Q/kFPgfP6UCOreFN0Op/8sESSBHBMWH
k3Dxz8xgW2Cv6iEtaOIfVYg2zTMfEMXL7TWgLON/RUS+5CUy9vGQLwmRL/b/gHySlF806PapDF6L
4DYoSnmWQ/5MKhrcQetdcbc35dLu05hKU3jpa2AtqPF63ywXL3qT0jkEo1Mwq/FNLC9BwfQODz4w
fQFSdBvEvEQ15rVAzKuprxGrVTVJmNcsYl6y/ZdQVk9uFt7/KMxLNkuY52v/ZVG8hBLe/9iYdyWb
jQh6snSfaNn1xY2t63trWOSqiDLt+lrXdjSPdgZcnVv73bVRP4I9AaUqV4lZR0ojtu7IuofXp8GK
VfetTWmNRpWatxl1Zo3CKBit9UNNqd60lSQJswdMQdiDgMhDtbD0WxyPLd2DrDdDcK0uhvPDj9Vi
HWXUqwEzmB4L4FiBcWjcDj38VWZQRV8Ma8WJAq/MtDamagI0Eb5g2Zp/m/gI1Cu3toQvFC1bifzb
RWIe6tFXBD362lacxa98d81DGzLu9tH27NIGe2z1/SPD9ywLj+1qX5d3vzq8bnStKTmQXbXKY29a
1dKwqFYYG985BkwPH/F2bu5KD/W12YVcx6J4y/X9NaHukYZV96Udrd1LwL/nFy8uuOpSMUtoU8nk
z2XSNksq0+IbGFpatrdDvQgyBWyhNFomPAUHxo2njmOMbQowx3UoizAjFwVHgfbvSRY/HfoUyqrL
KfR5pbb3lWRV0+Um9/xdL955x6mbmtru+vbdd8Lj8ZrBvQuvu2WhN7p0cmD1LQNefN+hPzyzftXX
Lz119NJz61d949KT6odf29ey+MEXJ+Rj2eZOWaC0WietCS/OF1QWnlWzjmViCXpkszkv4tppNVsQ
T4r7a38VU7taRfYeZAm1y6IXTe2QIwMUXly2tMORbcduL8upa2fl1HvOsHxTThJVk6KouhyJqpFj
9IpqUXW+NeaMdBESWJOywLpcFFgjUGBdMUdgvZJpxvAxDO7INtNUNrh/cN2ORt7ROFTfvKE/xcA+
Uzit4ptX7W5f9/nRpLnv3l3n8RQyzyxEddIVnMtsdFksGsCMHLhlUyy2uNnnC3uVvNOktfBaLhiw
NYzc1tN+x8PfnHhbpbeL9vYPSJIyivi9dRa/NWX8/ssJs2ifYQuMjMvLmJVXhfATko2GLbDFqtZX
QvHLK81dbnUnjfrXpJKneuX0rytW99coozfp8te6ta8ZDMjqvhZ8DeyLuEs/L6eaB16ac1oMboed
x9+HIp1keP8nL/729ICUK4AYo7QQx28qy67nKjieqciu8YIq2f5fCJSHBNgnef1dA8rFa9QQyv9L
hPIhZKlhK8vy/wrN6VkJVrTA58cGU1oFSSAbPBPp2tJ3DRs87/YEBWSFB1/e+eXxHGexsGqDw8hZ
OaXFIfi6xha2r2tzk6IhXuf1qPSixeYwjgPQsOkByOtlSzxOE/8Nw8qWZriiDFgMsGLODOu89DbB
cnqbBApwCSKrTAJUJa5BWaCMKDeGERlNjAJ69QKeQKKcFDTvkY06Hjl7lEcOqofHfz8NjwHkBYwn
CirGA1WtAkaghDAFFarYwgwyOCbGWunExFKiIQZl24AvGIxJxO0SlgarsJTXA8lKggKpuPdGqzMP
iaaSqhw59jLYBj8KbCHWklVYSxKvpnY9v++2r22NpYvP33M7PD6vtcdaF6dXjrWZXR1b+ptWtkUE
Ff7ZQ388tnH11y89efCSeHxm4xdvWtloXfrQt4v7X7+nOdC17ob7sLLVHGJuEqhFKgQCLhBwgoAD
+O0gYAMBKwgJIGQBUZE6eg+H7F4oNyMiSBpgaPCxqJynICoPeVTOYxCVhzyKUkCy6AgRXesS0EUC
i/6yvGzhgkfR4sXLFq6q8y+hW4hhcyp4xZM84JHQmz/hXxblpoCiDLNI7pVD2c6j0iNiCZLY92Uz
1WxM1WhZKM6fKsJb0Oges4h7JbH4r27wJ35yiJEM/hxiNCQJUNXlv3wBGfxle7/IbV4TaaKJZkHM
BaJOFMVWQINvQYNfAGa0Gsyi5dCMBtMMp3OFLUkUyZ3F78ZYaQhZFLPGojxaH5tdIQOgzLHKBj8x
Ou3/P/Oat7Hwl9U7cnpHw9J6sYwhkrFxSim0rNnZIjGv+8fP43XXZl4Rn1LvMunMnNYU8Asi87r9
C8/dIDIviEhpqH38SOJeQPSoKDSjAMIECMdBIAwCIRB0gJAd+MVFERRA0AJCZhAygZARhDgQ0oEA
BQIkiNmBuEL00gpJmAX4wuzh5LyCUj7BX5xB+QYdySQ3NfNhwQlbcIiYHII2DqX94RC0cSjjD/cC
zkPNn5TWBwlhqVzmqMCgOkdkOnVttoqQCeGSnBskluFR7lOxjF+ZnvN+/rrMl/gR2igxSgkspn+j
5jRQ8mAU4IeUwRV3eWtd3AHeVHpKYr57vKHS78rBuYCjOZdgQNYzQo9cnihUKfQVP/4/p5ulvZKL
xGHIfduxD6WVEm4E4ayYHI0QV8ppaaE0yquhEVnDWbhcGs/CMY1AIkXg2QjK1BjRDmbGM3dniIwT
EcKJCOEUl5YTLS3nWbwOw+BdZF6Aak9hBcMUSpWGMm0ahKzIsePNf/CgqqFUfB6jH5U4fQxwb8tW
9XOjb70lvpTIgOhQ2aeJF/iir/kPqF4oS4h3u0wAEBMsfZQM8NG7NVndJ9mtAU9uf3q8mbcKWqjL
6Xm0XeO0ebq3VbZrZpm/vF0Deb+8XwN5/xsYet+Pn8Pfof4NV5AURLrH4Bk//jq4kfoVPEPLZwbw
N/FtYhuFfCaIv46fon4Oz6jkMz3wPiuod+AZpnLVOfyoeJUGnRHljCj+Dr5ItN5XvN1PiN7ux5G3
+8u6W/0vU3dc5u3+clF3K+V/uQg/KrPm4EfY7PF3wsvuXLXy9qWhyBA6DoYfsaW645meGoM93R3L
dMf03x45OJZr2HZo/fChsebstkNblo93OcP92zvg0RHq3y76/s6kwY34grLnEdSCwDdPikrQFDCc
cNxC3S57HkmKkOx5ZDhZFD+qeB5R17La36jU25ELr+KQVs8ge4biLMFCZDRaNeSUQkURUDNQ4HuX
KnDGzGuNGoYaByQOCFJBwSccmMni2+CYZiUt81twRP9wKuFNQL1tCu8sMCrLTyK3qutfJm7D5IJg
ktYjjq0mYvlJEX5M1L9chA2EchUwSvSHq7bHX3Xb2YxvU2tLNSzPUoRSwzyaafMxhZZgS8KD6pIQ
tL6mpT+SX9/u1iRXLxgDS9S6LzhdpNrMc2YDzx5OLylkhVSr0WykdRbObNdbTVpP05KEv2fl9u4t
LqnaQxo/hXfPs0SBvy9rMp9Cligh+T0ZG29hbr+WJUrgkt8rVjWdB6Mfb7+ZqMNPqTU3KTmRcHTp
WeQliFMKGjgJrTVgdUSs6ptYbenX+AcfWmyORyV3WxX9KKm2GHVWk5EBZ2gFPKdQ0aWIBzxWEuW/
Hrg+VuB5iKAj5d3mfWXbO3izoMO0vu8gr6EfJ24Wvievk8v8hQqGZt93kLdQIvvjYuJmSvheZd3M
9RP6WAglR1rgKxLLJ3v9HQ0hNUmiapCUwhrNp8IdScEY66sL1dv0OoMZTEJOQmo1pX82JIXe7T2+
2sKmLr9SyzMMFB00Bo1Cp9fqfNmIJ+3WKvVmsNhiVGotWqfnJA7cLSsx0boexY/C+ezG4lgrdreE
EiHwLMZhHvBsgbGxThsHf5WJF8AxCB2N4FjBoYxlCMzP+fHf+YH/GdOtYgXXmWbQ/AyBRml0Av2/
qucQvNjkf6ZoupVofqZI3FG9VRosW5yy8wxOZnO1wWmOvQk/+sTfdO4ciKy5LtgYMvq6t3V3X593
LVqwcvQb7flCu86bCe79P+x9C3gbV5X/vSONZvSW/JTf4/cjiiw/49hOIsVPJY7t2o6T9GlZkm01
sqRK8iOtm7hp2iaQsin/Ul79llAKLLA0TUMhUB6GZlO6bXkUWLpfy5Jl9+sCS5fAv0BgG+d/7p0Z
PZxHUxZ2/3yrObZ0595zz/2dxz13RqMZ5WVWb6qpbCkzuXYMuPDeWXJ7Zp+n1lxb31Zq3d5SnN/Q
U7fFXVHrxl02q702p1woNrWtfiWvurwsM1OoqM5tbqgnc6Pt0q8YH/NIIqM6MrJQscaUh/NOGA+U
gDVOsAfBAmCAO3D917//dSmjnggYD7DlJwLQeL1XQRlfWe/eftfM1pLS7r2uob2O/KOm0tbK8uZS
U2Z5S1lNU4ke9+3Yv6fRtuvuYdfSjc2tN93patvVXlTYNtrWfVNLdnHHKMR4w6U/4HuZ90JGbZMz
6gmHhqbUtwoPsPek5FOHhiTUtwK04Zrf44xn03t5c0F2ZoGZZlMlhkn3jFKtzzZl5xlZM7khhiH3
ZV0Y5BTqLDPUa5RBDCfGjJIl2bQTjJoP9mxFY3I2/f7nSTZdT9Kp0mFSm3Jx7omaA/qSZtx8QrFM
bNtIjZv0YRLJqycCwKRoPhEAnnherXwneTVfr1n16GDJZ1Ra7X2VjcX6VltZS3U+p+RZBWuobnGW
g2ULzLWuDbfhIoO+pTAP8mqmMTvDqL6zvNlmzatuNGWaVIYcc1aWKStDV9DYXVu6pWvH+mGaV7Mu
/YHZxDxI86o3kVfvl/PqAUdGTnVBiQ3bPi3ly/2aexKp9Y4rfsr/6UAS73Xm1syk3KoguXWTTrtd
uhmUW/0J+fAHTslUv1AYcssthdV5mu0a/S+Y554/nV94h4oXb2S4Q6mzZJpyMkwafLuSE2/mWo3l
4p7Vl0lmbYR5ksk8gNrEp6J9ETXgA09XWCusOjhnOuWwIB3x5yeLi1lTPa5/ovbukhyc8+n41CFJ
9o41Wba4+ZMB4K+tfyJQezeb8+n4XLrmtzGrUpJsTkqOzazd7nfUOW2FEKAsnMLmVrWvL2muyul3
2Tbmmo2ZWXhMq9fpVn+fWW/qvMVZ9t3m0fYStV6vybWQL9frjDp9QV1RYzNvzML5mWZLUVHBuzHO
s/eTvFoJFmiEyCaf33ehqPz5/SGUhSrwIXLVslS8atn4DP4M+fwe/60jQ7N+A2uqxtUfzztQ4sTO
TyQZ5Cq5FDrkVX88kHeAdX4iySIb1xyyXTWbkttLUy5YtjKNwlZv91a3Q8iuaisvtpdlFHTc2uW8
qS2/v7Nn9FFbZ3tDS2dWZYHJbCprKsutKTGrCxtrtrb8bU1PY2HOOkddob2uymQsqbYVlW2xF1nW
tZc3DxaVjGBleV1tecn6PE12XsHq32cW5+cbdJaCkgxzca5hHRy/tjGLjI8tguPXLJguD0BNA3MP
vpfNg5psqaaTeYDJpzw5Uk0Wcw+zic2CGotU0whyMlmY1co8qaYSahppr0JSg/Cl7ZdeUwTZFpQt
Z8XMSyvyrwbQ7xRl8uQ8B86FeHqbBK5fR38BN+lmCY7cLFFV1SoequTkqLgy1pBVmJVToFXwikOs
IbsgO7tAp+B5tZqDQ7VMHavmteT3oLO0sLhOoRuVNykHEYeMKBdW32pUjzagLagPDaFd6DY0jUJo
AR3AA3SVCQ7PBMYCbYtLnUs14Zg1Jkx4K7x8/4BuADm6ld0me3NWc2Ap5h3obm7uHvDGlgJc4e6b
LYXbIvOD81vv3N+7v/H2YGsw/8Zbi2/NGBnPGWfaN6s2a+psBtv8/uCt45ttts3jtwb3z3NVU5Nl
Vaj+pfqXzNID2qTnRl77BZMeGe+kBwnftj8On6MKfJD/TiHSNbe8rKW5qbFaes+U3nOld7mdW7O/
9n1tO5eTul+5Rr48nuL79uZm+8Pk5XdNDU0NFaS0uqERts82NTQ0MSPk9WI+qWDujfNefMLe3NhY
gRuamxvwc6Rx9Wby+jvC/TApKR5pJCm/oWn1h01NDT+GHfx+KIwTaXfBC/5KY33LxX4ovc9ub2YE
iWmVg8JPSbd/bLY326AAs6WQeYn5PvszRsWfomes74GzUSf7c9j/mrT/bcWP2Z/C/gp93lsv83dM
O/tL1CPeT/9FSGW7n65oqGjQ55/GDzj0SG9sMjblbjzZmc/WnmbuP5Ur3aYcfwozZHrxsYBv0MWc
stduhDN0scPTbG78ZuX4I5YTz+yoJrlN/LE+8T5WpjqR7XLJcyUIU1X86LFYwbTXuXwdnbcUGjLU
ilxtvk5bUm0v6ujPrWoqqOjvqKjcemNrQYutQqvhc3S52qzN61tbcqsbCyu2tVcqTm3cs6mkwMQb
TDnmLjPHmYyajub86uJ8nbmqZXtr83BrIW/M1GhysroNrLaopSq/qiQP2lq3ge2UcB4/Auf6Kv45
eiVAsjUqQ5Wom95HWXGmvEinyyg6zdx3KiN+Uz3k/DfE47OKM4E1DBaZgx5VQiKih9DV1aWpGQo0
52Ct/xaLtcUWS6FJpdy6+nonw5sLLZYSLWaxhlHDoVxOsVnDjE19i/mtwaRmMJxjnTrJ8ipGwZv1
zI84tZJhlBrVh1a/DZ6XIgPlo2b6DTsOP4P3QG7LAWj4jD6C6KOc3yC3f5Grhvc9rcdnAlBtkX7Z
z5y40k6XaOmmulyczcqHFO8xFvBGODIpMLHsDy9GORMszDkGLtPCvMpy5Hk5HMVBIxJ1iOerJ9fn
nca7nyq3a8gbKm8BUz1ty9UqimtIqThqjj/Ngf7Q/PffaDS90UhBtlyJM+We0/ixcPxe0/Kk51S0
Nol3mjaRYyzxsQ0/JrePZhYYuJ9htTHHaMoxqPFrGHMmSzZ5qEFxZm+ukGdSPa/4HpeRnZexTZOp
UzP/AsrBxrGM4+KXFeRDKqVKCeVn4/X/kJ8NIswXf83oM/KNKlZn1oMlpPiCeBK/84hUp/Gepy1m
VcYZEjAndfR5SJCtz1wkXnlaVZRxJiC30J+Fk3VMefiNfCmAHDWNQPCyL7Fm4hQz+21ycKxgeSVT
SaKE/YQx18hdnIvDfDcHFWYLeM9EnjWa2OgVlwL6smePncyFDFzN3KIM03Mr+v1R5oVTASNb/gzz
AgoglnkZbVlHjvTe9sTpFqHvjhuGgz0lJb13jAyHekruyrY6rU3OKmOOdSu8VxqYl277cGhTW+BR
z8SHQ51tex/de/OB4fKG8fnemw4MVzSML5C8tgG3Mm3KACpGuZ/T5xYotCIQBQXSWN9EkMRvYyRf
HqKPqNlAH9pBj62ZNr12tVdjNGif+EKOSaN7gc/PK815RKvHnrysrLz8bGZiRpdVkpvN7WdZjeZi
ezb5RTq8kdmuXICjgZJTJkVZJrVCmWJ98uD19OeFEqOnnNqQ/cTPVZNTG2a73rCaZ840ZD3e0ltr
3ra9fFNDuTqbM6hr2vtqnBNbSrKabux9EN9dgAOWguyS4vKMj7eM93UUbNyenZfdmGnRcdnZxrKN
A+uqB2/c23UEfFWM1zOjSj8qRAKqOJWfoRUAp0MdUBTlaLVcDnea4KxPOhmBlbE8W3o6nAQaxy0F
JyGlzGjecHFRUf7qitbIq7Ger6pbXzuc9yqzihGTs/5xrV6vfTyjtKTCjF81602Gi2/hlVUH8VMN
Fpg+5S2oCdWerC8AHE8H6uvZynXUcpVsthw/35UslxxD1VXi3c7SIxBSzxZg4YifK/StH1vYZutv
KlHx5FdYC21d9bcGfbHKzpIMU3YGvi8vb/W0pb3IFXRVMk1bp3ortQajkrUUmnOMZuMNNw0MqTPy
8GBWdkPDPzNM2aZdcIaQhcuYmyHeC1ANakZ1DnWeurraalWYSyhys6JR9nkceRM9so/fpb0h6fny
V/iMpEp+HlIrc/MjDx95n9e7Z7y0a7q3Z3JL0fieKe97tu0Y7DdXbbI+aNk9sWtw5827xxguND89
vf329dW+buv2tpKixt6arqk6mw/f1Lxlc6ulrrIi07F6sm1HbeXwhk1dW8m83YxOQBa8nc5bAeat
U0NhG5lXEEs+3KbG/wckfuzxtpO3uqDjtq6tN7Xn53fc0r31lvb86YyK1sq61hJ9RsWGynWtJVpG
P3TPzY31e+4ZHTpI3g/uGbh9a3FNv6d9wE/eJyEmbkVfYjiFD+ZuwUld7mnmh08lzd8fkPm7BeZv
5dvMX07Lrz6k1unUxz6Qoee0f6PKzSrKWOK157LNGVng9d+PazMsWRmqGaWS5y8+lUGicQh9hclV
zMI5fvXnjExuaYY4ainzylNqxiruMBKEdU1kHsPB4vVN49yc1b0Go9Z8xLqxzLBpc3FTTRFvVmm5
MntHaetwS55p3bb2ebwp59/qTPn5hcYj6/s6G3LqN5mzzbXmLLUqw6wrsDsqSh2u3Rsj4DcbeprZ
oPDQOVxF5jCJuy/IU/hLzA8RR3BuufYszkyexU3Mhpyx3PyC7NVXtQaOv8AL1TWlYzkv4P/4JZ6v
OsJrNPwRY2FesQG/y6CF5DiKl1YP0Ts40aeZLMXNyI7qT9ry6Ry22diK2q9Se1UAFhbO9F54CtaD
0ySWmuLn/Skz+ZoTuZG4NKuy17OpuqMuH44wDJylqq168KZRd0mTxWjIMOKu7OzV81l2y7478V9t
2NlRrNbrFGxmrqAz6LoGtjg5YzYG19fWfYnxk3N8B/oMUwWRn4cqCHKHWp1bXl5TozAVSXPABHNA
gWxS3Ilz4ErTODGLU07NU+dw1f47I0ujYw8VALKNN7RYHto5urDJsWVzp2suyzXU7+zb7urF/psn
x3du3lXlDFRuseVb6trLZp1VO7FgbW621nYIzav/Xr+lvMRZ39S2gdgdXVpQ/hrw65D5pI55hjkL
QHXMCiJTNbuFWE5FjiKV/2JUq6t2TfiajzyWZ85XGIUCM5xF/w37oNLE/hppkeGkSgteOxlQIeoU
6ZMWctKjeNMA239+p7CQ/XV2YVFuQzP0/BL3V4yd+w0YhycPqyCLqaI0u7SXmb/4Lu43U/QI4Wsi
4cD/AJ1NEHP4nZPiriT65X+FlDNXpTfYvUn0jEiqmivQ/bAiy/QApS+voeeSiU/ejqm1SeS/Cn2X
kOZWkbQ4iYavSU/oeq5F+tyr0vOGWIKM88Z5072me82NEv3qcsq4P3N/1t9lP5DjyX3Q0no55dVf
J/2BUEFOYVWcfiBT0V5Kv1pLxVXXopLSkjPJJHiuTKUZlB4VqezeBJU/JVJFt0iVxsqCy+iTVUvV
H6h+fC3VHL4y1Y7V7bwO+vd1M+u+Z91h/db6rbZm22O2N0Wqf3f9r+0u+/P25xusDWcg9TY1vr9p
4/8QTTe9L01p+hPQ68nU7PijKNx8PE4vNv/gT0Mt1X8Suq/lh63TQD/aMEOoDQHd2vbCxh1A32gf
JdTxLqCfdrZ1fqPzG5s6Nr1IaPMdQC9u2UA+KNnytKOP0o8dP3ZucR7dWgL0wa71lFqAft/9bM/+
nv29u/vWUWoC6uzr6RsE2tU3QcmfQt/oz+w/BPR7112EtmWk0N5tX9puB/rEQDWlFaDnB14eeBXo
XwfeoPTbgd/u2JCmv2waPPS2dPSK9PDgowkaahxqT1Oa0pSmNKXpfzl98Cr0o+HJFHoqTWlKU5rS
lKY0pekvnlbSlKY0pSlNaUpTmtL0p6Eb+Bu6bngE6LWRNkqPvi29Plo+ugj01bE8SndK9EFKn09T
mtKUpjSlKU1pSlOa0pSmNKUpTe+AnktTmv73Er2vbD1Thsjde+QBDCZao6DPsTDQPQV9LoNB+aRU
VqAK5VelsjKJh0UW5U+ksiqpnkPzyj9IZR7VsfulshoJ3EGprGGOx/m1aJx7TCrrUB13QSrrDSpe
xmlA24BHunse8zk1UhkjLtculRnEWZalsgJZLA9IZWUSD4t0lo9IZVVSPYc6LJ+RyjzKzqmXympk
srwulTV4OM6vRessv5XKOpSdVyqV9Zwir1UqG1Al8CgQJk+sZDLYsFQW7SyWRTuLZdHOYlmZxCPa
WSyrkupFO4tl0c5iWbSzWBbtLJZFO4tl0c5iWW+wCBulsmjnTyEBNSI7akBtUNqB/MiDIiiEovA/
hWJQ1wWlCArTVzfU+KEURDZocaIAkIBGoG4azUBblO754N0H3PPw6gVOPeqH0iTU+NACcAyBNB/I
GEP7aElAAyB5H8idoyMGoDRNkQjwHwKefdBXHkOIY7ajJnI3b3xvA7LS8d0gIQy8AozrhnGIDA/a
K/Fug70ZqCWtc4AvGtdnDOr9VIfAVfFMUTuQX/Pwg0YBWuumVkjVUZQTkjQV6Chz0Oqh+srWXYC+
EVozB1xeajUB6mdo3Q7kAkzEOn7aL0jt2kH7+yiHD83CmMTKXvoqSIhkXoHWR6lP/YBF9l5CD9Ie
AxR+6BkFK3RRbfxUE39cDzf8z0IPEaGoj5uOIUi+9oNEItUNfETWPthbgFKM+iEK+k1COUAxRagt
iL5+eJ2WLCVKjVGdxDGDVCMPRRqko0Spn1zUK1NQQ+JxjlowSuX6JF/4qU6iLaI0KqIg1S3FK/FY
WKqXR5kFOQFqn7CEMgg1s3RUUWaUWiqBgIwYprqIc0O2rYg9QKOGRMKMFLkE1SzwumH8GN0LUl/L
cS3aTBxF9GNQ0itEbTtJOROIkzUiVluk/USt98K+jc7dZG9WU2mzVMI+aoc5aZYm21uOvqAUyUR/
0S8RGg1yjPqor0nkhuPaiBinJZ4o7N0pSY+BFqKH5uNectMYITNgNkUvOfN4AImbju+RxrfR7DJN
fUVaLs9X7ZdpPS5Fjhz5rSClETLH1SM9Rsf00kgko+yN+yAxMy/Pk9NSXIfj3CRyRY8Hgd9HY+e/
J99q0hn3LybjDgASD6qhs6xWahdQH42KEEUWAyL5qh3VA3mpbUnP2cuixybFXD2U99EYmqZRRHyz
D2rdgF20sSxVlBmgGAiCKYpWzHOirCvFaJTGeZjqLlpB7ke8uoeOIWaafdTSomVicW/L3HJe8Ei5
m8xyK7UB4QtLUZGcp8PUrkEpP4hSfNK+W8rJPppR/FRDEd0kxSF7ea3HYlIPMX4il9VMxXWwXlcm
EFcFL7VpTFp9xPkpjmuNj7NWAzGLLlA7eeh8upLNFiRN/XSmBeicEmf+5bYnfcSVpQb4a1Mi+MrS
RQx/rG2T54e4ugvS+hyjnvOkrJNrNUisimtxdSTFANFE1EU8WpBzZSR+5OGla2+Q5hH3VTUVY8+d
ElViPghJr6JWYnmOzhcxP3npOuaXcosoh3AGaPa/eoyKWTwoeSYhXZ4h/qSjihma7/ySnUlW19N8
6ZN0kI8wZCunRrWVesZNy14kH1+tzXNrZ0LNmrzgo3l6gR5R+Kn3iVfdUEcsNA0cclu9JPO2Nbmz
Vpq9iWyROBqQ0byT1ek6VwOhcI2MAVmGUBSP5tuhTvSTHDXi0UlAWkUS0X2tFU6OyquvcsRzw/GZ
E006FhH9LUaBTxpLzNhBye9WqnNEWn3k4wrxuGha8rMcx2JchaXjHXGEED3udlM95Uhxo8Qqvzaf
/Rl8EbeQm+pO7OaXcr1Xmqse6Vg7SLEmr5l+ejQepbEpYby6b6E8mrrOg7drk2zkTTpDSJ4P1y0P
Jc5qZO4rZzfrmuwm235t7wA9K/Cv0VvGlTgGS8yaxEok+9CK5LMzchYm7/uSIiRMz78CNN5mklZY
EfUkxeKTVqq5uC+Tc4now3rJ41E6SwJxDPK8To2l67dq8govapm80qTGdMISC9SOs3+kH+XVYI6e
XYqW8SUh8NJXMmbCLrcDhydp7YhdIx+Lmd9LNZBXvPaULC4ejc3T8pWOuoN0jZBXmeTzM3mduFJO
Se0VpblC9NWkpPeV11z3VTwaiWsfpVEapNLFWXT5me8fGwHy+taPemjrEOqFvV2wWo7QGhfUCZBF
R6BlHPa6obYbaqqBY1Rqr6ae2kXXoX7g20nXOFHGCLwOwv4emuN6kUD3yd524B8EWaRvD9pNx+gB
aaOUc4TK3gG1A/DeI/GRHl1QsxP2SbmPZkFxvEHoJZ5DuKQ1UUQ6BvVCXMNUVC46ooxsB+yNgPx+
qdUJsl1UHsFPxu+l5cE4zl4JqZPaiEgmMrsA0QDdI7U74X0Y+Ebp+E6qs4h2kOrQC+2iLj0UARnZ
Jukq8hH7jEstxEcE3wBQQisntUE/RZOwXxe8DwNyIr8PWsfoCjEEPbuppqPUej2SzYi2A3QvoZXo
qS6qDbEqsUE3lHfAf1/cdiP0VcQykiQt1Xa7aHuCS9TPKb12UcsN0T3RG110b4z6irRaJV+OUD3W
jrqLRmIP5XJSjUfjEdJLo1dEL0enOMZQEhJxPOLbZCxyVAvXmCOiFLl9p+Tpy+1CrO6kNiG4RuMj
X00yzM1PCY32hjZhh98TCUVDUzGhKxQJhyLumD8UtAnOQEAY8U/PxKLCiC/qi8z7vDZ9v28y4lsQ
hsK+4Ni+sE8YcO8LzcWEQGja7xE8ofC+COkhEMn2JqGKvG2wCiPuQHhG6HcHPSHPXqjdFpoJCv1z
3igZZ2zGHxUCyXKmQhFhq38y4Pe4A4I0IvCEYFAhGpqLeHwCgbvgjviEuaDXFxFiMz5hh2tMGPB7
fMGor0OI+nyCb3bS5/X6vEJArBW8vqgn4g8T9egYXl/M7Q9EbV3ugH8y4idjuIXZEAiEcdzBKEiJ
+KeEKfesP7BPWPDHZoTo3GQs4BMiIRjXH5wGUMAa881Cz6AXDBAJ+iJRm+CKCVM+d2wu4osKER9o
4Y/BGJ6oVYjOusGuHncYyqTL7Fwg5g+DyODcrC8CnFFfjAqICuFICLxB0IL0QCC0IMyAcQX/bNjt
iQn+oBAjtgZk0AV0DMJYoSlh0j9NBYsDxXyLMejs3+uzCZKa1VFh1h3cJ3jmwKUibmK+IBg54gZd
Iv4osajPPSvMhckwIHEaaqL+O4E9FgKF5olKbgEcMCuORYLHM+OOADBfxDbim54LuCPxuGqXh24n
8dAyDiYiLmi1NTalmD4WcXt9s+7IXqIHdWk8MqfB4mFS7QmB+kG/L2obmPPUuKO14EWhLxIKxWZi
sXC0vb7eG/JEbbNyTxt0qI/tC4emI+7wzL569yTEGWEFzsCcxx2dCgXB4MCVGCw6Fw4H/BA4pM0m
7AnNgcX2CXMQQjESrKSaGMIDro35rILXHw1DAIsODUf80OoBFh+8u8GNvsisPxYDcZP7qFZyOIKp
IG5CEbkwRUawXq47xIF3zhOzknCch75W0kceAPyzMOP3zCQhW4BB/UFPYA5iP4E+FIRIqfHXitMi
iR0kXAutOIsg1sHv0VjE7xEDUh6AxqEsq4NaoMYPo8CcIKkkQmaON7QQDITc3lTruUVTQWSBOuA+
UpiLhSELeH1ETcIz4wuEUy0KeQliV2QnDvHTeTLjn/THSH7SjwHkqRCZLQSyZGqrMOmOAtZQMJ4p
ZCfUSLHgC9oW/Hv9YZ/X77aFItP1ZK8eOG+TckotuJeGBZ0DRMyVk+CVktfLEscA4fgeMfPtIdCJ
mAbmUgASGzV3apokpkxJlHr9MHFOlE4e0BtM4INeENhgGa9VmIpA0iNTBCbiNOhMbAy2Ao9CdyE0
CckuSIzipolajrPr14IAckejIY/fTeID5hmkrGDMLeZTfwAsU0MkpmgrjEqZ+nu1FJGXZkPRD1fk
o3mWVCeFm1UKN4Jebg74IU7FsYmsiLhSwQh0EhENrSSX+6fIu48aJDwHCkVn6IQF0ZNzZPJGSaUU
JaBhPSge9ZEUHQr7xYx6VajihIchxUkjWZqCWJgJzV5DRzIN5iJBAOOjArwhyKEUy+0+T0wOsEQc
Q/B7/XTitYshDmls3pe04AZDMTJlxGTul6axGClSU3SGrAeTvpSZ605SNEKGj8YgmPzgovjKcy0D
kPnW3yOMDvWO7XKO9AiuUWF4ZGjc1d3TLVQ7R2G/2irsco31D+0cE4BjxDk4tkcY6hWcg3uE7a7B
bqvQs3t4pGd0VBgaEVw7hgdcPVDnGuwa2NntGuwTtkK/wSFY110wE0Ho2JBABpREuXpGibAdPSNd
/bDr3OoacI3tsQq9rrFBIrMXhDqFYefImKtr54BzRBjeOTI8NNoDw3eD2EHXYO8IjNKzo2dwDJbc
QagTesZhRxjtdw4M0KGcOwH9CMXXNTS8Z8TV1z8m9A8NdPdA5dYeQObcOtAjDgVKdQ04XTusQrdz
h7Ovh/YaAikjlE1Ct6u/h1bBeE746xpzDQ0SNbqGBsdGYNcKWo6Mxbvuco32WAXniGuUGKR3ZAjE
E3NCjyEqBPoN9ohSiKmFFI8AC9nfOdqTwNLd4xwAWaOkczKzTZ++LJC+LPAObJu+LPDnuyygof/p
SwN/mZcGRO+lLw+kLw+kLw+kLw+szebpSwSplwhk66QvE6QvE6QvE/x/d5kA5qZ4rwFClyzofnSl
jZG+kY9wDbw/Tr/Zf61NqazR6TDw4Bevl1+vJ/xM+Hr5jUbCr8i6Xn6TifKfvl5+s5nwK2++Xv7M
TOBXKsjdETxSUn4l/JfT181g5m6Uj26FROZFzZhBTmxEA9iE9uB85MXF6A6w7BIeRkfwjegRfAv6
GJ5DT+J59Ay+G53FR9B38VH0T/gY+hn+EHoTr2CEv461im24UBHAtYoI3qh4P96i+AXuU7yBxxT/
gd2K8zio+BW+S/EmPqz4HX6f4gL+a1Djk6kY6S87r8VIvq/YCRhdgHEMME4CxlnAeBdgvB8wPgwY
PwoYTwDGLwPG5wDjy4DxR4Dx54DxN/hDgG8F6wGjBTDWAsYNgLEPMO4AjDsB4yRgDAHGJcB4BDA+
Ahg/Bhg/C5i+kIpRMZmEMRcwVgLGTsC4DTDuBoxewBgFjAcA43sA44cA46cA42nA+Bxg/AFg/Clg
fBMfAVxHsREfwwWAsRowtgBGJ2AcA4wewDgHGO8CjIcA43sB43HA+ARg/DJg/HvA+Apg/Alg/EUq
RnYwCWMeYKwBjE7AOAwYbwOMewHjXYDxAcD4fsD4McB4CjB+AzC+DBjPAcb/CxgvAUYtYMwHjFWA
sREwOgDjAGC8DTCGAOM9gPEBwHgMMH4EMD4BGL8CGF8EjK8Cxp8Dxt/CXGJSMXLDSRgLAOM6wNgL
GMcB4xRgjALGQ4DxIcD4GGA8ARhXAON3AOM/A8bzeB6z+G6cARhLAGM9YOwEjC7AuBsw+gDjnYDx
3YDxrwHj44Dxs4DxK4DxJcD4I8D4BmC8qPgdo1dcYMivX1emYlTPJWEsAow2wLgdMN4MGGcB412A
8UHA+GHA+FnA+AxgfAkw/hNgPI/nMAMY8wBjNWBsAYy9gHEMME4CxghgPAIYjwPGpwDjNwHjtwDj
K4DxZ4DxD4rzjFbxK6ZG8SazETBuA4zjgHGS5D+egz+Tqaame+ngQV6JeXZZ3M7zPOY1zz77cdg+
+EHSopo4tuwQTMcmeBbxqguCuKlYrOLO84uHDy/yLOY56HkYtvMqJVaxYSIpTOt5wgJMlD98+MLy
8iKvRLzS7jjvIBswqVSLx45NLIcPn5ckPflN0oXHmFcuIxGWiscqzeefPwIblSSySEJhI4MBHgoB
uBVYpTwndgQ8qvDyit10jlMiTikOa1exSMUePjw8DJqokUp9ePnw8k5YicqAxIHphpa1LFKzPG8y
gc4Ox/IyVkB6PKdQgMWOHz9OTUIBUAiwM3GcmueC1AI9BYe4Y7cPDx+7YDKJZqSWlvqAACIjrGQQ
r3CsOBxKBVjonOA4dw03qTGv/fry15cfA3oYiGhwXe5Ss1jNLSf7SyX6izbwcYeRholj50mDEqnB
YVfymCzsv+4yEjdPrqxxGQ0VR5LPVFfxmRpjteSzazlNLToNoizhNNhJOI22yE6DnYTTYCfhNFEA
dRrLIA11moNVII1yBUY8p1YjtZpHWUAEnBMdoDYhxlJJIJcvqDVYrVuB7aOOjzreS+koELVo+DCZ
PzCUmkNqbtUkbRyLOYJv8fAHZjQqrOFBzukzhw4dOnOaNKlIt+XDYdqkVCpjR6HpaIxTYY5fPHTo
reXlJY0Sadi4Kx3AyXFLRI1lYFhMkXnokGhUyZ3LnBpzulPoRRppIlHJErM8yiFRjlR/5jTpqcSc
5FtaJvE2YTKdI3HFyljsVDniXvAvp0GcttvR7ahbJmRGZqTBjIaNe3hZr0JaFfkd0CQnYyV7TqnE
GtUx2CQ7Sm6me5KbhQtSG+3suKBWwZ6lpqa///BbPE/bRE/zUj/qZ8nXWqXoayXSsueg93mNGmnA
1wlvHwB/E5DEmJzs7eW3NFqs0a9MrExABB5/SHhIeBfQISANC3zEcxMmMqKGQxo+7nGTZFblEjhS
q8Ja4p5kn3OSz2mb8spO1xKw4PS41zlo208ctQxpZSlV7J/J7QTqIg3q8+/I7VrMaGW3v43ftdTv
NIZFQBQTy2h4Ie55qZUKEBxv0V1L3Pd0dwlQLYIhpelARFFxi5wC6ZSSJFhLdOB/wOA4r9UgrUaH
MiiVAjmWDywDMMeyg5g2EQPLb2n1WGtcsaxYjtccrznWf6yfBOd9/H38QZ56YfEQdLPzZHAth7RJ
cWDiVZgXAwG8q+OwTi267CBsZ06TVq6tm1R1t9FWBrb2XtLa2077tnWTYIBWFqC3JaLBoeWgNR4O
B5fWCD94UIOxJhEQy7wW84Yvrpyl0SsTD0LUcge609ZNit1t2kQLDQu6SElhsSylUhL7EPowE1QO
xwURVhtZ/HiQ0F0Dpzu8FvE6MtA2xzaHHBw6zOjiCZUANHBIxzGMHB9SeLA0PHQcCQ9Ao5Wgyei0
avvwMcnKq3R/8RAYT0kiZFXLw74uK6uiu/vQJYgK2i6GCPAQN0nyusUXCBJ9IkiwXiUFiU6LdFoD
MsChKqGG5YbliZUDkA9ISiAW51cS26rOgHWmc4XnCs93fsf6SuCVwDcHXnzxzNHnjj6re1ZH/dM5
tbJybrHQoFK9uKjjkU59yZLY1BxWq5fOqlT7z5791ryex3oNEfva68+S7fXXSDtPJMA21UnbFbB1
TNP26Q41D/07p86eXV1ZmezUq0CNzomJiQsT0qYj7QfOwra0sh967F87xLPP6hmsV66sIBRXSq3D
auNr5/7NfjaFyFiaeDe61zlFy1OduqS2118jMkg6fuWcLBESN794hthBd3RRy0IGSIBso4swOULy
IEKtQIVAagP8ETN6LNMf8H6g+cnO85YJy4SeYfSqhAcAtplDBk6l0ul0YFE7bCB0ZQUrMas6z4JJ
+BfJBhB1MmAZs07TtviK7ItLtGLpLNgXhFnsE5d0aqgwoGKUA5Cq0BSctZxFl5ZViBDl3k8UWFJB
l7NL8QGm6ChTnZB6DGz4SYLIDhFmUJ0j2FbOo6TzevK5BuMNBKelsi0qlsdJ2RlxT1oFZ2Q2aBW6
9kUCVqHPF9pLXyPwGvFBmXyLxioMuGPBd8ZNMWCKA/6LPgLvWSKkovfbDxb9H5W67v7++3+nxxxz
/GDRIahaZjBu0NrVKnadQcHks8juVmnWqcDOBzcwWHl81H6D3ZpUU/hY8XIhnDATGqKf94boFRhy
fWAzIXtpkjBl1scUd3/mB2OfG//Pkq890nHik54bxivuPn7QstN+UPms/aDiM8cVDGaYzCaAeHZx
uRXP5fsjFPBZuz6OFlIIsi9QmIqdSlUms3O0IdNuJjt8pmaXO/r/irnqsKi27s0MQ6cMJd0dZ4YW
AenubukOabBgQBqJSyMtICKtgtIlCKgIiAjSIB2CgQLymwFFPq/fd+/vj/vc4XmGZ+09Z+999n7X
++51zjrH0cndwcfDHUYMEKIKsaBYOna2bh7utjA6gAZVggsl+23qKowRoEfVo0Mpf9brObnZ8er6
WLl5MmjJSgN0FAQwYUAMEIGJCIkKCZggTdFTJhBS+4+MjADAQ9XjQSHqmlo6MHaA9dikc5d18kSl
tMnpyjPI62qcUxCCi/IKiIiI8IpKiwjDWAHm4zOi+e0Z6R4nBgIIENPpGQZhoKEjkCExshwXjACB
0MrxmKnv9EZykArPdTiaY4Zx+EpHkNy5VSoIvphfrvAQl+Be0RCBgvxSZQ7NjrfFocf+w3TelE/U
zJGftGsXswwNDtT7CoQeLVj1OZCCKeR2o8gU83hx49Eq+yJaVWyfijbPxHKvdIQLPORupar6wp6J
CXiKTjVCO4NfqFxMvzQ30+FRl3BOcZYYr8wr0uwaiyzhyN0SRsHIsXv+CQszRFf+oAhnjjs71H3p
SdGnKi2eXJN+kypQdzKiE7RHBrZbc2+mQOONwEiMtogTicXJbbafdnd7NZ2nMj6ZnBN09Q25fSuI
i1+T/avJwu572lVCyCcXeTrSq622qeMDjw4Vnju3eNOD0ZF+VIgA4SBnBAOgRU4pLSGEHEI63PIJ
XhUJI3p3Nvm9ZAvsqymYCOcIQ7TMEEqAPJiUWXD3jY6CJ+76hT2/vVruqg6hWiJAD/UDeog6oAoo
5ynmyYfLfs8ltPFy/SUB1dPFCVXK/z2V05v/ZBlRq3i0iEhU8iF/AhhhYiMdEwMDCwSCqAEqgNIP
GwCHn//egb+//+86sPP6Hy37AFDUeFkh+ADujybRsX9xSHQUStJN0d5uFirFzGuJOSSztHrEN1+Y
EivmUY/iuWMsCcd17t83o4CkA5qDh/gFNyZZ2yHnsD9rzINqJ91l7TSmJfjkPTl9BzWdNMkDap9f
ltw8e0+9usIXrsOCkZYwqjS2JLeXYEVubPGsmls/JVfHrK0VYMfaGFFjD6zt+KwiRHBWvRDW9XaI
iimOHUfwgsjzHCWaaN9o2exRTr37d0RcSXN6Alzrzt6NCCgUsW0GJa1NXLhueYZYLxnDZOx6LYcq
SY4gIoaf46II8XsHqmGE9/gUfG9KoHDughBjo4gp3NGjb5R7CWRlk5gW+W5lqwpc+eWz2f5USIfg
tfvaE9T0azprXwEEJghJY8unaKxzOWo3KERr+fCIxjpPzxoyMAau/SNkwQGwHTs9/el6WzsGXSeH
o0RO5MKiMvhhR2wmAojCYHAA+Sd4zGY/TcDnHxnf93r0/1L/l2wUGV3P0oEVnxkcSLbPdnHfK5Ln
64fCtMhUhbrCPsso/nMCfHSJAV+vlNIjQA+C+qga0XsVVrsyPu9BaLdv4B4yuedvO0h0sVMucNB/
hCRL26zNPSaLXYdmCk2Keup5iK+Vy+MAym3N8UAGfp/f08/eKeT+L2MakruxbzCs090Ren+pfdoH
TTV68G3i6kjAt7iv5RcjJZoe0VdYp7V0hVUnVIxUcg/p7QmNPbuU9I7ucO2SS991bD+faWJtpeH3
aD1KaoVYQgvGBAdXbvW8M5m78XEkk4j+ZvF8GEXbSG8uLaj7QKkEmiSQxqgE321nKUCradbtDXXn
NA3ZFHUP3mlYg+Kt/mCjYOSMXDmmG1YU3Zwosxo26MRT0U/RVd+IddiLi2Irhw7tZoM9DWV1HdB0
QAdVfQaC5KLbioD8r0ojCMBRJgaUGy4AADA4t40oIGgtZGfFKyhmLcgrCBcQ5RUVEIbz2ooKweyt
4HAhQXub/6BAJXfbBS2MIcRdChERpgdud3p9wSn/nQJ/y1Aent5HLIiECxLHSBQjAYzCryXqixcQ
4QVEjyjQ6hQF6gPI3copCpT/yw5+sOD/6MIHwEcNHAoCHULAANov7oyOAIPQMMnpxw3btXqYNQu0
A16v7x48a3rV+v4LtcG6bo+TIsarzr612f0M0xTLM6IcrRjy0OnMwMhG+7LxhlWwPnOdBHOAtFvF
7ns0k+SMaJp+nJSBTBo5oLSIvPuxoulHbsGY3HgjkQ4NmkqmXuJnowjiUqGtCqaeeJbikJgpdpp5
e9ooSb5DQ3T1NvfQPPjq/Vp+LQNzzGqy2B5amzpv/LmRIDYirlT5EnioZKqkobI/c9S3auLu6AVs
Mu0ubhOYqZhz6p3bkS6pHB7vOytWmuQp+q01Qh7oUSneTC9ya3Vnf7LLTt+zzlCKV/3+OV5m8qxz
tlNovvBrN4ZvN14ddtSnCeN8kyBtSyctbQ3v30S0lemzyFI+ULoRED7wZTBb6uwb0qjFuFxHlkhH
8dLuYA22RWxGNZuDW3+QqQs8MLio+VrlkejNQ76Jasvbsi5PA15UN7jEh7pGeN1dKdrLnaAaEdu3
feomib1wJbS6vLHw8eUXqQa3g4z6SBStBxk39893wvA+80vaFol4XNSSqpNL0MzDi2m+ZvSp2yHC
ajwnvbMnts9DcaaVL3m9+lMV4LbmrHxnOdWvpwm785v4xwpvEcwagxdnhxs+JvdG0GwHO4M0H1KH
eNcOmTJJnTOinIrccOhULuF/yxojYTGwJiiXSNuYiO+HkNzsHOXNh4BvKn3ZnAC/QC9AigAWUgQ2
j0UA14rcUfCI+2l+3cJaHtEpLk4SW9Qf2zy2oLPk6Eg0ws4CFP9RiHMCViQMuY95k+Unb+p4eCDJ
EwldJ3snGysfOwZpXx9HDy8nn0AUuQMigCAgAIMLCQBiSHKHw45MAQBl/nt76L/i99x81+qpcaUk
risufGdnmmbnujK0mbXKn09QarAQbbwsealW7gMwnFnFeqWXQqacTC2TVJFuBrCNobksXW5ai8Ii
+kwISd+K6qfvE2CJyN7+4EDDs395MZJ2ZVGjML+NWbc37qv8C5wBi8qBKhlIwZdi1z8cXnO8VdCt
Ch9Y4FDgY78Xrqmvgz+PzrPnnJAAuEfsGAPZX6+NpNUuMaZd2x2E7mDX6brp3JdPyFVCU1G0P8PO
aX8nbX4IM0Sl4EtYyRlFUhxEbti6fsA3UCatFvYNNGJAYb1uklmhoZNXL7eSLkAa5t+fNSUe+ke+
FfgBLUH1/uesGtBzJlW9wy8YHe0MeD/4vQw5IyUA0QnjYADoyH+n+Py3u0sUfdMSQSBI/IUDxJg4
3zWBDIQqQQNC0o+5OSQBCIkLJiW8h7h4wYA9bYEVus81g6ubYjx/O9/mttU/Dk8EcWA5eb5KXlG5
mrfRBywonx2gdSwKygBSh/Jk86TDpf7+vvikGvVEF4rKjwRB75QgKAEKgNwpQRD9/+yJUeche9zq
39wPI+eaOC26wwxdTnhi+X65//jzQG11UDWfzyVTN3xo2fPmy/H1fMMkBbFu1vWG4D4NBqhWxkTQ
hVnDhkqjTJoZWlD4vYaA7ZiBNXHQxmxzPC5GT5zS7JYu2YRmWdL8Ypzzq+C2d8nbmPw30JcTuViY
PPc+7c8HZPARfMaa9Wyk1Mi+6YLrlVKfL3bLgbdLm3DF2kyKPD2GQWoWiwr+pR+m4geT4PbC61nx
lDi8gQudase1urn1up5iVSPmepcQt0Vhy2rjVTyZy8O6XowbQG9DgJ2ZKYgCl5RwcIw0/eP5R/ZG
tbz8i19uhPdrGyxleya73hNTG/4U2HKXMsiac7Mgi1MQ05/K+qkEnRs9Yguvm6fhhWztwpe1qw/m
bt/xEarX6LrETMLmh3deJ/aSiYIsaWNtbZW6Q0+uzGFwIGNwDhlgvyRDYkHVk8PEOCC7zL3c8EGp
n2d4FB6sxsalxGJpsmKwWTyZkd17zqMphN0H88yGH2NLFqKNXe9htbNEVL6f1X33fGhxy13FLRKP
g2i4a823Ke2eWOan9k3ZtBEktmAJ3krj+Pp5xoUHVb029wP0MIal+bTuJVcVBZTV5qX6Ur1JioD6
MvHD72C755nGsrbkbYb1Mo6s0mk+zdxQnv4MsvOIwrva49Tzzn2lJO05jPOQsMvUbFSdOn/0K3+O
FJ8+uctTaOEBgMAKAhAY1j+kgDBh8EgK0H8NA0Ii/xEqhgPAsUNy/h2H/BkRwJCyIQoHhMSORUP4
yIQBKPNfj1gQ4D9rBxilHWCkdiB9rmzrqxcxDV/5qPtdBLG64OPth0aMuTLUXC7LJlp36zFFqSDK
j6934NNNiLg8IRnF2xJtz8Cs6hF7BSKFyQxFEQTaRlxLvsjiWpmjfGvZ0WJwKku3Bpeno/JNKXdF
EE7l61Tj3otUGMv2fktwHTYS/sUybK0XtXJ15qOdfOi+ZY47fW4758zyyT8oPJ4Wtb3nbisUUJxn
Q8Q7dOGP3blJLIJXZoFFypyLBM15UP/mZInNvTluE2J6dQOOgiCvaZJzdcoWo+vrsomhby7XXA6n
fiNZHWu+FKUZRrWdz288nyDOWyFg1FUn+Q0+VIsuUV1TmSR6bTA7mOejhkEioxBrh5i77XXdx7eI
ys8yh/V9eIweHvfZcmtApyU2OaKxldGH1ZKS42E/O4coa7qYivCLK9VJFTTMJaX2a1b0zjMcytmW
kbOs5kOMqpI6nQ8MpVjQt14GmfK/Yp7zNCfSVvCv3UWbabwHRliOt5LVNlEP66suiuUTLTMrN1LW
y12Rn2/r8Aqa9lpkmWpRyOjabKcxHA+NW1NXBkrKbk6tmeZW7k9U2c+2pYVcXh9ZV11U5iyBchSX
XHUIfhdtHWBZwx/22vCWWYs/B8f7dbcOjnie+Asimm0zN+SiOnHUuoaLZPl9Uj677wYwGPFAzS+m
ZEpqCoSNVUVSTOZofEitalTIc00fnB6JjD3RznWkdi7/Rv5+iudv45KzJweQgiH4dLhoukeJrLJo
0v+pq38S5dMRjxfvOTAsQfYRKYbGzEpJN+wlc5QgYHIsbqhLqJp56nmq4cr/r4s+SL9Fei3SWU+C
EktAwBIOP5I5i1MypwNoARqnZE7m78nc/2jfBwjJRQ2eARKSBoQkAyGJJ5PEhw6EhAJSP7oDg8gF
/irMQj1ljTwzJzcrr0AbT28+Rx834MJJA2BAkA7OQIumhoZ6sSMqZ9jyKGf4OMc8EGl5f89+tzt5
BoCPgfZ3gZjDdnhR+rReIBXf0KiPA1MWXuqZGZukDJnUq4OB+AltdpZ8PJK7HV4v3UK/NUst4faK
tyiWFu44jdu0MAkVpZnbhSVcjVHQ0h/FT7oySKVKs3NeJkZnoOrAZU4Si48z650EddHwA1r/ZLHZ
ZdunchIBQcw70KvFCT6hcR/62MAKXO3RxA23SzHws9YdvzrypeRxSXG5GCnb0OM4uZukp86HfmiN
31HgntwXH2gS2nRnrVioZF8fmNghrMzgSEtXJ5TA28aOGqHvgFPObnXxPjfNua8shvsEt/1JecVC
zZtxskhteSNR+CV2quvVH9h3J3nOMTil1xhHObp7lNT5dFzAwCwGcXFIIqSg6vZ4rbXqH2fir9N4
kF2VL/FbuMBlV9hhrmMd3kFrI5wWPjW2s7tNnp/JPvOsKG1gw9xGes4U61aEJKY/5kvMal960mYr
qwdbb59QQ5qnpLsJOTYm7fjX0j7lm6WOoo3kKzQZ76QV4agqEWcE0w+gcXZVZxVJyfvTCT0ZLCjI
DQpi+qqUQl+2p8gc/DFnt8WlTjVtdtU3gGptRSQjkFL1cKSW2dH3XeXX/ZhVvOAVJ/HKfWAdonZz
asrXzSZR4mW2gYZmS7AhU37AGThj0KY0brXU3p3+2+Zt+ZFZhpcMNJTkW2WeZvmZ4gYruRwE5rY1
ubk5P9XxhhIEaT2DISBVAAJyDwwCASEp/7Zw/f5y4M+bI3khnSjy+Q5iHHQY/uk7L8hR/LTwYITA
6VoygPnngRAYktoOkuVKbm6/HwkhmeJscksIe7hKNQnYnjoEH2YA6OVxBXP89tFEvT+/LTKfLZjl
v3q23slbEhh+0WYIAoSmq3izOPRhjocJO+Y4zEKHv6FWG0sKRkgbVOGvqGfWIiJIJEI8pGvPoo85
ppNItpSeSe7kZcpTUTvPx0nMSqiAu+cUkaTo+iTJVnW8PRoy5bgJC389eb+3PHE9rlj7ukdAKQjS
eNBY96hnef2gKwJtbLEh27ZwULzbtdtyb3nvMdlAmqjrOjfm9qZixJmAAdpDQ/Fns0Z0Bkvdkdgk
7cWuGbcW9lo57XbPn0e/p3SfSTqIsaTxHWl/guyeKfW6ph+l9N2DUiWiaHH9euf2xmL4hA1xs7DR
TQw+KZoE84K4xSWqqKXk9GeBnyRXaVwQhM6g3kYDNsfbBPRTbHqjqjymjNH5CDAHcnvC8nONMGEI
MBmy6MwRNG/+a4H47++0ncKkOUB5GpJ4P+8YgpCdn9RgwIiOLhwLw4TgMNTH5E+IlF0OE8/R4uhe
ZYslcx9udaTNehj4S8iEwgpMA3odHGWITmOskuazihuqwilAxdltvjM2t71xpSw5i3kJ7kCyij87
9ipOg9WZrXAqM9gig3dQ2MKOtPTNXOU1crcVaYoBn4lDj02cfJmcbZVL17l0THLoN8C1vMrJcozD
G1/wsKxW9QOvYQdeS/OEWubZmXJg0Nt31/TYZw9vWE1K+ynWHUyOLRwgvi3YGL94PFeTRuDUOXgp
5f1HP7lH052BL789v12PlwvD0F1Qq294RK9vnr8Ttpw0GddYhReyCs2WFHZ2udVvLv1y+far8cLa
pbFx/KtQo1EZnmH3htec4mGrMgStoVjaM+d2yozVaqL9QJuV7ZzbvkXRMLG3cXJo/wetB1TdDQpl
bmRzdHJlYW0NCmVuZG9iag0KMTAxIDAgb2JqDQo8PC9UeXBlL01ldGFkYXRhL1N1YnR5cGUvWE1M
L0xlbmd0aCAzMDkxPj4NCnN0cmVhbQ0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBD
ZWhpSHpyZVN6TlRjemtjOWQiPz48eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4
OnhtcHRrPSIzLjEtNzAxIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIg
IHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyI+CjxwZGY6UHJvZHVjZXI+
TWljcm9zb2Z0wq4gRXhjZWzCriBmb3IgT2ZmaWNlIDM2NTwvcGRmOlByb2R1Y2VyPjwvcmRmOkRl
c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6ZGM9Imh0dHA6
Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KPGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjps
aT5GdWppaSwgSGlyb25vcmk8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRl
c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRw
Oi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBF
eGNlbMKuIGZvciBPZmZpY2UgMzY1PC94bXA6Q3JlYXRvclRvb2w+PHhtcDpDcmVhdGVEYXRlPjIw
MTktMTItMTJUMTU6MDc6MTMrMDk6MDA8L3htcDpDcmVhdGVEYXRlPjx4bXA6TW9kaWZ5RGF0ZT4y
MDE5LTEyLTEyVDE1OjA3OjEzKzA5OjAwPC94bXA6TW9kaWZ5RGF0ZT48L3JkZjpEZXNjcmlwdGlv
bj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMu
YWRvYmUuY29tL3hhcC8xLjAvbW0vIj4KPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDpCMzA4QjdGQi1B
N0Y2LTQzNkEtOTM4OC05RkUzQ0Y0NjVBQkI8L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3Rh
bmNlSUQ+dXVpZDpCMzA4QjdGQi1BN0Y2LTQzNkEtOTM4OC05RkUzQ0Y0NjVBQkI8L3htcE1NOklu
c3RhbmNlSUQ+PC9yZGY6RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L3Jk
ZjpSREY+PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/Pg0KZW5kc3RyZWFtDQplbmRvYmoN
CjEwMiAwIG9iag0KPDwvRGlzcGxheURvY1RpdGxlIHRydWU+Pg0KZW5kb2JqDQoxMDMgMCBvYmoN
Cjw8L1R5cGUvWFJlZi9TaXplIDEwMy9XWyAxIDQgMl0gL1Jvb3QgMSAwIFIvSW5mbyAzIDAgUi9J
RFs8RkJCNzA4QjNGNkE3NkE0MzkzODg5RkUzQ0Y0NjVBQkI+PEZCQjcwOEIzRjZBNzZBNDM5Mzg4
OUZFM0NGNDY1QUJCPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjI5Pj4NCnN0cmVhbQ0K
eJw10jVSRFEQBdA3gw0+g7u7u7u7S05CTkqxBPZByBJYABsgI2EH5MPnH+igT3V1dUc3hKiy2UTU
MyH88oLPmMR3TE4yJvWIV3zFFD6HEK1DZbjEFa5xgwuc4wx/d7fRl6Kn/ykHSSSQjzzkohApFKAE
xShCOcpQigpkkEY1qlCJOtSiBo1oQD1a0IwmtKMNrehCJzrQix50YwD96MMwhjCIMYxiBJOYwDhm
MI0pzGIB85jDIlawjCWsYgPrWMMmdrCNLeziAPvYwyFOcIwjnEZ5Sd/F4cvcx7w9xLx/hPADI70h
0g0KZW5kc3RyZWFtDQplbmRvYmoNCnhyZWYNCjAgMTA0DQowMDAwMDAwMDEwIDY1NTM1IGYNCjAw
MDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDE2OCAwMDAwMCBuDQowMDAwMDAwMjI0IDAwMDAwIG4N
CjAwMDAwMDA1MDAgMDAwMDAgbg0KMDAwMDAwMDc3MCAwMDAwMCBuDQowMDAwMDAyMTcxIDAwMDAw
IG4NCjAwMDAwMDIyMjQgMDAwMDAgbg0KMDAwMDAwMjI3NyAwMDAwMCBuDQowMDAwMDAyNDQ1IDAw
MDAwIG4NCjAwMDAwMDAwMTEgNjU1MzUgZg0KMDAwMDAwMDAxMiA2NTUzNSBmDQowMDAwMDAwMDEz
IDY1NTM1IGYNCjAwMDAwMDAwMTQgNjU1MzUgZg0KMDAwMDAwMDAxNSA2NTUzNSBmDQowMDAwMDAw
MDE2IDY1NTM1IGYNCjAwMDAwMDAwMTcgNjU1MzUgZg0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAw
MDAwMDE5IDY1NTM1IGYNCjAwMDAwMDAwMjAgNjU1MzUgZg0KMDAwMDAwMDAyMSA2NTUzNSBmDQow
MDAwMDAwMDIyIDY1NTM1IGYNCjAwMDAwMDAwMjMgNjU1MzUgZg0KMDAwMDAwMDAyNCA2NTUzNSBm
DQowMDAwMDAwMDI1IDY1NTM1IGYNCjAwMDAwMDAwMjYgNjU1MzUgZg0KMDAwMDAwMDAyNyA2NTUz
NSBmDQowMDAwMDAwMDI4IDY1NTM1IGYNCjAwMDAwMDAwMjkgNjU1MzUgZg0KMDAwMDAwMDAzMCA2
NTUzNSBmDQowMDAwMDAwMDMxIDY1NTM1IGYNCjAwMDAwMDAwMzIgNjU1MzUgZg0KMDAwMDAwMDAz
MyA2NTUzNSBmDQowMDAwMDAwMDM0IDY1NTM1IGYNCjAwMDAwMDAwMzUgNjU1MzUgZg0KMDAwMDAw
MDAzNiA2NTUzNSBmDQowMDAwMDAwMDM3IDY1NTM1IGYNCjAwMDAwMDAwMzggNjU1MzUgZg0KMDAw
MDAwMDAzOSA2NTUzNSBmDQowMDAwMDAwMDQwIDY1NTM1IGYNCjAwMDAwMDAwNDEgNjU1MzUgZg0K
MDAwMDAwMDA0MiA2NTUzNSBmDQowMDAwMDAwMDQzIDY1NTM1IGYNCjAwMDAwMDAwNDQgNjU1MzUg
Zg0KMDAwMDAwMDA0NSA2NTUzNSBmDQowMDAwMDAwMDQ2IDY1NTM1IGYNCjAwMDAwMDAwNDcgNjU1
MzUgZg0KMDAwMDAwMDA0OCA2NTUzNSBmDQowMDAwMDAwMDQ5IDY1NTM1IGYNCjAwMDAwMDAwNTAg
NjU1MzUgZg0KMDAwMDAwMDA1MSA2NTUzNSBmDQowMDAwMDAwMDUyIDY1NTM1IGYNCjAwMDAwMDAw
NTMgNjU1MzUgZg0KMDAwMDAwMDA1NCA2NTUzNSBmDQowMDAwMDAwMDU1IDY1NTM1IGYNCjAwMDAw
MDAwNTYgNjU1MzUgZg0KMDAwMDAwMDA1NyA2NTUzNSBmDQowMDAwMDAwMDU4IDY1NTM1IGYNCjAw
MDAwMDAwNTkgNjU1MzUgZg0KMDAwMDAwMDA2MCA2NTUzNSBmDQowMDAwMDAwMDYxIDY1NTM1IGYN
CjAwMDAwMDAwNjIgNjU1MzUgZg0KMDAwMDAwMDA2MyA2NTUzNSBmDQowMDAwMDAwMDY0IDY1NTM1
IGYNCjAwMDAwMDAwNjUgNjU1MzUgZg0KMDAwMDAwMDA2NiA2NTUzNSBmDQowMDAwMDAwMDY3IDY1
NTM1IGYNCjAwMDAwMDAwNjggNjU1MzUgZg0KMDAwMDAwMDA2OSA2NTUzNSBmDQowMDAwMDAwMDcw
IDY1NTM1IGYNCjAwMDAwMDAwNzEgNjU1MzUgZg0KMDAwMDAwMDA3MiA2NTUzNSBmDQowMDAwMDAw
MDczIDY1NTM1IGYNCjAwMDAwMDAwNzQgNjU1MzUgZg0KMDAwMDAwMDA3NSA2NTUzNSBmDQowMDAw
MDAwMDc2IDY1NTM1IGYNCjAwMDAwMDAwNzcgNjU1MzUgZg0KMDAwMDAwMDA3OCA2NTUzNSBmDQow
MDAwMDAwMDc5IDY1NTM1IGYNCjAwMDAwMDAwODAgNjU1MzUgZg0KMDAwMDAwMDA4MSA2NTUzNSBm
DQowMDAwMDAwMDgyIDY1NTM1IGYNCjAwMDAwMDAwODMgNjU1MzUgZg0KMDAwMDAwMDA4NCA2NTUz
NSBmDQowMDAwMDAwMDg1IDY1NTM1IGYNCjAwMDAwMDAwODYgNjU1MzUgZg0KMDAwMDAwMDA4NyA2
NTUzNSBmDQowMDAwMDAwMDg4IDY1NTM1IGYNCjAwMDAwMDAwODkgNjU1MzUgZg0KMDAwMDAwMDA5
MCA2NTUzNSBmDQowMDAwMDAwMDkxIDY1NTM1IGYNCjAwMDAwMDAwOTIgNjU1MzUgZg0KMDAwMDAw
MDA5MyA2NTUzNSBmDQowMDAwMDAwMDk0IDY1NTM1IGYNCjAwMDAwMDAwOTUgNjU1MzUgZg0KMDAw
MDAwMDA5NiA2NTUzNSBmDQowMDAwMDAwMDk3IDY1NTM1IGYNCjAwMDAwMDAwOTggNjU1MzUgZg0K
MDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDA0MTk0IDAwMDAwIG4NCjAwMDAwMDQ0NTUgMDAwMDAg
bg0KMDAwMDA0OTI2NiAwMDAwMCBuDQowMDAwMDUyNDQxIDAwMDAwIG4NCjAwMDAwNTI0ODcgMDAw
MDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSAxMDQvUm9vdCAxIDAgUi9JbmZvIDMgMCBSL0lEWzxGQkI3
MDhCM0Y2QTc2QTQzOTM4ODlGRTNDRjQ2NUFCQj48RkJCNzA4QjNGNkE3NkE0MzkzODg5RkUzQ0Y0
NjVBQkI+XSA+Pg0Kc3RhcnR4cmVmDQo1MjkxOA0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0K
PDwvU2l6ZSAxMDQvUm9vdCAxIDAgUi9JbmZvIDMgMCBSL0lEWzxGQkI3MDhCM0Y2QTc2QTQzOTM4
ODlGRTNDRjQ2NUFCQj48RkJCNzA4QjNGNkE3NkE0MzkzODg5RkUzQ0Y0NjVBQkI+XSAvUHJldiA1
MjkxOC9YUmVmU3RtIDUyNDg3Pj4NCnN0YXJ0eHJlZg0KNTUxNTYNCiUlRU9G
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385748</attachid>
            <date>2019-12-16 04:05:45 -0800</date>
            <delta_ts>2019-12-18 18:03:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204398-20191216210544.patch</filename>
            <type>text/plain</type>
            <size>9486</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRiYThlMGE3YjE3NDYwMTA3N2U2NTNi
ZmVmZmRhMWVlNDM4YjRjYWQuLmRjNjE5YmNlNmI1MTU5NmY4MTQyYTk4OGQyYWNiYTFiZThjNWZk
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTktMTItMTYgIEZ1amlpIEhpcm9ub3JpICA8SGly
b25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl0gVXNlIHRocmVhZF9sb2NhbCB0
byBob2xkIFJlZjxXVEY6OlRocmVhZD4gaW4gdGhlIHRocmVhZCByYXRoZXIgdGhhbiB1c2luZyBG
TFMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDM5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0
aHJlYWRfbG9jYWwgd2hpY2ggaXMgZmFzdGVyIHRoYW4gRkxTLgorCisgICAgICAgICogd3RmL1Ro
cmVhZGluZy5jcHA6CisgICAgICAgIChXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcpOgorICAgICAg
ICAqIHd0Zi9UaHJlYWRpbmcuaDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjpjdXJyZW50KToKKyAg
ICAgICAgKiB3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oOiBEZWxldGVkIHRocmVhZFNwZWNpZmlj
S2V5Q3JlYXRlIGFuZAorICAgICAgICByZWxhdGVkIGZ1bmN0aW9ucyB3aGljaCBhcmVuJ3QgdXNl
ZCBub3cgaW4gV2luZG93cyBwb3J0LiBEZWxldGVkCisgICAgICAgIFRIUkVBRF9TUEVDSUZJQ19D
QUxMIG1hY3JvIHdoaWNoIGlzbid0IHVzZWQgbm93LgorICAgICAgICAqIHd0Zi93aW4vVGhyZWFk
aW5nV2luLmNwcDogQWRkZWQgYSB0aHJlYWRfbG9jYWwgdmFyaWFibGUgc190aHJlYWRIb2xkZXIu
CisgICAgICAgIChXVEY6OlRocmVhZDo6VGhyZWFkSG9sZGVyOjp+VGhyZWFkSG9sZGVyKTogQWRk
ZWQuCisgICAgICAgIChXVEY6OlRocmVhZDo6Y3VycmVudE1heUJlTnVsbCk6CisgICAgICAgIChX
VEY6OlRocmVhZDo6aW5pdGlhbGl6ZVRMUyk6IFN0b3JlIGEgcmVmZXJlbmNlIG9mIFRocmVhZCBp
bnRvIHNfdGhyZWFkSG9sZGVyLgorICAgICAgICAoV1RGOjpUaHJlYWQ6OmluaXRpYWxpemVUTFNL
ZXkpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpUaHJlYWQ6OmRlc3RydWN0VExTKTogRGVsZXRl
ZC4KKwogMjAxOS0xMi0xMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgYSBIZWFwOjpmaW5hbGl6ZSBmdW5jdGlvbiB0aGF0IHRha2VzIFdURjo6RnVuY3Rp
b248dm9pZCgpPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggNzkzYzRlYzUwOTU4NGE3ZjkxOWE1YWE0
YTdjM2VhMjE0OGJkODc5ZS4uYmIwZDVkOTNlYmU2MzZmZDc2MWE3Yzk4YjNiNjc4ZjYwMTViNzdi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMjMsNyArMzIzLDcgQEAgdm9pZCBUaHJlYWQ6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBvdXQucHJpbnQoIlRocmVhZDoiLCBSYXdQ
b2ludGVyKHRoaXMpKTsKIH0KIAotI2lmICFIQVZFKEZBU1RfVExTKQorI2lmICFIQVZFKEZBU1Rf
VExTKSAmJiAhT1MoV0lORE9XUykKIFRocmVhZFNwZWNpZmljS2V5IFRocmVhZDo6c19rZXkgPSBJ
bnZhbGlkVGhyZWFkU3BlY2lmaWNLZXk7CiAjZW5kaWYKIApAQCAtMzMyLDcgKzMzMiw3IEBAIHZv
aWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VL
ZXk7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgW10gewogICAgICAgICBpbml0aWFsaXpl
UmFuZG9tTnVtYmVyR2VuZXJhdG9yKCk7Ci0jaWYgIUhBVkUoRkFTVF9UTFMpCisjaWYgIUhBVkUo
RkFTVF9UTFMpICYmICFPUyhXSU5ET1dTKQogICAgICAgICBUaHJlYWQ6OmluaXRpYWxpemVUTFNL
ZXkoKTsKICNlbmRpZgogICAgICAgICBpbml0aWFsaXplRGF0ZXMoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1RocmVhZGluZy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKaW5k
ZXggMTc4ODdhYzI3ODUyNWZiZGM4Y2QyNzA2YmQ4YzU2NzA4ZDA0Yzk2OS4uNDM5Mjc3MTcxNzFi
MTdiMjIyMWZkMTAzYjRmZTQwMzczMzg4NWU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VGhyZWFkaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKQEAgLTEyNyw2ICsx
MjcsOCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIFNwZWNpZmljU3RvcmFnZSYgc3BlY2lmaWNT
dG9yYWdlKCkgeyByZXR1cm4gbV9zcGVjaWZpY1N0b3JhZ2U7IH07CisKKyAgICBjbGFzcyBUaHJl
YWRIb2xkZXI7CiAjZW5kaWYKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNoYW5nZVBy
aW9yaXR5KGludCk7CkBAIC0yNzEsMTYgKzI3MywyMSBAQCBwcm90ZWN0ZWQ6CiAgICAgVGhyZWFk
R3JvdXBBZGRSZXN1bHQgYWRkVG9UaHJlYWRHcm91cChjb25zdCBBYnN0cmFjdExvY2tlciYgdGhy
ZWFkR3JvdXBMb2NrZXIsIFRocmVhZEdyb3VwJik7CiAgICAgdm9pZCByZW1vdmVGcm9tVGhyZWFk
R3JvdXAoY29uc3QgQWJzdHJhY3RMb2NrZXImIHRocmVhZEdyb3VwTG9ja2VyLCBUaHJlYWRHcm91
cCYpOwogCi0gICAgLy8gVGhlIFRocmVhZCBpbnN0YW5jZSBpcyByZWYnZWQgYW5kIGhlbGQgaW4g
dGhyZWFkLXNwZWNpZmljIHN0b3JhZ2UuIEl0IHdpbGwgYmUgZGVyZWYnZWQgYnkgZGVzdHJ1Y3RU
TFMgYXQgdGhyZWFkIGRlc3RydWN0aW9uIHRpbWUuCi0gICAgLy8gRm9yIHB0aHJlYWQsIGl0IGVt
cGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJl
bW92ZSBUaHJlYWQuCi0gICAgLy8gRm9yIFdpbmRvd3MsIHdlIHVzZSB0aHJlYWRfbG9jYWwgdG8g
ZGVmZXIgdGhyZWFkIFRMUyBkZXN0cnVjdGlvbi4gSXQgYXNzdW1lcyByZWd1bGFyIFRocmVhZFNw
ZWNpZmljCi0gICAgLy8gdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24u
CisgICAgLy8gRm9yIHB0aHJlYWQsIHRoZSBUaHJlYWQgaW5zdGFuY2UgaXMgcmVmJ2VkIGFuZCBo
ZWxkIGluIHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlLiBJdCB3aWxsIGJlIGRlcmVmJ2VkIGJ5IGRl
c3RydWN0VExTIGF0IHRocmVhZCBkZXN0cnVjdGlvbiB0aW1lLgorICAgIC8vIEl0IGVtcGxveXMg
cHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJlbW92ZSBU
aHJlYWQuCiAKLSNpZiAhSEFWRShGQVNUX1RMUykKKyNpZiAhSEFWRShGQVNUX1RMUykgJiYgIU9T
KFdJTkRPV1MpCiAgICAgc3RhdGljIFdURl9FWFBPUlRfUFJJVkFURSBUaHJlYWRTcGVjaWZpY0tl
eSBzX2tleTsKICAgICAvLyBPbmUgdGltZSBpbml0aWFsaXphdGlvbiBmb3IgdGhpcyBjbGFzcyBh
cyBhIHdob2xlLgogICAgIC8vIFRoaXMgbWV0aG9kIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBpbml0
aWFsaXplVExTKCkgYW5kIGl0IGlzIG5vdCB0aHJlYWQtc2FmZS4KICAgICBzdGF0aWMgdm9pZCBp
bml0aWFsaXplVExTS2V5KCk7CisKKyAgICAvLyBUaGlzIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVj
dG9yIGlzIGNhbGxlZCAyIHRpbWVzIHdoZW4gdGhyZWFkIHRlcm1pbmF0ZXM6CisgICAgLy8gLSBm
aXJzdCwgd2hlbiBhbGwgdGhlIG90aGVyIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVjdG9ycyBhcmUg
Y2FsbGVkLCBpdCBzaW1wbHkgcmVtZW1iZXJzIGl0IHdhcyAnZGVzdHJveWVkIG9uY2UnCisgICAg
Ly8gYW5kICgxKSByZS1zZXRzIGl0c2VsZiBpbnRvIHRoZSB0aHJlYWQtc3BlY2lmaWMgc2xvdCBv
ciAoMikgY29uc3RydWN0cyB0aHJlYWQgbG9jYWwgdmFsdWUgdG8gY2FsbCBpdCBhZ2FpbiBsYXRl
ci4KKyAgICAvLyAtIHNlY29uZCwgYWZ0ZXIgYWxsIHRocmVhZC1zcGVjaWZpYyBkZXN0cnVjdG9y
cyB3ZXJlIGludm9rZWQsIGl0IGdldHMgY2FsbGVkIGFnYWluIC0gdGhpcyB0aW1lLCB3ZSBkZXJl
ZiB0aGUKKyAgICAvLyBUaHJlYWQgaW4gdGhlIFRMUywgY29tcGxldGluZyB0aGUgY2xlYW51cC4K
KyAgICBzdGF0aWMgdm9pZCBkZXN0cnVjdFRMUyh2b2lkKiBkYXRhKTsKICNlbmRpZgogCiAgICAg
Ly8gQ3JlYXRlcyBhbmQgcHV0cyBhbiBpbnN0YW5jZSBvZiBUaHJlYWQgaW50byB0aHJlYWQtc3Bl
Y2lmaWMgc3RvcmFnZS4KQEAgLTI4OCwxNCArMjk1LDExIEBAIHByb3RlY3RlZDoKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFRocmVhZCYgaW5pdGlhbGl6ZUN1cnJlbnRUTFMoKTsKIAog
ICAgIC8vIFJldHVybnMgbnVsbHB0ciBpZiB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSB3YXMgbm90
IGluaXRpYWxpemVkLgorI2lmIE9TKFdJTkRPV1MpCisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBUaHJlYWQqIGN1cnJlbnRNYXlCZU51bGwoKTsKKyNlbHNlCiAgICAgc3RhdGljIFRocmVh
ZCogY3VycmVudE1heUJlTnVsbCgpOwotCi0gICAgLy8gVGhpcyB0aHJlYWQtc3BlY2lmaWMgZGVz
dHJ1Y3RvciBpcyBjYWxsZWQgMiB0aW1lcyB3aGVuIHRocmVhZCB0ZXJtaW5hdGVzOgotICAgIC8v
IC0gZmlyc3QsIHdoZW4gYWxsIHRoZSBvdGhlciB0aHJlYWQtc3BlY2lmaWMgZGVzdHJ1Y3RvcnMg
YXJlIGNhbGxlZCwgaXQgc2ltcGx5IHJlbWVtYmVycyBpdCB3YXMgJ2Rlc3Ryb3llZCBvbmNlJwot
ICAgIC8vIGFuZCAoMSkgcmUtc2V0cyBpdHNlbGYgaW50byB0aGUgdGhyZWFkLXNwZWNpZmljIHNs
b3Qgb3IgKDIpIGNvbnN0cnVjdHMgdGhyZWFkIGxvY2FsIHZhbHVlIHRvIGNhbGwgaXQgYWdhaW4g
bGF0ZXIuCi0gICAgLy8gLSBzZWNvbmQsIGFmdGVyIGFsbCB0aHJlYWQtc3BlY2lmaWMgZGVzdHJ1
Y3RvcnMgd2VyZSBpbnZva2VkLCBpdCBnZXRzIGNhbGxlZCBhZ2FpbiAtIHRoaXMgdGltZSwgd2Ug
ZGVyZWYgdGhlCi0gICAgLy8gVGhyZWFkIGluIHRoZSBUTFMsIGNvbXBsZXRpbmcgdGhlIGNsZWFu
dXAuCi0gICAgc3RhdGljIHZvaWQgVEhSRUFEX1NQRUNJRklDX0NBTEwgZGVzdHJ1Y3RUTFModm9p
ZCogZGF0YSk7CisjZW5kaWYKIAogICAgIEpvaW5hYmxlU3RhdGUgbV9qb2luYWJsZVN0YXRlIHsg
Sm9pbmFibGUgfTsKICAgICBib29sIG1faXNTaHV0dGluZ0Rvd24gOiAxOwpAQCAtMzQ0LDYgKzM0
OCw3IEBAIGlubGluZSBUaHJlYWQ6OlRocmVhZCgpCiB7CiB9CiAKKyNpZiAhT1MoV0lORE9XUykK
IGlubGluZSBUaHJlYWQqIFRocmVhZDo6Y3VycmVudE1heUJlTnVsbCgpCiB7CiAjaWYgIUhBVkUo
RkFTVF9UTFMpCkBAIC0zNTMsNiArMzU4LDcgQEAgaW5saW5lIFRocmVhZCogVGhyZWFkOjpjdXJy
ZW50TWF5QmVOdWxsKCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGhyZWFkKj4oX3B0aHJlYWRf
Z2V0c3BlY2lmaWNfZGlyZWN0KFdURl9USFJFQURfREFUQV9LRVkpKTsKICNlbmRpZgogfQorI2Vu
ZGlmCiAKIGlubGluZSBUaHJlYWQmIFRocmVhZDo6Y3VycmVudCgpCiB7CkBAIC0zNjIsNyArMzY4
LDcgQEAgaW5saW5lIFRocmVhZCYgVGhyZWFkOjpjdXJyZW50KCkKICAgICAvLyBXUlQgSmF2YVNj
cmlwdENvcmU6CiAgICAgLy8gICAgVGhyZWFkOjppbml0aWFsaXplVExTS2V5KCkgaXMgaW5pdGlh
bGx5IGNhbGxlZCBmcm9tIGluaXRpYWxpemVUaHJlYWRpbmcoKSwgZW5zdXJpbmcKICAgICAvLyAg
ICB0aGlzIGlzIGluaXRpYWxseSBjYWxsZWQgaW4gYSBzdGQ6OmNhbGxfb25jZSBsb2NrZWQgY29u
dGV4dC4KLSNpZiAhSEFWRShGQVNUX1RMUykKKyNpZiAhSEFWRShGQVNUX1RMUykgJiYgIU9TKFdJ
TkRPV1MpCiAgICAgaWYgKFVOTElLRUxZKFRocmVhZDo6c19rZXkgPT0gSW52YWxpZFRocmVhZFNw
ZWNpZmljS2V5KSkKICAgICAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCAwMDkzN2ViMjE5YmE0NTc3NWNh
NGU0NDdmYWE3ZjZhMDk0NGYwMDk4Li42ZDY5OWY4MTZhODdhOTVjZDRiMmYyNGJjOGIwODgwOTMz
NWRjYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgK
KysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC00OCwxMiArNDgs
NiBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIE9TKFdJTkRPV1MpICYmIENQVShYODYpCi0jZGVm
aW5lIFRIUkVBRF9TUEVDSUZJQ19DQUxMIF9fc3RkY2FsbAotI2Vsc2UKLSNkZWZpbmUgVEhSRUFE
X1NQRUNJRklDX0NBTEwKLSNlbmRpZgotCiBuYW1lc3BhY2UgV1RGIHsKIAogdXNpbmcgVGhyZWFk
RnVuY3Rpb24gPSB2b2lkICgqKSh2b2lkKiBhcmd1bWVudCk7CkBAIC0xNDUsMzQgKzEzOSw2IEBA
IGlubGluZSB2b2lkKiB0aHJlYWRTcGVjaWZpY0dldChUaHJlYWRTcGVjaWZpY0tleSBrZXkpCiAg
ICAgcmV0dXJuIHB0aHJlYWRfZ2V0c3BlY2lmaWMoa2V5KTsKIH0KIAotI2VsaWYgT1MoV0lORE9X
UykKLQotc3RhdGljIGNvbnN0ZXhwciBUaHJlYWRTcGVjaWZpY0tleSBJbnZhbGlkVGhyZWFkU3Bl
Y2lmaWNLZXkgPSBGTFNfT1VUX09GX0lOREVYRVM7Ci0KLWlubGluZSB2b2lkIHRocmVhZFNwZWNp
ZmljS2V5Q3JlYXRlKFRocmVhZFNwZWNpZmljS2V5KiBrZXksIHZvaWQgKFRIUkVBRF9TUEVDSUZJ
Q19DQUxMICpkZXN0cnVjdG9yKSh2b2lkICopKQotewotICAgIERXT1JEIGZsc0tleSA9IEZsc0Fs
bG9jKGRlc3RydWN0b3IpOwotICAgIGlmIChmbHNLZXkgPT0gRkxTX09VVF9PRl9JTkRFWEVTKQot
ICAgICAgICBDUkFTSCgpOwotCi0gICAgKmtleSA9IGZsc0tleTsKLX0KLQotaW5saW5lIHZvaWQg
dGhyZWFkU3BlY2lmaWNLZXlEZWxldGUoVGhyZWFkU3BlY2lmaWNLZXkga2V5KQotewotICAgIEZs
c0ZyZWUoa2V5KTsKLX0KLQotaW5saW5lIHZvaWQgdGhyZWFkU3BlY2lmaWNTZXQoVGhyZWFkU3Bl
Y2lmaWNLZXkga2V5LCB2b2lkKiBkYXRhKQotewotICAgIEZsc1NldFZhbHVlKGtleSwgZGF0YSk7
Ci19Ci0KLWlubGluZSB2b2lkKiB0aHJlYWRTcGVjaWZpY0dldChUaHJlYWRTcGVjaWZpY0tleSBr
ZXkpCi17Ci0gICAgcmV0dXJuIEZsc0dldFZhbHVlKGtleSk7Ci19Ci0KICNlbmRpZgogCiB9IC8v
IG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9UaHJlYWRpbmdX
aW4uY3BwIGIvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKaW5kZXggZjJiYTIw
YzgzN2EwMGYxMjE0OTlhMWNiMzBjNmFhMmJjNzE5Zjk5YS4uMjI0YWFjMzdhNDllMGQ4OTAzOTc5
NjkzYmMzM2JkNzYyOWExZmRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1RocmVh
ZGluZ1dpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1RocmVhZGluZ1dpbi5jcHAKQEAg
LTI2Myw0MCArMjYzLDI5IEBAIHZvaWQgVGhyZWFkOjplc3RhYmxpc2hQbGF0Zm9ybVNwZWNpZmlj
SGFuZGxlKEhBTkRMRSBoYW5kbGUsIFRocmVhZElkZW50aWZpZXIgdGhyCiAgICAgbV9pZCA9IHRo
cmVhZElEOwogfQogCi0jZGVmaW5lIEludmFsaWRUaHJlYWQgcmVpbnRlcnByZXRfY2FzdDxUaHJl
YWQqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDB4YmJhZGJlZWYpKQorc3RydWN0IFRocmVhZDo6
VGhyZWFkSG9sZGVyIHsKKyAgICB+VGhyZWFkSG9sZGVyKCkKKyAgICB7CisgICAgICAgIGlmICh0
aHJlYWQpIHsKKyAgICAgICAgICAgIHRocmVhZC0+c3BlY2lmaWNTdG9yYWdlKCkuZGVzdHJveVNs
b3RzKCk7CisgICAgICAgICAgICB0aHJlYWQtPmRpZEV4aXQoKTsKKyAgICAgICAgfQorICAgIH0K
IAotdm9pZCBUaHJlYWQ6OmluaXRpYWxpemVUTFNLZXkoKQotewotICAgIHRocmVhZFNwZWNpZmlj
S2V5Q3JlYXRlKCZzX2tleSwgZGVzdHJ1Y3RUTFMpOwotfQorICAgIFJlZlB0cjxUaHJlYWQ+IHRo
cmVhZDsKK307CiAKLVRocmVhZCYgVGhyZWFkOjppbml0aWFsaXplVExTKFJlZjxUaHJlYWQ+JiYg
dGhyZWFkKQordGhyZWFkX2xvY2FsIHN0YXRpYyBUaHJlYWQ6OlRocmVhZEhvbGRlciBzX3RocmVh
ZEhvbGRlcjsKKworVGhyZWFkKiBUaHJlYWQ6OmN1cnJlbnRNYXlCZU51bGwoKQogewotICAgIEFT
U0VSVChzX2tleSAhPSBJbnZhbGlkVGhyZWFkU3BlY2lmaWNLZXkpOwotICAgIC8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyB3b3JrYXJvdW5kIGNvZGUgb25jZSA8cmRhcjovL3Byb2JsZW0vMzE3OTMyMTM+
IGlzIGZpeGVkLgotICAgIGF1dG8gaWQgPSB0aHJlYWQtPmlkKCk7Ci0gICAgLy8gV2UgbGVhayB0
aGUgcmVmIHRvIGtlZXAgdGhlIFRocmVhZCBhbGl2ZSB3aGlsZSBpdCBpcyBoZWxkIGluIFRMUy4g
ZGVzdHJ1Y3RUTFMgd2lsbCBkZXJlZiBpdCBsYXRlciBhdCB0aHJlYWQgZGVzdHJ1Y3Rpb24gdGlt
ZS4KLSAgICBhdXRvJiB0aHJlYWRJblRMUyA9IHRocmVhZC5sZWFrUmVmKCk7Ci0gICAgdGhyZWFk
U3BlY2lmaWNTZXQoc19rZXksICZ0aHJlYWRJblRMUyk7Ci0gICAgcmV0dXJuIHRocmVhZEluVExT
OworICAgIHJldHVybiBzX3RocmVhZEhvbGRlci50aHJlYWQuZ2V0KCk7CiB9CiAKLXZvaWQgVGhy
ZWFkOjpkZXN0cnVjdFRMUyh2b2lkKiBkYXRhKQorVGhyZWFkJiBUaHJlYWQ6OmluaXRpYWxpemVU
TFMoUmVmPFRocmVhZD4mJiB0aHJlYWQpCiB7Ci0gICAgaWYgKGRhdGEgPT0gSW52YWxpZFRocmVh
ZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgVGhyZWFkKiB0aHJlYWQgPSBzdGF0aWNfY2FzdDxU
aHJlYWQqPihkYXRhKTsKLSAgICBBU1NFUlQodGhyZWFkKTsKLQotICAgIHRocmVhZC0+c3BlY2lm
aWNTdG9yYWdlKCkuZGVzdHJveVNsb3RzKCk7Ci0gICAgdGhyZWFkLT5kaWRFeGl0KCk7Ci0gICAg
dGhyZWFkLT5kZXJlZigpOwotCi0gICAgLy8gRmlsbCB0aGUgRkxTIHdpdGggdGhlIG5vbi1udWxs
cHRyIHZhbHVlLiBXaGlsZSBGTFMgZGVzdHJ1Y3RvciB3b24ndCBiZSBjYWxsZWQgZm9yIHRoYXQs
Ci0gICAgLy8gbm9uLW51bGxwdHIgdmFsdWUgdGVsbHMgdXMgdGhhdCB3ZSBhbHJlYWR5IGRlc3Ry
dWN0ZWQgVGhyZWFkLiBUaGlzIGFsbG93cyB1cyB0bwotICAgIC8vIGRldGVjdCBpbmNvcnJlY3Qg
dXNlIG9mIFRocmVhZDo6Y3VycmVudCgpIGFmdGVyIHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB3aWxs
IGNyYXNoLgotICAgIHRocmVhZFNwZWNpZmljU2V0KHNfa2V5LCBJbnZhbGlkVGhyZWFkKTsKKyAg
ICBzX3RocmVhZEhvbGRlci50aHJlYWQgPSBXVEZNb3ZlKHRocmVhZCk7CisgICAgcmV0dXJuICpz
X3RocmVhZEhvbGRlci50aHJlYWQ7CiB9CiAKIEF0b21pYzxpbnQ+IFRocmVhZDo6U3BlY2lmaWNT
dG9yYWdlOjpzX251bWJlck9mS2V5czsK
</data>

          </attachment>
      

    </bug>

</bugzilla>