<?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>181599</bug_id>
          
          <creation_ts>2018-01-12 10:17:55 -0800</creation_ts>
          <short_desc>PoisonedWriteBarrier</short_desc>
          <delta_ts>2018-01-12 15:48:05 -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>JavaScriptCore</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="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1388831</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 10:17:55 -0800</bug_when>
    <thetext>Allow poisoning of WriteBarrier objects, and use this in a place where it should be perf-neutral first. If it indeed is perf-neutral, start using it in more risky places!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388832</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-12 10:20:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/36474351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388842</commentid>
    <comment_count>2</comment_count>
      <attachid>331214</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 10:32:26 -0800</bug_when>
    <thetext>Created attachment 331214
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388843</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-12 10:33:54 -0800</bug_when>
    <thetext>Attachment 331214 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/WriteBarrier.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388855</commentid>
    <comment_count>4</comment_count>
      <attachid>331214</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-12 10:52:49 -0800</bug_when>
    <thetext>Comment on attachment 331214
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=331214&amp;action=review

Please make sure the EWS bots are happy.  I&apos;ll wait for you to rebase before continuing the review.  It&apos;ll make it easier to do the review.  Thanks.

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        using it in more risky places!

I suggest rephrasing /in more risky places!/in more potentially performance sensitive places./

&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:34
&gt; +#include &lt;type_traits&gt;

Please fix ordering.

&gt; Source/WTF/wtf/Poisoned.h:92
&gt; +template&lt;typename KeyType, KeyType Key, typename T, typename = std::enable_if_t&lt;std::is_pointer&lt;T&gt;::value&gt;&gt;

Why uppercase Key?  Isn&apos;t our convention to use lowercase for variables / arguments, and uppercase for Types?  I suggest reverting this here and below as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388878</commentid>
    <comment_count>5</comment_count>
      <attachid>331219</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 11:24:27 -0800</bug_when>
    <thetext>Created attachment 331219
patch

Address comments.

This should also fix the build (still going on my laptop...): code was indirectly doing WriteBarrier&lt;&gt;.set() on JSGlobalObject with only a forward declaration, so it didn&apos;t know that JSGlobalObject derives from JSCell. This is now a compilation error because I static_cast to JSCell*, instead of reinterpret_cast. This particular case was fine because the object layout didn&apos;t change, but in general static_cast might require a base adjustment. It&apos;s also good to check that there indeed is an inheritance hierarchy! I fixed the issue by moving Structure.h&apos;s uses of .set() to its Inlines.h file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388941</commentid>
    <comment_count>6</comment_count>
      <attachid>331232</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 13:36:00 -0800</bug_when>
    <thetext>Created attachment 331232
js benchmarks

In addition to WasmBench which I ran earlier, I also ran our JS benchmarks to confirm that the WriteBarrier changes had no effect. They&apos;re indeed totally neutral (results attached).


WasmBench results (with 10 iterations) where:

Compile score (as arithmetic mean of each compile iteration)  90.30 +- 1.45 ms
Throughput score (as arithmetic mean of each throughput iteration)  3359.70 +- 22.63 ms
Total score (as arithmetic mean of each score iteration)  550.76 +- 5.15 ms

Compile score (as arithmetic mean of each compile iteration)  90.62 +- 1.23 ms
Throughput score (as arithmetic mean of each throughput iteration)  3387.59 +- 16.70 ms
Total score (as arithmetic mean of each score iteration)  554.03 +- 3.60 ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388942</commentid>
    <comment_count>7</comment_count>
      <attachid>331219</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-12 13:36:18 -0800</bug_when>
    <thetext>Comment on attachment 331219
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=331219&amp;action=review

I think you have a bug.  Please fix.

&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:113
&gt; +        validateCell&lt;T&gt;(Traits::unwrap(cell));
&gt; +        return Traits::unwrap(cell);

I suggest pre-caching the unwrapped pointer:
    T* resultCell = Traits::unwrap(cell);
    validateCell&lt;T&gt;(resultCell);
    return resultCell;

&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:121
&gt; +        validateCell(Traits::unwrap(cell));
&gt; +        return Traits::unwrap(cell);

Ditto.  precache?

&gt; Source/JavaScriptCore/wasm/js/WasmToJS.cpp:482
&gt; +    jit.move(CCallHelpers::TrustedImm64(JSWebAssemblyInstance::PoisonedBarrier&lt;WebAssemblyToJSCallee&gt;::poison), importJSCellGPRReg);

It is wrong to assume that importJSCellGPRReg (i.e. GPRInfo::regT0) !== GPRInfo::argumentGPR0.  In fact, on ARM64 (and most other architectures), they are the same.  You&apos;re just lucky that they aren&apos;t the same on x86_64 here.  Please fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388959</commentid>
    <comment_count>8</comment_count>
      <attachid>331235</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 14:31:49 -0800</bug_when>
    <thetext>Created attachment 331235
patch

&gt; &gt; Source/JavaScriptCore/runtime/WriteBarrier.h:113
&gt; &gt; +        validateCell&lt;T&gt;(Traits::unwrap(cell));
&gt; &gt; +        return Traits::unwrap(cell);
&gt; 
&gt; I suggest pre-caching the unwrapped pointer:
&gt;     T* resultCell = Traits::unwrap(cell);
&gt;     validateCell&lt;T&gt;(resultCell);
&gt;     return resultCell;
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/WriteBarrier.h:121
&gt; &gt; +        validateCell(Traits::unwrap(cell));
&gt; &gt; +        return Traits::unwrap(cell);
&gt; 
&gt; Ditto.  precache?

Done x 2.

&gt; &gt; Source/JavaScriptCore/wasm/js/WasmToJS.cpp:482
&gt; &gt; +    jit.move(CCallHelpers::TrustedImm64(JSWebAssemblyInstance::PoisonedBarrier&lt;WebAssemblyToJSCallee&gt;::poison), importJSCellGPRReg);
&gt; 
&gt; It is wrong to assume that importJSCellGPRReg (i.e. GPRInfo::regT0) !==
&gt; GPRInfo::argumentGPR0.  In fact, on ARM64 (and most other architectures),
&gt; they are the same.  You&apos;re just lucky that they aren&apos;t the same on x86_64
&gt; here.  Please fix.

Nice, good catch! I hadn&apos;t looked at all the ISAs. Fixed now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388967</commentid>
    <comment_count>9</comment_count>
      <attachid>331235</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-12 14:51:37 -0800</bug_when>
    <thetext>Comment on attachment 331235
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=331235&amp;action=review

r=me with suggestion.  Please make sure the EWS bots are green before landing.  Thanks.

&gt; Source/JavaScriptCore/wasm/js/WasmToJS.cpp:56
&gt; -static void materializeImportJSCell(JIT&amp; jit, unsigned importIndex, GPRReg result)
&gt; +static void materializeImportJSCell(JIT&amp; jit, unsigned importIndex, GPRReg scratch, GPRReg result)
&gt;  {
&gt;      // We&apos;re calling out of the current WebAssembly.Instance. That Instance has a list of all its import functions.
&gt; -    jit.loadWasmContextInstance(result);
&gt; -    jit.loadPtr(JIT::Address(result, Instance::offsetOfImportFunction(importIndex)), result);
&gt; +    jit.loadWasmContextInstance(scratch);
&gt; +    jit.loadPtr(JIT::Address(scratch, Instance::offsetOfImportFunction(importIndex)), scratch);
&gt; +    jit.move(CCallHelpers::TrustedImm64(JSWebAssemblyInstance::PoisonedBarrier&lt;JSObject&gt;::poison), result);
&gt; +    jit.xor64(scratch, result);
&gt;  }

In both clients that calls materializeImportJSCell, they already loaded JSWebAssemblyInstance::PoisonedBarrier&lt;JSObject&gt;::poison into scratch.  Can we simplify this as:

static void materializeImportJSCell(JIT&amp; jit, unsigned importIndex, GPRReg poison, GPRReg result)
{
    // We&apos;re calling out of the current WebAssembly.Instance. That Instance has a list of all its import functions.
    jit.loadWasmContextInstance(result);
    jit.loadPtr(JIT::Address(result, Instance::offsetOfImportFunction(importIndex)), result);
    jit.xor64(poison, result);
}

&gt; Source/JavaScriptCore/wasm/js/WasmToJS.cpp:295
&gt; +        jit.move(CCallHelpers::TrustedImm64(JSWebAssemblyInstance::PoisonedBarrier&lt;WebAssemblyToJSCallee&gt;::poison), GPRInfo::argumentGPR1);

Jus move the poison into argumentGPR2 as a poisonScratch so that you can skip doing it in materializeImportJSCell below.

&gt; Source/JavaScriptCore/wasm/js/WasmToJS.cpp:299
&gt; +        materializeImportJSCell(jit, importIndex, GPRInfo::argumentGPR2, GPRInfo::argumentGPR1);

Do you need to clear the poison after this as well before the call?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388971</commentid>
    <comment_count>10</comment_count>
      <attachid>331239</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2018-01-12 15:09:09 -0800</bug_when>
    <thetext>Created attachment 331239
patch

Implement suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388993</commentid>
    <comment_count>11</comment_count>
      <attachid>331239</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-12 15:48:03 -0800</bug_when>
    <thetext>Comment on attachment 331239
patch

Clearing flags on attachment: 331239

Committed r226920: &lt;https://trac.webkit.org/changeset/226920&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388994</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-12 15:48:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331214</attachid>
            <date>2018-01-12 10:32:26 -0800</date>
            <delta_ts>2018-01-12 11:24:27 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-WebAssembly-mostly-works-except-instance-callee-and-.patch</filename>
            <type>text/plain</type>
            <size>51607</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAzNGE3MDg0NTdmMzBlZTc1OGYyOGVjNGFkMzE3NjU3YWY2NDEwMjNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDExIEphbiAyMDE4IDE3OjU4OjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQXNz
ZW1ibHkgbW9zdGx5IHdvcmtzLCBleGNlcHQgaW5zdGFuY2UgY2FsbGVlIGFuZAogZW5kLW9mLW9i
amVjdCBmdW5jdGlvbnMuCgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgIHwgNjMgKysrKysrKysrKysrKysrKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGFuZGxlVHlwZXMuaCAgICAgICAgICAgfCAgMyArLQogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCAgICAgICAgICAgfCAxMyArKy0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaCAgICB8ICA4ICstCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmggICAgICAgICB8IDExICsrLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDUG9pc29uLmggICAgICAgICAgfCAgNCArCiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaCAgICAgICB8IDg2ICsr
KysrKysrKysrKysrKy0tLS0tLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFy
cmllcklubGluZXMuaCAgIHwgMjAgKystLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21JbnN0YW5jZS5oICAgICAgICAgIHwgIDQgKy0KIC4uLi93YXNtL2pzL0pTV2ViQXNzZW1ibHlJ
bnN0YW5jZS5jcHAgICAgICAgICAgICAgIHwgIDggKy0KIC4uLi9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIHwgMTcgKysrLS0KIC4uLi9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaCAgIHwgIDIgKy0KIC4uLi9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaCAgIHwgMTAgKystCiAuLi4vSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwICB8IDEwICstLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmggfCAgNiArLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwICAgICAgICAgfCAzNSArKysr
KystLS0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmggICAgICAgICAgICAg
IHwgIDUgKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcCAgICAgICAg
ICAgIHwgIDYgKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmggICAgICAg
ICAgICAgIHwgIDkgKystCiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRv
SlNDYWxsZWUuaCB8ICA0ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlv
bi5oICAgICAgICAgICB8ICA0ICstCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDI3ICsrKysrKysKIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogICAgICAgICAgIHwgIDIgKwogU291cmNlL1dURi93dGYvRHVtYlB0clRy
YWl0cy5oICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQogU291cmNlL1dURi93dGYvRHVtYlZh
bHVlVHJhaXRzLmggICAgICAgICAgICAgICAgICAgfCA0OCArKysrKysrKysrKysKIFNvdXJjZS9X
VEYvd3RmL0ZvcndhcmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKy0KIFNvdXJj
ZS9XVEYvd3RmL1BvaXNvbmVkLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzcgKysrKysr
Ky0tLQogMjcgZmlsZXMgY2hhbmdlZCwgMzQ1IGluc2VydGlvbnMoKyksIDEwOCBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV1RGL3d0Zi9EdW1iVmFsdWVUcmFpdHMuaAoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGIzNGNkYTcuLjA4ZmI4ZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDE4LTAxLTEyICBKRiBCYXN0aWVuICA8
amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBQb2lzb25lZFdyaXRlQmFycmllcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNTk5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ3NDM1MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwb2lzb25pbmcgb2YgV3JpdGVCYXJyaWVyIG9i
amVjdHMsIGFuZCB1c2UgdGhpcyBmb3IKKyAgICAgICAgV2ViQXNzZW1ibHkgYmVjYXVzZSBpdCBp
cyBwZXJmLW5ldXRyYWwsIGF0IGxlYXN0IG9uIFdhc21CZW5jaCBvbgorICAgICAgICBteSBNQlAu
IElmIGl0IGluZGVlZCBpcyBwZXJmLW5ldXRyYWwgYWNjb3JkaW5nIHRvIHRoZSBib3RzLCBzdGFy
dAorICAgICAgICB1c2luZyBpdCBpbiBtb3JlIHJpc2t5IHBsYWNlcyEKKworICAgICAgICAqIGhl
YXAvSGFuZGxlVHlwZXMuaDoKKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9yLmg6CisgICAgICAg
ICogaGVhcC9TbG90VmlzaXRvcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6
OmFwcGVuZCk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjphcHBlbmRIaWRkZW4pOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDUG9pc29u
Lmg6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6V3Jp
dGVCYXJyaWVyQmFzZTo6Y29weUZyb20pOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNl
OjpnZXQgY29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRvciog
Y29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRvci0+IGNvbnN0
KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6Y2xlYXIpOgorICAgICAgICAoSlND
OjpXcml0ZUJhcnJpZXJCYXNlOjpzbG90KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFz
ZTo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChKU0M6OldyaXRlQmFycmllckJhc2U6
OnNldFdpdGhvdXRXcml0ZUJhcnJpZXIpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNl
Ojp1bnZhbGlkYXRlZEdldCBjb25zdCk6CisgICAgICAgIChKU0M6Om9wZXJhdG9yPT0pOgorICAg
ICAgICAqIHJ1bnRpbWUvV3JpdGVCYXJyaWVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpUcmFp
dHM+OjpzZXQpOgorICAgICAgICAoSlNDOjpUcmFpdHM+OjpzZXRNYXlCZU51bGwpOgorICAgICAg
ICAoSlNDOjpUcmFpdHM+OjpzZXRFYXJseVZhbHVlKToKKyAgICAgICAgKEpTQzo6RHVtYlZhbHVl
VHJhaXRzPFVua25vd24+Pjo6c2V0KToKKyAgICAgICAgKiB3YXNtL1dhc21JbnN0YW5jZS5oOgor
ICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2UpOgorICAgICAg
ICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKEpT
Qzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAqIHdhc20vanMvSlNX
ZWJBc3NlbWJseUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5j
ZTo6b2Zmc2V0T2ZQb2lzb25lZENhbGxlZSk6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TWVtb3J5Lmg6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmg6Cisg
ICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwOgorICAgICAgICAoSlNDOjpK
U1dlYkFzc2VtYmx5VGFibGU6OkpTV2ViQXNzZW1ibHlUYWJsZSk6CisgICAgICAgIChKU0M6OkpT
V2ViQXNzZW1ibHlUYWJsZTo6Z3Jvdyk6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlUYWJs
ZTo6Y2xlYXJGdW5jdGlvbik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUu
aDoKKyAgICAgICAgKiB3YXNtL2pzL1dhc21Ub0pTLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6
bWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwpOgorICAgICAgICAoSlNDOjpXYXNtOjpoYW5kbGVCYWRJ
NjRVc2UpOgorICAgICAgICAoSlNDOjpXYXNtOjp3YXNtVG9KUyk6CisgICAgICAgICogd2FzbS9q
cy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1i
bHlNb2R1bGVSZWNvcmQuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZVJlY29y
ZDo6bGluayk6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOjpldmFsdWF0
ZSk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5oOgorICAgICAg
ICAqIHdhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmg6CisgICAgICAgICogd2FzbS9qcy9X
ZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oOgorCiAyMDE4LTAxLTA0ICBGaWxpcCBQaXpsbyAg
PGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrcyBzaG91bGQgYmUgaW4gSXNv
U3Vic3BhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVU
eXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxlVHlwZXMuaAppbmRleCA2
Y2YxMWRmLi40ZTM1MzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
YW5kbGVUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZVR5cGVz
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjksNyArMjksNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdHlwZWRlZiBlbnVtIHsgfSBV
bmtub3duOwogdHlwZWRlZiBKU1ZhbHVlKiBIYW5kbGVTbG90OwogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgSGFuZGxlVHlwZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvU2xvdFZpc2l0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RW
aXNpdG9yLmgKaW5kZXggYTU1MWMxZS4uYWZhYzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9TbG90VmlzaXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkl0ZXJhdGlv
blN0YXR1cy5oIgogI2luY2x1ZGUgIk1hcmtTdGFjay5oIgogI2luY2x1ZGUgIlZpc2l0UmFjZUtl
eS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1Rp
bWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTQ0LDcgKzQ1LDcgQEAg
Y2xhc3MgTWFya2luZ0NvbnN0cmFpbnRTb2x2ZXI7CiBjbGFzcyBVbmNvbmRpdGlvbmFsRmluYWxp
emVyOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV2VhazsKIGNsYXNzIFdlYWtSZWZlcmVu
Y2VIYXJ2ZXN0ZXI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNl
OwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBXcml0ZUJhcnJp
ZXJCYXNlOwogCiB0eXBlZGVmIHVpbnQzMl90IEhlYXBWZXJzaW9uOwogCkBAIC03MCwxMSArNzEs
MTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBhcHBlbmQoQ29uc2VydmF0aXZlUm9vdHMmKTsKICAg
ICAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFwcGVuZChjb25zdCBXcml0ZUJhcnJp
ZXJCYXNlPFQ+Jik7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhcHBlbmRIaWRkZW4o
Y29uc3QgV3JpdGVCYXJyaWVyQmFzZTxUPiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFRyYWl0cz4gdm9pZCBhcHBlbmQoY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxULCBUcmFp
dHM+Jik7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPiB2b2lkIGFw
cGVuZEhpZGRlbihjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz4mKTsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBJdGVyYXRvcj4gdm9pZCBhcHBlbmQoSXRlcmF0b3IgYmVnaW4gLCBJdGVy
YXRvciBlbmQpOwotICAgIHZvaWQgYXBwZW5kVmFsdWVzKGNvbnN0IFdyaXRlQmFycmllckJhc2U8
VW5rbm93bj4qLCBzaXplX3QgY291bnQpOwotICAgIHZvaWQgYXBwZW5kVmFsdWVzSGlkZGVuKGNv
bnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qLCBzaXplX3QgY291bnQpOworICAgIHZvaWQg
YXBwZW5kVmFsdWVzKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93biwgRHVtYlZhbHVlVHJh
aXRzPFVua25vd24+PiosIHNpemVfdCBjb3VudCk7CisgICAgdm9pZCBhcHBlbmRWYWx1ZXNIaWRk
ZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duLCBEdW1iVmFsdWVUcmFpdHM8VW5rbm93
bj4+Kiwgc2l6ZV90IGNvdW50KTsKICAgICAKICAgICAvLyBUaGVzZSBkb24ndCByZXF1aXJlIHlv
dSB0byBwcm92ZSB0aGF0IHlvdSBoYXZlIGEgV3JpdGVCYXJyaWVyPD4uIFRoYXQgbWFrZXMgc2Vu
c2UKICAgICAvLyBmb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9T
bG90VmlzaXRvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNp
dG9ySW5saW5lcy5oCmluZGV4IGFiMDk4OTMuLmYzNmQxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCkBAIC0xMDMsMTQgKzEwMywxNCBA
QCBBTFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZChjb25zdCBXZWFrPFQ+JiB3
ZWFrKQogICAgIGFwcGVuZFVuYmFycmllcmVkKHdlYWsuZ2V0KCkpOwogfQogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPgotQUxXQVlTX0lOTElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBlbmQoY29uc3Qg
V3JpdGVCYXJyaWVyQmFzZTxUPiYgc2xvdCkKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1l
IFRyYWl0cz4KK0FMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6YXBwZW5kKGNvbnN0IFdy
aXRlQmFycmllckJhc2U8VCwgVHJhaXRzPiYgc2xvdCkKIHsKICAgICBhcHBlbmRVbmJhcnJpZXJl
ZChzbG90LmdldCgpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLUFMV0FZU19JTkxJTkUg
dm9pZCBTbG90VmlzaXRvcjo6YXBwZW5kSGlkZGVuKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VD4m
IHNsb3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+CitBTFdBWVNfSU5M
SU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZEhpZGRlbihjb25zdCBXcml0ZUJhcnJpZXJCYXNl
PFQsIFRyYWl0cz4mIHNsb3QpCiB7CiAgICAgYXBwZW5kSGlkZGVuVW5iYXJyaWVyZWQoc2xvdC5n
ZXQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NK
U1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgKaW5k
ZXggOWYzOWEzYy4uNTliNDM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q0pTVmFsdWUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIw
MDEgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEg
UGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
QEAgLTY4LDggKzY4LDEzIEBAIHN0cnVjdCBDbGFzc0luZm87CiBzdHJ1Y3QgRHVtcENvbnRleHQ7
CiBzdHJ1Y3QgSW5zdHJ1Y3Rpb247CiBzdHJ1Y3QgTWV0aG9kVGFibGU7CitlbnVtIGNsYXNzIFVu
a25vd24geyB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZTsK
K3RlbXBsYXRlIDxjbGFzcyBULCB0eXBlbmFtZSBUcmFpdHM+IGNsYXNzIFdyaXRlQmFycmllckJh
c2U7Cit0ZW1wbGF0ZTxjbGFzcyBUPgordXNpbmcgV3JpdGVCYXJyaWVyVHJhaXRzU2VsZWN0ID0g
dHlwZW5hbWUgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWU8VCwgVW5rbm93bj46OnZhbHVl
LAorICAgIER1bWJWYWx1ZVRyYWl0czxUPiwgRHVtYlB0clRyYWl0czxUPgorPjo6dHlwZTsKIAog
ZW51bSBQcmVmZXJyZWRQcmltaXRpdmVUeXBlIHsgTm9QcmVmZXJlbmNlLCBQcmVmZXJOdW1iZXIs
IFByZWZlclN0cmluZyB9OwogZW51bSBFQ01BTW9kZSB7IFN0cmljdE1vZGUsIE5vdFN0cmljdE1v
ZGUgfTsKQEAgLTQ1Myw3ICs0NTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gSlNWYWx1ZShXcml0ZUJhcnJpZXJCYXNlPFQ+KTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVD4gSlNWYWx1ZShXcml0ZUJhcnJpZXJCYXNlPFQsIFdyaXRlQmFycmll
clRyYWl0c1NlbGVjdDxUPj4pOwogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUYWcg
eyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKICAgICBKU1ZhbHVlKEhhc2hUYWJsZURlbGV0ZWRW
YWx1ZVRhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NQ
b2lzb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1BvaXNvbi5oCmluZGV4
IGNlZDAxMjAuLmI1N2NiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ1BvaXNvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1Bv
aXNvbi5oCkBAIC01MSw2ICs1MSwxMCBAQCBlbnVtIFBvaXNvbiB7CiAgICAgSlNXZWJBc3NlbWJs
eVRhYmxlUG9pc29uLAogICAgIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZVBvaXNvbiwKICAgICBV
bmxpbmtlZFNvdXJjZUNvZGVQb2lzb24sCisgICAgV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2VQb2lz
b24sCisgICAgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmRQb2lzb24sCisgICAgV2ViQXNzZW1ibHlU
b0pTQ2FsbGVlUG9pc29uLAorICAgIFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uUG9pc29uLAog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dyaXRlQmFycmllci5oCmluZGV4IGE5OTEzODYuLjAzNDcxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDExIEBACiAK
ICNpbmNsdWRlICJHQ0Fzc2VydGlvbnMuaCIKICNpbmNsdWRlICJIYW5kbGVUeXBlcy5oIgorI2lu
Y2x1ZGUgIkpTQ1BvaXNvbi5oIgorI2luY2x1ZGUgPHd0Zi9EdW1iUHRyVHJhaXRzLmg+CisjaW5j
bHVkZSA8d3RmL0R1bWJWYWx1ZVRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5oPgor
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzgsNyArNDMs
MTIgQEAgY2xhc3MgSlNDZWxsOwogY2xhc3MgVk07CiBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIAot
dGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZTsKK3RlbXBsYXRlPGNsYXNz
IFQ+Cit1c2luZyBXcml0ZUJhcnJpZXJUcmFpdHNTZWxlY3QgPSB0eXBlbmFtZSBzdGQ6OmNvbmRp
dGlvbmFsPHN0ZDo6aXNfc2FtZTxULCBVbmtub3duPjo6dmFsdWUsCisgICAgRHVtYlZhbHVlVHJh
aXRzPFQ+LCBEdW1iUHRyVHJhaXRzPFQ+Cis+Ojp0eXBlOworCit0ZW1wbGF0ZTxjbGFzcyBULCB0
eXBlbmFtZSBUcmFpdHMgPSBXcml0ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8VD4+IGNsYXNzIFdyaXRl
QmFycmllckJhc2U7CiB0ZW1wbGF0ZTw+IGNsYXNzIFdyaXRlQmFycmllckJhc2U8SlNWYWx1ZT47
CiAKIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2xvd1ZhbGlkYXRlQ2VsbChKU0NlbGwqKTsKQEAg
LTY2LDE1ICs3NiwxOCBAQCB0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCB2YWxpZGF0ZUNl
bGwoVCkKICNlbmRpZgogCiAvLyBXZSBoYXZlIGEgc2VwYXJhdGUgYmFzZSBjbGFzcyB3aXRoIG5v
IGNvbnN0cnVjdG9ycyBmb3IgdXNlIGluIFVuaW9ucy4KLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBj
bGFzcyBXcml0ZUJhcnJpZXJCYXNlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBU
cmFpdHM+IGNsYXNzIFdyaXRlQmFycmllckJhc2UgeworICAgIHVzaW5nIFN0b3JhZ2VUeXBlID0g
dHlwZW5hbWUgVHJhaXRzOjpTdG9yYWdlVHlwZTsKKwogcHVibGljOgogICAgIHZvaWQgc2V0KFZN
JiwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpOwogICAgIAogICAgIC8vIFRoaXMgaXMg
bWVhbnQgdG8gYmUgdXNlZCBsaWtlIG9wZXJhdG9yPSwgYnV0IGlzIGNhbGxlZCBjb3B5RnJvbSBp
bnN0ZWFkLCBpbgogICAgIC8vIG9yZGVyIHRvIGtpbmRseSBpbmZvcm0gdGhlIEMrKyBjb21waWxl
ciB0aGF0IGl0cyBhZHZpY2UgaXMgbm90IGFwcHJlY2lhdGVkLgotICAgIHZvaWQgY29weUZyb20o
Y29uc3QgV3JpdGVCYXJyaWVyQmFzZTxUPiYgb3RoZXIpCisgICAgdm9pZCBjb3B5RnJvbShjb25z
dCBXcml0ZUJhcnJpZXJCYXNlJiBvdGhlcikKICAgICB7Ci0gICAgICAgIG1fY2VsbCA9IG90aGVy
Lm1fY2VsbDsKKyAgICAgICAgLy8gRklYTUUgYWRkIHZlcnNpb24gd2l0aCBkaWZmZXJlbnQgVHJh
aXRzIG9uY2UgbmVlZGVkLgorICAgICAgICBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgb3RoZXIu
bV9jZWxsKTsKICAgICB9CiAKICAgICB2b2lkIHNldE1heUJlTnVsbChWTSYsIGNvbnN0IEpTQ2Vs
bCogb3duZXIsIFQqIHZhbHVlKTsKQEAgLTg2LDMxICs5OSwzOSBAQCBwdWJsaWM6CiAgICAgVCog
Z2V0KCkgY29uc3QKICAgICB7CiAgICAgICAgIC8vIENvcHkgbV9jZWxsIHRvIGEgbG9jYWwgdG8g
YXZvaWQgbXVsdGlwbGUtcmVhZCBpc3N1ZXMuIChTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTEw
ODU0PikKLSAgICAgICAgSlNDZWxsKiBjZWxsID0gbV9jZWxsOworICAgICAgICBTdG9yYWdlVHlw
ZSBjZWxsID0gbV9jZWxsOwogICAgICAgICBpZiAoY2VsbCkKLSAgICAgICAgICAgIHZhbGlkYXRl
Q2VsbChjZWxsKTsKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KHN0YXRpY19j
YXN0PHZvaWQqPihjZWxsKSk7CisgICAgICAgICAgICB2YWxpZGF0ZUNlbGwocmVpbnRlcnByZXRf
Y2FzdDxKU0NlbGwqPihzdGF0aWNfY2FzdDx2b2lkKj4oVHJhaXRzOjp1bndyYXAoY2VsbCkpKSk7
CisgICAgICAgIHJldHVybiBUcmFpdHM6OnVud3JhcChjZWxsKTsKICAgICB9CiAKICAgICBUKiBv
cGVyYXRvciooKSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2VsbCk7Ci0gICAgICAg
IHZhbGlkYXRlQ2VsbDxUPihzdGF0aWNfY2FzdDxUKj4obV9jZWxsKSk7Ci0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxUKj4obV9jZWxsKTsKKyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1f
Y2VsbDsKKyAgICAgICAgQVNTRVJUKGNlbGwpOworICAgICAgICB2YWxpZGF0ZUNlbGw8VD4oVHJh
aXRzOjp1bndyYXAoY2VsbCkpOworICAgICAgICByZXR1cm4gVHJhaXRzOjp1bndyYXAoY2VsbCk7
CiAgICAgfQogCiAgICAgVCogb3BlcmF0b3ItPigpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NF
UlQobV9jZWxsKTsKLSAgICAgICAgdmFsaWRhdGVDZWxsKHN0YXRpY19jYXN0PFQqPihtX2NlbGwp
KTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihtX2NlbGwpOworICAgICAgICBTdG9y
YWdlVHlwZSBjZWxsID0gbV9jZWxsOworICAgICAgICBBU1NFUlQoY2VsbCk7CisgICAgICAgIHZh
bGlkYXRlQ2VsbChUcmFpdHM6OnVud3JhcChjZWxsKSk7CisgICAgICAgIHJldHVybiBUcmFpdHM6
OnVud3JhcChjZWxsKTsKICAgICB9CiAKLSAgICB2b2lkIGNsZWFyKCkgeyBtX2NlbGwgPSAwOyB9
Ci0gICAgCi0gICAgVCoqIHNsb3QoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqKj4oJm1f
Y2VsbCk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgbnVs
bHB0cik7IH0KKworICAgIFQqKiBzbG90KCkKKyAgICB7CisgICAgICAgIGlmIChzdGQ6OmlzX3Nh
bWU8VHJhaXRzLCBEdW1iUHRyVHJhaXRzPFQ+Pjo6dmFsdWUpCisgICAgICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxUKio+KCZtX2NlbGwpOworICAgICAgICAvLyBTbG90IGNhbm5vdCBi
ZSB1c2VkIHdoZW4gcG9pbnRlcnMgYXJlbid0IHN0b3JlZCBhcy1pcy4KKyAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0
b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fY2VsbDsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9y
IGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fY2VsbDsgfQogICAgIAogICAgIGJvb2wgb3BlcmF0
b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fY2VsbDsgfQogCkBAIC0xMTksMTYgKzE0MCwxNiBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKFdSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQogICAgICAgICBXcml0
ZUJhcnJpZXJDb3VudGVyczo6dXNlc1dpdGhvdXRCYXJyaWVyRnJvbUNwcC5jb3VudCgpOwogI2Vu
ZGlmCi0gICAgICAgIHRoaXMtPm1fY2VsbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4odmFs
dWUpOworICAgICAgICBUcmFpdHM6OmV4Y2hhbmdlKHRoaXMtPm1fY2VsbCwgdmFsdWUpOwogICAg
IH0KIAotICAgIFQqIHVudmFsaWRhdGVkR2V0KCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxUKj4oc3RhdGljX2Nhc3Q8dm9pZCo+KG1fY2VsbCkpOyB9CisgICAgVCogdW52YWxpZGF0
ZWRHZXQoKSBjb25zdCB7IHJldHVybiBUcmFpdHM6OnVud3JhcChtX2NlbGwpOyB9CiAKIHByaXZh
dGU6Ci0gICAgSlNDZWxsKiBtX2NlbGw7CisgICAgU3RvcmFnZVR5cGUgbV9jZWxsOwogfTsKIAot
dGVtcGxhdGUgPD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiB7Cit0ZW1wbGF0ZSA8
PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24sIER1bWJWYWx1ZVRyYWl0czxVbmtub3du
Pj4gewogcHVibGljOgogICAgIHZvaWQgc2V0KFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgSlNW
YWx1ZSk7CiAgICAgdm9pZCBzZXRXaXRob3V0V3JpdGVCYXJyaWVyKEpTVmFsdWUgdmFsdWUpCkBA
IC0xNjUsOSArMTg2LDEyIEBAIHByaXZhdGU6CiAgICAgRW5jb2RlZEpTVmFsdWUgbV92YWx1ZTsK
IH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXIgOiBwdWJsaWMg
V3JpdGVCYXJyaWVyQmFzZTxUPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJh
aXRzID0gV3JpdGVCYXJyaWVyVHJhaXRzU2VsZWN0PFQ+PgorY2xhc3MgV3JpdGVCYXJyaWVyIDog
cHVibGljIFdyaXRlQmFycmllckJhc2U8VCwgVHJhaXRzPiB7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IFRy
YWl0czo6cG9pc29uOworCiAgICAgV3JpdGVCYXJyaWVyKCkKICAgICB7CiAgICAgICAgIHRoaXMt
PnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoMCk7CkBAIC0xOTIsOSArMjE2LDEyIEBAIHB1YmxpYzoK
IH07CiAKIGVudW0gVW5kZWZpbmVkV3JpdGVCYXJyaWVyVGFnVHlwZSB7IFVuZGVmaW5lZFdyaXRl
QmFycmllclRhZyB9OwotdGVtcGxhdGUgPD4gY2xhc3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDog
cHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4gewordGVtcGxhdGUgPD4KK2NsYXNzIFdy
aXRlQmFycmllcjxVbmtub3duLCBEdW1iVmFsdWVUcmFpdHM8VW5rbm93bj4+IDogcHVibGljIFdy
aXRlQmFycmllckJhc2U8VW5rbm93biwgRHVtYlZhbHVlVHJhaXRzPFVua25vd24+PiB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBh
dXRvIHBvaXNvbiA9IER1bWJWYWx1ZVRyYWl0czxVbmtub3duPjo6cG9pc29uOworCiAgICAgV3Jp
dGVCYXJyaWVyKCkKICAgICB7CiAgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIo
SlNWYWx1ZSgpKTsKQEAgLTIxNiw5ICsyNDMsMTggQEAgcHVibGljOgogICAgIH0KIH07CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBVLCB0eXBlbmFtZSBWPiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFdyaXRlQmFycmllckJhc2U8VT4mIGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWPiYg
cmhzKQordGVtcGxhdGUgPHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFRyYWl0c1Us
IHR5cGVuYW1lIFRyYWl0c1Y+CitpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFy
cmllckJhc2U8VSwgVHJhaXRzVT4mIGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWLCBUcmFp
dHNWPiYgcmhzKQogewogICAgIHJldHVybiBsaHMuZ2V0KCkgPT0gcmhzLmdldCgpOwogfQogCit0
ZW1wbGF0ZTx1aW50MzJfdCBrZXksIGNsYXNzIFQ+Cit1c2luZyBQb2lzb25lZFdyaXRlQmFycmll
clRyYWl0c1NlbGVjdCA9IHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQs
IFVua25vd24+Ojp2YWx1ZSwKKyAgICBXVEY6OkNvbnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM8
a2V5LCBUPiwgV1RGOjpDb25zdEV4cHJQb2lzb25lZFB0clRyYWl0czxrZXksIFQ+Cis+Ojp0eXBl
OworCit0ZW1wbGF0ZSA8dWludDMyX3Qga2V5LCB0eXBlbmFtZSBUPgordXNpbmcgUG9pc29uZWRX
cml0ZUJhcnJpZXIgPSBXcml0ZUJhcnJpZXI8VCwgUG9pc29uZWRXcml0ZUJhcnJpZXJUcmFpdHNT
ZWxlY3Q8a2V5LCBUPj47CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVySW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVySW5saW5lcy5oCmluZGV4IDRiZDJkZDYu
LjllMTEzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRl
QmFycmllcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0
ZUJhcnJpZXJJbmxpbmVzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzAsOCArMzAsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXQo
Vk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBUcmFpdHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRy
YWl0cz46OnNldChWTSYgdm0sIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAg
IEFTU0VSVCh2YWx1ZSk7CiAgICAgQVNTRVJUKCFPcHRpb25zOjp1c2VDb25jdXJyZW50SklUKCkg
fHwgIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CkBAIC0zOSwyMiArMzksMjIgQEAgaW5saW5lIHZv
aWQgV3JpdGVCYXJyaWVyQmFzZTxUPjo6c2V0KFZNJiB2bSwgY29uc3QgSlNDZWxsKiBvd25lciwg
VCogdmFsdWUpCiAgICAgc2V0RWFybHlWYWx1ZSh2bSwgb3duZXIsIHZhbHVlKTsKIH0KIAotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXRN
YXlCZU51bGwoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJC
YXNlPFQsIFRyYWl0cz46OnNldE1heUJlTnVsbChWTSYgdm0sIGNvbnN0IEpTQ2VsbCogb3duZXIs
IFQqIHZhbHVlKQogewogICAgIGlmICh2YWx1ZSkKICAgICAgICAgdmFsaWRhdGVDZWxsKHZhbHVl
KTsKICAgICBzZXRFYXJseVZhbHVlKHZtLCBvd25lciwgdmFsdWUpOwogfQogCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KLWlubGluZSB2b2lkIFdyaXRlQmFycmllckJhc2U8VD46OnNldEVhcmx5VmFs
dWUoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQs
IFRyYWl0cz46OnNldEVhcmx5VmFsdWUoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2
YWx1ZSkKIHsKLSAgICB0aGlzLT5tX2NlbGwgPSByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KHZh
bHVlKTsKLSAgICB2bS5oZWFwLndyaXRlQmFycmllcihvd25lciwgdGhpcy0+bV9jZWxsKTsKKyAg
ICBUcmFpdHM6OmV4Y2hhbmdlKHRoaXMtPm1fY2VsbCwgdmFsdWUpOworICAgIHZtLmhlYXAud3Jp
dGVCYXJyaWVyKG93bmVyLCBzdGF0aWNfY2FzdDxKU0NlbGwqPih2YWx1ZSkpOwogfQogCi1pbmxp
bmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0Nl
bGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQoraW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxV
bmtub3duLCBEdW1iVmFsdWVUcmFpdHM8VW5rbm93bj4+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0Nl
bGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIEFTU0VSVCghT3B0aW9uczo6dXNlQ29u
Y3VycmVudEpJVCgpIHx8ICFpc0NvbXBpbGF0aW9uVGhyZWFkKCkpOwogICAgIG1fdmFsdWUgPSBK
U1ZhbHVlOjplbmNvZGUodmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUluc3RhbmNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5z
dGFuY2UuaAppbmRleCAyYzA4MDAwLi5hYTlmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtSW5zdGFuY2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0xMDAsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICBJbnN0
YW5jZSogdGFyZ2V0SW5zdGFuY2UgeyBudWxscHRyIH07CiAgICAgICAgIFdhc206Oldhc21FbnRy
eXBvaW50TG9hZExvY2F0aW9uIHdhc21FbnRyeXBvaW50IHsgbnVsbHB0ciB9OwogICAgICAgICB2
b2lkKiB3YXNtVG9FbWJlZGRlclN0dWJFeGVjdXRhYmxlQWRkcmVzcyB7IG51bGxwdHIgfTsKLSAg
ICAgICAgdm9pZCogaW1wb3J0RnVuY3Rpb24geyBudWxscHRyIH07IC8vIEluIGEgSlMgZW1iZWRk
aW5nLCB0aGlzIGlzIGEgV3JpdGVCYXJyaWVyPEpTT2JqZWN0Pi4KKyAgICAgICAgdm9pZCogaW1w
b3J0RnVuY3Rpb24geyBudWxscHRyIH07IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEg
UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pi4KICAgICB9OwogICAgIHVuc2lnbmVkIG51bUltcG9y
dEZ1bmN0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtSW1wb3J0RnVuY3Rpb25zOyB9CiAgICAg
SW1wb3J0RnVuY3Rpb25JbmZvKiBpbXBvcnRGdW5jdGlvbkluZm8oc2l6ZV90IGltcG9ydEZ1bmN0
aW9uTnVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseUluc3RhbmNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlJbnN0YW5jZS5jcHAKaW5kZXggY2JlZjM2OC4uMzRhYzI3YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2Uu
Y3BwCkBAIC01NCw3ICs1NCw3IEBAIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJs
eUluc3RhbmNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXCiAgICAgLCBtX2lu
c3RhbmNlKFdURk1vdmUoaW5zdGFuY2UpKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCB0aGlzLT5pbnN0YW5jZSgpLm51bUltcG9ydEZ1bmN0aW9ucygpOyArK2kpCi0gICAgICAgIG5l
dyAodGhpcy0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+
PihpKSkgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PigpOworICAgICAgICBuZXcgKHRoaXMtPmluc3Rh
bmNlKCkuaW1wb3J0RnVuY3Rpb248UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oaSkpIFBvaXNv
bmVkQmFycmllcjxKU09iamVjdD4oKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLCBKU01v
ZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0KQpAQCAtNjUsNyArNjUs
NyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBK
U1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAgICAgbV9tb2R1bGUuc2V0KHZtLCB0aGlzLCBt
b2R1bGUpOwogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2bSwgdGhpcywgbW9kdWxl
TmFtZXNwYWNlT2JqZWN0KTsKICAgICBtX2NhbGxlZS5zZXQodm0sIHRoaXMsIG1vZHVsZS0+Y2Fs
bGVlKCkpOwotICAgIAorCiAgICAgaGVhcCgpLT5yZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCht
X2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRlZCgpKTsKIH0KIApAQCAtODgsNyArODgsNyBA
QCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGws
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
Y2FsbGVlKTsKICAgICB2aXNpdG9yLnJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0
LT5tX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgdGhpc09iamVjdC0+aW5zdGFuY2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsg
KytpKQotICAgICAgICB2aXNpdG9yLmFwcGVuZCgqdGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBv
cnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVw
cyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFzc2VtYmx5SW5zdGFuY2UgYWxpdmUuCisgICAgICAgIHZp
c2l0b3IuYXBwZW5kKCp0aGlzT2JqZWN0LT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNv
bmVkQmFycmllcjxKU09iamVjdD4+KGkpKTsgLy8gVGhpcyBhbHNvIGtlZXBzIHRoZSBmdW5jdGlv
bnMnIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBhbGl2ZS4KIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5
SW5zdGFuY2U6OmZpbmFsaXplQ3JlYXRpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIFJlZjxX
YXNtOjpDb2RlQmxvY2s+JiYgd2FzbUNvZGVCbG9jaykKQEAgLTIzNiw3ICsyMzYsNyBAQCBKU1dl
YkFzc2VtYmx5SW5zdGFuY2UqIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6Y3JlYXRlKFZNJiB2bSwg
RXhlY1N0YXRlKiBleGVjLCBKUwogICAgICAgICAgICAgYXV0byogaW5mbyA9IGpzSW5zdGFuY2Ut
Pmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb25JbmZvKG51bUltcG9ydEZ1bmN0aW9ucyk7CiAgICAg
ICAgICAgICBpbmZvLT50YXJnZXRJbnN0YW5jZSA9IGNhbGxlZUluc3RhbmNlOwogICAgICAgICAg
ICAgaW5mby0+d2FzbUVudHJ5cG9pbnQgPSB3YXNtRW50cnlwb2ludDsKLSAgICAgICAgICAgIGpz
SW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248V3JpdGVCYXJyaWVyPEpTT2JqZWN0
Pj4obnVtSW1wb3J0RnVuY3Rpb25zKS0+c2V0KHZtLCBqc0luc3RhbmNlLCBmdW5jdGlvbik7Cisg
ICAgICAgICAgICBqc0luc3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVk
QmFycmllcjxKU09iamVjdD4+KG51bUltcG9ydEZ1bmN0aW9ucyktPnNldCh2bSwganNJbnN0YW5j
ZSwgZnVuY3Rpb24pOwogICAgICAgICAgICAgKytudW1JbXBvcnRGdW5jdGlvbnM7CiAgICAgICAg
ICAgICAvLyB2LiBBcHBlbmQgY2xvc3VyZSB0byBpbXBvcnRzLgogICAgICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJ
bnN0YW5jZS5oCmluZGV4IGQyNWJiY2QuLjE3ODBhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCkBAIC03Nyw3ICs3
NywxMCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZlBvaXNv
bmVkSW5zdGFuY2UoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3Rh
bmNlLCBtX2luc3RhbmNlKTsgfQotICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZDYWxsZWUoKSB7
IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7
IH0KKyAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSB7IHJldHVybiBP
QkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKworICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29u
ZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseUluc3RhbmNlUG9pc29uLCBUPjsKIAogcHJvdGVj
dGVkOgogICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIFJlZjxXYXNt
OjpJbnN0YW5jZT4mJik7CkBAIC05MCwxMiArOTMsMTIgQEAgcHJpdmF0ZToKIAogICAgIFBvaXNv
bmVkUmVmPEpTV2ViQXNzZW1ibHlJbnN0YW5jZVBvaXNvbiwgV2FzbTo6SW5zdGFuY2U+IG1faW5z
dGFuY2U7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7
Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2NrOwot
ICAgIFdyaXRlQmFycmllcjxKU01vZHVsZU5hbWVzcGFjZU9iamVjdD4gbV9tb2R1bGVOYW1lc3Bh
Y2VPYmplY3Q7Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlNZW1vcnk+IG1fbWVtb3J5
OwotICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5VGFibGU+IG1fdGFibGU7Ci0gICAgV3Jp
dGVCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT4gbV9jYWxsZWU7CisgICAgUG9pc29uZWRC
YXJyaWVyPEpTV2ViQXNzZW1ibHlNb2R1bGU+IG1fbW9kdWxlOworICAgIFBvaXNvbmVkQmFycmll
cjxKU1dlYkFzc2VtYmx5Q29kZUJsb2NrPiBtX2NvZGVCbG9jazsKKyAgICBQb2lzb25lZEJhcnJp
ZXI8SlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q+IG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0OworICAg
IFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5TWVtb3J5PiBtX21lbW9yeTsKKyAgICBQb2lz
b25lZEJhcnJpZXI8SlNXZWJBc3NlbWJseVRhYmxlPiBtX3RhYmxlOworICAgIFBvaXNvbmVkQmFy
cmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWU+IG1fY2FsbGVlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5TWVtb3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TWVtb3J5LmgKaW5kZXggOGUxMjAyMi4uODZjZmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaApAQCAtNjgsNyArNjgs
NyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xv
dFZpc2l0b3ImKTsKIAogICAgIFBvaXNvbmVkUmVmPEpTV2ViQXNzZW1ibHlNZW1vcnlQb2lzb24s
IFdhc206Ok1lbW9yeT4gbV9tZW1vcnk7Ci0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXI+
IG1fYnVmZmVyV3JhcHBlcjsKKyAgICBQb2lzb25lZFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5
TWVtb3J5UG9pc29uLCBKU0FycmF5QnVmZmVyPiBtX2J1ZmZlcldyYXBwZXI7CiAgICAgUG9pc29u
ZWRSZWZQdHI8SlNXZWJBc3NlbWJseU1lbW9yeVBvaXNvbiwgQXJyYXlCdWZmZXI+IG1fYnVmZmVy
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseU1vZHVsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseU1vZHVsZS5oCmluZGV4IDIwN2QwM2IuLjA4OWMyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmgKQEAgLTgyLDkgKzgy
LDEzIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBT
bG90VmlzaXRvciYpOwogCiAgICAgUG9pc29uZWRSZWY8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNv
biwgV2FzbTo6TW9kdWxlPiBtX21vZHVsZTsKLSAgICBXcml0ZUJhcnJpZXI8U3ltYm9sVGFibGU+
IG1fZXhwb3J0U3ltYm9sVGFibGU7Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2Rl
QmxvY2s+IG1fY29kZUJsb2Nrc1tXYXNtOjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKLSAgICBXcml0
ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxlZTsKKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJh
cnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNvbiwgVD47CisKKyAgICBQb2lzb25lZEJhcnJp
ZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9sVGFibGU7CisgICAgUG9pc29uZWRCYXJyaWVy
PEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2Nrc1tXYXNtOjpOdW1iZXJPZk1lbW9y
eU1vZGVzXTsKKyAgICBQb2lzb25lZEJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2Nh
bGxlZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5jcHAKaW5kZXggNTdhMTJlMi4uZDcw
YWJlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseVRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5VGFibGUuY3BwCkBAIC02Myw5ICs2Myw5IEBAIEpTV2ViQXNzZW1ibHlUYWJsZTo6SlNX
ZWJBc3NlbWJseVRhYmxlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXYXNtOjpU
CiAgICAgLy8gRklYTUU6IEl0IG1pZ2h0IGJlIHdvcnRoIHRyeWluZyB0byBwcmUtYWxsb2NhdGUg
bWF4aW11bSBoZXJlLiBUaGUgc3BlYyByZWNvbW1lbmRzIGRvaW5nIHNvLgogICAgIC8vIEJ1dCBm
b3Igbm93LCB3ZSdyZSBub3QgZG9pbmcgdGhhdC4KICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxs
b2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFydGVyIGFib3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0
aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1
Ci0gICAgbV9qc0Z1bmN0aW9ucyA9IE1hbGxvY1B0cjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+Pjo6
bWFsbG9jKChzaXplb2YoV3JpdGVCYXJyaWVyPEpTT2JqZWN0PikgKiBDaGVja2VkPHNpemVfdD4o
YWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNhZmVHZXQoKSk7CisgICAgbV9qc0Z1bmN0aW9ucyA9IE1h
bGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoUG9pc29u
ZWRCYXJyaWVyPEpTT2JqZWN0PikgKiBDaGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkp
KS51bnNhZmVHZXQoKSk7CiAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGFsbG9jYXRlZExl
bmd0aCgpOyArK2kpCi0gICAgICAgIG5ldygmbV9qc0Z1bmN0aW9ucy5nZXQoKVtpXSkgV3JpdGVC
YXJyaWVyPEpTT2JqZWN0PigpOworICAgICAgICBuZXcoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0p
IFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5VGFi
bGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKQEAgLTEwNCwxMCArMTA0LDEwIEBAIGJvb2wgSlNX
ZWJBc3NlbWJseVRhYmxlOjpncm93KHVpbnQzMl90IGRlbHRhKQogICAgIHNpemVfdCBuZXdMZW5n
dGggPSBncmV3LnZhbHVlKCk7CiAgICAgaWYgKG5ld0xlbmd0aCA+IG1fdGFibGUtPmFsbG9jYXRl
ZExlbmd0aChvbGRMZW5ndGgpKQogICAgICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVz
IGFuZCBjb3VsZCBiZSBzbWFydGVyIGFib3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1l
bW9yeSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAg
ICAgIG1fanNGdW5jdGlvbnMucmVhbGxvYygoc2l6ZW9mKFdyaXRlQmFycmllcjxKU09iamVjdD4p
ICogQ2hlY2tlZDxzaXplX3Q+KG1fdGFibGUtPmFsbG9jYXRlZExlbmd0aChuZXdMZW5ndGgpKSku
dW5zYWZlR2V0KCkpOworICAgICAgICBtX2pzRnVuY3Rpb25zLnJlYWxsb2MoKHNpemVvZihQb2lz
b25lZEJhcnJpZXI8SlNPYmplY3Q+KSAqIENoZWNrZWQ8c2l6ZV90PihtX3RhYmxlLT5hbGxvY2F0
ZWRMZW5ndGgobmV3TGVuZ3RoKSkpLnVuc2FmZUdldCgpKTsKIAogICAgIGZvciAoc2l6ZV90IGkg
PSBvbGRMZW5ndGg7IGkgPCBtX3RhYmxlLT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKTsgKytp
KQotICAgICAgICBuZXcgKCZtX2pzRnVuY3Rpb25zLmdldCgpW2ldKSBXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+KCk7CisgICAgICAgIG5ldyAoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVk
QmFycmllcjxKU09iamVjdD4oKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTIxLDcgKzEy
MSw3IEBAIEpTT2JqZWN0KiBKU1dlYkFzc2VtYmx5VGFibGU6OmdldEZ1bmN0aW9uKHVpbnQzMl90
IGluZGV4KQogdm9pZCBKU1dlYkFzc2VtYmx5VGFibGU6OmNsZWFyRnVuY3Rpb24odWludDMyX3Qg
aW5kZXgpCiB7CiAgICAgbV90YWJsZS0+Y2xlYXJGdW5jdGlvbihpbmRleCk7Ci0gICAgbV9qc0Z1
bmN0aW9ucy5nZXQoKVtpbmRleCAmIG1fdGFibGUtPm1hc2soKV0gPSBXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+KCk7CisgICAgbV9qc0Z1bmN0aW9ucy5nZXQoKVtpbmRleCAmIG1fdGFibGUtPm1hc2so
KV0gPSBQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+KCk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJs
eVRhYmxlOjpzZXRGdW5jdGlvbihWTSYgdm0sIHVpbnQzMl90IGluZGV4LCBXZWJBc3NlbWJseUZ1
bmN0aW9uKiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseVRhYmxlLmgKaW5kZXggZGM3NGE4Zi4uYzU0MGU3NiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKQEAgLTY3
LDcgKzY3LDExIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0Nl
bGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgUG9pc29uZWRSZWY8SlNXZWJBc3NlbWJseVRhYmxl
UG9pc29uLCBXYXNtOjpUYWJsZT4gbV90YWJsZTsKLSAgICBNYWxsb2NQdHI8V3JpdGVCYXJyaWVy
PEpTT2JqZWN0Pj4gbV9qc0Z1bmN0aW9uczsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Cisg
ICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3Nl
bWJseVRhYmxlUG9pc29uLCBUPjsKKworICAgIE1hbGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNP
YmplY3Q+PiBtX2pzRnVuY3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKaW5kZXggZTYyZjhjZi4uNmIzYTQ2
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2
LDEzICs0NiwxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFdhc20gewogCiB1c2luZyBK
SVQgPSBDQ2FsbEhlbHBlcnM7CiAKLXN0YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxs
KEpJVCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRleCwgR1BSUmVnIHJlc3VsdCkKK3N0YXRpYyB2
b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRl
eCwgR1BSUmVnIHNjcmF0Y2gsIEdQUlJlZyByZXN1bHQpCiB7CiAgICAgLy8gV2UncmUgY2FsbGlu
ZyBvdXQgb2YgdGhlIGN1cnJlbnQgV2ViQXNzZW1ibHkuSW5zdGFuY2UuIFRoYXQgSW5zdGFuY2Ug
aGFzIGEgbGlzdCBvZiBhbGwgaXRzIGltcG9ydCBmdW5jdGlvbnMuCi0gICAgaml0LmxvYWRXYXNt
Q29udGV4dEluc3RhbmNlKHJlc3VsdCk7Ci0gICAgaml0LmxvYWRQdHIoSklUOjpBZGRyZXNzKHJl
c3VsdCwgSW5zdGFuY2U6Om9mZnNldE9mSW1wb3J0RnVuY3Rpb24oaW1wb3J0SW5kZXgpKSwgcmVz
dWx0KTsKKyAgICBqaXQubG9hZFdhc21Db250ZXh0SW5zdGFuY2Uoc2NyYXRjaCk7CisgICAgaml0
LmxvYWRQdHIoSklUOjpBZGRyZXNzKHNjcmF0Y2gsIEluc3RhbmNlOjpvZmZzZXRPZkltcG9ydEZ1
bmN0aW9uKGltcG9ydEluZGV4KSksIHNjcmF0Y2gpOworICAgIGppdC5tb3ZlKENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpT
T2JqZWN0Pjo6cG9pc29uKSwgcmVzdWx0KTsKKyAgICBqaXQueG9yNjQoc2NyYXRjaCwgcmVzdWx0
KTsKIH0KLSAgICAKKwogc3RhdGljIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZiwgQmlu
ZGluZ0ZhaWx1cmU+IGhhbmRsZUJhZEk2NFVzZShWTSogdm0sIEpJVCYgaml0LCBjb25zdCBTaWdu
YXR1cmUmIHNpZ25hdHVyZSwgdW5zaWduZWQgaW1wb3J0SW5kZXgpCiB7CiAgICAgdW5zaWduZWQg
YXJnQ291bnQgPSBzaWduYXR1cmUuYXJndW1lbnRDb3VudCgpOwpAQCAtODQsOSArODYsMTQgQEAg
c3RhdGljIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IGhh
bmRsZUJhZEk2NFVzZShWTSogdm0sIEoKIAogICAgICAgICAvLyBTdG9yZSBDYWxsZWUuCiAgICAg
ICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQ
UjEsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwot
ICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1l
bnRHUFIxLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjIpOworICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9m
UG9pc29uZWRDYWxsZWUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMik7CisgICAgICAgIGppdC5t
b3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9p
c29uZWRCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFy
Z3VtZW50R1BSMyk7CisgICAgICAgIGppdC54b3I2NChHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQ
UkluZm86OmFyZ3VtZW50R1BSMik7CiAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1
bWVudEdQUjIsIEpJVDo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZy
YW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwog
CisgICAgICAgIC8vIExldCdzIGJlIHBhcmFub2lkIG9uIHRoZSBleGNlcHRpb24gcGF0aCBhbmQg
emVybyBvdXQgdGhlIHBvaXNvbiBpbnN0ZWFkIG9mIGxlYXZpbmcgaXQgaW4gYW4gYXJndW1lbnQg
R1BSLgorICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSwgR1BS
SW5mbzo6YXJndW1lbnRHUFIzKTsKKwogICAgICAgICBhdXRvIGNhbGwgPSBqaXQuY2FsbCgpOwog
ICAgICAgICBqaXQuanVtcFRvRXhjZXB0aW9uSGFuZGxlcigqdm0pOwogCkBAIC0yODQsMTAgKzI5
MSwxMiBAQCBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3
YXNtVG9KUyhWTSogdm0sIEJhZzxDYWxsTGlua0luZgogICAgICAgICAKICAgICAgICAgaml0Lmxv
YWRXYXNtQ29udGV4dEluc3RhbmNlKEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIGpp
dC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIElu
c3RhbmNlOjpvZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAg
ICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIw
LCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1
bWVudEdQUjApOworICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BS
SW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mUG9pc29u
ZWRDYWxsZWUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CisgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRC
YXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFyZ3VtZW50
R1BSMSk7CisgICAgICAgIGppdC54b3I2NChHUFJJbmZvOjphcmd1bWVudEdQUjEsIEdQUkluZm86
OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQ
UjAsIEpJVDo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogICAgICAg
ICAKLSAgICAgICAgbWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BS
SW5mbzo6YXJndW1lbnRHUFIxKTsKKyAgICAgICAgbWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwoaml0
LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6YXJndW1lbnRHUFIyLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjEpOwogICAgICAgICBzdGF0aWNfYXNzZXJ0KEdQUkluZm86Om51bWJlck9mQXJndW1lbnRSZWdp
c3RlcnMgPj0gNCwgIldlIHJlbHkgb24gdGhpcyB3aXRoIHRoZSBjYWxsIGJlbG93LiIpOwogICAg
ICAgICBqaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUkluZm86OmFyZ3VtZW50R1BS
MSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc2lnbmF0dXJlSW5kZXgpLCBDQ2FsbEhlbHBl
cnM6OlRydXN0ZWRJbW1QdHIoYnVmZmVyKSk7CiAgICAgICAgIGF1dG8gY2FsbCA9IGppdC5jYWxs
KCk7CkBAIC00NjUsMTUgKzQ3NCwxNyBAQCBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYs
IEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9KUyhWTSogdm0sIEJhZzxDYWxsTGlua0luZgogICAgICAg
ICB9CiAgICAgfQogCisgICAgR1BSUmVnIGltcG9ydEpTQ2VsbEdQUlJlZyA9IEdQUkluZm86OnJl
Z1QwOyAvLyBDYWxsZWUgbmVlZHMgdG8gYmUgaW4gcmVnVDAgZm9yIHNsb3cgcGF0aCBiZWxvdy4K
KwogICAgIGppdC5sb2FkV2FzbUNvbnRleHRJbnN0YW5jZShHUFJJbmZvOjphcmd1bWVudEdQUjAp
OwogICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVu
dEdQUjAsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjAp
OwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVu
dEdQUjAsIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6b2Zmc2V0T2ZDYWxsZWUoKSksIEdQUkluZm86
OmFyZ3VtZW50R1BSMCk7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQ
UkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZlBvaXNv
bmVkQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIGppdC5tb3ZlKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJy
aWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT46OnBvaXNvbiksIGltcG9ydEpTQ2VsbEdQUlJlZyk7
CisgICAgaml0LnhvcjY0KGltcG9ydEpTQ2VsbEdQUlJlZywgR1BSSW5mbzo6YXJndW1lbnRHUFIw
KTsKICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKSVQ6OkFkZHJlc3Mo
R1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRp
Y19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKIAotICAgIEdQUlJlZyBpbXBvcnRKU0Nl
bGxHUFJSZWcgPSBHUFJJbmZvOjpyZWdUMDsgLy8gQ2FsbGVlIG5lZWRzIHRvIGJlIGluIHJlZ1Qw
IGZvciBzbG93IHBhdGggYmVsb3cuCiAgICAgQVNTRVJUKCF3YXNtQ0MubV9jYWxsZWVTYXZlUmVn
aXN0ZXJzLmdldChpbXBvcnRKU0NlbGxHUFJSZWcpKTsKLQotICAgIG1hdGVyaWFsaXplSW1wb3J0
SlNDZWxsKGppdCwgaW1wb3J0SW5kZXgsIGltcG9ydEpTQ2VsbEdQUlJlZyk7CisgICAgbWF0ZXJp
YWxpemVJbXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6YXJndW1lbnRHUFIw
LCBpbXBvcnRKU0NlbGxHUFJSZWcpOwogCiAgICAgaml0LnN0b3JlNjQoaW1wb3J0SlNDZWxsR1BS
UmVnLCBjYWxsZWVGcmFtZS53aXRoT2Zmc2V0KENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRp
Y19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAgICBqaXQuc3RvcmUzMihKSVQ6OlRy
dXN0ZWRJbW0zMihudW1iZXJPZlBhcmFtZXRlcnMpLCBjYWxsZWVGcmFtZS53aXRoT2Zmc2V0KENh
bGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdp
c3RlcikpICsgUGF5bG9hZE9mZnNldCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmgKaW5kZXggNDk3M2U0ZC4uZDE3
MTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlGdW5jdGlvbkJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJB
c3NlbWJseUZ1bmN0aW9uQmFzZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ5LDcgKzQ5LDggQEAgcHJvdGVjdGVkOgogICAgIHN0YXRp
YyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIHVuc2lnbmVkIGxlbmd0aCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqKTsKICAgICBXZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7Ci0gICAgV3Jp
dGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlJbnN0YW5jZT4gbV9pbnN0YW5jZTsKKworICAgIFBvaXNv
bmVkV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlUG9pc29uLCBKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2U+IG1faW5zdGFuY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVj
b3JkLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxl
UmVjb3JkLmNwcAppbmRleCA3OGJhYTZiLi45NWRiMjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwCkBA
IC0xMTAsNyArMTEwLDcgQEAgdm9pZCBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6bGluayhFeGVj
U3RhdGUqIGV4ZWMsIEpTV2ViQXNzZW1ibHlNb2R1bGUqIG1vZHVsZSwKICAgICAgICAgICAgIC8v
ICAgaWkuIChOb3RlOiBBdCBtb3N0IG9uZSB3cmFwcGVyIGlzIGNyZWF0ZWQgZm9yIGFueSBjbG9z
dXJlLCBzbyBmdW5jIGlzIHVuaXF1ZSwgZXZlbiBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgb2NjdXJy
YW5jZXMgaW4gdGhlIGxpc3QuIE1vcmVvdmVyLCBpZiB0aGUgaXRlbSB3YXMgYW4gaW1wb3J0IHRo
YXQgaXMgYWxyZWFkeSBhbiBFeHBvcnRlZCBGdW5jdGlvbiBFeG90aWMgT2JqZWN0LCB0aGVuIHRo
ZSBvcmlnaW5hbCBmdW5jdGlvbiBvYmplY3Qgd2lsbCBiZSBmb3VuZC4gRm9yIGltcG9ydHMgdGhh
dCBhcmUgcmVndWxhciBKUyBmdW5jdGlvbnMsIGEgbmV3IHdyYXBwZXIgd2lsbCBiZSBjcmVhdGVk
LikKICAgICAgICAgICAgIGlmIChleHAua2luZEluZGV4IDwgZnVuY3Rpb25JbXBvcnRDb3VudCkg
ewogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uSW5kZXggPSBleHAua2luZEluZGV4
OwotICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBmdW5jdGlvbkltcG9ydCA9IGluc3RhbmNlLT5p
bnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFdyaXRlQmFycmllcjxKU09iamVjdD4+KGZ1bmN0aW9u
SW5kZXgpLT5nZXQoKTsKKyAgICAgICAgICAgICAgICBKU09iamVjdCogZnVuY3Rpb25JbXBvcnQg
PSBpbnN0YW5jZS0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxKU1dlYkFzc2VtYmx5SW5zdGFu
Y2U6OlBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KGZ1bmN0aW9uSW5kZXgpLT5nZXQoKTsKICAg
ICAgICAgICAgICAgICBpZiAoaXNXZWJBc3NlbWJseUhvc3RGdW5jdGlvbih2bSwgZnVuY3Rpb25J
bXBvcnQpKQogICAgICAgICAgICAgICAgICAgICBleHBvcnRlZFZhbHVlID0gZnVuY3Rpb25JbXBv
cnQ7CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBXZWJB
c3NlbWJseU1vZHVsZVJlY29yZDo6bGluayhFeGVjU3RhdGUqIGV4ZWMsIEpTV2ViQXNzZW1ibHlN
b2R1bGUqIG1vZHVsZSwKICAgICAgICAgQVNTRVJUKCFzaWduYXR1cmUuYXJndW1lbnRDb3VudCgp
KTsKICAgICAgICAgQVNTRVJUKHNpZ25hdHVyZS5yZXR1cm5UeXBlKCkgPT0gV2FzbTo6Vm9pZCk7
CiAgICAgICAgIGlmIChzdGFydEZ1bmN0aW9uSW5kZXhTcGFjZSA8IGNvZGVCbG9jay0+ZnVuY3Rp
b25JbXBvcnRDb3VudCgpKSB7Ci0gICAgICAgICAgICBKU09iamVjdCogc3RhcnRGdW5jdGlvbiA9
IGluc3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFdyaXRlQmFycmllcjxKU09iamVj
dD4+KHN0YXJ0RnVuY3Rpb25JbmRleFNwYWNlKS0+Z2V0KCk7CisgICAgICAgICAgICBKU09iamVj
dCogc3RhcnRGdW5jdGlvbiA9IGluc3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPEpT
V2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oc3RhcnRGdW5j
dGlvbkluZGV4U3BhY2UpLT5nZXQoKTsKICAgICAgICAgICAgIG1fc3RhcnRGdW5jdGlvbi5zZXQo
dm0sIHRoaXMsIHN0YXJ0RnVuY3Rpb24pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
V2FzbTo6Q2FsbGVlJiBlbWJlZGRlckVudHJ5cG9pbnRDYWxsZWUgPSBjb2RlQmxvY2stPmVtYmVk
ZGVyRW50cnlwb2ludENhbGxlZUZyb21GdW5jdGlvbkluZGV4U3BhY2Uoc3RhcnRGdW5jdGlvbklu
ZGV4U3BhY2UpOwpAQCAtMjk1LDcgKzI5NSw3IEBAIEpTVmFsdWUgV2ViQXNzZW1ibHlNb2R1bGVS
ZWNvcmQ6OmV2YWx1YXRlKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIHVpbnQzMl90IGZ1
bmN0aW9uSW5kZXggPSBlbGVtZW50LmZ1bmN0aW9uSW5kaWNlc1tpXTsKICAgICAgICAgICAgIFdh
c206OlNpZ25hdHVyZUluZGV4IHNpZ25hdHVyZUluZGV4ID0gbW9kdWxlLnNpZ25hdHVyZUluZGV4
RnJvbUZ1bmN0aW9uSW5kZXhTcGFjZShmdW5jdGlvbkluZGV4KTsKICAgICAgICAgICAgIGlmIChm
dW5jdGlvbkluZGV4IDwgY29kZUJsb2NrLT5mdW5jdGlvbkltcG9ydENvdW50KCkpIHsKLSAgICAg
ICAgICAgICAgICBKU09iamVjdCogZnVuY3Rpb25JbXBvcnQgPSBtX2luc3RhbmNlLT5pbnN0YW5j
ZSgpLmltcG9ydEZ1bmN0aW9uPFdyaXRlQmFycmllcjxKU09iamVjdD4+KGZ1bmN0aW9uSW5kZXgp
LT5nZXQoKTsKKyAgICAgICAgICAgICAgICBKU09iamVjdCogZnVuY3Rpb25JbXBvcnQgPSBtX2lu
c3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6
UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oZnVuY3Rpb25JbmRleCktPmdldCgpOwogICAgICAg
ICAgICAgICAgIGlmIChpc1dlYkFzc2VtYmx5SG9zdEZ1bmN0aW9uKHZtLCBmdW5jdGlvbkltcG9y
dCkpIHsKICAgICAgICAgICAgICAgICAgICAgV2ViQXNzZW1ibHlGdW5jdGlvbiogd2FzbUZ1bmN0
aW9uID0ganNEeW5hbWljQ2FzdDxXZWJBc3NlbWJseUZ1bmN0aW9uKj4odm0sIGZ1bmN0aW9uSW1w
b3J0KTsKICAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBpbXBvcnQgYSBXZWJBc3Nl
bWJseVdyYXBwZXJGdW5jdGlvbiwgd2Ugc2V0IHRoZSBpbXBvcnQgYXMgdGhlIHVud3JhcHBlZCB2
YWx1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5TW9kdWxlUmVjb3JkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseU1vZHVsZVJlY29yZC5oCmluZGV4IGEwOGNjYmMuLmZjMmFkZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC01OSw4ICs1OSwxMSBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJl
bihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1i
bHlJbnN0YW5jZT4gbV9pbnN0YW5jZTsKLSAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fc3Rh
cnRGdW5jdGlvbjsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIHVzaW5nIFBvaXNvbmVk
QmFycmllciA9IFBvaXNvbmVkV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkUG9p
c29uLCBUPjsKKworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U+IG1f
aW5zdGFuY2U7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0PiBtX3N0YXJ0RnVuY3Rpb247
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgKaW5kZXggMDYxZDE0ZC4uYzg5YTFh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
b0pTQ2FsbGVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlUb0pTQ2FsbGVlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNTEsNyArNTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBKU1dlYkFzc2VtYmx5TW9kdWxlKik7CiAgICAgV2ViQXNzZW1ibHlUb0pTQ2Fs
bGVlKFZNJiwgU3RydWN0dXJlKik7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1v
ZHVsZT4gbV9tb2R1bGU7CisgICAgUG9pc29uZWRXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pT
Q2FsbGVlUG9pc29uLCBKU1dlYkFzc2VtYmx5TW9kdWxlPiBtX21vZHVsZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmgKaW5kZXggZTEwMGY3MS4uY2E2YzBjYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFw
cGVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVdyYXBwZXJGdW5jdGlvbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTU2LDcgKzU2LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToK
ICAgICBXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgV2FzbTo6Q2FsbGFibGVGdW5jdGlvbik7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+IG1fZnVuY3Rpb247CisgICAgUG9pc29uZWRXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlX
cmFwcGVyRnVuY3Rpb25Qb2lzb24sIEpTT2JqZWN0PiBtX2Z1bmN0aW9uOwogICAgIC8vIEl0J3Mg
c2FmZSB0byBqdXN0IGhvbGQgdGhlIHJhdyBDYWxsYWJsZUZ1bmN0aW9uIGJlY2F1c2Ugd2UgaGF2
ZSBhIHJlZmVyZW5jZQogICAgIC8vIHRvIG91ciBJbnN0YW5jZSwgd2hpY2ggcG9pbnRzIHRvIHRo
ZSBDb2RlQmxvY2ssIHdoaWNoIHBvaW50cyB0byB0aGUgTW9kdWxlCiAgICAgLy8gdGhhdCBleHBv
cnRlZCB1cywgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBhY3R1YWwgU2lnbmF0dXJlL2NvZGUgZG9l
c24ndCBnZXQgZGVhbGxvY2F0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUzOGYxZjAuLjUwNWNjNTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzAgQEAKKzIwMTgtMDEtMTIgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgor
CisgICAgICAgIFBvaXNvbmVkV3JpdGVCYXJyaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE1OTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2
NDc0MzUxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFsbG93IHBvaXNvbmluZyBvZiBXcml0ZUJhcnJpZXIgb2JqZWN0cywgYW5kIHVzZSB0aGlzIGZv
cgorICAgICAgICBXZWJBc3NlbWJseSBiZWNhdXNlIGl0IGlzIHBlcmYtbmV1dHJhbCwgYXQgbGVh
c3Qgb24gV2FzbUJlbmNoIG9uCisgICAgICAgIG15IE1CUC4gSWYgaXQgaW5kZWVkIGlzIHBlcmYt
bmV1dHJhbCBhY2NvcmRpbmcgdG8gdGhlIGJvdHMsIHN0YXJ0CisgICAgICAgIHVzaW5nIGl0IGlu
IG1vcmUgcmlza3kgcGxhY2VzIQorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogd3RmL0R1bWJQdHJUcmFpdHMuaDoKKyAgICAgICAgKiB3dGYvRHVt
YlZhbHVlVHJhaXRzLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMu
aC4KKyAgICAgICAgKFdURjo6RHVtYlZhbHVlVHJhaXRzOjpleGNoYW5nZSk6CisgICAgICAgIChX
VEY6OkR1bWJWYWx1ZVRyYWl0czo6c3dhcCk6CisgICAgICAgIChXVEY6OkR1bWJWYWx1ZVRyYWl0
czo6dW53cmFwKToKKyAgICAgICAgKiB3dGYvRm9yd2FyZC5oOgorICAgICAgICAqIHd0Zi9Qb2lz
b25lZC5oOgorICAgICAgICAoV1RGOjpQb2lzb25lZEltcGw6OnBvaXNvbik6CisgICAgICAgIChX
VEY6OlBvaXNvbmVkSW1wbDo6dW5wb2lzb24pOgorICAgICAgICAoV1RGOjpDb25zdEV4cHJQb2lz
b25lZFZhbHVlVHJhaXRzOjpleGNoYW5nZSk6CisgICAgICAgIChXVEY6OkNvbnN0RXhwclBvaXNv
bmVkVmFsdWVUcmFpdHM6OnN3YXApOgorICAgICAgICAoV1RGOjpDb25zdEV4cHJQb2lzb25lZFZh
bHVlVHJhaXRzOjp1bndyYXApOgorCiAyMDE4LTAxLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrcyBzaG91bGQgYmUgaW4gSXNvU3Vic3BhY2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmNzcyZTc2Li5k
Zjk2MzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3
NCw2ICs1NzQsNyBAQAogCQlBOEE0NzM3MjE1MUE4MjVCMDA0MTIzRkYgLyogVk1UYWdzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZNVGFncy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBOEE0NzQ4QjE1MUE4MjY0MDA0MTIzRkYgLyogY29uZmlnLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBOUE0NzI3RjE1MUE4MjVBMDA0MTIzRkYgLyogRGlzYWxsb3dDVHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNhbGxvd0NUeXBlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFENjUzREE4MjAwNkI2QzIwMEQ4MjBENyAvKiBEdW1iVmFs
dWVUcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHVtYlZhbHVlVHJh
aXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEN0M0MzRBMUREMkE0QTcwMDI2
ODg4QiAvKiBFeHBlY3RlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHBl
Y3RlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBRDg5QjZCNTFFNjQxNTA4MDA5
MDcwN0YgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFEODlCNkI2MUU2NDE1MDgwMDkwNzA3RiAvKiBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NTQsNiArODU1LDcg
QEAKIAkJCQkwRjQ1NzA0MjFCRTVCNThGMDA2MkE2MjkgLyogRG9taW5hdG9ycy5oICovLAogCQkJ
CUE4QTQ3MjgwMTUxQTgyNUEwMDQxMjNGRiAvKiBEb3VibHlMaW5rZWRMaXN0LmggKi8sCiAJCQkJ
RkUwNUZBRTYxRkRCMjE0MzAwMDkzMjMwIC8qIER1bWJQdHJUcmFpdHMuaCAqLywKKwkJCQlBRDY1
M0RBODIwMDZCNkMyMDBEODIwRDcgLyogRHVtYlZhbHVlVHJhaXRzLmggKi8sCiAJCQkJQThBNDcy
OTcxNTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EuY3BwICovLAogCQkJCUE4QTQ3Mjk4MTUxQTgyNUEw
MDQxMjNGRiAvKiBkdG9hLmggKi8sCiAJCQkJMUFFQTg4RTExRDZCQkNGNDAwRTVBRDY0IC8qIEVu
dW1UcmFpdHMuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMu
aCBiL1NvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMuaAppbmRleCBlODQyNWMwLi4zY2VjZTZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EdW1iUHRyVHJhaXRzLmgKKysrIGIvU291cmNl
L1dURi93dGYvRHVtYlB0clRyYWl0cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDEyICsyNSwxNSBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgPGNzdGRpbnQ+CiAjaW5jbHVkZSA8dXRpbGl0eT4KIAogbmFtZXNwYWNlIFdU
RiB7CiAgICAgCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0IER1bWJQdHJUcmFpdHMgewor
ICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0cl90IHBvaXNvbiA9IDA7CisKICAgICB1c2luZyBT
dG9yYWdlVHlwZSA9IFQqOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KQEAgLTQyLDMgKzQ1
LDQgQEAgc3RydWN0IER1bWJQdHJUcmFpdHMgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAordXNp
bmcgV1RGOjpEdW1iUHRyVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRHVtYlZh
bHVlVHJhaXRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9EdW1iVmFsdWVUcmFpdHMuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzkwYWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRzLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8Y3N0ZGludD4KKyNpbmNsdWRlIDx1dGlsaXR5PgorCituYW1lc3BhY2UgV1RGIHsKKwor
dGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBEdW1iVmFsdWVUcmFpdHMgeworICAgIHN0YXRp
YyBjb25zdGV4cHIgdWludHB0cl90IHBvaXNvbiA9IDA7CisKKyAgICB1c2luZyBTdG9yYWdlVHlw
ZSA9IFQ7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgIHN0YXRpYyBBTFdBWVNfSU5M
SU5FIFQgZXhjaGFuZ2UoU3RvcmFnZVR5cGUmIHZhbCwgVSYmIG5ld1ZhbHVlKSB7IHJldHVybiBz
dGQ6OmV4Y2hhbmdlKHZhbCwgbmV3VmFsdWUpOyB9CisKKyAgICBzdGF0aWMgQUxXQVlTX0lOTElO
RSB2b2lkIHN3YXAoU3RvcmFnZVR5cGUmIGEsIFN0b3JhZ2VUeXBlJiBiKSB7IHN0ZDo6c3dhcChh
LCBiKTsgfQorICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQgdW53cmFwKGNvbnN0IFN0b3JhZ2VU
eXBlJiB2YWwpIHsgcmV0dXJuIHZhbDsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3Vz
aW5nIFdURjo6RHVtYlZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRm9y
d2FyZC5oIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCmluZGV4IDNjMjZkNzAuLjQyZmFkODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Gb3J3YXJkLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAwNi0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIw
MDYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgRmFzdE1hbGxvYzsKIAogdGVtcGxhdGU8dHlw
ZW5hbWU+IGNsYXNzIENvbXBsZXRpb25IYW5kbGVyOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IER1bWJQdHJUcmFpdHM7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRHVtYlZhbHVl
VHJhaXRzOwogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNzIEZ1bmN0aW9uOwogdGVtcGxhdGU8dHlw
ZW5hbWU+IGNsYXNzIExhenlOZXZlckRlc3Ryb3llZDsKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFz
cyBOZXZlckRlc3Ryb3llZDsKQEAgLTg0LDYgKzg1LDggQEAgdXNpbmcgV1RGOjpBdG9taWNTdHJp
bmdJbXBsOwogdXNpbmcgV1RGOjpCaW5hcnlTZW1hcGhvcmU7CiB1c2luZyBXVEY6OkNTdHJpbmc7
CiB1c2luZyBXVEY6OkNvbXBsZXRpb25IYW5kbGVyOwordXNpbmcgV1RGOjpEdW1iUHRyVHJhaXRz
OwordXNpbmcgV1RGOjpEdW1iVmFsdWVUcmFpdHM7CiB1c2luZyBXVEY6OkZ1bmN0aW9uOwogdXNp
bmcgV1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI7CiB1c2luZyBXVEY6Okhhc2hDb3VudGVkU2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUG9pc29uZWQuaCBiL1NvdXJjZS9XVEYvd3RmL1Bv
aXNvbmVkLmgKaW5kZXggYmE1YjZhOC4uYTBhZGI5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUG9pc29uZWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Qb2lzb25lZC5oCkBAIC04OSw3ICs4
OSw3IEBAIGFzUmVmZXJlbmNlKFQgcHRyKSB7IHJldHVybiAqcHRyOyB9CiB9IC8vIG5hbWVzcGFj
ZSBQb2lzb25lZEltcGxIZWxwZXIKIAogLy8gRklYTUU6IG9uY2Ugd2UgaGF2ZSBDKysxNywgd2Ug
Y2FuIG1ha2UgdGhlIGtleSBvZiB0eXBlIGF1dG8gYW5kIHJlbW92ZSB0aGUgbmVlZCBmb3IgS2V5
VHlwZS4KLXRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIEtleVR5cGUga2V5LCB0eXBlbmFtZSBU
LCB0eXBlbmFtZSA9IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19wb2ludGVyPFQ+Ojp2YWx1ZT4+
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlLCBLZXlUeXBlIEtleSwgdHlwZW5hbWUgVCwgdHlw
ZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfcG9pbnRlcjxUPjo6dmFsdWU+PgogY2xh
c3MgUG9pc29uZWRJbXBsIHsKIHB1YmxpYzoKICAgICBQb2lzb25lZEltcGwoKSB7IH0KQEAgLTIw
NSw5ICsyMDUsOSBAQCBwcml2YXRlOgogICAgIGNvbnN0ZXhwciBzdGF0aWMgUG9pc29uZWRCaXRz
IHBvaXNvbihzdGQ6Om51bGxwdHJfdCkgeyByZXR1cm4gMDsgfQogI2lmIEVOQUJMRShQT0lTT04p
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KLSAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBQb2lz
b25lZEJpdHMgcG9pc29uKFUgcHRyKSB7IHJldHVybiBwdHIgPyBiaXR3aXNlX2Nhc3Q8UG9pc29u
ZWRCaXRzPihwdHIpIF4ga2V5IDogMDsgfQorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIFBvaXNv
bmVkQml0cyBwb2lzb24oVSBwdHIpIHsgcmV0dXJuIHB0ciA/IGJpdHdpc2VfY2FzdDxQb2lzb25l
ZEJpdHM+KHB0cikgXiBLZXkgOiAwOyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IFQ+Ci0g
ICAgQUxXQVlTX0lOTElORSBzdGF0aWMgVSB1bnBvaXNvbihQb2lzb25lZEJpdHMgcG9pc29uZWRC
aXRzKSB7IHJldHVybiBwb2lzb25lZEJpdHMgPyBiaXR3aXNlX2Nhc3Q8VT4ocG9pc29uZWRCaXRz
IF4ga2V5KSA6IGJpdHdpc2VfY2FzdDxVPigwbGwpOyB9CisgICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgVSB1bnBvaXNvbihQb2lzb25lZEJpdHMgcG9pc29uZWRCaXRzKSB7IHJldHVybiBwb2lzb25l
ZEJpdHMgPyBiaXR3aXNlX2Nhc3Q8VT4ocG9pc29uZWRCaXRzIF4gS2V5KSA6IGJpdHdpc2VfY2Fz
dDxVPigwbGwpOyB9CiAjZWxzZQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CiAgICAgQUxXQVlT
X0lOTElORSBzdGF0aWMgUG9pc29uZWRCaXRzIHBvaXNvbihVIHB0cikgeyByZXR1cm4gYml0d2lz
ZV9jYXN0PFBvaXNvbmVkQml0cz4ocHRyKTsgfQpAQCAtMjU0LDE1ICsyNTQsMTcgQEAgaW5saW5l
IGNvbnN0ZXhwciB1aW50cHRyX3QgbWFrZUNvbnN0RXhwclBvaXNvbih1aW50MzJfdCBrZXkpCiAj
ZW5kaWYKIH0KIAotdGVtcGxhdGU8dWludHB0cl90JiBrZXksIHR5cGVuYW1lIFQ+Ci11c2luZyBQ
b2lzb25lZCA9IFBvaXNvbmVkSW1wbDx1aW50cHRyX3QmLCBrZXksIFQ+OwordGVtcGxhdGU8dWlu
dHB0cl90JiBLZXksIHR5cGVuYW1lIFQ+Cit1c2luZyBQb2lzb25lZCA9IFBvaXNvbmVkSW1wbDx1
aW50cHRyX3QmLCBLZXksIFQ+OwogCi10ZW1wbGF0ZTx1aW50MzJfdCBrZXksIHR5cGVuYW1lIFQ+
Ci11c2luZyBDb25zdEV4cHJQb2lzb25lZCA9IFBvaXNvbmVkSW1wbDx1aW50cHRyX3QsIG1ha2VD
b25zdEV4cHJQb2lzb24oa2V5KSwgVD47Cit0ZW1wbGF0ZTx1aW50MzJfdCBLZXksIHR5cGVuYW1l
IFQ+Cit1c2luZyBDb25zdEV4cHJQb2lzb25lZCA9IFBvaXNvbmVkSW1wbDx1aW50cHRyX3QsIG1h
a2VDb25zdEV4cHJQb2lzb24oS2V5KSwgVD47CiAKLXRlbXBsYXRlPHVpbnQzMl90IGtleSwgdHlw
ZW5hbWUgVD4KK3RlbXBsYXRlPHVpbnQzMl90IEtleSwgdHlwZW5hbWUgVD4KIHN0cnVjdCBDb25z
dEV4cHJQb2lzb25lZFB0clRyYWl0cyB7Ci0gICAgdXNpbmcgU3RvcmFnZVR5cGUgPSBDb25zdEV4
cHJQb2lzb25lZDxrZXksIFQqPjsKKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gcG9pc29uID0g
bWFrZUNvbnN0RXhwclBvaXNvbihLZXkpOworCisgICAgdXNpbmcgU3RvcmFnZVR5cGUgPSBDb25z
dEV4cHJQb2lzb25lZDxLZXksIFQqPjsKIAogICAgIHRlbXBsYXRlPGNsYXNzIFU+IHN0YXRpYyBB
TFdBWVNfSU5MSU5FIFQqIGV4Y2hhbmdlKFN0b3JhZ2VUeXBlJiBwdHIsIFUmJiBuZXdWYWx1ZSkg
eyByZXR1cm4gcHRyLmV4Y2hhbmdlKG5ld1ZhbHVlKTsgfQogCkBAIC0yNzUsNiArMjc3LDIzIEBA
IHN0cnVjdCBDb25zdEV4cHJQb2lzb25lZFB0clRyYWl0cyB7CiAgICAgc3RhdGljIEFMV0FZU19J
TkxJTkUgVCogdW53cmFwKGNvbnN0IFN0b3JhZ2VUeXBlJiBwdHIpIHsgcmV0dXJuIHB0ci51bnBv
aXNvbmVkKCk7IH0KIH07CiAKK3RlbXBsYXRlPHVpbnQzMl90IEtleSwgdHlwZW5hbWUgVD4KK3N0
cnVjdCBDb25zdEV4cHJQb2lzb25lZFZhbHVlVHJhaXRzIHsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGF1dG8gcG9pc29uID0gbWFrZUNvbnN0RXhwclBvaXNvbihLZXkpOworCisgICAgdXNpbmcgU3Rv
cmFnZVR5cGUgPSBDb25zdEV4cHJQb2lzb25lZDxLZXksIFQ+OworCisgICAgdGVtcGxhdGU8Y2xh
c3MgVT4gc3RhdGljIEFMV0FZU19JTkxJTkUgVCBleGNoYW5nZShTdG9yYWdlVHlwZSYgdmFsLCBV
JiYgbmV3VmFsdWUpIHsgcmV0dXJuIHZhbC5leGNoYW5nZShuZXdWYWx1ZSk7IH0KKworICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEsxLCBLMSBrMSwgdHlwZW5hbWUgVDE+CisgICAgc3RhdGljIEFMV0FZ
U19JTkxJTkUgdm9pZCBzd2FwKFBvaXNvbmVkSW1wbDxLMSwgazEsIFQxPiYgYSwgVDEmIGIpIHsg
YS5zd2FwKGIpOyB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLMSwgSzEgazEsIHR5cGVuYW1l
IFQxLCB0eXBlbmFtZSBLMiwgSzIgazIsIHR5cGVuYW1lIFQyPgorICAgIHN0YXRpYyBBTFdBWVNf
SU5MSU5FIHZvaWQgc3dhcChQb2lzb25lZEltcGw8SzEsIGsxLCBUMT4mIGEsIFBvaXNvbmVkSW1w
bDxLMiwgazIsIFQyPiYgYikgeyBhLnN3YXAoYik7IH0KKworICAgIHN0YXRpYyBBTFdBWVNfSU5M
SU5FIFQgdW53cmFwKGNvbnN0IFN0b3JhZ2VUeXBlJiB2YWwpIHsgcmV0dXJuIHZhbC51bnBvaXNv
bmVkKCk7IH0KK307CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OkNvbnN0RXhw
clBvaXNvbmVkOwotLSAKMi45LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331219</attachid>
            <date>2018-01-12 11:24:27 -0800</date>
            <delta_ts>2018-01-12 14:31:49 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-WebAssembly-mostly-works-except-instance-callee-and-.patch</filename>
            <type>text/plain</type>
            <size>53362</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBhZGVmZTIxOGIxMzI2MDNjMzg5NjRkY2U1MzVkMDYwMDg5MGI0ZDNkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDExIEphbiAyMDE4IDE3OjU4OjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQXNz
ZW1ibHkgbW9zdGx5IHdvcmtzLCBleGNlcHQgaW5zdGFuY2UgY2FsbGVlIGFuZAogZW5kLW9mLW9i
amVjdCBmdW5jdGlvbnMuCgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKysrKysKIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hhbmRsZVR5cGVzLmggICAgICAgICAgIHwgIDMgKy0KIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmggICAgICAgICAgIHwgMTMgKystLQogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3JJbmxpbmVzLmggICAgfCAgOCArLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oICAgICAgICAgfCAxMSArKy0KIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1BvaXNvbi5oICAgICAgICAgIHwgIDQgKwog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggICAgICAgICAgfCAxNCAr
LS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmggICB8
IDIwICsrKystCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaCAg
ICAgICB8IDg2ICsrKysrKysrKysrKysrKy0tLS0tLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllcklubGluZXMuaCAgIHwgMjAgKystLS0KIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21JbnN0YW5jZS5oICAgICAgICAgIHwgIDQgKy0KIC4uLi93YXNtL2pzL0pT
V2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAgICAgICAgICAgICAgIHwgIDggKy0KIC4uLi9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIHwgMTcgKysrLS0KIC4uLi9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuaCAgIHwgIDIgKy0KIC4u
Li9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuaCAgIHwgMTAgKyst
CiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwICB8IDEw
ICstLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgg
fCAgNiArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwICAgICAg
ICAgfCAzNSArKysrKystLS0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmgg
ICAgICAgICAgICAgIHwgIDUgKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3Jk
LmNwcCAgICAgICAgICAgIHwgIDYgKy0KIC4uLi93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVj
b3JkLmggICAgICAgICAgICAgIHwgIDkgKystCiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVRvSlNDYWxsZWUuaCB8ICA0ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseVdy
YXBwZXJGdW5jdGlvbi5oICAgICAgICAgICB8ICA0ICstCiBTb3VyY2UvV1RGL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIzICsrKysrKwogU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgICAgICAgfCAgMiArCiBTb3VyY2UvV1RGL3d0
Zi9EdW1iUHRyVHJhaXRzLmggICAgICAgICAgICAgICAgICAgICB8ICA2ICstCiBTb3VyY2UvV1RG
L3d0Zi9EdW1iVmFsdWVUcmFpdHMuaCAgICAgICAgICAgICAgICAgICB8IDQ4ICsrKysrKysrKysr
KwogU291cmNlL1dURi93dGYvRm9yd2FyZC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NSArLQogU291cmNlL1dURi93dGYvUG9pc29uZWQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAxOSArKysrKwogMjkgZmlsZXMgY2hhbmdlZCwgMzYwIGluc2VydGlvbnMoKyksIDExMCBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV1RGL3d0Zi9EdW1iVmFsdWVUcmFp
dHMuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGIzNGNkYTcuLjgxMzFlN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDE4LTAxLTEyICBKRiBCYXN0
aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBQb2lzb25lZFdyaXRlQmFycmll
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNTk5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ3NDM1MT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwb2lzb25pbmcgb2YgV3JpdGVCYXJy
aWVyIG9iamVjdHMsIGFuZCB1c2UgdGhpcyBmb3IKKyAgICAgICAgV2ViQXNzZW1ibHkgYmVjYXVz
ZSBpdCBpcyBwZXJmLW5ldXRyYWwsIGF0IGxlYXN0IG9uIFdhc21CZW5jaCBvbgorICAgICAgICBt
eSBNQlAuIElmIGl0IGluZGVlZCBpcyBwZXJmLW5ldXRyYWwgYWNjb3JkaW5nIHRvIHRoZSBib3Rz
LCBzdGFydAorICAgICAgICB1c2luZyBpdCBpbiBtb3JlIHBlcmZvcm1hbmNlLXNlbnNpdGl2ZSBw
bGFjZXMuCisKKyAgICAgICAgKiBoZWFwL0hhbmRsZVR5cGVzLmg6CisgICAgICAgICogaGVhcC9T
bG90VmlzaXRvci5oOgorICAgICAgICAqIGhlYXAvU2xvdFZpc2l0b3JJbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OlNsb3RWaXNpdG9yOjphcHBlbmQpOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRv
cjo6YXBwZW5kSGlkZGVuKToKKyAgICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQ1BvaXNvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6
CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0
cnVjdHVyZTo6c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24pOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OnNldEdsb2JhbE9iamVjdCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c2V0
UHJldmlvdXNJRCk6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAg
KEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6Y29weUZyb20pOgorICAgICAgICAoSlNDOjpXcml0ZUJh
cnJpZXJCYXNlOjpnZXQgY29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpv
cGVyYXRvciogY29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpvcGVyYXRv
ci0+IGNvbnN0KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6Y2xlYXIpOgorICAg
ICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNlOjpzbG90KToKKyAgICAgICAgKEpTQzo6V3JpdGVC
YXJyaWVyQmFzZTo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChKU0M6OldyaXRlQmFy
cmllckJhc2U6OnNldFdpdGhvdXRXcml0ZUJhcnJpZXIpOgorICAgICAgICAoSlNDOjpXcml0ZUJh
cnJpZXJCYXNlOjp1bnZhbGlkYXRlZEdldCBjb25zdCk6CisgICAgICAgIChKU0M6Om9wZXJhdG9y
PT0pOgorICAgICAgICAqIHJ1bnRpbWUvV3JpdGVCYXJyaWVySW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpUcmFpdHM+OjpzZXQpOgorICAgICAgICAoSlNDOjpUcmFpdHM+OjpzZXRNYXlCZU51bGwp
OgorICAgICAgICAoSlNDOjpUcmFpdHM+OjpzZXRFYXJseVZhbHVlKToKKyAgICAgICAgKEpTQzo6
RHVtYlZhbHVlVHJhaXRzPFVua25vd24+Pjo6c2V0KToKKyAgICAgICAgKiB3YXNtL1dhc21JbnN0
YW5jZS5oOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2Up
OgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKToK
KyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjp2aXNpdENoaWxkcmVuKToKKyAg
ICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAqIHdh
c20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmg6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1i
bHlJbnN0YW5jZTo6b2Zmc2V0T2ZQb2lzb25lZENhbGxlZSk6CisgICAgICAgICogd2FzbS9qcy9K
U1dlYkFzc2VtYmx5TWVtb3J5Lmg6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9k
dWxlLmg6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwOgorICAgICAg
ICAoSlNDOjpKU1dlYkFzc2VtYmx5VGFibGU6OkpTV2ViQXNzZW1ibHlUYWJsZSk6CisgICAgICAg
IChKU0M6OkpTV2ViQXNzZW1ibHlUYWJsZTo6Z3Jvdyk6CisgICAgICAgIChKU0M6OkpTV2ViQXNz
ZW1ibHlUYWJsZTo6Y2xlYXJGdW5jdGlvbik6CisgICAgICAgICogd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5VGFibGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dhc21Ub0pTLmNwcDoKKyAgICAgICAgKEpT
Qzo6V2FzbTo6bWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwpOgorICAgICAgICAoSlNDOjpXYXNtOjpo
YW5kbGVCYWRJNjRVc2UpOgorICAgICAgICAoSlNDOjpXYXNtOjp3YXNtVG9KUyk6CisgICAgICAg
ICogd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1v
ZHVsZVJlY29yZDo6bGluayk6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5TW9kdWxlUmVjb3Jk
OjpldmFsdWF0ZSk6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5o
OgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmg6CisgICAgICAgICog
d2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oOgorCiAyMDE4LTAxLTA0ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrcyBzaG91bGQg
YmUgaW4gSXNvU3Vic3BhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IYW5kbGVUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxlVHlwZXMu
aAppbmRleCA2Y2YxMWRmLi40ZTM1MzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IYW5kbGVUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hh
bmRsZVR5cGVzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjksNyArMjksNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdHlwZWRlZiBl
bnVtIHsgfSBVbmtub3duOwogdHlwZWRlZiBKU1ZhbHVlKiBIYW5kbGVTbG90OwogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFuZGxlVHlwZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL1Nsb3RWaXNpdG9yLmgKaW5kZXggYTU1MWMxZS4uYWZhYzVmOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
Ikl0ZXJhdGlvblN0YXR1cy5oIgogI2luY2x1ZGUgIk1hcmtTdGFjay5oIgogI2luY2x1ZGUgIlZp
c2l0UmFjZUtleS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01v
bm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTQ0LDcg
KzQ1LDcgQEAgY2xhc3MgTWFya2luZ0NvbnN0cmFpbnRTb2x2ZXI7CiBjbGFzcyBVbmNvbmRpdGlv
bmFsRmluYWxpemVyOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV2VhazsKIGNsYXNzIFdl
YWtSZWZlcmVuY2VIYXJ2ZXN0ZXI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJh
cnJpZXJCYXNlOwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBX
cml0ZUJhcnJpZXJCYXNlOwogCiB0eXBlZGVmIHVpbnQzMl90IEhlYXBWZXJzaW9uOwogCkBAIC03
MCwxMSArNzEsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBhcHBlbmQoQ29uc2VydmF0aXZlUm9v
dHMmKTsKICAgICAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFwcGVuZChjb25zdCBX
cml0ZUJhcnJpZXJCYXNlPFQ+Jik7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhcHBl
bmRIaWRkZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxUPiYpOworICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFRyYWl0cz4gdm9pZCBhcHBlbmQoY29uc3QgV3JpdGVCYXJyaWVyQmFz
ZTxULCBUcmFpdHM+Jik7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRz
PiB2b2lkIGFwcGVuZEhpZGRlbihjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz4mKTsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBJdGVyYXRvcj4gdm9pZCBhcHBlbmQoSXRlcmF0b3IgYmVn
aW4gLCBJdGVyYXRvciBlbmQpOwotICAgIHZvaWQgYXBwZW5kVmFsdWVzKGNvbnN0IFdyaXRlQmFy
cmllckJhc2U8VW5rbm93bj4qLCBzaXplX3QgY291bnQpOwotICAgIHZvaWQgYXBwZW5kVmFsdWVz
SGlkZGVuKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qLCBzaXplX3QgY291bnQpOwor
ICAgIHZvaWQgYXBwZW5kVmFsdWVzKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93biwgRHVt
YlZhbHVlVHJhaXRzPFVua25vd24+PiosIHNpemVfdCBjb3VudCk7CisgICAgdm9pZCBhcHBlbmRW
YWx1ZXNIaWRkZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duLCBEdW1iVmFsdWVUcmFp
dHM8VW5rbm93bj4+Kiwgc2l6ZV90IGNvdW50KTsKICAgICAKICAgICAvLyBUaGVzZSBkb24ndCBy
ZXF1aXJlIHlvdSB0byBwcm92ZSB0aGF0IHlvdSBoYXZlIGEgV3JpdGVCYXJyaWVyPD4uIFRoYXQg
bWFrZXMgc2Vuc2UKICAgICAvLyBmb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L1Nsb3RWaXNpdG9ySW5saW5lcy5oCmluZGV4IGFiMDk4OTMuLmYzNmQxN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCkBAIC0xMDMsMTQg
KzEwMywxNCBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZChjb25zdCBX
ZWFrPFQ+JiB3ZWFrKQogICAgIGFwcGVuZFVuYmFycmllcmVkKHdlYWsuZ2V0KCkpOwogfQogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPgotQUxXQVlTX0lOTElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBl
bmQoY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxUPiYgc2xvdCkKK3RlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIFRyYWl0cz4KK0FMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6YXBwZW5k
KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VCwgVHJhaXRzPiYgc2xvdCkKIHsKICAgICBhcHBlbmRV
bmJhcnJpZXJlZChzbG90LmdldCgpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLUFMV0FZ
U19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6YXBwZW5kSGlkZGVuKGNvbnN0IFdyaXRlQmFycmll
ckJhc2U8VD4mIHNsb3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+CitB
TFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZEhpZGRlbihjb25zdCBXcml0ZUJh
cnJpZXJCYXNlPFQsIFRyYWl0cz4mIHNsb3QpCiB7CiAgICAgYXBwZW5kSGlkZGVuVW5iYXJyaWVy
ZWQoc2xvdC5nZXQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmgKaW5kZXggOWYzOWEzYy4uNTliNDM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChD
KSAxOTk5LTIwMDEgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQg
KEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIw
MDMtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChD
KSAyMDAzLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTY4LDggKzY4LDEzIEBAIHN0cnVjdCBDbGFzc0luZm87CiBzdHJ1Y3QgRHVt
cENvbnRleHQ7CiBzdHJ1Y3QgSW5zdHJ1Y3Rpb247CiBzdHJ1Y3QgTWV0aG9kVGFibGU7CitlbnVt
IGNsYXNzIFVua25vd24geyB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgV3JpdGVCYXJy
aWVyQmFzZTsKK3RlbXBsYXRlIDxjbGFzcyBULCB0eXBlbmFtZSBUcmFpdHM+IGNsYXNzIFdyaXRl
QmFycmllckJhc2U7Cit0ZW1wbGF0ZTxjbGFzcyBUPgordXNpbmcgV3JpdGVCYXJyaWVyVHJhaXRz
U2VsZWN0ID0gdHlwZW5hbWUgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWU8VCwgVW5rbm93
bj46OnZhbHVlLAorICAgIER1bWJWYWx1ZVRyYWl0czxUPiwgRHVtYlB0clRyYWl0czxUPgorPjo6
dHlwZTsKIAogZW51bSBQcmVmZXJyZWRQcmltaXRpdmVUeXBlIHsgTm9QcmVmZXJlbmNlLCBQcmVm
ZXJOdW1iZXIsIFByZWZlclN0cmluZyB9OwogZW51bSBFQ01BTW9kZSB7IFN0cmljdE1vZGUsIE5v
dFN0cmljdE1vZGUgfTsKQEAgLTQ1Myw3ICs0NTgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJp
dmF0ZToKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gSlNWYWx1ZShXcml0ZUJhcnJpZXJCYXNlPFQ+
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVD4gSlNWYWx1ZShXcml0ZUJhcnJpZXJCYXNlPFQsIFdy
aXRlQmFycmllclRyYWl0c1NlbGVjdDxUPj4pOwogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVk
VmFsdWVUYWcgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKICAgICBKU1ZhbHVlKEhhc2hUYWJs
ZURlbGV0ZWRWYWx1ZVRhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NQb2lzb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1BvaXNv
bi5oCmluZGV4IGNlZDAxMjAuLmI1N2NiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ1BvaXNvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ1BvaXNvbi5oCkBAIC01MSw2ICs1MSwxMCBAQCBlbnVtIFBvaXNvbiB7CiAgICAgSlNX
ZWJBc3NlbWJseVRhYmxlUG9pc29uLAogICAgIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZVBvaXNv
biwKICAgICBVbmxpbmtlZFNvdXJjZUNvZGVQb2lzb24sCisgICAgV2ViQXNzZW1ibHlGdW5jdGlv
bkJhc2VQb2lzb24sCisgICAgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmRQb2lzb24sCisgICAgV2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlUG9pc29uLAorICAgIFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9u
UG9pc29uLAogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IDNhM2ZlMzEuLjlkNDU0ZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwOC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjExLDcgKzIxMSw3IEBAIHB1Ymxp
YzoKICAgICBQcm9wZXJ0eU9mZnNldCBhZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKFZNJiwg
UHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBjb25zdCBGdW5jJik7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgRnVuYz4KICAgICBQcm9wZXJ0eU9mZnNldCByZW1vdmVQcm9wZXJ0eVdp
dGhvdXRUcmFuc2l0aW9uKFZNJiwgUHJvcGVydHlOYW1lLCBjb25zdCBGdW5jJik7Ci0gICAgdm9p
ZCBzZXRQcm90b3R5cGVXaXRob3V0VHJhbnNpdGlvbihWTSYgdm0sIEpTVmFsdWUgcHJvdG90eXBl
KSB7IG1fcHJvdG90eXBlLnNldCh2bSwgdGhpcywgcHJvdG90eXBlKTsgfQorICAgIHZvaWQgc2V0
UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24oVk0mLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAg
ICAgIAogICAgIGJvb2wgaXNEaWN0aW9uYXJ5KCkgY29uc3QgeyByZXR1cm4gZGljdGlvbmFyeUtp
bmQoKSAhPSBOb25lRGljdGlvbmFyeUtpbmQ7IH0KICAgICBib29sIGlzVW5jYWNoZWFibGVEaWN0
aW9uYXJ5KCkgY29uc3QgeyByZXR1cm4gZGljdGlvbmFyeUtpbmQoKSA9PSBVbmNhY2hlZERpY3Rp
b25hcnlLaW5kOyB9CkBAIC0yNjUsNyArMjY1LDcgQEAgcHVibGljOgogCiAgICAgLy8gTk9URTog
VGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Yg
c3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVy
ZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCi0gICAg
dm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQorICAgIHZv
aWQgc2V0R2xvYmFsT2JqZWN0KFZNJiwgSlNHbG9iYWxPYmplY3QqKTsKIAogICAgIEFMV0FZU19J
TkxJTkUgYm9vbCBoYXNNb25vUHJvdG8oKSBjb25zdAogICAgIHsKQEAgLTczOCwxMyArNzM4LDcg
QEAgcHJpdmF0ZToKICAgICBQcm9wZXJ0eVRhYmxlKiB0YWtlUHJvcGVydHlUYWJsZU9yQ2xvbmVJ
ZlBpbm5lZChWTSYpOwogICAgIFByb3BlcnR5VGFibGUqIGNvcHlQcm9wZXJ0eVRhYmxlRm9yUGlu
bmluZyhWTSYpOwogCi0gICAgdm9pZCBzZXRQcmV2aW91c0lEKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBpZiAoaGFzUmFyZURhdGEoKSkKLSAgICAgICAgICAg
IHJhcmVEYXRhKCktPnNldFByZXZpb3VzSUQodm0sIHN0cnVjdHVyZSk7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIG1fcHJldmlvdXNPclJhcmVEYXRhLnNldCh2bSwgdGhpcywgc3RydWN0dXJl
KTsKLSAgICB9CisgICAgdm9pZCBzZXRQcmV2aW91c0lEKFZNJiwgU3RydWN0dXJlKik7CiAKICAg
ICB2b2lkIGNsZWFyUHJldmlvdXNJRCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCmluZGV4IDRlNjBmNTMuLjkwNDdmMjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC00NDEsMTEgKzQ0MSwyOSBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpy
ZW1vdmVQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKFZNJiwgUHJvcGVydHlOYQogICAgIHJldHVy
biByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAorQUxXQVlTX0lOTElORSB2b2lkIFN0
cnVjdHVyZTo6c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24oVk0mIHZtLCBKU1ZhbHVlIHBy
b3RvdHlwZSkKK3sKKyAgICBtX3Byb3RvdHlwZS5zZXQodm0sIHRoaXMsIHByb3RvdHlwZSk7Cit9
CisKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldEdsb2JhbE9iamVjdChWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgbV9nbG9iYWxPYmplY3Quc2V0
KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOworfQorCiBBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0
dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAg
ICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwog
fQogCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcmV2aW91c0lEKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgaWYgKGhhc1JhcmVEYXRhKCkpCisgICAgICAg
IHJhcmVEYXRhKCktPnNldFByZXZpb3VzSUQodm0sIHN0cnVjdHVyZSk7CisgICAgZWxzZQorICAg
ICAgICBtX3ByZXZpb3VzT3JSYXJlRGF0YS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisK
IEFMV0FZU19JTkxJTkUgYm9vbCBTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhj
b25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYikKIHsKICAgICBpZiAoIWEgfHwg
IWIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCmluZGV4
IGE5OTEzODYuLjU3MWNhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dy
aXRlQmFycmllci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDExIEBACiAKICNpbmNsdWRlICJHQ0Fzc2VydGlv
bnMuaCIKICNpbmNsdWRlICJIYW5kbGVUeXBlcy5oIgorI2luY2x1ZGUgIkpTQ1BvaXNvbi5oIgor
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorI2luY2x1ZGUgPHd0Zi9EdW1iUHRyVHJhaXRzLmg+Cisj
aW5jbHVkZSA8d3RmL0R1bWJWYWx1ZVRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzgsNyArNDMsMTIgQEAgY2xhc3MgSlNDZWxsOwog
Y2xhc3MgVk07CiBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xh
c3MgV3JpdGVCYXJyaWVyQmFzZTsKK3RlbXBsYXRlPGNsYXNzIFQ+Cit1c2luZyBXcml0ZUJhcnJp
ZXJUcmFpdHNTZWxlY3QgPSB0eXBlbmFtZSBzdGQ6OmNvbmRpdGlvbmFsPHN0ZDo6aXNfc2FtZTxU
LCBVbmtub3duPjo6dmFsdWUsCisgICAgRHVtYlZhbHVlVHJhaXRzPFQ+LCBEdW1iUHRyVHJhaXRz
PFQ+Cis+Ojp0eXBlOworCit0ZW1wbGF0ZTxjbGFzcyBULCB0eXBlbmFtZSBUcmFpdHMgPSBXcml0
ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8VD4+IGNsYXNzIFdyaXRlQmFycmllckJhc2U7CiB0ZW1wbGF0
ZTw+IGNsYXNzIFdyaXRlQmFycmllckJhc2U8SlNWYWx1ZT47CiAKIEpTX0VYUE9SVF9QUklWQVRF
IHZvaWQgc2xvd1ZhbGlkYXRlQ2VsbChKU0NlbGwqKTsKQEAgLTY2LDE1ICs3NiwxOCBAQCB0ZW1w
bGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCB2YWxpZGF0ZUNlbGwoVCkKICNlbmRpZgogCiAvLyBX
ZSBoYXZlIGEgc2VwYXJhdGUgYmFzZSBjbGFzcyB3aXRoIG5vIGNvbnN0cnVjdG9ycyBmb3IgdXNl
IGluIFVuaW9ucy4KLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNl
IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+IGNsYXNzIFdyaXRlQmFy
cmllckJhc2UgeworICAgIHVzaW5nIFN0b3JhZ2VUeXBlID0gdHlwZW5hbWUgVHJhaXRzOjpTdG9y
YWdlVHlwZTsKKwogcHVibGljOgogICAgIHZvaWQgc2V0KFZNJiwgY29uc3QgSlNDZWxsKiBvd25l
ciwgVCogdmFsdWUpOwogICAgIAogICAgIC8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBsaWtl
IG9wZXJhdG9yPSwgYnV0IGlzIGNhbGxlZCBjb3B5RnJvbSBpbnN0ZWFkLCBpbgogICAgIC8vIG9y
ZGVyIHRvIGtpbmRseSBpbmZvcm0gdGhlIEMrKyBjb21waWxlciB0aGF0IGl0cyBhZHZpY2UgaXMg
bm90IGFwcHJlY2lhdGVkLgotICAgIHZvaWQgY29weUZyb20oY29uc3QgV3JpdGVCYXJyaWVyQmFz
ZTxUPiYgb3RoZXIpCisgICAgdm9pZCBjb3B5RnJvbShjb25zdCBXcml0ZUJhcnJpZXJCYXNlJiBv
dGhlcikKICAgICB7Ci0gICAgICAgIG1fY2VsbCA9IG90aGVyLm1fY2VsbDsKKyAgICAgICAgLy8g
RklYTUUgYWRkIHZlcnNpb24gd2l0aCBkaWZmZXJlbnQgVHJhaXRzIG9uY2UgbmVlZGVkLgorICAg
ICAgICBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgb3RoZXIubV9jZWxsKTsKICAgICB9CiAKICAg
ICB2b2lkIHNldE1heUJlTnVsbChWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKTsK
QEAgLTg2LDMxICs5OSwzOSBAQCBwdWJsaWM6CiAgICAgVCogZ2V0KCkgY29uc3QKICAgICB7CiAg
ICAgICAgIC8vIENvcHkgbV9jZWxsIHRvIGEgbG9jYWwgdG8gYXZvaWQgbXVsdGlwbGUtcmVhZCBp
c3N1ZXMuIChTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTEwODU0PikKLSAgICAgICAgSlNDZWxs
KiBjZWxsID0gbV9jZWxsOworICAgICAgICBTdG9yYWdlVHlwZSBjZWxsID0gbV9jZWxsOwogICAg
ICAgICBpZiAoY2VsbCkKLSAgICAgICAgICAgIHZhbGlkYXRlQ2VsbChjZWxsKTsKLSAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KHN0YXRpY19jYXN0PHZvaWQqPihjZWxsKSk7Cisg
ICAgICAgICAgICB2YWxpZGF0ZUNlbGwocmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPihzdGF0aWNf
Y2FzdDx2b2lkKj4oVHJhaXRzOjp1bndyYXAoY2VsbCkpKSk7CisgICAgICAgIHJldHVybiBUcmFp
dHM6OnVud3JhcChjZWxsKTsKICAgICB9CiAKICAgICBUKiBvcGVyYXRvciooKSBjb25zdAogICAg
IHsKLSAgICAgICAgQVNTRVJUKG1fY2VsbCk7Ci0gICAgICAgIHZhbGlkYXRlQ2VsbDxUPihzdGF0
aWNfY2FzdDxUKj4obV9jZWxsKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4obV9j
ZWxsKTsKKyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1fY2VsbDsKKyAgICAgICAgQVNTRVJU
KGNlbGwpOworICAgICAgICB2YWxpZGF0ZUNlbGw8VD4oVHJhaXRzOjp1bndyYXAoY2VsbCkpOwor
ICAgICAgICByZXR1cm4gVHJhaXRzOjp1bndyYXAoY2VsbCk7CiAgICAgfQogCiAgICAgVCogb3Bl
cmF0b3ItPigpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NFUlQobV9jZWxsKTsKLSAgICAgICAg
dmFsaWRhdGVDZWxsKHN0YXRpY19jYXN0PFQqPihtX2NlbGwpKTsKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFQqPihtX2NlbGwpOworICAgICAgICBTdG9yYWdlVHlwZSBjZWxsID0gbV9jZWxs
OworICAgICAgICBBU1NFUlQoY2VsbCk7CisgICAgICAgIHZhbGlkYXRlQ2VsbChUcmFpdHM6OnVu
d3JhcChjZWxsKSk7CisgICAgICAgIHJldHVybiBUcmFpdHM6OnVud3JhcChjZWxsKTsKICAgICB9
CiAKLSAgICB2b2lkIGNsZWFyKCkgeyBtX2NlbGwgPSAwOyB9Ci0gICAgCi0gICAgVCoqIHNsb3Qo
KSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqKj4oJm1fY2VsbCk7IH0KKyAgICB2b2lkIGNs
ZWFyKCkgeyBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgbnVsbHB0cik7IH0KKworICAgIFQqKiBz
bG90KCkKKyAgICB7CisgICAgICAgIGlmIChzdGQ6OmlzX3NhbWU8VHJhaXRzLCBEdW1iUHRyVHJh
aXRzPFQ+Pjo6dmFsdWUpCisgICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKio+
KCZtX2NlbGwpOworICAgICAgICAvLyBTbG90IGNhbm5vdCBiZSB1c2VkIHdoZW4gcG9pbnRlcnMg
YXJlbid0IHN0b3JlZCBhcy1pcy4KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICB9CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuIG1fY2VsbDsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVy
biAhIW1fY2VsbDsgfQogICAgIAogICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4g
IW1fY2VsbDsgfQogCkBAIC0xMTksMTYgKzE0MCwxNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdS
SVRFX0JBUlJJRVJfUFJPRklMSU5HKQogICAgICAgICBXcml0ZUJhcnJpZXJDb3VudGVyczo6dXNl
c1dpdGhvdXRCYXJyaWVyRnJvbUNwcC5jb3VudCgpOwogI2VuZGlmCi0gICAgICAgIHRoaXMtPm1f
Y2VsbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4odmFsdWUpOworICAgICAgICBUcmFpdHM6
OmV4Y2hhbmdlKHRoaXMtPm1fY2VsbCwgdmFsdWUpOwogICAgIH0KIAotICAgIFQqIHVudmFsaWRh
dGVkR2V0KCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oc3RhdGljX2Nhc3Q8
dm9pZCo+KG1fY2VsbCkpOyB9CisgICAgVCogdW52YWxpZGF0ZWRHZXQoKSBjb25zdCB7IHJldHVy
biBUcmFpdHM6OnVud3JhcChtX2NlbGwpOyB9CiAKIHByaXZhdGU6Ci0gICAgSlNDZWxsKiBtX2Nl
bGw7CisgICAgU3RvcmFnZVR5cGUgbV9jZWxsOwogfTsKIAotdGVtcGxhdGUgPD4gY2xhc3MgV3Jp
dGVCYXJyaWVyQmFzZTxVbmtub3duPiB7Cit0ZW1wbGF0ZSA8PiBjbGFzcyBXcml0ZUJhcnJpZXJC
YXNlPFVua25vd24sIER1bWJWYWx1ZVRyYWl0czxVbmtub3duPj4gewogcHVibGljOgogICAgIHZv
aWQgc2V0KFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgSlNWYWx1ZSk7CiAgICAgdm9pZCBzZXRX
aXRob3V0V3JpdGVCYXJyaWVyKEpTVmFsdWUgdmFsdWUpCkBAIC0xNjUsOSArMTg2LDEyIEBAIHBy
aXZhdGU6CiAgICAgRW5jb2RlZEpTVmFsdWUgbV92YWx1ZTsKIH07CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXIgOiBwdWJsaWMgV3JpdGVCYXJyaWVyQmFzZTxUPiB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzID0gV3JpdGVCYXJyaWVyVHJh
aXRzU2VsZWN0PFQ+PgorY2xhc3MgV3JpdGVCYXJyaWVyIDogcHVibGljIFdyaXRlQmFycmllckJh
c2U8VCwgVHJhaXRzPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IFRyYWl0czo6cG9pc29uOworCiAgICAg
V3JpdGVCYXJyaWVyKCkKICAgICB7CiAgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJp
ZXIoMCk7CkBAIC0xOTIsOSArMjE2LDEyIEBAIHB1YmxpYzoKIH07CiAKIGVudW0gVW5kZWZpbmVk
V3JpdGVCYXJyaWVyVGFnVHlwZSB7IFVuZGVmaW5lZFdyaXRlQmFycmllclRhZyB9OwotdGVtcGxh
dGUgPD4gY2xhc3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDogcHVibGljIFdyaXRlQmFycmllckJh
c2U8VW5rbm93bj4gewordGVtcGxhdGUgPD4KK2NsYXNzIFdyaXRlQmFycmllcjxVbmtub3duLCBE
dW1iVmFsdWVUcmFpdHM8VW5rbm93bj4+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93
biwgRHVtYlZhbHVlVHJhaXRzPFVua25vd24+PiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IER1bWJWYWx1
ZVRyYWl0czxVbmtub3duPjo6cG9pc29uOworCiAgICAgV3JpdGVCYXJyaWVyKCkKICAgICB7CiAg
ICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoSlNWYWx1ZSgpKTsKQEAgLTIxNiw5
ICsyNDMsMTggQEAgcHVibGljOgogICAgIH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBVLCB0
eXBlbmFtZSBWPiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8
VT4mIGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWPiYgcmhzKQordGVtcGxhdGUgPHR5cGVu
YW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFRyYWl0c1UsIHR5cGVuYW1lIFRyYWl0c1Y+Citp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VSwgVHJhaXRzVT4m
IGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWLCBUcmFpdHNWPiYgcmhzKQogewogICAgIHJl
dHVybiBsaHMuZ2V0KCkgPT0gcmhzLmdldCgpOwogfQogCit0ZW1wbGF0ZTx1aW50MzJfdCBrZXks
IGNsYXNzIFQ+Cit1c2luZyBQb2lzb25lZFdyaXRlQmFycmllclRyYWl0c1NlbGVjdCA9IHR5cGVu
YW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQsIFVua25vd24+Ojp2YWx1ZSwKKyAg
ICBXVEY6OkNvbnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM8a2V5LCBUPiwgV1RGOjpDb25zdEV4
cHJQb2lzb25lZFB0clRyYWl0czxrZXksIFQ+Cis+Ojp0eXBlOworCit0ZW1wbGF0ZSA8dWludDMy
X3Qga2V5LCB0eXBlbmFtZSBUPgordXNpbmcgUG9pc29uZWRXcml0ZUJhcnJpZXIgPSBXcml0ZUJh
cnJpZXI8VCwgUG9pc29uZWRXcml0ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8a2V5LCBUPj47CisKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVySW5saW5lcy5oCmluZGV4IDRiZDJkZDYuLjllMTEzNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllcklubGluZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXJJbmxpbmVzLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAs
OCArMzAsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1p
bmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwq
IG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+
CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldChWTSYgdm0sIGNv
bnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIEFTU0VSVCh2YWx1ZSk7CiAgICAg
QVNTRVJUKCFPcHRpb25zOjp1c2VDb25jdXJyZW50SklUKCkgfHwgIWlzQ29tcGlsYXRpb25UaHJl
YWQoKSk7CkBAIC0zOSwyMiArMzksMjIgQEAgaW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxU
Pjo6c2V0KFZNJiB2bSwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpCiAgICAgc2V0RWFy
bHlWYWx1ZSh2bSwgb3duZXIsIHZhbHVlKTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1p
bmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXRNYXlCZU51bGwoVk0mIHZtLCBjb25z
dCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBUcmFpdHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldE1h
eUJlTnVsbChWTSYgdm0sIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIGlm
ICh2YWx1ZSkKICAgICAgICAgdmFsaWRhdGVDZWxsKHZhbHVlKTsKICAgICBzZXRFYXJseVZhbHVl
KHZtLCBvd25lciwgdmFsdWUpOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWlubGluZSB2
b2lkIFdyaXRlQmFycmllckJhc2U8VD46OnNldEVhcmx5VmFsdWUoVk0mIHZtLCBjb25zdCBKU0Nl
bGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFp
dHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldEVhcmx5VmFs
dWUoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKIHsKLSAgICB0aGlzLT5t
X2NlbGwgPSByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KHZhbHVlKTsKLSAgICB2bS5oZWFwLndy
aXRlQmFycmllcihvd25lciwgdGhpcy0+bV9jZWxsKTsKKyAgICBUcmFpdHM6OmV4Y2hhbmdlKHRo
aXMtPm1fY2VsbCwgdmFsdWUpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKG93bmVyLCBzdGF0
aWNfY2FzdDxKU0NlbGwqPih2YWx1ZSkpOwogfQogCi1pbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJC
YXNlPFVua25vd24+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZh
bHVlKQoraW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duLCBEdW1iVmFsdWVUcmFp
dHM8VW5rbm93bj4+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZh
bHVlKQogewogICAgIEFTU0VSVCghT3B0aW9uczo6dXNlQ29uY3VycmVudEpJVCgpIHx8ICFpc0Nv
bXBpbGF0aW9uVGhyZWFkKCkpOwogICAgIG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUluc3RhbmNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaAppbmRleCAyYzA4MDAw
Li5hYTlmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5z
dGFuY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0x
MDAsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICBJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2Ug
eyBudWxscHRyIH07CiAgICAgICAgIFdhc206Oldhc21FbnRyeXBvaW50TG9hZExvY2F0aW9uIHdh
c21FbnRyeXBvaW50IHsgbnVsbHB0ciB9OwogICAgICAgICB2b2lkKiB3YXNtVG9FbWJlZGRlclN0
dWJFeGVjdXRhYmxlQWRkcmVzcyB7IG51bGxwdHIgfTsKLSAgICAgICAgdm9pZCogaW1wb3J0RnVu
Y3Rpb24geyBudWxscHRyIH07IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgV3JpdGVC
YXJyaWVyPEpTT2JqZWN0Pi4KKyAgICAgICAgdm9pZCogaW1wb3J0RnVuY3Rpb24geyBudWxscHRy
IH07IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgUG9pc29uZWRCYXJyaWVyPEpTT2Jq
ZWN0Pi4KICAgICB9OwogICAgIHVuc2lnbmVkIG51bUltcG9ydEZ1bmN0aW9ucygpIGNvbnN0IHsg
cmV0dXJuIG1fbnVtSW1wb3J0RnVuY3Rpb25zOyB9CiAgICAgSW1wb3J0RnVuY3Rpb25JbmZvKiBp
bXBvcnRGdW5jdGlvbkluZm8oc2l6ZV90IGltcG9ydEZ1bmN0aW9uTnVtKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAK
aW5kZXggY2JlZjM2OC4uMzRhYzI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwCkBAIC01NCw3ICs1NCw3IEBA
IEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJseUluc3RhbmNlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXCiAgICAgLCBtX2luc3RhbmNlKFdURk1vdmUoaW5zdGFu
Y2UpKQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0aGlzLT5pbnN0YW5jZSgpLm51
bUltcG9ydEZ1bmN0aW9ucygpOyArK2kpCi0gICAgICAgIG5ldyAodGhpcy0+aW5zdGFuY2UoKS5p
bXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihpKSkgV3JpdGVCYXJyaWVyPEpT
T2JqZWN0PigpOworICAgICAgICBuZXcgKHRoaXMtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248
UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oaSkpIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4o
KTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCog
bW9kdWxlTmFtZXNwYWNlT2JqZWN0KQpAQCAtNjUsNyArNjUsNyBAQCB2b2lkIEpTV2ViQXNzZW1i
bHlJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBt
b2R1bGUsCiAgICAgbV9tb2R1bGUuc2V0KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxl
TmFtZXNwYWNlT2JqZWN0LnNldCh2bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKICAg
ICBtX2NhbGxlZS5zZXQodm0sIHRoaXMsIG1vZHVsZS0+Y2FsbGVlKCkpOwotICAgIAorCiAgICAg
aGVhcCgpLT5yZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9y
eUFsbG9jYXRlZCgpKTsKIH0KIApAQCAtODgsNyArODgsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9y
LnJlcG9ydEV4dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1l
bW9yeUFsbG9jYXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVj
dC0+aW5zdGFuY2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQotICAgICAgICB2aXNpdG9y
LmFwcGVuZCgqdGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJp
ZXI8SlNPYmplY3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dl
YkFzc2VtYmx5SW5zdGFuY2UgYWxpdmUuCisgICAgICAgIHZpc2l0b3IuYXBwZW5kKCp0aGlzT2Jq
ZWN0LT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+
KGkpKTsgLy8gVGhpcyBhbHNvIGtlZXBzIHRoZSBmdW5jdGlvbnMnIEpTV2ViQXNzZW1ibHlJbnN0
YW5jZSBhbGl2ZS4KIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmFsaXplQ3Jl
YXRpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIFJlZjxXYXNtOjpDb2RlQmxvY2s+JiYgd2Fz
bUNvZGVCbG9jaykKQEAgLTIzNiw3ICsyMzYsNyBAQCBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIEpT
V2ViQXNzZW1ibHlJbnN0YW5jZTo6Y3JlYXRlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKUwog
ICAgICAgICAgICAgYXV0byogaW5mbyA9IGpzSW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVu
Y3Rpb25JbmZvKG51bUltcG9ydEZ1bmN0aW9ucyk7CiAgICAgICAgICAgICBpbmZvLT50YXJnZXRJ
bnN0YW5jZSA9IGNhbGxlZUluc3RhbmNlOwogICAgICAgICAgICAgaW5mby0+d2FzbUVudHJ5cG9p
bnQgPSB3YXNtRW50cnlwb2ludDsKLSAgICAgICAgICAgIGpzSW5zdGFuY2UtPmluc3RhbmNlKCku
aW1wb3J0RnVuY3Rpb248V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4obnVtSW1wb3J0RnVuY3Rpb25z
KS0+c2V0KHZtLCBqc0luc3RhbmNlLCBmdW5jdGlvbik7CisgICAgICAgICAgICBqc0luc3RhbmNl
LT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KG51
bUltcG9ydEZ1bmN0aW9ucyktPnNldCh2bSwganNJbnN0YW5jZSwgZnVuY3Rpb24pOwogICAgICAg
ICAgICAgKytudW1JbXBvcnRGdW5jdGlvbnM7CiAgICAgICAgICAgICAvLyB2LiBBcHBlbmQgY2xv
c3VyZSB0byBpbXBvcnRzLgogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQyNWJi
Y2QuLjE3ODBhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCkBAIC03Nyw3ICs3NywxMCBAQCBwdWJsaWM6CiAgICAg
fQogCiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZlBvaXNvbmVkSW5zdGFuY2UoKSB7IHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2luc3RhbmNlKTsgfQot
ICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VU
T0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKyAgICBzdGF0aWMgc2l6ZV90
IG9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJB
c3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJB
c3NlbWJseUluc3RhbmNlUG9pc29uLCBUPjsKIAogcHJvdGVjdGVkOgogICAgIEpTV2ViQXNzZW1i
bHlJbnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIFJlZjxXYXNtOjpJbnN0YW5jZT4mJik7CkBAIC05
MCwxMiArOTMsMTIgQEAgcHJpdmF0ZToKIAogICAgIFBvaXNvbmVkUmVmPEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZVBvaXNvbiwgV2FzbTo6SW5zdGFuY2U+IG1faW5zdGFuY2U7CiAKLSAgICBXcml0ZUJh
cnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7Ci0gICAgV3JpdGVCYXJyaWVyPEpT
V2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2NrOwotICAgIFdyaXRlQmFycmllcjxKU01v
ZHVsZU5hbWVzcGFjZU9iamVjdD4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Q7Ci0gICAgV3JpdGVC
YXJyaWVyPEpTV2ViQXNzZW1ibHlNZW1vcnk+IG1fbWVtb3J5OwotICAgIFdyaXRlQmFycmllcjxK
U1dlYkFzc2VtYmx5VGFibGU+IG1fdGFibGU7Ci0gICAgV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5
VG9KU0NhbGxlZT4gbV9jYWxsZWU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlN
b2R1bGU+IG1fbW9kdWxlOworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5Q29kZUJs
b2NrPiBtX2NvZGVCbG9jazsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNNb2R1bGVOYW1lc3BhY2VP
YmplY3Q+IG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0OworICAgIFBvaXNvbmVkQmFycmllcjxKU1dl
YkFzc2VtYmx5TWVtb3J5PiBtX21lbW9yeTsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNXZWJBc3Nl
bWJseVRhYmxlPiBtX3RhYmxlOworICAgIFBvaXNvbmVkQmFycmllcjxXZWJBc3NlbWJseVRvSlND
YWxsZWU+IG1fY2FsbGVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmgKaW5kZXggOGUx
MjAyMi4uODZjZmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseU1lbW9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlNZW1vcnkuaApAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFBv
aXNvbmVkUmVmPEpTV2ViQXNzZW1ibHlNZW1vcnlQb2lzb24sIFdhc206Ok1lbW9yeT4gbV9tZW1v
cnk7Ci0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXI+IG1fYnVmZmVyV3JhcHBlcjsKKyAg
ICBQb2lzb25lZFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5TWVtb3J5UG9pc29uLCBKU0FycmF5
QnVmZmVyPiBtX2J1ZmZlcldyYXBwZXI7CiAgICAgUG9pc29uZWRSZWZQdHI8SlNXZWJBc3NlbWJs
eU1lbW9yeVBvaXNvbiwgQXJyYXlCdWZmZXI+IG1fYnVmZmVyOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCmluZGV4IDIw
N2QwM2IuLjA4OWMyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L0pTV2ViQXNzZW1ibHlNb2R1bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9KU1dlYkFzc2VtYmx5TW9kdWxlLmgKQEAgLTgyLDkgKzgyLDEzIEBAIHByaXZhdGU6CiAgICAg
c3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAg
UG9pc29uZWRSZWY8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNvbiwgV2FzbTo6TW9kdWxlPiBtX21v
ZHVsZTsKLSAgICBXcml0ZUJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9sVGFibGU7
Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2Nrc1tX
YXNtOjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlU
b0pTQ2FsbGVlPiBtX2NhbGxlZTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNp
bmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1v
ZHVsZVBvaXNvbiwgVD47CisKKyAgICBQb2lzb25lZEJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhw
b3J0U3ltYm9sVGFibGU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxv
Y2s+IG1fY29kZUJsb2Nrc1tXYXNtOjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKKyAgICBQb2lzb25l
ZEJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxlZTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseVRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlUYWJsZS5jcHAKaW5kZXggNTdhMTJlMi4uZDcwYWJlYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwCkBAIC02
Myw5ICs2Myw5IEBAIEpTV2ViQXNzZW1ibHlUYWJsZTo6SlNXZWJBc3NlbWJseVRhYmxlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXYXNtOjpUCiAgICAgLy8gRklYTUU6IEl0IG1p
Z2h0IGJlIHdvcnRoIHRyeWluZyB0byBwcmUtYWxsb2NhdGUgbWF4aW11bSBoZXJlLiBUaGUgc3Bl
YyByZWNvbW1lbmRzIGRvaW5nIHNvLgogICAgIC8vIEJ1dCBmb3Igbm93LCB3ZSdyZSBub3QgZG9p
bmcgdGhhdC4KICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBz
bWFydGVyIGFib3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgbV9qc0Z1bmN0aW9ucyA9
IE1hbGxvY1B0cjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoV3JpdGVC
YXJyaWVyPEpTT2JqZWN0PikgKiBDaGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51
bnNhZmVHZXQoKSk7CisgICAgbV9qc0Z1bmN0aW9ucyA9IE1hbGxvY1B0cjxQb2lzb25lZEJhcnJp
ZXI8SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pikg
KiBDaGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNhZmVHZXQoKSk7CiAgICAg
Zm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGFsbG9jYXRlZExlbmd0aCgpOyArK2kpCi0gICAgICAg
IG5ldygmbV9qc0Z1bmN0aW9ucy5nZXQoKVtpXSkgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PigpOwor
ICAgICAgICBuZXcoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09i
amVjdD4oKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5VGFibGU6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSkKQEAgLTEwNCwxMCArMTA0LDEwIEBAIGJvb2wgSlNXZWJBc3NlbWJseVRhYmxlOjpncm93
KHVpbnQzMl90IGRlbHRhKQogICAgIHNpemVfdCBuZXdMZW5ndGggPSBncmV3LnZhbHVlKCk7CiAg
ICAgaWYgKG5ld0xlbmd0aCA+IG1fdGFibGUtPmFsbG9jYXRlZExlbmd0aChvbGRMZW5ndGgpKQog
ICAgICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFydGVy
IGFib3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgICAgIG1fanNGdW5jdGlvbnMucmVh
bGxvYygoc2l6ZW9mKFdyaXRlQmFycmllcjxKU09iamVjdD4pICogQ2hlY2tlZDxzaXplX3Q+KG1f
dGFibGUtPmFsbG9jYXRlZExlbmd0aChuZXdMZW5ndGgpKSkudW5zYWZlR2V0KCkpOworICAgICAg
ICBtX2pzRnVuY3Rpb25zLnJlYWxsb2MoKHNpemVvZihQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+
KSAqIENoZWNrZWQ8c2l6ZV90PihtX3RhYmxlLT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKSkp
LnVuc2FmZUdldCgpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSBvbGRMZW5ndGg7IGkgPCBtX3Rh
YmxlLT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKTsgKytpKQotICAgICAgICBuZXcgKCZtX2pz
RnVuY3Rpb25zLmdldCgpW2ldKSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgICAgIG5l
dyAoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsK
IAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTIxLDcgKzEyMSw3IEBAIEpTT2JqZWN0KiBKU1dl
YkFzc2VtYmx5VGFibGU6OmdldEZ1bmN0aW9uKHVpbnQzMl90IGluZGV4KQogdm9pZCBKU1dlYkFz
c2VtYmx5VGFibGU6OmNsZWFyRnVuY3Rpb24odWludDMyX3QgaW5kZXgpCiB7CiAgICAgbV90YWJs
ZS0+Y2xlYXJGdW5jdGlvbihpbmRleCk7Ci0gICAgbV9qc0Z1bmN0aW9ucy5nZXQoKVtpbmRleCAm
IG1fdGFibGUtPm1hc2soKV0gPSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgbV9qc0Z1
bmN0aW9ucy5nZXQoKVtpbmRleCAmIG1fdGFibGUtPm1hc2soKV0gPSBQb2lzb25lZEJhcnJpZXI8
SlNPYmplY3Q+KCk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJseVRhYmxlOjpzZXRGdW5jdGlvbihW
TSYgdm0sIHVpbnQzMl90IGluZGV4LCBXZWJBc3NlbWJseUZ1bmN0aW9uKiBmdW5jdGlvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgK
aW5kZXggZGM3NGE4Zi4uYzU0MGU3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKQEAgLTY3LDcgKzY3LDExIEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwog
CiAgICAgUG9pc29uZWRSZWY8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBXYXNtOjpUYWJsZT4g
bV90YWJsZTsKLSAgICBNYWxsb2NQdHI8V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4gbV9qc0Z1bmN0
aW9uczsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJy
aWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBUPjsK
KworICAgIE1hbGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+PiBtX2pzRnVuY3Rpb25z
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XYXNtVG9KUy5jcHAKaW5kZXggZTYyZjhjZi4uNmIzYTQ2YyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDEzICs0NiwxNSBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIFdhc20gewogCiB1c2luZyBKSVQgPSBDQ2FsbEhlbHBlcnM7CiAK
LXN0YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBp
bXBvcnRJbmRleCwgR1BSUmVnIHJlc3VsdCkKK3N0YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0
SlNDZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRleCwgR1BSUmVnIHNjcmF0Y2gsIEdQ
UlJlZyByZXN1bHQpCiB7CiAgICAgLy8gV2UncmUgY2FsbGluZyBvdXQgb2YgdGhlIGN1cnJlbnQg
V2ViQXNzZW1ibHkuSW5zdGFuY2UuIFRoYXQgSW5zdGFuY2UgaGFzIGEgbGlzdCBvZiBhbGwgaXRz
IGltcG9ydCBmdW5jdGlvbnMuCi0gICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNlKHJlc3Vs
dCk7Ci0gICAgaml0LmxvYWRQdHIoSklUOjpBZGRyZXNzKHJlc3VsdCwgSW5zdGFuY2U6Om9mZnNl
dE9mSW1wb3J0RnVuY3Rpb24oaW1wb3J0SW5kZXgpKSwgcmVzdWx0KTsKKyAgICBqaXQubG9hZFdh
c21Db250ZXh0SW5zdGFuY2Uoc2NyYXRjaCk7CisgICAgaml0LmxvYWRQdHIoSklUOjpBZGRyZXNz
KHNjcmF0Y2gsIEluc3RhbmNlOjpvZmZzZXRPZkltcG9ydEZ1bmN0aW9uKGltcG9ydEluZGV4KSks
IHNjcmF0Y2gpOworICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2Vi
QXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pjo6cG9pc29uKSwgcmVz
dWx0KTsKKyAgICBqaXQueG9yNjQoc2NyYXRjaCwgcmVzdWx0KTsKIH0KLSAgICAKKwogc3RhdGlj
IEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IGhhbmRsZUJh
ZEk2NFVzZShWTSogdm0sIEpJVCYgaml0LCBjb25zdCBTaWduYXR1cmUmIHNpZ25hdHVyZSwgdW5z
aWduZWQgaW1wb3J0SW5kZXgpCiB7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBzaWduYXR1cmUu
YXJndW1lbnRDb3VudCgpOwpAQCAtODQsOSArODYsMTQgQEAgc3RhdGljIEV4cGVjdGVkPE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IGhhbmRsZUJhZEk2NFVzZShWTSogdm0s
IEoKIAogICAgICAgICAvLyBTdG9yZSBDYWxsZWUuCiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxs
SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjEsIEluc3RhbmNlOjpvZmZzZXRP
Zk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgICAgICBqaXQubG9hZFB0cihD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBKU1dlYkFzc2VtYmx5
SW5zdGFuY2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOworICAg
ICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRH
UFIxLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSksIEdQ
UkluZm86OmFyZ3VtZW50R1BSMik7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPFdlYkFzc2Vt
Ymx5VG9KU0NhbGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CisgICAgICAg
IGppdC54b3I2NChHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OmFyZ3VtZW50R1BSMik7
CiAgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjIsIEpJVDo6QWRkcmVz
cyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3Rh
dGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogCisgICAgICAgIC8vIExldCdzIGJl
IHBhcmFub2lkIG9uIHRoZSBleGNlcHRpb24gcGF0aCBhbmQgemVybyBvdXQgdGhlIHBvaXNvbiBp
bnN0ZWFkIG9mIGxlYXZpbmcgaXQgaW4gYW4gYXJndW1lbnQgR1BSLgorICAgICAgICBqaXQubW92
ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsK
KwogICAgICAgICBhdXRvIGNhbGwgPSBqaXQuY2FsbCgpOwogICAgICAgICBqaXQuanVtcFRvRXhj
ZXB0aW9uSGFuZGxlcigqdm0pOwogCkBAIC0yODQsMTAgKzI5MSwxMiBAQCBFeHBlY3RlZDxNYWNy
b0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9KUyhWTSogdm0sIEJhZzxD
YWxsTGlua0luZgogICAgICAgICAKICAgICAgICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNl
KEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVy
KCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFu
Y2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgICAgICBq
aXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBK
U1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSksIEdQUkluZm86
OmFyZ3VtZW50R1BSMCk7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPFdlYkFzc2VtYmx5VG9K
U0NhbGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIGppdC54
b3I2NChHUFJJbmZvOjphcmd1bWVudEdQUjEsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAg
ICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpJVDo6QWRkcmVzcyhHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nh
c3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogICAgICAgICAKLSAgICAgICAgbWF0ZXJpYWxp
emVJbXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxKTsK
KyAgICAgICAgbWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BSSW5m
bzo6YXJndW1lbnRHUFIyLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwogICAgICAgICBzdGF0aWNf
YXNzZXJ0KEdQUkluZm86Om51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPj0gNCwgIldlIHJlbHkg
b24gdGhpcyB3aXRoIHRoZSBjYWxsIGJlbG93LiIpOwogICAgICAgICBqaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tMzIoc2lnbmF0dXJlSW5kZXgpLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYnVm
ZmVyKSk7CiAgICAgICAgIGF1dG8gY2FsbCA9IGppdC5jYWxsKCk7CkBAIC00NjUsMTUgKzQ3NCwx
NyBAQCBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3YXNt
VG9KUyhWTSogdm0sIEJhZzxDYWxsTGlua0luZgogICAgICAgICB9CiAgICAgfQogCisgICAgR1BS
UmVnIGltcG9ydEpTQ2VsbEdQUlJlZyA9IEdQUkluZm86OnJlZ1QwOyAvLyBDYWxsZWUgbmVlZHMg
dG8gYmUgaW4gcmVnVDAgZm9yIHNsb3cgcGF0aCBiZWxvdy4KKwogICAgIGppdC5sb2FkV2FzbUNv
bnRleHRJbnN0YW5jZShHUFJJbmZvOjphcmd1bWVudEdQUjApOwogICAgIGppdC5sb2FkUHRyKEND
YWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEluc3RhbmNlOjpvZmZz
ZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgIGppdC5sb2FkUHRyKEND
YWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZTo6b2Zmc2V0T2ZDYWxsZWUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CisgICAg
aml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwg
SlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZlBvaXNvbmVkQ2FsbGVlKCkpLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjApOworICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0
KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0Nh
bGxlZT46OnBvaXNvbiksIGltcG9ydEpTQ2VsbEdQUlJlZyk7CisgICAgaml0LnhvcjY0KGltcG9y
dEpTQ2VsbEdQUlJlZywgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQuc3RvcmVQdHIo
R1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKSVQ6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIsIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJl
Z2lzdGVyKSkpKTsKIAotICAgIEdQUlJlZyBpbXBvcnRKU0NlbGxHUFJSZWcgPSBHUFJJbmZvOjpy
ZWdUMDsgLy8gQ2FsbGVlIG5lZWRzIHRvIGJlIGluIHJlZ1QwIGZvciBzbG93IHBhdGggYmVsb3cu
CiAgICAgQVNTRVJUKCF3YXNtQ0MubV9jYWxsZWVTYXZlUmVnaXN0ZXJzLmdldChpbXBvcnRKU0Nl
bGxHUFJSZWcpKTsKLQotICAgIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKGppdCwgaW1wb3J0SW5k
ZXgsIGltcG9ydEpTQ2VsbEdQUlJlZyk7CisgICAgbWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwoaml0
LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBpbXBvcnRKU0NlbGxHUFJSZWcp
OwogCiAgICAgaml0LnN0b3JlNjQoaW1wb3J0SlNDZWxsR1BSUmVnLCBjYWxsZWVGcmFtZS53aXRo
T2Zmc2V0KENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJl
Z2lzdGVyKSkpKTsKICAgICBqaXQuc3RvcmUzMihKSVQ6OlRydXN0ZWRJbW0zMihudW1iZXJPZlBh
cmFtZXRlcnMpLCBjYWxsZWVGcmFtZS53aXRoT2Zmc2V0KENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50
Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNl
dCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlGdW5jdGlvbkJhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5RnVuY3Rpb25CYXNlLmgKaW5kZXggNDk3M2U0ZC4uZDE3MTlhMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTQ5LDcgKzQ5LDggQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0
aXZlRXhlY3V0YWJsZSosIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lLCBKU1dl
YkFzc2VtYmx5SW5zdGFuY2UqKTsKICAgICBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZShWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1i
bHlJbnN0YW5jZT4gbV9pbnN0YW5jZTsKKworICAgIFBvaXNvbmVkV3JpdGVCYXJyaWVyPFdlYkFz
c2VtYmx5RnVuY3Rpb25CYXNlUG9pc29uLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U+IG1faW5zdGFu
Y2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcAppbmRleCA3OGJh
YTZiLi45NWRiMjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9p
ZCBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6bGluayhFeGVjU3RhdGUqIGV4ZWMsIEpTV2ViQXNz
ZW1ibHlNb2R1bGUqIG1vZHVsZSwKICAgICAgICAgICAgIC8vICAgaWkuIChOb3RlOiBBdCBtb3N0
IG9uZSB3cmFwcGVyIGlzIGNyZWF0ZWQgZm9yIGFueSBjbG9zdXJlLCBzbyBmdW5jIGlzIHVuaXF1
ZSwgZXZlbiBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgb2NjdXJyYW5jZXMgaW4gdGhlIGxpc3QuIE1v
cmVvdmVyLCBpZiB0aGUgaXRlbSB3YXMgYW4gaW1wb3J0IHRoYXQgaXMgYWxyZWFkeSBhbiBFeHBv
cnRlZCBGdW5jdGlvbiBFeG90aWMgT2JqZWN0LCB0aGVuIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiBv
YmplY3Qgd2lsbCBiZSBmb3VuZC4gRm9yIGltcG9ydHMgdGhhdCBhcmUgcmVndWxhciBKUyBmdW5j
dGlvbnMsIGEgbmV3IHdyYXBwZXIgd2lsbCBiZSBjcmVhdGVkLikKICAgICAgICAgICAgIGlmIChl
eHAua2luZEluZGV4IDwgZnVuY3Rpb25JbXBvcnRDb3VudCkgewogICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGZ1bmN0aW9uSW5kZXggPSBleHAua2luZEluZGV4OwotICAgICAgICAgICAgICAgIEpT
T2JqZWN0KiBmdW5jdGlvbkltcG9ydCA9IGluc3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0
aW9uPFdyaXRlQmFycmllcjxKU09iamVjdD4+KGZ1bmN0aW9uSW5kZXgpLT5nZXQoKTsKKyAgICAg
ICAgICAgICAgICBKU09iamVjdCogZnVuY3Rpb25JbXBvcnQgPSBpbnN0YW5jZS0+aW5zdGFuY2Uo
KS5pbXBvcnRGdW5jdGlvbjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OlBvaXNvbmVkQmFycmllcjxK
U09iamVjdD4+KGZ1bmN0aW9uSW5kZXgpLT5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoaXNX
ZWJBc3NlbWJseUhvc3RGdW5jdGlvbih2bSwgZnVuY3Rpb25JbXBvcnQpKQogICAgICAgICAgICAg
ICAgICAgICBleHBvcnRlZFZhbHVlID0gZnVuY3Rpb25JbXBvcnQ7CiAgICAgICAgICAgICAgICAg
ZWxzZSB7CkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6
bGluayhFeGVjU3RhdGUqIGV4ZWMsIEpTV2ViQXNzZW1ibHlNb2R1bGUqIG1vZHVsZSwKICAgICAg
ICAgQVNTRVJUKCFzaWduYXR1cmUuYXJndW1lbnRDb3VudCgpKTsKICAgICAgICAgQVNTRVJUKHNp
Z25hdHVyZS5yZXR1cm5UeXBlKCkgPT0gV2FzbTo6Vm9pZCk7CiAgICAgICAgIGlmIChzdGFydEZ1
bmN0aW9uSW5kZXhTcGFjZSA8IGNvZGVCbG9jay0+ZnVuY3Rpb25JbXBvcnRDb3VudCgpKSB7Ci0g
ICAgICAgICAgICBKU09iamVjdCogc3RhcnRGdW5jdGlvbiA9IGluc3RhbmNlLT5pbnN0YW5jZSgp
LmltcG9ydEZ1bmN0aW9uPFdyaXRlQmFycmllcjxKU09iamVjdD4+KHN0YXJ0RnVuY3Rpb25JbmRl
eFNwYWNlKS0+Z2V0KCk7CisgICAgICAgICAgICBKU09iamVjdCogc3RhcnRGdW5jdGlvbiA9IGlu
c3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6
UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oc3RhcnRGdW5jdGlvbkluZGV4U3BhY2UpLT5nZXQo
KTsKICAgICAgICAgICAgIG1fc3RhcnRGdW5jdGlvbi5zZXQodm0sIHRoaXMsIHN0YXJ0RnVuY3Rp
b24pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgV2FzbTo6Q2FsbGVlJiBlbWJlZGRl
ckVudHJ5cG9pbnRDYWxsZWUgPSBjb2RlQmxvY2stPmVtYmVkZGVyRW50cnlwb2ludENhbGxlZUZy
b21GdW5jdGlvbkluZGV4U3BhY2Uoc3RhcnRGdW5jdGlvbkluZGV4U3BhY2UpOwpAQCAtMjk1LDcg
KzI5NSw3IEBAIEpTVmFsdWUgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ6OmV2YWx1YXRlKEV4ZWNT
dGF0ZSogZXhlYykKICAgICAgICAgICAgIHVpbnQzMl90IGZ1bmN0aW9uSW5kZXggPSBlbGVtZW50
LmZ1bmN0aW9uSW5kaWNlc1tpXTsKICAgICAgICAgICAgIFdhc206OlNpZ25hdHVyZUluZGV4IHNp
Z25hdHVyZUluZGV4ID0gbW9kdWxlLnNpZ25hdHVyZUluZGV4RnJvbUZ1bmN0aW9uSW5kZXhTcGFj
ZShmdW5jdGlvbkluZGV4KTsKICAgICAgICAgICAgIGlmIChmdW5jdGlvbkluZGV4IDwgY29kZUJs
b2NrLT5mdW5jdGlvbkltcG9ydENvdW50KCkpIHsKLSAgICAgICAgICAgICAgICBKU09iamVjdCog
ZnVuY3Rpb25JbXBvcnQgPSBtX2luc3RhbmNlLT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFdy
aXRlQmFycmllcjxKU09iamVjdD4+KGZ1bmN0aW9uSW5kZXgpLT5nZXQoKTsKKyAgICAgICAgICAg
ICAgICBKU09iamVjdCogZnVuY3Rpb25JbXBvcnQgPSBtX2luc3RhbmNlLT5pbnN0YW5jZSgpLmlt
cG9ydEZ1bmN0aW9uPEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpTT2Jq
ZWN0Pj4oZnVuY3Rpb25JbmRleCktPmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChpc1dlYkFz
c2VtYmx5SG9zdEZ1bmN0aW9uKHZtLCBmdW5jdGlvbkltcG9ydCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgV2ViQXNzZW1ibHlGdW5jdGlvbiogd2FzbUZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxX
ZWJBc3NlbWJseUZ1bmN0aW9uKj4odm0sIGZ1bmN0aW9uSW1wb3J0KTsKICAgICAgICAgICAgICAg
ICAgICAgLy8gSWYgd2UgZXZlciBpbXBvcnQgYSBXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbiwg
d2Ugc2V0IHRoZSBpbXBvcnQgYXMgdGhlIHVud3JhcHBlZCB2YWx1ZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5oCmlu
ZGV4IGEwOGNjYmMuLmZjMmFkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01OSw4ICs1OSwxMSBAQCBwcml2
YXRlOgogCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRv
ciYpOwogCi0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlJbnN0YW5jZT4gbV9pbnN0YW5j
ZTsKLSAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fc3RhcnRGdW5jdGlvbjsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgorICAgIHVzaW5nIFBvaXNvbmVkQmFycmllciA9IFBvaXNvbmVkV3Jp
dGVCYXJyaWVyPFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkUG9pc29uLCBUPjsKKworICAgIFBvaXNv
bmVkQmFycmllcjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U+IG1faW5zdGFuY2U7CisgICAgUG9pc29u
ZWRCYXJyaWVyPEpTT2JqZWN0PiBtX3N0YXJ0RnVuY3Rpb247CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5VG9KU0NhbGxlZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlUb0pTQ2FsbGVlLmgKaW5kZXggMDYxZDE0ZC4uYzg5YTFhZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsNyAr
NTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU1dlYkFzc2Vt
Ymx5TW9kdWxlKik7CiAgICAgV2ViQXNzZW1ibHlUb0pTQ2FsbGVlKFZNJiwgU3RydWN0dXJlKik7
CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7CisgICAg
UG9pc29uZWRXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlUG9pc29uLCBKU1dlYkFz
c2VtYmx5TW9kdWxlPiBtX21vZHVsZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVu
Y3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBl
ckZ1bmN0aW9uLmgKaW5kZXggZTEwMGY3MS4uY2E2YzBjYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTU2LDcgKzU2LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBXZWJBc3NlbWJseVdyYXBw
ZXJGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgV2FzbTo6Q2FsbGFi
bGVGdW5jdGlvbik7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fZnVuY3Rpb247Cisg
ICAgUG9pc29uZWRXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb25Qb2lzb24s
IEpTT2JqZWN0PiBtX2Z1bmN0aW9uOwogICAgIC8vIEl0J3Mgc2FmZSB0byBqdXN0IGhvbGQgdGhl
IHJhdyBDYWxsYWJsZUZ1bmN0aW9uIGJlY2F1c2Ugd2UgaGF2ZSBhIHJlZmVyZW5jZQogICAgIC8v
IHRvIG91ciBJbnN0YW5jZSwgd2hpY2ggcG9pbnRzIHRvIHRoZSBDb2RlQmxvY2ssIHdoaWNoIHBv
aW50cyB0byB0aGUgTW9kdWxlCiAgICAgLy8gdGhhdCBleHBvcnRlZCB1cywgd2hpY2ggZW5zdXJl
cyB0aGF0IHRoZSBhY3R1YWwgU2lnbmF0dXJlL2NvZGUgZG9lc24ndCBnZXQgZGVhbGxvY2F0ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGUzOGYxZjAuLjgzNTFmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMDEtMTIg
IEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgorCisgICAgICAgIFBvaXNvbmVkV3Jp
dGVCYXJyaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODE1OTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2NDc0MzUxPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnRpbmcgY2hhbmdlcyBu
ZWVkZWQgdG8gYWxsb3cgcG9pc29uaW5nIG9mIFdyaXRlQmFycmllcgorICAgICAgICBvYmplY3Rz
LgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d3RmL0R1bWJQdHJUcmFpdHMuaDoKKyAgICAgICAgKiB3dGYvRHVtYlZhbHVlVHJhaXRzLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMuaC4KKyAgICAgICAgKFdURjo6
RHVtYlZhbHVlVHJhaXRzOjpleGNoYW5nZSk6CisgICAgICAgIChXVEY6OkR1bWJWYWx1ZVRyYWl0
czo6c3dhcCk6CisgICAgICAgIChXVEY6OkR1bWJWYWx1ZVRyYWl0czo6dW53cmFwKToKKyAgICAg
ICAgKiB3dGYvRm9yd2FyZC5oOgorICAgICAgICAqIHd0Zi9Qb2lzb25lZC5oOgorICAgICAgICAo
V1RGOjpDb25zdEV4cHJQb2lzb25lZFZhbHVlVHJhaXRzOjpleGNoYW5nZSk6CisgICAgICAgIChX
VEY6OkNvbnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM6OnN3YXApOgorICAgICAgICAoV1RGOjpD
b25zdEV4cHJQb2lzb25lZFZhbHVlVHJhaXRzOjp1bndyYXApOgorCiAyMDE4LTAxLTA0ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrcyBzaG91bGQg
YmUgaW4gSXNvU3Vic3BhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBmNzcyZTc2Li5kZjk2MzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTU3NCw2ICs1NzQsNyBAQAogCQlBOEE0NzM3MjE1MUE4MjVCMDA0MTIz
RkYgLyogVk1UYWdzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZNVGFncy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzQ4QjE1MUE4MjY0MDA0MTIzRkYg
LyogY29uZmlnLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOUE0NzI3RjE1MUE4MjVBMDA0MTIzRkYgLyog
RGlzYWxsb3dDVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNhbGxv
d0NUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFENjUzREE4MjAwNkI2QzIw
MEQ4MjBENyAvKiBEdW1iVmFsdWVUcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRHVtYlZhbHVlVHJhaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFE
N0M0MzRBMUREMkE0QTcwMDI2ODg4QiAvKiBFeHBlY3RlZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFeHBlY3RlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
RDg5QjZCNTFFNjQxNTA4MDA5MDcwN0YgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEODlCNkI2MUU2NDE1MDgwMDkwNzA3
RiAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC04NTQsNiArODU1LDcgQEAKIAkJCQkwRjQ1NzA0MjFCRTVCNThGMDA2MkE2MjkgLyogRG9t
aW5hdG9ycy5oICovLAogCQkJCUE4QTQ3MjgwMTUxQTgyNUEwMDQxMjNGRiAvKiBEb3VibHlMaW5r
ZWRMaXN0LmggKi8sCiAJCQkJRkUwNUZBRTYxRkRCMjE0MzAwMDkzMjMwIC8qIER1bWJQdHJUcmFp
dHMuaCAqLywKKwkJCQlBRDY1M0RBODIwMDZCNkMyMDBEODIwRDcgLyogRHVtYlZhbHVlVHJhaXRz
LmggKi8sCiAJCQkJQThBNDcyOTcxNTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EuY3BwICovLAogCQkJ
CUE4QTQ3Mjk4MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmggKi8sCiAJCQkJMUFFQTg4RTExRDZC
QkNGNDAwRTVBRDY0IC8qIEVudW1UcmFpdHMuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0R1bWJQdHJUcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMuaAppbmRl
eCBlODQyNWMwLi4zY2VjZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9EdW1iUHRyVHJh
aXRzLmgKKysrIGIvU291cmNlL1dURi93dGYvRHVtYlB0clRyYWl0cy5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDEyICsyNSwxNSBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgPGNzdGRpbnQ+CiAjaW5jbHVkZSA8dXRpbGl0
eT4KIAogbmFtZXNwYWNlIFdURiB7CiAgICAgCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogc3RydWN0
IER1bWJQdHJUcmFpdHMgeworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0cl90IHBvaXNvbiA9
IDA7CisKICAgICB1c2luZyBTdG9yYWdlVHlwZSA9IFQqOwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4KQEAgLTQyLDMgKzQ1LDQgQEAgc3RydWN0IER1bWJQdHJUcmFpdHMgewogCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAordXNpbmcgV1RGOjpEdW1iUHRyVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9EdW1iVmFsdWVU
cmFpdHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzkwYWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRzLmgKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8Y3N0ZGludD4KKyNpbmNsdWRlIDx1dGlsaXR5PgorCitu
YW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBEdW1iVmFsdWVU
cmFpdHMgeworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0cl90IHBvaXNvbiA9IDA7CisKKyAg
ICB1c2luZyBTdG9yYWdlVHlwZSA9IFQ7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAg
IHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQgZXhjaGFuZ2UoU3RvcmFnZVR5cGUmIHZhbCwgVSYmIG5l
d1ZhbHVlKSB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKHZhbCwgbmV3VmFsdWUpOyB9CisKKyAgICBz
dGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIHN3YXAoU3RvcmFnZVR5cGUmIGEsIFN0b3JhZ2VUeXBl
JiBiKSB7IHN0ZDo6c3dhcChhLCBiKTsgfQorICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQgdW53
cmFwKGNvbnN0IFN0b3JhZ2VUeXBlJiB2YWwpIHsgcmV0dXJuIHZhbDsgfQorfTsKKworfSAvLyBu
YW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6RHVtYlZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvRm9yd2FyZC5oIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCmluZGV4
IDNjMjZkNzAuLjQyZmFkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogIENv
cHlyaWdodCAoQykgMjAwNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgRmFzdE1hbGxv
YzsKIAogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNzIENvbXBsZXRpb25IYW5kbGVyOwogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IER1bWJQdHJUcmFpdHM7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgRHVtYlZhbHVlVHJhaXRzOwogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNzIEZ1bmN0
aW9uOwogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNzIExhenlOZXZlckRlc3Ryb3llZDsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBjbGFzcyBOZXZlckRlc3Ryb3llZDsKQEAgLTg0LDYgKzg1LDggQEAgdXNp
bmcgV1RGOjpBdG9taWNTdHJpbmdJbXBsOwogdXNpbmcgV1RGOjpCaW5hcnlTZW1hcGhvcmU7CiB1
c2luZyBXVEY6OkNTdHJpbmc7CiB1c2luZyBXVEY6OkNvbXBsZXRpb25IYW5kbGVyOwordXNpbmcg
V1RGOjpEdW1iUHRyVHJhaXRzOwordXNpbmcgV1RGOjpEdW1iVmFsdWVUcmFpdHM7CiB1c2luZyBX
VEY6OkZ1bmN0aW9uOwogdXNpbmcgV1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI7CiB1c2luZyBXVEY6
Okhhc2hDb3VudGVkU2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUG9pc29uZWQuaCBi
L1NvdXJjZS9XVEYvd3RmL1BvaXNvbmVkLmgKaW5kZXggYmE1YjZhOC4uNDE1NGIzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUG9pc29uZWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Qb2lz
b25lZC5oCkBAIC0yNjIsNiArMjYyLDggQEAgdXNpbmcgQ29uc3RFeHByUG9pc29uZWQgPSBQb2lz
b25lZEltcGw8dWludHB0cl90LCBtYWtlQ29uc3RFeHByUG9pc29uKGtleSksIFQ+OwogCiB0ZW1w
bGF0ZTx1aW50MzJfdCBrZXksIHR5cGVuYW1lIFQ+CiBzdHJ1Y3QgQ29uc3RFeHByUG9pc29uZWRQ
dHJUcmFpdHMgeworICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBwb2lzb24gPSBtYWtlQ29uc3RF
eHByUG9pc29uKGtleSk7CisKICAgICB1c2luZyBTdG9yYWdlVHlwZSA9IENvbnN0RXhwclBvaXNv
bmVkPGtleSwgVCo+OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgVT4gc3RhdGljIEFMV0FZU19JTkxJ
TkUgVCogZXhjaGFuZ2UoU3RvcmFnZVR5cGUmIHB0ciwgVSYmIG5ld1ZhbHVlKSB7IHJldHVybiBw
dHIuZXhjaGFuZ2UobmV3VmFsdWUpOyB9CkBAIC0yNzUsNiArMjc3LDIzIEBAIHN0cnVjdCBDb25z
dEV4cHJQb2lzb25lZFB0clRyYWl0cyB7CiAgICAgc3RhdGljIEFMV0FZU19JTkxJTkUgVCogdW53
cmFwKGNvbnN0IFN0b3JhZ2VUeXBlJiBwdHIpIHsgcmV0dXJuIHB0ci51bnBvaXNvbmVkKCk7IH0K
IH07CiAKK3RlbXBsYXRlPHVpbnQzMl90IGtleSwgdHlwZW5hbWUgVD4KK3N0cnVjdCBDb25zdEV4
cHJQb2lzb25lZFZhbHVlVHJhaXRzIHsKKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gcG9pc29u
ID0gbWFrZUNvbnN0RXhwclBvaXNvbihrZXkpOworCisgICAgdXNpbmcgU3RvcmFnZVR5cGUgPSBD
b25zdEV4cHJQb2lzb25lZDxrZXksIFQ+OworCisgICAgdGVtcGxhdGU8Y2xhc3MgVT4gc3RhdGlj
IEFMV0FZU19JTkxJTkUgVCBleGNoYW5nZShTdG9yYWdlVHlwZSYgdmFsLCBVJiYgbmV3VmFsdWUp
IHsgcmV0dXJuIHZhbC5leGNoYW5nZShuZXdWYWx1ZSk7IH0KKworICAgIHRlbXBsYXRlPHR5cGVu
YW1lIEsxLCBLMSBrMSwgdHlwZW5hbWUgVDE+CisgICAgc3RhdGljIEFMV0FZU19JTkxJTkUgdm9p
ZCBzd2FwKFBvaXNvbmVkSW1wbDxLMSwgazEsIFQxPiYgYSwgVDEmIGIpIHsgYS5zd2FwKGIpOyB9
CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLMSwgSzEgazEsIHR5cGVuYW1lIFQxLCB0eXBlbmFt
ZSBLMiwgSzIgazIsIHR5cGVuYW1lIFQyPgorICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHZvaWQg
c3dhcChQb2lzb25lZEltcGw8SzEsIGsxLCBUMT4mIGEsIFBvaXNvbmVkSW1wbDxLMiwgazIsIFQy
PiYgYikgeyBhLnN3YXAoYik7IH0KKworICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQgdW53cmFw
KGNvbnN0IFN0b3JhZ2VUeXBlJiB2YWwpIHsgcmV0dXJuIHZhbC51bnBvaXNvbmVkKCk7IH0KK307
CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OkNvbnN0RXhwclBvaXNvbmVkOwot
LSAKMi45LjMKCg==
</data>
<flag name="review"
          id="350189"
          type_id="1"
          status="-"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>331232</attachid>
            <date>2018-01-12 13:36:00 -0800</date>
            <delta_ts>2018-01-12 13:36:00 -0800</delta_ts>
            <desc>js benchmarks</desc>
            <filename>181599.bench</filename>
            <type>text/plain</type>
            <size>88332</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">JCAuL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1iZW5jaG1hcmtzIG9sZDouL1dlYktpdEJ1aWxkL09y
aWdpbmFsL2pzYyBuZXc6Li9XZWJLaXRCdWlsZC9SZWxlYXNlL2pzYyAtLW1pY3JvYmVuY2htYXJr
cyAtLW9jdGFuZSAtLXN1bnNwaWRlciAtLWtyYWtlbiAtLW91dGVyIDEwCgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZCAgICAgICAg
ICAgICAgICAgICAgICAgbmV3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IApTdW5TcGlkZXI6CiAgIDNkLWN1YmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDQuODE2MSstMC4xNDg4ICAgICAgICAgICAgNC42ODQ4Ky0wLjE2NTMgICAgICAg
ICAgbWlnaHQgYmUgMS4wMjgweCBmYXN0ZXIKICAgM2QtbW9ycGggICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNS4wMDQ4Ky0wLjEyODggICAgICAgICAgICA1LjAwMDkr
LTAuMTA0OSAgICAgICAgCiAgIDNkLXJheXRyYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDQuNjY3OCstMC4xMDYzICAgICA/ICAgICAgNC44NDE2Ky0wLjE2NjUgICAg
ICAgID8gbWlnaHQgYmUgMS4wMzcyeCBzbG93ZXIKICAgYWNjZXNzLWJpbmFyeS10cmVlcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4xMzg1Ky0wLjExNDAgICAgICAgICAgICAyLjA2
NjErLTAuMDQ0NSAgICAgICAgICBtaWdodCBiZSAxLjAzNTB4IGZhc3RlcgogICBhY2Nlc3MtZmFu
bmt1Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjAwNTkrLTAuMTQ3NyAg
ICAgPyAgICAgIDYuMDUwOCstMC4wOTAzICAgICAgICA/CiAgIGFjY2Vzcy1uYm9keSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNzA2NistMC4wNTkwICAgICA/ICAgICAg
Mi44NTM5Ky0wLjI0ODIgICAgICAgID8gbWlnaHQgYmUgMS4wNTQ0eCBzbG93ZXIKICAgYWNjZXNz
LW5zaWV2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wNTQzKy0wLjEy
MTAgICAgICAgICAgICAzLjAyNzcrLTAuMDcyNiAgICAgICAgCiAgIGJpdG9wcy0zYml0LWJpdHMt
aW4tYnl0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMjg1MSstMC4wNDU1ICAgICA/ICAg
ICAgMS4zMjI3Ky0wLjA5NzEgICAgICAgID8gbWlnaHQgYmUgMS4wMjkzeCBzbG93ZXIKICAgYml0
b3BzLWJpdHMtaW4tYnl0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi45ODQzKy0w
LjA4MTAgICAgID8gICAgICAzLjAwOTUrLTAuMDYwNyAgICAgICAgPwogICBiaXRvcHMtYml0d2lz
ZS1hbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Ljc1ODMrLTAuMjk1NiAgICAg
ICAgICAgIDUuNzExMCstMC4zNDE0ICAgICAgICAKICAgYml0b3BzLW5zaWV2ZS1iaXRzICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMy40ODY3Ky0wLjE4NTMgICAgID8gICAgICAzLjU5
NzErLTAuMzg0MyAgICAgICAgPyBtaWdodCBiZSAxLjAzMTd4IHNsb3dlcgogICBjb250cm9sZmxv
dy1yZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUwNTcrLTAuMzkxNCAg
ICAgICAgICAgIDIuMjc1NistMC4xNTIyICAgICAgICAgIG1pZ2h0IGJlIDEuMTAxMXggZmFzdGVy
CiAgIGNyeXB0by1hZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQu
NDE5MystMC4wOTk4ICAgICA/ICAgICAgNC42NDc2Ky0wLjM2NDYgICAgICAgID8gbWlnaHQgYmUg
MS4wNTE3eCBzbG93ZXIKICAgY3J5cHRvLW1kNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMi44ODcyKy0wLjI5MjcgICAgICAgICAgICAyLjg0MTIrLTAuMTgxMSAgICAg
ICAgICBtaWdodCBiZSAxLjAxNjJ4IGZhc3RlcgogICBjcnlwdG8tc2hhMSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAyLjc3NTQrLTAuMDk2NiAgICAgPyAgICAgIDIuNzg4
MistMC4wOTAwICAgICAgICA/CiAgIGRhdGUtZm9ybWF0LXRvZnRlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDcuOTE0MystMC4yODkxICAgICAgICAgICAgNy44MjI0Ky0wLjI2MDgg
ICAgICAgICAgbWlnaHQgYmUgMS4wMTE3eCBmYXN0ZXIKICAgZGF0ZS1mb3JtYXQteHBhcmIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45OTk1Ky0wLjczMjYgICAgID8gICAgICA2
LjA5NzArLTAuNTc3NSAgICAgICAgPyBtaWdodCBiZSAxLjAxNjJ4IHNsb3dlcgogICBtYXRoLWNv
cmRpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjEwNjkrLTAuMjIw
NyAgICAgICAgICAgIDIuOTU3NSstMC4wODUyICAgICAgICAgIG1pZ2h0IGJlIDEuMDUwNXggZmFz
dGVyCiAgIG1hdGgtcGFydGlhbC1zdW1zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDQuMjc1NistMC4xNzI5ICAgICA/ICAgICAgNC4zMzIzKy0wLjM0OTMgICAgICAgID8gbWlnaHQg
YmUgMS4wMTMzeCBzbG93ZXIKICAgbWF0aC1zcGVjdHJhbC1ub3JtICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMi4wNDc3Ky0wLjA0MzUgICAgID8gICAgICAyLjA1MzErLTAuMDU2MiAg
ICAgICAgPwogICByZWdleHAtZG5hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA2LjM4MzUrLTAuMjI0NSAgICAgPyAgICAgIDYuNDUxNSstMC4yMTA2ICAgICAgICA/IG1p
Z2h0IGJlIDEuMDEwNnggc2xvd2VyCiAgIHN0cmluZy1iYXNlNjQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDQuMjc0NCstMC4yMjk0ICAgICA/ICAgICAgNC40NzYwKy0wLjYy
NzAgICAgICAgID8gbWlnaHQgYmUgMS4wNDcyeCBzbG93ZXIKICAgc3RyaW5nLWZhc3RhICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi4yODI3Ky0wLjI0ODIgICAgID8gICAg
ICA2LjM3NjgrLTAuMjQ4NSAgICAgICAgPyBtaWdodCBiZSAxLjAxNTB4IHNsb3dlcgogICBzdHJp
bmctdGFnY2xvdWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4LjkxMDErLTAu
ODQ1MCAgICAgICAgICAgIDguNDE1OCstMC4xOTIwICAgICAgICAgIG1pZ2h0IGJlIDEuMDU4N3gg
ZmFzdGVyCiAgIHN0cmluZy11bnBhY2stY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMjAuNTAxMystMS42Mjk1ICAgICAgICAgICAxOS41Mzg1Ky0wLjMyNDMgICAgICAgICAgbWln
aHQgYmUgMS4wNDkzeCBmYXN0ZXIKICAgc3RyaW5nLXZhbGlkYXRlLWlucHV0ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNS4yNDc5Ky0wLjM0MzcgICAgID8gICAgICA1LjMzODQrLTAuNzIy
MiAgICAgICAgPyBtaWdodCBiZSAxLjAxNzJ4IHNsb3dlcgoKICAgPGFyaXRobWV0aWM+ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC45Nzg1Ky0wLjEwNDcgICAgICAgICAg
ICA0Ljk0NTMrLTAuMDg4MCAgICAgICAgICBtaWdodCBiZSAxLjAwNjd4IGZhc3RlcgoKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQg
ICAgICAgICAgICAgICAgICAgICAgIG5ldyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKT2N0YW5lOgogICBlbmNyeXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDAuMTY4NzUrLTAuMDAzODUgICAgPyAgICAgMC4xNzIwMistMC4wMDIxMyAg
ICAgICA/IG1pZ2h0IGJlIDEuMDE5NHggc2xvd2VyCiAgIGRlY3J5cHQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wNjQ1NSstMC4wODI2NiAgICAgICAgICAzLjAy
NjMyKy0wLjA4MjQ2ICAgICAgICAgbWlnaHQgYmUgMS4wMTI2eCBmYXN0ZXIKICAgZGVsdGFibHVl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgICAwLjEzNDMyKy0wLjAwNTIy
ICAgICAgICAgIDAuMTM0MDUrLTAuMDA1MzggICAgICAgCiAgIGVhcmxleSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zMDEwMCstMC4wMDYxMCAgICA/ICAgICAw
LjMxMTYzKy0wLjAxNTg3ICAgICAgID8gbWlnaHQgYmUgMS4wMzUzeCBzbG93ZXIKICAgYm95ZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LjM2NzM3Ky0wLjEz
MDU1ICAgID8gICAgIDUuNjAyMzIrLTAuMjM0NzMgICAgICAgPyBtaWdodCBiZSAxLjA0Mzh4IHNs
b3dlcgogICBuYXZpZXItc3Rva2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAg
IDUuMTA1MTkrLTAuMTcyMDMgICAgICAgICAgNC45OTU5MCstMC4xMzI5MSAgICAgICAgIG1pZ2h0
IGJlIDEuMDIxOXggZmFzdGVyCiAgIHJheXRyYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeDIgICAgICAgMC44MDM1NystMC4wMTg5NyAgICAgICAgICAwLjc4MTQ1Ky0wLjAxMDQ5
ICAgICAgICAgbWlnaHQgYmUgMS4wMjgzeCBmYXN0ZXIKICAgcmljaGFyZHMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB4MiAgICAgICAwLjA4MDI5Ky0wLjAwMTY4ICAgICAgICAgIDAu
MDc4OTQrLTAuMDAyODMgICAgICAgICBtaWdodCBiZSAxLjAxNzF4IGZhc3RlcgogICBzcGxheSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyICAgICAgIDAuMzYzNzIrLTAuMDE1
MjYgICAgICAgICAgMC4zNjE3NCstMC4wMTIyMSAgICAgICAKICAgcmVnZXhwICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgIDE3LjE3MTYxKy0wLjc5MjMyICAgID8gICAg
MTcuMTcyMDcrLTAuNTg5OTkgICAgICAgPwogICBwZGZqcyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHgyICAgICAgMzQuMjI1NTIrLTIuMTYxMTIgICAgICAgICAzMy43ODcwMyst
MC41MTM1MSAgICAgICAgIG1pZ2h0IGJlIDEuMDEzMHggZmFzdGVyCiAgIG1hbmRyZWVsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAgICA0OC4xNDkzNystMS4xODIwNCAgICA/
ICAgIDQ5LjQ3MzM2Ky0yLjQ5NTQwICAgICAgID8gbWlnaHQgYmUgMS4wMjc1eCBzbG93ZXIKICAg
Z2JlbXUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgIDMyLjk3NjY3
Ky0yLjQwOTQwICAgICAgICAgMzEuOTQ3MzUrLTEuOTA3NzMgICAgICAgICBtaWdodCBiZSAxLjAz
MjJ4IGZhc3RlcgogICBjbG9zdXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDAuNTA4NDYrLTAuMDEyMjcgICAgPyAgICAgMC41MTkwNistMC4wMjAxNiAgICAgICA/
IG1pZ2h0IGJlIDEuMDIwOHggc2xvd2VyCiAgIGpxdWVyeSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNi44NTM2OCstMC4xOTQ2NyAgICA/ICAgICA2Ljk4NjM0Ky0w
LjI3NDYyICAgICAgID8gbWlnaHQgYmUgMS4wMTk0eCBzbG93ZXIKICAgYm94MmQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB4MiAgICAgICA4LjU0OTE1Ky0wLjE4OTA5ICAgID8g
ICAgIDguNTUxOTkrLTAuMjI3ODAgICAgICAgPwogICB6bGliICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHgyICAgICAzNjEuNDQ2NTMrLTUuNTgzMjYgICAgPyAgIDM2OC4wOTI4
MCstNS4zNjI0NyAgICAgICA/IG1pZ2h0IGJlIDEuMDE4NHggc2xvd2VyCiAgIHR5cGVzY3JpcHQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDIgICAgIDY0My4zNTAyNCstMTIuOTYxMzMg
ICA/ICAgNjc2LjI1NTY5Ky0yNi43ODA5MSAgICAgID8gbWlnaHQgYmUgMS4wNTExeCBzbG93ZXIK
ICAgc3BsYXktbGF0ZW5jeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjQx
OTUwKy0wLjIxNjUzICAgICAgICAgIDIuMzM0NDErLTAuMTc0NzcgICAgICAgICBtaWdodCBiZSAx
LjAzNjV4IGZhc3RlcgoKICAgPGdlb21ldHJpYz4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA1LjA0MjQ0Ky0wLjA1OTcwICAgID8gICAgIDUuMDQ5NTcrLTAuMDQyMTAgICAg
ICAgPyBtaWdodCBiZSAxLjAwMTR4IHNsb3dlcgoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgICAgICAgICAgICAgICAgICAgICAg
IG5ldyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKS3Jha2VuOgogICBh
aS1hc3RhciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwNC43NTEr
LTMuODc1ICAgICAgICAgICAgMTAxLjIyMSstMy42MzkgICAgICAgICAgIG1pZ2h0IGJlIDEuMDM0
OXggZmFzdGVyCiAgIGF1ZGlvLWJlYXQtZGV0ZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDQ1LjU2OSstMS4yODYgICAgICAgICAgICAgNDUuMzQ1Ky0wLjg5MSAgICAgICAgIAog
ICBhdWRpby1kZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OS4y
OTUrLTMuMjE0ICAgICAgPyAgICAgMTAwLjE5NSstMi43ODYgICAgICAgICA/CiAgIGF1ZGlvLWZm
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM3LjI3NistMS40NDUg
ICAgICAgICAgICAgMzYuNTA1Ky0xLjQyMiAgICAgICAgICAgbWlnaHQgYmUgMS4wMjExeCBmYXN0
ZXIKICAgYXVkaW8tb3NjaWxsYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NTEuODQxKy0zLjI4MCAgICAgID8gICAgICA1Mi4xNjkrLTMuMjMxICAgICAgICAgPwogICBpbWFn
aW5nLWRhcmtyb29tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Mi44NzgrLTIu
MjAwICAgICAgICAgICAgIDYxLjU5NSstMi4zMzcgICAgICAgICAgIG1pZ2h0IGJlIDEuMDIwOHgg
ZmFzdGVyCiAgIGltYWdpbmctZGVzYXR1cmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDU3Ljc5NistMy40MzAgICAgICA/ICAgICAgNTkuNDY3Ky0yLjk0OSAgICAgICAgID8gbWln
aHQgYmUgMS4wMjg5eCBzbG93ZXIKICAgaW1hZ2luZy1nYXVzc2lhbi1ibHVyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNzguNzcxKy0zLjIyNSAgICAgID8gICAgICA4Mi4xMTIrLTQuODA0
ICAgICAgICAgPyBtaWdodCBiZSAxLjA0MjR4IHNsb3dlcgogICBqc29uLXBhcnNlLWZpbmFuY2lh
bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMy4wMzArLTAuOTk1ICAgICAgPyAgICAg
IDM1LjUwMSstMi43MjQgICAgICAgICA/IG1pZ2h0IGJlIDEuMDc0OHggc2xvd2VyCiAgIGpzb24t
c3RyaW5naWZ5LXRpbmRlcmJveCAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5LjgzMCstMS4x
OTEgICAgICA/ICAgICAgMTkuOTI0Ky0xLjIwNSAgICAgICAgID8KICAgc3RhbmZvcmQtY3J5cHRv
LWFlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIuNTQ2Ky0zLjg0NCAgICAgICAg
ICAgICA0MS4xMzQrLTEuNTQzICAgICAgICAgICBtaWdodCBiZSAxLjAzNDN4IGZhc3RlcgogICBz
dGFuZm9yZC1jcnlwdG8tY2NtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNS45MjMr
LTIuNzk3ICAgICAgPyAgICAgIDM2LjI0MCstMi42MDYgICAgICAgICA/CiAgIHN0YW5mb3JkLWNy
eXB0by1wYmtkZjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY0LjI4MistMy41MDUgICAg
ICA/ICAgICAgNjUuMjQ1Ky00LjUwNyAgICAgICAgID8gbWlnaHQgYmUgMS4wMTUweCBzbG93ZXIK
ICAgc3RhbmZvcmQtY3J5cHRvLXNoYTI1Ni1pdGVyYXRpdmUgICAgICAgICAgICAgICAgICAgMjAu
MDk5Ky0wLjU0OCAgICAgID8gICAgICAyMS40MzcrLTEuMDMzICAgICAgICAgPyBtaWdodCBiZSAx
LjA2NjZ4IHNsb3dlcgoKICAgPGFyaXRobWV0aWM+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNTMuODQ5Ky0wLjcxMiAgICAgID8gICAgICA1NC4xNDkrLTAuOTA5ICAgICAg
ICAgPyBtaWdodCBiZSAxLjAwNTZ4IHNsb3dlcgoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgICAgICAgICAgICAgICAgICAgICAg
IG5ldyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKTWljcm9iZW5jaG1h
cmtzOgogICBhYmMtZm9yd2FyZC1sb29wLWVxdWFsICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDI4Ljk2NDErLTAuOTA0NCAgICAgPyAgICAgMjkuNDk3NCstMS4wOTMzICAgICAgICA/IG1pZ2h0
IGJlIDEuMDE4NHggc2xvd2VyCiAgIGFiYy1wb3N0Zml4LWJhY2t3YXJkLWxvb3AgICAgICAgICAg
ICAgICAgICAgICAgICAgMzcuMTMyMSstMS4xMDY2ICAgICA/ICAgICAzOC4wMTIzKy0xLjQ5MjUg
ICAgICAgID8gbWlnaHQgYmUgMS4wMjM3eCBzbG93ZXIKICAgYWJjLXNpbXBsZS1iYWNrd2FyZC1s
b29wICAgICAgICAgICAgICAgICAgICAgICAgICAyOS4zNzM3Ky0xLjE1MDAgICAgID8gICAgIDI5
LjY4MTcrLTEuNDQwNyAgICAgICAgPyBtaWdodCBiZSAxLjAxMDV4IHNsb3dlcgogICBhYmMtc2lt
cGxlLWZvcndhcmQtbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5LjgwOTUrLTEuMzAw
MyAgICAgPyAgICAgMzAuNjAxMSstMS40OTYyICAgICAgICA/IG1pZ2h0IGJlIDEuMDI2Nnggc2xv
d2VyCiAgIGFiYy1za2lwcHktbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjYuODQ4MSstMS42MjY5ICAgICAgICAgICAyNi4wNjI1Ky0wLjk3MjcgICAgICAgICAgbWlnaHQg
YmUgMS4wMzAxeCBmYXN0ZXIKICAgYWJzLWJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMi41MjM5Ky0wLjA5OTcgICAgICAgICAgICAyLjQ2OTkrLTAuMDg2NCAg
ICAgICAgICBtaWdodCBiZSAxLjAyMTh4IGZhc3RlcgogICBhZGFwdC10by1kb3VibGUtZGl2aWRl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0LjI0NDkrLTEuMDUwMCAgICAgICAgICAgMTMu
ODYxMistMC40MTEyICAgICAgICAgIG1pZ2h0IGJlIDEuMDI3N3ggZmFzdGVyCiAgIGFsaWFzZWQt
YXJndW1lbnRzLWdldGJ5dmFsICAgICAgICAgICAgICAgICAgICAgICAgIDEuMTQzMystMC4wNDg2
ICAgICA/ICAgICAgMS4yMDMwKy0wLjExNTUgICAgICAgID8gbWlnaHQgYmUgMS4wNTIyeCBzbG93
ZXIKICAgYWxsb2NhdGUtYmlnLW9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Mi43NzcyKy0wLjIzNzggICAgID8gICAgICAyLjg5ODUrLTAuMTk1NCAgICAgICAgPyBtaWdodCBi
ZSAxLjA0Mzd4IHNsb3dlcgogICBhcHBseS1ub3QtYXBwbHkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA0LjcyMzMrLTAuMTUwNSAgICAgICAgICAgIDQuNjA4OSstMC4wODQ0ICAg
ICAgICAgIG1pZ2h0IGJlIDEuMDI0OHggZmFzdGVyCiAgIGFyZ3VtZW50cy1uYW1lZC1hbmQtcmVm
bGVjdGl2ZSAgICAgICAgICAgICAgICAgICAgIDYuNDUwNCstMC4yNzkzICAgICAgICAgICAgNi4z
NTgwKy0wLjE0MTkgICAgICAgICAgbWlnaHQgYmUgMS4wMTQ1eCBmYXN0ZXIKICAgYXJndW1lbnRz
LW91dC1vZi1ib3VuZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS45MTc5Ky0wLjg5NzQg
ICAgICAgICAgICA5Ljc4NDQrLTAuMzc5MSAgICAgICAgICBtaWdodCBiZSAxLjAxMzZ4IGZhc3Rl
cgogICBhcmd1bWVudHMtc3RyaWN0LW1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM5
LjM5OTQrLTEuMzQ3MiAgICAgPyAgICAgNDAuMTc1NCstMS45NDE3ICAgICAgICA/IG1pZ2h0IGJl
IDEuMDE5N3ggc2xvd2VyCiAgIGFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDUuNjAxOCstMC4zNTY2ICAgICAgICAgICAgNS40NjQ2Ky0wLjEzMTEgICAg
ICAgICAgbWlnaHQgYmUgMS4wMjUxeCBmYXN0ZXIKICAgYXJpdHktbWlzbWF0Y2gtaW5saW5pbmcg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xNzk1Ky0wLjE5NDUgICAgICAgICAgICAxLjA2
NTIrLTAuMDQyOCAgICAgICAgICBtaWdodCBiZSAxLjEwNzN4IGZhc3RlcgogICBhcnJheS1hY2Nl
c3MtcG9seW1vcnBoaWMtc3RydWN0dXJlICAgICAgICAgICAgICAgICA0LjMxMjYrLTAuMTY1MiAg
ICAgPyAgICAgIDQuMzE2NSstMC4zNTU0ICAgICAgICA/CiAgIGFycmF5LW5vbmFycmF5LXBvbHlt
b3JocGljLWFjY2VzcyAgICAgICAgICAgICAgICAgMjAuNTA1NSstMS4xMTAxICAgICAgICAgICAy
MC4zMDUzKy0wLjU2ODQgICAgICAgIAogICBhcnJheS1wcm90b3R5cGUtZXZlcnkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDI3LjY2NjErLTAuNjIxNSAgICAgPyAgICAgMjguODIwNSstMS42
Mjk4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDQxN3ggc2xvd2VyCiAgIGFycmF5LXByb3RvdHlwZS1m
b3JFYWNoICAgICAgICAgICAgICAgICAgICAgICAgICAgMjguMDIyOSstMC44ODY5ICAgICA/ICAg
ICAyOC43MzYwKy0wLjkxNDkgICAgICAgID8gbWlnaHQgYmUgMS4wMjU0eCBzbG93ZXIKICAgYXJy
YXktcHJvdG90eXBlLW1hcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOS45Mzc2Ky0w
LjY2MjggICAgID8gICAgIDMwLjQ3MTkrLTEuMTczMyAgICAgICAgPyBtaWdodCBiZSAxLjAxNzh4
IHNsb3dlcgogICBhcnJheS1wcm90b3R5cGUtcmVkdWNlICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDMyLjQ2NTYrLTEuNzQ0MSAgICAgICAgICAgMzEuOTYyMCstMi4xMTAyICAgICAgICAgIG1p
Z2h0IGJlIDEuMDE1OHggZmFzdGVyCiAgIGFycmF5LXByb3RvdHlwZS1yZWR1Y2VSaWdodCAgICAg
ICAgICAgICAgICAgICAgICAgMzAuNzA5NistMi4xNDQ0ICAgICAgICAgICAyOC45ODQyKy0wLjY2
MDcgICAgICAgICAgbWlnaHQgYmUgMS4wNTk1eCBmYXN0ZXIKICAgYXJyYXktcHJvdG90eXBlLXNv
bWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNy4zOTI1Ky0wLjQ0NDkgICAgID8gICAg
IDI4LjE5NTUrLTEuMjI3OCAgICAgICAgPyBtaWdodCBiZSAxLjAyOTN4IHNsb3dlcgogICBhcnJh
eS1wdXNoLTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTA4LjkzMTErLTEu
MTEyMCAgICAgPyAgICAxMTAuMzY2NSstMy4zNTAwICAgICAgICA/IG1pZ2h0IGJlIDEuMDEzMngg
c2xvd2VyCiAgIGFycmF5LXB1c2gtMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOTYuNTU5OSstMS41MTk1ICAgICAgICAgICA5NS42NTE5Ky0xLjk3OTEgICAgICAgIAogICBh
cnJheS1wdXNoLTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk5Ljg3NzAr
LTMuNjQ4MSAgICAgICAgICAgOTkuMzEyMCstMS4xNDMzICAgICAgICAKICAgYXJyYXktcHVzaC0z
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1NC4zMzUwKy00LjQ2MTEgICAg
ICAgICAgMTQ4LjkxNjArLTEuNzQyOCAgICAgICAgICBtaWdodCBiZSAxLjAzNjR4IGZhc3Rlcgog
ICBhcnJheS1zcGxpY2UtY29udGlndW91cyAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzLjIw
MDkrLTEuNDg5NSAgICAgICAgICAgMjIuMzI3MCstMS4xMTM3ICAgICAgICAgIG1pZ2h0IGJlIDEu
MDM5MXggZmFzdGVyCiAgIGFycmF5LXdpdGgtZG91YmxlLWFkZCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDMuNjI1OSstMC4xMDcxICAgICAgICAgICAgMy41NzY0Ky0wLjE1MTIgICAgICAg
ICAgbWlnaHQgYmUgMS4wMTM4eCBmYXN0ZXIKICAgYXJyYXktd2l0aC1kb3VibGUtaW5jcmVtZW50
ICAgICAgICAgICAgICAgICAgICAgICAgMy4xNjI5Ky0wLjE5NjUgICAgICAgICAgICAzLjAzOTkr
LTAuMDg1OCAgICAgICAgICBtaWdodCBiZSAxLjA0MDR4IGZhc3RlcgogICBhcnJheS13aXRoLWRv
dWJsZS1tdWwtYWRkICAgICAgICAgICAgICAgICAgICAgICAgICA0LjM0NjcrLTAuNDMzOSAgICAg
PyAgICAgIDQuMzYwNistMC4zMDA0ICAgICAgICA/CiAgIGFycmF5LXdpdGgtZG91YmxlLXN1bSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOTI5NSstMC4yMTY2ICAgICAgICAgICAgMi44
NTc2Ky0wLjA4MjcgICAgICAgICAgbWlnaHQgYmUgMS4wMjUxeCBmYXN0ZXIKICAgYXJyYXktd2l0
aC1pbnQzMi1hZGQtc3ViICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4xMTQ0Ky0wLjA4MDgg
ICAgID8gICAgICA1LjI0MDArLTAuMjAxNiAgICAgICAgPyBtaWdodCBiZSAxLjAyNDZ4IHNsb3dl
cgogICBhcnJheS13aXRoLWludDMyLW9yLWRvdWJsZS1zdW0gICAgICAgICAgICAgICAgICAgICAz
LjA5MTIrLTAuMTYxOCAgICAgICAgICAgIDMuMDY4NistMC4wNzMzICAgICAgICAKICAgQXJyYXlC
dWZmZXItRGF0YVZpZXctYWxsb2MtbGFyZ2UtbG9uZy1saXZlZCAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ5Ljk0NzUrLTMuOTY3NyAgICAg
ICAgICAgNDUuMTYzNSstMS4wOTU0ICAgICAgICAgIG1pZ2h0IGJlIDEuMTA1OXggZmFzdGVyCiAg
IEFycmF5QnVmZmVyLURhdGFWaWV3LWFsbG9jLWxvbmctbGl2ZWQgICAgICAgICAgICAgMTcuNzEx
NistMS4yODMyICAgICAgICAgICAxNi45NTg2Ky0wLjQ5NjEgICAgICAgICAgbWlnaHQgYmUgMS4w
NDQ0eCBmYXN0ZXIKICAgQXJyYXlCdWZmZXItSW50MzJBcnJheS1ieXRlT2Zmc2V0ICAgICAgICAg
ICAgICAgICAgMy42NzI1Ky0wLjIzOTcgICAgID8gICAgICAzLjcxMjcrLTAuMjM5NiAgICAgICAg
PyBtaWdodCBiZSAxLjAxMTB4IHNsb3dlcgogICBBcnJheUJ1ZmZlci1JbnQ4QXJyYXktYWxsb2Mt
bGFyZ2UtbG9uZy1saXZlZCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQ2LjM3NzQrLTEuOTU4MCAgICAgICAgICAgNDUuNjg5NSstMC40NjY4
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1MXggZmFzdGVyCiAgIEFycmF5QnVmZmVyLUludDhBcnJh
eS1hbGxvYy1sb25nLWxpdmVkLWJ1ZmZlciAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDIzLjcyOTErLTAuNzYwNSAgICAgPyAgICAgMjQuMjk2
NistMS4yNDQ4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzOXggc2xvd2VyCiAgIEFycmF5QnVmZmVy
LUludDhBcnJheS1hbGxvYy1sb25nLWxpdmVkICAgICAgICAgICAgMTcuNjc4MistMC41Njc1ICAg
ICA/ICAgICAxOC41OTgwKy0xLjMxMDIgICAgICAgID8gbWlnaHQgYmUgMS4wNTIweCBzbG93ZXIK
ICAgQXJyYXlCdWZmZXItSW50OEFycmF5LWFsbG9jICAgICAgICAgICAgICAgICAgICAgICAxNi43
NjcwKy0xLjA0NDUgICAgICAgICAgIDE2LjU5MTgrLTAuNzY5NCAgICAgICAgICBtaWdodCBiZSAx
LjAxMDZ4IGZhc3RlcgogICBhcnJvd2Z1bmNpdG9uLWRpcmVjdC1hcmd1bWVudHMgICAgICAgICAg
ICAgICAgICAgICAxLjExNTcrLTAuMDUwNyAgICAgPyAgICAgIDEuMTMxMistMC4wNzE4ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDEzOXggc2xvd2VyCiAgIGFycm93ZnVuY2l0b24tcmVmZXJlbmNlLWFy
Z3VtZW50cyAgICAgICAgICAgICAgICAgIDAuNzY2NSstMC4wMjg5ICAgICAgICAgICAgMC43NTY5
Ky0wLjAxNTkgICAgICAgICAgbWlnaHQgYmUgMS4wMTI3eCBmYXN0ZXIKICAgYXJyb3dmdW5jdGlv
bi1jYWxsLWluLWNsYXNzLWNvbnN0cnVjdG9yICAgICAgICAgICAyNi4xMjg0Ky0xLjY2NzMgICAg
ICAgICAgIDI1LjAyMTcrLTAuNzI4NCAgICAgICAgICBtaWdodCBiZSAxLjA0NDJ4IGZhc3Rlcgog
ICBhcnJvd2Z1bmN0aW9uLWNhbGwtaW4tY2xhc3MtbWV0aG9kICAgICAgICAgICAgICAgICA1Ljcw
MDArLTAuMTA2OSAgICAgPyAgICAgIDUuODcwNystMC41NDc3ICAgICAgICA/IG1pZ2h0IGJlIDEu
MDI5OXggc2xvd2VyCiAgIGFycm93ZnVuY3Rpb24tY2FsbC1pbi1mdW5jdGlvbiAgICAgICAgICAg
ICAgICAgICAgMTAuNjkyMistMC4yNzg5ICAgICA/ICAgICAxMC45MDM2Ky0wLjUzNjggICAgICAg
ID8gbWlnaHQgYmUgMS4wMTk4eCBzbG93ZXIKICAgYXJyb3dmdW5jdGlvbi1jYWxsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNy42NzUzKy0wLjYzNjEgICAgICAgICAgICA3LjM1NzMr
LTAuMTI2OSAgICAgICAgICBtaWdodCBiZSAxLjA0MzJ4IGZhc3RlcgogICBhc21qc19ib29sX2J1
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3LjA3NjYrLTAuODA4MiAgICAg
PyAgICAgMTcuMzk3NCstMS40MTExICAgICAgICA/IG1pZ2h0IGJlIDEuMDE4OHggc2xvd2VyCiAg
IGFzc2lnbi1jdXN0b20tc2V0dGVyLXBvbHltb3JwaGljICAgICAgICAgICAgICAgICAgMTEuNjk4
MSstMC40NzM2ICAgICA/ICAgICAxMi40MTMwKy0xLjA0MzcgICAgICAgID8gbWlnaHQgYmUgMS4w
NjExeCBzbG93ZXIKICAgYXNzaWduLWN1c3RvbS1zZXR0ZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyNi4yMTQ3Ky0yLjE0NzUgICAgICAgICAgIDI1LjY2NjIrLTEuNzA5NSAgICAgICAg
ICBtaWdodCBiZSAxLjAyMTR4IGZhc3RlcgogICBiYXNpYy1zZXQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA3LjI5NDgrLTAuMzkzNyAgICAgPyAgICAgIDcuNjAyMCst
MC40MDI0ICAgICAgICA/IG1pZ2h0IGJlIDEuMDQyMXggc2xvd2VyCiAgIGJpZy1pbnQtbXVsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNDUxOSstMC4wNzQ1ICAgICAg
ICAgICAgMy40MDYxKy0wLjA0OTcgICAgICAgICAgbWlnaHQgYmUgMS4wMTM1eCBmYXN0ZXIKICAg
Ymlnc3dpdGNoLWluZGlyZWN0LXN5bWJvbC1vci11bmRlZmluZWQgICAgICAgICAgICA2MS44MjU5
Ky0xLjU2OTQgICAgID8gICAgIDYyLjgwOTArLTIuMDc2NyAgICAgICAgPyBtaWdodCBiZSAxLjAx
NTl4IHNsb3dlcgogICBiaWdzd2l0Y2gtaW5kaXJlY3Qtc3ltYm9sICAgICAgICAgICAgICAgICAg
ICAgICAgIDcxLjI0MTkrLTEuNzg3MCAgICAgPyAgICAgNzIuMjk5MCstMi4wNTIwICAgICAgICA/
IG1pZ2h0IGJlIDEuMDE0OHggc2xvd2VyCiAgIGJpZ3N3aXRjaC1pbmRpcmVjdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNDIuMjkxNCstMS45MTEyICAgICAgICAgICA0Mi4wOTY4Ky0x
LjQ5NDEgICAgICAgIAogICBiaWdzd2l0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIyLjA5ODMrLTAuNzE1MCAgICAgICAgICAgMjEuNTI0NystMC4zMDM4ICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDI2N3ggZmFzdGVyCiAgIGJvb2xlYW4tdGVzdCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMuMjUzMSstMC4yMTM5ICAgICAgICAgICAgMy4xNzQ4
Ky0wLjA4ODEgICAgICAgICAgbWlnaHQgYmUgMS4wMjQ3eCBmYXN0ZXIKICAgYm91bmQtZnVuY3Rp
b24tY2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS44ODIxKy0wLjI4MjAgICAg
ID8gICAgICA5LjkzNTYrLTAuNDI2NCAgICAgICAgPwogICBib3VuZC1mdW5jdGlvbi1jb25zdHJ1
Y3Rpb24tcGVyZm9ybWFuY2UgICAgICAgICAgIDU1LjQ4MjArLTEuNDkzMSAgICAgICAgICAgNTQu
NDk3OSstMi4wODIzICAgICAgICAgIG1pZ2h0IGJlIDEuMDE4MXggZmFzdGVyCiAgIGJyYW5jaC1m
b2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuOTI2OSstMC4xMDUw
ICAgICA/ICAgICAgMy45ODI5Ky0wLjE2NTcgICAgICAgID8gbWlnaHQgYmUgMS4wMTQyeCBzbG93
ZXIKICAgYnJhbmNoLW9uLXN0cmluZy1hcy1ib29sZWFuICAgICAgICAgICAgICAgICAgICAgICAx
MC44OTczKy0xLjExMjYgICAgICAgICAgIDEwLjg2OTIrLTAuOTI2NSAgICAgICAgCiAgIGJ1Zy0x
NTM0MzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMjAwNistMC4x
MTU0ICAgICA/ICAgICAgMy4yNjA5Ky0wLjE0OTUgICAgICAgID8gbWlnaHQgYmUgMS4wMTg4eCBz
bG93ZXIKICAgYnVpbGQtbGFyZ2Utb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAzNy40NTkzKy0wLjQ2NjAgICAgID8gICAgIDM4LjQ4NTArLTEuNjIzNiAgICAgICAgPyBtaWdo
dCBiZSAxLjAyNzR4IHNsb3dlcgogICBieS12YWwtZ2VuZXJpYyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAyLjQxODUrLTAuMTA5MiAgICAgICAgICAgIDIuNDAzMistMC4xMDA1
ICAgICAgICAKICAgY2FsbC1vci1ub3QtY2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzMi42Nzk0Ky0wLjk4NjIgICAgICAgICAgIDMxLjk0MjcrLTEuMDc4NiAgICAgICAgICBt
aWdodCBiZSAxLjAyMzF4IGZhc3RlcgogICBjYWxsLXNwcmVhZC1hcHBseSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDI1Ljc3MjcrLTIuMTAzNyAgICAgICAgICAgMjQuODUyMCstMC40
NTExICAgICAgICAgIG1pZ2h0IGJlIDEuMDM3MHggZmFzdGVyCiAgIGNhbGwtc3ByZWFkLWNhbGwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQuODkzNistMC41NjY2ICAgICA/ICAg
ICAyNS41MTcxKy0xLjQ0NTYgICAgICAgID8gbWlnaHQgYmUgMS4wMjUweCBzbG93ZXIKICAgY2Fs
bC11c2luZy1zcHJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS42NzYxKy0x
LjAyNzMgICAgICAgICAgICA5LjIxMjkrLTAuMTY4MCAgICAgICAgICBtaWdodCBiZSAxLjA1MDN4
IGZhc3RlcgogICBjYXB0dXJlZC1hc3NpZ25tZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLjUyNTkrLTAuMDE4OSAgICAgPyAgICAgIDAuNTkzNystMC4xMjEyICAgICAgICA/IG1p
Z2h0IGJlIDEuMTI5MHggc2xvd2VyCiAgIGNhc3QtaW50LXRvLWRvdWJsZSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDQuNzcwNystMC4xMDk4ICAgICA/ICAgICAgNC43OTU0Ky0wLjE4
ODEgICAgICAgID8KICAgY2VsbC1hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMy4wNjA2Ky0wLjIxODQgICAgICAgICAgICAyLjkwMTArLTAuMDYzNiAgICAgICAg
ICBtaWdodCBiZSAxLjA1NTB4IGZhc3RlcgogICBjZmctc2ltcGxpZnkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzLjExMjUrLTAuMTUzNCAgICAgICAgICAgIDMuMDAyMist
MC4wODMyICAgICAgICAgIG1pZ2h0IGJlIDEuMDM2N3ggZmFzdGVyCiAgIGNoYWluLWdldHRlci1h
Y2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuMTEyNCstMC4zNjY0ICAgICAg
ICAgICAxMC44OTI0Ky0wLjIwMTQgICAgICAgICAgbWlnaHQgYmUgMS4wMjAyeCBmYXN0ZXIKICAg
Y21wZXEtb2JqLXRvLW9iai1vdGhlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy43Nzg4
Ky0wLjEyMjEgICAgID8gICAgICA4LjAyOTArLTAuMjc1MSAgICAgICAgPyBtaWdodCBiZSAxLjAz
MjJ4IHNsb3dlcgogICBjb25jYXQtYXBwZW5kLW9uZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA4Ljk2NjErLTAuMzk3NCAgICAgICAgICAgIDguNjUxNSstMC4wOTA4ICAgICAgICAg
IG1pZ2h0IGJlIDEuMDM2NHggZmFzdGVyCiAgIGNvbnN0YW50LXRlc3QgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDQuNDkzOSstMC4xNzg4ICAgICA/ICAgICAgNC41MTE2Ky0w
LjA4NjcgICAgICAgID8KICAgY29udGlndW91cy1hcnJheS10by1zdHJpbmcgICAgICAgICAgICAg
ICAgICAgICAgICAzMi4xOTg0Ky0xLjI4NzIgICAgID8gICAgIDMyLjU5NzYrLTEuODkwNiAgICAg
ICAgPyBtaWdodCBiZSAxLjAxMjR4IHNsb3dlcgogICBjcmVhdGUtbG90cy1vZi1mdW5jdGlvbnMg
ICAgICAgICAgICAgICAgICAgICAgICAgICA3LjE1MzUrLTAuMzI0NiAgICAgPyAgICAgIDcuMTU2
MystMC41NDUzICAgICAgICA/CiAgIGNzZS1uZXctYXJyYXktYnVmZmVyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIuMDM5NSstMC4wNzY5ICAgICAgICAgICAgMi4wMTUyKy0wLjA5MjYg
ICAgICAgICAgbWlnaHQgYmUgMS4wMTIxeCBmYXN0ZXIKICAgY3NlLW5ldy1hcnJheSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wMTg0Ky0wLjI3MDYgICAgICAgICAgICAy
Ljg4NDMrLTAuMTM3NSAgICAgICAgICBtaWdodCBiZSAxLjA0NjV4IGZhc3RlcgogICBjdXN0b20t
c2V0dGVyLWdldHRlci1hcy1wdXQtZ2V0LWJ5LWlkICAgICAgICAgICAgICAwLjY1NTIrLTAuMDE0
MCAgICAgPyAgICAgIDAuNzY4MistMC4xNTM5ICAgICAgICA/IG1pZ2h0IGJlIDEuMTcyNHggc2xv
d2VyCiAgIERhdGFWaWV3LWN1c3RvbS1wcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAg
NTEuMTk4NistMS4xNTc5ICAgICA/ICAgICA1MS41OTg1Ky0xLjk3NjAgICAgICAgID8KICAgZGVs
YXktdGVhci1vZmYtYXJndW1lbnRzLXN0cmljdG1vZGUgICAgICAgICAgICAgICAgNi4zMzg3Ky0w
LjE3NTAgICAgID8gICAgICA3LjA1MDErLTEuMjMwOCAgICAgICAgPyBtaWdodCBiZSAxLjExMjJ4
IHNsb3dlcgogICBkZWx0YS1ibHVlLXRyeS1jYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDQyLjgyMDgrLTAuOTA2MCAgICAgPyAgICAgNDUuMzY0NSstNC42NDc5ICAgICAgICA/IG1p
Z2h0IGJlIDEuMDU5NHggc2xvd2VyCiAgIGRlbHRhYmx1ZS1mb3Itb2YgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMzUuMzA2MistMS41NzUwICAgICAgICAgICAzNC44MDAyKy0xLjQ2
NDQgICAgICAgICAgbWlnaHQgYmUgMS4wMTQ1eCBmYXN0ZXIKICAgZGVsdGFibHVlLXZhcmFyZ3Mg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNy4wOTQyKy0wLjM5NDQgICAgICAgICAg
IDE2Ljc0MjMrLTAuNTA1NSAgICAgICAgICBtaWdodCBiZSAxLjAyMTB4IGZhc3RlcgogICBkZXN0
cnVjdHVyaW5nLWFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgIDM3LjM2MzErLTAu
ODAyMCAgICAgICAgICAgMzYuODU3NCstMC41MjU0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzN3gg
ZmFzdGVyCiAgIGRlc3RydWN0dXJpbmctcGFyYW1ldGVycy1vdmVycmlkZGVuLWJ5LWZ1bmN0aW9u
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDAuNjI5MistMC4wNTAxICAgICA/ICAgICAgMC42OTI2Ky0wLjA5MDAgICAgICAgID8gbWlnaHQg
YmUgMS4xMDA4eCBzbG93ZXIKICAgZGVzdHJ1Y3R1cmluZy1zd2FwICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNC41MzUyKy0wLjE5NzYgICAgICAgICAgICA0LjQ3MzMrLTAuMTA0NCAg
ICAgICAgICBtaWdodCBiZSAxLjAxMzh4IGZhc3RlcgogICBkZmctaW50ZXJuYWwtZnVuY3Rpb24t
Y2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAwLjg1MzQrLTAuMDI0MCAgICAgPyAgICAgIDAu
ODg5MistMC4wODYzICAgICAgICA/IG1pZ2h0IGJlIDEuMDQyMHggc2xvd2VyCiAgIGRmZy1pbnRl
cm5hbC1mdW5jdGlvbi1jb25zdHJ1Y3QgICAgICAgICAgICAgICAgICAgIDAuOTg1OCstMC4yODM2
ICAgICAgICAgICAgMC44NjEzKy0wLjA0NjIgICAgICAgICAgbWlnaHQgYmUgMS4xNDQ2eCBmYXN0
ZXIKICAgZGZnLWludGVybmFsLWZ1bmN0aW9uLW5vdC1oYW5kbGVkLWNhbGwgICAgICAgICAgICAg
Ni44NTgxKy0wLjI0MjEgICAgID8gICAgICA3LjM0NzcrLTAuNjEzNyAgICAgICAgPyBtaWdodCBi
ZSAxLjA3MTR4IHNsb3dlcgogICBkZmctaW50ZXJuYWwtZnVuY3Rpb24tbm90LWhhbmRsZWQtY29u
c3RydWN0ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEuNDE1OSstMC4xNjIyICAgICA/ICAgICAgMS40MjYzKy0wLjExNTEgICAgICAgID8K
ICAgZGlyZWN0LWFyZ3VtZW50cy1nZXRieXZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgMS4y
NzAyKy0wLjIzNzUgICAgICAgICAgICAxLjI1MzArLTAuMTUzNiAgICAgICAgICBtaWdodCBiZSAx
LjAxMzh4IGZhc3RlcgogICBkaXJlY3QtYXJndW1lbnRzLWxlbmd0aCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA2LjgzMDcrLTAuMzA0MCAgICAgPyAgICAgIDYuODYwNystMC4yODk3ICAgICAg
ICA/CiAgIGRpcmVjdC1hcmd1bWVudHMtb3ZlcnJpZGRlbi1sZW5ndGggICAgICAgICAgICAgICAg
IDYuNTIyNCstMC4yMzc1ICAgICAgICAgICAgNi40ODc5Ky0wLjIwOTUgICAgICAgIAogICBkaXJl
Y3QtYXJndW1lbnRzLXBvc3NpYmx5LW92ZXJyaWRkZW4tbGVuZ3RoICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuOTg1NSstMC4xNDM5ICAg
ICA/ICAgICAgNy4xMjQ5Ky0wLjMwODkgICAgICAgID8gbWlnaHQgYmUgMS4wMjAweCBzbG93ZXIK
ICAgZGlyZWN0LWNhbGwtYXJpdHktbWlzbWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICA2NC4x
MTY5Ky0zLjM3OTAgICAgICAgICAgIDYyLjE1MjErLTMuODI5OCAgICAgICAgICBtaWdodCBiZSAx
LjAzMTZ4IGZhc3RlcgogICBkaXJlY3QtY2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDU3LjUzOTQrLTIuNzc0MiAgICAgPyAgICAgNTguMTAwNystMi4zMDkxICAgICAg
ICA/CiAgIGRpcmVjdC1jb25zdHJ1Y3QtYXJpdHktbWlzbWF0Y2ggICAgICAgICAgICAgICAgICAg
OTQuMzAyMystMS44MTIyICAgICA/ICAgICA5Ni4yMzE1Ky0yLjU2NTYgICAgICAgID8gbWlnaHQg
YmUgMS4wMjA1eCBzbG93ZXIKICAgZGlyZWN0LWNvbnN0cnVjdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA4My40MzcxKy0yLjkxMzIgICAgICAgICAgIDgzLjIyNjIrLTQuMjYwNCAg
ICAgICAgCiAgIGRpcmVjdC10YWlsLWNhbGwtYXJpdHktbWlzbWF0Y2ggICAgICAgICAgICAgICAg
ICAgNjYuMDQ3MCstMS43OTY3ICAgICA/ICAgICA2Ni4zMDQ1Ky0yLjUwNzIgICAgICAgID8KICAg
ZGlyZWN0LXRhaWwtY2FsbC1pbmxpbmVkLWNhbGxlci1hcml0eS1taXNtYXRjaCAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYyLjg2NjMrLTMu
NTI5NyAgICAgICAgICAgNjAuNTc3NSstMS4yODI0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDM3OHgg
ZmFzdGVyCiAgIGRpcmVjdC10YWlsLWNhbGwtaW5saW5lZC1jYWxsZXIgICAgICAgICAgICAgICAg
ICAgNTUuMzI2OSstMi4wMzg4ICAgICA/ICAgICA1Ny4xOTQ3Ky00LjYxNDUgICAgICAgID8gbWln
aHQgYmUgMS4wMzM4eCBzbG93ZXIKICAgZGlyZWN0LXRhaWwtY2FsbCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA1OC41MDA3Ky0yLjUwOTEgICAgID8gICAgIDU4Ljc3ODQrLTEuODkw
MSAgICAgICAgPwogICBkaXYtYm9vbGVhbi1kb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAzLjk2MjYrLTAuMDg1MiAgICAgPyAgICAgIDQuMDgyMistMC4xNjExICAgICAgICA/
IG1pZ2h0IGJlIDEuMDMwMnggc2xvd2VyCiAgIGRpdi1ib29sZWFuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDYuOTM2MystMC4xODcyICAgICA/ICAgICAgNy4wNjUxKy0w
LjIwODEgICAgICAgID8gbWlnaHQgYmUgMS4wMTg2eCBzbG93ZXIKICAgZG9udC1jb25mdXNlLXN0
cnVjdHVyZXMtZnJvbS1kaWZmZXJlbnQtZXhlY3V0YWJsZS1hcy1wb2x5LXByb3RvICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjYuOTQ4Myst
NS43MDk4ICAgICA/ICAgIDE3My4yODYzKy00Ljg5NDQgICAgICAgID8gbWlnaHQgYmUgMS4wMzgw
eCBzbG93ZXIKICAgZG91YmxlLWFycmF5LXRvLXN0cmluZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA2MS4zMDQzKy0xLjQ3MTIgICAgID8gICAgIDYyLjIxNjcrLTIuNjM3OSAgICAgICAgPyBt
aWdodCBiZSAxLjAxNDl4IHNsb3dlcgogICBkb3VibGUtZ2V0LWJ5LXZhbC1vdXQtb2YtYm91bmRz
ICAgICAgICAgICAgICAgICAgICA1LjY3MTMrLTAuNjAxNSAgICAgICAgICAgIDUuNDE1NCstMC4x
ODc0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDQ3M3ggZmFzdGVyCiAgIGRvdWJsZS1wb2xsdXRpb24t
Z2V0Ynl2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDYuODM4MistMC4yMDQ0ICAgICA/ICAg
ICAgNi44NDM1Ky0wLjE0MjggICAgICAgID8KICAgZG91YmxlLXBvbGx1dGlvbi1wdXRieW9mZnNl
dCAgICAgICAgICAgICAgICAgICAgICAgNC4wMzk2Ky0wLjExNjggICAgICAgICAgICA0LjAzODgr
LTAuMTQ3MiAgICAgICAgCiAgIGRvdWJsZS1yZWFsLXVzZSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMjguOTE5OCstMS4yNTIyICAgICA/ICAgICAyOS41Njk0Ky0yLjEyNzggICAg
ICAgID8gbWlnaHQgYmUgMS4wMjI1eCBzbG93ZXIKICAgZG91YmxlLXRvLWludDMyLXR5cGVkLWFy
cmF5LW5vLWlubGluZSAgICAgICAgICAgICAgMi41NzQ4Ky0wLjIwMDggICAgICAgICAgICAyLjUx
NTkrLTAuMjk3NiAgICAgICAgICBtaWdodCBiZSAxLjAyMzR4IGZhc3RlcgogICBkb3VibGUtdG8t
aW50MzItdHlwZWQtYXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAyLjI4MjYrLTAuMTA0MCAg
ICAgPyAgICAgIDIuMzM4NSstMC4xNDk4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI0NXggc2xvd2Vy
CiAgIGRvdWJsZS10by1pbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjku
MzgzOCstNi4xMDQ0ICAgICAgICAgIDEyOC4wOTA2Ky0yLjc5NzIgICAgICAgICAgbWlnaHQgYmUg
MS4wMTAxeCBmYXN0ZXIKICAgZG91YmxlLXRvLXVpbnQzMi10eXBlZC1hcnJheS1uby1pbmxpbmUg
ICAgICAgICAgICAgMi41MTM0Ky0wLjEwMDkgICAgID8gICAgICAyLjUyNDYrLTAuMTg5MSAgICAg
ICAgPwogICBkb3VibGUtdG8tdWludDMyLXR5cGVkLWFycmF5ICAgICAgICAgICAgICAgICAgICAg
ICAyLjQwMjErLTAuMTgwOCAgICAgICAgICAgIDIuMzE3MystMC4xNTUxICAgICAgICAgIG1pZ2h0
IGJlIDEuMDM2NnggZmFzdGVyCiAgIGVsaWRhYmxlLW5ldy1vYmplY3QtZGFnICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTkuOTIxNSstMC40NzM3ICAgICA/ICAgICAyMC4xMTYwKy0xLjE0MDgg
ICAgICAgID8KICAgZWxpZGFibGUtbmV3LW9iamVjdC1yb2ZsY29wdGVyICAgICAgICAgICAgICAg
ICAgICAxOS41NjIzKy0yLjI3MjkgICAgICAgICAgIDE4LjQ3NDErLTEuNzE5NSAgICAgICAgICBt
aWdodCBiZSAxLjA1ODl4IGZhc3RlcgogICBlbGlkYWJsZS1uZXctb2JqZWN0LXRoZW4tY2FsbCAg
ICAgICAgICAgICAgICAgICAgIDE2Ljg0MDArLTAuMzgyMyAgICAgICAgICAgMTYuNTg5MCstMC4z
MjE4ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1MXggZmFzdGVyCiAgIGVsaWRhYmxlLW5ldy1vYmpl
Y3QtdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgMTguMjc3NystMC43MTY3ICAgICA/ICAg
ICAxOC4zNTk3Ky0wLjk0OTUgICAgICAgID8KICAgZW1wdHktc3RyaW5nLXBsdXMtaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNi4xNjczKy0xLjY4MzQgICAgICAgICAgICA1LjQ2OTAr
LTAuMTc3NiAgICAgICAgICBtaWdodCBiZSAxLjEyNzd4IGZhc3RlcgogICBlbXNjcmlwdGVuLWN1
YmUyaGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0LjcyNjgrLTAuNTAwNyAgICAg
PyAgICAgMjUuMDc0MCstMC44NzMyICAgICAgICA/IG1pZ2h0IGJlIDEuMDE0MHggc2xvd2VyCiAg
IGV2YWwtY2FjaGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAuNzU0
NCstMi4xMDY3ICAgICAgICAgICAxOS4zMzEwKy0xLjMzOTEgICAgICAgICAgbWlnaHQgYmUgMS4w
NzM2eCBmYXN0ZXIKICAgZXZhbC1jb2RlLWZ0bC1yZWVudHJ5ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAyOC42OTI5Ky0wLjc0ODkgICAgICAgICAgIDI4LjM5NjMrLTAuNjM3MyAgICAgICAg
ICBtaWdodCBiZSAxLjAxMDR4IGZhc3RlcgogICBldmFsLWNvZGUtZnRsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMjYxLjE3MTcrLTQuMzExOSAgICAgPyAgICAyNjMuMzQyNist
NC44OTQ0ICAgICAgICA/CiAgIGV2YWwtY29tcHV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMjUuNzQyMistMi4yMzY3ICAgICAgICAgICAyMy45MTk2Ky0wLjk5NzkgICAg
ICAgICAgbWlnaHQgYmUgMS4wNzYyeCBmYXN0ZXIKICAgZXZhbC1ub3QtZXZhbC1jb21wdXRlLWFy
Z3MgICAgICAgICAgICAgICAgICAgICAgICAyNC4wNzQyKy0xLjc5MjUgICAgID8gICAgIDI0LjUw
NzMrLTIuNzUxNCAgICAgICAgPyBtaWdodCBiZSAxLjAxODB4IHNsb3dlcgogICBldmFsLW5vdC1l
dmFsLWNvbXB1dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzLjUxMTUrLTEuMDkyOCAg
ICAgPyAgICAgMjMuNzEzMistMS4xMTk5ICAgICAgICA/CiAgIGV4aXQtbGVuZ3RoLW9uLXBsYWlu
LW9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgMTEuNDQxOSstMC42OTgwICAgICAgICAgICAx
MS4wODMyKy0wLjUxMzAgICAgICAgICAgbWlnaHQgYmUgMS4wMzI0eCBmYXN0ZXIKICAgZXh0ZXJu
YWwtYXJndW1lbnRzLWdldGJ5dmFsICAgICAgICAgICAgICAgICAgICAgICAgMS4yNjA5Ky0wLjA3
NzEgICAgID8gICAgICAxLjM4ODArLTAuMjEzMCAgICAgICAgPyBtaWdodCBiZSAxLjEwMDh4IHNs
b3dlcgogICBleHRlcm5hbC1hcmd1bWVudHMtcHV0Ynl2YWwgICAgICAgICAgICAgICAgICAgICAg
ICAyLjEzMjUrLTAuMTkyMyAgICAgICAgICAgIDIuMTIxNCstMC4xNDk5ICAgICAgICAKICAgZmFr
ZS1pdGVyYXRvcnMtdGhhdC10aHJvdy13aGVuLWZpbmlzaGVkICAgICAgICAgICA4My4wMDc3Ky0y
LjYzNjUgICAgID8gICAgIDg2LjYyNTMrLTQuNTQ2MiAgICAgICAgPyBtaWdodCBiZSAxLjA0MzZ4
IHNsb3dlcgogICBmaXhlZC10eXBlZC1hcnJheS1zdG9yYWdlLXZhci1pbmRleCAgICAgICAgICAg
ICAgICAyLjE0OTArLTAuNDQ0MCAgICAgICAgICAgIDEuNzQzNSstMC4wNDAwICAgICAgICAgIG1p
Z2h0IGJlIDEuMjMyNXggZmFzdGVyCiAgIGZpeGVkLXR5cGVkLWFycmF5LXN0b3JhZ2UgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEuNDM4NCstMC4wOTE1ICAgICA/ICAgICAgMS40NjU1Ky0wLjEw
OTYgICAgICAgID8gbWlnaHQgYmUgMS4wMTg5eCBzbG93ZXIKICAgRmxvYXQzMkFycmF5LW1hdHJp
eC1tdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgNS42NDI2Ky0wLjE1NTQgICAgID8gICAg
ICA1LjcwMDErLTAuMTU2MyAgICAgICAgPyBtaWdodCBiZSAxLjAxMDJ4IHNsb3dlcgogICBGbG9h
dDMyQXJyYXktdG8tRmxvYXQ2NEFycmF5LXNldCAgICAgICAgICAgICAgICAgIDM3LjY5NDkrLTEu
MDE5MCAgICAgPyAgICAgMzguMDg3MSstMS41MDUwICAgICAgICA/IG1pZ2h0IGJlIDEuMDEwNHgg
c2xvd2VyCiAgIEZsb2F0NjRBcnJheS1hbGxvYy1sb25nLWxpdmVkICAgICAgICAgICAgICAgICAg
ICAgNjguOTI0OSstMS42NTU1ICAgICAgICAgICA2Ny4xMDA2Ky0xLjc5MTcgICAgICAgICAgbWln
aHQgYmUgMS4wMjcyeCBmYXN0ZXIKICAgRmxvYXQ2NEFycmF5LXRvLUludDE2QXJyYXktc2V0ICAg
ICAgICAgICAgICAgICAgICA1MC4yODA3Ky0yLjQzMjYgICAgICAgICAgIDQ5LjAwNDArLTIuMDY0
NyAgICAgICAgICBtaWdodCBiZSAxLjAyNjF4IGZhc3RlcgogICBmb2xkLWRvdWJsZS10by1pbnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwLjUwOTkrLTEuMzM0MSAgICAgICAgICAg
MTkuOTEyNSstMC40OTQ5ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMwMHggZmFzdGVyCiAgIGZvbGQt
Z2V0LWJ5LWlkLXRvLW11bHRpLWdldC1ieS1vZmZzZXQtcmFyZS1pbnQgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC42NDc4Ky0wLjU4NTAg
ICAgID8gICAgICA5LjI1MDArLTAuNzk3NiAgICAgICAgPyBtaWdodCBiZSAxLjA2OTZ4IHNsb3dl
cgogICBmb2xkLWdldC1ieS1pZC10by1tdWx0aS1nZXQtYnktb2Zmc2V0ICAgICAgICAgICAgICA2
LjQzNjUrLTAuMTA4MCAgICAgPyAgICAgIDYuNDUzMSstMC4yMTk2ICAgICAgICA/CiAgIGZvbGQt
bXVsdGktZ2V0LWJ5LW9mZnNldC10by1nZXQtYnktb2Zmc2V0ICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuODk2MistMC43OTAwICAgICAg
ICAgICAgNC41MzMyKy0wLjQ3ODIgICAgICAgICAgbWlnaHQgYmUgMS4wODAxeCBmYXN0ZXIKICAg
Zm9sZC1tdWx0aS1nZXQtYnktb2Zmc2V0LXRvLXBvbHktZ2V0LWJ5LW9mZnNldCAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LjA1MzkrLTEu
NDcyNiAgICAgPyAgICAgIDUuNTIzOCstMS4yNjU2ICAgICAgICA/IG1pZ2h0IGJlIDEuMDkzMHgg
c2xvd2VyCiAgIGZvbGQtbXVsdGktcHV0LWJ5LW9mZnNldC10by1wb2x5LXB1dC1ieS1vZmZzZXQg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
NS4yMTIwKy0xLjA4MjIgICAgICAgICAgICA1LjAyNTgrLTEuMDA2NiAgICAgICAgICBtaWdodCBi
ZSAxLjAzNzB4IGZhc3RlcgogICBmb2xkLW11bHRpLXB1dC1ieS1vZmZzZXQtdG8tcHV0LWJ5LW9m
ZnNldCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA0LjQxMzkrLTAuODcyOCAgICAgICAgICAgIDMuNjY3NCstMC4yOTIxICAgICAgICAgIG1p
Z2h0IGJlIDEuMjAzNnggZmFzdGVyCiAgIGZvbGQtbXVsdGktcHV0LWJ5LW9mZnNldC10by1yZXBs
YWNlLW9yLXRyYW5zaXRpb24tcHV0LWJ5LW9mZnNldCAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LjM2NTkrLTAuNjM2NSAgICAgPyAgICAg
IDkuNjIzMCstMC45NTk4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI3NHggc2xvd2VyCiAgIGZvbGQt
cHV0LWJ5LWlkLXRvLW11bHRpLXB1dC1ieS1vZmZzZXQgICAgICAgICAgICAgIDkuMjE4NystMC44
NDgwICAgICA/ICAgICAxMC4xMDE3Ky0xLjY0NjIgICAgICAgID8gbWlnaHQgYmUgMS4wOTU4eCBz
bG93ZXIKICAgZm9sZC1wdXQtYnktdmFsLXdpdGgtc3RyaW5nLXRvLW11bHRpLXB1dC1ieS1vZmZz
ZXQgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOC4yMzI1Ky0wLjYyMzUgICAgICAgICAgICA4LjA1NTgrLTAuNjU2MyAgICAgICAgICBtaWdo
dCBiZSAxLjAyMTl4IGZhc3RlcgogICBmb2xkLXB1dC1ieS12YWwtd2l0aC1zeW1ib2wtdG8tbXVs
dGktcHV0LWJ5LW9mZnNldCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA3Ljk4NTUrLTAuMzk3MCAgICAgICAgICAgIDcuNzQ5MistMC4wNjk1
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMwNXggZmFzdGVyCiAgIGZvbGQtcHV0LXN0cnVjdHVyZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuNTI5OSstMS40OTQyICAgICAgICAgICAg
My43NjkwKy0wLjc2OTUgICAgICAgICAgbWlnaHQgYmUgMS40NjcyeCBmYXN0ZXIKICAgZm9yLW9m
LWFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNi45MTMxKy0wLjQ1
MzUgICAgICAgICAgIDE2Ljc0MDUrLTAuNTEzNCAgICAgICAgICBtaWdodCBiZSAxLjAxMDN4IGZh
c3RlcgogICBmb3Itb2YtaXRlcmF0ZS1hcnJheS1lbnRyaWVzICAgICAgICAgICAgICAgICAgICAg
ICA4LjA0OTArLTAuODAzNyAgICAgPyAgICAgIDguMTc4MSstMC43MTI0ICAgICAgICA/IG1pZ2h0
IGJlIDEuMDE2MHggc2xvd2VyCiAgIGZvci1vZi1pdGVyYXRlLWFycmF5LWtleXMgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQuNDMyNistMC42NTYwICAgICAgICAgICAgNC4xNjExKy0wLjE0NjIg
ICAgICAgICAgbWlnaHQgYmUgMS4wNjUyeCBmYXN0ZXIKICAgZm9yLW9mLWl0ZXJhdGUtYXJyYXkt
dmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgNC4yNjE5Ky0wLjIwMDUgICAgICAgICAgICA0
LjIwNzUrLTAuMjc3NSAgICAgICAgICBtaWdodCBiZSAxLjAxMjl4IGZhc3RlcgogICBmcmVlemUt
YW5kLWRvLXdvcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyLjU1NTArLTAuMTI2
MiAgICAgPyAgICAgMTMuMjM3NystMC44NDQ1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDU0NHggc2xv
d2VyCiAgIGZyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDkuOTA1MSstMC4yMzQ5ICAgICA/ICAgICAxMC4wMDg1Ky0wLjM3ODMgICAgICAgID8gbWlnaHQg
YmUgMS4wMTA0eCBzbG93ZXIKICAgZnRsLWxpYnJhcnktaW5saW5pbmctZGF0YXZpZXcgICAgICAg
ICAgICAgICAgICAgICA4MS44NTI4Ky0zLjIyMTIgICAgID8gICAgIDg0LjUyMjErLTIuNDkyMiAg
ICAgICAgPyBtaWdodCBiZSAxLjAzMjZ4IHNsb3dlcgogICBmdGwtbGlicmFyeS1pbmxpbmluZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIyLjQ2NDkrLTAuNzgzMiAgICAgICAgICAgMjIu
MjkwNystMC44MzA0ICAgICAgICAKICAgZnRsLXBvbHltb3JwaGljLWJpdGFuZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEzMC4yMTgxKy0zLjQyMTkgICAgID8gICAgMTMxLjUyNTkrLTQuOTA1
OCAgICAgICAgPyBtaWdodCBiZSAxLjAxMDB4IHNsb3dlcgogICBmdGwtcG9seW1vcnBoaWMtYml0
b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMzLjY4NTkrLTMuNjUxNiAgICAgPyAgICAx
MzQuMTM5MistNS43MDAxICAgICAgICA/CiAgIGZ0bC1wb2x5bW9ycGhpYy1iaXR4b3IgICAgICAg
ICAgICAgICAgICAgICAgICAgICAxMzEuODMyNCstMi41OTAzICAgICA/ICAgIDEzMy42NDU1Ky00
LjMxMzMgICAgICAgID8gbWlnaHQgYmUgMS4wMTM4eCBzbG93ZXIKICAgZnRsLXBvbHltb3JwaGlj
LWxzaGlmdCAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2MC41NzI2Ky01LjEzNjAgICAgID8g
ICAgMTYzLjUwMzgrLTQuMDQyNiAgICAgICAgPyBtaWdodCBiZSAxLjAxODN4IHNsb3dlcgogICBm
dGwtcG9seW1vcnBoaWMtcnNoaWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYyLjc3Njkr
LTUuNjQ2OSAgICAgICAgICAxNTcuMjkyNCstMi43NTIxICAgICAgICAgIG1pZ2h0IGJlIDEuMDM0
OXggZmFzdGVyCiAgIGZ0bC1wb2x5bW9ycGhpYy1TdHJpbmdGcm9tQ2hhckNvZGUgICAgICAgICAg
ICAgICAgNDcuMDc0MystMi43MjMzICAgICAgICAgICA0Ni4zMjQxKy0zLjM0NTMgICAgICAgICAg
bWlnaHQgYmUgMS4wMTYyeCBmYXN0ZXIKICAgZnRsLXBvbHltb3JwaGljLXN1YiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDE2MS43NTQ3Ky04LjI1NzEgICAgICAgICAgMTU4LjY3MjcrLTEw
LjA2ODUgICAgICAgICBtaWdodCBiZSAxLjAxOTR4IGZhc3RlcgogICBmdGwtcG9seW1vcnBoaWMt
dXJzaGlmdCAgICAgICAgICAgICAgICAgICAgICAgICAgMTc1Ljk2MjQrLTkuMjM0NiAgICAgICAg
ICAxNzQuMDk5NystNC40MjQzICAgICAgICAgIG1pZ2h0IGJlIDEuMDEwN3ggZmFzdGVyCiAgIGZ1
bmN0aW9uLWNhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDguMzM5Mist
MC45ODU1ICAgICA/ICAgICAgOC40OTE4Ky0xLjMyNzMgICAgICAgID8gbWlnaHQgYmUgMS4wMTgz
eCBzbG93ZXIKICAgZnVuY3Rpb24tZG90LWFwcGx5ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMi40MjU2Ky0wLjA2NjQgICAgICAgICAgICAyLjQwNzIrLTAuMDQxMyAgICAgICAgCiAg
IGZ1bmN0aW9uLXRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOTg4
NCstMC4xNTA0ICAgICAgICAgICAgMi45NDI0Ky0wLjEwMjQgICAgICAgICAgbWlnaHQgYmUgMS4w
MTU2eCBmYXN0ZXIKICAgZnVuY3Rpb24td2l0aC1ldmFsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA0NC4wMzM2Ky0wLjc3NDcgICAgICAgICAgIDQzLjY3MTUrLTAuODA2MyAgICAgICAg
CiAgIGdjc2UtcG9seS1nZXQtbGVzcy1vYnZpb3VzICAgICAgICAgICAgICAgICAgICAgICAgMTQu
NjAzMSstMC42MDc2ICAgICAgICAgICAxNC41NTY4Ky0wLjM5NTEgICAgICAgIAogICBnY3NlLXBv
bHktZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1Ljg1MzIrLTAuNjQw
NSAgICAgPyAgICAgMTYuMjg4OCstMC43NDg3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI3NXggc2xv
d2VyCiAgIGdjc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDMuNTExNCstMC4xNDI2ICAgICAgICAgICAgMy4zNzEyKy0wLjA0ODIgICAgICAgICAgbWlnaHQg
YmUgMS4wNDE2eCBmYXN0ZXIKICAgZ2VuZXJhdG9yLWNyZWF0ZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMS4xMjU1Ky0wLjI2ODEgICAgICAgICAgICAxLjA3MDkrLTAuMTUyOCAg
ICAgICAgICBtaWdodCBiZSAxLjA1MTB4IGZhc3RlcgogICBnZW5lcmF0b3ItZmliICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjQ3MDgrLTAuMzY0NiAgICAgPyAgICAgMTYu
NDA4NCstMS43MjI5ICAgICAgICA/IG1pZ2h0IGJlIDEuMDYwNnggc2xvd2VyCiAgIGdlbmVyYXRv
ci1mdW5jdGlvbi1jcmVhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNTE4OSstMC40NDQ1
ICAgICAgICAgICAgNC40NDE3Ky0wLjI1OTQgICAgICAgICAgbWlnaHQgYmUgMS4wMTc0eCBmYXN0
ZXIKICAgZ2VuZXJhdG9yLXN1bnNwaWRlci1hY2Nlc3MtbnNpZXZlICAgICAgICAgICAgICAgICAg
NC43MTg2Ky0wLjExNDMgICAgID8gICAgICA0Ljk5NTgrLTAuMzY2NSAgICAgICAgPyBtaWdodCBi
ZSAxLjA1ODd4IHNsb3dlcgogICBnZW5lcmF0b3Itd2l0aC1zZXZlcmFsLXR5cGVzICAgICAgICAg
ICAgICAgICAgICAgIDkyLjA0MjcrLTEyLjgyODcgICAgPyAgICAxMDMuMTM3NCstMTQuMjI4NyAg
ICAgICA/IG1pZ2h0IGJlIDEuMTIwNXggc2xvd2VyCiAgIGdldC1ieS1pZC1iaW1vcnBoaWMtY2hl
Y2stc3RydWN0dXJlLWVsaW1pbmF0aW9uLXNpbXBsZSAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjQ5NjArLTAuMDgyNCAgICAgPyAgICAg
IDIuNTUzNistMC4wOTMyICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzMXggc2xvd2VyCiAgIGdldC1i
eS1pZC1iaW1vcnBoaWMtY2hlY2stc3RydWN0dXJlLWVsaW1pbmF0aW9uICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNTI0OSstMC4yNjQz
ICAgICAgICAgICAgNC40OTc2Ky0wLjE5MTIgICAgICAgIAogICBnZXQtYnktaWQtY2hhaW4tZnJv
bS10cnktYmxvY2sgICAgICAgICAgICAgICAgICAgICAyLjE1NjkrLTAuMTM0OSAgICAgPyAgICAg
IDIuMjE0MSstMC4yNTQ4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI2NXggc2xvd2VyCiAgIGdldC1i
eS1pZC1jaGVjay1zdHJ1Y3R1cmUtZWxpbWluYXRpb24gICAgICAgICAgICAgIDMuNzE0NSstMC4w
NzY2ICAgICAgICAgICAgMy42NzUzKy0wLjAzNjIgICAgICAgICAgbWlnaHQgYmUgMS4wMTA3eCBm
YXN0ZXIKICAgZ2V0LWJ5LWlkLXByb3RvLW9yLXNlbGYgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOC45NjE1Ky0xLjEwMTkgICAgICAgICAgICA4LjE3MjgrLTAuMjUxOCAgICAgICAgICBtaWdo
dCBiZSAxLjA5NjV4IGZhc3RlcgogICBnZXQtYnktaWQtcXVhZG1vcnBoaWMtY2hlY2stc3RydWN0
dXJlLWVsaW1pbmF0aW9uLXNpbXBsZSAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAyLjkzMTgrLTAuMTA4NyAgICAgPyAgICAgIDMuMDA0MSst
MC4yMzQwICAgICAgICA/IG1pZ2h0IGJlIDEuMDI0N3ggc2xvd2VyCiAgIGdldC1ieS1pZC1zZWxm
LW9yLXByb3RvICAgICAgICAgICAgICAgICAgICAgICAgICAgIDguNTIwNCstMC42Mjk5ICAgICAg
ICAgICAgOC4yNDA0Ky0wLjIxNTQgICAgICAgICAgbWlnaHQgYmUgMS4wMzQweCBmYXN0ZXIKICAg
Z2V0LWJ5LXZhbC1vdXQtb2YtYm91bmRzICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4yMzkx
Ky0wLjE0NzMgICAgICAgICAgICA1LjE5NjArLTAuMTIxMCAgICAgICAgCiAgIGdldC1ieS12YWwt
d2l0aC1zdHJpbmctYmltb3JwaGljLWNoZWNrLXN0cnVjdHVyZS1lbGltaW5hdGlvbi1zaW1wbGUg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Mi44MTE1Ky0wLjEzNDIgICAgID8gICAgICAyLjg4NjArLTAuMTYzMCAgICAgICAgPyBtaWdodCBi
ZSAxLjAyNjV4IHNsb3dlcgogICBnZXQtYnktdmFsLXdpdGgtc3RyaW5nLWJpbW9ycGhpYy1jaGVj
ay1zdHJ1Y3R1cmUtZWxpbWluYXRpb24gICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNi44NzU4Ky0xLjU1MjEgICAgICAgICAgICA2LjYyMDUr
LTAuOTY3MyAgICAgICAgICBtaWdodCBiZSAxLjAzODZ4IGZhc3RlcgogICBnZXQtYnktdmFsLXdp
dGgtc3RyaW5nLWNoYWluLWZyb20tdHJ5LWJsb2NrICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMjE1NystMC4wODU4ICAgICAgICAgICAg
Mi4xNDEzKy0wLjA1MDIgICAgICAgICAgbWlnaHQgYmUgMS4wMzQ4eCBmYXN0ZXIKICAgZ2V0LWJ5
LXZhbC13aXRoLXN0cmluZy1jaGVjay1zdHJ1Y3R1cmUtZWxpbWluYXRpb24gICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS42MjEyKy0wLjMz
NjcgICAgICAgICAgICA1LjUxMzIrLTAuMTAzOCAgICAgICAgICBtaWdodCBiZSAxLjAxOTZ4IGZh
c3RlcgogICBnZXQtYnktdmFsLXdpdGgtc3RyaW5nLXByb3RvLW9yLXNlbGYgICAgICAgICAgICAg
IDExLjA1NzcrLTAuNTk3NyAgICAgICAgICAgMTAuOTg5OSstMC41NDU5ICAgICAgICAKICAgZ2V0
LWJ5LXZhbC13aXRoLXN0cmluZy1xdWFkbW9ycGhpYy1jaGVjay1zdHJ1Y3R1cmUtZWxpbWluYXRp
b24tc2ltcGxlICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDMuMzA1NistMC4wNjIwICAgICA/ICAgICAgMy4zOTUzKy0wLjEwNTkgICAgICAg
ID8gbWlnaHQgYmUgMS4wMjcxeCBzbG93ZXIKICAgZ2V0LWJ5LXZhbC13aXRoLXN0cmluZy1zZWxm
LW9yLXByb3RvICAgICAgICAgICAgICAxMC44ODQzKy0wLjY3NjAgICAgICAgICAgIDEwLjU3OTUr
LTAuMjUzNSAgICAgICAgICBtaWdodCBiZSAxLjAyODh4IGZhc3RlcgogICBnZXQtYnktdmFsLXdp
dGgtc3ltYm9sLWJpbW9ycGhpYy1jaGVjay1zdHJ1Y3R1cmUtZWxpbWluYXRpb24tc2ltcGxlICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIu
ODIyNystMC4xODMzICAgICA/ICAgICAgMy4wNzE3Ky0wLjU0MDUgICAgICAgID8gbWlnaHQgYmUg
MS4wODgyeCBzbG93ZXIKICAgZ2V0LWJ5LXZhbC13aXRoLXN5bWJvbC1iaW1vcnBoaWMtY2hlY2st
c3RydWN0dXJlLWVsaW1pbmF0aW9uICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDkuMTQzNistMC4xNjA5ICAgICAgICAgICAgOS4xMDM5Ky0w
LjA4ODUgICAgICAgIAogICBnZXQtYnktdmFsLXdpdGgtc3ltYm9sLWNoYWluLWZyb20tdHJ5LWJs
b2NrICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDIuMjc0OSstMC4xMTI3ICAgICAgICAgICAgMi4yMjg0Ky0wLjExOTggICAgICAgICAgbWln
aHQgYmUgMS4wMjA5eCBmYXN0ZXIKICAgZ2V0LWJ5LXZhbC13aXRoLXN5bWJvbC1jaGVjay1zdHJ1
Y3R1cmUtZWxpbWluYXRpb24gICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOC40OTQwKy0wLjIzOTYgICAgICAgICAgICA4LjM2OTYrLTAuMDYw
NSAgICAgICAgICBtaWdodCBiZSAxLjAxNDl4IGZhc3RlcgogICBnZXQtYnktdmFsLXdpdGgtc3lt
Ym9sLXByb3RvLW9yLXNlbGYgICAgICAgICAgICAgIDExLjM5MzMrLTEuODQwNyAgICAgICAgICAg
MTEuMTE4NystMS4yODE3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDI0N3ggZmFzdGVyCiAgIGdldC1i
eS12YWwtd2l0aC1zeW1ib2wtcXVhZG1vcnBoaWMtY2hlY2stc3RydWN0dXJlLWVsaW1pbmF0aW9u
LXNpbXBsZSAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAzLjQ4NDArLTAuMDkzOSAgICAgPyAgICAgIDMuNjU5MystMC4xOTk4ICAgICAgICA/
IG1pZ2h0IGJlIDEuMDUwM3ggc2xvd2VyCiAgIGdldC1ieS12YWwtd2l0aC1zeW1ib2wtc2VsZi1v
ci1wcm90byAgICAgICAgICAgICAgMTEuMTc3MistMS40NzY2ICAgICAgICAgICAxMC45NDAwKy0w
LjQ5MjYgICAgICAgICAgbWlnaHQgYmUgMS4wMjE3eCBmYXN0ZXIKICAgZ2V0X2J5X3ZhbC1JbnQz
MkFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS43Njg4Ky0wLjA0NzggICAgID8g
ICAgICAxLjg4NDkrLTAuMTU2NiAgICAgICAgPyBtaWdodCBiZSAxLjA2NTZ4IHNsb3dlcgogICBn
ZXRfY2FsbGVlX21vbm9tb3JwaGljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjY2NzMr
LTAuMTk3OSAgICAgPyAgICAgIDIuODEwNCstMC4yMzUxICAgICAgICA/IG1pZ2h0IGJlIDEuMDUz
N3ggc2xvd2VyCiAgIGdldF9jYWxsZWVfcG9seW1vcnBoaWMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDkuMjMzNistMC43OTg2ICAgICAgICAgICAgOS4wMDYyKy0wLjQ0MTQgICAgICAgICAg
bWlnaHQgYmUgMS4wMjUzeCBmYXN0ZXIKICAgZ2V0dGVyLW5vLWFjdGl2YXRpb24gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMy4yNDEyKy0wLjA5NDcgICAgID8gICAgICAzLjI1OTcrLTAu
MTg0OSAgICAgICAgPwogICBnZXR0ZXItcHJvdG90eXBlICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA0Ljg3MTUrLTAuMTI4MCAgICAgPyAgICAgIDQuODgyMistMC4wODI5ICAgICAg
ICA/CiAgIGdldHRlci1yaWNoYXJkcy10cnktY2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAg
NjguNzE3NistNC44OTY5ICAgICAgICAgICA2NS44NTc5Ky0xLjIyNDIgICAgICAgICAgbWlnaHQg
YmUgMS4wNDM0eCBmYXN0ZXIKICAgZ2V0dGVyLXJpY2hhcmRzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA2OS4xNDI3Ky0zLjU3NTIgICAgICAgICAgIDY0LjQ2MDIrLTUuMzYyNSAg
ICAgICAgICBtaWdodCBiZSAxLjA3MjZ4IGZhc3RlcgogICBnZXR0ZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjgzOTYrLTAuMDg2MyAgICAgPyAgICAgIDQu
MDE0OSstMC4yNDYwICAgICAgICA/IG1pZ2h0IGJlIDEuMDQ1N3ggc2xvd2VyCiAgIGdsb2JhbC1j
b2RlLWZ0bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzMuMzM5NSstMC40NTU4
ICAgICA/ICAgICAzNC44MzI3Ky0xLjE5NzEgICAgICAgID8gbWlnaHQgYmUgMS4wNDQ4eCBzbG93
ZXIKICAgZ2xvYmFsLWlzTmFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
MS40NDY1Ky0wLjEwMDMgICAgID8gICAgIDExLjgwMjgrLTAuMjgzMiAgICAgICAgPyBtaWdodCBi
ZSAxLjAzMTF4IHNsb3dlcgogICBnbG9iYWwtb2JqZWN0LWFjY2Vzcy13aXRoLW11dGF0aW5nLXN0
cnVjdHVyZSAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA1LjI3MzcrLTAuMDU5MiAgICAgPyAgICAgIDUuNDkzNystMC40MDA3ICAgICAgICA/
IG1pZ2h0IGJlIDEuMDQxN3ggc2xvd2VyCiAgIGdsb2JhbC12YXItY29uc3QtaW5mZXItZmlyZS1m
cm9tLW9wdCAgICAgICAgICAgICAgIDAuOTgzOSstMC4wMjkyICAgICAgICAgICAgMC45NjI5Ky0w
LjAyMjkgICAgICAgICAgbWlnaHQgYmUgMS4wMjE4eCBmYXN0ZXIKICAgZ2xvYmFsLXZhci1jb25z
dC1pbmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC45NjU0Ky0wLjExODUgICAgICAg
ICAgICAwLjkyMTgrLTAuMDMxNyAgICAgICAgICBtaWdodCBiZSAxLjA0NzJ4IGZhc3RlcgogICBo
YXJkLW92ZXJmbG93LWNoZWNrLWVxdWFsICAgICAgICAgICAgICAgICAgICAgICAgIDI0LjgwMTgr
LTEuNzMzOCAgICAgICAgICAgMjMuODI4MSstMS45MzYwICAgICAgICAgIG1pZ2h0IGJlIDEuMDQw
OXggZmFzdGVyCiAgIGhhcmQtb3ZlcmZsb3ctY2hlY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMjUuNTkxMistMS4yMTEyICAgICAgICAgICAyNC4wNzQxKy0wLjk1NTcgICAgICAgICAg
bWlnaHQgYmUgMS4wNjMweCBmYXN0ZXIKICAgaGFzLW93bi1wcm9wZXJ0eS1uYW1lLWNhY2hlICAg
ICAgICAgICAgICAgICAgICAgICA2Ni44MDQ0Ky00LjY3MTAgICAgICAgICAgIDYxLjkwMjQrLTQu
MzgyOCAgICAgICAgICBtaWdodCBiZSAxLjA3OTJ4IGZhc3RlcgogICBIYXNoTWFwLXB1dC1nZXQt
aXRlcmF0ZS1rZXlzICAgICAgICAgICAgICAgICAgICAgIDIyLjY0NTErLTAuNDcwOSAgICAgPyAg
ICAgMjIuNzgwMistMC40NzgzICAgICAgICA/CiAgIEhhc2hNYXAtcHV0LWdldC1pdGVyYXRlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMjIuMzg4NistMC4yNzA1ICAgICA/ICAgICAyMi42MzMy
Ky0wLjMzMjAgICAgICAgID8gbWlnaHQgYmUgMS4wMTA5eCBzbG93ZXIKICAgSGFzaE1hcC1zdHJp
bmctcHV0LWdldC1pdGVyYXRlICAgICAgICAgICAgICAgICAgICAyNS4zMDIzKy0xLjc0NTcgICAg
ICAgICAgIDI1LjI2ODMrLTEuMjc3OCAgICAgICAgCiAgIGhvaXN0LW1ha2Utcm9wZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMTg2MCstMC4yMzEyICAgICA/ICAgICAgNC42
NjExKy0wLjUyNDEgICAgICAgID8gbWlnaHQgYmUgMS4xMTM1eCBzbG93ZXIKICAgaG9pc3QtcG9s
eS1jaGVjay1zdHJ1Y3R1cmUtZWZmZWN0ZnVsLWxvb3AgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy41MDYxKy0wLjMyNTcgICAgICAgICAg
ICAzLjUwMjcrLTAuMjI0NyAgICAgICAgCiAgIGhvaXN0LXBvbHktY2hlY2stc3RydWN0dXJlICAg
ICAgICAgICAgICAgICAgICAgICAgIDIuNDM5MystMC4yMDQ3ICAgICAgICAgICAgMi40MDcyKy0w
LjA2MTMgICAgICAgICAgbWlnaHQgYmUgMS4wMTMzeCBmYXN0ZXIKICAgaW1wbGljaXQtYmlnc3dp
dGNoLWluZGlyZWN0LXN5bWJvbCAgICAgICAgICAgICAgICA0OS45MTEzKy0wLjgzNDcgICAgID8g
ICAgIDUxLjQxMjIrLTEuOTgwNSAgICAgICAgPyBtaWdodCBiZSAxLjAzMDF4IHNsb3dlcgogICBp
bXVsLWRvdWJsZS1vbmx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjA5OTAr
LTAuMTA5MSAgICAgICAgICAgIDQuMDgwMCstMC4xMTk1ICAgICAgICAKICAgaW11bC1pbnQtb25s
eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4wODI1Ky0wLjQzMDYgICAg
ID8gICAgICA1LjMxNDArLTAuMDkyMSAgICAgICAgPyBtaWdodCBiZSAxLjA0NTV4IHNsb3dlcgog
ICBpbXVsLW1peGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjQz
MzkrLTAuMzIyMyAgICAgICAgICAgIDQuMzU4MSstMC4yMDcxICAgICAgICAgIG1pZ2h0IGJlIDEu
MDE3NHggZmFzdGVyCiAgIGluLWZvdXItY2FzZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTUuNDY4MCstMS4yNDU4ICAgICA/ICAgICAxNS42NzcxKy0wLjc3MzggICAgICAg
ID8gbWlnaHQgYmUgMS4wMTM1eCBzbG93ZXIKICAgaW4tb25lLWNhc2UtZmFsc2UgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOC4wNDY5Ky0wLjE5NDkgICAgID8gICAgICA4LjE0NjYr
LTAuMjM4NSAgICAgICAgPyBtaWdodCBiZSAxLjAxMjR4IHNsb3dlcgogICBpbi1vbmUtY2FzZS10
cnVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4LjIxNDMrLTAuMzg2NCAgICAg
ICAgICAgIDcuODQxMystMC4xMTQ3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDQ3NnggZmFzdGVyCiAg
IGluLXR3by1jYXNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDguNTY0
NCstMC4yODk3ICAgICAgICAgICAgOC4yNDc3Ky0wLjE4NDYgICAgICAgICAgbWlnaHQgYmUgMS4w
Mzg0eCBmYXN0ZXIKICAgaW5kZXhlZC1wcm9wZXJ0aWVzLWluLW9iamVjdHMgICAgICAgICAgICAg
ICAgICAgICAgMy4xNTQzKy0wLjE4OTIgICAgID8gICAgICAzLjE2NDMrLTAuMDc5NCAgICAgICAg
PwogICBpbmZlci1jbG9zdXJlLWNvbnN0LXRoZW4tbW92LW5vLWlubGluZSAgICAgICAgICAgICAz
LjI5MzErLTAuMTMzMyAgICAgICAgICAgIDMuMjE4NystMC4wNjU0ICAgICAgICAgIG1pZ2h0IGJl
IDEuMDIzMXggZmFzdGVyCiAgIGluZmVyLWNsb3N1cmUtY29uc3QtdGhlbi1tb3YgICAgICAgICAg
ICAgICAgICAgICAgIDcuNzg0OCstMC40NTIwICAgICA/ICAgICAgNy45NzIyKy0wLjc0NjQgICAg
ICAgID8gbWlnaHQgYmUgMS4wMjQxeCBzbG93ZXIKICAgaW5mZXItY2xvc3VyZS1jb25zdC10aGVu
LXB1dC10by1zY29wZS1uby1pbmxpbmUgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOC40MzYxKy0wLjI1ODAgICAgID8gICAgICA4Ljc3NzAr
LTAuNDQ2NiAgICAgICAgPyBtaWdodCBiZSAxLjA0MDR4IHNsb3dlcgogICBpbmZlci1jbG9zdXJl
LWNvbnN0LXRoZW4tcHV0LXRvLXNjb3BlICAgICAgICAgICAgIDIyLjI4OTgrLTEuMjE1OCAgICAg
ICAgICAgMjIuMDc3NistMC44NjExICAgICAgICAKICAgaW5mZXItY2xvc3VyZS1jb25zdC10aGVu
LXJlZW50ZXItbm8taW5saW5lICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMzYuODgxMystMS43NzM2ICAgICAgICAgICAzNS4xNzI4Ky0xLjMx
MjggICAgICAgICAgbWlnaHQgYmUgMS4wNDg2eCBmYXN0ZXIKICAgaW5mZXItY2xvc3VyZS1jb25z
dC10aGVuLXJlZW50ZXIgICAgICAgICAgICAgICAgICAyMS41ODQwKy0wLjQ1NDkgICAgICAgICAg
IDIxLjUzOTErLTAuODEwMSAgICAgICAgCiAgIGluZmVyLWNvbnN0YW50LWdsb2JhbC1wcm9wZXJ0
eSAgICAgICAgICAgICAgICAgICAgIDIuNzU1OCstMC4xNjc4ICAgICAgICAgICAgMi43MzgzKy0w
LjA4ODQgICAgICAgIAogICBpbmZlci1jb25zdGFudC1wcm9wZXJ0eSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAyLjUwNjIrLTAuMjI0MyAgICAgPyAgICAgIDIuNTM0NistMC4xNzEyICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDExM3ggc2xvd2VyCiAgIGluZmVyLW9uZS10aW1lLWNsb3N1cmUtdGVu
LXZhcnMgICAgICAgICAgICAgICAgICAgIDYuNTc5OCstMC4xOTA2ICAgICA/ICAgICAgNi42NTA1
Ky0wLjI0MDMgICAgICAgID8gbWlnaHQgYmUgMS4wMTA4eCBzbG93ZXIKICAgaW5mZXItb25lLXRp
bWUtY2xvc3VyZS10d28tdmFycyAgICAgICAgICAgICAgICAgICAgNi4yMDI4Ky0wLjA5NDAgICAg
ID8gICAgICA2LjMzODMrLTAuMTU0NiAgICAgICAgPyBtaWdodCBiZSAxLjAyMTh4IHNsb3dlcgog
ICBpbmZlci1vbmUtdGltZS1jbG9zdXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjYw
NjUrLTAuNzg4MCAgICAgICAgICAgIDYuMjk3NistMC4yNzEyICAgICAgICAgIG1pZ2h0IGJlIDEu
MDQ5MHggZmFzdGVyCiAgIGluZmVyLW9uZS10aW1lLWRlZXAtY2xvc3VyZSAgICAgICAgICAgICAg
ICAgICAgICAgMTEuMTY1NCstMC4yNTIwICAgICA/ICAgICAxMS42NDY5Ky0wLjc5MjAgICAgICAg
ID8gbWlnaHQgYmUgMS4wNDMxeCBzbG93ZXIKICAgaW5saW5lLWFyZ3VtZW50cy1hY2Nlc3MgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMy42NzM1Ky0wLjEzOTkgICAgID8gICAgICAzLjY4NTQr
LTAuMTU2MyAgICAgICAgPwogICBpbmxpbmUtYXJndW1lbnRzLWFsaWFzZWQtYWNjZXNzICAgICAg
ICAgICAgICAgICAgICAzLjc1NDkrLTAuMjAxMSAgICAgICAgICAgIDMuNjk3OSstMC4yNTEzICAg
ICAgICAgIG1pZ2h0IGJlIDEuMDE1NHggZmFzdGVyCiAgIGlubGluZS1hcmd1bWVudHMtbG9jYWwt
ZXNjYXBlICAgICAgICAgICAgICAgICAgICAgIDMuODQzMystMC4xNTQ3ICAgICA/ICAgICAgMy45
NjI1Ky0wLjE4NTEgICAgICAgID8gbWlnaHQgYmUgMS4wMzEweCBzbG93ZXIKICAgaW5saW5lLWdl
dC1zY29wZWQtdmFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41NzI1Ky0wLjE5Mzkg
ICAgICAgICAgICAyLjQ5NzErLTAuMDUyOCAgICAgICAgICBtaWdodCBiZSAxLjAzMDJ4IGZhc3Rl
cgogICBpbmxpbmVkLXB1dC1ieS1pZC10cmFuc2l0aW9uICAgICAgICAgICAgICAgICAgICAgICA5
LjEzNTMrLTAuMzA1OCAgICAgPyAgICAgIDkuMTU1MystMC4yMTAzICAgICAgICA/CiAgIGlubGlu
ZWQtcHV0LWJ5LXZhbC13aXRoLXN0cmluZy10cmFuc2l0aW9uICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTMuMDA0NCstMy4xODQwICAgICAg
ICAgICA0OS43MDQzKy0xLjIzMDUgICAgICAgICAgbWlnaHQgYmUgMS4wNjY0eCBmYXN0ZXIKICAg
aW5saW5lZC1wdXQtYnktdmFsLXdpdGgtc3ltYm9sLXRyYW5zaXRpb24gICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MS44MDQwKy0xLjY2MDgg
ICAgICAgICAgIDUwLjU2MjIrLTIuMTQyNyAgICAgICAgICBtaWdodCBiZSAxLjAyNDZ4IGZhc3Rl
cgogICBpbnN0YW5jZW9mLWJvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIw
LjI2NDErLTAuNjAyNSAgICAgPyAgICAgMjEuNDk4OCstMS4zMDc3ICAgICAgICA/IG1pZ2h0IGJl
IDEuMDYwOXggc2xvd2VyCiAgIGludC1vci1vdGhlci1hYnMtdGhlbi1nZXQtYnktdmFsICAgICAg
ICAgICAgICAgICAgIDcuODk3OSstMC4yMDk5ICAgICAgICAgICAgNy44MTY1Ky0wLjIzNzIgICAg
ICAgICAgbWlnaHQgYmUgMS4wMTA0eCBmYXN0ZXIKICAgaW50LW9yLW90aGVyLWFicy16ZXJvLXRo
ZW4tZ2V0LWJ5LXZhbCAgICAgICAgICAgICAxMy43Mjk1Ky0wLjUyOTQgICAgICAgICAgIDEzLjUy
MTMrLTAuNDY3NiAgICAgICAgICBtaWdodCBiZSAxLjAxNTR4IGZhc3RlcgogICBpbnQtb3Itb3Ro
ZXItYWRkLXRoZW4tZ2V0LWJ5LXZhbCAgICAgICAgICAgICAgICAgICA0LjExOTkrLTAuMTExNSAg
ICAgICAgICAgIDQuMDkzMSstMC4wNDYyICAgICAgICAKICAgaW50LW9yLW90aGVyLWFkZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC42MTU2Ky0wLjA1NDIgICAgICAgICAgICA0
LjYxMjMrLTAuMTIzOCAgICAgICAgCiAgIGludC1vci1vdGhlci1kaXYtdGhlbi1nZXQtYnktdmFs
ICAgICAgICAgICAgICAgICAgIDMuOTY0NystMC4wNDIyICAgICA/ICAgICAgNC4yMTgxKy0wLjU1
NTMgICAgICAgID8gbWlnaHQgYmUgMS4wNjM5eCBzbG93ZXIKICAgaW50LW9yLW90aGVyLW1heC10
aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgNC41NjA2Ky0wLjI1OTUgICAgICAgICAg
ICA0LjUyMDArLTAuMzQ1OCAgICAgICAgCiAgIGludC1vci1vdGhlci1taW4tdGhlbi1nZXQtYnkt
dmFsICAgICAgICAgICAgICAgICAgIDQuMjcxOSstMC4xMDgzICAgICAgICAgICAgNC4yMDY1Ky0w
LjE0MTEgICAgICAgICAgbWlnaHQgYmUgMS4wMTU2eCBmYXN0ZXIKICAgaW50LW9yLW90aGVyLW1v
ZC10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgMy45Nzc3Ky0wLjE0ODUgICAgID8g
ICAgICA0LjAyMjMrLTAuMTA4MSAgICAgICAgPyBtaWdodCBiZSAxLjAxMTJ4IHNsb3dlcgogICBp
bnQtb3Itb3RoZXItbXVsLXRoZW4tZ2V0LWJ5LXZhbCAgICAgICAgICAgICAgICAgICA1Ljg4MzIr
LTAuMTAyNiAgICAgPyAgICAgIDYuMjQ3NistMC41ODAwICAgICAgICA/IG1pZ2h0IGJlIDEuMDYx
OXggc2xvd2VyCiAgIGludC1vci1vdGhlci1uZWctdGhlbi1nZXQtYnktdmFsICAgICAgICAgICAg
ICAgICAgMjEuMDE3NistMC45NjE5ICAgICAgICAgICAyMC45MDU4Ky0wLjg4MDUgICAgICAgIAog
ICBpbnQtb3Itb3RoZXItbmVnLXplcm8tdGhlbi1nZXQtYnktdmFsICAgICAgICAgICAgIDEzLjgw
MTQrLTEuNTM1NiAgICAgICAgICAgMTMuNzY5NystMC43Mzc2ICAgICAgICAKICAgaW50LW9yLW90
aGVyLXN1Yi10aGVuLWdldC1ieS12YWwgICAgICAgICAgICAgICAgICAgNS43NDA1Ky0wLjMwOTQg
ICAgICAgICAgICA1LjcwOTYrLTAuMTQ3NSAgICAgICAgCiAgIGludC1vci1vdGhlci1zdWIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuMjQ4MSstMC4yMjMzICAgICAgICAgICAg
NC4xMTYxKy0wLjExMTggICAgICAgICAgbWlnaHQgYmUgMS4wMzIxeCBmYXN0ZXIKICAgaW50LW92
ZXJmbG93LWxvY2FsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC4yOTcxKy0wLjE1
NDUgICAgID8gICAgICA0LjQ4NTArLTAuMjAzOSAgICAgICAgPyBtaWdodCBiZSAxLjA0Mzd4IHNs
b3dlcgogICBJbnQxNkFycmF5LWFsbG9jLWxvbmctbGl2ZWQgICAgICAgICAgICAgICAgICAgICAg
IDUwLjY0NTYrLTEuOTc5NiAgICAgPyAgICAgNTMuNzY3MistNS40NTU3ICAgICAgICA/IG1pZ2h0
IGJlIDEuMDYxNnggc2xvd2VyCiAgIEludDE2QXJyYXktYnViYmxlLXNvcnQtd2l0aC1ieXRlTGVu
Z3RoICAgICAgICAgICAgMTMuMzU5OSstMC43NjI4ICAgICAgICAgICAxMi44Njk3Ky0wLjIxMjkg
ICAgICAgICAgbWlnaHQgYmUgMS4wMzgxeCBmYXN0ZXIKICAgSW50MTZBcnJheS1idWJibGUtc29y
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMy42MTkwKy0wLjYxMjYgICAgICAgICAgIDEz
LjQxOTQrLTAuMzI5NiAgICAgICAgICBtaWdodCBiZSAxLjAxNDl4IGZhc3RlcgogICBJbnQxNkFy
cmF5LWxvYWQtaW50LW11bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjkwOTQrLTAuMDg3
MCAgICAgPyAgICAgIDIuMDc3MCstMC4yMjM2ICAgICAgICA/IG1pZ2h0IGJlIDEuMDg3OHggc2xv
d2VyCiAgIEludDE2QXJyYXktdG8tSW50MzJBcnJheS1zZXQgICAgICAgICAgICAgICAgICAgICAg
NDAuNzc5NystMi40OTE2ICAgICAgICAgICAzNy45NjM1Ky0wLjcxMDYgICAgICAgICAgbWlnaHQg
YmUgMS4wNzQyeCBmYXN0ZXIKICAgaW50MzItYXJyYXktdG8tc3RyaW5nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzMy41NzA5Ky0yLjE4NzAgICAgICAgICAgIDMzLjQ1MjMrLTIuNzE5MCAg
ICAgICAgCiAgIEludDMyQXJyYXktYWxsb2MtbGFyZ2UgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMTMuMTEzNistMC4yNzMwICAgICA/ICAgICAxMy4yMDg0Ky0wLjI0OTIgICAgICAgID8KICAg
SW50MzJBcnJheS1hbGxvYy1sb25nLWxpdmVkICAgICAgICAgICAgICAgICAgICAgICA1NS4wMzIx
Ky0xLjg2MTEgICAgICAgICAgIDU0LjY3NjMrLTEuNTMxNSAgICAgICAgCiAgIEludDMyQXJyYXkt
YWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOTU0MCstMC41NzE4ICAg
ICAgICAgICAgNC42OTc4Ky0wLjE1ODYgICAgICAgICAgbWlnaHQgYmUgMS4wNTQ1eCBmYXN0ZXIK
ICAgSW50MzJBcnJheS1JbnQ4QXJyYXktdmlldy1hbGxvYyAgICAgICAgICAgICAgICAgICAxMC40
MTIxKy0wLjMxMTIgICAgID8gICAgIDEwLjQ3NTgrLTAuNTQ1NiAgICAgICAgPwogICBpbnQ1Mi1i
YWNrLWFuZC1mb3J0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjA5NTArLTAuNDg4
NSAgICAgICAgICAgIDYuOTcxMCstMC4zMzcyICAgICAgICAgIG1pZ2h0IGJlIDEuMDE3OHggZmFz
dGVyCiAgIGludDUyLXNwaWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDUuMzI4NCstMC41NzI1ICAgICAgICAgICAgNS4wMzU4Ky0wLjIyMjMgICAgICAgICAgbWlnaHQg
YmUgMS4wNTgxeCBmYXN0ZXIKICAgSW50OEFycmF5LWFsbG9jLWxvbmctbGl2ZWQgICAgICAgICAg
ICAgICAgICAgICAgICA0Ni4xMTA5Ky0xLjg5NjkgICAgICAgICAgIDQ1LjkxMzkrLTIuMTUwNiAg
ICAgICAgCiAgIEludDhBcnJheS1sb2FkLXdpdGgtYnl0ZUxlbmd0aCAgICAgICAgICAgICAgICAg
ICAgIDMuNzQ3OSstMC4yMDY5ICAgICAgICAgICAgMy43MTEyKy0wLjE5MTkgICAgICAgIAogICBJ
bnQ4QXJyYXktbG9hZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjc4Mzcr
LTAuMTMwMiAgICAgICAgICAgIDMuNzc5OSstMC4xNzcxICAgICAgICAKICAgaW50ZWdlci1kaXZp
ZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS4yMjkzKy0wLjU2NjQgICAg
ICAgICAgICA5LjA4ODErLTAuMzAyMSAgICAgICAgICBtaWdodCBiZSAxLjAxNTV4IGZhc3Rlcgog
ICBpbnRlZ2VyLW1vZHVsbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjg5
MTIrLTAuMTg0OCAgICAgPyAgICAgIDMuMTE4MSstMC41NjQ0ICAgICAgICA/IG1pZ2h0IGJlIDEu
MDc4NXggc2xvd2VyCiAgIGlzLWFycmF5LWZvci1hcnJheSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDIuNjUwOSstMC4yODQ4ICAgICAgICAgICAgMi41NTg3Ky0wLjExNjMgICAgICAg
ICAgbWlnaHQgYmUgMS4wMzYweCBmYXN0ZXIKICAgaXMtYXJyYXktZm9yLW1peGVkLWNhc2UgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNC44NzM3Ky0wLjI5MDYgICAgICAgICAgICA0LjY3MjMr
LTAuMTM3OSAgICAgICAgICBtaWdodCBiZSAxLjA0MzF4IGZhc3RlcgogICBpcy1hcnJheS1mb3It
bm9uLWFycmF5LW9iamVjdCAgICAgICAgICAgICAgICAgICAgICAyLjE2ODkrLTAuMTI4MiAgICAg
PyAgICAgIDIuMzg1MistMC4xODg3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDk5N3ggc2xvd2VyCiAg
IGlzLWFycmF5LWZvci1wcm94eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNDg4
NystMC4xOTQwICAgICAgICAgICAgMy40MjQxKy0wLjE0OTggICAgICAgICAgbWlnaHQgYmUgMS4w
MTg5eCBmYXN0ZXIKICAgaXMtYm9vbGVhbi1mb2xkLXRyaWNreSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMy4wMDYzKy0wLjA0NzUgICAgID8gICAgICAzLjExMTErLTAuMjIzOCAgICAgICAg
PyBtaWdodCBiZSAxLjAzNDl4IHNsb3dlcgogICBpcy1ib29sZWFuLWZvbGQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAyLjMwMTIrLTAuMDM4NiAgICAgPyAgICAgIDIuMzk0OSst
MC4xNTkyICAgICAgICA/IG1pZ2h0IGJlIDEuMDQwN3ggc2xvd2VyCiAgIGlzLWZ1bmN0aW9uLWZv
bGQtdHJpY2t5LWludGVybmFsLWZ1bmN0aW9uICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMTc2NSstMC40MjQ1ICAgICAgICAgICAxMC4w
ODQxKy0wLjI1NzUgICAgICAgIAogICBpcy1mdW5jdGlvbi1mb2xkLXRyaWNreSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAzLjQwOTErLTAuNDI0NiAgICAgICAgICAgIDMuMzA5MCstMC4xOTMy
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMwM3ggZmFzdGVyCiAgIGlzLWZ1bmN0aW9uLWZvbGQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNDM4MCstMC4xMTM3ICAgICA/ICAgICAg
Mi41MTI3Ky0wLjIwMDEgICAgICAgID8gbWlnaHQgYmUgMS4wMzA3eCBzbG93ZXIKICAgaXMtbm90
LWNlbGwtc3BlY3VsYXRpb24tZm9yLWVtcHR5LXZhbHVlICAgICAgICAgICAxOS4xOTExKy0wLjQ4
MDQgICAgID8gICAgIDE5LjU5NDErLTAuOTQ4NyAgICAgICAgPyBtaWdodCBiZSAxLjAyMTB4IHNs
b3dlcgogICBpcy1udW1iZXItZm9sZC10cmlja3kgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAzLjMyODgrLTAuMzA4NyAgICAgICAgICAgIDMuMDYwOCstMC4wNDk3ICAgICAgICAgIG1pZ2h0
IGJlIDEuMDg3NnggZmFzdGVyCiAgIGlzLW51bWJlci1mb2xkICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIuMzA4OCstMC4wNDA0ICAgICA/ICAgICAgMi40MzQyKy0wLjEzMTQg
ICAgICAgID8gbWlnaHQgYmUgMS4wNTQzeCBzbG93ZXIKICAgaXMtb2JqZWN0LW9yLW51bGwtZm9s
ZC1mdW5jdGlvbnMgICAgICAgICAgICAgICAgICAgMi41ODYxKy0wLjE5NDEgICAgICAgICAgICAy
LjUzNTYrLTAuMjAwMyAgICAgICAgICBtaWdodCBiZSAxLjAxOTl4IGZhc3RlcgogICBpcy1vYmpl
Y3Qtb3ItbnVsbC1mb2xkLWxlc3MtdHJpY2t5ICAgICAgICAgICAgICAgICAzLjI1MDQrLTAuMTk4
NSAgICAgPyAgICAgIDMuMjk0NCstMC4xNTUxICAgICAgICA/IG1pZ2h0IGJlIDEuMDEzNnggc2xv
d2VyCiAgIGlzLW9iamVjdC1vci1udWxsLWZvbGQtdHJpY2t5ICAgICAgICAgICAgICAgICAgICAg
IDMuNjM4NistMC4yOTU1ICAgICA/ICAgICAgMy43Mzc4Ky0wLjUxMzggICAgICAgID8gbWlnaHQg
YmUgMS4wMjczeCBzbG93ZXIKICAgaXMtb2JqZWN0LW9yLW51bGwtZm9sZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMi41MjM1Ky0wLjMzODIgICAgICAgICAgICAyLjQzNjgrLTAuMTAyOCAg
ICAgICAgICBtaWdodCBiZSAxLjAzNTZ4IGZhc3RlcgogICBpcy1vYmplY3Qtb3ItbnVsbC10cmlj
a2llci1mdW5jdGlvbiAgICAgICAgICAgICAgICAzLjEyMDArLTAuMDU4NyAgICAgPyAgICAgIDMu
MjY1NCstMC4xNDExICAgICAgICA/IG1pZ2h0IGJlIDEuMDQ2Nnggc2xvd2VyCiAgIGlzLW9iamVj
dC1vci1udWxsLXRyaWNraWVyLWludGVybmFsLWZ1bmN0aW9uICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuNjM2OCstMC4yOTc2ICAgICA/
ICAgICAxMC4yNzg1Ky0xLjA1ODcgICAgICAgID8gbWlnaHQgYmUgMS4wNjY2eCBzbG93ZXIKICAg
aXMtb2JqZWN0LW9yLW51bGwtdHJpY2t5LWZ1bmN0aW9uICAgICAgICAgICAgICAgICAgMy4xODc2
Ky0wLjA1MzEgICAgID8gICAgICAzLjQ3MDArLTAuNDkxMCAgICAgICAgPyBtaWdodCBiZSAxLjA4
ODZ4IHNsb3dlcgogICBpcy1vYmplY3Qtb3ItbnVsbC10cmlja3ktaW50ZXJuYWwtZnVuY3Rpb24g
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ni44MTA0Ky0wLjE1OTggICAgID8gICAgICA2Ljg4MjkrLTAuMTQ3MCAgICAgICAgPyBtaWdodCBi
ZSAxLjAxMDZ4IHNsb3dlcgogICBpcy1zdHJpbmctZm9sZC10cmlja3kgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAzLjIwMDgrLTAuMTgyNyAgICAgICAgICAgIDMuMDk2MSstMC4xMjMyICAg
ICAgICAgIG1pZ2h0IGJlIDEuMDMzOHggZmFzdGVyCiAgIGlzLXN0cmluZy1mb2xkICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNDI2MCstMC4xNjQ0ICAgICA/ICAgICAgMi41
MTQ4Ky0wLjE5NjggICAgICAgID8gbWlnaHQgYmUgMS4wMzY2eCBzbG93ZXIKICAgaXMtc3ltYm9s
LW1peGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC40MTg5Ky0wLjE2MzMg
ICAgID8gICAgICA0LjYxMzIrLTAuMTU0OSAgICAgICAgPyBtaWdodCBiZSAxLjA0NDB4IHNsb3dl
cgogICBpcy1zeW1ib2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx
LjkwOTIrLTAuMTcwNCAgICAgICAgICAgIDEuODMyMSstMC4wODkxICAgICAgICAgIG1pZ2h0IGJl
IDEuMDQyMXggZmFzdGVyCiAgIGlzLXVuZGVmaW5lZC1mb2xkLXRyaWNreSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDIuODY1MSstMC4xNzEwICAgICAgICAgICAgMi43ODcxKy0wLjEwOTUgICAg
ICAgICAgbWlnaHQgYmUgMS4wMjgweCBmYXN0ZXIKICAgaXMtdW5kZWZpbmVkLWZvbGQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4zOTM2Ky0wLjA1NTkgICAgID8gICAgICAyLjQz
NTIrLTAuMjE1MiAgICAgICAgPyBtaWdodCBiZSAxLjAxNzR4IHNsb3dlcgogICBKU09OUC1uZWdh
dGl2ZS0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQxOTQrLTAuMDc5MCAg
ICAgICAgICAgIDAuMzY3OSstMC4wMTE3ICAgICAgICAgIG1pZ2h0IGJlIDEuMTQwMXggZmFzdGVy
CiAgIGxhcmdlLWludC1jYXB0dXJlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQu
NjM1OSstMC4yMjkzICAgICAgICAgICAgNC40NjE4Ky0wLjI3NzggICAgICAgICAgbWlnaHQgYmUg
MS4wMzkweCBmYXN0ZXIKICAgbGFyZ2UtaW50LW5lZyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxMS43MTA3Ky0wLjcxNjggICAgICAgICAgIDExLjI0NjIrLTAuNTYyMiAgICAg
ICAgICBtaWdodCBiZSAxLjA0MTN4IGZhc3RlcgogICBsYXJnZS1pbnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA2LjEzODIrLTAuMjcyOSAgICAgPyAgICAgIDYuNDM1
MSstMC44NDQxICAgICAgICA/IG1pZ2h0IGJlIDEuMDQ4NHggc2xvd2VyCiAgIGxhcmdlLW1hcC1p
dGVyYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjkuNDg2NystMC42Mjg5ICAg
ICA/ICAgICAyOS45NTc2Ky0wLjkzOTMgICAgICAgID8gbWlnaHQgYmUgMS4wMTYweCBzbG93ZXIK
ICAgbGF6eS1hcnJheS1zcGVjaWVzLXdhdGNocG9pbnRzICAgICAgICAgICAgICAgICAgICAyMS45
NjU3Ky0xLjAyNjEgICAgID8gICAgIDIyLjYzMTkrLTEuMTcxNCAgICAgICAgPyBtaWdodCBiZSAx
LjAzMDN4IHNsb3dlcgogICBsaWNtLWRyYWdvbnMtb3V0LW9mLWJvdW5kcyAgICAgICAgICAgICAg
ICAgICAgICAgIDMyLjUwOTErLTEuOTUzMSAgICAgICAgICAgMzEuMzMwMystMC42MTE4ICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDM3NnggZmFzdGVyCiAgIGxpY20tZHJhZ29ucy1vdmVyZmxvdyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMTguMjc3MSstMC41MTA1ICAgICA/ICAgICAxOC43Njc0
Ky0xLjY0MzggICAgICAgID8gbWlnaHQgYmUgMS4wMjY4eCBzbG93ZXIKICAgbGljbS1kcmFnb25z
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNi42MTk4Ky0xLjg0MDMgICAg
ICAgICAgIDM1Ljg0NTkrLTEuMTQxOCAgICAgICAgICBtaWdodCBiZSAxLjAyMTZ4IGZhc3Rlcgog
ICBsb2FkLXZhcmFyZ3MtZWxpbWluYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgIDExLjc0
NjErLTAuODM4NCAgICAgICAgICAgMTEuMTM0OCstMC4zMjEyICAgICAgICAgIG1pZ2h0IGJlIDEu
MDU0OXggZmFzdGVyCiAgIGxvY2FsZS1jb21wYXJlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMjAuOTkyNistMS4wMzgwICAgICAgICAgICAyMC43Njg3Ky0wLjQ4NTMgICAgICAg
ICAgbWlnaHQgYmUgMS4wMTA4eCBmYXN0ZXIKICAgbG9naWNhbC1ub3Qtd2VpcmQtdHlwZXMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMi44NDEzKy0wLjA2OTggICAgID8gICAgICAyLjg1MTEr
LTAuMDM5NyAgICAgICAgPwogICBsb2dpY2FsLW5vdCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA0LjE3OTgrLTAuMjI2MyAgICAgPyAgICAgIDQuMzM1MSstMC41ODAzICAg
ICAgICA/IG1pZ2h0IGJlIDEuMDM3MXggc2xvd2VyCiAgIGxvdHMtb2YtZmllbGRzICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMjc4OSstMC42ODMzICAgICAgICAgICAgOS45
ODAxKy0wLjI5NzIgICAgICAgICAgbWlnaHQgYmUgMS4wMjk5eCBmYXN0ZXIKICAgbWFrZS1pbmRl
eGVkLXN0b3JhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi45NjQ1Ky0wLjExNzAg
ICAgID8gICAgICAzLjI4NDYrLTAuNTQ2NyAgICAgICAgPyBtaWdodCBiZSAxLjEwODB4IHNsb3dl
cgogICBtYWtlLXJvcGUtY3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAy
Ljk1NDUrLTAuMTM4MSAgICAgPyAgICAgIDIuOTY5NSstMC4xNzQxICAgICAgICA/CiAgIG1hbnkt
Zm9yZWFjaC1jYWxscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMjY1MistMC4x
Nzg5ICAgICAgICAgICAgMi4yMTUxKy0wLjEyNTQgICAgICAgICAgbWlnaHQgYmUgMS4wMjI2eCBm
YXN0ZXIKICAgbWFueS1yZXBlYXQtc3RvcmVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxOS4xNjE0Ky0wLjQxMzUgICAgICAgICAgIDE4LjkzOTErLTAuNTI0NSAgICAgICAgICBtaWdo
dCBiZSAxLjAxMTd4IGZhc3RlcgogICBtYXAtY29uc3RhbnQta2V5ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTQ3LjQ3MTcrLTMuNjkxOSAgICAgPyAgICAxNDkuNDM2NCstMi44MTEx
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDEzM3ggc2xvd2VyCiAgIG1hcC1mb3ItZWFjaCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMDgyMCstMC4xMzI3ICAgICA/ICAgICAg
Mi4xNzM4Ky0wLjI0ODIgICAgICAgID8gbWlnaHQgYmUgMS4wNDQxeCBzbG93ZXIKICAgbWFwLWZv
ci1vZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC4yMDkyKy0wLjcx
NDMgICAgICAgICAgICA3LjkzMzIrLTAuMjkyMyAgICAgICAgICBtaWdodCBiZSAxLjAzNDh4IGZh
c3RlcgogICBtYXAtaGFzLWFuZC1zZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDkyLjQzNjkrLTQuMDU0MSAgICAgPyAgICAgOTIuOTc3MSstNS4xMjkyICAgICAgICA/CiAgIG1h
cC1oYXMtZ2V0LWNzZS1vcHBvcnR1bml0eSAgICAgICAgICAgICAgICAgICAgICAgNzguNDIzNSst
My40MTg0ICAgICAgICAgICA3Ny4wMjU2Ky0yLjU5ODcgICAgICAgICAgbWlnaHQgYmUgMS4wMTgx
eCBmYXN0ZXIKICAgbWFwLWtleS13ZWxsLXR5cGVkICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA3Ny4wMzE0Ky0yLjg1ODIgICAgID8gICAgIDgzLjY2NTQrLTYuMjg1MCAgICAgICAgPyBt
aWdodCBiZSAxLjA4NjF4IHNsb3dlcgogICBtYXAtcmVoYXNoICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA2LjU4NTYrLTAuMjQxNiAgICAgPyAgICAgIDYuNjg1OCstMC40
MTE4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDE1Mnggc2xvd2VyCiAgIG1hcnNhZ2xpYS1sYXJnZXIt
aW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjUuMDg0MistMS43OTAyICAgICAgICAg
ICA2NC4zMzU0Ky0yLjMyMjMgICAgICAgICAgbWlnaHQgYmUgMS4wMTE2eCBmYXN0ZXIKICAgbWFy
c2FnbGlhLW9zci1lbnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNi4yNzM2Ky0w
LjQwMzggICAgID8gICAgIDE3LjExOTkrLTEuMTcxMCAgICAgICAgPyBtaWdodCBiZSAxLjA1MjB4
IHNsb3dlcgogICBtYXRoLXJhbmRvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDE0LjA0NzgrLTAuNDg4MiAgICAgPyAgICAgMTQuNjA3MystMS4xMzEzICAgICAgICA/IG1p
Z2h0IGJlIDEuMDM5OHggc2xvd2VyCiAgIG1hdGgtdHJ1bmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDUuNzI1MistMC4wOTA4ICAgICA/ICAgICAgNS43NDY4Ky0wLjEw
NjggICAgICAgID8KICAgbWF0aC13aXRoLW91dC1vZi1ib3VuZHMtYXJyYXktdmFsdWVzICAgICAg
ICAgICAgICAzMS41MTMyKy0xLjA5NzkgICAgID8gICAgIDMyLjIxODgrLTEuNTUxMCAgICAgICAg
PyBtaWdodCBiZSAxLjAyMjR4IHNsb3dlcgogICBtYXgtYm9vbGVhbiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAyLjUwODArLTAuMTY5NiAgICAgPyAgICAgIDIuNTI1NSst
MC4xNTA1ICAgICAgICA/CiAgIG1lZ2Ftb3JwaGljLWxvYWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMjcuMzg1MystMS41MjY2ICAgICAgICAgICAyNS42Njk3Ky0xLjY2MjcgICAg
ICAgICAgbWlnaHQgYmUgMS4wNjY4eCBmYXN0ZXIKICAgbWV0aG9kLW9uLW51bWJlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxNC42NTQ3Ky0wLjI2NjggICAgID8gICAgIDE0Ljkz
MzcrLTAuNjUxMiAgICAgICAgPyBtaWdodCBiZSAxLjAxOTB4IHNsb3dlcgogICBtaW4tYm9vbGVh
biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjQxNzIrLTAuMDc0MyAg
ICAgPyAgICAgIDIuNDYwNSstMC4xMTkxICAgICAgICA/IG1pZ2h0IGJlIDEuMDE3OXggc2xvd2Vy
CiAgIG1pbnVzLWJvb2xlYW4tZG91YmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIu
NTc4NystMC4xOTc0ICAgICAgICAgICAgMi40MTYxKy0wLjA1ODUgICAgICAgICAgbWlnaHQgYmUg
MS4wNjczeCBmYXN0ZXIKICAgbWludXMtYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMi4yNTg1Ky0wLjA2OTAgICAgID8gICAgICAyLjQxNzYrLTAuMjQzMyAgICAg
ICAgPyBtaWdodCBiZSAxLjA3MDR4IHNsb3dlcgogICBtaXNjLXN0cmljdC1lcSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDIzLjc5MzMrLTEuMzM2MyAgICAgICAgICAgMjMuNjc2
NSstMC40MDM1ICAgICAgICAKICAgbW9kLWJvb2xlYW4tZG91YmxlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgNC43MDI1Ky0wLjUyOTUgICAgICAgICAgICA0LjQ3NDQrLTAuMTExOSAg
ICAgICAgICBtaWdodCBiZSAxLjA1MTB4IGZhc3RlcgogICBtb2QtYm9vbGVhbiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2Ljg5NDErLTAuMDU0NiAgICAgPyAgICAgIDYu
OTY1NistMC4wNTg1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDEwNHggc2xvd2VyCiAgIG11bC1ib29s
ZWFuLWRvdWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOTE0MystMC4xNTEy
ICAgICAgICAgICAgMi44MjY3Ky0wLjA4NzQgICAgICAgICAgbWlnaHQgYmUgMS4wMzEweCBmYXN0
ZXIKICAgbXVsLWJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Mi40MzE4Ky0wLjA4MjAgICAgICAgICAgICAyLjM3ODMrLTAuMDQxNSAgICAgICAgICBtaWdodCBi
ZSAxLjAyMjV4IGZhc3RlcgogICBuZWctYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAyLjUyMzkrLTAuMDczMyAgICAgPyAgICAgIDIuNTQwMCstMC4wOTcxICAg
ICAgICA/CiAgIG5lZ2F0aXZlLXplcm8tZGl2aWRlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAuNDY2OSstMC4wMjg4ICAgICA/ICAgICAgMC40NzA3Ky0wLjA1NTQgICAgICAgID8KICAg
bmVnYXRpdmUtemVyby1tb2R1bG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41NDI5
Ky0wLjEyMDkgICAgICAgICAgICAwLjU0MTcrLTAuMTAyNSAgICAgICAgCiAgIG5lZ2F0aXZlLXpl
cm8tbmVnYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNDg0NistMC4wOTM1ICAg
ICAgICAgICAgMC40NDc3Ky0wLjAxOTUgICAgICAgICAgbWlnaHQgYmUgMS4wODI1eCBmYXN0ZXIK
ICAgbmVzdGVkLWZ1bmN0aW9uLXBhcnNpbmcgICAgICAgICAgICAgICAgICAgICAgICAgIDE0NC4z
OTkyKy03LjQ5MzYgICAgID8gICAgMTQ5LjQzMzgrLTguOTkzMSAgICAgICAgPyBtaWdodCBiZSAx
LjAzNDl4IHNsb3dlcgogICBuZXctYXJyYXktYnVmZmVyLWRlYWQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDczLjI3MzYrLTEuNDkxOSAgICAgPyAgICAgNzMuNzk0NCstMi40OTQ0ICAgICAg
ICA/CiAgIG5ldy1hcnJheS1idWZmZXItcHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDYuMDc0NSstMC4yNzQ4ICAgICAgICAgICAgNS45MzQ1Ky0wLjM0MDQgICAgICAgICAgbWlnaHQg
YmUgMS4wMjM2eCBmYXN0ZXIKICAgbmV3LWFycmF5LWJ1ZmZlci12ZWN0b3ItcHJvZmlsZSAgICAg
ICAgICAgICAgICAgICAyMC44NTUwKy0wLjYzNjIgICAgICAgICAgIDIwLjMzNjcrLTAuNDI5OCAg
ICAgICAgICBtaWdodCBiZSAxLjAyNTV4IGZhc3RlcgogICBuZXctYXJyYXktZGVhZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjYxNTErLTAuMzM5OCAgICAgPyAgICAgIDcu
NzQyNystMC4zNTAzICAgICAgICA/IG1pZ2h0IGJlIDEuMDE2OHggc2xvd2VyCiAgIG5ldy1hcnJh
eS1wdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNDQ1MystMC4xMTU4
ICAgICA/ICAgICAgMy41NTg1Ky0wLjE3NDUgICAgICAgID8gbWlnaHQgYmUgMS4wMzI5eCBzbG93
ZXIKICAgbmV3LWVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAz
NC43MjUyKy0xLjY5NDIgICAgICAgICAgIDM0LjA5NzgrLTIuNDQ2OCAgICAgICAgICBtaWdodCBi
ZSAxLjAxODR4IGZhc3RlcgogICBuby1pbmxpbmUtY29uc3RydWN0b3IgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDIyLjI1MDkrLTAuNjkwMSAgICAgPyAgICAgMjIuMjk0NSstMC42MzkyICAg
ICAgICA/CiAgIE51bWJlci1pc05hTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMTEuOTcyNCstMC40Njk4ICAgICAgICAgICAxMS44ODE2Ky0wLjMyMjkgICAgICAgIAogICBu
dW1iZXItdGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjIxNDkr
LTAuMTMzNyAgICAgPyAgICAgIDMuMzQzMSstMC4zODEwICAgICAgICA/IG1pZ2h0IGJlIDEuMDM5
OXggc2xvd2VyCiAgIG51bWJlci10by1zdHJpbmctc3RyZW5ndGgtcmVkdWN0aW9uICAgICAgICAg
ICAgICAgIDUuMDEyNistMC4yMDE1ICAgICAgICAgICAgNC45NTk2Ky0wLjEwMzYgICAgICAgICAg
bWlnaHQgYmUgMS4wMTA3eCBmYXN0ZXIKICAgbnVtYmVyLXRvLXN0cmluZy13aXRoLWFkZC1lbXB0
eSAgICAgICAgICAgICAgICAgICAgOC4yNzkyKy0wLjc4MDQgICAgICAgICAgICA3Ljk0NDgrLTAu
MjY1NSAgICAgICAgICBtaWdodCBiZSAxLjA0MjF4IGZhc3RlcgogICBudW1iZXItdG8tc3RyaW5n
LXdpdGgtYWRkLWluLWxvb3AgICAgICAgICAgICAgICAgICA4LjgyNTIrLTAuMTcxNCAgICAgPyAg
ICAgIDkuMDkyMCstMC4yNjkwICAgICAgICA/IG1pZ2h0IGJlIDEuMDMwMnggc2xvd2VyCiAgIG51
bWJlci10by1zdHJpbmctd2l0aC1hZGQgICAgICAgICAgICAgICAgICAgICAgICAgIDguNzE1MSst
MC4xODI0ICAgICA/ICAgICAgOC45NjE3Ky0wLjM0NTkgICAgICAgID8gbWlnaHQgYmUgMS4wMjgz
eCBzbG93ZXIKICAgbnVtYmVyLXRvLXN0cmluZy13aXRoLXJhZGl4LTEwICAgICAgICAgICAgICAg
ICAgICAgMS4zNTM3Ky0wLjAzNTkgICAgID8gICAgICAxLjM5NjgrLTAuMDUzNCAgICAgICAgPyBt
aWdodCBiZSAxLjAzMTh4IHNsb3dlcgogICBudW1iZXItdG8tc3RyaW5nLXdpdGgtcmFkaXgtY3Nl
ICAgICAgICAgICAgICAgICAgICA1LjE3NjkrLTAuMTk3OSAgICAgICAgICAgIDUuMTY0OCstMC4y
NDMzICAgICAgICAKICAgbnVtYmVyLXRvLXN0cmluZy13aXRoLXJhZGl4ICAgICAgICAgICAgICAg
ICAgICAgICAxMS44MDc1Ky0wLjU5MjcgICAgID8gICAgIDEyLjUzNDkrLTIuNTYzMCAgICAgICAg
PyBtaWdodCBiZSAxLjA2MTZ4IHNsb3dlcgogICBvYmplY3QtYW5kICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA0Ljk0MTIrLTAuMTE0NiAgICAgPyAgICAgIDUuMTU3NSst
MC40NDg1ICAgICAgICA/IG1pZ2h0IGJlIDEuMDQzOHggc2xvd2VyCiAgIG9iamVjdC1jbG9zdXJl
LWNhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuMjU2MystMC4yMjg0ICAgICA/
ICAgICAgNS4yNjE0Ky0wLjIzMjEgICAgICAgID8KICAgb2JqZWN0LWVudHJpZXMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA4Ny42MjQyKy0yLjYyODMgICAgID8gICAgIDg4LjU1
OTYrLTEuNzE4OSAgICAgICAgPyBtaWdodCBiZSAxLjAxMDd4IHNsb3dlcgogICBvYmplY3QtZ2V0
LW93bi1wcm9wZXJ0eS1zeW1ib2xzLW9uLWxhcmdlLWFycmF5ICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMzYwNistMC4yMTQ2ICAgICAg
ICAgICAgMS4xNzkwKy0wLjA0NjcgICAgICAgICAgbWlnaHQgYmUgMS4xNTQxeCBmYXN0ZXIKICAg
b2JqZWN0LWdldC1vd24tcHJvcGVydHktc3ltYm9scyAgICAgICAgICAgICAgICAgICAyMS41NDMz
Ky0xLjgyMTAgICAgID8gICAgIDIxLjYwNjUrLTEuNjE0OSAgICAgICAgPwogICBvYmplY3QtaW50
LWFkZC1hcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzLjIxODIrLTAuMjEzMyAg
ICAgPyAgICAgMTMuMjU3NCstMC4zMzQ4ICAgICAgICA/CiAgIG9iamVjdC1pbnQtYWRkICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIuODU4MystMC40MjM2ICAgICAgICAgICAx
Mi44MjMwKy0wLjM5NzIgICAgICAgIAogICBvYmplY3QtaW50LWFuZC1hcnJheSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEzLjY1NDIrLTAuOTAzNyAgICAgPyAgICAgMTQuMTI3NystMS41
NTM2ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM0N3ggc2xvd2VyCiAgIG9iamVjdC1pbnQtbXVsLWFy
cmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMuNTIxMSstMC45MjY0ICAgICAgICAg
ICAxMy4yNTU2Ky0wLjM0MTMgICAgICAgICAgbWlnaHQgYmUgMS4wMjAweCBmYXN0ZXIKICAgb2Jq
ZWN0LWludC1zdWItYXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMi4wMjMzKy0w
LjMwMTcgICAgID8gICAgIDEyLjI0MTIrLTAuMzAzMiAgICAgICAgPyBtaWdodCBiZSAxLjAxODF4
IHNsb3dlcgogICBvYmplY3QtaW50LXN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEzLjAwNzYrLTAuMzkzNiAgICAgICAgICAgMTIuNzk0NystMC4xMjkzICAgICAgICAgIG1p
Z2h0IGJlIDEuMDE2NnggZmFzdGVyCiAgIG9iamVjdC1pdGVyYXRlLXN5bWJvbHMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDMuMTU2MystMC4xMTgyICAgICA/ICAgICAgMy4yNTU1Ky0wLjE0
NDYgICAgICAgID8gbWlnaHQgYmUgMS4wMzE0eCBzbG93ZXIKICAgb2JqZWN0LWl0ZXJhdGUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi45NjAzKy0wLjEzNjAgICAgID8gICAg
ICAyLjk5NDcrLTAuMTYwOSAgICAgICAgPyBtaWdodCBiZSAxLjAxMTZ4IHNsb3dlcgogICBvYmpl
Y3Qta2V5cy1tYXAtdmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LjczNzkrLTIu
MDI0NyAgICAgPyAgICAgNDQuODQ5NistMi4yOTg1ICAgICAgICA/CiAgIG9iamVjdC1rZXlzICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEuNzU2MistMS4zMzYyICAgICA/
ICAgICAyMS45NTA3Ky0xLjMxODQgICAgICAgID8KICAgb2JqZWN0LWxzaGlmdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgNC45NjQ2Ky0wLjE0MjAgICAgID8gICAgICA0Ljk4
NTkrLTAuMTM2MSAgICAgICAgPwogICBvYmplY3Qtb3IgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0Ljk2MzgrLTAuMTI2NCAgICAgPyAgICAgIDUuMTE1NistMC4yNTcw
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDMwNnggc2xvd2VyCiAgIG9iamVjdC1yc2hpZnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOTQxOCstMC4wNDgyICAgICA/ICAgICAg
NS4wNDE3Ky0wLjI1MzkgICAgICAgID8gbWlnaHQgYmUgMS4wMjAyeCBzbG93ZXIKICAgb2JqZWN0
LXRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi44MTI1Ky0wLjEy
NzkgICAgID8gICAgICAyLjk0ODYrLTAuMTY4NCAgICAgICAgPyBtaWdodCBiZSAxLjA0ODR4IHNs
b3dlcgogICBvYmplY3QtdXJzaGlmdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA0Ljk2NjkrLTAuMDg0MiAgICAgPyAgICAgIDUuMDAzMCstMC4xMjc2ICAgICAgICA/CiAgIG9i
amVjdC12YWx1ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUuMDQ3NSst
MS4yNTg0ICAgICAgICAgICAzNC43NDk1Ky0xLjY4NjIgICAgICAgIAogICBvYmplY3QteG9yICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Ljk5NDIrLTAuMTE0NiAgICAg
PyAgICAgIDUuMTIzNistMC4yNjk4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI1OXggc2xvd2VyCiAg
IG9idmlvdXMtc2luay1wYXRob2xvZ3ktdGFrZW4gICAgICAgICAgICAgICAgICAgICAgODEuMDk4
MSstMy4xODQ3ICAgICA/ICAgICA4MS40MDMwKy00LjY4ODAgICAgICAgID8KICAgb2J2aW91cy1z
aW5rLXBhdGhvbG9neSAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNi41OTc0Ky0wLjQyNTgg
ICAgICAgICAgIDE2LjQ2NjMrLTAuNjA5NSAgICAgICAgCiAgIG9idmlvdXNseS1lbGlkYWJsZS1u
ZXctb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgMTQuMjQ1NSstMC40NzM1ICAgICA/ICAgICAx
NC4zNzA0Ky0wLjgwNTYgICAgICAgID8KICAgcGx1cy1ib29sZWFuLWFyaXRoICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMi41MDIwKy0wLjIzNjUgICAgICAgICAgICAyLjM1NjcrLTAu
MDk1OCAgICAgICAgICBtaWdodCBiZSAxLjA2MTd4IGZhc3RlcgogICBwbHVzLWJvb2xlYW4tZG91
YmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyOTUrLTAuMTIxMiAgICAgPyAg
ICAgIDIuNTQyMCstMC4xODg2ICAgICAgICA/CiAgIHBsdXMtYm9vbGVhbiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDIuMjYxNystMC4yMjExICAgICA/ICAgICAgMi4zMTIw
Ky0wLjE5MTUgICAgICAgID8gbWlnaHQgYmUgMS4wMjIyeCBzbG93ZXIKICAgcG9seS1jaGFpbi1h
Y2Nlc3MtZGlmZmVyZW50LXByb3RvdHlwZXMtc2ltcGxlICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNjMyOSstMC4wOTg3ICAgICA/ICAg
ICAgMi43NzE0Ky0wLjIyMDMgICAgICAgID8gbWlnaHQgYmUgMS4wNTI2eCBzbG93ZXIKICAgcG9s
eS1jaGFpbi1hY2Nlc3MtZGlmZmVyZW50LXByb3RvdHlwZXMgICAgICAgICAgICAgNS43NDIzKy0w
LjIyNjYgICAgICAgICAgICA1LjY0ODUrLTAuMTkzMyAgICAgICAgICBtaWdodCBiZSAxLjAxNjZ4
IGZhc3RlcgogICBwb2x5LWNoYWluLWFjY2Vzcy1zaW1wbGVyICAgICAgICAgICAgICAgICAgICAg
ICAgICAyLjc0MTMrLTAuMzkyMSAgICAgICAgICAgIDIuNjY1NistMC4xNjc1ICAgICAgICAgIG1p
Z2h0IGJlIDEuMDI4NHggZmFzdGVyCiAgIHBvbHktY2hhaW4tYWNjZXNzICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDUuOTEyMSstMC4zODM4ICAgICAgICAgICAgNS41MzEyKy0wLjE1
OTUgICAgICAgICAgbWlnaHQgYmUgMS4wNjg5eCBmYXN0ZXIKICAgcG9seS1wcm90by1hY2Nlc3Mg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1OC41NDM4Ky0zLjA2MTkgICAgICAgICAg
IDU4LjI4ODgrLTIuMDI2OSAgICAgICAgCiAgIHBvbHktcHJvdG8tYW5kLW5vbi1wb2x5LXByb3Rv
LXNhbWUtaWMgICAgICAgICAgICAgMjYuNjAzNCstMC45MDU3ICAgICAgICAgICAyNi40MzMxKy0x
LjM4NTggICAgICAgIAogICBwb2x5LXByb3RvLWNsZWFyLWpzLWZ1bmN0aW9uLWFsbG9jYXRpb24t
cHJvZmlsZSAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDE4LjUwNzUrLTAuNzM4NyAgICAgICAgICAgMTguMjQyMSstMC42Njg2ICAgICAgICAg
IG1pZ2h0IGJlIDEuMDE0NXggZmFzdGVyCiAgIHBvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3Bl
ZWQgICAgICAgICAgICAgICAgICAxNjQuMjM5MystNC4yODY1ICAgICA/ICAgIDE3MC41MTI0Ky02
LjkxODcgICAgICAgID8gbWlnaHQgYmUgMS4wMzgyeCBzbG93ZXIKICAgcG9seS1wcm90by1zZXR0
ZXItc3BlZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4wODUxKy0wLjE1NjEgICAgID8g
ICAgICA1LjE2NjcrLTAuMTkwOCAgICAgICAgPyBtaWdodCBiZSAxLjAxNjB4IHNsb3dlcgogICBw
b2x5LXN0cmljdGVxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwLjQwMjYr
LTEuNjcwMyAgICAgICAgICAgNDkuNTM0OSstMi45NDc1ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE3
NXggZmFzdGVyCiAgIHBvbHltb3JwaGljLWFycmF5LWNhbGwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDEuNzMzNCstMC4xNzk4ICAgICAgICAgICAgMS42ODA3Ky0wLjIzNjggICAgICAgICAg
bWlnaHQgYmUgMS4wMzE0eCBmYXN0ZXIKICAgcG9seW1vcnBoaWMtZ2V0LWJ5LWlkICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMi4xODY2Ky0wLjA3NzQgICAgID8gICAgICAyLjI0NDQrLTAu
MTMzNyAgICAgICAgPyBtaWdodCBiZSAxLjAyNjR4IHNsb3dlcgogICBwb2x5bW9ycGhpYy1wdXQt
YnktaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI2LjA0NzcrLTIuMTA2NCAgICAgICAg
ICAgMjUuMTM0MystMS41MDcwICAgICAgICAgIG1pZ2h0IGJlIDEuMDM2M3ggZmFzdGVyCiAgIHBv
bHltb3JwaGljLXB1dC1ieS12YWwtd2l0aC1zdHJpbmcgICAgICAgICAgICAgICAgMjQuMzExNCst
MS4xNDE4ICAgICAgICAgICAyMy45Njk5Ky0wLjM3MzYgICAgICAgICAgbWlnaHQgYmUgMS4wMTQy
eCBmYXN0ZXIKICAgcG9seW1vcnBoaWMtcHV0LWJ5LXZhbC13aXRoLXN5bWJvbCAgICAgICAgICAg
ICAgICAyNS45Njg1Ky0yLjE5NzcgICAgICAgICAgIDI1LjE0NTMrLTEuMTI1NCAgICAgICAgICBt
aWdodCBiZSAxLjAzMjd4IGZhc3RlcgogICBwb2x5bW9ycGhpYy1zdHJ1Y3R1cmUgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEyLjIzMjUrLTAuMzEzNyAgICAgPyAgICAgMTIuNTIyMistMC40
NzE0ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzN3ggc2xvd2VyCiAgIHBvbHl2YXJpYW50LW1vbm9t
b3JwaGljLWdldC1ieS1pZCAgICAgICAgICAgICAgICAgIDMuNjE0NystMC4wNjQ2ICAgICA/ICAg
ICAgMy44OTM5Ky0wLjMxMDcgICAgICAgID8gbWlnaHQgYmUgMS4wNzcyeCBzbG93ZXIKICAgcHJl
dmVudC1leHRlbnNpb25zLWFuZC1kby13b3JrICAgICAgICAgICAgICAgICAgICAxMi42NzMzKy0w
LjM0NjYgICAgICAgICAgIDEyLjU4NDQrLTAuMTU5NyAgICAgICAgCiAgIHByb3RvLWdldHRlci1h
Y2Nlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuOTY3MistMC41MDQ5ICAgICAg
ICAgICAxMC43NjQ5Ky0wLjA5MzkgICAgICAgICAgbWlnaHQgYmUgMS4wMTg4eCBmYXN0ZXIKICAg
cHJvdG90eXBlLWFjY2Vzcy13aXRoLW11dGF0aW5nLXByb3RvdHlwZSAgICAgICAgICAgNS43Mjg5
Ky0yLjM4NDUgICAgICAgICAgICA0LjY3OTgrLTAuMTcyOCAgICAgICAgICBtaWdodCBiZSAxLjIy
NDJ4IGZhc3RlcgogICBwdXQtYnktaWQtcmVwbGFjZS1hbmQtdHJhbnNpdGlvbiAgICAgICAgICAg
ICAgICAgIDEwLjA1MjcrLTAuMjc3NCAgICAgPyAgICAgMTAuMzgwOSstMC45NTcyICAgICAgICA/
IG1pZ2h0IGJlIDEuMDMyNnggc2xvd2VyCiAgIHB1dC1ieS1pZC1zbGlnaHRseS1wb2x5bW9ycGhp
YyAgICAgICAgICAgICAgICAgICAgIDIuNTEzOSstMC4xMDk2ICAgICA/ICAgICAgMi41NTMwKy0w
LjE5OTggICAgICAgID8gbWlnaHQgYmUgMS4wMTU2eCBzbG93ZXIKICAgcHV0LWJ5LWlkLXRyYW5z
aXRpb24td2l0aC1pbmRleGluZy1oZWFkZXIgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAxMy4xMzQ4Ky0wLjQyODAgICAgICAgICAgIDEyLjcx
MjUrLTAuMTcxOSAgICAgICAgICBtaWdodCBiZSAxLjAzMzJ4IGZhc3RlcgogICBwdXQtYnktaWQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjkxNDArLTAuMjkyNiAg
ICAgPyAgICAgMTAuOTY0NystMC4zNTEzICAgICAgICA/CiAgIHB1dC1ieS12YWwtZGlyZWN0ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTQwMCstMC4xMjY3ICAgICAgICAgICAg
MC40OTA1Ky0wLjAyNTcgICAgICAgICAgbWlnaHQgYmUgMS4xMDEweCBmYXN0ZXIKICAgcHV0LWJ5
LXZhbC1sYXJnZS1pbmRleC1ibGFuay1pbmRleGluZy10eXBlICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcuMDU3NSstMC4xODU1ICAgICA/
ICAgICAgNy4xOTkzKy0wLjE4ODUgICAgICAgID8gbWlnaHQgYmUgMS4wMjAxeCBzbG93ZXIKICAg
cHV0LWJ5LXZhbC1tYWNoaW5lLWludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy43MTMy
Ky0wLjA2NzAgICAgID8gICAgICAzLjc0ODQrLTAuMTg5NyAgICAgICAgPwogICBwdXQtYnktdmFs
LXdpdGgtc3RyaW5nLXJlcGxhY2UtYW5kLXRyYW5zaXRpb24gICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS43Njc1Ky0wLjI2MTMgICAgID8g
ICAgICA5Ljg0MzQrLTAuMjk4NyAgICAgICAgPwogICBwdXQtYnktdmFsLXdpdGgtc3RyaW5nLXNs
aWdodGx5LXBvbHltb3JwaGljICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDMuMTAzMCstMC4yNDMyICAgICAgICAgICAgMy4wMjE3Ky0wLjEx
MTIgICAgICAgICAgbWlnaHQgYmUgMS4wMjY5eCBmYXN0ZXIKICAgcHV0LWJ5LXZhbC13aXRoLXN0
cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS4xMjE0Ky0wLjI4NTMgICAgID8gICAg
IDExLjIwMDIrLTAuMzg4NyAgICAgICAgPwogICBwdXQtYnktdmFsLXdpdGgtc3ltYm9sLXJlcGxh
Y2UtYW5kLXRyYW5zaXRpb24gICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOS42NDg2Ky0wLjI4MzMgICAgICAgICAgICA5LjYzODErLTAuMjQy
MCAgICAgICAgCiAgIHB1dC1ieS12YWwtd2l0aC1zeW1ib2wtc2xpZ2h0bHktcG9seW1vcnBoaWMg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Mi44MjczKy0wLjA1ODggICAgICAgICAgICAyLjgwNjMrLTAuMDQzNSAgICAgICAgCiAgIHB1dC1i
eS12YWwtd2l0aC1zeW1ib2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuNDc1NistMC41
Mjk1ICAgICA/ICAgICAxMS41NTI2Ky0wLjcwMzMgICAgICAgID8KICAgcmFyZS1vc3ItZXhpdC1v
bi1sb2NhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS43ODY3Ky0wLjY2OTggICAgICAg
ICAgIDExLjQwNjkrLTAuNzYxOCAgICAgICAgICBtaWdodCBiZSAxLjAzMzN4IGZhc3RlcgogICBy
YXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaCAgICAgICAgICAgICAgICAgICAgICA0Ljc4MTgr
LTAuMTY2NiAgICAgICAgICAgIDQuNzQ3NSstMC4xMDY3ICAgICAgICAKICAgcmF5dHJhY2Utd2l0
aC10cnktY2F0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgNi44NTM0Ky0wLjQ3MTkgICAg
ICAgICAgICA2LjY5ODErLTAuMTQyMyAgICAgICAgICBtaWdodCBiZSAxLjAyMzJ4IGZhc3Rlcgog
ICByZWdleHAtZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1LjIw
MzErLTEuNTIyNCAgICAgPyAgICAgNDUuOTc3NistMi45MjkyICAgICAgICA/IG1pZ2h0IGJlIDEu
MDE3MXggc2xvd2VyCiAgIHJlZ2V4cC1sYXN0LWluZGV4ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTAuOTgzMSstMC4zMDYzICAgICA/ICAgICAxMS40OTQxKy0wLjk5NjYgICAgICAg
ID8gbWlnaHQgYmUgMS4wNDY1eCBzbG93ZXIKICAgcmVnZXhwLW5lc3RlZC1ub256ZXJvLW1pbi1j
b3VudGVkLXBhcmVucyAgICAgICAgICAgMC40NDAzKy0wLjAyMDQgICAgID8gICAgICAwLjUwMDEr
LTAuMDk2MyAgICAgICAgPyBtaWdodCBiZSAxLjEzNTl4IHNsb3dlcgogICByZWdleHAtcHJvdG90
eXBlLWlzLW5vdC1pbnN0YW5jZSAgICAgICAgICAgICAgICAgICAwLjU2MjMrLTAuMDU0MiAgICAg
PyAgICAgIDAuNjQwOSstMC4xMTE2ICAgICAgICA/IG1pZ2h0IGJlIDEuMTM5N3ggc2xvd2VyCiAg
IHJlZ2V4cC1wcm90b3R5cGUtc2VhcmNoLW9ic2VydmFibGUtc2lkZS1lZmZlY3RzICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzM3Nyst
MC4wMzM4ICAgICAgICAgICAgMC43MTUwKy0wLjAzMTUgICAgICAgICAgbWlnaHQgYmUgMS4wMzE5
eCBmYXN0ZXIKICAgcmVnZXhwLXByb3RvdHlwZS1zZWFyY2gtb2JzZXJ2YWJsZS1zaWRlLWVmZmVj
dHMyICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAuNDQ5OSstMC4wMzE2ICAgICA/ICAgICAgMC41NjQ1Ky0wLjI3NTIgICAgICAgID8gbWln
aHQgYmUgMS4yNTQ5eCBzbG93ZXIKICAgcmVnZXhwLXByb3RvdHlwZS1zcGxpdC1vYnNlcnZhYmxl
LXNpZGUtZWZmZWN0cyAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAxLjIxNjErLTAuMTA0MiAgICAgPyAgICAgIDEuMjYyMystMC4xNzgxICAg
ICAgICA/IG1pZ2h0IGJlIDEuMDM4MHggc2xvd2VyCiAgIHJlZ2V4cC1wcm90b3R5cGUtc3BsaXQt
b2JzZXJ2YWJsZS1zaWRlLWVmZmVjdHMyICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTM0NistMC4wODc3ICAgICA/ICAgICAgMC41NzUx
Ky0wLjEyOTkgICAgICAgID8gbWlnaHQgYmUgMS4wNzU3eCBzbG93ZXIKICAgcmVnZXhwLXByb3Rv
dHlwZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czMtZmxhZ3MgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41Mzg4Ky0wLjA4MDcg
ICAgICAgICAgICAwLjQ4NjErLTAuMDQzNCAgICAgICAgICBtaWdodCBiZSAxLjEwODR4IGZhc3Rl
cgogICByZWdleHAtcHJvdG90eXBlLXNwbGl0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzMy1nbG9i
YWwgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMC41MjYxKy0wLjEyMTMgICAgICAgICAgICAwLjQ3MTMrLTAuMDI0OCAgICAgICAgICBtaWdo
dCBiZSAxLjExNjJ4IGZhc3RlcgogICByZWdleHAtcHJvdG90eXBlLXNwbGl0LW9ic2VydmFibGUt
c2lkZS1lZmZlY3RzMy1pZ25vcmVDYXNlICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAuNDc5NystMC4wMTQ3ICAgICAgICAgICAgMC40Njg4
Ky0wLjAxNTQgICAgICAgICAgbWlnaHQgYmUgMS4wMjMyeCBmYXN0ZXIKICAgcmVnZXhwLXByb3Rv
dHlwZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czMtbXVsdGlsaW5lICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTUyNSstMC4w
OTQwICAgICA/ICAgICAgMC41NTU0Ky0wLjA4MTUgICAgICAgID8KICAgcmVnZXhwLXByb3RvdHlw
ZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czMtc3RpY2t5ICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNDk5NSstMC4wNDAyICAg
ICAgICAgICAgMC40NzE2Ky0wLjAxMzggICAgICAgICAgbWlnaHQgYmUgMS4wNTkyeCBmYXN0ZXIK
ICAgcmVnZXhwLXByb3RvdHlwZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czMtdW5pY29k
ZSAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwLjQ4MDYrLTAuMDI2MiAgICAgPyAgICAgIDAuNTM2OSstMC4xMTYyICAgICAgICA/IG1pZ2h0
IGJlIDEuMTE3MXggc2xvd2VyCiAgIHJlZ2V4cC1wcm90b3R5cGUtc3BsaXQtb2JzZXJ2YWJsZS1z
aWRlLWVmZmVjdHM0ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDAuNTA1NSstMC4wMjMwICAgICA/ICAgICAgMC42NjY5Ky0wLjE5MjggICAg
ICAgID8gbWlnaHQgYmUgMS4zMTkyeCBzbG93ZXIKICAgcmVnZXhwLXByb3RvdHlwZS10ZXN0LW9i
c2VydmFibGUtc2lkZS1lZmZlY3RzICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAuNzkwMSstMC4xODYyICAgICAgICAgICAgMC43MjkxKy0w
LjA1MDIgICAgICAgICAgbWlnaHQgYmUgMS4wODM2eCBmYXN0ZXIKICAgcmVnZXhwLXByb3RvdHlw
ZS10ZXN0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzMiAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQ1NTErLTAuMDE4NiAgICAgICAgICAg
IDAuNDQ4OSstMC4wMTU3ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzOHggZmFzdGVyCiAgIHJlZ2V4
cC1zZXQtbGFzdC1pbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuNDY3MystMC4z
MzAyICAgICA/ICAgICAxMS4zMzE4Ky0xLjIzMjYgICAgICAgID8gbWlnaHQgYmUgMS4wODI2eCBz
bG93ZXIKICAgcmVnaXN0ZXItcHJlc3N1cmUtZnJvbS1vc3IgICAgICAgICAgICAgICAgICAgICAg
ICAxMy41NTM1Ky0wLjExNjIgICAgID8gICAgIDEzLjg5MTErLTAuMjMxNSAgICAgICAgPyBtaWdo
dCBiZSAxLjAyNDl4IHNsb3dlcgogICByZXBlYXQtbXVsdGktZ2V0LWJ5LW9mZnNldCAgICAgICAg
ICAgICAgICAgICAgICAgIDE1Ljk1NzErLTAuOTY3MiAgICAgICAgICAgMTUuMzU4NCstMC4zNDk5
ICAgICAgICAgIG1pZ2h0IGJlIDEuMDM5MHggZmFzdGVyCiAgIHJlc3QtcGFyYW1ldGVyLWFsbG9j
YXRpb24tZWxpbWluYXRpb24gICAgICAgICAgICAxNzguOTc1NCstMS40MzY4ICAgICA/ICAgIDE4
Mi41OTA4Ky02LjExOTAgICAgICAgID8gbWlnaHQgYmUgMS4wMjAyeCBzbG93ZXIKICAgcmVzdC1w
YXJhbWV0ZXItY29uc3RydWN0aW9uLXBlcmZvcm1hbmNlICAgICAgICAgICAyMS4zMjk5Ky0wLjI4
MTUgICAgICAgICAgIDIxLjIxNjArLTAuMjc2NCAgICAgICAgCiAgIHJpY2hhcmRzLWVtcHR5LXRy
eS1jYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgNDYuODU4MSstMC42MTU0ICAgICA/ICAg
ICA0Ny43OTYzKy0xLjY0MzkgICAgICAgID8gbWlnaHQgYmUgMS4wMjAweCBzbG93ZXIKICAgcmlj
aGFyZHMtdHJ5LWNhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1OC43Nzc2Ky01
LjYxNjYgICAgICAgICAgMTU3LjA2NjcrLTMuMDQzNCAgICAgICAgICBtaWdodCBiZSAxLjAxMDl4
IGZhc3RlcgogICBzY29wZWQtYXJndW1lbnRzLWxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA2Ljk4NTUrLTAuNjM1NSAgICAgICAgICAgIDYuOTE5OCstMC4zMDg2ICAgICAgICAKICAg
c2NvcGVkLWFyZ3VtZW50cy1vdmVycmlkZGVuLWxlbmd0aCAgICAgICAgICAgICAgICAgNi41OTc3
Ky0wLjQzNDggICAgID8gICAgICA2LjY5MzArLTAuMjQ4NCAgICAgICAgPyBtaWdodCBiZSAxLjAx
NDR4IHNsb3dlcgogICBzY29wZWQtYXJndW1lbnRzLXBvc3NpYmx5LW92ZXJyaWRkZW4tbGVuZ3Ro
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDcuMTM5NSstMC4xNDE1ICAgICAgICAgICAgNy4wOTY5Ky0wLjE4NjUgICAgICAgIAogICBzZWFs
LWFuZC1kby13b3JrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyLjY0NTYrLTAu
MzQ5MSAgICAgICAgICAgMTIuNDgwMistMC4xNjM1ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEzMngg
ZmFzdGVyCiAgIHNldC1mb3ItZWFjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDEuOTYyMystMC4wNjYxICAgICA/ICAgICAgMS45ODM5Ky0wLjEwNTAgICAgICAgID8gbWln
aHQgYmUgMS4wMTEweCBzbG93ZXIKICAgc2V0LWZvci1vZiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNC45MjEzKy0wLjA5NDkgICAgID8gICAgICA1LjIwNDMrLTAuMzI2
NiAgICAgICAgPyBtaWdodCBiZSAxLjA1NzV4IHNsb3dlcgogICBzZXR0ZXItcHJvdG90eXBlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjkyMDYrLTAuMTUxNCAgICAgICAgICAg
IDQuODcyNystMC4xNjAxICAgICAgICAKICAgc2V0dGVyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMy41NDIxKy0wLjE0MjcgICAgICAgICAgICAzLjUxNDYrLTAu
MTUyMSAgICAgICAgCiAgIHNpbXBsZS1hY3RpdmF0aW9uLWRlbW8gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTkuMDQyOCstMS4yMDEzICAgICAgICAgICAxOC44NzkwKy0xLjIxNzggICAgICAg
IAogICBzaW1wbGUtZ2V0dGVyLWFjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2
Ljk2ODQrLTAuODg0MCAgICAgICAgICAgMTYuOTI2MistMS4wMTM4ICAgICAgICAKICAgc2ltcGxl
LXBvbHktY2FsbC1uZXN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy45NDM5Ky0wLjE0
MzAgICAgID8gICAgICA0LjAyOTIrLTAuMTY1NCAgICAgICAgPyBtaWdodCBiZSAxLjAyMTZ4IHNs
b3dlcgogICBzaW1wbGUtcG9seS1jYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxLjU4NjArLTAuMjI3NSAgICAgICAgICAgIDEuNTM5NistMC4xOTQ3ICAgICAgICAgIG1pZ2h0
IGJlIDEuMDMwMXggZmFzdGVyCiAgIHNpbXBsZS1yZWdleHAtZXhlYy1mb2xkaW5nLWZhaWwgICAg
ICAgICAgICAgICAgICAgIDMuMDYwMSstMC4xNzg1ICAgICA/ICAgICAgMy4xOTczKy0wLjMxODIg
ICAgICAgID8gbWlnaHQgYmUgMS4wNDQ5eCBzbG93ZXIKICAgc2ltcGxlLXJlZ2V4cC1leGVjLWZv
bGRpbmcgICAgICAgICAgICAgICAgICAgICAgICAxMi4yNTQ1Ky0wLjUzODAgICAgID8gICAgIDEy
LjQ5MDYrLTAuNDU2NCAgICAgICAgPyBtaWdodCBiZSAxLjAxOTN4IHNsb3dlcgogICBzaW1wbGUt
cmVnZXhwLXRlc3QtZm9sZGluZy1mYWlsLXdpdGgtaG9pc3RlZC1yZWdleHAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOS41OTc2Ky0wLjY4
NDEgICAgICAgICAgICA5LjU0MTErLTAuNjc5NCAgICAgICAgCiAgIHNpbXBsZS1yZWdleHAtdGVz
dC1mb2xkaW5nLWZhaWwgICAgICAgICAgICAgICAgICAgIDYuOTE3NistMC41MjM2ICAgICA/ICAg
ICAgNi45MzA0Ky0wLjQ2ODQgICAgICAgID8KICAgc2ltcGxlLXJlZ2V4cC10ZXN0LWZvbGRpbmct
d2l0aC1ob2lzdGVkLXJlZ2V4cCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDEwLjg3NDUrLTAuODQ2OCAgICAgICAgICAgMTAuNzA3OCstMC4y
MDUwICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1NnggZmFzdGVyCiAgIHNpbXBsZS1yZWdleHAtdGVz
dC1mb2xkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDguNTIwOCstMC40Mzc5ICAgICA/ICAg
ICAgOS4zNDE1Ky0xLjU5MzMgICAgICAgID8gbWlnaHQgYmUgMS4wOTYzeCBzbG93ZXIKICAgc2lu
LWJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNi41ODY2Ky0w
LjQ2OTUgICAgICAgICAgICA2LjE5NDMrLTAuMTI4OSAgICAgICAgICBtaWdodCBiZSAxLjA2MzN4
IGZhc3RlcgogICBzaW5nbGV0b24tc2NvcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDQzLjY3OTArLTEuMjYwMCAgICAgPyAgICAgNDMuNzQ1NCstMS4xMDE1ICAgICAgICA/CiAg
IHNpbmstZnVuY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuNDk0
OSstMC4zMzM0ICAgICAgICAgICAgNS40NDYzKy0wLjMyNDUgICAgICAgIAogICBzaW5rLWh1Z2Ut
YWN0aXZhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5LjcyMDQrLTAuMzQwMSAg
ICAgICAgICAgIDkuNDE5OCstMC4yMTY4ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMxOXggZmFzdGVy
CiAgIHNpbmthYmxlLW5ldy1vYmplY3QtZGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgMzcu
MzQ0MCstMS4zOTc5ICAgICAgICAgICAzNy4zMTMxKy0xLjMwMDkgICAgICAgIAogICBzaW5rYWJs
ZS1uZXctb2JqZWN0LXRha2VuICAgICAgICAgICAgICAgICAgICAgICAgIDMxLjg5ODArLTEuNTE0
NCAgICAgICAgICAgMzEuNjgwNistMS4xNzM0ICAgICAgICAKICAgc2lua2FibGUtbmV3LW9iamVj
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNi42OTU3Ky0wLjc1ODQgICAgID8gICAg
IDE2Ljk5NjErLTAuOTQ1NyAgICAgICAgPyBtaWdodCBiZSAxLjAxODB4IHNsb3dlcgogICBzbG93
LWFycmF5LXByb2ZpbGUtY29udmVyZ2VuY2UgICAgICAgICAgICAgICAgICAgICAyLjc1MjArLTAu
MTQzOCAgICAgPyAgICAgIDIuNzUzMystMC4xNjE1ICAgICAgICA/CiAgIHNsb3ctY29udmVyZ2Vu
Y2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuODI2MistMC4xODc4ICAgICAg
ICAgICAgMi43Nzc0Ky0wLjA3OTkgICAgICAgICAgbWlnaHQgYmUgMS4wMTc2eCBmYXN0ZXIKICAg
c2xvdy10ZXJuYXJpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNS4xMjg0
Ky0wLjc4NTYgICAgID8gICAgIDE1LjQzOTIrLTAuOTAwMyAgICAgICAgPyBtaWdodCBiZSAxLjAy
MDV4IHNsb3dlcgogICBzb3J0aW5nLWJlbmNobWFyayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDE4LjcxMTUrLTAuMzMxOCAgICAgPyAgICAgMTguODk1MystMC4zNzQ1ICAgICAgICA/
CiAgIHNwYXJzZS1jb25kaXRpb25hbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEu
MzA1MistMC4wMjgxICAgICAgICAgICAgMS4yOTU4Ky0wLjAyNTUgICAgICAgIAogICBzcGFyc2Ut
c2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDU0LjM0MjYrLTIuMjg5
MCAgICAgPyAgICAgNTUuMDMyMCstMi40Mjg3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDEyN3ggc2xv
d2VyCiAgIHNwbGljZS10by1yZW1vdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MTUuMTk1NistMS4wNTczICAgICA/ICAgICAxNi4wNjA5Ky0xLjg4NDkgICAgICAgID8gbWlnaHQg
YmUgMS4wNTY5eCBzbG93ZXIKICAgc3ByZWFkLWxhcmdlLWFycmF5ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDEyMy41Njk1Ky0xLjI1MjIgICAgICAgICAgMTIzLjI1MDErLTIuMzcwOSAg
ICAgICAgCiAgIHN0cmNhdC1jb25zdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDUuMTM3NystMC4xODc5ICAgICAgICAgICAgNS4wMTE4Ky0wLjA0NDggICAgICAgICAgbWln
aHQgYmUgMS4wMjUxeCBmYXN0ZXIKICAgc3RyY2F0LWxlbmd0aC1jb25zdCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgNC43NDcwKy0wLjE1MjIgICAgID8gICAgICA0LjkxODMrLTAuMzMy
OSAgICAgICAgPyBtaWdodCBiZSAxLjAzNjF4IHNsb3dlcgogICBzdHJpY3Qtb3NyLWVudHJ5ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY1LjYwMDkrLTQuNDE5MCAgICAgICAgICAg
NjQuMjYxOCstMi4xODg2ICAgICAgICAgIG1pZ2h0IGJlIDEuMDIwOHggZmFzdGVyCiAgIHN0cmlu
Zy1hZGQtY29uc3RhbnQtZm9sZGluZyAgICAgICAgICAgICAgICAgICAgICAxNjQuMzExNSstOC4w
NjM5ICAgICAgICAgIDE2MS4yODEwKy0xMC4yNTQyICAgICAgICAgbWlnaHQgYmUgMS4wMTg4eCBm
YXN0ZXIKICAgc3RyaW5nLWNoYXItY29kZS1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAxNi44MjUxKy0xLjU0MzQgICAgID8gICAgIDE2Ljg4NjMrLTEuNTc3NiAgICAgICAgPwogICBz
dHJpbmctY29uY2F0LWNvbnZlcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY3LjU0MjAr
LTAuODY2NiAgICAgPyAgICAgNjkuMDk5OSstMy43NzEwICAgICAgICA/IG1pZ2h0IGJlIDEuMDIz
MXggc2xvd2VyCiAgIHN0cmluZy1jb25jYXQtbG9uZy1jb252ZXJ0ICAgICAgICAgICAgICAgICAg
ICAgICAgNzQuNzY4NSstMS4wMDMwICAgICA/ICAgICA3Ny4yMjYzKy0zLjM4MzQgICAgICAgID8g
bWlnaHQgYmUgMS4wMzI5eCBzbG93ZXIKICAgc3RyaW5nLWNvbmNhdC1sb25nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAzOS4wMDA5Ky0xLjEwOTIgICAgICAgICAgIDM4LjE5NjYrLTAu
NDI4MiAgICAgICAgICBtaWdodCBiZSAxLjAyMTF4IGZhc3RlcgogICBzdHJpbmctY29uY2F0LW9i
amVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjU5MDErLTAuMTI2OSAgICAgPyAg
ICAgIDIuNjg0OSstMC4xMzYwICAgICAgICA/IG1pZ2h0IGJlIDEuMDM2Nnggc2xvd2VyCiAgIHN0
cmluZy1jb25jYXQtcGFpci1vYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNjU4Nyst
MC4xMzY2ICAgICAgICAgICAgMi41NTI1Ky0wLjEyMDUgICAgICAgICAgbWlnaHQgYmUgMS4wNDE2
eCBmYXN0ZXIKICAgc3RyaW5nLWNvbmNhdC1wYWlyLXNpbXBsZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgMy4yOTU2Ky0wLjQ5ODkgICAgICAgICAgICAzLjAxODUrLTAuMDYyMiAgICAgICAgICBt
aWdodCBiZSAxLjA5MTh4IGZhc3RlcgogICBzdHJpbmctY29uY2F0LXNpbXBsZSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA1LjEwODYrLTAuNzE4MiAgICAgICAgICAgIDQuOTM5OCstMC4y
Mzg1ICAgICAgICAgIG1pZ2h0IGJlIDEuMDM0MnggZmFzdGVyCiAgIHN0cmluZy1jb25jYXQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzMuMjU4NCstMC42NDY4ICAgICA/ICAg
ICAzNC4wNDQ2Ky0xLjcxMjcgICAgICAgID8gbWlnaHQgYmUgMS4wMjM2eCBzbG93ZXIKICAgc3Ry
aW5nLWNvbnMtcmVwZWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC42NjM5Ky0w
LjMzMDMgICAgICAgICAgICA4LjM4MzArLTAuMjQ2MiAgICAgICAgICBtaWdodCBiZSAxLjAzMzV4
IGZhc3RlcgogICBzdHJpbmctY29ucy10b3dlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA3LjMxMDkrLTEuMDMwMiAgICAgICAgICAgIDcuMDM3OSstMC4zNzI1ICAgICAgICAgIG1p
Z2h0IGJlIDEuMDM4OHggZmFzdGVyCiAgIHN0cmluZy1lcXVhbGl0eSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMTEuNTk4NCstMS4xMzA0ICAgICAgICAgICAxMS4wMzYwKy0wLjE3
NjAgICAgICAgICAgbWlnaHQgYmUgMS4wNTEweCBmYXN0ZXIKICAgc3RyaW5nLWZyb20tY2hhci1j
b2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45NDAyKy0wLjE1NzkgICAgICAgICAg
ICA1LjkzMTUrLTAuMTY1MSAgICAgICAgCiAgIHN0cmluZy1nZXQtYnktdmFsLWJpZy1jaGFyICAg
ICAgICAgICAgICAgICAgICAgICAgIDQuNDExNCstMC4xNjk4ICAgICA/ICAgICAgNC40MTQ0Ky0w
LjE0MDkgICAgICAgID8KICAgc3RyaW5nLWdldC1ieS12YWwtb3V0LW9mLWJvdW5kcy1pbnNhbmUg
ICAgICAgICAgICAgNC4yMTUwKy0wLjU1NDcgICAgICAgICAgICAzLjg5NTgrLTAuMTExNiAgICAg
ICAgICBtaWdodCBiZSAxLjA4MTl4IGZhc3RlcgogICBzdHJpbmctZ2V0LWJ5LXZhbC1vdXQtb2Yt
Ym91bmRzICAgICAgICAgICAgICAgICAgICA0LjUxNzErLTAuNDU2NSAgICAgPyAgICAgIDQuNTIz
MistMC40MzYwICAgICAgICA/CiAgIHN0cmluZy1nZXQtYnktdmFsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIuMjI5NCstMC4xNzU1ICAgICAgICAgICAgMi4xNTU2Ky0wLjEyNDIg
ICAgICAgICAgbWlnaHQgYmUgMS4wMzQyeCBmYXN0ZXIKICAgc3RyaW5nLWhhc2ggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4xMTgxKy0wLjA2NjkgICAgID8gICAgICAy
LjE0ODQrLTAuMDY5NiAgICAgICAgPyBtaWdodCBiZSAxLjAxNDN4IHNsb3dlcgogICBzdHJpbmct
bG9uZy1pZGVudC1lcXVhbGl0eSAgICAgICAgICAgICAgICAgICAgICAgIDE1LjUyMjUrLTAuMzg2
NiAgICAgPyAgICAgMTYuMTI1MCstMS40Mjk5ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM4OHggc2xv
d2VyCiAgIHN0cmluZy1vdXQtb2YtYm91bmRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDkuNjY4NSstMC4yOTE0ICAgICA/ICAgICAgOS43MzYyKy0wLjQ2MDEgICAgICAgID8KICAgc3Ry
aW5nLXByb3RvdHlwZS1zZWFyY2gtb2JzZXJ2YWJsZS1zaWRlLWVmZmVjdHMgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44NTIyKy0wLjAy
NDEgICAgID8gICAgICAwLjg5MDArLTAuMDQ1OCAgICAgICAgPyBtaWdodCBiZSAxLjA0NDR4IHNs
b3dlcgogICBzdHJpbmctcHJvdG90eXBlLXNlYXJjaC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czIg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MC41MTcxKy0wLjAzMjEgICAgID8gICAgICAwLjUzMTMrLTAuMDQ1OCAgICAgICAgPyBtaWdodCBi
ZSAxLjAyNzR4IHNsb3dlcgogICBzdHJpbmctcHJvdG90eXBlLXNlYXJjaC1vYnNlcnZhYmxlLXNp
ZGUtZWZmZWN0czMgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMC40OTkxKy0wLjAxMDYgICAgID8gICAgICAwLjUyMzArLTAuMDM0NyAgICAg
ICAgPyBtaWdodCBiZSAxLjA0Nzd4IHNsb3dlcgogICBzdHJpbmctcHJvdG90eXBlLXNlYXJjaC1v
YnNlcnZhYmxlLXNpZGUtZWZmZWN0czQgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMC41MzM5Ky0wLjA1NzMgICAgICAgICAgICAwLjUxMTEr
LTAuMDA4OSAgICAgICAgICBtaWdodCBiZSAxLjA0NDZ4IGZhc3RlcgogICBzdHJpbmctcHJvdG90
eXBlLXNwbGl0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMzc0MSstMC4xMzk1ICAgICAgICAg
ICAgMS4zNTgyKy0wLjEwOTkgICAgICAgICAgbWlnaHQgYmUgMS4wMTE3eCBmYXN0ZXIKICAgc3Ry
aW5nLXByb3RvdHlwZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czIgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41ODY3Ky0wLjA5
ODYgICAgICAgICAgICAwLjUyMjUrLTAuMDEzNiAgICAgICAgICBtaWdodCBiZSAxLjEyMjl4IGZh
c3RlcgogICBzdHJpbmctcHJvdG90eXBlLXNwbGl0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzMy1m
bGFncyAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLjUzODcrLTAuMDM5MSAgICAgPyAgICAgIDAuNjM5MystMC4xNjQ3ICAgICAgICA/IG1p
Z2h0IGJlIDEuMTg2N3ggc2xvd2VyCiAgIHN0cmluZy1wcm90b3R5cGUtc3BsaXQtb2JzZXJ2YWJs
ZS1zaWRlLWVmZmVjdHMzLWdsb2JhbCAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAwLjU0NTcrLTAuMDM3NSAgICAgPyAgICAgIDAuNTk5Myst
MC4xMDQxICAgICAgICA/IG1pZ2h0IGJlIDEuMDk4Mnggc2xvd2VyCiAgIHN0cmluZy1wcm90b3R5
cGUtc3BsaXQtb2JzZXJ2YWJsZS1zaWRlLWVmZmVjdHMzLWlnbm9yZUNhc2UgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41MzQ0Ky0wLjAy
ODMgICAgID8gICAgICAwLjU3MjErLTAuMDc2MyAgICAgICAgPyBtaWdodCBiZSAxLjA3MDV4IHNs
b3dlcgogICBzdHJpbmctcHJvdG90eXBlLXNwbGl0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzMy1t
dWx0aWxpbmUgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMC42NTE3Ky0wLjEyMzQgICAgICAgICAgICAwLjU0ODIrLTAuMDI2NSAgICAgICAg
ICBtaWdodCBiZSAxLjE4ODl4IGZhc3RlcgogICBzdHJpbmctcHJvdG90eXBlLXNwbGl0LW9ic2Vy
dmFibGUtc2lkZS1lZmZlY3RzMy1zdGlja3kgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41Mzk5Ky0wLjAyMjEgICAgID8gICAgICAwLjU5
NzkrLTAuMTY4NCAgICAgICAgPyBtaWdodCBiZSAxLjEwNzV4IHNsb3dlcgogICBzdHJpbmctcHJv
dG90eXBlLXNwbGl0LW9ic2VydmFibGUtc2lkZS1lZmZlY3RzMy11bmljb2RlICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTI4MistMC4w
MTAxICAgICA/ICAgICAgMC41MzQ0Ky0wLjAxNDEgICAgICAgID8gbWlnaHQgYmUgMS4wMTE3eCBz
bG93ZXIKICAgc3RyaW5nLXByb3RvdHlwZS1zcGxpdC1vYnNlcnZhYmxlLXNpZGUtZWZmZWN0czQg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MC42MjM1Ky0wLjEyOTggICAgICAgICAgICAwLjUzODYrLTAuMDM1NyAgICAgICAgICBtaWdodCBi
ZSAxLjE1NzZ4IGZhc3RlcgogICBzdHJpbmctcmVwZWF0LWFyaXRoICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDIxLjgxNTQrLTEuOTA5MyAgICAgICAgICAgMTkuNzQzNistMC44MjUzICAg
ICAgICAgIG1pZ2h0IGJlIDEuMTA0OXggZmFzdGVyCiAgIHN0cmluZy1yZXBlYXQtbm90LXJlc29s
dmluZy1maXhlZCAgICAgICAgICAgICAgICAgIDMuMDkzNystMC4xMDg0ICAgICAgICAgICAgMy4w
MzM3Ky0wLjA3MzUgICAgICAgICAgbWlnaHQgYmUgMS4wMTk4eCBmYXN0ZXIKICAgc3RyaW5nLXJl
cGVhdC1ub3QtcmVzb2x2aW5nLW5vLWlubGluZSAgICAgICAgICAgICAgMy44NDg3Ky0wLjUwODMg
ICAgICAgICAgICAzLjU4ODArLTAuMTg5NiAgICAgICAgICBtaWdodCBiZSAxLjA3Mjd4IGZhc3Rl
cgogICBzdHJpbmctcmVwZWF0LW5vdC1yZXNvbHZpbmcgICAgICAgICAgICAgICAgICAgICAgICA0
LjE5NDgrLTAuNjM5NiAgICAgICAgICAgIDMuOTAxNistMC4xMjgyICAgICAgICAgIG1pZ2h0IGJl
IDEuMDc1MXggZmFzdGVyCiAgIHN0cmluZy1yZXBlYXQtcmVzb2x2aW5nLWZpeGVkICAgICAgICAg
ICAgICAgICAgICAgMTQuMjY3MistMC40ODE3ICAgICAhICAgICAxNS42OTIyKy0wLjk0MTMgICAg
ICAgICEgZGVmaW5pdGVseSAxLjA5OTl4IHNsb3dlcgogICBzdHJpbmctcmVwZWF0LXJlc29sdmlu
Zy1uby1pbmxpbmUgICAgICAgICAgICAgICAgIDE4Ljc4NDMrLTAuNTMyMSAgICAgPyAgICAgMjAu
MDc2MCstMS4xNjc4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDY4OHggc2xvd2VyCiAgIHN0cmluZy1y
ZXBlYXQtcmVzb2x2aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgMTkuMjA3NistMS4xNTg5
ICAgICA/ICAgICAxOS44Nzk2Ky0wLjQzODYgICAgICAgID8gbWlnaHQgYmUgMS4wMzUweCBzbG93
ZXIKICAgc3RyaW5nLXJlcGVhdC1zaW5nbGUtbm90LXJlc29sdmluZyAgICAgICAgICAgICAgICAg
OC4yODA0Ky0wLjQxODcgICAgID8gICAgICA4LjM2NzErLTAuNDExNCAgICAgICAgPyBtaWdodCBi
ZSAxLjAxMDV4IHNsb3dlcgogICBzdHJpbmctcmVwZWF0LXNpbmdsZS1yZXNvbHZpbmcgICAgICAg
ICAgICAgICAgICAgICA4LjU5NTQrLTAuNDI3OSAgICAgPyAgICAgIDguNjc5MistMC41ODIzICAg
ICAgICA/CiAgIHN0cmluZy1yZXBlYXQtc21hbGwtbm90LXJlc29sdmluZyAgICAgICAgICAgICAg
ICAgIDIuOTYyNSstMC4xMjQxICAgICAgICAgICAgMi45MzY1Ky0wLjE3NjUgICAgICAgIAogICBz
dHJpbmctcmVwZWF0LXNtYWxsLXJlc29sdmluZyAgICAgICAgICAgICAgICAgICAgIDE5LjIzMjQr
LTAuNzgxMCAgICAgPyAgICAgMjAuNDIwOCstMS4wNjM3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDYx
OHggc2xvd2VyCiAgIHN0cmluZy1yZXBsYWNlLWVtcHR5ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDUuODkwMCstMC4zMTU1ICAgICA/ICAgICAgNi40NTkyKy0xLjI1MDMgICAgICAgID8g
bWlnaHQgYmUgMS4wOTY2eCBzbG93ZXIKICAgc3RyaW5nLXJlcGxhY2UtZ2VuZXJpYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA0OS4zOTcyKy0yLjgyNzkgICAgIF4gICAgIDQ0LjY5MzArLTEu
MzQxNyAgICAgICAgXiBkZWZpbml0ZWx5IDEuMTA1M3ggZmFzdGVyCiAgIHN0cmluZy1yZXBsYWNl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUuOTM0MistMC4yOTkxICAgICAg
ICAgICAgNS43NDg2Ky0wLjEzOTkgICAgICAgICAgbWlnaHQgYmUgMS4wMzIzeCBmYXN0ZXIKICAg
c3RyaW5nLXJvcGUtd2l0aC1vYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAxNy4zODgz
Ky0xLjI5NzUgICAgICAgICAgIDE2Ljg5MDYrLTEuMjMzOSAgICAgICAgICBtaWdodCBiZSAxLjAy
OTV4IGZhc3RlcgogICBzdHJpbmctc2xpY2UtZW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA2Ljk5MTIrLTAuMTAyMiAgICAgPyAgICAgIDcuMDQ2OCstMC4xNTQ3ICAgICAgICA/
CiAgIHN0cmluZy1zbGljZS1vbmUtY2hhciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcu
ODgxNistMC4yNzU1ICAgICA/ICAgICAgOC4yODU2Ky0wLjYzNjcgICAgICAgID8gbWlnaHQgYmUg
MS4wNTEzeCBzbG93ZXIKICAgc3RyaW5nLXNsaWNlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAyOS42ODA3Ky0xLjI2NTAgICAgID8gICAgIDMwLjIyMjMrLTIuMTg1NSAgICAg
ICAgPyBtaWdodCBiZSAxLjAxODJ4IHNsb3dlcgogICBzdHJpbmctc3ViICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDM1LjA4OTkrLTAuOTI2OCAgICAgPyAgICAgMzcuMjkx
NCstMi4zMzc5ICAgICAgICA/IG1pZ2h0IGJlIDEuMDYyN3ggc2xvd2VyCiAgIHN0cmluZy10ZXN0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuOTM3MistMC4wODgyICAg
ICAgICAgICAgMi45MTI1Ky0wLjA2MzQgICAgICAgIAogICBzdHJpbmctdHJhbnNjb2RpbmcgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3LjU1MzErLTEuMzA0NCAgICAgICAgICAgIDcu
MDg2NystMC40MjE4ICAgICAgICAgIG1pZ2h0IGJlIDEuMDY1OHggZmFzdGVyCiAgIHN0cmluZy12
YXItZXF1YWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQuMzE5MistMC45NTU4
ICAgICA/ICAgICAyNS4wODE0Ky0xLjE4MTEgICAgICAgID8gbWlnaHQgYmUgMS4wMzEzeCBzbG93
ZXIKICAgc3RyaW5nYWxsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4
NC45MjcyKy0yLjUxOTggICAgID8gICAgIDg2LjA4OTIrLTQuMTIxMCAgICAgICAgPyBtaWdodCBi
ZSAxLjAxMzd4IHNsb3dlcgogICBzdHJ1Y3R1cmUtaG9pc3Qtb3Zlci10cmFuc2l0aW9ucyAgICAg
ICAgICAgICAgICAgICAzLjI4MDErLTAuMjQ0NSAgICAgPyAgICAgIDMuNjAyMSstMC42OTQ5ICAg
ICAgICA/IG1pZ2h0IGJlIDEuMDk4Mnggc2xvd2VyCiAgIHN1YnN0cmluZy1jb25jYXQtd2VpcmQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzkuMTQ3MSstMS43NTU2ICAgICAgICAgICAzOC45
NDY1Ky0xLjIxNzcgICAgICAgIAogICBzdWJzdHJpbmctY29uY2F0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDQzLjk1NzErLTIuMTU2NSAgICAgPyAgICAgNDUuMjA2OSstMi42NzMz
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDI4NHggc2xvd2VyCiAgIHN1YnN0cmluZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTQuMDkwOCstMS43NzI5ICAgICAgICAgICA1
Mi43MzA2Ky0xLjkwOTggICAgICAgICAgbWlnaHQgYmUgMS4wMjU4eCBmYXN0ZXIKICAgc3VwZXIt
Z2V0LWJ5LWlkLXdpdGgtdGhpcy1tb25vbW9ycGhpYyAgICAgICAgICAgICAxNy4wMTk3Ky0wLjE2
ODUgICAgID8gICAgIDE4LjM3ODErLTIuMDM5OSAgICAgICAgPyBtaWdodCBiZSAxLjA3OTh4IHNs
b3dlcgogICBzdXBlci1nZXQtYnktaWQtd2l0aC10aGlzLXBvbHltb3JwaGljICAgICAgICAgICAg
IDE0LjMyNTMrLTAuMjE2OSAgICAgPyAgICAgMTYuMTgwMistMi42ODY4ICAgICAgICA/IG1pZ2h0
IGJlIDEuMTI5NXggc2xvd2VyCiAgIHN1cGVyLWdldC1ieS12YWwtd2l0aC10aGlzLW1vbm9tb3Jw
aGljICAgICAgICAgICAgMjMuNDc0NystMS45NzQ5ICAgICAgICAgICAyMy4yNzk4Ky0wLjk5Njgg
ICAgICAgIAogICBzdXBlci1nZXQtYnktdmFsLXdpdGgtdGhpcy1wb2x5bW9ycGhpYyAgICAgICAg
ICAgIDIwLjAwNzYrLTAuOTgyMiAgICAgICAgICAgMTkuOTE3NCstMC43MTMzICAgICAgICAKICAg
c3VwZXItZ2V0dGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMi4xMDQ1
Ky0wLjU1NjIgICAgID8gICAgIDEyLjIxNTArLTAuNDg1NiAgICAgICAgPwogICBzd2l0Y2gtY2hh
ci1jb25zdGFudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjMxODQrLTAuMTExNCAg
ICAgICAgICAgIDIuMjQ0OSstMC4xMjM4ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMyN3ggZmFzdGVy
CiAgIHN3aXRjaC1jaGFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQu
ODczOCstMC4yMDQyICAgICA/ICAgICAgNS4zNjI0Ky0wLjg3MTAgICAgICAgID8gbWlnaHQgYmUg
MS4xMDAyeCBzbG93ZXIKICAgc3dpdGNoLWNvbnN0YW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgNC41ODcxKy0wLjEyMDkgICAgID8gICAgICA1LjA5NjErLTEuMDExNCAgICAg
ICAgPyBtaWdodCBiZSAxLjExMTB4IHNsb3dlcgogICBzd2l0Y2gtc3RyaW5nLWJhc2ljLWJpZy12
YXIgICAgICAgICAgICAgICAgICAgICAgIDEzLjM5ODMrLTAuNDI3OSAgICAgPyAgICAgMTMuNzk2
MSstMS44ODcyICAgICAgICA/IG1pZ2h0IGJlIDEuMDI5N3ggc2xvd2VyCiAgIHN3aXRjaC1zdHJp
bmctYmFzaWMtYmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuMTIwNistMC40NTY2ICAg
ICA/ICAgICAxMS4yODY2Ky0wLjgwMDAgICAgICAgID8gbWlnaHQgYmUgMS4wMTQ5eCBzbG93ZXIK
ICAgc3dpdGNoLXN0cmluZy1iYXNpYy12YXIgICAgICAgICAgICAgICAgICAgICAgICAgICAxMy4x
ODkzKy0wLjM0MjcgICAgID8gICAgIDEzLjQ2NzUrLTEuNDIwNiAgICAgICAgPyBtaWdodCBiZSAx
LjAyMTF4IHNsb3dlcgogICBzd2l0Y2gtc3RyaW5nLWJhc2ljICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEwLjc1NDUrLTAuNjc1NyAgICAgICAgICAgMTAuMTY4MystMC4zNDUyICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDU3NnggZmFzdGVyCiAgIHN3aXRjaC1zdHJpbmctYmlnLWxlbmd0aC10
b3dlci12YXIgICAgICAgICAgICAgICAgMTguNjQxMistMS4yMzE0ICAgICAgICAgICAxOC4wNjcz
Ky0wLjcxOTAgICAgICAgICAgbWlnaHQgYmUgMS4wMzE4eCBmYXN0ZXIKICAgc3dpdGNoLXN0cmlu
Zy1sZW5ndGgtdG93ZXItdmFyICAgICAgICAgICAgICAgICAgICAxMy43MzQ3Ky0wLjQ3MjkgICAg
ICAgICAgIDEzLjIzMjMrLTAuMzkxNiAgICAgICAgICBtaWdodCBiZSAxLjAzODB4IGZhc3Rlcgog
ICBzd2l0Y2gtc3RyaW5nLWxlbmd0aC10b3dlciAgICAgICAgICAgICAgICAgICAgICAgIDEwLjU2
NTErLTEuNTc0NCAgICAgICAgICAgMTAuMTk2MSstMC4zMjYzICAgICAgICAgIG1pZ2h0IGJlIDEu
MDM2MnggZmFzdGVyCiAgIHN3aXRjaC1zdHJpbmctc2hvcnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDkuNzI2OSstMC4xNzk0ICAgICA/ICAgICAgOS45NTkyKy0wLjM5MzMgICAgICAg
ID8gbWlnaHQgYmUgMS4wMjM5eCBzbG93ZXIKICAgc3dpdGNoICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgNi4yMjE0Ky0wLjE1NDkgICAgID8gICAgICA2LjQ0ODAr
LTAuMjE5MCAgICAgICAgPyBtaWdodCBiZSAxLjAzNjR4IHNsb3dlcgogICBzd2l0Y2hpbmctc2l6
ZS1jbGFzc2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMyLjIyODErLTAuMzE1MCAgICAg
ICAgICAgMzIuMjExNistMC41MTYxICAgICAgICAKICAgc3ltYm9sLXRvc3RyaW5ndGFnICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wMDg5Ky0wLjE3MzIgICAgICAgICAgICAyLjgx
NDQrLTAuMDM5NSAgICAgICAgICBtaWdodCBiZSAxLjA2OTF4IGZhc3RlcgogICB0YW4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwLjczNTUrLTIuNTUyNyAg
ICAgICAgICAgNjguNDkzOSstMS43OTc5ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMyN3ggZmFzdGVy
CiAgIHRlYXItb2ZmLWFyZ3VtZW50cy1zaW1wbGUgICAgICAgICAgICAgICAgICAgICAgICAgIDIu
Mzg4MSstMC4xMTg3ICAgICA/ICAgICAgMi41MDUxKy0wLjExNDQgICAgICAgID8gbWlnaHQgYmUg
MS4wNDkweCBzbG93ZXIKICAgdGVhci1vZmYtYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMy40NzA4Ky0wLjEzNjUgICAgID8gICAgICAzLjU0NTcrLTAuMDk5MyAgICAg
ICAgPyBtaWdodCBiZSAxLjAyMTZ4IHNsb3dlcgogICB0ZW1wbGF0ZS1zdHJpbmctYXJyYXkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA1LjUyNzErLTAuMjE5MSAgICAgPyAgICAgIDUuODA2
OSstMC40Mjc4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDUwNnggc2xvd2VyCiAgIHRlbXBvcmFsLXN0
cnVjdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEuNDM0NSstMC4zOTEyICAg
ICA/ICAgICAxMS44NDc5Ky0wLjMwMTUgICAgICAgID8gbWlnaHQgYmUgMS4wMzYyeCBzbG93ZXIK
ICAgdGhyb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNC41
OTUxKy0wLjg3OTEgICAgICAgICAgIDE0LjI4NDQrLTAuMjY4NiAgICAgICAgICBtaWdodCBiZSAx
LjAyMTd4IGZhc3RlcgogICB0by1pbnQzMi1ib29sZWFuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEzLjA5NjErLTEuOTM5MSAgICAgICAgICAgMTIuMjI0MistMC40Nzg1ICAgICAg
ICAgIG1pZ2h0IGJlIDEuMDcxM3ggZmFzdGVyCiAgIHRvLWxvd2VyLWNhc2UgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAxMDIuMDAxNSstNC4xMzU1ICAgICAgICAgIDEwMS43NzM0
Ky0zLjg0NTkgICAgICAgIAogICB0by1udW1iZXItY29uc3RydWN0b3ItbnVtYmVyLXN0cmluZy1u
dW1iZXItc3RyaW5nICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDMuNjM3NCstMC4xNjI5ICAgICAgICAgICAgMy41MzI2Ky0wLjE5MzUgICAg
ICAgICAgbWlnaHQgYmUgMS4wMjk3eCBmYXN0ZXIKICAgdG8tbnVtYmVyLWNvbnN0cnVjdG9yLW9u
bHktbnVtYmVyICAgICAgICAgICAgICAgICAgMC44MDA3Ky0wLjA3MDEgICAgICAgICAgICAwLjc3
MjIrLTAuMDI0MyAgICAgICAgICBtaWdodCBiZSAxLjAzNjl4IGZhc3RlcgogICB0by1udW1iZXIt
Y29uc3RydWN0b3Itb25seS1zdHJpbmcgICAgICAgICAgICAgICAgICAxLjg4OTMrLTAuMDk1NCAg
ICAgICAgICAgIDEuODczNSstMC4wOTQwICAgICAgICAKICAgdG8tbnVtYmVyLWNvbnN0cnVjdG9y
LXN0cmluZy1udW1iZXItc3RyaW5nLW51bWJlciAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjAyMjUrLTAuMTcwOCAgICAgPyAgICAgIDMu
MTI2NSstMC4zMzM3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDM0NHggc2xvd2VyCiAgIHRvLW51bWJl
ci1udW1iZXItc3RyaW5nLW51bWJlci1zdHJpbmcgICAgICAgICAgICAgIDMuMjc0NystMC4xMzA0
ICAgICAgICAgICAgMy4yNDYzKy0wLjIyMDIgICAgICAgIAogICB0by1udW1iZXItb25seS1udW1i
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY3OTYrLTAuMDE2MSAgICAgPyAgICAg
IDAuNzIyNystMC4wNzU3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDYzNHggc2xvd2VyCiAgIHRvLW51
bWJlci1vbmx5LXN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuODY0NystMC4x
NTk2ICAgICAgICAgICAgMS44MDY0Ky0wLjA2NjIgICAgICAgICAgbWlnaHQgYmUgMS4wMzIyeCBm
YXN0ZXIKICAgdG8tbnVtYmVyLXN0cmluZy1udW1iZXItc3RyaW5nLW51bWJlciAgICAgICAgICAg
ICAgMy4wODc2Ky0wLjI5NjQgICAgICAgICAgICAzLjA4NjErLTAuMjEzNSAgICAgICAgCiAgIHRy
eS1jYXRjaC1nZXQtYnktdmFsLWNsb25lZC1hcmd1bWVudHMgICAgICAgICAgICAgIDQuNzQ2Nist
MC4xOTM0ICAgICA/ICAgICAgNC43Njk0Ky0wLjI1OTUgICAgICAgID8KICAgdHJ5LWNhdGNoLWdl
dC1ieS12YWwtZGlyZWN0LWFyZ3VtZW50cyAgICAgICAgICAgICAgMi4zMzYzKy0wLjA5NDUgICAg
ID8gICAgICAyLjM1MzcrLTAuMDkwNSAgICAgICAgPwogICB0cnktY2F0Y2gtZ2V0LWJ5LXZhbC1z
Y29wZWQtYXJndW1lbnRzICAgICAgICAgICAgICA1LjAwMDcrLTAuMTQzNSAgICAgPyAgICAgIDUu
MDIyNistMC4xODg3ICAgICAgICA/CiAgIHRyeS1jYXRjaC13b3JkLWNvdW50ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMjcuMjkxNistMS44MTIwICAgICAgICAgICAyNy4wNDkyKy0xLjQw
NTQgICAgICAgIAogICB0cnktZ2V0LWJ5LWlkLWJhc2ljICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA2LjE5NzkrLTAuMTkwNCAgICAgPyAgICAgIDYuMjE3MSstMC4xODUzICAgICAgICA/
CiAgIHRyeS1nZXQtYnktaWQtcG9seW1vcnBoaWMgICAgICAgICAgICAgICAgICAgICAgICAgIDcu
NDIxMystMC40MTUyICAgICA/ICAgICAgNy40ODY0Ky0wLjU3NjQgICAgICAgID8KICAgdHlwZWQt
YXJyYXktZ2V0LXNldC1ieS12YWwtcHJvZmlsaW5nICAgICAgICAgICAgICAyMS4xNTg3Ky0xLjIx
NjYgICAgICAgICAgIDE5LjUyODErLTAuNzM1NiAgICAgICAgICBtaWdodCBiZSAxLjA4MzV4IGZh
c3RlcgogICB0eXBlZC1hcnJheS1zdWJhcnJheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDQzLjAxMDYrLTEuNTU1MyAgICAgPyAgICAgNDQuOTkzMCstMy4xMjk2ICAgICAgICA/IG1pZ2h0
IGJlIDEuMDQ2MXggc2xvd2VyCiAgIHVuZGVmaW5lZC1wcm9wZXJ0eS1hY2Nlc3MgICAgICAgICAg
ICAgICAgICAgICAgICA2NTcuNDI1NSstMjUuNTE2MSAgICAgICAgIDY0Mi4yNjkxKy0xOS44Mzg4
ICAgICAgICAgbWlnaHQgYmUgMS4wMjM2eCBmYXN0ZXIKICAgdW5kZWZpbmVkLXRlc3QgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wOTQ3Ky0wLjA2NjUgICAgID8gICAgICAz
LjI0MjIrLTAuMjQ1MyAgICAgICAgPyBtaWdodCBiZSAxLjA0Nzd4IHNsb3dlcgogICB1bnByb2Zp
bGVkLWxpY20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjM0MTYrLTAuODEz
MiAgICAgICAgICAgIDYuMTM5OSstMC4yOTM4ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMyOHggZmFz
dGVyCiAgIHVudHlwZWQtc3RyaW5nLWZyb20tY2hhci1jb2RlICAgICAgICAgICAgICAgICAgICAg
MTAuMDU5MSstMC40NTE0ICAgICAgICAgICAxMC4wMjA3Ky0wLjMyNDEgICAgICAgIAogICB2OC1y
YXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaCAgICAgICAgICAgICAgICAgIDMzLjc3MTQrLTEu
NTIyMCAgICAgPyAgICAgMzQuNDcyOSstMi40MTQ4ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIwOHgg
c2xvd2VyCiAgIHY4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoICAgICAgICAgICAgICAgICAgICAg
ICAgMzcuMjUyMistMS43NTgwICAgICAgICAgICAzNi43NzA0Ky0xLjM3NjYgICAgICAgICAgbWln
aHQgYmUgMS4wMTMxeCBmYXN0ZXIKICAgdjgtcmVnZXhwLXNlYXJjaCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA0Ny4xNDY0Ky0wLjYyNzQgICAgID8gICAgIDQ4Ljg4NjgrLTIuMjEy
NyAgICAgICAgPyBtaWdodCBiZSAxLjAzNjl4IHNsb3dlcgogICB2YXJhcmdzLWNhbGwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExLjMxMTIrLTAuMTQ5MSAgICAgPyAgICAg
MTEuNzg3OSstMC44NDEzICAgICAgICA/IG1pZ2h0IGJlIDEuMDQyMXggc2xvd2VyCiAgIHZhcmFy
Z3MtY29uc3RydWN0LWlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgMTQuNTg0MystMC4y
ODk1ICAgICA/ICAgICAxNC42Njc1Ky0wLjUwNTcgICAgICAgID8KICAgdmFyYXJncy1jb25zdHJ1
Y3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOS40MjU4Ky0wLjMxNjggICAgID8g
ICAgIDE5Ljk0MDUrLTAuMzI3OSAgICAgICAgPyBtaWdodCBiZSAxLjAyNjV4IHNsb3dlcgogICB2
YXJhcmdzLWlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjYyNzkr
LTAuMjIwMiAgICAgPyAgICAgIDYuNzA0NCstMC4xNzI0ICAgICAgICA/IG1pZ2h0IGJlIDEuMDEx
NXggc2xvd2VyCiAgIHZhcmFyZ3Mtc3RyaWN0LW1vZGUgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDcuNjEwMystMC4xOTI0ICAgICA/ICAgICAgNy45MTY5Ky0wLjUzNjggICAgICAgID8g
bWlnaHQgYmUgMS4wNDAzeCBzbG93ZXIKICAgdmFyYXJncyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgNy43NTUxKy0wLjMxNzIgICAgICAgICAgICA3LjUyNDkrLTAu
MjEwNCAgICAgICAgICBtaWdodCBiZSAxLjAzMDZ4IGZhc3RlcgogICB3ZWFrLW1hcC1rZXkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTA1LjQ1MzYrLTUuMzU3MSAgICAgICAg
ICAxMDIuMjMzNystNC4xNzg0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDMxNXggZmFzdGVyCiAgIHdl
YWstc2V0LWtleSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDYuMzA2NSst
Ni4yMDkwICAgICAgICAgIDEwMi42ODA1Ky0zLjc5ODUgICAgICAgICAgbWlnaHQgYmUgMS4wMzUz
eCBmYXN0ZXIKICAgd2VpcmQtaW5saW5pbmctY29uc3QtcHJvcCAgICAgICAgICAgICAgICAgICAg
ICAgICAgMi4zMjk1Ky0wLjEwNzAgICAgICAgICAgICAyLjI1ODYrLTAuMTMzMyAgICAgICAgICBt
aWdodCBiZSAxLjAzMTR4IGZhc3RlcgoKICAgPGdlb21ldHJpYz4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOC40MDAyKy0wLjAxNTUgICAgID8gICAgICA4LjQwNDArLTAu
MDE2MyAgICAgICAgPyBtaWdodCBiZSAxLjAwMDR4IHNsb3dlcgoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgICAgICAgICAgICAg
ICAgICAgICAgIG5ldyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKR2Vv
bWVhbiBvZiBwcmVmZXJyZWQgbWVhbnM6CiAgIDxzY2FsZWQtcmVzdWx0PiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMTAuMzIxNistMC4wNzA4ICAgICA/ICAgICAxMC4zMjM2Ky0w
LjA2MDQgICAgICAgID8gbWlnaHQgYmUgMS4wMDAyeCBzbG93ZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331235</attachid>
            <date>2018-01-12 14:31:49 -0800</date>
            <delta_ts>2018-01-12 15:09:09 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-WebAssembly-mostly-works-except-instance-callee-and-.patch</filename>
            <type>text/plain</type>
            <size>53871</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSAyYmJhMDBkZjk0YWQ2NjU5Njk1NTI3MTlhZTk5ZDc0ZWUwMjk3MWUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDExIEphbiAyMDE4IDE3OjU4OjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQXNz
ZW1ibHkgbW9zdGx5IHdvcmtzLCBleGNlcHQgaW5zdGFuY2UgY2FsbGVlIGFuZAogZW5kLW9mLW9i
amVjdCBmdW5jdGlvbnMuCgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKysrKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGFuZGxlVHlwZXMuaCAgICAgICAgICAgfCAgMyArLQogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCAgICAgICAgICAgfCAxMyArKy0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaCAgICB8ICA4ICstCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmggICAgICAgICB8IDExICsrLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDUG9pc29uLmggICAgICAgICAgfCAgNCArCiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCAgICAgICAgICB8IDE0ICst
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCAgIHwg
MjAgKysrKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oICAg
ICAgIHwgOTEgKysrKysrKysrKysrKysrKy0tLS0tLQogLi4uL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVySW5saW5lcy5oICAgfCAyMCArKy0tLQogU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUluc3RhbmNlLmggICAgICAgICAgfCAgNCArLQogLi4uL3dhc20vanMvSlNX
ZWJBc3NlbWJseUluc3RhbmNlLmNwcCAgICAgICAgICAgICAgfCAgOCArLQogLi4uL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmggfCAxNyArKy0tCiAuLi4vSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmggICB8ICAyICstCiAuLi4v
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmggICB8IDEwICsrLQog
Li4uL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcCAgfCAxMCAr
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5oIHwg
IDYgKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcCAgICAgICAg
IHwgMzggKysrKysrLS0tCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICAg
ICAgICAgICAgICB8ICA1ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5j
cHAgICAgICAgICAgICB8ICA2ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29y
ZC5oICAgICAgICAgICAgICB8ICA5ICsrLQogLi4uL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlLmggfCAgNCArLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlXcmFw
cGVyRnVuY3Rpb24uaCAgICAgICAgICAgfCAgNCArLQogU291cmNlL1dURi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysKIFNvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgICAgIHwgIDIgKwogU291cmNlL1dURi93dGYv
RHVtYlB0clRyYWl0cy5oICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQogU291cmNlL1dURi93
dGYvRHVtYlZhbHVlVHJhaXRzLmggICAgICAgICAgICAgICAgICAgfCA0OCArKysrKysrKysrKysK
IFNvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUg
Ky0KIFNvdXJjZS9XVEYvd3RmL1BvaXNvbmVkLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwg
MTkgKysrKysKIDI5IGZpbGVzIGNoYW5nZWQsIDM3MCBpbnNlcnRpb25zKCspLCAxMDggZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRz
LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBiMzRjZGE3Li44MTMxZTdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MSBAQAorMjAxOC0wMS0xMiAgSkYgQmFzdGll
biAgPGpmYmFzdGllbkBhcHBsZS5jb20+CisKKyAgICAgICAgUG9pc29uZWRXcml0ZUJhcnJpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTU5OQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY0NzQzNTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcG9pc29uaW5nIG9mIFdyaXRlQmFycmll
ciBvYmplY3RzLCBhbmQgdXNlIHRoaXMgZm9yCisgICAgICAgIFdlYkFzc2VtYmx5IGJlY2F1c2Ug
aXQgaXMgcGVyZi1uZXV0cmFsLCBhdCBsZWFzdCBvbiBXYXNtQmVuY2ggb24KKyAgICAgICAgbXkg
TUJQLiBJZiBpdCBpbmRlZWQgaXMgcGVyZi1uZXV0cmFsIGFjY29yZGluZyB0byB0aGUgYm90cywg
c3RhcnQKKyAgICAgICAgdXNpbmcgaXQgaW4gbW9yZSBwZXJmb3JtYW5jZS1zZW5zaXRpdmUgcGxh
Y2VzLgorCisgICAgICAgICogaGVhcC9IYW5kbGVUeXBlcy5oOgorICAgICAgICAqIGhlYXAvU2xv
dFZpc2l0b3IuaDoKKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oOgorICAgICAg
ICAoSlNDOjpTbG90VmlzaXRvcjo6YXBwZW5kKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6
OmFwcGVuZEhpZGRlbik6CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmg6CisgICAgICAg
ICogcnVudGltZS9KU0NQb2lzb24uaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgor
ICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OnNldFByb3RvdHlwZVdpdGhvdXRUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpzZXRHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFBy
ZXZpb3VzSUQpOgorICAgICAgICAqIHJ1bnRpbWUvV3JpdGVCYXJyaWVyLmg6CisgICAgICAgIChK
U0M6OldyaXRlQmFycmllckJhc2U6OmNvcHlGcm9tKToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJy
aWVyQmFzZTo6Z2V0IGNvbnN0KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6b3Bl
cmF0b3IqIGNvbnN0KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6b3BlcmF0b3It
PiBjb25zdCk6CisgICAgICAgIChKU0M6OldyaXRlQmFycmllckJhc2U6OmNsZWFyKToKKyAgICAg
ICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6c2xvdCk6CisgICAgICAgIChKU0M6OldyaXRlQmFy
cmllckJhc2U6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJp
ZXJCYXNlOjpzZXRXaXRob3V0V3JpdGVCYXJyaWVyKToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJy
aWVyQmFzZTo6dW52YWxpZGF0ZWRHZXQgY29uc3QpOgorICAgICAgICAoSlNDOjpvcGVyYXRvcj09
KToKKyAgICAgICAgKiBydW50aW1lL1dyaXRlQmFycmllcklubGluZXMuaDoKKyAgICAgICAgKEpT
Qzo6VHJhaXRzPjo6c2V0KToKKyAgICAgICAgKEpTQzo6VHJhaXRzPjo6c2V0TWF5QmVOdWxsKToK
KyAgICAgICAgKEpTQzo6VHJhaXRzPjo6c2V0RWFybHlWYWx1ZSk6CisgICAgICAgIChKU0M6OkR1
bWJWYWx1ZVRyYWl0czxVbmtub3duPj46OnNldCk6CisgICAgICAgICogd2FzbS9XYXNtSW5zdGFu
Y2UuaDoKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHA6CisgICAg
ICAgIChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJseUluc3RhbmNlKToK
KyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6dmlzaXRDaGlsZHJlbik6CisgICAg
ICAgIChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAgKiB3YXNt
L2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5
SW5zdGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUpOgorICAgICAgICAqIHdhc20vanMvSlNX
ZWJBc3NlbWJseU1lbW9yeS5oOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVs
ZS5oOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNXZWJBc3NlbWJseVRhYmxlOjpKU1dlYkFzc2VtYmx5VGFibGUpOgorICAgICAgICAo
SlNDOjpKU1dlYkFzc2VtYmx5VGFibGU6Omdyb3cpOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2Vt
Ymx5VGFibGU6OmNsZWFyRnVuY3Rpb24pOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJs
eVRhYmxlLmg6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChKU0M6
Oldhc206Om1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKToKKyAgICAgICAgKEpTQzo6V2FzbTo6aGFu
ZGxlQmFkSTY0VXNlKToKKyAgICAgICAgKEpTQzo6V2FzbTo6d2FzbVRvSlMpOgorICAgICAgICAq
IHdhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dl
YkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlNb2R1
bGVSZWNvcmQ6OmxpbmspOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6
ZXZhbHVhdGUpOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaDoK
KyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oOgorICAgICAgICAqIHdh
c20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaDoKKwogMjAxOC0wMS0wNCAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvZGVCbG9ja3Mgc2hvdWxkIGJl
IGluIElzb1N1YnNwYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SGFuZGxlVHlwZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZVR5cGVzLmgK
aW5kZXggNmNmMTFkZi4uNGUzNTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSGFuZGxlVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5k
bGVUeXBlcy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI5LDcgKzI5LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXR5cGVkZWYgZW51
bSB7IH0gVW5rbm93bjsKIHR5cGVkZWYgSlNWYWx1ZSogSGFuZGxlU2xvdDsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RydWN0IEhhbmRsZVR5cGVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9TbG90VmlzaXRvci5oCmluZGV4IGE1NTFjMWUuLmFmYWM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJJ
dGVyYXRpb25TdGF0dXMuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJWaXNp
dFJhY2VLZXkuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Nb25v
dG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC00NCw3ICs0
NSw3IEBAIGNsYXNzIE1hcmtpbmdDb25zdHJhaW50U29sdmVyOwogY2xhc3MgVW5jb25kaXRpb25h
bEZpbmFsaXplcjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWs7CiBjbGFzcyBXZWFr
UmVmZXJlbmNlSGFydmVzdGVyOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJy
aWVyQmFzZTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRyYWl0cz4gY2xhc3MgV3Jp
dGVCYXJyaWVyQmFzZTsKIAogdHlwZWRlZiB1aW50MzJfdCBIZWFwVmVyc2lvbjsKIApAQCAtNzAs
MTEgKzcxLDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYXBwZW5kKENvbnNlcnZhdGl2ZVJvb3Rz
Jik7CiAgICAgCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhcHBlbmQoY29uc3QgV3Jp
dGVCYXJyaWVyQmFzZTxUPiYpOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYXBwZW5k
SGlkZGVuKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VD4mKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBUcmFpdHM+IHZvaWQgYXBwZW5kKGNvbnN0IFdyaXRlQmFycmllckJhc2U8
VCwgVHJhaXRzPiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRyYWl0cz4g
dm9pZCBhcHBlbmRIaWRkZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxULCBUcmFpdHM+Jik7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgSXRlcmF0b3I+IHZvaWQgYXBwZW5kKEl0ZXJhdG9yIGJlZ2lu
ICwgSXRlcmF0b3IgZW5kKTsKLSAgICB2b2lkIGFwcGVuZFZhbHVlcyhjb25zdCBXcml0ZUJhcnJp
ZXJCYXNlPFVua25vd24+Kiwgc2l6ZV90IGNvdW50KTsKLSAgICB2b2lkIGFwcGVuZFZhbHVlc0hp
ZGRlbihjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+Kiwgc2l6ZV90IGNvdW50KTsKKyAg
ICB2b2lkIGFwcGVuZFZhbHVlcyhjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24sIER1bWJW
YWx1ZVRyYWl0czxVbmtub3duPj4qLCBzaXplX3QgY291bnQpOworICAgIHZvaWQgYXBwZW5kVmFs
dWVzSGlkZGVuKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93biwgRHVtYlZhbHVlVHJhaXRz
PFVua25vd24+PiosIHNpemVfdCBjb3VudCk7CiAgICAgCiAgICAgLy8gVGhlc2UgZG9uJ3QgcmVx
dWlyZSB5b3UgdG8gcHJvdmUgdGhhdCB5b3UgaGF2ZSBhIFdyaXRlQmFycmllcjw+LiBUaGF0IG1h
a2VzIHNlbnNlCiAgICAgLy8gZm9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvU2xvdFZpc2l0b3JJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9T
bG90VmlzaXRvcklubGluZXMuaAppbmRleCBhYjA5ODkzLi5mMzZkMTdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaApAQCAtMTAzLDE0ICsx
MDMsMTQgQEAgQUxXQVlTX0lOTElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBlbmQoY29uc3QgV2Vh
azxUPiYgd2VhaykKICAgICBhcHBlbmRVbmJhcnJpZXJlZCh3ZWFrLmdldCgpKTsKIH0KIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4KLUFMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6YXBwZW5k
KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VD4mIHNsb3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBUcmFpdHM+CitBTFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZChj
b25zdCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz4mIHNsb3QpCiB7CiAgICAgYXBwZW5kVW5i
YXJyaWVyZWQoc2xvdC5nZXQoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1BTFdBWVNf
SU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZEhpZGRlbihjb25zdCBXcml0ZUJhcnJpZXJC
YXNlPFQ+JiBzbG90KQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPgorQUxX
QVlTX0lOTElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBlbmRIaWRkZW4oY29uc3QgV3JpdGVCYXJy
aWVyQmFzZTxULCBUcmFpdHM+JiBzbG90KQogewogICAgIGFwcGVuZEhpZGRlblVuYmFycmllcmVk
KHNsb3QuZ2V0KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1
ZS5oCmluZGV4IDlmMzlhM2MuLjU5YjQzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogIENvcHlyaWdodCAoQykg
MTk5OS0yMDAxIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCiAgKiAgQ29weXJpZ2h0IChD
KSAyMDAxIFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAz
LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykg
MjAwMy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC02OCw4ICs2OCwxMyBAQCBzdHJ1Y3QgQ2xhc3NJbmZvOwogc3RydWN0IER1bXBD
b250ZXh0Owogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IE1ldGhvZFRhYmxlOworZW51bSBj
bGFzcyBVbmtub3duIHsgfTsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIFdyaXRlQmFycmll
ckJhc2U7Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBXcml0ZUJh
cnJpZXJCYXNlOwordGVtcGxhdGU8Y2xhc3MgVD4KK3VzaW5nIFdyaXRlQmFycmllclRyYWl0c1Nl
bGVjdCA9IHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQsIFVua25vd24+
Ojp2YWx1ZSwKKyAgICBEdW1iVmFsdWVUcmFpdHM8VD4sIER1bWJQdHJUcmFpdHM8VD4KKz46OnR5
cGU7CiAKIGVudW0gUHJlZmVycmVkUHJpbWl0aXZlVHlwZSB7IE5vUHJlZmVyZW5jZSwgUHJlZmVy
TnVtYmVyLCBQcmVmZXJTdHJpbmcgfTsKIGVudW0gRUNNQU1vZGUgeyBTdHJpY3RNb2RlLCBOb3RT
dHJpY3RNb2RlIH07CkBAIC00NTMsNyArNDU4LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZh
dGU6Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFQ+IEpTVmFsdWUoV3JpdGVCYXJyaWVyQmFzZTxUPik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFQ+IEpTVmFsdWUoV3JpdGVCYXJyaWVyQmFzZTxULCBXcml0
ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8VD4+KTsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZh
bHVlVGFnIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAgICAgSlNWYWx1ZShIYXNoVGFibGVE
ZWxldGVkVmFsdWVUYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDUG9pc29uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NQb2lzb24u
aAppbmRleCBjZWQwMTIwLi5iNTdjYjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NQb2lzb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NQb2lzb24uaApAQCAtNTEsNiArNTEsMTAgQEAgZW51bSBQb2lzb24gewogICAgIEpTV2Vi
QXNzZW1ibHlUYWJsZVBvaXNvbiwKICAgICBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGVQb2lzb24s
CiAgICAgVW5saW5rZWRTb3VyY2VDb2RlUG9pc29uLAorICAgIFdlYkFzc2VtYmx5RnVuY3Rpb25C
YXNlUG9pc29uLAorICAgIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkUG9pc29uLAorICAgIFdlYkFz
c2VtYmx5VG9KU0NhbGxlZVBvaXNvbiwKKyAgICBXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblBv
aXNvbiwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuaAppbmRleCAzYTNmZTMxLi45ZDQ1NGY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDgtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIxMSw3ICsyMTEsNyBAQCBwdWJsaWM6
CiAgICAgUHJvcGVydHlPZmZzZXQgYWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbihWTSYsIFBy
b3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgY29uc3QgRnVuYyYpOwogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEZ1bmM+CiAgICAgUHJvcGVydHlPZmZzZXQgcmVtb3ZlUHJvcGVydHlXaXRo
b3V0VHJhbnNpdGlvbihWTSYsIFByb3BlcnR5TmFtZSwgY29uc3QgRnVuYyYpOwotICAgIHZvaWQg
c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24oVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZSkg
eyBtX3Byb3RvdHlwZS5zZXQodm0sIHRoaXMsIHByb3RvdHlwZSk7IH0KKyAgICB2b2lkIHNldFBy
b3RvdHlwZVdpdGhvdXRUcmFuc2l0aW9uKFZNJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgICAg
ICAKICAgICBib29sIGlzRGljdGlvbmFyeSgpIGNvbnN0IHsgcmV0dXJuIGRpY3Rpb25hcnlLaW5k
KCkgIT0gTm9uZURpY3Rpb25hcnlLaW5kOyB9CiAgICAgYm9vbCBpc1VuY2FjaGVhYmxlRGljdGlv
bmFyeSgpIGNvbnN0IHsgcmV0dXJuIGRpY3Rpb25hcnlLaW5kKCkgPT0gVW5jYWNoZWREaWN0aW9u
YXJ5S2luZDsgfQpAQCAtMjY1LDcgKzI2NSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE5PVEU6IFRo
aXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0
cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUg
aXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgotICAgIHZv
aWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkg
eyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KKyAgICB2b2lk
IHNldEdsb2JhbE9iamVjdChWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICBBTFdBWVNfSU5M
SU5FIGJvb2wgaGFzTW9ub1Byb3RvKCkgY29uc3QKICAgICB7CkBAIC03MzgsMTMgKzczOCw3IEBA
IHByaXZhdGU6CiAgICAgUHJvcGVydHlUYWJsZSogdGFrZVByb3BlcnR5VGFibGVPckNsb25lSWZQ
aW5uZWQoVk0mKTsKICAgICBQcm9wZXJ0eVRhYmxlKiBjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5p
bmcoVk0mKTsKIAotICAgIHZvaWQgc2V0UHJldmlvdXNJRChWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQotICAgIHsKLSAgICAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCi0gICAgICAgICAgICBy
YXJlRGF0YSgpLT5zZXRQcmV2aW91c0lEKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBtX3ByZXZpb3VzT3JSYXJlRGF0YS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7
Ci0gICAgfQorICAgIHZvaWQgc2V0UHJldmlvdXNJRChWTSYsIFN0cnVjdHVyZSopOwogCiAgICAg
dm9pZCBjbGVhclByZXZpb3VzSUQoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAppbmRleCA0ZTYwZjUzLi45MDQ3ZjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNDQxLDExICs0NDEsMjkgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVt
b3ZlUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbihWTSYsIFByb3BlcnR5TmEKICAgICByZXR1cm4g
cmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1
Y3R1cmU6OnNldFByb3RvdHlwZVdpdGhvdXRUcmFuc2l0aW9uKFZNJiB2bSwgSlNWYWx1ZSBwcm90
b3R5cGUpCit7CisgICAgbV9wcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBwcm90b3R5cGUpOworfQor
CitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIG1fZ2xvYmFsT2JqZWN0LnNldCh2
bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsKK30KKwogQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVy
ZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAg
IG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0K
IAorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJldmlvdXNJRChWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIGlmIChoYXNSYXJlRGF0YSgpKQorICAgICAgICBy
YXJlRGF0YSgpLT5zZXRQcmV2aW91c0lEKHZtLCBzdHJ1Y3R1cmUpOworICAgIGVsc2UKKyAgICAg
ICAgbV9wcmV2aW91c09yUmFyZURhdGEuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOworfQorCiBB
TFdBWVNfSU5MSU5FIGJvb2wgU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29u
c3QgU3RydWN0dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpCiB7CiAgICAgaWYgKCFhIHx8ICFi
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAppbmRleCBh
OTkxMzg2Li40OThlOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Xcml0ZUJhcnJpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0
ZUJhcnJpZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEx
LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNywxMSBAQAogCiAjaW5jbHVkZSAiR0NBc3NlcnRpb25z
LmgiCiAjaW5jbHVkZSAiSGFuZGxlVHlwZXMuaCIKKyNpbmNsdWRlICJKU0NQb2lzb24uaCIKKyNp
bmNsdWRlIDx0eXBlX3RyYWl0cz4KKyNpbmNsdWRlIDx3dGYvRHVtYlB0clRyYWl0cy5oPgorI2lu
Y2x1ZGUgPHd0Zi9EdW1iVmFsdWVUcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvUG9pc29uZWQuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTM4LDcgKzQzLDEyIEBAIGNsYXNzIEpTQ2VsbDsKIGNs
YXNzIFZNOwogY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNz
IFdyaXRlQmFycmllckJhc2U7Cit0ZW1wbGF0ZTxjbGFzcyBUPgordXNpbmcgV3JpdGVCYXJyaWVy
VHJhaXRzU2VsZWN0ID0gdHlwZW5hbWUgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWU8VCwg
VW5rbm93bj46OnZhbHVlLAorICAgIER1bWJWYWx1ZVRyYWl0czxUPiwgRHVtYlB0clRyYWl0czxU
PgorPjo6dHlwZTsKKwordGVtcGxhdGU8Y2xhc3MgVCwgdHlwZW5hbWUgVHJhaXRzID0gV3JpdGVC
YXJyaWVyVHJhaXRzU2VsZWN0PFQ+PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlOwogdGVtcGxhdGU8
PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlPEpTVmFsdWU+OwogCiBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIHNsb3dWYWxpZGF0ZUNlbGwoSlNDZWxsKik7CkBAIC02NiwxNSArNzYsMTggQEAgdGVtcGxh
dGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgdmFsaWRhdGVDZWxsKFQpCiAjZW5kaWYKIAogLy8gV2Ug
aGF2ZSBhIHNlcGFyYXRlIGJhc2UgY2xhc3Mgd2l0aCBubyBjb25zdHJ1Y3RvcnMgZm9yIHVzZSBp
biBVbmlvbnMuCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZSB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBXcml0ZUJhcnJp
ZXJCYXNlIHsKKyAgICB1c2luZyBTdG9yYWdlVHlwZSA9IHR5cGVuYW1lIFRyYWl0czo6U3RvcmFn
ZVR5cGU7CisKIHB1YmxpYzoKICAgICB2b2lkIHNldChWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIs
IFQqIHZhbHVlKTsKICAgICAKICAgICAvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgbGlrZSBv
cGVyYXRvcj0sIGJ1dCBpcyBjYWxsZWQgY29weUZyb20gaW5zdGVhZCwgaW4KICAgICAvLyBvcmRl
ciB0byBraW5kbHkgaW5mb3JtIHRoZSBDKysgY29tcGlsZXIgdGhhdCBpdHMgYWR2aWNlIGlzIG5v
dCBhcHByZWNpYXRlZC4KLSAgICB2b2lkIGNvcHlGcm9tKGNvbnN0IFdyaXRlQmFycmllckJhc2U8
VD4mIG90aGVyKQorICAgIHZvaWQgY29weUZyb20oY29uc3QgV3JpdGVCYXJyaWVyQmFzZSYgb3Ro
ZXIpCiAgICAgewotICAgICAgICBtX2NlbGwgPSBvdGhlci5tX2NlbGw7CisgICAgICAgIC8vIEZJ
WE1FIGFkZCB2ZXJzaW9uIHdpdGggZGlmZmVyZW50IFRyYWl0cyBvbmNlIG5lZWRlZC4KKyAgICAg
ICAgVHJhaXRzOjpleGNoYW5nZShtX2NlbGwsIG90aGVyLm1fY2VsbCk7CiAgICAgfQogCiAgICAg
dm9pZCBzZXRNYXlCZU51bGwoVk0mLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSk7CkBA
IC04NiwzMSArOTksNDQgQEAgcHVibGljOgogICAgIFQqIGdldCgpIGNvbnN0CiAgICAgewogICAg
ICAgICAvLyBDb3B5IG1fY2VsbCB0byBhIGxvY2FsIHRvIGF2b2lkIG11bHRpcGxlLXJlYWQgaXNz
dWVzLiAoU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExMDg1ND4pCi0gICAgICAgIEpTQ2VsbCog
Y2VsbCA9IG1fY2VsbDsKKyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1fY2VsbDsKICAgICAg
ICAgaWYgKGNlbGwpCi0gICAgICAgICAgICB2YWxpZGF0ZUNlbGwoY2VsbCk7Ci0gICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFQqPihzdGF0aWNfY2FzdDx2b2lkKj4oY2VsbCkpOworICAg
ICAgICAgICAgdmFsaWRhdGVDZWxsKHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4oc3RhdGljX2Nh
c3Q8dm9pZCo+KFRyYWl0czo6dW53cmFwKGNlbGwpKSkpOworICAgICAgICByZXR1cm4gVHJhaXRz
Ojp1bndyYXAoY2VsbCk7CiAgICAgfQogCiAgICAgVCogb3BlcmF0b3IqKCkgY29uc3QKICAgICB7
Ci0gICAgICAgIEFTU0VSVChtX2NlbGwpOwotICAgICAgICB2YWxpZGF0ZUNlbGw8VD4oc3RhdGlj
X2Nhc3Q8VCo+KG1fY2VsbCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KG1fY2Vs
bCk7CisgICAgICAgIFN0b3JhZ2VUeXBlIGNlbGwgPSBtX2NlbGw7CisgICAgICAgIEFTU0VSVChj
ZWxsKTsKKyAgICAgICAgYXV0byB1bndyYXBwZWQgPSBUcmFpdHM6OnVud3JhcChjZWxsKTsKKyAg
ICAgICAgdmFsaWRhdGVDZWxsPFQ+KHVud3JhcHBlZCk7CisgICAgICAgIHJldHVybiBUcmFpdHM6
OnVud3JhcCh1bndyYXBwZWQpOwogICAgIH0KIAogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdAog
ICAgIHsKLSAgICAgICAgQVNTRVJUKG1fY2VsbCk7Ci0gICAgICAgIHZhbGlkYXRlQ2VsbChzdGF0
aWNfY2FzdDxUKj4obV9jZWxsKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4obV9j
ZWxsKTsKKyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1fY2VsbDsKKyAgICAgICAgQVNTRVJU
KGNlbGwpOworICAgICAgICBhdXRvIHVud3JhcHBlZCA9IFRyYWl0czo6dW53cmFwKGNlbGwpOwor
ICAgICAgICB2YWxpZGF0ZUNlbGwodW53cmFwcGVkKTsKKyAgICAgICAgcmV0dXJuIHVud3JhcHBl
ZDsKICAgICB9CiAKLSAgICB2b2lkIGNsZWFyKCkgeyBtX2NlbGwgPSAwOyB9Ci0gICAgCi0gICAg
VCoqIHNsb3QoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqKj4oJm1fY2VsbCk7IH0KKyAg
ICB2b2lkIGNsZWFyKCkgeyBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgbnVsbHB0cik7IH0KKwor
ICAgIC8vIFNsb3QgY2Fubm90IGJlIHVzZWQgd2hlbiBwb2ludGVycyBhcmVuJ3Qgc3RvcmVkIGFz
LWlzLgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJhcnJpZXJULCB0eXBlbmFtZSBCYXJyaWVyVHJh
aXRzLCBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfc2FtZTxCYXJyaWVyVHJhaXRzLCBEdW1iUHRy
VHJhaXRzPEJhcnJpZXJUPj46OnZhbHVlLCB2b2lkKj4gPSBudWxscHRyPgorICAgIHN0cnVjdCBT
bG90SGVscGVyIHsKKyAgICAgICAgc3RhdGljIEJhcnJpZXJUKiogcmVpbnRlcnByZXQodHlwZW5h
bWUgQmFycmllclRyYWl0czo6U3RvcmFnZVR5cGUqIGNlbGwpIHsgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8VCoqPihjZWxsKTsgfQorICAgIH07CisKKyAgICBUKiogc2xvdCgpCisgICAgeworICAg
ICAgICByZXR1cm4gU2xvdEhlbHBlcjxULCBUcmFpdHM+OjpyZWludGVycHJldCgmbV9jZWxsKTsK
KyAgICB9CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2VsbDsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAh
IW1fY2VsbDsgfQogICAgIAogICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1f
Y2VsbDsgfQogCkBAIC0xMTksMTYgKzE0NSwxNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdSSVRF
X0JBUlJJRVJfUFJPRklMSU5HKQogICAgICAgICBXcml0ZUJhcnJpZXJDb3VudGVyczo6dXNlc1dp
dGhvdXRCYXJyaWVyRnJvbUNwcC5jb3VudCgpOwogI2VuZGlmCi0gICAgICAgIHRoaXMtPm1fY2Vs
bCA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4odmFsdWUpOworICAgICAgICBUcmFpdHM6OmV4
Y2hhbmdlKHRoaXMtPm1fY2VsbCwgdmFsdWUpOwogICAgIH0KIAotICAgIFQqIHVudmFsaWRhdGVk
R2V0KCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oc3RhdGljX2Nhc3Q8dm9p
ZCo+KG1fY2VsbCkpOyB9CisgICAgVCogdW52YWxpZGF0ZWRHZXQoKSBjb25zdCB7IHJldHVybiBU
cmFpdHM6OnVud3JhcChtX2NlbGwpOyB9CiAKIHByaXZhdGU6Ci0gICAgSlNDZWxsKiBtX2NlbGw7
CisgICAgU3RvcmFnZVR5cGUgbV9jZWxsOwogfTsKIAotdGVtcGxhdGUgPD4gY2xhc3MgV3JpdGVC
YXJyaWVyQmFzZTxVbmtub3duPiB7Cit0ZW1wbGF0ZSA8PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNl
PFVua25vd24sIER1bWJWYWx1ZVRyYWl0czxVbmtub3duPj4gewogcHVibGljOgogICAgIHZvaWQg
c2V0KFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgSlNWYWx1ZSk7CiAgICAgdm9pZCBzZXRXaXRo
b3V0V3JpdGVCYXJyaWVyKEpTVmFsdWUgdmFsdWUpCkBAIC0xNjUsOSArMTkxLDEyIEBAIHByaXZh
dGU6CiAgICAgRW5jb2RlZEpTVmFsdWUgbV92YWx1ZTsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBXcml0ZUJhcnJpZXIgOiBwdWJsaWMgV3JpdGVCYXJyaWVyQmFzZTxUPiB7Cit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzID0gV3JpdGVCYXJyaWVyVHJhaXRz
U2VsZWN0PFQ+PgorY2xhc3MgV3JpdGVCYXJyaWVyIDogcHVibGljIFdyaXRlQmFycmllckJhc2U8
VCwgVHJhaXRzPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
c3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IFRyYWl0czo6cG9pc29uOworCiAgICAgV3Jp
dGVCYXJyaWVyKCkKICAgICB7CiAgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIo
MCk7CkBAIC0xOTIsOSArMjIxLDEyIEBAIHB1YmxpYzoKIH07CiAKIGVudW0gVW5kZWZpbmVkV3Jp
dGVCYXJyaWVyVGFnVHlwZSB7IFVuZGVmaW5lZFdyaXRlQmFycmllclRhZyB9OwotdGVtcGxhdGUg
PD4gY2xhc3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8
VW5rbm93bj4gewordGVtcGxhdGUgPD4KK2NsYXNzIFdyaXRlQmFycmllcjxVbmtub3duLCBEdW1i
VmFsdWVUcmFpdHM8VW5rbm93bj4+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93biwg
RHVtYlZhbHVlVHJhaXRzPFVua25vd24+PiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IER1bWJWYWx1ZVRy
YWl0czxVbmtub3duPjo6cG9pc29uOworCiAgICAgV3JpdGVCYXJyaWVyKCkKICAgICB7CiAgICAg
ICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoSlNWYWx1ZSgpKTsKQEAgLTIxNiw5ICsy
NDgsMTggQEAgcHVibGljOgogICAgIH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBVLCB0eXBl
bmFtZSBWPiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VT4m
IGxocywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWPiYgcmhzKQordGVtcGxhdGUgPHR5cGVuYW1l
IFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFRyYWl0c1UsIHR5cGVuYW1lIFRyYWl0c1Y+Citpbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VSwgVHJhaXRzVT4mIGxo
cywgY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWLCBUcmFpdHNWPiYgcmhzKQogewogICAgIHJldHVy
biBsaHMuZ2V0KCkgPT0gcmhzLmdldCgpOwogfQogCit0ZW1wbGF0ZTx1aW50MzJfdCBrZXksIGNs
YXNzIFQ+Cit1c2luZyBQb2lzb25lZFdyaXRlQmFycmllclRyYWl0c1NlbGVjdCA9IHR5cGVuYW1l
IHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQsIFVua25vd24+Ojp2YWx1ZSwKKyAgICBX
VEY6OkNvbnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM8a2V5LCBUPiwgV1RGOjpDb25zdEV4cHJQ
b2lzb25lZFB0clRyYWl0czxrZXksIFQ+Cis+Ojp0eXBlOworCit0ZW1wbGF0ZSA8dWludDMyX3Qg
a2V5LCB0eXBlbmFtZSBUPgordXNpbmcgUG9pc29uZWRXcml0ZUJhcnJpZXIgPSBXcml0ZUJhcnJp
ZXI8VCwgUG9pc29uZWRXcml0ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8a2V5LCBUPj47CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3Jp
dGVCYXJyaWVySW5saW5lcy5oCmluZGV4IDRiZDJkZDYuLjllMTEzNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllcklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXJJbmxpbmVzLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsOCAr
MzAsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxp
bmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93
bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+Citp
bmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldChWTSYgdm0sIGNvbnN0
IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIEFTU0VSVCh2YWx1ZSk7CiAgICAgQVNT
RVJUKCFPcHRpb25zOjp1c2VDb25jdXJyZW50SklUKCkgfHwgIWlzQ29tcGlsYXRpb25UaHJlYWQo
KSk7CkBAIC0zOSwyMiArMzksMjIgQEAgaW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxUPjo6
c2V0KFZNJiB2bSwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpCiAgICAgc2V0RWFybHlW
YWx1ZSh2bSwgb3duZXIsIHZhbHVlKTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxp
bmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXRNYXlCZU51bGwoVk0mIHZtLCBjb25zdCBK
U0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBU
cmFpdHM+CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldE1heUJl
TnVsbChWTSYgdm0sIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIGlmICh2
YWx1ZSkKICAgICAgICAgdmFsaWRhdGVDZWxsKHZhbHVlKTsKICAgICBzZXRFYXJseVZhbHVlKHZt
LCBvd25lciwgdmFsdWUpOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWlubGluZSB2b2lk
IFdyaXRlQmFycmllckJhc2U8VD46OnNldEVhcmx5VmFsdWUoVk0mIHZtLCBjb25zdCBKU0NlbGwq
IG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+
CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldEVhcmx5VmFsdWUo
Vk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKIHsKLSAgICB0aGlzLT5tX2Nl
bGwgPSByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KHZhbHVlKTsKLSAgICB2bS5oZWFwLndyaXRl
QmFycmllcihvd25lciwgdGhpcy0+bV9jZWxsKTsKKyAgICBUcmFpdHM6OmV4Y2hhbmdlKHRoaXMt
Pm1fY2VsbCwgdmFsdWUpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKG93bmVyLCBzdGF0aWNf
Y2FzdDxKU0NlbGwqPih2YWx1ZSkpOwogfQogCi1pbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNl
PFVua25vd24+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVl
KQoraW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duLCBEdW1iVmFsdWVUcmFpdHM8
VW5rbm93bj4+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVl
KQogewogICAgIEFTU0VSVCghT3B0aW9uczo6dXNlQ29uY3VycmVudEpJVCgpIHx8ICFpc0NvbXBp
bGF0aW9uVGhyZWFkKCkpOwogICAgIG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUluc3RhbmNlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaAppbmRleCAyYzA4MDAwLi5h
YTlmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFu
Y2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDAs
NyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICBJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UgeyBu
dWxscHRyIH07CiAgICAgICAgIFdhc206Oldhc21FbnRyeXBvaW50TG9hZExvY2F0aW9uIHdhc21F
bnRyeXBvaW50IHsgbnVsbHB0ciB9OwogICAgICAgICB2b2lkKiB3YXNtVG9FbWJlZGRlclN0dWJF
eGVjdXRhYmxlQWRkcmVzcyB7IG51bGxwdHIgfTsKLSAgICAgICAgdm9pZCogaW1wb3J0RnVuY3Rp
b24geyBudWxscHRyIH07IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0Pi4KKyAgICAgICAgdm9pZCogaW1wb3J0RnVuY3Rpb24geyBudWxscHRyIH07
IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0
Pi4KICAgICB9OwogICAgIHVuc2lnbmVkIG51bUltcG9ydEZ1bmN0aW9ucygpIGNvbnN0IHsgcmV0
dXJuIG1fbnVtSW1wb3J0RnVuY3Rpb25zOyB9CiAgICAgSW1wb3J0RnVuY3Rpb25JbmZvKiBpbXBv
cnRGdW5jdGlvbkluZm8oc2l6ZV90IGltcG9ydEZ1bmN0aW9uTnVtKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAKaW5k
ZXggY2JlZjM2OC4uMzRhYzI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwCkBAIC01NCw3ICs1NCw3IEBAIEpT
V2ViQXNzZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJseUluc3RhbmNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXCiAgICAgLCBtX2luc3RhbmNlKFdURk1vdmUoaW5zdGFuY2Up
KQogewogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0aGlzLT5pbnN0YW5jZSgpLm51bUlt
cG9ydEZ1bmN0aW9ucygpOyArK2kpCi0gICAgICAgIG5ldyAodGhpcy0+aW5zdGFuY2UoKS5pbXBv
cnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihpKSkgV3JpdGVCYXJyaWVyPEpTT2Jq
ZWN0PigpOworICAgICAgICBuZXcgKHRoaXMtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248UG9p
c29uZWRCYXJyaWVyPEpTT2JqZWN0Pj4oaSkpIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsK
IH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9k
dWxlTmFtZXNwYWNlT2JqZWN0KQpAQCAtNjUsNyArNjUsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1
bGUsCiAgICAgbV9tb2R1bGUuc2V0KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxlTmFt
ZXNwYWNlT2JqZWN0LnNldCh2bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKICAgICBt
X2NhbGxlZS5zZXQodm0sIHRoaXMsIG1vZHVsZS0+Y2FsbGVlKCkpOwotICAgIAorCiAgICAgaGVh
cCgpLT5yZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9yeUFs
bG9jYXRlZCgpKTsKIH0KIApAQCAtODgsNyArODgsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0
YW5jZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQog
ICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9yLnJl
cG9ydEV4dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1lbW9y
eUFsbG9jYXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVjdC0+
aW5zdGFuY2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQotICAgICAgICB2aXNpdG9yLmFw
cGVuZCgqdGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8
SlNPYmplY3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFz
c2VtYmx5SW5zdGFuY2UgYWxpdmUuCisgICAgICAgIHZpc2l0b3IuYXBwZW5kKCp0aGlzT2JqZWN0
LT5pbnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KGkp
KTsgLy8gVGhpcyBhbHNvIGtlZXBzIHRoZSBmdW5jdGlvbnMnIEpTV2ViQXNzZW1ibHlJbnN0YW5j
ZSBhbGl2ZS4KIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmFsaXplQ3JlYXRp
b24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIFJlZjxXYXNtOjpDb2RlQmxvY2s+JiYgd2FzbUNv
ZGVCbG9jaykKQEAgLTIzNiw3ICsyMzYsNyBAQCBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIEpTV2Vi
QXNzZW1ibHlJbnN0YW5jZTo6Y3JlYXRlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKUwogICAg
ICAgICAgICAgYXV0byogaW5mbyA9IGpzSW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rp
b25JbmZvKG51bUltcG9ydEZ1bmN0aW9ucyk7CiAgICAgICAgICAgICBpbmZvLT50YXJnZXRJbnN0
YW5jZSA9IGNhbGxlZUluc3RhbmNlOwogICAgICAgICAgICAgaW5mby0+d2FzbUVudHJ5cG9pbnQg
PSB3YXNtRW50cnlwb2ludDsKLSAgICAgICAgICAgIGpzSW5zdGFuY2UtPmluc3RhbmNlKCkuaW1w
b3J0RnVuY3Rpb248V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4obnVtSW1wb3J0RnVuY3Rpb25zKS0+
c2V0KHZtLCBqc0luc3RhbmNlLCBmdW5jdGlvbik7CisgICAgICAgICAgICBqc0luc3RhbmNlLT5p
bnN0YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KG51bUlt
cG9ydEZ1bmN0aW9ucyktPnNldCh2bSwganNJbnN0YW5jZSwgZnVuY3Rpb24pOwogICAgICAgICAg
ICAgKytudW1JbXBvcnRGdW5jdGlvbnM7CiAgICAgICAgICAgICAvLyB2LiBBcHBlbmQgY2xvc3Vy
ZSB0byBpbXBvcnRzLgogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQyNWJiY2Qu
LjE3ODBhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2Vi
QXNzZW1ibHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlJbnN0YW5jZS5oCkBAIC03Nyw3ICs3NywxMCBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZlBvaXNvbmVkSW5zdGFuY2UoKSB7IHJldHVybiBP
QkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2luc3RhbmNlKTsgfQotICAg
IHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0Yo
SlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKyAgICBzdGF0aWMgc2l6ZV90IG9m
ZnNldE9mUG9pc29uZWRDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3Nl
bWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Cisg
ICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3Nl
bWJseUluc3RhbmNlUG9pc29uLCBUPjsKIAogcHJvdGVjdGVkOgogICAgIEpTV2ViQXNzZW1ibHlJ
bnN0YW5jZShWTSYsIFN0cnVjdHVyZSosIFJlZjxXYXNtOjpJbnN0YW5jZT4mJik7CkBAIC05MCwx
MiArOTMsMTIgQEAgcHJpdmF0ZToKIAogICAgIFBvaXNvbmVkUmVmPEpTV2ViQXNzZW1ibHlJbnN0
YW5jZVBvaXNvbiwgV2FzbTo6SW5zdGFuY2U+IG1faW5zdGFuY2U7CiAKLSAgICBXcml0ZUJhcnJp
ZXI8SlNXZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2Vi
QXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2NrOwotICAgIFdyaXRlQmFycmllcjxKU01vZHVs
ZU5hbWVzcGFjZU9iamVjdD4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Q7Ci0gICAgV3JpdGVCYXJy
aWVyPEpTV2ViQXNzZW1ibHlNZW1vcnk+IG1fbWVtb3J5OwotICAgIFdyaXRlQmFycmllcjxKU1dl
YkFzc2VtYmx5VGFibGU+IG1fdGFibGU7Ci0gICAgV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5VG9K
U0NhbGxlZT4gbV9jYWxsZWU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlNb2R1
bGU+IG1fbW9kdWxlOworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5Q29kZUJsb2Nr
PiBtX2NvZGVCbG9jazsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3Q+IG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0OworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFz
c2VtYmx5TWVtb3J5PiBtX21lbW9yeTsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNXZWJBc3NlbWJs
eVRhYmxlPiBtX3RhYmxlOworICAgIFBvaXNvbmVkQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxs
ZWU+IG1fY2FsbGVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmgKaW5kZXggOGUxMjAy
Mi4uODZjZmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNX
ZWJBc3NlbWJseU1lbW9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlNZW1vcnkuaApAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFBvaXNv
bmVkUmVmPEpTV2ViQXNzZW1ibHlNZW1vcnlQb2lzb24sIFdhc206Ok1lbW9yeT4gbV9tZW1vcnk7
Ci0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXI+IG1fYnVmZmVyV3JhcHBlcjsKKyAgICBQ
b2lzb25lZFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5TWVtb3J5UG9pc29uLCBKU0FycmF5QnVm
ZmVyPiBtX2J1ZmZlcldyYXBwZXI7CiAgICAgUG9pc29uZWRSZWZQdHI8SlNXZWJBc3NlbWJseU1l
bW9yeVBvaXNvbiwgQXJyYXlCdWZmZXI+IG1fYnVmZmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCmluZGV4IDIwN2Qw
M2IuLjA4OWMyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pT
V2ViQXNzZW1ibHlNb2R1bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9K
U1dlYkFzc2VtYmx5TW9kdWxlLmgKQEAgLTgyLDkgKzgyLDEzIEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgUG9p
c29uZWRSZWY8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNvbiwgV2FzbTo6TW9kdWxlPiBtX21vZHVs
ZTsKLSAgICBXcml0ZUJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9sVGFibGU7Ci0g
ICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2Nrc1tXYXNt
OjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pT
Q2FsbGVlPiBtX2NhbGxlZTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcg
UG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1vZHVs
ZVBvaXNvbiwgVD47CisKKyAgICBQb2lzb25lZEJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0
U3ltYm9sVGFibGU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+
IG1fY29kZUJsb2Nrc1tXYXNtOjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKKyAgICBQb2lzb25lZEJh
cnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxlZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseVRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlUYWJsZS5jcHAKaW5kZXggNTdhMTJlMi4uZDcwYWJlYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwCkBAIC02Myw5
ICs2Myw5IEBAIEpTV2ViQXNzZW1ibHlUYWJsZTo6SlNXZWJBc3NlbWJseVRhYmxlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXYXNtOjpUCiAgICAgLy8gRklYTUU6IEl0IG1pZ2h0
IGJlIHdvcnRoIHRyeWluZyB0byBwcmUtYWxsb2NhdGUgbWF4aW11bSBoZXJlLiBUaGUgc3BlYyBy
ZWNvbW1lbmRzIGRvaW5nIHNvLgogICAgIC8vIEJ1dCBmb3Igbm93LCB3ZSdyZSBub3QgZG9pbmcg
dGhhdC4KICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFy
dGVyIGFib3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgbV9qc0Z1bmN0aW9ucyA9IE1h
bGxvY1B0cjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PikgKiBDaGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNh
ZmVHZXQoKSk7CisgICAgbV9qc0Z1bmN0aW9ucyA9IE1hbGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8
SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0PikgKiBD
aGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNhZmVHZXQoKSk7CiAgICAgZm9y
ICh1aW50MzJfdCBpID0gMDsgaSA8IGFsbG9jYXRlZExlbmd0aCgpOyArK2kpCi0gICAgICAgIG5l
dygmbV9qc0Z1bmN0aW9ucy5nZXQoKVtpXSkgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PigpOworICAg
ICAgICBuZXcoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09iamVj
dD4oKTsKIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5VGFibGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKQEAgLTEwNCwxMCArMTA0LDEwIEBAIGJvb2wgSlNXZWJBc3NlbWJseVRhYmxlOjpncm93KHVp
bnQzMl90IGRlbHRhKQogICAgIHNpemVfdCBuZXdMZW5ndGggPSBncmV3LnZhbHVlKCk7CiAgICAg
aWYgKG5ld0xlbmd0aCA+IG1fdGFibGUtPmFsbG9jYXRlZExlbmd0aChvbGRMZW5ndGgpKQogICAg
ICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFydGVyIGFi
b3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgICAgIG1fanNGdW5jdGlvbnMucmVhbGxv
Yygoc2l6ZW9mKFdyaXRlQmFycmllcjxKU09iamVjdD4pICogQ2hlY2tlZDxzaXplX3Q+KG1fdGFi
bGUtPmFsbG9jYXRlZExlbmd0aChuZXdMZW5ndGgpKSkudW5zYWZlR2V0KCkpOworICAgICAgICBt
X2pzRnVuY3Rpb25zLnJlYWxsb2MoKHNpemVvZihQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+KSAq
IENoZWNrZWQ8c2l6ZV90PihtX3RhYmxlLT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKSkpLnVu
c2FmZUdldCgpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSBvbGRMZW5ndGg7IGkgPCBtX3RhYmxl
LT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKTsgKytpKQotICAgICAgICBuZXcgKCZtX2pzRnVu
Y3Rpb25zLmdldCgpW2ldKSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgICAgIG5ldyAo
Jm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsKIAog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTIxLDcgKzEyMSw3IEBAIEpTT2JqZWN0KiBKU1dlYkFz
c2VtYmx5VGFibGU6OmdldEZ1bmN0aW9uKHVpbnQzMl90IGluZGV4KQogdm9pZCBKU1dlYkFzc2Vt
Ymx5VGFibGU6OmNsZWFyRnVuY3Rpb24odWludDMyX3QgaW5kZXgpCiB7CiAgICAgbV90YWJsZS0+
Y2xlYXJGdW5jdGlvbihpbmRleCk7Ci0gICAgbV9qc0Z1bmN0aW9ucy5nZXQoKVtpbmRleCAmIG1f
dGFibGUtPm1hc2soKV0gPSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgbV9qc0Z1bmN0
aW9ucy5nZXQoKVtpbmRleCAmIG1fdGFibGUtPm1hc2soKV0gPSBQb2lzb25lZEJhcnJpZXI8SlNP
YmplY3Q+KCk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJseVRhYmxlOjpzZXRGdW5jdGlvbihWTSYg
dm0sIHVpbnQzMl90IGluZGV4LCBXZWJBc3NlbWJseUZ1bmN0aW9uKiBmdW5jdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKaW5k
ZXggZGM3NGE4Zi4uYzU0MGU3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKQEAgLTY3LDcgKzY3LDExIEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAg
ICAgUG9pc29uZWRSZWY8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBXYXNtOjpUYWJsZT4gbV90
YWJsZTsKLSAgICBNYWxsb2NQdHI8V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4gbV9qc0Z1bmN0aW9u
czsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVy
ID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBUPjsKKwor
ICAgIE1hbGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+PiBtX2pzRnVuY3Rpb25zOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
YXNtVG9KUy5jcHAKaW5kZXggZTYyZjhjZi4uYjA1ZDQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDEzICs0NiwxNSBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIFdhc20gewogCiB1c2luZyBKSVQgPSBDQ2FsbEhlbHBlcnM7CiAKLXN0
YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBpbXBv
cnRJbmRleCwgR1BSUmVnIHJlc3VsdCkKK3N0YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0SlND
ZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRleCwgR1BSUmVnIHNjcmF0Y2gsIEdQUlJl
ZyByZXN1bHQpCiB7CiAgICAgLy8gV2UncmUgY2FsbGluZyBvdXQgb2YgdGhlIGN1cnJlbnQgV2Vi
QXNzZW1ibHkuSW5zdGFuY2UuIFRoYXQgSW5zdGFuY2UgaGFzIGEgbGlzdCBvZiBhbGwgaXRzIGlt
cG9ydCBmdW5jdGlvbnMuCi0gICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNlKHJlc3VsdCk7
Ci0gICAgaml0LmxvYWRQdHIoSklUOjpBZGRyZXNzKHJlc3VsdCwgSW5zdGFuY2U6Om9mZnNldE9m
SW1wb3J0RnVuY3Rpb24oaW1wb3J0SW5kZXgpKSwgcmVzdWx0KTsKKyAgICBqaXQubG9hZFdhc21D
b250ZXh0SW5zdGFuY2Uoc2NyYXRjaCk7CisgICAgaml0LmxvYWRQdHIoSklUOjpBZGRyZXNzKHNj
cmF0Y2gsIEluc3RhbmNlOjpvZmZzZXRPZkltcG9ydEZ1bmN0aW9uKGltcG9ydEluZGV4KSksIHNj
cmF0Y2gpOworICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2ViQXNz
ZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pjo6cG9pc29uKSwgcmVzdWx0
KTsKKyAgICBqaXQueG9yNjQoc2NyYXRjaCwgcmVzdWx0KTsKIH0KLSAgICAKKwogc3RhdGljIEV4
cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IGhhbmRsZUJhZEk2
NFVzZShWTSogdm0sIEpJVCYgaml0LCBjb25zdCBTaWduYXR1cmUmIHNpZ25hdHVyZSwgdW5zaWdu
ZWQgaW1wb3J0SW5kZXgpCiB7CiAgICAgdW5zaWduZWQgYXJnQ291bnQgPSBzaWduYXR1cmUuYXJn
dW1lbnRDb3VudCgpOwpAQCAtODQsOSArODYsMTQgQEAgc3RhdGljIEV4cGVjdGVkPE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IGhhbmRsZUJhZEk2NFVzZShWTSogdm0sIEoK
IAogICAgICAgICAvLyBTdG9yZSBDYWxsZWUuCiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVs
cGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjEsIEluc3RhbmNlOjpvZmZzZXRPZk93
bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBKU1dlYkFzc2VtYmx5SW5z
dGFuY2U6Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOworICAgICAg
ICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIx
LCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSksIEdQUklu
Zm86OmFyZ3VtZW50R1BSMik7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPFdlYkFzc2VtYmx5
VG9KU0NhbGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CisgICAgICAgIGpp
dC54b3I2NChHUFJJbmZvOjphcmd1bWVudEdQUjMsIEdQUkluZm86OmFyZ3VtZW50R1BSMik7CiAg
ICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjIsIEpJVDo6QWRkcmVzcyhH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGlj
X2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogCisgICAgICAgIC8vIExldCdzIGJlIHBh
cmFub2lkIG9uIHRoZSBleGNlcHRpb24gcGF0aCBhbmQgemVybyBvdXQgdGhlIHBvaXNvbiBpbnN0
ZWFkIG9mIGxlYXZpbmcgaXQgaW4gYW4gYXJndW1lbnQgR1BSLgorICAgICAgICBqaXQubW92ZShD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKKwog
ICAgICAgICBhdXRvIGNhbGwgPSBqaXQuY2FsbCgpOwogICAgICAgICBqaXQuanVtcFRvRXhjZXB0
aW9uSGFuZGxlcigqdm0pOwogCkBAIC0yODQsMTAgKzI5MSwxMiBAQCBFeHBlY3RlZDxNYWNyb0Fz
c2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9KUyhWTSogdm0sIEJhZzxDYWxs
TGlua0luZgogICAgICAgICAKICAgICAgICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNlKEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6
QWRkcmVzcyhHUFJJbmZvOjphcmd1bWVudEdQUjAsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVyKCkp
LCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
Om9mZnNldE9mQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgICAgICBqaXQu
bG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dl
YkFzc2VtYmx5SW5zdGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSksIEdQUkluZm86OmFy
Z3VtZW50R1BSMCk7CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0
KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0Nh
bGxlZT46OnBvaXNvbiksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIGppdC54b3I2
NChHUFJJbmZvOjphcmd1bWVudEdQUjEsIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAg
IGppdC5zdG9yZVB0cihHUFJJbmZvOjphcmd1bWVudEdQUjAsIEpJVDo6QWRkcmVzcyhHUFJJbmZv
OjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8
aW50PihzaXplb2YoUmVnaXN0ZXIpKSkpOwogICAgICAgICAKLSAgICAgICAgbWF0ZXJpYWxpemVJ
bXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxKTsKKyAg
ICAgICAgbWF0ZXJpYWxpemVJbXBvcnRKU0NlbGwoaml0LCBpbXBvcnRJbmRleCwgR1BSSW5mbzo6
YXJndW1lbnRHUFIyLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwogICAgICAgICBzdGF0aWNfYXNz
ZXJ0KEdQUkluZm86Om51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPj0gNCwgIldlIHJlbHkgb24g
dGhpcyB3aXRoIHRoZSBjYWxsIGJlbG93LiIpOwogICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoc2lnbmF0dXJlSW5kZXgpLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYnVmZmVy
KSk7CiAgICAgICAgIGF1dG8gY2FsbCA9IGppdC5jYWxsKCk7CkBAIC00NjUsMTUgKzQ3NCwyNCBA
QCBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9K
UyhWTSogdm0sIEJhZzxDYWxsTGlua0luZgogICAgICAgICB9CiAgICAgfQogCisgICAgR1BSUmVn
IHBvaXNvblNjcmF0Y2ggPSBHUFJJbmZvOjphcmd1bWVudEdQUjE7CisgICAgQVNTRVJUKHBvaXNv
blNjcmF0Y2ggIT0gR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsgLy8gQm90aCBhcmUgdXNlZCBhdCB0
aGUgc2FtZSB0aW1lIGJlbG93LgorCiAgICAgaml0LmxvYWRXYXNtQ29udGV4dEluc3RhbmNlKEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSW5zdGFuY2U6Om9mZnNldE9mT3duZXIoKSksIEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRP
ZkNhbGxlZSgpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKU1dlYkFzc2VtYmx5SW5z
dGFuY2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7
CisgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoSlNXZWJBc3NlbWJseUlu
c3RhbmNlOjpQb2lzb25lZEJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPjo6cG9pc29uKSwg
cG9pc29uU2NyYXRjaCk7CisgICAgaml0LnhvcjY0KHBvaXNvblNjcmF0Y2gsIEdQUkluZm86OmFy
Z3VtZW50R1BSMCk7CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSklU
OjpBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWVTbG90OjpjYWxs
ZWUgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7CiAKICAgICBHUFJSZWcg
aW1wb3J0SlNDZWxsR1BSUmVnID0gR1BSSW5mbzo6cmVnVDA7IC8vIENhbGxlZSBuZWVkcyB0byBi
ZSBpbiByZWdUMCBmb3Igc2xvdyBwYXRoIGJlbG93LgorICAgIEFTU0VSVChwb2lzb25TY3JhdGNo
ICE9IGltcG9ydEpTQ2VsbEdQUlJlZyk7CisKICAgICBBU1NFUlQoIXdhc21DQy5tX2NhbGxlZVNh
dmVSZWdpc3RlcnMuZ2V0KGltcG9ydEpTQ2VsbEdQUlJlZykpOworICAgIG1hdGVyaWFsaXplSW1w
b3J0SlNDZWxsKGppdCwgaW1wb3J0SW5kZXgsIHBvaXNvblNjcmF0Y2gsIGltcG9ydEpTQ2VsbEdQ
UlJlZyk7CiAKLSAgICBtYXRlcmlhbGl6ZUltcG9ydEpTQ2VsbChqaXQsIGltcG9ydEluZGV4LCBp
bXBvcnRKU0NlbGxHUFJSZWcpOworICAgIC8vIExldCdzIGJlIHBhcmFub2lkIHplcm8gb3V0IHRo
ZSBwb2lzb24gaW5zdGVhZCBvZiBsZWF2aW5nIGl0IGluIGFuIGFyZ3VtZW50IEdQUi4KKyAgICBq
aXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSwgcG9pc29uU2NyYXRjaCk7CiAK
ICAgICBqaXQuc3RvcmU2NChpbXBvcnRKU0NlbGxHUFJSZWcsIGNhbGxlZUZyYW1lLndpdGhPZmZz
ZXQoQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0
ZXIpKSkpOwogICAgIGppdC5zdG9yZTMyKEpJVDo6VHJ1c3RlZEltbTMyKG51bWJlck9mUGFyYW1l
dGVycyksIGNhbGxlZUZyYW1lLndpdGhPZmZzZXQoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3Vu
dCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBQYXlsb2FkT2Zmc2V0KSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUZ1
bmN0aW9uQmFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlG
dW5jdGlvbkJhc2UuaAppbmRleCA0OTczZTRkLi5kMTcxOWEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDks
NyArNDksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0Nl
bGwqLCBTbG90VmlzaXRvciYpOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVF
eGVjdXRhYmxlKiwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUsIEpTV2ViQXNz
ZW1ibHlJbnN0YW5jZSopOwogICAgIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseUlu
c3RhbmNlPiBtX2luc3RhbmNlOworCisgICAgUG9pc29uZWRXcml0ZUJhcnJpZXI8V2ViQXNzZW1i
bHlGdW5jdGlvbkJhc2VQb2lzb24sIEpTV2ViQXNzZW1ibHlJbnN0YW5jZT4gbV9pbnN0YW5jZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwCmluZGV4IDc4YmFhNmIu
Ljk1ZGIyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFz
c2VtYmx5TW9kdWxlUmVjb3JkLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9q
cy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFdl
YkFzc2VtYmx5TW9kdWxlUmVjb3JkOjpsaW5rKEV4ZWNTdGF0ZSogZXhlYywgSlNXZWJBc3NlbWJs
eU1vZHVsZSogbW9kdWxlLAogICAgICAgICAgICAgLy8gICBpaS4gKE5vdGU6IEF0IG1vc3Qgb25l
IHdyYXBwZXIgaXMgY3JlYXRlZCBmb3IgYW55IGNsb3N1cmUsIHNvIGZ1bmMgaXMgdW5pcXVlLCBl
dmVuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvY2N1cnJhbmNlcyBpbiB0aGUgbGlzdC4gTW9yZW92
ZXIsIGlmIHRoZSBpdGVtIHdhcyBhbiBpbXBvcnQgdGhhdCBpcyBhbHJlYWR5IGFuIEV4cG9ydGVk
IEZ1bmN0aW9uIEV4b3RpYyBPYmplY3QsIHRoZW4gdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIG9iamVj
dCB3aWxsIGJlIGZvdW5kLiBGb3IgaW1wb3J0cyB0aGF0IGFyZSByZWd1bGFyIEpTIGZ1bmN0aW9u
cywgYSBuZXcgd3JhcHBlciB3aWxsIGJlIGNyZWF0ZWQuKQogICAgICAgICAgICAgaWYgKGV4cC5r
aW5kSW5kZXggPCBmdW5jdGlvbkltcG9ydENvdW50KSB7CiAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgZnVuY3Rpb25JbmRleCA9IGV4cC5raW5kSW5kZXg7Ci0gICAgICAgICAgICAgICAgSlNPYmpl
Y3QqIGZ1bmN0aW9uSW1wb3J0ID0gaW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248
V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4oZnVuY3Rpb25JbmRleCktPmdldCgpOworICAgICAgICAg
ICAgICAgIEpTT2JqZWN0KiBmdW5jdGlvbkltcG9ydCA9IGluc3RhbmNlLT5pbnN0YW5jZSgpLmlt
cG9ydEZ1bmN0aW9uPEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRCYXJyaWVyPEpTT2Jq
ZWN0Pj4oZnVuY3Rpb25JbmRleCktPmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChpc1dlYkFz
c2VtYmx5SG9zdEZ1bmN0aW9uKHZtLCBmdW5jdGlvbkltcG9ydCkpCiAgICAgICAgICAgICAgICAg
ICAgIGV4cG9ydGVkVmFsdWUgPSBmdW5jdGlvbkltcG9ydDsKICAgICAgICAgICAgICAgICBlbHNl
IHsKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOjpsaW5r
KEV4ZWNTdGF0ZSogZXhlYywgSlNXZWJBc3NlbWJseU1vZHVsZSogbW9kdWxlLAogICAgICAgICBB
U1NFUlQoIXNpZ25hdHVyZS5hcmd1bWVudENvdW50KCkpOwogICAgICAgICBBU1NFUlQoc2lnbmF0
dXJlLnJldHVyblR5cGUoKSA9PSBXYXNtOjpWb2lkKTsKICAgICAgICAgaWYgKHN0YXJ0RnVuY3Rp
b25JbmRleFNwYWNlIDwgY29kZUJsb2NrLT5mdW5jdGlvbkltcG9ydENvdW50KCkpIHsKLSAgICAg
ICAgICAgIEpTT2JqZWN0KiBzdGFydEZ1bmN0aW9uID0gaW5zdGFuY2UtPmluc3RhbmNlKCkuaW1w
b3J0RnVuY3Rpb248V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4oc3RhcnRGdW5jdGlvbkluZGV4U3Bh
Y2UpLT5nZXQoKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBzdGFydEZ1bmN0aW9uID0gaW5zdGFu
Y2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248SlNXZWJBc3NlbWJseUluc3RhbmNlOjpQb2lz
b25lZEJhcnJpZXI8SlNPYmplY3Q+PihzdGFydEZ1bmN0aW9uSW5kZXhTcGFjZSktPmdldCgpOwog
ICAgICAgICAgICAgbV9zdGFydEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgc3RhcnRGdW5jdGlvbik7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBXYXNtOjpDYWxsZWUmIGVtYmVkZGVyRW50
cnlwb2ludENhbGxlZSA9IGNvZGVCbG9jay0+ZW1iZWRkZXJFbnRyeXBvaW50Q2FsbGVlRnJvbUZ1
bmN0aW9uSW5kZXhTcGFjZShzdGFydEZ1bmN0aW9uSW5kZXhTcGFjZSk7CkBAIC0yOTUsNyArMjk1
LDcgQEAgSlNWYWx1ZSBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6ZXZhbHVhdGUoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICAgICAgdWludDMyX3QgZnVuY3Rpb25JbmRleCA9IGVsZW1lbnQuZnVu
Y3Rpb25JbmRpY2VzW2ldOwogICAgICAgICAgICAgV2FzbTo6U2lnbmF0dXJlSW5kZXggc2lnbmF0
dXJlSW5kZXggPSBtb2R1bGUuc2lnbmF0dXJlSW5kZXhGcm9tRnVuY3Rpb25JbmRleFNwYWNlKGZ1
bmN0aW9uSW5kZXgpOwogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uSW5kZXggPCBjb2RlQmxvY2st
PmZ1bmN0aW9uSW1wb3J0Q291bnQoKSkgewotICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBmdW5j
dGlvbkltcG9ydCA9IG1faW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248V3JpdGVC
YXJyaWVyPEpTT2JqZWN0Pj4oZnVuY3Rpb25JbmRleCktPmdldCgpOworICAgICAgICAgICAgICAg
IEpTT2JqZWN0KiBmdW5jdGlvbkltcG9ydCA9IG1faW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0
RnVuY3Rpb248SlNXZWJBc3NlbWJseUluc3RhbmNlOjpQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+
PihmdW5jdGlvbkluZGV4KS0+Z2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKGlzV2ViQXNzZW1i
bHlIb3N0RnVuY3Rpb24odm0sIGZ1bmN0aW9uSW1wb3J0KSkgewogICAgICAgICAgICAgICAgICAg
ICBXZWJBc3NlbWJseUZ1bmN0aW9uKiB3YXNtRnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PFdlYkFz
c2VtYmx5RnVuY3Rpb24qPih2bSwgZnVuY3Rpb25JbXBvcnQpOwogICAgICAgICAgICAgICAgICAg
ICAvLyBJZiB3ZSBldmVyIGltcG9ydCBhIFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLCB3ZSBz
ZXQgdGhlIGltcG9ydCBhcyB0aGUgdW53cmFwcGVkIHZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgKaW5kZXgg
YTA4Y2NiYy4uZmMyYWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU5LDggKzU5LDExIEBAIHByaXZhdGU6
CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7
CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseUluc3RhbmNlPiBtX2luc3RhbmNlOwot
ICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9zdGFydEZ1bmN0aW9uOworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJh
cnJpZXI8V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmRQb2lzb24sIFQ+OworCisgICAgUG9pc29uZWRC
YXJyaWVyPEpTV2ViQXNzZW1ibHlJbnN0YW5jZT4gbV9pbnN0YW5jZTsKKyAgICBQb2lzb25lZEJh
cnJpZXI8SlNPYmplY3Q+IG1fc3RhcnRGdW5jdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlU
b0pTQ2FsbGVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRv
SlNDYWxsZWUuaAppbmRleCAwNjFkMTRkLi5jODlhMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRvSlNDYWxsZWUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVRvSlNDYWxsZWUuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MSw3ICs1MSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTV2ViQXNzZW1ibHlN
b2R1bGUqKTsKICAgICBXZWJBc3NlbWJseVRvSlNDYWxsZWUoVk0mLCBTdHJ1Y3R1cmUqKTsKIAot
ICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5TW9kdWxlPiBtX21vZHVsZTsKKyAgICBQb2lz
b25lZFdyaXRlQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWVQb2lzb24sIEpTV2ViQXNzZW1i
bHlNb2R1bGU+IG1fbW9kdWxlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVu
Y3Rpb24uaAppbmRleCBlMTAwZjcxLi5jYTZjMGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTYs
NyArNTYsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIFdlYkFzc2VtYmx5V3JhcHBlckZ1
bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBXYXNtOjpDYWxsYWJsZUZ1
bmN0aW9uKTsKIAotICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9mdW5jdGlvbjsKKyAgICBQ
b2lzb25lZFdyaXRlQmFycmllcjxXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblBvaXNvbiwgSlNP
YmplY3Q+IG1fZnVuY3Rpb247CiAgICAgLy8gSXQncyBzYWZlIHRvIGp1c3QgaG9sZCB0aGUgcmF3
IENhbGxhYmxlRnVuY3Rpb24gYmVjYXVzZSB3ZSBoYXZlIGEgcmVmZXJlbmNlCiAgICAgLy8gdG8g
b3VyIEluc3RhbmNlLCB3aGljaCBwb2ludHMgdG8gdGhlIENvZGVCbG9jaywgd2hpY2ggcG9pbnRz
IHRvIHRoZSBNb2R1bGUKICAgICAvLyB0aGF0IGV4cG9ydGVkIHVzLCB3aGljaCBlbnN1cmVzIHRo
YXQgdGhlIGFjdHVhbCBTaWduYXR1cmUvY29kZSBkb2Vzbid0IGdldCBkZWFsbG9jYXRlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggZTM4ZjFmMC4uODM1MWZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxOC0wMS0xMiAgSkYg
QmFzdGllbiAgPGpmYmFzdGllbkBhcHBsZS5jb20+CisKKyAgICAgICAgUG9pc29uZWRXcml0ZUJh
cnJpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MTU5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY0NzQzNTE+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydGluZyBjaGFuZ2VzIG5lZWRl
ZCB0byBhbGxvdyBwb2lzb25pbmcgb2YgV3JpdGVCYXJyaWVyCisgICAgICAgIG9iamVjdHMuCisK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
RHVtYlB0clRyYWl0cy5oOgorICAgICAgICAqIHd0Zi9EdW1iVmFsdWVUcmFpdHMuaDogQ29waWVk
IGZyb20gU291cmNlL1dURi93dGYvRHVtYlB0clRyYWl0cy5oLgorICAgICAgICAoV1RGOjpEdW1i
VmFsdWVUcmFpdHM6OmV4Y2hhbmdlKToKKyAgICAgICAgKFdURjo6RHVtYlZhbHVlVHJhaXRzOjpz
d2FwKToKKyAgICAgICAgKFdURjo6RHVtYlZhbHVlVHJhaXRzOjp1bndyYXApOgorICAgICAgICAq
IHd0Zi9Gb3J3YXJkLmg6CisgICAgICAgICogd3RmL1BvaXNvbmVkLmg6CisgICAgICAgIChXVEY6
OkNvbnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM6OmV4Y2hhbmdlKToKKyAgICAgICAgKFdURjo6
Q29uc3RFeHByUG9pc29uZWRWYWx1ZVRyYWl0czo6c3dhcCk6CisgICAgICAgIChXVEY6OkNvbnN0
RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM6OnVud3JhcCk6CisKIDIwMTgtMDEtMDQgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2RlQmxvY2tzIHNob3VsZCBiZSBp
biBJc29TdWJzcGFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGY3NzJlNzYuLmRmOTYzODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTc0LDYgKzU3NCw3IEBACiAJCUE4QTQ3MzcyMTUxQTgyNUIwMDQxMjNGRiAv
KiBWTVRhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVk1UYWdzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3NDhCMTUxQTgyNjQwMDQxMjNGRiAvKiBj
b25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE5QTQ3MjdGMTUxQTgyNUEwMDQxMjNGRiAvKiBEaXNh
bGxvd0NUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc2FsbG93Q1R5
cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUQ2NTNEQTgyMDA2QjZDMjAwRDgy
MEQ3IC8qIER1bWJWYWx1ZVRyYWl0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEdW1iVmFsdWVUcmFpdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ3QzQz
NEExREQyQTRBNzAwMjY4ODhCIC8qIEV4cGVjdGVkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV4cGVjdGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEODlC
NkI1MUU2NDE1MDgwMDkwNzA3RiAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ4OUI2QjYxRTY0MTUwODAwOTA3MDdGIC8q
IE1lbW9yeVByZXNzdXJlSGFuZGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTg1NCw2ICs4NTUsNyBAQAogCQkJCTBGNDU3MDQyMUJFNUI1OEYwMDYyQTYyOSAvKiBEb21pbmF0
b3JzLmggKi8sCiAJCQkJQThBNDcyODAxNTFBODI1QTAwNDEyM0ZGIC8qIERvdWJseUxpbmtlZExp
c3QuaCAqLywKIAkJCQlGRTA1RkFFNjFGREIyMTQzMDAwOTMyMzAgLyogRHVtYlB0clRyYWl0cy5o
ICovLAorCQkJCUFENjUzREE4MjAwNkI2QzIwMEQ4MjBENyAvKiBEdW1iVmFsdWVUcmFpdHMuaCAq
LywKIAkJCQlBOEE0NzI5NzE1MUE4MjVBMDA0MTIzRkYgLyogZHRvYS5jcHAgKi8sCiAJCQkJQThB
NDcyOTgxNTFBODI1QTAwNDEyM0ZGIC8qIGR0b2EuaCAqLywKIAkJCQkxQUVBODhFMTFENkJCQ0Y0
MDBFNUFENjQgLyogRW51bVRyYWl0cy5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RHVtYlB0clRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvRHVtYlB0clRyYWl0cy5oCmluZGV4IGU4
NDI1YzAuLjNjZWNlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9EdW1iUHRyVHJhaXRzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsMTIgKzI1LDE1IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8Y3N0ZGludD4KICNpbmNsdWRlIDx1dGlsaXR5Pgog
CiBuYW1lc3BhY2UgV1RGIHsKICAgICAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBzdHJ1Y3QgRHVt
YlB0clRyYWl0cyB7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50cHRyX3QgcG9pc29uID0gMDsK
KwogICAgIHVzaW5nIFN0b3JhZ2VUeXBlID0gVCo7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBV
PgpAQCAtNDIsMyArNDUsNCBAQCBzdHJ1Y3QgRHVtYlB0clRyYWl0cyB7CiAKIH0gLy8gbmFtZXNw
YWNlIFdURgogCit1c2luZyBXVEY6OkR1bWJQdHJUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9EdW1iVmFsdWVUcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0R1bWJWYWx1ZVRyYWl0
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjOTBhZDgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9EdW1iVmFsdWVUcmFpdHMuaApAQCAtMCwwICsxLDQ4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDxjc3RkaW50PgorI2luY2x1ZGUgPHV0aWxpdHk+CisKK25hbWVz
cGFjZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IER1bWJWYWx1ZVRyYWl0
cyB7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50cHRyX3QgcG9pc29uID0gMDsKKworICAgIHVz
aW5nIFN0b3JhZ2VUeXBlID0gVDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+CisgICAgc3Rh
dGljIEFMV0FZU19JTkxJTkUgVCBleGNoYW5nZShTdG9yYWdlVHlwZSYgdmFsLCBVJiYgbmV3VmFs
dWUpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UodmFsLCBuZXdWYWx1ZSk7IH0KKworICAgIHN0YXRp
YyBBTFdBWVNfSU5MSU5FIHZvaWQgc3dhcChTdG9yYWdlVHlwZSYgYSwgU3RvcmFnZVR5cGUmIGIp
IHsgc3RkOjpzd2FwKGEsIGIpOyB9CisgICAgc3RhdGljIEFMV0FZU19JTkxJTkUgVCB1bndyYXAo
Y29uc3QgU3RvcmFnZVR5cGUmIHZhbCkgeyByZXR1cm4gdmFsOyB9Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXVEYKKwordXNpbmcgV1RGOjpEdW1iVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Gb3J3YXJkLmggYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKaW5kZXggM2My
NmQ3MC4uNDJmYWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJp
Z2h0IChDKSAyMDA2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENv
cHlyaWdodCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCkBAIC01Miw2ICs1Miw3IEBAIHN0cnVjdCBGYXN0TWFsbG9jOwog
CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgQ29tcGxldGlvbkhhbmRsZXI7CiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgRHVtYlB0clRyYWl0czsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBEdW1iVmFsdWVUcmFpdHM7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRnVuY3Rpb247
CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgTGF6eU5ldmVyRGVzdHJveWVkOwogdGVtcGxhdGU8
dHlwZW5hbWU+IGNsYXNzIE5ldmVyRGVzdHJveWVkOwpAQCAtODQsNiArODUsOCBAQCB1c2luZyBX
VEY6OkF0b21pY1N0cmluZ0ltcGw7CiB1c2luZyBXVEY6OkJpbmFyeVNlbWFwaG9yZTsKIHVzaW5n
IFdURjo6Q1N0cmluZzsKIHVzaW5nIFdURjo6Q29tcGxldGlvbkhhbmRsZXI7Cit1c2luZyBXVEY6
OkR1bWJQdHJUcmFpdHM7Cit1c2luZyBXVEY6OkR1bWJWYWx1ZVRyYWl0czsKIHVzaW5nIFdURjo6
RnVuY3Rpb247CiB1c2luZyBXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcjsKIHVzaW5nIFdURjo6SGFz
aENvdW50ZWRTZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Qb2lzb25lZC5oIGIvU291
cmNlL1dURi93dGYvUG9pc29uZWQuaAppbmRleCBiYTViNmE4Li40MTU0YjNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9Qb2lzb25lZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BvaXNvbmVk
LmgKQEAgLTI2Miw2ICsyNjIsOCBAQCB1c2luZyBDb25zdEV4cHJQb2lzb25lZCA9IFBvaXNvbmVk
SW1wbDx1aW50cHRyX3QsIG1ha2VDb25zdEV4cHJQb2lzb24oa2V5KSwgVD47CiAKIHRlbXBsYXRl
PHVpbnQzMl90IGtleSwgdHlwZW5hbWUgVD4KIHN0cnVjdCBDb25zdEV4cHJQb2lzb25lZFB0clRy
YWl0cyB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IG1ha2VDb25zdEV4cHJQ
b2lzb24oa2V5KTsKKwogICAgIHVzaW5nIFN0b3JhZ2VUeXBlID0gQ29uc3RFeHByUG9pc29uZWQ8
a2V5LCBUKj47CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBzdGF0aWMgQUxXQVlTX0lOTElORSBU
KiBleGNoYW5nZShTdG9yYWdlVHlwZSYgcHRyLCBVJiYgbmV3VmFsdWUpIHsgcmV0dXJuIHB0ci5l
eGNoYW5nZShuZXdWYWx1ZSk7IH0KQEAgLTI3NSw2ICsyNzcsMjMgQEAgc3RydWN0IENvbnN0RXhw
clBvaXNvbmVkUHRyVHJhaXRzIHsKICAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBUKiB1bndyYXAo
Y29uc3QgU3RvcmFnZVR5cGUmIHB0cikgeyByZXR1cm4gcHRyLnVucG9pc29uZWQoKTsgfQogfTsK
IAordGVtcGxhdGU8dWludDMyX3Qga2V5LCB0eXBlbmFtZSBUPgorc3RydWN0IENvbnN0RXhwclBv
aXNvbmVkVmFsdWVUcmFpdHMgeworICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBwb2lzb24gPSBt
YWtlQ29uc3RFeHByUG9pc29uKGtleSk7CisKKyAgICB1c2luZyBTdG9yYWdlVHlwZSA9IENvbnN0
RXhwclBvaXNvbmVkPGtleSwgVD47CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBzdGF0aWMgQUxX
QVlTX0lOTElORSBUIGV4Y2hhbmdlKFN0b3JhZ2VUeXBlJiB2YWwsIFUmJiBuZXdWYWx1ZSkgeyBy
ZXR1cm4gdmFsLmV4Y2hhbmdlKG5ld1ZhbHVlKTsgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
SzEsIEsxIGsxLCB0eXBlbmFtZSBUMT4KKyAgICBzdGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIHN3
YXAoUG9pc29uZWRJbXBsPEsxLCBrMSwgVDE+JiBhLCBUMSYgYikgeyBhLnN3YXAoYik7IH0KKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEsxLCBLMSBrMSwgdHlwZW5hbWUgVDEsIHR5cGVuYW1lIEsy
LCBLMiBrMiwgdHlwZW5hbWUgVDI+CisgICAgc3RhdGljIEFMV0FZU19JTkxJTkUgdm9pZCBzd2Fw
KFBvaXNvbmVkSW1wbDxLMSwgazEsIFQxPiYgYSwgUG9pc29uZWRJbXBsPEsyLCBrMiwgVDI+JiBi
KSB7IGEuc3dhcChiKTsgfQorCisgICAgc3RhdGljIEFMV0FZU19JTkxJTkUgVCB1bndyYXAoY29u
c3QgU3RvcmFnZVR5cGUmIHZhbCkgeyByZXR1cm4gdmFsLnVucG9pc29uZWQoKTsgfQorfTsKKwog
fSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6Q29uc3RFeHByUG9pc29uZWQ7Ci0tIAoy
LjkuMwoK
</data>
<flag name="review"
          id="350207"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331239</attachid>
            <date>2018-01-12 15:09:09 -0800</date>
            <delta_ts>2018-01-12 15:48:03 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-WebAssembly-mostly-works-except-instance-callee-and-.patch</filename>
            <type>text/plain</type>
            <size>53756</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBiZGI4NTE4YTkwYTI2Mjc1NGUyNmQxNWFiMTUxZGU2NGFlMjE4NWM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBUaHUsIDExIEphbiAyMDE4IDE3OjU4OjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQXNz
ZW1ibHkgbW9zdGx5IHdvcmtzLCBleGNlcHQgaW5zdGFuY2UgY2FsbGVlIGFuZAogZW5kLW9mLW9i
amVjdCBmdW5jdGlvbnMuCgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKysrKwogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGFuZGxlVHlwZXMuaCAgICAgICAgICAgfCAgMyArLQogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaCAgICAgICAgICAgfCAxMyArKy0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaCAgICB8ICA4ICstCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmggICAgICAgICB8IDExICsrLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDUG9pc29uLmggICAgICAgICAgfCAgNCArCiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCAgICAgICAgICB8IDE0ICst
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCAgIHwg
MjAgKysrKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oICAg
ICAgIHwgOTEgKysrKysrKysrKysrKysrKy0tLS0tLQogLi4uL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVySW5saW5lcy5oICAgfCAyMCArKy0tLQogU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUluc3RhbmNlLmggICAgICAgICAgfCAgNCArLQogLi4uL3dhc20vanMvSlNX
ZWJBc3NlbWJseUluc3RhbmNlLmNwcCAgICAgICAgICAgICAgfCAgOCArLQogLi4uL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmggfCAxNyArKy0tCiAuLi4vSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmggICB8ICAyICstCiAuLi4v
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9kdWxlLmggICB8IDEwICsrLQog
Li4uL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcCAgfCAxMCAr
LS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5oIHwg
IDYgKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21Ub0pTLmNwcCAgICAgICAg
IHwgMzcgKysrKysrKy0tCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICAg
ICAgICAgICAgICB8ICA1ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5j
cHAgICAgICAgICAgICB8ICA2ICstCiAuLi4vd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29y
ZC5oICAgICAgICAgICAgICB8ICA5ICsrLQogLi4uL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2Vi
QXNzZW1ibHlUb0pTQ2FsbGVlLmggfCAgNCArLQogLi4uL3dhc20vanMvV2ViQXNzZW1ibHlXcmFw
cGVyRnVuY3Rpb24uaCAgICAgICAgICAgfCAgNCArLQogU291cmNlL1dURi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysKIFNvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgICAgIHwgIDIgKwogU291cmNlL1dURi93dGYv
RHVtYlB0clRyYWl0cy5oICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQogU291cmNlL1dURi93
dGYvRHVtYlZhbHVlVHJhaXRzLmggICAgICAgICAgICAgICAgICAgfCA0OCArKysrKysrKysrKysK
IFNvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUg
Ky0KIFNvdXJjZS9XVEYvd3RmL1BvaXNvbmVkLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwg
MTkgKysrKysKIDI5IGZpbGVzIGNoYW5nZWQsIDM3MSBpbnNlcnRpb25zKCspLCAxMDYgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRz
LmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBiMzRjZGE3Li5jODIxMDMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MSBAQAorMjAxOC0wMS0xMiAgSkYgQmFzdGll
biAgPGpmYmFzdGllbkBhcHBsZS5jb20+CisKKyAgICAgICAgUG9pc29uZWRXcml0ZUJhcnJpZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTU5OQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY0NzQzNTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
TWFyayBMYW0uCisKKyAgICAgICAgQWxsb3cgcG9pc29uaW5nIG9mIFdyaXRlQmFycmllciBvYmpl
Y3RzLCBhbmQgdXNlIHRoaXMgZm9yCisgICAgICAgIFdlYkFzc2VtYmx5IGJlY2F1c2UgaXQgaXMg
cGVyZi1uZXV0cmFsLCBhdCBsZWFzdCBvbiBXYXNtQmVuY2ggb24KKyAgICAgICAgbXkgTUJQLiBJ
ZiBpdCBpbmRlZWQgaXMgcGVyZi1uZXV0cmFsIGFjY29yZGluZyB0byB0aGUgYm90cywgc3RhcnQK
KyAgICAgICAgdXNpbmcgaXQgaW4gbW9yZSBwZXJmb3JtYW5jZS1zZW5zaXRpdmUgcGxhY2VzLgor
CisgICAgICAgICogaGVhcC9IYW5kbGVUeXBlcy5oOgorICAgICAgICAqIGhlYXAvU2xvdFZpc2l0
b3IuaDoKKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oOgorICAgICAgICAoSlND
OjpTbG90VmlzaXRvcjo6YXBwZW5kKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OmFwcGVu
ZEhpZGRlbik6CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmg6CisgICAgICAgICogcnVu
dGltZS9KU0NQb2lzb24uaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6
OnNldFByb3RvdHlwZVdpdGhvdXRUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpzZXRHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByZXZpb3Vz
SUQpOgorICAgICAgICAqIHJ1bnRpbWUvV3JpdGVCYXJyaWVyLmg6CisgICAgICAgIChKU0M6Oldy
aXRlQmFycmllckJhc2U6OmNvcHlGcm9tKToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFz
ZTo6Z2V0IGNvbnN0KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6b3BlcmF0b3Iq
IGNvbnN0KToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTo6b3BlcmF0b3ItPiBjb25z
dCk6CisgICAgICAgIChKU0M6OldyaXRlQmFycmllckJhc2U6OmNsZWFyKToKKyAgICAgICAgKEpT
Qzo6V3JpdGVCYXJyaWVyQmFzZTo6c2xvdCk6CisgICAgICAgIChKU0M6OldyaXRlQmFycmllckJh
c2U6Om9wZXJhdG9yIGJvb2wgY29uc3QpOgorICAgICAgICAoSlNDOjpXcml0ZUJhcnJpZXJCYXNl
OjpzZXRXaXRob3V0V3JpdGVCYXJyaWVyKToKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFz
ZTo6dW52YWxpZGF0ZWRHZXQgY29uc3QpOgorICAgICAgICAoSlNDOjpvcGVyYXRvcj09KToKKyAg
ICAgICAgKiBydW50aW1lL1dyaXRlQmFycmllcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6VHJh
aXRzPjo6c2V0KToKKyAgICAgICAgKEpTQzo6VHJhaXRzPjo6c2V0TWF5QmVOdWxsKToKKyAgICAg
ICAgKEpTQzo6VHJhaXRzPjo6c2V0RWFybHlWYWx1ZSk6CisgICAgICAgIChKU0M6OkR1bWJWYWx1
ZVRyYWl0czxVbmtub3duPj46OnNldCk6CisgICAgICAgICogd2FzbS9XYXNtSW5zdGFuY2UuaDoK
KyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHA6CisgICAgICAgIChK
U0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJseUluc3RhbmNlKToKKyAgICAg
ICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
IChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChK
U0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6Y3JlYXRlKToKKyAgICAgICAgKiB3YXNtL2pzL0pT
V2ViQXNzZW1ibHlJbnN0YW5jZS5oOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5SW5zdGFu
Y2U6Om9mZnNldE9mUG9pc29uZWRDYWxsZWUpOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3Nl
bWJseU1lbW9yeS5oOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oOgor
ICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6
SlNXZWJBc3NlbWJseVRhYmxlOjpKU1dlYkFzc2VtYmx5VGFibGUpOgorICAgICAgICAoSlNDOjpK
U1dlYkFzc2VtYmx5VGFibGU6Omdyb3cpOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5VGFi
bGU6OmNsZWFyRnVuY3Rpb24pOgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseVRhYmxl
Lmg6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChKU0M6Oldhc206
Om1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKToKKyAgICAgICAgKEpTQzo6V2FzbTo6aGFuZGxlQmFk
STY0VXNlKToKKyAgICAgICAgKEpTQzo6V2FzbTo6d2FzbVRvSlMpOgorICAgICAgICAqIHdhc20v
anMvV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5TW9kdWxlUmVjb3JkLmNwcDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlNb2R1bGVSZWNv
cmQ6OmxpbmspOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6ZXZhbHVh
dGUpOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaDoKKyAgICAg
ICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oOgorICAgICAgICAqIHdhc20vanMv
V2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaDoKKwogMjAxOC0wMS0wNCAgRmlsaXAgUGl6bG8g
IDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvZGVCbG9ja3Mgc2hvdWxkIGJlIGluIElz
b1N1YnNwYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxl
VHlwZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZVR5cGVzLmgKaW5kZXgg
NmNmMTFkZi4uNGUzNTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SGFuZGxlVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVUeXBl
cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI5LDcgKzI5LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXR5cGVkZWYgZW51bSB7IH0g
VW5rbm93bjsKIHR5cGVkZWYgSlNWYWx1ZSogSGFuZGxlU2xvdDsKIAogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhbmRsZVR5cGVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90
VmlzaXRvci5oCmluZGV4IGE1NTFjMWUuLmFmYWM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvU2xvdFZpc2l0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJJdGVyYXRp
b25TdGF0dXMuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJWaXNpdFJhY2VL
ZXkuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNU
aW1lLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC00NCw3ICs0NSw3IEBA
IGNsYXNzIE1hcmtpbmdDb25zdHJhaW50U29sdmVyOwogY2xhc3MgVW5jb25kaXRpb25hbEZpbmFs
aXplcjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWs7CiBjbGFzcyBXZWFrUmVmZXJl
bmNlSGFydmVzdGVyOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFz
ZTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRyYWl0cz4gY2xhc3MgV3JpdGVCYXJy
aWVyQmFzZTsKIAogdHlwZWRlZiB1aW50MzJfdCBIZWFwVmVyc2lvbjsKIApAQCAtNzAsMTEgKzcx
LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYXBwZW5kKENvbnNlcnZhdGl2ZVJvb3RzJik7CiAg
ICAgCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhcHBlbmQoY29uc3QgV3JpdGVCYXJy
aWVyQmFzZTxUPiYpOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYXBwZW5kSGlkZGVu
KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VD4mKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0
eXBlbmFtZSBUcmFpdHM+IHZvaWQgYXBwZW5kKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VCwgVHJh
aXRzPiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFRyYWl0cz4gdm9pZCBh
cHBlbmRIaWRkZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFzZTxULCBUcmFpdHM+Jik7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgSXRlcmF0b3I+IHZvaWQgYXBwZW5kKEl0ZXJhdG9yIGJlZ2luICwgSXRl
cmF0b3IgZW5kKTsKLSAgICB2b2lkIGFwcGVuZFZhbHVlcyhjb25zdCBXcml0ZUJhcnJpZXJCYXNl
PFVua25vd24+Kiwgc2l6ZV90IGNvdW50KTsKLSAgICB2b2lkIGFwcGVuZFZhbHVlc0hpZGRlbihj
b25zdCBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+Kiwgc2l6ZV90IGNvdW50KTsKKyAgICB2b2lk
IGFwcGVuZFZhbHVlcyhjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFVua25vd24sIER1bWJWYWx1ZVRy
YWl0czxVbmtub3duPj4qLCBzaXplX3QgY291bnQpOworICAgIHZvaWQgYXBwZW5kVmFsdWVzSGlk
ZGVuKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VW5rbm93biwgRHVtYlZhbHVlVHJhaXRzPFVua25v
d24+PiosIHNpemVfdCBjb3VudCk7CiAgICAgCiAgICAgLy8gVGhlc2UgZG9uJ3QgcmVxdWlyZSB5
b3UgdG8gcHJvdmUgdGhhdCB5b3UgaGF2ZSBhIFdyaXRlQmFycmllcjw+LiBUaGF0IG1ha2VzIHNl
bnNlCiAgICAgLy8gZm9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
U2xvdFZpc2l0b3JJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90Vmlz
aXRvcklubGluZXMuaAppbmRleCBhYjA5ODkzLi5mMzZkMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvcklubGluZXMuaApAQCAtMTAzLDE0ICsxMDMsMTQg
QEAgQUxXQVlTX0lOTElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBlbmQoY29uc3QgV2VhazxUPiYg
d2VhaykKICAgICBhcHBlbmRVbmJhcnJpZXJlZCh3ZWFrLmdldCgpKTsKIH0KIAotdGVtcGxhdGU8
dHlwZW5hbWUgVD4KLUFMV0FZU19JTkxJTkUgdm9pZCBTbG90VmlzaXRvcjo6YXBwZW5kKGNvbnN0
IFdyaXRlQmFycmllckJhc2U8VD4mIHNsb3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBUcmFpdHM+CitBTFdBWVNfSU5MSU5FIHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZChjb25zdCBX
cml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz4mIHNsb3QpCiB7CiAgICAgYXBwZW5kVW5iYXJyaWVy
ZWQoc2xvdC5nZXQoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1BTFdBWVNfSU5MSU5F
IHZvaWQgU2xvdFZpc2l0b3I6OmFwcGVuZEhpZGRlbihjb25zdCBXcml0ZUJhcnJpZXJCYXNlPFQ+
JiBzbG90KQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPgorQUxXQVlTX0lO
TElORSB2b2lkIFNsb3RWaXNpdG9yOjphcHBlbmRIaWRkZW4oY29uc3QgV3JpdGVCYXJyaWVyQmFz
ZTxULCBUcmFpdHM+JiBzbG90KQogewogICAgIGFwcGVuZEhpZGRlblVuYmFycmllcmVkKHNsb3Qu
Z2V0KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
SlNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCmlu
ZGV4IDlmMzlhM2MuLjU5YjQzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NKU1ZhbHVlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0y
MDAxIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAx
IFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwMy0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC02OCw4ICs2OCwxMyBAQCBzdHJ1Y3QgQ2xhc3NJbmZvOwogc3RydWN0IER1bXBDb250ZXh0
Owogc3RydWN0IEluc3RydWN0aW9uOwogc3RydWN0IE1ldGhvZFRhYmxlOworZW51bSBjbGFzcyBV
bmtub3duIHsgfTsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIFdyaXRlQmFycmllckJhc2U7
Cit0ZW1wbGF0ZSA8Y2xhc3MgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBXcml0ZUJhcnJpZXJC
YXNlOwordGVtcGxhdGU8Y2xhc3MgVD4KK3VzaW5nIFdyaXRlQmFycmllclRyYWl0c1NlbGVjdCA9
IHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQsIFVua25vd24+Ojp2YWx1
ZSwKKyAgICBEdW1iVmFsdWVUcmFpdHM8VD4sIER1bWJQdHJUcmFpdHM8VD4KKz46OnR5cGU7CiAK
IGVudW0gUHJlZmVycmVkUHJpbWl0aXZlVHlwZSB7IE5vUHJlZmVyZW5jZSwgUHJlZmVyTnVtYmVy
LCBQcmVmZXJTdHJpbmcgfTsKIGVudW0gRUNNQU1vZGUgeyBTdHJpY3RNb2RlLCBOb3RTdHJpY3RN
b2RlIH07CkBAIC00NTMsNyArNDU4LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0g
ICAgdGVtcGxhdGUgPGNsYXNzIFQ+IEpTVmFsdWUoV3JpdGVCYXJyaWVyQmFzZTxUPik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFQ+IEpTVmFsdWUoV3JpdGVCYXJyaWVyQmFzZTxULCBXcml0ZUJhcnJp
ZXJUcmFpdHNTZWxlY3Q8VD4+KTsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVlVGFn
IHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAgICAgSlNWYWx1ZShIYXNoVGFibGVEZWxldGVk
VmFsdWVUYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
UG9pc29uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NQb2lzb24uaAppbmRl
eCBjZWQwMTIwLi5iNTdjYjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NQb2lzb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NQ
b2lzb24uaApAQCAtNTEsNiArNTEsMTAgQEAgZW51bSBQb2lzb24gewogICAgIEpTV2ViQXNzZW1i
bHlUYWJsZVBvaXNvbiwKICAgICBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGVQb2lzb24sCiAgICAg
VW5saW5rZWRTb3VyY2VDb2RlUG9pc29uLAorICAgIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlUG9p
c29uLAorICAgIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkUG9pc29uLAorICAgIFdlYkFzc2VtYmx5
VG9KU0NhbGxlZVBvaXNvbiwKKyAgICBXZWJBc3NlbWJseVdyYXBwZXJGdW5jdGlvblBvaXNvbiwK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuaAppbmRleCAzYTNmZTMxLi45ZDQ1NGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDgtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIxMSw3ICsyMTEsNyBAQCBwdWJsaWM6CiAgICAg
UHJvcGVydHlPZmZzZXQgYWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbihWTSYsIFByb3BlcnR5
TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgY29uc3QgRnVuYyYpOwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEZ1bmM+CiAgICAgUHJvcGVydHlPZmZzZXQgcmVtb3ZlUHJvcGVydHlXaXRob3V0VHJh
bnNpdGlvbihWTSYsIFByb3BlcnR5TmFtZSwgY29uc3QgRnVuYyYpOwotICAgIHZvaWQgc2V0UHJv
dG90eXBlV2l0aG91dFRyYW5zaXRpb24oVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZSkgeyBtX3By
b3RvdHlwZS5zZXQodm0sIHRoaXMsIHByb3RvdHlwZSk7IH0KKyAgICB2b2lkIHNldFByb3RvdHlw
ZVdpdGhvdXRUcmFuc2l0aW9uKFZNJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgICAgICAKICAg
ICBib29sIGlzRGljdGlvbmFyeSgpIGNvbnN0IHsgcmV0dXJuIGRpY3Rpb25hcnlLaW5kKCkgIT0g
Tm9uZURpY3Rpb25hcnlLaW5kOyB9CiAgICAgYm9vbCBpc1VuY2FjaGVhYmxlRGljdGlvbmFyeSgp
IGNvbnN0IHsgcmV0dXJuIGRpY3Rpb25hcnlLaW5kKCkgPT0gVW5jYWNoZWREaWN0aW9uYXJ5S2lu
ZDsgfQpAQCAtMjY1LDcgKzI2NSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0
aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVy
ZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJl
c3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgotICAgIHZvaWQgc2V0
R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2ds
b2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KKyAgICB2b2lkIHNldEds
b2JhbE9iamVjdChWTSYsIEpTR2xvYmFsT2JqZWN0Kik7CiAKICAgICBBTFdBWVNfSU5MSU5FIGJv
b2wgaGFzTW9ub1Byb3RvKCkgY29uc3QKICAgICB7CkBAIC03MzgsMTMgKzczOCw3IEBAIHByaXZh
dGU6CiAgICAgUHJvcGVydHlUYWJsZSogdGFrZVByb3BlcnR5VGFibGVPckNsb25lSWZQaW5uZWQo
Vk0mKTsKICAgICBQcm9wZXJ0eVRhYmxlKiBjb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcoVk0m
KTsKIAotICAgIHZvaWQgc2V0UHJldmlvdXNJRChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQotICAgIHsKLSAgICAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCi0gICAgICAgICAgICByYXJlRGF0
YSgpLT5zZXRQcmV2aW91c0lEKHZtLCBzdHJ1Y3R1cmUpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBtX3ByZXZpb3VzT3JSYXJlRGF0YS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Ci0gICAg
fQorICAgIHZvaWQgc2V0UHJldmlvdXNJRChWTSYsIFN0cnVjdHVyZSopOwogCiAgICAgdm9pZCBj
bGVhclByZXZpb3VzSUQoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUlubGluZXMuaAppbmRleCA0ZTYwZjUzLi45MDQ3ZjIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDQx
LDExICs0NDEsMjkgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUHJv
cGVydHlXaXRob3V0VHJhbnNpdGlvbihWTSYsIFByb3BlcnR5TmEKICAgICByZXR1cm4gcmVtb3Zl
KHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6
OnNldFByb3RvdHlwZVdpdGhvdXRUcmFuc2l0aW9uKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGUp
Cit7CisgICAgbV9wcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBwcm90b3R5cGUpOworfQorCitBTFdB
WVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhp
cywgZ2xvYmFsT2JqZWN0KTsKK30KKwogQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0
UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJv
cGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KIAorQUxX
QVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJldmlvdXNJRChWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQoreworICAgIGlmIChoYXNSYXJlRGF0YSgpKQorICAgICAgICByYXJlRGF0
YSgpLT5zZXRQcmV2aW91c0lEKHZtLCBzdHJ1Y3R1cmUpOworICAgIGVsc2UKKyAgICAgICAgbV9w
cmV2aW91c09yUmFyZURhdGEuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOworfQorCiBBTFdBWVNf
SU5MSU5FIGJvb2wgU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3Ry
dWN0dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpCiB7CiAgICAgaWYgKCFhIHx8ICFiKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAppbmRleCBhOTkxMzg2
Li40OThlOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0
ZUJhcnJpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yNyw2ICsyNywxMSBAQAogCiAjaW5jbHVkZSAiR0NBc3NlcnRpb25zLmgiCiAj
aW5jbHVkZSAiSGFuZGxlVHlwZXMuaCIKKyNpbmNsdWRlICJKU0NQb2lzb24uaCIKKyNpbmNsdWRl
IDx0eXBlX3RyYWl0cz4KKyNpbmNsdWRlIDx3dGYvRHVtYlB0clRyYWl0cy5oPgorI2luY2x1ZGUg
PHd0Zi9EdW1iVmFsdWVUcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvUG9pc29uZWQuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM4LDcgKzQzLDEyIEBAIGNsYXNzIEpTQ2VsbDsKIGNsYXNzIFZN
OwogY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIFdyaXRl
QmFycmllckJhc2U7Cit0ZW1wbGF0ZTxjbGFzcyBUPgordXNpbmcgV3JpdGVCYXJyaWVyVHJhaXRz
U2VsZWN0ID0gdHlwZW5hbWUgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWU8VCwgVW5rbm93
bj46OnZhbHVlLAorICAgIER1bWJWYWx1ZVRyYWl0czxUPiwgRHVtYlB0clRyYWl0czxUPgorPjo6
dHlwZTsKKwordGVtcGxhdGU8Y2xhc3MgVCwgdHlwZW5hbWUgVHJhaXRzID0gV3JpdGVCYXJyaWVy
VHJhaXRzU2VsZWN0PFQ+PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlOwogdGVtcGxhdGU8PiBjbGFz
cyBXcml0ZUJhcnJpZXJCYXNlPEpTVmFsdWU+OwogCiBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHNs
b3dWYWxpZGF0ZUNlbGwoSlNDZWxsKik7CkBAIC02NiwxNSArNzYsMTggQEAgdGVtcGxhdGU8Y2xh
c3MgVD4gaW5saW5lIHZvaWQgdmFsaWRhdGVDZWxsKFQpCiAjZW5kaWYKIAogLy8gV2UgaGF2ZSBh
IHNlcGFyYXRlIGJhc2UgY2xhc3Mgd2l0aCBubyBjb25zdHJ1Y3RvcnMgZm9yIHVzZSBpbiBVbmlv
bnMuCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV3JpdGVCYXJyaWVyQmFzZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzPiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNl
IHsKKyAgICB1c2luZyBTdG9yYWdlVHlwZSA9IHR5cGVuYW1lIFRyYWl0czo6U3RvcmFnZVR5cGU7
CisKIHB1YmxpYzoKICAgICB2b2lkIHNldChWTSYsIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZh
bHVlKTsKICAgICAKICAgICAvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgbGlrZSBvcGVyYXRv
cj0sIGJ1dCBpcyBjYWxsZWQgY29weUZyb20gaW5zdGVhZCwgaW4KICAgICAvLyBvcmRlciB0byBr
aW5kbHkgaW5mb3JtIHRoZSBDKysgY29tcGlsZXIgdGhhdCBpdHMgYWR2aWNlIGlzIG5vdCBhcHBy
ZWNpYXRlZC4KLSAgICB2b2lkIGNvcHlGcm9tKGNvbnN0IFdyaXRlQmFycmllckJhc2U8VD4mIG90
aGVyKQorICAgIHZvaWQgY29weUZyb20oY29uc3QgV3JpdGVCYXJyaWVyQmFzZSYgb3RoZXIpCiAg
ICAgewotICAgICAgICBtX2NlbGwgPSBvdGhlci5tX2NlbGw7CisgICAgICAgIC8vIEZJWE1FIGFk
ZCB2ZXJzaW9uIHdpdGggZGlmZmVyZW50IFRyYWl0cyBvbmNlIG5lZWRlZC4KKyAgICAgICAgVHJh
aXRzOjpleGNoYW5nZShtX2NlbGwsIG90aGVyLm1fY2VsbCk7CiAgICAgfQogCiAgICAgdm9pZCBz
ZXRNYXlCZU51bGwoVk0mLCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSk7CkBAIC04Niwz
MSArOTksNDQgQEAgcHVibGljOgogICAgIFQqIGdldCgpIGNvbnN0CiAgICAgewogICAgICAgICAv
LyBDb3B5IG1fY2VsbCB0byBhIGxvY2FsIHRvIGF2b2lkIG11bHRpcGxlLXJlYWQgaXNzdWVzLiAo
U2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzExMDg1ND4pCi0gICAgICAgIEpTQ2VsbCogY2VsbCA9
IG1fY2VsbDsKKyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1fY2VsbDsKICAgICAgICAgaWYg
KGNlbGwpCi0gICAgICAgICAgICB2YWxpZGF0ZUNlbGwoY2VsbCk7Ci0gICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PFQqPihzdGF0aWNfY2FzdDx2b2lkKj4oY2VsbCkpOworICAgICAgICAg
ICAgdmFsaWRhdGVDZWxsKHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4oc3RhdGljX2Nhc3Q8dm9p
ZCo+KFRyYWl0czo6dW53cmFwKGNlbGwpKSkpOworICAgICAgICByZXR1cm4gVHJhaXRzOjp1bndy
YXAoY2VsbCk7CiAgICAgfQogCiAgICAgVCogb3BlcmF0b3IqKCkgY29uc3QKICAgICB7Ci0gICAg
ICAgIEFTU0VSVChtX2NlbGwpOwotICAgICAgICB2YWxpZGF0ZUNlbGw8VD4oc3RhdGljX2Nhc3Q8
VCo+KG1fY2VsbCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KG1fY2VsbCk7Cisg
ICAgICAgIFN0b3JhZ2VUeXBlIGNlbGwgPSBtX2NlbGw7CisgICAgICAgIEFTU0VSVChjZWxsKTsK
KyAgICAgICAgYXV0byB1bndyYXBwZWQgPSBUcmFpdHM6OnVud3JhcChjZWxsKTsKKyAgICAgICAg
dmFsaWRhdGVDZWxsPFQ+KHVud3JhcHBlZCk7CisgICAgICAgIHJldHVybiBUcmFpdHM6OnVud3Jh
cCh1bndyYXBwZWQpOwogICAgIH0KIAogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdAogICAgIHsK
LSAgICAgICAgQVNTRVJUKG1fY2VsbCk7Ci0gICAgICAgIHZhbGlkYXRlQ2VsbChzdGF0aWNfY2Fz
dDxUKj4obV9jZWxsKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUKj4obV9jZWxsKTsK
KyAgICAgICAgU3RvcmFnZVR5cGUgY2VsbCA9IG1fY2VsbDsKKyAgICAgICAgQVNTRVJUKGNlbGwp
OworICAgICAgICBhdXRvIHVud3JhcHBlZCA9IFRyYWl0czo6dW53cmFwKGNlbGwpOworICAgICAg
ICB2YWxpZGF0ZUNlbGwodW53cmFwcGVkKTsKKyAgICAgICAgcmV0dXJuIHVud3JhcHBlZDsKICAg
ICB9CiAKLSAgICB2b2lkIGNsZWFyKCkgeyBtX2NlbGwgPSAwOyB9Ci0gICAgCi0gICAgVCoqIHNs
b3QoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFQqKj4oJm1fY2VsbCk7IH0KKyAgICB2b2lk
IGNsZWFyKCkgeyBUcmFpdHM6OmV4Y2hhbmdlKG1fY2VsbCwgbnVsbHB0cik7IH0KKworICAgIC8v
IFNsb3QgY2Fubm90IGJlIHVzZWQgd2hlbiBwb2ludGVycyBhcmVuJ3Qgc3RvcmVkIGFzLWlzLgor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJhcnJpZXJULCB0eXBlbmFtZSBCYXJyaWVyVHJhaXRzLCBz
dGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfc2FtZTxCYXJyaWVyVHJhaXRzLCBEdW1iUHRyVHJhaXRz
PEJhcnJpZXJUPj46OnZhbHVlLCB2b2lkKj4gPSBudWxscHRyPgorICAgIHN0cnVjdCBTbG90SGVs
cGVyIHsKKyAgICAgICAgc3RhdGljIEJhcnJpZXJUKiogcmVpbnRlcnByZXQodHlwZW5hbWUgQmFy
cmllclRyYWl0czo6U3RvcmFnZVR5cGUqIGNlbGwpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
VCoqPihjZWxsKTsgfQorICAgIH07CisKKyAgICBUKiogc2xvdCgpCisgICAgeworICAgICAgICBy
ZXR1cm4gU2xvdEhlbHBlcjxULCBUcmFpdHM+OjpyZWludGVycHJldCgmbV9jZWxsKTsKKyAgICB9
CiAgICAgCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fY2Vs
bDsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fY2Vs
bDsgfQogICAgIAogICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fY2VsbDsg
fQogCkBAIC0xMTksMTYgKzE0NSwxNiBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdSSVRFX0JBUlJJ
RVJfUFJPRklMSU5HKQogICAgICAgICBXcml0ZUJhcnJpZXJDb3VudGVyczo6dXNlc1dpdGhvdXRC
YXJyaWVyRnJvbUNwcC5jb3VudCgpOwogI2VuZGlmCi0gICAgICAgIHRoaXMtPm1fY2VsbCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4odmFsdWUpOworICAgICAgICBUcmFpdHM6OmV4Y2hhbmdl
KHRoaXMtPm1fY2VsbCwgdmFsdWUpOwogICAgIH0KIAotICAgIFQqIHVudmFsaWRhdGVkR2V0KCkg
Y29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4oc3RhdGljX2Nhc3Q8dm9pZCo+KG1f
Y2VsbCkpOyB9CisgICAgVCogdW52YWxpZGF0ZWRHZXQoKSBjb25zdCB7IHJldHVybiBUcmFpdHM6
OnVud3JhcChtX2NlbGwpOyB9CiAKIHByaXZhdGU6Ci0gICAgSlNDZWxsKiBtX2NlbGw7CisgICAg
U3RvcmFnZVR5cGUgbV9jZWxsOwogfTsKIAotdGVtcGxhdGUgPD4gY2xhc3MgV3JpdGVCYXJyaWVy
QmFzZTxVbmtub3duPiB7Cit0ZW1wbGF0ZSA8PiBjbGFzcyBXcml0ZUJhcnJpZXJCYXNlPFVua25v
d24sIER1bWJWYWx1ZVRyYWl0czxVbmtub3duPj4gewogcHVibGljOgogICAgIHZvaWQgc2V0KFZN
JiwgY29uc3QgSlNDZWxsKiBvd25lciwgSlNWYWx1ZSk7CiAgICAgdm9pZCBzZXRXaXRob3V0V3Jp
dGVCYXJyaWVyKEpTVmFsdWUgdmFsdWUpCkBAIC0xNjUsOSArMTkxLDEyIEBAIHByaXZhdGU6CiAg
ICAgRW5jb2RlZEpTVmFsdWUgbV92YWx1ZTsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBj
bGFzcyBXcml0ZUJhcnJpZXIgOiBwdWJsaWMgV3JpdGVCYXJyaWVyQmFzZTxUPiB7Cit0ZW1wbGF0
ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVHJhaXRzID0gV3JpdGVCYXJyaWVyVHJhaXRzU2VsZWN0
PFQ+PgorY2xhc3MgV3JpdGVCYXJyaWVyIDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VCwgVHJh
aXRzPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IFRyYWl0czo6cG9pc29uOworCiAgICAgV3JpdGVCYXJy
aWVyKCkKICAgICB7CiAgICAgICAgIHRoaXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoMCk7CkBA
IC0xOTIsOSArMjIxLDEyIEBAIHB1YmxpYzoKIH07CiAKIGVudW0gVW5kZWZpbmVkV3JpdGVCYXJy
aWVyVGFnVHlwZSB7IFVuZGVmaW5lZFdyaXRlQmFycmllclRhZyB9OwotdGVtcGxhdGUgPD4gY2xh
c3MgV3JpdGVCYXJyaWVyPFVua25vd24+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93
bj4gewordGVtcGxhdGUgPD4KK2NsYXNzIFdyaXRlQmFycmllcjxVbmtub3duLCBEdW1iVmFsdWVU
cmFpdHM8VW5rbm93bj4+IDogcHVibGljIFdyaXRlQmFycmllckJhc2U8VW5rbm93biwgRHVtYlZh
bHVlVHJhaXRzPFVua25vd24+PiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IER1bWJWYWx1ZVRyYWl0czxV
bmtub3duPjo6cG9pc29uOworCiAgICAgV3JpdGVCYXJyaWVyKCkKICAgICB7CiAgICAgICAgIHRo
aXMtPnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoSlNWYWx1ZSgpKTsKQEAgLTIxNiw5ICsyNDgsMTgg
QEAgcHVibGljOgogICAgIH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBVLCB0eXBlbmFtZSBW
PiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VT4mIGxocywg
Y29uc3QgV3JpdGVCYXJyaWVyQmFzZTxWPiYgcmhzKQordGVtcGxhdGUgPHR5cGVuYW1lIFUsIHR5
cGVuYW1lIFYsIHR5cGVuYW1lIFRyYWl0c1UsIHR5cGVuYW1lIFRyYWl0c1Y+CitpbmxpbmUgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFdyaXRlQmFycmllckJhc2U8VSwgVHJhaXRzVT4mIGxocywgY29u
c3QgV3JpdGVCYXJyaWVyQmFzZTxWLCBUcmFpdHNWPiYgcmhzKQogewogICAgIHJldHVybiBsaHMu
Z2V0KCkgPT0gcmhzLmdldCgpOwogfQogCit0ZW1wbGF0ZTx1aW50MzJfdCBrZXksIGNsYXNzIFQ+
Cit1c2luZyBQb2lzb25lZFdyaXRlQmFycmllclRyYWl0c1NlbGVjdCA9IHR5cGVuYW1lIHN0ZDo6
Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lPFQsIFVua25vd24+Ojp2YWx1ZSwKKyAgICBXVEY6OkNv
bnN0RXhwclBvaXNvbmVkVmFsdWVUcmFpdHM8a2V5LCBUPiwgV1RGOjpDb25zdEV4cHJQb2lzb25l
ZFB0clRyYWl0czxrZXksIFQ+Cis+Ojp0eXBlOworCit0ZW1wbGF0ZSA8dWludDMyX3Qga2V5LCB0
eXBlbmFtZSBUPgordXNpbmcgUG9pc29uZWRXcml0ZUJhcnJpZXIgPSBXcml0ZUJhcnJpZXI8VCwg
UG9pc29uZWRXcml0ZUJhcnJpZXJUcmFpdHNTZWxlY3Q8a2V5LCBUPj47CisKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVC
YXJyaWVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJy
aWVySW5saW5lcy5oCmluZGV4IDRiZDJkZDYuLjllMTEzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllcklubGluZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXJJbmxpbmVzLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsOCArMzAsOCBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxpbmUgdm9p
ZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBU
KiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+CitpbmxpbmUg
dm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldChWTSYgdm0sIGNvbnN0IEpTQ2Vs
bCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIEFTU0VSVCh2YWx1ZSk7CiAgICAgQVNTRVJUKCFP
cHRpb25zOjp1c2VDb25jdXJyZW50SklUKCkgfHwgIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CkBA
IC0zOSwyMiArMzksMjIgQEAgaW5saW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxUPjo6c2V0KFZN
JiB2bSwgY29uc3QgSlNDZWxsKiBvd25lciwgVCogdmFsdWUpCiAgICAgc2V0RWFybHlWYWx1ZSh2
bSwgb3duZXIsIHZhbHVlKTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1pbmxpbmUgdm9p
ZCBXcml0ZUJhcnJpZXJCYXNlPFQ+OjpzZXRNYXlCZU51bGwoVk0mIHZtLCBjb25zdCBKU0NlbGwq
IG93bmVyLCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+
CitpbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldE1heUJlTnVsbChW
TSYgdm0sIGNvbnN0IEpTQ2VsbCogb3duZXIsIFQqIHZhbHVlKQogewogICAgIGlmICh2YWx1ZSkK
ICAgICAgICAgdmFsaWRhdGVDZWxsKHZhbHVlKTsKICAgICBzZXRFYXJseVZhbHVlKHZtLCBvd25l
ciwgdmFsdWUpOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWlubGluZSB2b2lkIFdyaXRl
QmFycmllckJhc2U8VD46OnNldEVhcmx5VmFsdWUoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVy
LCBUKiB2YWx1ZSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCB0eXBlbmFtZSBUcmFpdHM+Citpbmxp
bmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFQsIFRyYWl0cz46OnNldEVhcmx5VmFsdWUoVk0mIHZt
LCBjb25zdCBKU0NlbGwqIG93bmVyLCBUKiB2YWx1ZSkKIHsKLSAgICB0aGlzLT5tX2NlbGwgPSBy
ZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KHZhbHVlKTsKLSAgICB2bS5oZWFwLndyaXRlQmFycmll
cihvd25lciwgdGhpcy0+bV9jZWxsKTsKKyAgICBUcmFpdHM6OmV4Y2hhbmdlKHRoaXMtPm1fY2Vs
bCwgdmFsdWUpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKG93bmVyLCBzdGF0aWNfY2FzdDxK
U0NlbGwqPih2YWx1ZSkpOwogfQogCi1pbmxpbmUgdm9pZCBXcml0ZUJhcnJpZXJCYXNlPFVua25v
d24+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQoraW5s
aW5lIHZvaWQgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duLCBEdW1iVmFsdWVUcmFpdHM8VW5rbm93
bj4+OjpzZXQoVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLCBKU1ZhbHVlIHZhbHVlKQogewog
ICAgIEFTU0VSVCghT3B0aW9uczo6dXNlQ29uY3VycmVudEpJVCgpIHx8ICFpc0NvbXBpbGF0aW9u
VGhyZWFkKCkpOwogICAgIG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUluc3RhbmNlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaAppbmRleCAyYzA4MDAwLi5hYTlmN2Nm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtSW5zdGFuY2UuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDAsNyArMTAw
LDcgQEAgcHVibGljOgogICAgICAgICBJbnN0YW5jZSogdGFyZ2V0SW5zdGFuY2UgeyBudWxscHRy
IH07CiAgICAgICAgIFdhc206Oldhc21FbnRyeXBvaW50TG9hZExvY2F0aW9uIHdhc21FbnRyeXBv
aW50IHsgbnVsbHB0ciB9OwogICAgICAgICB2b2lkKiB3YXNtVG9FbWJlZGRlclN0dWJFeGVjdXRh
YmxlQWRkcmVzcyB7IG51bGxwdHIgfTsKLSAgICAgICAgdm9pZCogaW1wb3J0RnVuY3Rpb24geyBu
dWxscHRyIH07IC8vIEluIGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgV3JpdGVCYXJyaWVyPEpT
T2JqZWN0Pi4KKyAgICAgICAgdm9pZCogaW1wb3J0RnVuY3Rpb24geyBudWxscHRyIH07IC8vIElu
IGEgSlMgZW1iZWRkaW5nLCB0aGlzIGlzIGEgUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0Pi4KICAg
ICB9OwogICAgIHVuc2lnbmVkIG51bUltcG9ydEZ1bmN0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1f
bnVtSW1wb3J0RnVuY3Rpb25zOyB9CiAgICAgSW1wb3J0RnVuY3Rpb25JbmZvKiBpbXBvcnRGdW5j
dGlvbkluZm8oc2l6ZV90IGltcG9ydEZ1bmN0aW9uTnVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAKaW5kZXggY2Jl
ZjM2OC4uMzRhYzI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwCkBAIC01NCw3ICs1NCw3IEBAIEpTV2ViQXNz
ZW1ibHlJbnN0YW5jZTo6SlNXZWJBc3NlbWJseUluc3RhbmNlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIFJlZjxXCiAgICAgLCBtX2luc3RhbmNlKFdURk1vdmUoaW5zdGFuY2UpKQogewog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0aGlzLT5pbnN0YW5jZSgpLm51bUltcG9ydEZ1
bmN0aW9ucygpOyArK2kpCi0gICAgICAgIG5ldyAodGhpcy0+aW5zdGFuY2UoKS5pbXBvcnRGdW5j
dGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihpKSkgV3JpdGVCYXJyaWVyPEpTT2JqZWN0Pigp
OworICAgICAgICBuZXcgKHRoaXMtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb248UG9pc29uZWRC
YXJyaWVyPEpTT2JqZWN0Pj4oaSkpIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsKIH0KIAog
dm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNXZWJB
c3NlbWJseU1vZHVsZSogbW9kdWxlLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFt
ZXNwYWNlT2JqZWN0KQpAQCAtNjUsNyArNjUsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5j
ZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAg
ICAgbV9tb2R1bGUuc2V0KHZtLCB0aGlzLCBtb2R1bGUpOwogICAgIG1fbW9kdWxlTmFtZXNwYWNl
T2JqZWN0LnNldCh2bSwgdGhpcywgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKICAgICBtX2NhbGxl
ZS5zZXQodm0sIHRoaXMsIG1vZHVsZS0+Y2FsbGVlKCkpOwotICAgIAorCiAgICAgaGVhcCgpLT5y
ZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZChtX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9jYXRl
ZCgpKTsKIH0KIApAQCAtODgsNyArODgsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FsbGVlKTsKICAgICB2aXNpdG9yLnJlcG9ydEV4
dHJhTWVtb3J5VmlzaXRlZCh0aGlzT2JqZWN0LT5tX2luc3RhbmNlLT5leHRyYU1lbW9yeUFsbG9j
YXRlZCgpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGhpc09iamVjdC0+aW5zdGFu
Y2UoKS5udW1JbXBvcnRGdW5jdGlvbnMoKTsgKytpKQotICAgICAgICB2aXNpdG9yLmFwcGVuZCgq
dGhpc09iamVjdC0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmpl
Y3Q+PihpKSk7IC8vIFRoaXMgYWxzbyBrZWVwcyB0aGUgZnVuY3Rpb25zJyBKU1dlYkFzc2VtYmx5
SW5zdGFuY2UgYWxpdmUuCisgICAgICAgIHZpc2l0b3IuYXBwZW5kKCp0aGlzT2JqZWN0LT5pbnN0
YW5jZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KGkpKTsgLy8g
VGhpcyBhbHNvIGtlZXBzIHRoZSBmdW5jdGlvbnMnIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSBhbGl2
ZS4KIH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmFsaXplQ3JlYXRpb24oVk0m
IHZtLCBFeGVjU3RhdGUqIGV4ZWMsIFJlZjxXYXNtOjpDb2RlQmxvY2s+JiYgd2FzbUNvZGVCbG9j
aykKQEAgLTIzNiw3ICsyMzYsNyBAQCBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIEpTV2ViQXNzZW1i
bHlJbnN0YW5jZTo6Y3JlYXRlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKUwogICAgICAgICAg
ICAgYXV0byogaW5mbyA9IGpzSW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVuY3Rpb25JbmZv
KG51bUltcG9ydEZ1bmN0aW9ucyk7CiAgICAgICAgICAgICBpbmZvLT50YXJnZXRJbnN0YW5jZSA9
IGNhbGxlZUluc3RhbmNlOwogICAgICAgICAgICAgaW5mby0+d2FzbUVudHJ5cG9pbnQgPSB3YXNt
RW50cnlwb2ludDsKLSAgICAgICAgICAgIGpzSW5zdGFuY2UtPmluc3RhbmNlKCkuaW1wb3J0RnVu
Y3Rpb248V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4obnVtSW1wb3J0RnVuY3Rpb25zKS0+c2V0KHZt
LCBqc0luc3RhbmNlLCBmdW5jdGlvbik7CisgICAgICAgICAgICBqc0luc3RhbmNlLT5pbnN0YW5j
ZSgpLmltcG9ydEZ1bmN0aW9uPFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KG51bUltcG9ydEZ1
bmN0aW9ucyktPnNldCh2bSwganNJbnN0YW5jZSwgZnVuY3Rpb24pOwogICAgICAgICAgICAgKytu
dW1JbXBvcnRGdW5jdGlvbnM7CiAgICAgICAgICAgICAvLyB2LiBBcHBlbmQgY2xvc3VyZSB0byBp
bXBvcnRzLgogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5oCmluZGV4IGQyNWJiY2QuLjE3ODBh
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlJbnN0YW5jZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlJbnN0YW5jZS5oCkBAIC03Nyw3ICs3NywxMCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAg
c3RhdGljIHNpemVfdCBvZmZzZXRPZlBvaXNvbmVkSW5zdGFuY2UoKSB7IHJldHVybiBPQkpFQ1Rf
T0ZGU0VUT0YoSlNXZWJBc3NlbWJseUluc3RhbmNlLCBtX2luc3RhbmNlKTsgfQotICAgIHN0YXRp
YyBzaXplX3Qgb2Zmc2V0T2ZDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJB
c3NlbWJseUluc3RhbmNlLCBtX2NhbGxlZSk7IH0KKyAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9m
UG9pc29uZWRDYWxsZWUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNXZWJBc3NlbWJseUlu
c3RhbmNlLCBtX2NhbGxlZSk7IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNp
bmcgUG9pc29uZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseUlu
c3RhbmNlUG9pc29uLCBUPjsKIAogcHJvdGVjdGVkOgogICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5j
ZShWTSYsIFN0cnVjdHVyZSosIFJlZjxXYXNtOjpJbnN0YW5jZT4mJik7CkBAIC05MCwxMiArOTMs
MTIgQEAgcHJpdmF0ZToKIAogICAgIFBvaXNvbmVkUmVmPEpTV2ViQXNzZW1ibHlJbnN0YW5jZVBv
aXNvbiwgV2FzbTo6SW5zdGFuY2U+IG1faW5zdGFuY2U7CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNX
ZWJBc3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7Ci0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1i
bHlDb2RlQmxvY2s+IG1fY29kZUJsb2NrOwotICAgIFdyaXRlQmFycmllcjxKU01vZHVsZU5hbWVz
cGFjZU9iamVjdD4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Q7Ci0gICAgV3JpdGVCYXJyaWVyPEpT
V2ViQXNzZW1ibHlNZW1vcnk+IG1fbWVtb3J5OwotICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2Vt
Ymx5VGFibGU+IG1fdGFibGU7Ci0gICAgV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxl
ZT4gbV9jYWxsZWU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlNb2R1bGU+IG1f
bW9kdWxlOworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5Q29kZUJsb2NrPiBtX2Nv
ZGVCbG9jazsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q+IG1f
bW9kdWxlTmFtZXNwYWNlT2JqZWN0OworICAgIFBvaXNvbmVkQmFycmllcjxKU1dlYkFzc2VtYmx5
TWVtb3J5PiBtX21lbW9yeTsKKyAgICBQb2lzb25lZEJhcnJpZXI8SlNXZWJBc3NlbWJseVRhYmxl
PiBtX3RhYmxlOworICAgIFBvaXNvbmVkQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWU+IG1f
Y2FsbGVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmgKaW5kZXggOGUxMjAyMi4uODZj
ZmY5OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseU1lbW9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlNZW1vcnkuaApAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lk
IHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogICAgIFBvaXNvbmVkUmVm
PEpTV2ViQXNzZW1ibHlNZW1vcnlQb2lzb24sIFdhc206Ok1lbW9yeT4gbV9tZW1vcnk7Ci0gICAg
V3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXI+IG1fYnVmZmVyV3JhcHBlcjsKKyAgICBQb2lzb25l
ZFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5TWVtb3J5UG9pc29uLCBKU0FycmF5QnVmZmVyPiBt
X2J1ZmZlcldyYXBwZXI7CiAgICAgUG9pc29uZWRSZWZQdHI8SlNXZWJBc3NlbWJseU1lbW9yeVBv
aXNvbiwgQXJyYXlCdWZmZXI+IG1fYnVmZmVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5oCmluZGV4IDIwN2QwM2IuLjA4
OWMyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlNb2R1bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5TW9kdWxlLmgKQEAgLTgyLDkgKzgyLDEzIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgUG9pc29uZWRS
ZWY8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNvbiwgV2FzbTo6TW9kdWxlPiBtX21vZHVsZTsKLSAg
ICBXcml0ZUJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9sVGFibGU7Ci0gICAgV3Jp
dGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29kZUJsb2Nrc1tXYXNtOjpOdW1i
ZXJPZk1lbW9yeU1vZGVzXTsKLSAgICBXcml0ZUJhcnJpZXI8V2ViQXNzZW1ibHlUb0pTQ2FsbGVl
PiBtX2NhbGxlZTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29u
ZWRCYXJyaWVyID0gUG9pc29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseU1vZHVsZVBvaXNv
biwgVD47CisKKyAgICBQb2lzb25lZEJhcnJpZXI8U3ltYm9sVGFibGU+IG1fZXhwb3J0U3ltYm9s
VGFibGU7CisgICAgUG9pc29uZWRCYXJyaWVyPEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s+IG1fY29k
ZUJsb2Nrc1tXYXNtOjpOdW1iZXJPZk1lbW9yeU1vZGVzXTsKKyAgICBQb2lzb25lZEJhcnJpZXI8
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlPiBtX2NhbGxlZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eVRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlU
YWJsZS5jcHAKaW5kZXggNTdhMTJlMi4uZDcwYWJlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5VGFibGUuY3BwCkBAIC02Myw5ICs2Myw5
IEBAIEpTV2ViQXNzZW1ibHlUYWJsZTo6SlNXZWJBc3NlbWJseVRhYmxlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFJlZjxXYXNtOjpUCiAgICAgLy8gRklYTUU6IEl0IG1pZ2h0IGJlIHdv
cnRoIHRyeWluZyB0byBwcmUtYWxsb2NhdGUgbWF4aW11bSBoZXJlLiBUaGUgc3BlYyByZWNvbW1l
bmRzIGRvaW5nIHNvLgogICAgIC8vIEJ1dCBmb3Igbm93LCB3ZSdyZSBub3QgZG9pbmcgdGhhdC4K
ICAgICAvLyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFydGVyIGFi
b3V0IG5vdCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgbV9qc0Z1bmN0aW9ucyA9IE1hbGxvY1B0
cjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+Pjo6bWFsbG9jKChzaXplb2YoV3JpdGVCYXJyaWVyPEpT
T2JqZWN0PikgKiBDaGVja2VkPHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNhZmVHZXQo
KSk7CisgICAgbV9qc0Z1bmN0aW9ucyA9IE1hbGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNPYmpl
Y3Q+Pjo6bWFsbG9jKChzaXplb2YoUG9pc29uZWRCYXJyaWVyPEpTT2JqZWN0PikgKiBDaGVja2Vk
PHNpemVfdD4oYWxsb2NhdGVkTGVuZ3RoKCkpKS51bnNhZmVHZXQoKSk7CiAgICAgZm9yICh1aW50
MzJfdCBpID0gMDsgaSA8IGFsbG9jYXRlZExlbmd0aCgpOyArK2kpCi0gICAgICAgIG5ldygmbV9q
c0Z1bmN0aW9ucy5nZXQoKVtpXSkgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PigpOworICAgICAgICBu
ZXcoJm1fanNGdW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsK
IH0KIAogdm9pZCBKU1dlYkFzc2VtYmx5VGFibGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKQEAg
LTEwNCwxMCArMTA0LDEwIEBAIGJvb2wgSlNXZWJBc3NlbWJseVRhYmxlOjpncm93KHVpbnQzMl90
IGRlbHRhKQogICAgIHNpemVfdCBuZXdMZW5ndGggPSBncmV3LnZhbHVlKCk7CiAgICAgaWYgKG5l
d0xlbmd0aCA+IG1fdGFibGUtPmFsbG9jYXRlZExlbmd0aChvbGRMZW5ndGgpKQogICAgICAgICAv
LyBGSVhNRSB0aGlzIG92ZXItYWxsb2NhdGVzIGFuZCBjb3VsZCBiZSBzbWFydGVyIGFib3V0IG5v
dCBjb21taXR0aW5nIGFsbCBvZiB0aGF0IG1lbW9yeSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgxNDI1Ci0gICAgICAgIG1fanNGdW5jdGlvbnMucmVhbGxvYygoc2l6
ZW9mKFdyaXRlQmFycmllcjxKU09iamVjdD4pICogQ2hlY2tlZDxzaXplX3Q+KG1fdGFibGUtPmFs
bG9jYXRlZExlbmd0aChuZXdMZW5ndGgpKSkudW5zYWZlR2V0KCkpOworICAgICAgICBtX2pzRnVu
Y3Rpb25zLnJlYWxsb2MoKHNpemVvZihQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+KSAqIENoZWNr
ZWQ8c2l6ZV90PihtX3RhYmxlLT5hbGxvY2F0ZWRMZW5ndGgobmV3TGVuZ3RoKSkpLnVuc2FmZUdl
dCgpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSBvbGRMZW5ndGg7IGkgPCBtX3RhYmxlLT5hbGxv
Y2F0ZWRMZW5ndGgobmV3TGVuZ3RoKTsgKytpKQotICAgICAgICBuZXcgKCZtX2pzRnVuY3Rpb25z
LmdldCgpW2ldKSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgICAgIG5ldyAoJm1fanNG
dW5jdGlvbnMuZ2V0KClbaV0pIFBvaXNvbmVkQmFycmllcjxKU09iamVjdD4oKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtMTIxLDcgKzEyMSw3IEBAIEpTT2JqZWN0KiBKU1dlYkFzc2VtYmx5
VGFibGU6OmdldEZ1bmN0aW9uKHVpbnQzMl90IGluZGV4KQogdm9pZCBKU1dlYkFzc2VtYmx5VGFi
bGU6OmNsZWFyRnVuY3Rpb24odWludDMyX3QgaW5kZXgpCiB7CiAgICAgbV90YWJsZS0+Y2xlYXJG
dW5jdGlvbihpbmRleCk7Ci0gICAgbV9qc0Z1bmN0aW9ucy5nZXQoKVtpbmRleCAmIG1fdGFibGUt
Pm1hc2soKV0gPSBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+KCk7CisgICAgbV9qc0Z1bmN0aW9ucy5n
ZXQoKVtpbmRleCAmIG1fdGFibGUtPm1hc2soKV0gPSBQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+
KCk7CiB9CiAKIHZvaWQgSlNXZWJBc3NlbWJseVRhYmxlOjpzZXRGdW5jdGlvbihWTSYgdm0sIHVp
bnQzMl90IGluZGV4LCBXZWJBc3NlbWJseUZ1bmN0aW9uKiBmdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlUYWJsZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVRhYmxlLmgKaW5kZXggZGM3
NGE4Zi4uYzU0MGU3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseVRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
SlNXZWJBc3NlbWJseVRhYmxlLmgKQEAgLTY3LDcgKzY3LDExIEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCiAgICAgUG9p
c29uZWRSZWY8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBXYXNtOjpUYWJsZT4gbV90YWJsZTsK
LSAgICBNYWxsb2NQdHI8V3JpdGVCYXJyaWVyPEpTT2JqZWN0Pj4gbV9qc0Z1bmN0aW9uczsKKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgdXNpbmcgUG9pc29uZWRCYXJyaWVyID0gUG9p
c29uZWRXcml0ZUJhcnJpZXI8SlNXZWJBc3NlbWJseVRhYmxlUG9pc29uLCBUPjsKKworICAgIE1h
bGxvY1B0cjxQb2lzb25lZEJhcnJpZXI8SlNPYmplY3Q+PiBtX2pzRnVuY3Rpb25zOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9qcy9XYXNtVG9KUy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9K
Uy5jcHAKaW5kZXggZTYyZjhjZi4uOWQzY2YzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dhc21Ub0pTLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDEzICs0NiwxNCBAQCBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIFdhc20gewogCiB1c2luZyBKSVQgPSBDQ2FsbEhlbHBlcnM7CiAKLXN0YXRpYyB2
b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKEpJVCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRl
eCwgR1BSUmVnIHJlc3VsdCkKK3N0YXRpYyB2b2lkIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKEpJ
VCYgaml0LCB1bnNpZ25lZCBpbXBvcnRJbmRleCwgR1BSUmVnIHBvaXNvbiwgR1BSUmVnIHJlc3Vs
dCkKIHsKICAgICAvLyBXZSdyZSBjYWxsaW5nIG91dCBvZiB0aGUgY3VycmVudCBXZWJBc3NlbWJs
eS5JbnN0YW5jZS4gVGhhdCBJbnN0YW5jZSBoYXMgYSBsaXN0IG9mIGFsbCBpdHMgaW1wb3J0IGZ1
bmN0aW9ucy4KICAgICBqaXQubG9hZFdhc21Db250ZXh0SW5zdGFuY2UocmVzdWx0KTsKICAgICBq
aXQubG9hZFB0cihKSVQ6OkFkZHJlc3MocmVzdWx0LCBJbnN0YW5jZTo6b2Zmc2V0T2ZJbXBvcnRG
dW5jdGlvbihpbXBvcnRJbmRleCkpLCByZXN1bHQpOworICAgIGppdC54b3I2NChwb2lzb24sIHJl
c3VsdCk7CiB9Ci0gICAgCisKIHN0YXRpYyBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYs
IEJpbmRpbmdGYWlsdXJlPiBoYW5kbGVCYWRJNjRVc2UoVk0qIHZtLCBKSVQmIGppdCwgY29uc3Qg
U2lnbmF0dXJlJiBzaWduYXR1cmUsIHVuc2lnbmVkIGltcG9ydEluZGV4KQogewogICAgIHVuc2ln
bmVkIGFyZ0NvdW50ID0gc2lnbmF0dXJlLmFyZ3VtZW50Q291bnQoKTsKQEAgLTg0LDkgKzg1LDE0
IEBAIHN0YXRpYyBFeHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJl
PiBoYW5kbGVCYWRJNjRVc2UoVk0qIHZtLCBKCiAKICAgICAgICAgLy8gU3RvcmUgQ2FsbGVlLgog
ICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1l
bnRHUFIxLCBJbnN0YW5jZTo6b2Zmc2V0T2ZPd25lcigpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIx
KTsKLSAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFy
Z3VtZW50R1BSMSwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZkNhbGxlZSgpKSwgR1BS
SW5mbzo6YXJndW1lbnRHUFIyKTsKKyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZz
ZXRPZlBvaXNvbmVkQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOworICAgICAgICBq
aXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OlBvaXNvbmVkQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWU+Ojpwb2lzb24pLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjMpOworICAgICAgICBqaXQueG9yNjQoR1BSSW5mbzo6YXJndW1lbnRHUFIz
LCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOwogICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6
YXJndW1lbnRHUFIyLCBKSVQ6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENh
bGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkp
KTsKIAorICAgICAgICAvLyBMZXQncyBiZSBwYXJhbm9pZCBvbiB0aGUgZXhjZXB0aW9uIHBhdGgg
YW5kIHplcm8gb3V0IHRoZSBwb2lzb24gaW5zdGVhZCBvZiBsZWF2aW5nIGl0IGluIGFuIGFyZ3Vt
ZW50IEdQUi4KKyAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoMCks
IEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CisKICAgICAgICAgYXV0byBjYWxsID0gaml0LmNhbGwo
KTsKICAgICAgICAgaml0Lmp1bXBUb0V4Y2VwdGlvbkhhbmRsZXIoKnZtKTsKIApAQCAtMjg0LDEw
ICsyOTAsMTYgQEAgRXhwZWN0ZWQ8TWFjcm9Bc3NlbWJsZXJDb2RlUmVmLCBCaW5kaW5nRmFpbHVy
ZT4gd2FzbVRvSlMoVk0qIHZtLCBCYWc8Q2FsbExpbmtJbmYKICAgICAgICAgCiAgICAgICAgIGpp
dC5sb2FkV2FzbUNvbnRleHRJbnN0YW5jZShHUFJJbmZvOjphcmd1bWVudEdQUjApOwogICAgICAg
ICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6YXJndW1lbnRHUFIw
LCBJbnN0YW5jZTo6b2Zmc2V0T2ZPd25lcigpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAg
ICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OmFyZ3VtZW50
R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZkNhbGxlZSgpKSwgR1BSSW5mbzo6
YXJndW1lbnRHUFIwKTsKKyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZlBv
aXNvbmVkQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgICAgICBqaXQubW92
ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OlBvaXNv
bmVkQmFycmllcjxXZWJBc3NlbWJseVRvSlNDYWxsZWU+Ojpwb2lzb24pLCBHUFJJbmZvOjphcmd1
bWVudEdQUjMpOworICAgICAgICBqaXQueG9yNjQoR1BSSW5mbzo6YXJndW1lbnRHUFIzLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjApOwogICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6YXJndW1l
bnRHUFIwLCBKSVQ6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFt
ZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAg
ICAgICAgCi0gICAgICAgIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxsKGppdCwgaW1wb3J0SW5kZXgs
IEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIG1hdGVyaWFsaXplSW1wb3J0SlNDZWxs
KGppdCwgaW1wb3J0SW5kZXgsIEdQUkluZm86OmFyZ3VtZW50R1BSMywgR1BSSW5mbzo6YXJndW1l
bnRHUFIxKTsKKyAgICAgICAgCisgICAgICAgIC8vIExldCdzIGJlIHBhcmFub2lkIGJlZm9yZSB0
aGUgY2FsbCBhbmQgemVybyBvdXQgdGhlIHBvaXNvbiBpbnN0ZWFkIG9mIGxlYXZpbmcgaXQgaW4g
YW4gYXJndW1lbnQgR1BSLgorICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMigwKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKKwogICAgICAgICBzdGF0aWNfYXNzZXJ0
KEdQUkluZm86Om51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPj0gNCwgIldlIHJlbHkgb24gdGhp
cyB3aXRoIHRoZSBjYWxsIGJlbG93LiIpOwogICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKEdQUkluZm86OmFyZ3VtZW50R1BSMSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoc2lnbmF0dXJlSW5kZXgpLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYnVmZmVyKSk7
CiAgICAgICAgIGF1dG8gY2FsbCA9IGppdC5jYWxsKCk7CkBAIC00NjUsMTUgKzQ3NywyNCBAQCBF
eHBlY3RlZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWYsIEJpbmRpbmdGYWlsdXJlPiB3YXNtVG9KUyhW
TSogdm0sIEJhZzxDYWxsTGlua0luZgogICAgICAgICB9CiAgICAgfQogCisgICAgR1BSUmVnIHBv
aXNvbiA9IEdQUkluZm86OmFyZ3VtZW50R1BSMTsKKyAgICBBU1NFUlQocG9pc29uICE9IEdQUklu
Zm86OmFyZ3VtZW50R1BSMCk7IC8vIEJvdGggYXJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZSBiZWxv
dy4KKwogICAgIGppdC5sb2FkV2FzbUNvbnRleHRJbnN0YW5jZShHUFJJbmZvOjphcmd1bWVudEdQ
UjApOwogICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1
bWVudEdQUjAsIEluc3RhbmNlOjpvZmZzZXRPZk93bmVyKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjApOwotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjphcmd1
bWVudEdQUjAsIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6b2Zmc2V0T2ZDYWxsZWUoKSksIEdQUklu
Zm86OmFyZ3VtZW50R1BSMCk7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KEdQUkluZm86OmFyZ3VtZW50R1BSMCwgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpvZmZzZXRPZlBv
aXNvbmVkQ2FsbGVlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6UG9pc29uZWRC
YXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZT46OnBvaXNvbiksIHBvaXNvbik7CisgICAgaml0
LnhvcjY0KHBvaXNvbiwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQuc3RvcmVQdHIo
R1BSSW5mbzo6YXJndW1lbnRHUFIwLCBKSVQ6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIsIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJl
Z2lzdGVyKSkpKTsKIAogICAgIEdQUlJlZyBpbXBvcnRKU0NlbGxHUFJSZWcgPSBHUFJJbmZvOjpy
ZWdUMDsgLy8gQ2FsbGVlIG5lZWRzIHRvIGJlIGluIHJlZ1QwIGZvciBzbG93IHBhdGggYmVsb3cu
CisgICAgQVNTRVJUKHBvaXNvbiAhPSBpbXBvcnRKU0NlbGxHUFJSZWcpOworCiAgICAgQVNTRVJU
KCF3YXNtQ0MubV9jYWxsZWVTYXZlUmVnaXN0ZXJzLmdldChpbXBvcnRKU0NlbGxHUFJSZWcpKTsK
KyAgICBtYXRlcmlhbGl6ZUltcG9ydEpTQ2VsbChqaXQsIGltcG9ydEluZGV4LCBwb2lzb24sIGlt
cG9ydEpTQ2VsbEdQUlJlZyk7CiAKLSAgICBtYXRlcmlhbGl6ZUltcG9ydEpTQ2VsbChqaXQsIGlt
cG9ydEluZGV4LCBpbXBvcnRKU0NlbGxHUFJSZWcpOworICAgIC8vIExldCdzIGJlIHBhcmFub2lk
IHplcm8gb3V0IHRoZSBwb2lzb24gaW5zdGVhZCBvZiBsZWF2aW5nIGl0IGluIGFuIGFyZ3VtZW50
IEdQUi4KKyAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSwgcG9pc29u
KTsKIAogICAgIGppdC5zdG9yZTY0KGltcG9ydEpTQ2VsbEdQUlJlZywgY2FsbGVlRnJhbWUud2l0
aE9mZnNldChDYWxsRnJhbWVTbG90OjpjYWxsZWUgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihS
ZWdpc3RlcikpKSk7CiAgICAgaml0LnN0b3JlMzIoSklUOjpUcnVzdGVkSW1tMzIobnVtYmVyT2ZQ
YXJhbWV0ZXJzKSwgY2FsbGVlRnJhbWUud2l0aE9mZnNldChDYWxsRnJhbWVTbG90Ojphcmd1bWVu
dENvdW50ICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSArIFBheWxvYWRPZmZz
ZXQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5RnVuY3Rpb25CYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseUZ1bmN0aW9uQmFzZS5oCmluZGV4IDQ5NzNlNGQuLmQxNzE5YTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2Uu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00OSw3ICs0OSw4IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5h
dGl2ZUV4ZWN1dGFibGUqLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSwgSlNX
ZWJBc3NlbWJseUluc3RhbmNlKik7CiAgICAgV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UoVk0mLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwotICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2Vt
Ymx5SW5zdGFuY2U+IG1faW5zdGFuY2U7CisKKyAgICBQb2lzb25lZFdyaXRlQmFycmllcjxXZWJB
c3NlbWJseUZ1bmN0aW9uQmFzZVBvaXNvbiwgSlNXZWJBc3NlbWJseUluc3RhbmNlPiBtX2luc3Rh
bmNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAKaW5kZXggNzhi
YWE2Yi4uOTVkYjI5YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZv
aWQgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ6OmxpbmsoRXhlY1N0YXRlKiBleGVjLCBKU1dlYkFz
c2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAgICAgICAgICAgICAvLyAgIGlpLiAoTm90ZTogQXQgbW9z
dCBvbmUgd3JhcHBlciBpcyBjcmVhdGVkIGZvciBhbnkgY2xvc3VyZSwgc28gZnVuYyBpcyB1bmlx
dWUsIGV2ZW4gaWYgdGhlcmUgYXJlIG11bHRpcGxlIG9jY3VycmFuY2VzIGluIHRoZSBsaXN0LiBN
b3Jlb3ZlciwgaWYgdGhlIGl0ZW0gd2FzIGFuIGltcG9ydCB0aGF0IGlzIGFscmVhZHkgYW4gRXhw
b3J0ZWQgRnVuY3Rpb24gRXhvdGljIE9iamVjdCwgdGhlbiB0aGUgb3JpZ2luYWwgZnVuY3Rpb24g
b2JqZWN0IHdpbGwgYmUgZm91bmQuIEZvciBpbXBvcnRzIHRoYXQgYXJlIHJlZ3VsYXIgSlMgZnVu
Y3Rpb25zLCBhIG5ldyB3cmFwcGVyIHdpbGwgYmUgY3JlYXRlZC4pCiAgICAgICAgICAgICBpZiAo
ZXhwLmtpbmRJbmRleCA8IGZ1bmN0aW9uSW1wb3J0Q291bnQpIHsKICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBmdW5jdGlvbkluZGV4ID0gZXhwLmtpbmRJbmRleDsKLSAgICAgICAgICAgICAgICBK
U09iamVjdCogZnVuY3Rpb25JbXBvcnQgPSBpbnN0YW5jZS0+aW5zdGFuY2UoKS5pbXBvcnRGdW5j
dGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihmdW5jdGlvbkluZGV4KS0+Z2V0KCk7CisgICAg
ICAgICAgICAgICAgSlNPYmplY3QqIGZ1bmN0aW9uSW1wb3J0ID0gaW5zdGFuY2UtPmluc3RhbmNl
KCkuaW1wb3J0RnVuY3Rpb248SlNXZWJBc3NlbWJseUluc3RhbmNlOjpQb2lzb25lZEJhcnJpZXI8
SlNPYmplY3Q+PihmdW5jdGlvbkluZGV4KS0+Z2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKGlz
V2ViQXNzZW1ibHlIb3N0RnVuY3Rpb24odm0sIGZ1bmN0aW9uSW1wb3J0KSkKICAgICAgICAgICAg
ICAgICAgICAgZXhwb3J0ZWRWYWx1ZSA9IGZ1bmN0aW9uSW1wb3J0OwogICAgICAgICAgICAgICAg
IGVsc2UgewpAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ6
OmxpbmsoRXhlY1N0YXRlKiBleGVjLCBKU1dlYkFzc2VtYmx5TW9kdWxlKiBtb2R1bGUsCiAgICAg
ICAgIEFTU0VSVCghc2lnbmF0dXJlLmFyZ3VtZW50Q291bnQoKSk7CiAgICAgICAgIEFTU0VSVChz
aWduYXR1cmUucmV0dXJuVHlwZSgpID09IFdhc206OlZvaWQpOwogICAgICAgICBpZiAoc3RhcnRG
dW5jdGlvbkluZGV4U3BhY2UgPCBjb2RlQmxvY2stPmZ1bmN0aW9uSW1wb3J0Q291bnQoKSkgewot
ICAgICAgICAgICAgSlNPYmplY3QqIHN0YXJ0RnVuY3Rpb24gPSBpbnN0YW5jZS0+aW5zdGFuY2Uo
KS5pbXBvcnRGdW5jdGlvbjxXcml0ZUJhcnJpZXI8SlNPYmplY3Q+PihzdGFydEZ1bmN0aW9uSW5k
ZXhTcGFjZSktPmdldCgpOworICAgICAgICAgICAgSlNPYmplY3QqIHN0YXJ0RnVuY3Rpb24gPSBp
bnN0YW5jZS0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U6
OlBvaXNvbmVkQmFycmllcjxKU09iamVjdD4+KHN0YXJ0RnVuY3Rpb25JbmRleFNwYWNlKS0+Z2V0
KCk7CiAgICAgICAgICAgICBtX3N0YXJ0RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBzdGFydEZ1bmN0
aW9uKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFdhc206OkNhbGxlZSYgZW1iZWRk
ZXJFbnRyeXBvaW50Q2FsbGVlID0gY29kZUJsb2NrLT5lbWJlZGRlckVudHJ5cG9pbnRDYWxsZWVG
cm9tRnVuY3Rpb25JbmRleFNwYWNlKHN0YXJ0RnVuY3Rpb25JbmRleFNwYWNlKTsKQEAgLTI5NSw3
ICsyOTUsNyBAQCBKU1ZhbHVlIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOjpldmFsdWF0ZShFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICB1aW50MzJfdCBmdW5jdGlvbkluZGV4ID0gZWxlbWVu
dC5mdW5jdGlvbkluZGljZXNbaV07CiAgICAgICAgICAgICBXYXNtOjpTaWduYXR1cmVJbmRleCBz
aWduYXR1cmVJbmRleCA9IG1vZHVsZS5zaWduYXR1cmVJbmRleEZyb21GdW5jdGlvbkluZGV4U3Bh
Y2UoZnVuY3Rpb25JbmRleCk7CiAgICAgICAgICAgICBpZiAoZnVuY3Rpb25JbmRleCA8IGNvZGVC
bG9jay0+ZnVuY3Rpb25JbXBvcnRDb3VudCgpKSB7Ci0gICAgICAgICAgICAgICAgSlNPYmplY3Qq
IGZ1bmN0aW9uSW1wb3J0ID0gbV9pbnN0YW5jZS0+aW5zdGFuY2UoKS5pbXBvcnRGdW5jdGlvbjxX
cml0ZUJhcnJpZXI8SlNPYmplY3Q+PihmdW5jdGlvbkluZGV4KS0+Z2V0KCk7CisgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIGZ1bmN0aW9uSW1wb3J0ID0gbV9pbnN0YW5jZS0+aW5zdGFuY2UoKS5p
bXBvcnRGdW5jdGlvbjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OlBvaXNvbmVkQmFycmllcjxKU09i
amVjdD4+KGZ1bmN0aW9uSW5kZXgpLT5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoaXNXZWJB
c3NlbWJseUhvc3RGdW5jdGlvbih2bSwgZnVuY3Rpb25JbXBvcnQpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIFdlYkFzc2VtYmx5RnVuY3Rpb24qIHdhc21GdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8
V2ViQXNzZW1ibHlGdW5jdGlvbio+KHZtLCBmdW5jdGlvbkltcG9ydCk7CiAgICAgICAgICAgICAg
ICAgICAgIC8vIElmIHdlIGV2ZXIgaW1wb3J0IGEgV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24s
IHdlIHNldCB0aGUgaW1wb3J0IGFzIHRoZSB1bndyYXBwZWQgdmFsdWUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaApp
bmRleCBhMDhjY2JjLi5mYzJhZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksOCArNTksMTEgQEAgcHJp
dmF0ZToKIAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0
b3ImKTsKIAotICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5SW5zdGFuY2U+IG1faW5zdGFu
Y2U7Ci0gICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX3N0YXJ0RnVuY3Rpb247CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4KKyAgICB1c2luZyBQb2lzb25lZEJhcnJpZXIgPSBQb2lzb25lZFdy
aXRlQmFycmllcjxXZWJBc3NlbWJseU1vZHVsZVJlY29yZFBvaXNvbiwgVD47CisKKyAgICBQb2lz
b25lZEJhcnJpZXI8SlNXZWJBc3NlbWJseUluc3RhbmNlPiBtX2luc3RhbmNlOworICAgIFBvaXNv
bmVkQmFycmllcjxKU09iamVjdD4gbV9zdGFydEZ1bmN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3Nl
bWJseVRvSlNDYWxsZWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5VG9KU0NhbGxlZS5oCmluZGV4IDA2MWQxNGQuLmM4OWExYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5VG9KU0NhbGxlZS5oCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxLDcg
KzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNXZWJBc3Nl
bWJseU1vZHVsZSopOwogICAgIFdlYkFzc2VtYmx5VG9KU0NhbGxlZShWTSYsIFN0cnVjdHVyZSop
OwogCi0gICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlNb2R1bGU+IG1fbW9kdWxlOworICAg
IFBvaXNvbmVkV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5VG9KU0NhbGxlZVBvaXNvbiwgSlNXZWJB
c3NlbWJseU1vZHVsZT4gbV9tb2R1bGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVdyYXBw
ZXJGdW5jdGlvbi5oCmluZGV4IGUxMDBmNzEuLmNhNmMwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24u
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC01Niw3ICs1Niw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgV2ViQXNzZW1ibHlXcmFw
cGVyRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFdhc206OkNhbGxh
YmxlRnVuY3Rpb24pOwogCi0gICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2Z1bmN0aW9uOwor
ICAgIFBvaXNvbmVkV3JpdGVCYXJyaWVyPFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uUG9pc29u
LCBKU09iamVjdD4gbV9mdW5jdGlvbjsKICAgICAvLyBJdCdzIHNhZmUgdG8ganVzdCBob2xkIHRo
ZSByYXcgQ2FsbGFibGVGdW5jdGlvbiBiZWNhdXNlIHdlIGhhdmUgYSByZWZlcmVuY2UKICAgICAv
LyB0byBvdXIgSW5zdGFuY2UsIHdoaWNoIHBvaW50cyB0byB0aGUgQ29kZUJsb2NrLCB3aGljaCBw
b2ludHMgdG8gdGhlIE1vZHVsZQogICAgIC8vIHRoYXQgZXhwb3J0ZWQgdXMsIHdoaWNoIGVuc3Vy
ZXMgdGhhdCB0aGUgYWN0dWFsIFNpZ25hdHVyZS9jb2RlIGRvZXNuJ3QgZ2V0IGRlYWxsb2NhdGVk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwppbmRleCBlMzhmMWYwLi42NDYyNmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTAxLTEy
ICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KKworICAgICAgICBQb2lzb25lZFdy
aXRlQmFycmllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgxNTk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjQ3NDM1MT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICBTdXBwb3J0aW5nIGNoYW5nZXMgbmVlZGVk
IHRvIGFsbG93IHBvaXNvbmluZyBvZiBXcml0ZUJhcnJpZXIKKyAgICAgICAgb2JqZWN0cy4KKwor
ICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9E
dW1iUHRyVHJhaXRzLmg6CisgICAgICAgICogd3RmL0R1bWJWYWx1ZVRyYWl0cy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV1RGL3d0Zi9EdW1iUHRyVHJhaXRzLmguCisgICAgICAgIChXVEY6OkR1bWJW
YWx1ZVRyYWl0czo6ZXhjaGFuZ2UpOgorICAgICAgICAoV1RGOjpEdW1iVmFsdWVUcmFpdHM6OnN3
YXApOgorICAgICAgICAoV1RGOjpEdW1iVmFsdWVUcmFpdHM6OnVud3JhcCk6CisgICAgICAgICog
d3RmL0ZvcndhcmQuaDoKKyAgICAgICAgKiB3dGYvUG9pc29uZWQuaDoKKyAgICAgICAgKFdURjo6
Q29uc3RFeHByUG9pc29uZWRWYWx1ZVRyYWl0czo6ZXhjaGFuZ2UpOgorICAgICAgICAoV1RGOjpD
b25zdEV4cHJQb2lzb25lZFZhbHVlVHJhaXRzOjpzd2FwKToKKyAgICAgICAgKFdURjo6Q29uc3RF
eHByUG9pc29uZWRWYWx1ZVRyYWl0czo6dW53cmFwKToKKwogMjAxOC0wMS0wNCAgRmlsaXAgUGl6
bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvZGVCbG9ja3Mgc2hvdWxkIGJlIGlu
IElzb1N1YnNwYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZjc3MmU3Ni4uZGY5NjM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC01NzQsNiArNTc0LDcgQEAKIAkJQThBNDczNzIxNTFBODI1QjAwNDEyM0ZGIC8q
IFZNVGFncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBWTVRhZ3MuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDc0OEIxNTFBODI2NDAwNDEyM0ZGIC8qIGNv
bmZpZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb25maWcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTlBNDcyN0YxNTFBODI1QTAwNDEyM0ZGIC8qIERpc2Fs
bG93Q1R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzYWxsb3dDVHlw
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBRDY1M0RBODIwMDZCNkMyMDBEODIw
RDcgLyogRHVtYlZhbHVlVHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IER1bWJWYWx1ZVRyYWl0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBRDdDNDM0
QTFERDJBNEE3MDAyNjg4OEIgLyogRXhwZWN0ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXhwZWN0ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ4OUI2
QjUxRTY0MTUwODAwOTA3MDdGIC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBRDg5QjZCNjFFNjQxNTA4MDA5MDcwN0YgLyog
TWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1lbW9yeVByZXNzdXJlSGFuZGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
ODU0LDYgKzg1NSw3IEBACiAJCQkJMEY0NTcwNDIxQkU1QjU4RjAwNjJBNjI5IC8qIERvbWluYXRv
cnMuaCAqLywKIAkJCQlBOEE0NzI4MDE1MUE4MjVBMDA0MTIzRkYgLyogRG91Ymx5TGlua2VkTGlz
dC5oICovLAogCQkJCUZFMDVGQUU2MUZEQjIxNDMwMDA5MzIzMCAvKiBEdW1iUHRyVHJhaXRzLmgg
Ki8sCisJCQkJQUQ2NTNEQTgyMDA2QjZDMjAwRDgyMEQ3IC8qIER1bWJWYWx1ZVRyYWl0cy5oICov
LAogCQkJCUE4QTQ3Mjk3MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmNwcCAqLywKIAkJCQlBOEE0
NzI5ODE1MUE4MjVBMDA0MTIzRkYgLyogZHRvYS5oICovLAogCQkJCTFBRUE4OEUxMUQ2QkJDRjQw
MEU1QUQ2NCAvKiBFbnVtVHJhaXRzLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9E
dW1iUHRyVHJhaXRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9EdW1iUHRyVHJhaXRzLmgKaW5kZXggZTg0
MjVjMC4uM2NlY2U2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRHVtYlB0clRyYWl0cy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0R1bWJQdHJUcmFpdHMuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxMiArMjUsMTUgQEAKIAog
I3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPHV0aWxpdHk+CiAK
IG5hbWVzcGFjZSBXVEYgewogICAgIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHN0cnVjdCBEdW1i
UHRyVHJhaXRzIHsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBwb2lzb24gPSAwOwor
CiAgICAgdXNpbmcgU3RvcmFnZVR5cGUgPSBUKjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+
CkBAIC00MiwzICs0NSw0IEBAIHN0cnVjdCBEdW1iUHRyVHJhaXRzIHsKIAogfSAvLyBuYW1lc3Bh
Y2UgV1RGCiAKK3VzaW5nIFdURjo6RHVtYlB0clRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL0R1bWJWYWx1ZVRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvRHVtYlZhbHVlVHJhaXRz
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM5MGFkOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0R1bWJWYWx1ZVRyYWl0cy5oCkBAIC0wLDAgKzEsNDgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgPGNzdGRpbnQ+CisjaW5jbHVkZSA8dXRpbGl0eT4KKworbmFtZXNw
YWNlIFdURiB7CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgRHVtYlZhbHVlVHJhaXRz
IHsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBwb2lzb24gPSAwOworCisgICAgdXNp
bmcgU3RvcmFnZVR5cGUgPSBUOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KKyAgICBzdGF0
aWMgQUxXQVlTX0lOTElORSBUIGV4Y2hhbmdlKFN0b3JhZ2VUeXBlJiB2YWwsIFUmJiBuZXdWYWx1
ZSkgeyByZXR1cm4gc3RkOjpleGNoYW5nZSh2YWwsIG5ld1ZhbHVlKTsgfQorCisgICAgc3RhdGlj
IEFMV0FZU19JTkxJTkUgdm9pZCBzd2FwKFN0b3JhZ2VUeXBlJiBhLCBTdG9yYWdlVHlwZSYgYikg
eyBzdGQ6OnN3YXAoYSwgYik7IH0KKyAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBUIHVud3JhcChj
b25zdCBTdG9yYWdlVHlwZSYgdmFsKSB7IHJldHVybiB2YWw7IH0KK307CisKK30gLy8gbmFtZXNw
YWNlIFdURgorCit1c2luZyBXVEY6OkR1bWJWYWx1ZVRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0ZvcndhcmQuaCBiL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAppbmRleCAzYzI2
ZDcwLi40MmZhZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJkLmgKKysrIGIv
U291cmNlL1dURi93dGYvRm9yd2FyZC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqICBDb3B5cmln
aHQgKEMpIDIwMDYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDA2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTUyLDYgKzUyLDcgQEAgc3RydWN0IEZhc3RNYWxsb2M7CiAK
IHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBDb21wbGV0aW9uSGFuZGxlcjsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEdW1iUHRyVHJhaXRzOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IER1bWJWYWx1ZVRyYWl0czsKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBGdW5jdGlvbjsK
IHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBMYXp5TmV2ZXJEZXN0cm95ZWQ7CiB0ZW1wbGF0ZTx0
eXBlbmFtZT4gY2xhc3MgTmV2ZXJEZXN0cm95ZWQ7CkBAIC04NCw2ICs4NSw4IEBAIHVzaW5nIFdU
Rjo6QXRvbWljU3RyaW5nSW1wbDsKIHVzaW5nIFdURjo6QmluYXJ5U2VtYXBob3JlOwogdXNpbmcg
V1RGOjpDU3RyaW5nOwogdXNpbmcgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjsKK3VzaW5nIFdURjo6
RHVtYlB0clRyYWl0czsKK3VzaW5nIFdURjo6RHVtYlZhbHVlVHJhaXRzOwogdXNpbmcgV1RGOjpG
dW5jdGlvbjsKIHVzaW5nIFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyOwogdXNpbmcgV1RGOjpIYXNo
Q291bnRlZFNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BvaXNvbmVkLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9Qb2lzb25lZC5oCmluZGV4IGJhNWI2YTguLjQxNTRiM2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BvaXNvbmVkLmgKKysrIGIvU291cmNlL1dURi93dGYvUG9pc29uZWQu
aApAQCAtMjYyLDYgKzI2Miw4IEBAIHVzaW5nIENvbnN0RXhwclBvaXNvbmVkID0gUG9pc29uZWRJ
bXBsPHVpbnRwdHJfdCwgbWFrZUNvbnN0RXhwclBvaXNvbihrZXkpLCBUPjsKIAogdGVtcGxhdGU8
dWludDMyX3Qga2V5LCB0eXBlbmFtZSBUPgogc3RydWN0IENvbnN0RXhwclBvaXNvbmVkUHRyVHJh
aXRzIHsKKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gcG9pc29uID0gbWFrZUNvbnN0RXhwclBv
aXNvbihrZXkpOworCiAgICAgdXNpbmcgU3RvcmFnZVR5cGUgPSBDb25zdEV4cHJQb2lzb25lZDxr
ZXksIFQqPjsKIAogICAgIHRlbXBsYXRlPGNsYXNzIFU+IHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQq
IGV4Y2hhbmdlKFN0b3JhZ2VUeXBlJiBwdHIsIFUmJiBuZXdWYWx1ZSkgeyByZXR1cm4gcHRyLmV4
Y2hhbmdlKG5ld1ZhbHVlKTsgfQpAQCAtMjc1LDYgKzI3NywyMyBAQCBzdHJ1Y3QgQ29uc3RFeHBy
UG9pc29uZWRQdHJUcmFpdHMgewogICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIFQqIHVud3JhcChj
b25zdCBTdG9yYWdlVHlwZSYgcHRyKSB7IHJldHVybiBwdHIudW5wb2lzb25lZCgpOyB9CiB9Owog
Cit0ZW1wbGF0ZTx1aW50MzJfdCBrZXksIHR5cGVuYW1lIFQ+CitzdHJ1Y3QgQ29uc3RFeHByUG9p
c29uZWRWYWx1ZVRyYWl0cyB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHBvaXNvbiA9IG1h
a2VDb25zdEV4cHJQb2lzb24oa2V5KTsKKworICAgIHVzaW5nIFN0b3JhZ2VUeXBlID0gQ29uc3RF
eHByUG9pc29uZWQ8a2V5LCBUPjsKKworICAgIHRlbXBsYXRlPGNsYXNzIFU+IHN0YXRpYyBBTFdB
WVNfSU5MSU5FIFQgZXhjaGFuZ2UoU3RvcmFnZVR5cGUmIHZhbCwgVSYmIG5ld1ZhbHVlKSB7IHJl
dHVybiB2YWwuZXhjaGFuZ2UobmV3VmFsdWUpOyB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
MSwgSzEgazEsIHR5cGVuYW1lIFQxPgorICAgIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHZvaWQgc3dh
cChQb2lzb25lZEltcGw8SzEsIGsxLCBUMT4mIGEsIFQxJiBiKSB7IGEuc3dhcChiKTsgfQorCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgSzEsIEsxIGsxLCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgSzIs
IEsyIGsyLCB0eXBlbmFtZSBUMj4KKyAgICBzdGF0aWMgQUxXQVlTX0lOTElORSB2b2lkIHN3YXAo
UG9pc29uZWRJbXBsPEsxLCBrMSwgVDE+JiBhLCBQb2lzb25lZEltcGw8SzIsIGsyLCBUMj4mIGIp
IHsgYS5zd2FwKGIpOyB9CisKKyAgICBzdGF0aWMgQUxXQVlTX0lOTElORSBUIHVud3JhcChjb25z
dCBTdG9yYWdlVHlwZSYgdmFsKSB7IHJldHVybiB2YWwudW5wb2lzb25lZCgpOyB9Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpDb25zdEV4cHJQb2lzb25lZDsKLS0gCjIu
OS4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>