<?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>80880</bug_id>
          
          <creation_ts>2012-03-12 13:48:15 -0700</creation_ts>
          <short_desc>[V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue</short_desc>
          <delta_ts>2012-06-21 15:34:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80936</dependson>
    
    <dependson>81170</dependson>
    
    <dependson>89604</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>antonm</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>kbr</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576480</commentid>
    <comment_count>0</comment_count>
      <attachid>131400</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-12 13:48:15 -0700</bug_when>
    <thetext>Created attachment 131400
Per test

This is part of the patch from bug 78149 but without the collection part. I&apos;m doing this in two parts since using v8::V8::AddHiddenReferences is an improvement over SetHiddenValue by itself.

In the attached perf test creating a classList is 3.4 times faster.

With patch

1.46ns/classList
1.41ns/classList
1.47ns/classList
1.41ns/classList

Without patch

4.890000000000001ns/classList
4.8999999999999995ns/classList
4.83ns/classList
4.9399999999999995ns/classList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576497</commentid>
    <comment_count>1</comment_count>
      <attachid>131404</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-12 14:12:48 -0700</bug_when>
    <thetext>Created attachment 131404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576592</commentid>
    <comment_count>2</comment_count>
      <attachid>131404</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 15:10:30 -0700</bug_when>
    <thetext>Comment on attachment 131404
Patch

Attachment 131404 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11943156</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576609</commentid>
    <comment_count>3</comment_count>
      <attachid>131404</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-12 15:23:42 -0700</bug_when>
    <thetext>Comment on attachment 131404
Patch

This patch looks really cool.  It looks like you have a compilation issue though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576614</commentid>
    <comment_count>4</comment_count>
      <attachid>131404</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-12 15:27:26 -0700</bug_when>
    <thetext>Comment on attachment 131404
Patch

I&apos;m marking this r+ out of pure enthusiasm, but we&apos;ll probably need to fix the compile errors before landing.  ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576633</commentid>
    <comment_count>5</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-12 15:42:42 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 131404 [details])
&gt; This patch looks really cool.  It looks like you have a compilation issue though.

I got the compile error under control. I was dissecting the initial patch which also set up hidden references for collections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576675</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-12 16:14:51 -0700</bug_when>
    <thetext>Wonderful patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576702</commentid>
    <comment_count>7</comment_count>
      <attachid>131448</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-12 16:34:09 -0700</bug_when>
    <thetext>Created attachment 131448
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576872</commentid>
    <comment_count>8</comment_count>
      <attachid>131448</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 18:37:24 -0700</bug_when>
    <thetext>Comment on attachment 131448
Patch for landing

Clearing flags on attachment: 131448

Committed r110524: &lt;http://trac.webkit.org/changeset/110524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576873</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 18:37:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577044</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-12 22:35:43 -0700</bug_when>
    <thetext>Rolled out at http://trac.webkit.org/changeset/110537 because it broke chromium-win build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577048</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-12 22:38:37 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Rolled out at http://trac.webkit.org/changeset/110537 because it broke chromium-win build.
FYI: http://chromegw.corp.google.com/i/chromium.webkit/builders/Webkit%20Win%20Builder%20%28dbg%29/builds/21087/steps/compile/logs/stdio

It looks that the generated source file doesn&apos;t include HTMLMediaElement.h and
cannot resolve HTMLMediaElement as a Node subclass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577058</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-12 22:41:54 -0700</bug_when>
    <thetext>The patch also seemed to cause a number of ASSERTs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577326</commentid>
    <comment_count>13</comment_count>
      <attachid>131448</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2012-03-13 08:16:10 -0700</bug_when>
    <thetext>Comment on attachment 131448
Patch for landing

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

LGTM, pretty neat

&gt; Source/WebCore/ChangeLog:3
&gt; +        [V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue

Add&lt;Implicit&gt;References?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2317
&gt; +            } elsif (GetGenerateIsReachable($dataNode) eq &quot;ImplFrame&quot;) {

up to you, but looks slightly scary: you&apos;ll now return value for GenerateIsReachable, not JSGenerateIsReachable.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:237
&gt; +    if (owner) {

nit: if (Node* owner = ...) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577580</commentid>
    <comment_count>14</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 11:20:21 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2317
&gt; &gt; +            } elsif (GetGenerateIsReachable($dataNode) eq &quot;ImplFrame&quot;) {
&gt; 
&gt; up to you, but looks slightly scary: you&apos;ll now return value for GenerateIsReachable, not JSGenerateIsReachable.

The idea is that GenerateReachable = JSGenerateIsReachable | V8GenerateIsReachable. This pattern is used all over in the bindings.

Maybe I am missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577665</commentid>
    <comment_count>15</comment_count>
      <attachid>131692</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 12:30:01 -0700</bug_when>
    <thetext>Created attachment 131692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577735</commentid>
    <comment_count>16</comment_count>
      <attachid>131692</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-13 13:23:20 -0700</bug_when>
    <thetext>Comment on attachment 131692
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        Second try. This time with an added include in TextTrackList.cpp.

Did you change more than just adding the include?  There were a bunch of debug crashes (ASSERTSs?) triggered by this change the first time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577752</commentid>
    <comment_count>17</comment_count>
      <attachid>131692</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 13:32:08 -0700</bug_when>
    <thetext>Comment on attachment 131692
Patch

I&apos;ll see if I can find those asserts (this is the first time I hear about them)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577755</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-13 13:34:31 -0700</bug_when>
    <thetext>If you have your IRC log from last night, I sent you a link to them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577756</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-13 13:36:53 -0700</bug_when>
    <thetext>I found a link in my IRC log:
http://build.chromium.org/f/chromium/layout_test_results/Webkit_Linux__dbg_/results/layout-test-results/dom/html/level1/core/hc_attrgetvalue1-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577766</commentid>
    <comment_count>20</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 13:42:48 -0700</bug_when>
    <thetext>Got it. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577824</commentid>
    <comment_count>21</comment_count>
      <attachid>131716</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 14:36:07 -0700</bug_when>
    <thetext>Created attachment 131716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577827</commentid>
    <comment_count>22</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-03-13 14:41:25 -0700</bug_when>
    <thetext>It turns out that the interfaces with GenerateReachable also needs V8DependentLifeTime since these are not independent. I updated the codegen to set the correct hasDependentLifetime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577897</commentid>
    <comment_count>23</comment_count>
      <attachid>131716</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-13 15:37:26 -0700</bug_when>
    <thetext>Comment on attachment 131716
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578000</commentid>
    <comment_count>24</comment_count>
      <attachid>131716</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:57:04 -0700</bug_when>
    <thetext>Comment on attachment 131716
Patch

Clearing flags on attachment: 131716

Committed r110641: &lt;http://trac.webkit.org/changeset/110641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578001</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 16:57:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578527</commentid>
    <comment_count>26</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2012-03-14 10:19:34 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2317
&gt; &gt; &gt; +            } elsif (GetGenerateIsReachable($dataNode) eq &quot;ImplFrame&quot;) {
&gt; &gt; 
&gt; &gt; up to you, but looks slightly scary: you&apos;ll now return value for GenerateIsReachable, not JSGenerateIsReachable.
&gt; 
&gt; The idea is that GenerateReachable = JSGenerateIsReachable | V8GenerateIsReachable. This pattern is used all over in the bindings.
&gt; 
&gt; Maybe I am missing something?

No, I don&apos;t think so.  Thanks a lot for explanations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580313</commentid>
    <comment_count>27</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-16 02:47:34 -0700</bug_when>
    <thetext>Is the landed patch correct? Now I can find no &quot;visitDOMWrapper&quot; in the generated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580469</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-16 06:47:06 -0700</bug_when>
    <thetext>Sorry, this got reverted again because it had ASAN problems:


AllUrlsApiTest.WhitelistedExtension: 
[6008:6008:0314/155218:1809070530:WARNING:zygote_host_impl_linux.cc(154)] Running without the SUID sandbox! See http://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[6008:6008:0314/155219:1810342920:WARNING:CONSOLE(2109)] &quot;Missing string for id: login_status_message&quot;, source: chrome://newtab/ (2109)
[6008:6008:0314/155219:1810343124:WARNING:CONSOLE(2109)] &quot;Missing string for id: ntp4_intro_message&quot;, source: chrome://newtab/ (2109)
[6008:6008:0314/155219:1810343207:WARNING:CONSOLE(2109)] &quot;Missing string for id: serverpromo&quot;, source: chrome://newtab/ (2109)
ASAN:SIGSEGV
==6041== ERROR: AddressSanitizer crashed on unknown address 0x000000000000 (pc 0x00000396c3e9 sp 0x7fffeab329f0 bp 0x7fffeab32a20 T0)
AddressSanitizer can not provide additional info. ABORTING
    #0 0x396c3e9 in v8::Context::Global() ???:0
    #1 0x5a4e8ec in WebCore::DOMData::getCurrentStore() ???:0
    #2 0x52242d9 in WebCore::getDOMNodeMap() ???:0
    #3 0x659e806 in WebCore::V8DOMTokenList::visitDOMWrapper(WebCore::DOMDataStore*, void*, v8::Persistent&lt;v8::Object&gt;) ???:0
    #4 0x5a5634f in WebCore::WeakReferenceMap&lt;void, v8::Object&gt;::visit(WebCore::DOMDataStore*, WebCore::AbstractWeakReferenceMap&lt;void, v8::Object&gt;::Visitor*) ???:0
    #5 0x5224eb8 in WebCore::visitDOMObjects(WebCore::AbstractWeakReferenceMap&lt;void, v8::Object&gt;::Visitor*) ???:0
    #6 0x522e4b6 in WebCore::V8GCController::gcPrologue() ???:0
    #7 0x3a6c83e in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GCTracer*) ???:0
Stats: 35M malloced (47M for red zones) by 142313 calls
Stats: 0M realloced by 258 calls
Stats: 29M freed by 81525 calls
Stats: 0M really freed by 0 calls
Stats: 112M (28687 full pages) mmaped in 28 calls
  mmaps   by size class: 8:131064; 9:16382; 10:8190; 11:2047; 12:1024; 13:1024; 14:512; 15:128; 16:128; 17:96; 18:32; 19:8; 20:4;
  mallocs by size class: 8:124488; 9:9231; 10:6162; 11:801; 12:317; 13:680; 14:334; 15:115; 16:72; 17:79; 18:26; 19:7; 20:1;
  frees   by size class: 8:67711; 9:6245; 10:5667; 11:547; 12:251; 13:546; 14:291; 15:103; 16:60; 17:70; 18:26; 19:7; 20:1;
  rfrees  by size class:
Stats: malloc large: 113 small slow: 511
Killed (timed out).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650281</commentid>
    <comment_count>29</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-15 10:01:45 -0700</bug_when>
    <thetext>Adam (Barth), I cannot reproduce this ASAN report and Adam (Klein) suspects it is a ASAN bug. My plan is to try to submit this again Wed next week and see if it still happens. Are you OK with that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650317</commentid>
    <comment_count>30</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-15 10:40:15 -0700</bug_when>
    <thetext>Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653742</commentid>
    <comment_count>31</comment_count>
      <attachid>148622</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 12:03:04 -0700</bug_when>
    <thetext>Created attachment 148622
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653757</commentid>
    <comment_count>32</comment_count>
      <attachid>148622</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 12:19:55 -0700</bug_when>
    <thetext>Comment on attachment 148622
Patch for landing

Rejecting attachment 148622 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/13010011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653759</commentid>
    <comment_count>33</comment_count>
      <attachid>148622</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 12:21:39 -0700</bug_when>
    <thetext>Comment on attachment 148622
Patch for landing

This has no changes since last time it was r+ed. The only diffs are due to rebaseling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653761</commentid>
    <comment_count>34</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-06-20 12:25:11 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; (From update of attachment 148622 [details])
&gt; This has no changes since last time it was r+ed. The only diffs are due to rebaseling.

In that case you can just put the reviewer in the ChangeLog(s) and cq+ it (which is all webkit-patch land-safely does anyway).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653765</commentid>
    <comment_count>35</comment_count>
      <attachid>148627</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 12:27:04 -0700</bug_when>
    <thetext>Created attachment 148627
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653822</commentid>
    <comment_count>36</comment_count>
      <attachid>148627</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 13:17:00 -0700</bug_when>
    <thetext>Comment on attachment 148627
Patch for landing

Clearing flags on attachment: 148627

Committed r120854: &lt;http://trac.webkit.org/changeset/120854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653823</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 13:17:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653902</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-20 14:37:23 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 89604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653906</commentid>
    <comment_count>39</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 14:39:27 -0700</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux%20%28dbg%29/builds/8243

Regressions: Unexpected crashes : (2)
  inspector/extensions/extensions-audits-content-script.html = CRASH
  inspector/extensions/extensions-eval-content-script.html = CRASH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653925</commentid>
    <comment_count>40</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-06-20 15:06:06 -0700</bug_when>
    <thetext>Crash was observed in release build as well:

http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Linux/builds/27170

Regressions: Unexpected crashes : (1)
  inspector/extensions/extensions-audits-content-script.html = CRASH

14:55:27.236 7483 worker/3 inspector/extensions/extensions-audits-content-script.html crashed, stack trace:
14:55:27.236 7483   	base::debug::StackTrace::StackTrace() [0x673c5e]
14:55:27.236 7483   	base::(anonymous namespace)::StackDumpSignalHandler() [0x6602b9]
14:55:27.236 7483   	0x7f5a4d43eaf0
14:55:27.236 7483   	WebCore::DOMData::getCurrentStore() [0xfd35ab]
14:55:27.236 7483   	WebCore::getDOMNodeMap() [0xce0639]
14:55:27.236 7483   	WebCore::V8DOMTokenList::visitDOMWrapper() [0x137bcb9]
14:55:27.236 7483   	WebCore::WeakReferenceMap&lt;&gt;::visit() [0xfd5bf6]
14:55:27.236 7483   	WebCore::visitDOMObjects() [0xce04c9]
14:55:27.236 7483   	WebCore::V8GCController::gcPrologue() [0xce5de3]
14:55:27.236 7483   	v8::internal::Heap::PerformGarbageCollection() [0x8126bf]
14:55:27.236 7483   	v8::internal::Heap::CollectGarbage() [0x81301f]
14:55:27.236 7483   	v8::internal::Heap::CollectAllGarbage() [0x813520]
14:55:27.236 7483   	v8::internal::Debug::GetLoadedScripts() [0x7bc544]
14:55:27.236 7483   	v8::internal::Runtime_DebugGetLoadedScripts() [0x933cce]
14:55:27.236 7483   	0x1bd65730618e
14:55:27.238 7462   inspector/extensions/extensions-audits-content-script.html -&gt; unexpected crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653934</commentid>
    <comment_count>41</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-06-20 15:15:48 -0700</bug_when>
    <thetext>From the debug build, an assertion in V8:

STDERR: #
STDERR: # Fatal error in v8/src/objects-inl.h, line 1489
STDERR: # CHECK(index &lt; GetInternalFieldCount() &amp;&amp; index &gt;= 0) failed
STDERR: #</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654018</commentid>
    <comment_count>42</comment_count>
      <attachid>148627</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 17:02:38 -0700</bug_when>
    <thetext>Comment on attachment 148627
Patch for landing

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

Adam Klein helped me figure this out. A new patch is coming.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:226
&gt; +        v8::Persistent&lt;v8::Object&gt; ownerWrapper = getDOMNodeMap().get(owner);

This line was the problem. It needs to be store-&gt;domNodeMap() to get the correct map.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654022</commentid>
    <comment_count>43</comment_count>
      <attachid>148683</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-20 17:08:07 -0700</bug_when>
    <thetext>Created attachment 148683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654364</commentid>
    <comment_count>44</comment_count>
      <attachid>148683</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2012-06-21 04:11:54 -0700</bug_when>
    <thetext>Comment on attachment 148683
Patch

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

neat

&gt; Source/WebCore/bindings/v8/V8GCController.cpp:344
&gt; +        if (info-&gt;domWrapperVisitorFunction)

I think it&apos;s time to make WrapperTypeInfo a proper class and switch to virtual functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654624</commentid>
    <comment_count>45</comment_count>
      <attachid>148683</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-21 09:58:33 -0700</bug_when>
    <thetext>Comment on attachment 148683
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/V8GCController.cpp:344
&gt;&gt; +        if (info-&gt;domWrapperVisitorFunction)
&gt; 
&gt; I think it&apos;s time to make WrapperTypeInfo a proper class and switch to virtual functions.

That seems lika a good idea. I can do that in a follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654783</commentid>
    <comment_count>46</comment_count>
      <attachid>148860</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2012-06-21 12:09:20 -0700</bug_when>
    <thetext>Created attachment 148860
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654954</commentid>
    <comment_count>47</comment_count>
      <attachid>148860</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 15:34:43 -0700</bug_when>
    <thetext>Comment on attachment 148860
Patch for landing

Clearing flags on attachment: 148860

Committed r120968: &lt;http://trac.webkit.org/changeset/120968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654955</commentid>
    <comment_count>48</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 15:34:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>131400</attachid>
            <date>2012-03-12 13:48:15 -0700</date>
            <delta_ts>2012-03-12 13:48:15 -0700</delta_ts>
            <desc>Per test</desc>
            <filename>perf-class-list.html</filename>
            <type>text/html</type>
            <size>430</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cjxib2R5PjwvYm9keT4KPHNjcmlwdD4KCmlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCiAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKdmFy
IGVsZW1lbnRzID0gW107CnZhciBjb3VudCA9IDEwMDAwMDsKCmZvciAodmFyIGkgPSAwOyBpIDwg
Y291bnQ7IGkrKykgewogICAgZWxlbWVudHNbaV0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKfQoKdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBjb3Vu
dDsgaSsrKSB7CiAgICBlbGVtZW50c1tpXS5jbGFzc0xpc3Q7Cn0KdmFyIGVuZCA9IERhdGUubm93
KCk7CmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSAoZW5kIC0gc3RhcnQpIC8gY291bnQgKiAx
ZTMgKyAnbnMvY2xhc3NMaXN0JzsKCjwvc2NyaXB0Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131404</attachid>
            <date>2012-03-12 14:12:48 -0700</date>
            <delta_ts>2012-03-12 16:34:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80880-20120312141247.patch</filename>
            <type>text/plain</type>
            <size>51571</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U1ZGE4NzUzMjg3NzRm
NzQ4Njg2OTljOGQ3NjYyNjdhYzI2YmNkOC4uYjQwNzNlYWQ4Zjc0NmFiODk3YzEwNjkwNzA4MDc0
ZjJhMjJmYmE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMSBAQAorMjAxMi0wMy0xMiAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSGlkZGVuUmVmZXJlbmNlcyBpbnN0ZWFkIG9mIFNldEhpZGRlblZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDg4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHVzZWQgdG8gYWRkIGEg
aGlkZGVuIHByb3BlcnR5IGluIHRoZSBnZXR0ZXIgdG8gdGhlIHJldHVybmVkIHdyYXBwZXIuCisg
ICAgICAgIFdpdGggdGhpcyBwYXRjaCB3ZSBpbnN0ZWFkIGhhbmRsZSB0aGUgbGl2ZW5lc3Mgb2Yg
dGhlIHdyYXBwZXIgaW4gdGhlIEdDIHBoYXNlIGJ5CisgICAgICAgIGNhbGxpbmcgdjg6OlY4OjpB
ZGRIaWRkZW5SZWZlcmVuY2UuCisKKyAgICAgICAgVG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgY3Vz
dG9tIGNvZGUgd2UgbmVlZCwgdGhlIFY4IGNvZGUgZ2VuZXJhdG9yIG5vdyBzdXBwb3J0cworICAg
ICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlIChhcyB3ZWxsIGFzIEN1c3RvbUlzUmVhY2hhYmxlKSB3
aGljaCwgZXZlbiB0aG91Z2ggZGlmZmVyZW50CisgICAgICAgIGZyb20gdGhlIEpTQyBhdHRyaWJ1
dGUsIGlzIHVzZWQgaW4gdGhlIHNhbWUgY2FzZXMgYW5kIHRha2VzIHRoZSBzYW1lIHZhbHVlcyAo
ZXZlbiB0aG91Z2gKKyAgICAgICAgYXQgdGhlIG1vbWVudCBub3QgYWxsIEpTQyB2YWx1ZXMgYXJl
IHN1cHBvcnRlZCBieSBWOCkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5j
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKToK
KyAgICAgICAgKEdldEN1c3RvbUlzUmVhY2hhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVy
KToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoTmVlZHNUb1Zpc2l0RE9NV3Jh
cHBlcik6CisgICAgICAgIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKToKKyAgICAgICAgKEdldEN1
c3RvbUlzUmVhY2hhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlVmlzaXRET01XcmFwcGVyKToKKyAg
ICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlTmFtZWRDb25zdHJ1Y3Rv
ckNhbGxiYWNrKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oOgorICAg
ICAgICAoVjhGbG9hdDY0QXJyYXkpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oOgorICAg
ICAgICAoVjhUZXN0QWN0aXZlRE9NT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmg6CisgICAgICAgIChWOFRlc3RDdXN0b21OYW1lZEdldHRlcik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2
ZW50Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50Q29uc3RydWN0b3IpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50VGFyZ2V0KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRl
cmZhY2UuaDoKKyAgICAgICAgKFY4VGVzdEludGVyZmFjZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDoKKyAgICAgICAgKFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmg6CisgICAgICAgIChWOFRlc3RO
YW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouaDoKKyAgICAgICAgKFY4VGVzdE9iaik6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6CisgICAgICAg
IChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L05QVjhPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3RUeXBlSW5m
byk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JvdXBlclZpc2l0b3I6OnZpc2l0RE9NV3JhcHBlcik6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdyYXBwZXJUeXBlSW5mbyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5
bGVTaGVldEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhET01Ub2tlbkxpc3RDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2hlZXQu
aWRsOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBkb20vRE9NU3Ry
aW5nTWFwLmlkbDoKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmlkbDoKKyAgICAgICAgKiBk
b20vTm9kZUxpc3QuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmlkbDoKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsOgorCiAyMDEyLTAzLTEyICBQYXZlbCBG
ZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlY29nbml6ZSBGbG9hdCpBcnJheSBhbmQgSW50KkFycmF5IGFzIGFycmF5cy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CmluZGV4IDU2YzE3ZjNmY2FiZTYwNmNkYjBhY2JlNmVlZWQ0ZDMwMTNkOTQxZDYuLjNjZTZhYjZj
OWI4NzZjMzJjN2RiYWYxNmI1YmFiYzMyMjVhNDliZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTYwLDcg
KzE2MCw2IEBAIHY4IHsKICAgICAgICAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxl
RGVjbGFyYXRpb25DdXN0b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NW
YWx1ZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q2FudmFzUGl4ZWxBcnJheUN1c3RvbS5jcHAgXApAQCAtMTcwLDggKzE2OSw3IEBAIHY4IHsKICAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBc
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAg
XAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0
b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHAKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAog
CiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggYjhmNWZkMjY3
ZWE1YTNlYjkyZDg5MTlkYTE0YWRkNTM0NmFmNzhlMC4uNzljOTUxMzA1M2U3NmMzN2IwY2UwZGNh
MThlYmJmNzliYzM0OWZmNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKQEAgLTczLDcgKzczLDYgQEAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250
ZXh0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAK
LSAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1ZhbHVlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcApAQCAtODUsNyArODQsNiBAQCBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21YUGF0aE5TUmVzb2x2ZXIuY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURh
dGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiODE3
MWVjNjg0NTRjN2NjYTI0YTMyMWZhM2U0YWNmZmRhMWM0MzIzLi44ZDFjMzUwN2JiZDk4MDVkMmM3
NzI2OThhYWNmMmM3NDYyYzkyZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDEwLDcgKzIwMTAs
NiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3Rv
bS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVs
QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwJywKQEAgLTIwMjQsNyArMjAyMyw2IEBACiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9t
LmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3Vz
dG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDk5Y2EwYmUxMTYzOTlhODAzZGJjMmRjZTEz
N2VlYzI1ZDk3N2FlOWUuLmY3YjNhYzE4NDE2M2ZjMjYzYTFhYjliNDU1NTcyYTljYWY5NDY5Njkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCkBAIC0zODEsNiArMzgxLDE4IEBAIHN1YiBwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3Nv
cgogICAgIH0KIH0KIAorc3ViIEdldEdlbmVyYXRlSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0
YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9OworfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFi
bGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKIHN1YiBHZW5l
cmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiB7CiAgICAgbXkgJG5vZGUgPSBzaGlmdDsKQEAgLTk4MCw4
ICs5OTIsOCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICB9CiAKICAgICBpZiAoISRoYXNQYXJl
bnQgfHwKLSAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0
ZUlzUmVhY2hhYmxlIn0gfHwgCi0gICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAKKyAgICAgICAgR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgIEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9k
ZSkgfHwKICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21G
aW5hbGl6ZSJ9IHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFj
dGl2ZURPTU9iamVjdCJ9KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBK
UyR7aW1wbENsYXNzTmFtZX1Pd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7XG4i
KTsKQEAgLTIyNjgsNyArMjI4MCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBpZiAoKCEkaGFzUGFyZW50ICYmICEkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn0pfHwgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKKyAgICBpZiAoKCEkaGFz
UGFyZW50ICYmICFHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUpKXx8IEdldEdlbmVyYXRl
SXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJBY3RpdmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRp
YyBpbmxpbmUgYm9vbCBpc09ic2VydmFibGUoSlMke2ltcGxDbGFzc05hbWV9KiBqcyR7aW1wbENs
YXNzTmFtZX0pXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGpzJHtpbXBsQ2xhc3NOYW1lfS0+aGFzQ3Vz
dG9tUHJvcGVydGllcygpKVxuIik7CkBAIC0yMjk2LDIxICsyMzA4LDIxIEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIH0KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKCFpc09ic2VydmFibGUoanMke2ltcGxDbGFzc05hbWV9KSlcbiIpOwogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGZhbHNlO1xuIik7Ci0gICAgICAgIGlm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSkgeworICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpKSB7CiAg
ICAgICAgICAgICBteSAkcm9vdFN0cmluZzsKLSAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbCIpIHsK
KyAgICAgICAgICAgIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIklt
cGwiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICAke2ltcGxUeXBlfSog
cm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpO1xuIjsKLSAgICAgICAgICAgIH0gZWxz
aWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJs
ZSJ9IGVxICJJbXBsQ29udGV4dCIpIHsKKyAgICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRl
SXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbENvbnRleHQiKSB7CiAgICAgICAgICAgICAg
ICAgJHJvb3RTdHJpbmcgID0gIiAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIHJvb3QgPSBqcyR7
aW1wbENsYXNzTmFtZX0tPmltcGwoKS0+Y29udGV4dCgpO1xuIjsKLSAgICAgICAgICAgIH0gZWxz
aWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJs
ZSJ9IGVxICJJbXBsRnJhbWUiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlz
UmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxGcmFtZSIpIHsKICAgICAgICAgICAgICAgICAk
cm9vdFN0cmluZyAgPSAiICAgIEZyYW1lKiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBs
KCktPmZyYW1lKCk7XG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYg
KCFyb290KVxuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1
cm4gZmFsc2U7XG4iOwotICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxEb2N1bWVudCIpIHsK
KyAgICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBl
cSAiSW1wbERvY3VtZW50IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAg
RG9jdW1lbnQqIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKS0+ZG9jdW1lbnQoKTtc
biI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICBpZiAoIXJvb3QpXG4iOwog
ICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgICAgIHJldHVybiBmYWxzZTtcbiI7
Ci0gICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJK
U0dlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbEVsZW1lbnRSb290IikgeworICAgICAgICAg
ICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRWxl
bWVudFJvb3QiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBFbGVtZW50
KiBlbGVtZW50ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmVsZW1lbnQoKTtcbiI7CiAg
ICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICBpZiAoIWVsZW1lbnQpXG4iOwogICAg
ICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgICAgIHJldHVybiBmYWxzZTtcbiI7CkBA
IC0yMzM0LDggKzIzNDYsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgaWYg
KCEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUZpbmFsaXplIn0gJiYK
ICAgICAgICAgKCEkaGFzUGFyZW50IHx8Ci0gICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSB8fAotICAgICAgICAgJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9IHx8CisgICAgICAg
ICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKKyAgICAgICAgIEdldEN1c3Rv
bUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKICAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSkgewogICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgInZvaWQgSlMke2ltcGxDbGFzc05hbWV9T3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxl
PEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KVxuIik7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAie1xuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGE1ZGFiZGZkNTljOWY0ZTU4ZTZjZTM5OGNi
YWJkZTI0ZTQzYmNiNWYuLjUwODQyYTcxZDcyZTVhZTE4MTA3M2IyYmJhYzI3NjljZGE0OGJkMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCkBAIC0xOTIsNiArMTkyLDY0IEBAIHN1YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5n
CiAgICAgfQogfQogCitzdWIgTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcgoreworICAgIG15ICRkYXRh
Tm9kZSA9IHNoaWZ0OworICAgIHJldHVybiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9k
ZSkgfHwgR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKTsKK30KKworc3ViIEdldEdlbmVy
YXRlSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4g
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4R2VuZXJhdGVJc1JlYWNoYWJsZSJ9
IHx8ICIiCit9CisKK3N1YiBHZXRDdXN0b21Jc1JlYWNoYWJsZQoreworICAgIG15ICRkYXRhTm9k
ZSA9IHNoaWZ0OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
dXN0b21Jc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4
Q3VzdG9tSXNSZWFjaGFibGUifTsKK30KKworc3ViIEdlbmVyYXRlVmlzaXRET01XcmFwcGVyCit7
CisgICAgbXkgKCRkYXRhTm9kZSwgJGltcGxDbGFzc05hbWUpID0gQF87CisKKyAgICBpZiAoR2V0
Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSkgeworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKK3ZvaWQgVjgke2ltcGxDbGFzc05hbWV9
Ojp2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCogb2JqZWN0LCB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQoreworICAgICR7aW1wbENsYXNzTmFtZX0q
IGltcGwgPSBzdGF0aWNfY2FzdDwke2ltcGxDbGFzc05hbWV9Kj4ob2JqZWN0KTsKK0VORAorICAg
IGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgICJJbXBsRWxlbWVudFJv
b3QiIHx8CisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIklt
cGxPd25lclJvb3QiIHx8CisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2Rl
KSBlcSAgIkltcGxPd25lck5vZGVSb290IikgeworCisgICAgICAgIG15ICRtZXRob2ROYW1lOwor
ICAgICAgICAkbWV0aG9kTmFtZSA9ICJlbGVtZW50IiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJs
ZSgkZGF0YU5vZGUpIGVxICJJbXBsRWxlbWVudFJvb3QiKTsKKyAgICAgICAgJG1ldGhvZE5hbWUg
PSAib3duZXIiIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxP
d25lclJvb3QiKTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXJOb2RlIiBpZiAoR2V0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsT3duZXJOb2RlUm9vdCIpOworCisg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7CisgICAgTm9kZSogb3duZXIgPSBpbXBs
LT4ke21ldGhvZE5hbWV9KCk7CisgICAgaWYgKG93bmVyKSB7CisgICAgICAgIHY4OjpQZXJzaXN0
ZW50PHY4OjpPYmplY3Q+IG93bmVyV3JhcHBlciA9IGdldERPTU5vZGVNYXAoKS5nZXQob3duZXIp
OworICAgICAgICBpZiAoIW93bmVyV3JhcHBlci5Jc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gdmFsdWUgPSB3cmFwcGVyOworICAgICAgICAgICAgdjg6
OlY4OjpBZGRJbXBsaWNpdFJlZmVyZW5jZXMob3duZXJXcmFwcGVyLCAmdmFsdWUsIDEpOworICAg
ICAgICB9CisgICAgfQorRU5ECisgICAgfQorCisgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5E
KTsKK30KKworRU5ECit9CisKIHN1YiBHZXRTVkdQcm9wZXJ0eVR5cGVzCiB7CiAgICAgbXkgJGlt
cGxUeXBlID0gc2hpZnQ7CkBAIC0zNDAsNiArMzk4LDcgQEAgRU5ECiAgICAgfQogICAgIGlubGlu
ZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKCR7bmF0aXZlVHlwZX0qJHtmb3Jj
ZU5ld09iamVjdFBhcmFtZXRlcn0pOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQq
KTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCos
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZv
IGluZm87CiBFTkQKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0
aXZlRE9NT2JqZWN0In0pIHsKQEAgLTE4MDEsMTIgKzE4NjAsMTIgQEAgc3ViIEdlbmVyYXRlTmFt
ZWRDb25zdHJ1Y3RvckNhbGxiYWNrCiAKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
IDw8RU5EKTsKLVdyYXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6
aW5mbyA9IHsgVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOCR7
aW1wbENsYXNzTmFtZX06OmRlcmVmT2JqZWN0LCBWOCR7aW1wbENsYXNzTmFtZX06OnRvQWN0aXZl
RE9NT2JqZWN0LCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3Ry
dWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0
ZSwgVjgke2ltcGxDbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgVjgke2ltcGxDbGFzc05hbWV9Ojp0
b0FjdGl2ZURPTU9iamVjdCwgMCwgMCB9OwogCiBFTkQKICAgICB9IGVsc2UgewogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3JhcHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NO
YW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6
R2V0VGVtcGxhdGUsIDAsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFt
ZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6Okdl
dFRlbXBsYXRlLCAwLCAwLCAwLCAwIH07CiAKIEVORAogICAgIH0KQEAgLTIyNTEsNiArMjMxMCw3
IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRp
bnRlcmZhY2VOYW1lKTsKIAogICAgIG15ICR0b0FjdGl2ZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9ID8gIiR7Y2xhc3NOYW1lfTo6dG9BY3RpdmVE
T01PYmplY3QiIDogIjAiOworICAgIG15ICRkb21WaXNpdG9yID0gTmVlZHNUb1Zpc2l0RE9NV3Jh
cHBlcigkZGF0YU5vZGUpID8gIiR7Y2xhc3NOYW1lfTo6dmlzaXRET01XcmFwcGVyIiA6ICIwIjsK
IAogICAgICMgRmluZCB0aGUgc3VwZXIgZGVzY3JpcHRvci4KICAgICBteSAkcGFyZW50Q2xhc3Mg
PSAiIjsKQEAgLTIyNjcsNyArMjMyNyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgfQogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgV2ViQ29yZSB7XG5c
biIpOwogICAgIG15ICRwYXJlbnRDbGFzc0luZm8gPSAkcGFyZW50Q2xhc3MgPyAiJiR7cGFyZW50
Q2xhc3N9OjppbmZvIiA6ICIwIjsKLSAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiV3JhcHBl
clR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsgJHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0
ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0b0FjdGl2ZX0sICR7cGFyZW50Q2xhc3NJ
bmZvfSB9O1xuXG4iKTsgICAKKyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5
cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsgJHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwg
JHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0b0FjdGl2ZX0sICR7ZG9tVmlzaXRvcn0sICR7
cGFyZW50Q2xhc3NJbmZvfSB9O1xuXG4iKTsgICAKICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xz
LCAibmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1JbnRlcm5hbCB7XG5cbiIpOwogICAgIHB1c2go
QGltcGxDb250ZW50RGVjbHMsICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0UoVCkg
eyB9XG5cbiIpOwogCkBAIC0yMzIwLDYgKzIzODAsMTAgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KICAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvckdldHRlcigkZGF0YU5vZGUsICRpbXBs
Q2xhc3NOYW1lKTsKICAgICB9CiAKKyAgICBpZiAoTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0
YU5vZGUpKSB7CisgICAgICAgIEdlbmVyYXRlVmlzaXRET01XcmFwcGVyKCRkYXRhTm9kZSwgJGlt
cGxDbGFzc05hbWUpOworICAgIH0KKwogICAgIG15ICRpbmRleGVyOwogICAgIG15ICRuYW1lZFBy
b3BlcnR5R2V0dGVyOwogICAgICMgR2VuZXJhdGUgbWV0aG9kcyBmb3IgZnVuY3Rpb25zLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5k
ZXggZDEwNWUwODcyN2RlOTExNzdlZjUxOTIwZDcxNzQ0ZmY3OTBkOWM5OC4uNWI2YTUzMDViYmY5
OWQ5NzQxNTE4NjIzMjUxNTI3YTljMjA5NjUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0zOCw2ICszOCw3IEBAIEN1c3Rv
bUVudW1lcmF0ZVByb3BlcnR5CiBDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QKIEN1c3RvbUdldHRl
cgogQ3VzdG9tSW5kZXhlZFNldHRlcgorQ3VzdG9tSXNSZWFjaGFibGUKIEN1c3RvbU5hbWVkR2V0
dGVyCiBDdXN0b21OYW1lZFNldHRlcgogQ3VzdG9tUHV0RnVuY3Rpb24KQEAgLTUxLDExICs1Miwx
MiBAQCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlcgogRG9Ob3RDaGVja1NlY3VyaXR5T25TZXR0
ZXIKIEV2ZW50VGFyZ2V0CiBFeHRlbmRzRE9NR2xvYmFsT2JqZWN0CitHZW5lcmF0ZUlzUmVhY2hh
YmxlPXxJbXBsfEltcGxDb250ZXh0fEltcGxEb2N1bWVudHxJbXBsRWxlbWVudFJvb3R8SW1wbEZy
YW1lCiBJbW11dGFibGUKIEltcGxlbWVudGVkQXM9KgogSW5kZXhlZEdldHRlcgotSW50ZXJmYWNl
TmFtZT0qCiBJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcgorSW50ZXJmYWNlTmFtZT0qCiBJ
c0luZGV4CiBJc1dvcmtlckNvbnRleHQKIEpTQ3VzdG9tCkBAIC0xMDQsMTAgKzEwNiwxMiBAQCBV
UkwKIFY4Q3VzdG9tCiBWOEN1c3RvbUNvbnN0cnVjdG9yCiBWOEN1c3RvbUdldHRlcgorVjhDdXN0
b21Jc1JlYWNoYWJsZQogVjhDdXN0b21TZXR0ZXIKIFY4Q3VzdG9tVG9KU09iamVjdAogVjhEZXBl
bmRlbnRMaWZldGltZQogVjhEb05vdENoZWNrU2lnbmF0dXJlCiBWOEVuYWJsZWRBdFJ1bnRpbWU9
KgorVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsRWxlbWVudFJvb3R8SW1wbE93bmVyUm9vdHxJ
bXBsT3duZXJOb2RlUm9vdAogVjhSZWFkT25seQogVjhVbmZvcmdlYWJsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJh
eS5jcHAKaW5kZXggYmRjNjAyOGJlOGFkYjY2ZTY0ZTlmY2NlZjQ4MjI3MmYwNjczNjE4MC4uNGQw
NGI1MTQ5Njc4ZmVjZGUyNmE4OWRiNDM2YWUzYzcxNGViOGJiZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXku
Y3BwCkBAIC00Miw3ICs0Miw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5
cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJheTo6R2V0VGVtcGxh
dGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgJlY4QXJyYXlCdWZmZXJWaWV3Ojpp
bmZvIH07CitXcmFwcGVyVHlwZUluZm8gVjhGbG9hdDY0QXJyYXk6OmluZm8gPSB7IFY4RmxvYXQ2
NEFycmF5OjpHZXRUZW1wbGF0ZSwgVjhGbG9hdDY0QXJyYXk6OmRlcmVmT2JqZWN0LCAwLCAwLCAm
VjhBcnJheUJ1ZmZlclZpZXc6OmluZm8gfTsKIAogbmFtZXNwYWNlIEZsb2F0NjRBcnJheUludGVy
bmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhGbG9hdDY0QXJyYXkuaAppbmRleCBiMWNkYmU3NDNhZGNjNWIyOGFiZWU1MDRmZGI1
MzdiOWJmYTgwMTEwLi5jOWJiMzhlOWIxM2M5NzZiZDQ0Y2JkZDkwYWNmZTdmNTE2OWM0ZWQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9h
dDY0QXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlu
bGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKEZsb2F0NjRBcnJheSopOwog
ICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNp
dERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmpl
Y3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
KTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdy
YXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0
LmNwcAppbmRleCBmZmM5N2U0NjI4Mjg3OTkxYWRjMTg0YmU3NmFiMzAyY2U0OTk2ZDIzLi5iNGU1
NWQ2OWE2ODczMTI4NDM1NTE0ODU1NDkzZDA4NGQ0Y2E4MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0
aXZlRE9NT2JqZWN0LmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmluZm8gPSB7IFY4VGVz
dEFjdGl2ZURPTU9iamVjdDo6R2V0VGVtcGxhdGUsIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6ZGVy
ZWZPYmplY3QsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RBY3RpdmVET01PYmplY3Q6
OmluZm8gPSB7IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6R2V0VGVtcGxhdGUsIFY4VGVzdEFjdGl2
ZURPTU9iamVjdDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RBY3Rp
dmVET01PYmplY3RJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaAppbmRl
eCBlMTYzYjNkZDYwN2U5MzhlNGU2OTIyZDMxMjNlMDZlMjc3ZDNlZTk2Li4wNjA4YmRjMTkwNDNh
NDM1ZTEwMzk4MGZhMTNmMDJmMDZhNjUyMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVj
dC5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEFjdGl2ZURPTU9iamVjdCopOwogICAgIHN0
YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIGNvbnN0IGludCBp
bnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsg
MDsKICAgICBzdGF0aWMgYm9vbCBuYW1lZFNlY3VyaXR5Q2hlY2sodjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGtleSwgdjg6OkFjY2Vzc1R5cGUsIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5j
cHAKaW5kZXggY2JmZjZkNGU3Yzg5YTlkMDA3YjFiNDZlYTEzZGJhN2U0OTIyNzZmNi4uMjQ2YjA0
ZTA4ODc0MTRjZmRjNzBlODM2MTlkODQ5Yjg2MzFmOTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjppbmZvID0geyBW
OFRlc3RDdXN0b21OYW1lZEdldHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0
dGVyOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEN1c3RvbU5h
bWVkR2V0dGVyOjppbmZvID0geyBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6R2V0VGVtcGxhdGUs
IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1l
c3BhY2UgVGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0
b21OYW1lZEdldHRlci5oCmluZGV4IDI2NDc5MWQ4NGM1MDU3ZWNlZDM2MDlhYWVkMzI5YjBmNWQy
MjkxMTMuLjcxYzE5YWQ4MTA4MGRkN2U2ZTgxZDI5M2NkMjFkZDg3YjVkYjBjZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21O
YW1lZEdldHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAg
ICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEN1
c3RvbU5hbWVkR2V0dGVyKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOwor
ICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6
OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5m
bzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CiAgICAgc3Rh
dGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJu
YWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRl
eCA3YzA2ZTM0ZTZhNmFmMjY4NzMxMTIwMjRhMWFjYzdlYzNiZTgyOTg0Li44N2M4ZjZmYjg3ZTY2
ZGZkMzFiNDliNTYzMjAzYjBkNjVjODYwMTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3Jh
cHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdEV2ZW50
Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpkZXJlZk9i
amVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6Omlu
Zm8gPSB7IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudENv
bnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdEV2ZW50
Q29uc3RydWN0b3JJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmlu
ZGV4IDUyMGUxY2U1ODRjZGI2ZmIyZjlhMGFkODE3YzM5MGNhMzAwMzI4NWQuLjE2NDZhNTRhODc4
MGFhN2ZiM2JhZDU1N2U1M2I4MTIwNGM1ODFiYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RFdmVudENvbnN0cnVjdG9yKik7CiAg
ICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0
RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYp
OwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3Jh
cHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRl
eCAxZTZmYmZhNTM1M2RkOWJlN2ZmOTNhZTMyNmYxNDJjNDY0MzkwM2UyLi5iMTZkZGU1ZmZmMzQy
ZmY4MDAyZWMwN2MyNTZiYWNiODNiMDUwYWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAK
QEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUlu
Zm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7IFY4VGVzdEV2ZW50VGFyZ2V0OjpHZXRUZW1w
bGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVmT2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlw
ZUluZm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7IFY4VGVzdEV2ZW50VGFyZ2V0OjpHZXRU
ZW1wbGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVmT2JqZWN0LCAwLCAwLCAwIH07CiAKIG5h
bWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgK
aW5kZXggMDczNDEyZjgwOGQxNzZhNDdlZDlhZWZjNWQwMzNkOWRlMjJjMTlkYy4uMjJmOTAxMjA0
YzExMmI4OTJlNGY2M2M0NTE5YjAwODMxN2Y5NTkyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgK
QEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRUYXJnZXQqKTsKICAgICBzdGF0aWMgdm9p
ZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERP
TURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3Rh
dGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gaW5kZXhlZFByb3BlcnR5R2V0dGVyKHVpbnQzMl90LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZv
Jik7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZFByb3BlcnR5R2V0dGVy
KHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVy
ZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmNwcAppbmRleCBhMmM1NTE4NjBiZjA5MDBjZDYxZmE2MTIzMTU2NDc0NTAyODU5
NmZkLi4xZGI4YWU1NzA3MGFiYTE0ODJlZjg2ZGI4NmM2MGEzNGFmMTBmN2RjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmNwcApAQCAtNDEsNyArNDEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6OmluZm8gPSB7IFY4VGVzdEludGVyZmFj
ZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6ZGVyZWZPYmplY3QsIFY4VGVzdEludGVy
ZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRl
cmZhY2U6OmluZm8gPSB7IFY4VGVzdEludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVy
ZmFjZTo6ZGVyZWZPYmplY3QsIFY4VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAs
IDAgfTsKIAogbmFtZXNwYWNlIFRlc3RJbnRlcmZhY2VJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZh
Y2UuaAppbmRleCA3MjE2YzAyNzg0N2UzOWE1Y2NhZmI2ZDU1OTI3ODBiZjg4NDlhZGI2Li4xMWIz
YjJiYmVhMDljM2I1YjY3MGJmNmZlYWYwNTlhMTQ0YTZmNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5o
CkBAIC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEludGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lk
IGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9N
RGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0
aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIEFjdGl2ZURPTU9iamVjdCogdG9B
Y3RpdmVET01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCA5
MzRmNjY4MzljYjg2YjI1NGU2MjdhOTM5ZTEzNmFiNTQxMzU1NDA5Li5mYjgyNzJiMjFkNDJlZWM3
MmM0MjEyNDFlZTZhZjRmNzA4ODJkMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmluZm8g
PSB7IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZv
IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmluZm8gPSB7IFY4VGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpk
ZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXJJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5oCmluZGV4IGFjZGUwZWE0OTU3YjQ0YjE2NTQxNTRjOTkzYjFlMzNiN2NiYTFlYzguLjcwZjA4
NjJjODM5NGViNTZkMzIyZTM3NmM3YjcyMTA3NzU3MTliMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAg
fQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCop
OworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwg
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8g
aW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVs
dFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IGV4aXN0aW5nV3JhcHBlcihUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IDVhYmNlMGU3ZGU4YzU4NjJi
MTg2MzdkMjA0YzYyNmU1ZWQxMjY5ZjUuLjllYmQ4NmY5MTk4M2Y3NzhiYmRiMWZkZDJhNTVlYWE2
NzljYjIyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDcg
KzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0
TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVt
cGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENv
bnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVz
dE5hbWVkQ29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OkdldFRl
bXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RO
YW1lZENvbnN0cnVjdG9ySW50ZXJuYWwgewogCkBAIC00MSw3ICs0MSw3IEBAIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPiB2b2lkIFY4X1VTRShUKSB7IH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdE5hbWVk
Q29uc3RydWN0b3JJbnRlcm5hbAogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1
Y3RvckNvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0
b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAgfTsKK1dyYXBwZXJUeXBl
SW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdE5h
bWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3Ry
dWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9i
amVjdCwgMCwgMCB9OwogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVzdE5hbWVk
Q29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRleCBhZGU2MDBlNTkxNjZhMWMz
MzgwYzM3ZmY0NjZiYTBiMTA5NWQwOTJlLi5lZDdlY2NhNThhYjJhYjBlMjkwODE1MWIxZGQyZWZk
MzdiZTNlNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTQ4LDYgKzQ4
LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVm
T2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0
b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3Jh
cHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIEFjdGl2ZURPTU9iamVjdCogdG9BY3RpdmVE
T01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIGNvbnN0IGludCBp
bnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsg
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE9iai5jcHAKaW5kZXggNTMwYmJlZGM0ODNjZWQzNzYxMTZiYzZhY2VhMjcxMWJiODczMTNl
OC4uMDQwYjA0NDQ3MTkyM2E1MzY0MTA3ZDc3MTdiNzBlNjdjMDNkMzhjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAK
QEAgLTcxLDcgKzcxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUlu
Zm8gVjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6OkdldFRlbXBsYXRlLCBWOFRlc3RPYmo6
OmRlcmVmT2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0T2JqOjppbmZvID0g
eyBWOFRlc3RPYmo6OkdldFRlbXBsYXRlLCBWOFRlc3RPYmo6OmRlcmVmT2JqZWN0LCAwLCAwLCAw
IH07CiAKIG5hbWVzcGFjZSBUZXN0T2JqSW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKaW5kZXggZTU5ZGFiOGM5
OWFlNTNjMGZkNWVhZjMyNTg0MDliZTVkYzk0NzZlMi4uYzY4MzVhZDIxMjI3OWFjM2IzYzUyYmQ0
YjdkNzRkM2ZhYTUxNzgxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAg
fQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RPYmoq
KTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQg
dmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6
T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9tTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYpOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9tTWV0aG9kV2l0
aEFyZ3NDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGYzMjlhYjBm
MzM1NDVmMjI0YjQ4YjYyZDY0MDg1Y2Q5NTI0NjA1ZWMuLmQ5YmQ3ZWRjMmQ4ZTJlYjcwZWQ3NjFi
NWFkMWRhNGU0MjIyYTg5MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
OjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpkZXJl
Zk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpk
ZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZUludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IGFiZDVkZGY2ZDYyNTIzNmY4ZWRmOTI3
YWY2NmY0MGU4NTA4NDAxYTUuLmE4MTQ2YTExYTA5NjcxYWIzYWQzMTBkNjJjNDVjOWQzNzE0NDEy
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3Rh
dGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0
YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNp
c3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAg
ICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50
ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4IGRmYjk4Y2UzOTdmNDE2YzUwNzEyOGY1
Mjg5M2Y1MGU0NzIxNTkwNmUuLjA3OTY2MTcwMzNmYjI2YjFkOWVjYWYwYTYyNTA2ODc4OThjMGRh
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCkBAIC01Myw3
ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV3JhcHBlclR5cGVJbmZvKiBucE9iamVj
dFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIHR5cGVJbmZvID0geyAw
LCAwLCAwLCAwIH07CisgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyB0eXBlSW5mbyA9IHsgMCwg
MCwgMCwgMCwgMCB9OwogICAgIHJldHVybiAmdHlwZUluZm87CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAppbmRleCA1NDAzMTI0MzJlMmRkODdk
MzgxOGJjYzc5OGZlZDMzOWIwODU0ZDZkLi42ZTYyYTVhMzYzMjZlMjBjNjU1ZTAzMTE3ZWM1ZjEz
MTA1YjMxNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuY3BwCkBAIC0zMzYsNiArMzM2LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiB3cmFwcGVyKQogICAgIHsKKyAgICAgICAgV3JhcHBlclR5cGVJbmZvKiBpbmZv
ID0gVjhET01XcmFwcGVyOjpkb21XcmFwcGVyVHlwZSh3cmFwcGVyKTsKKyAgICAgICAgaWYgKGlu
Zm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pCisgICAgICAgICAgICBpbmZvLT5kb21XcmFw
cGVyVmlzaXRvckZ1bmN0aW9uKHN0b3JlLCBvYmplY3QsIHdyYXBwZXIpOwogICAgIH0KIAogICAg
IHZvaWQgYXBwbHlHcm91cGluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9XcmFwcGVyVHlwZUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBw
ZXJUeXBlSW5mby5oCmluZGV4IGMyNjg0ZDY2YmU2NjdmYjIwOTM3ZDQ1ZDkzYWJjZjcyNzZhMTVj
Y2MuLjY2YjdhYTQ5M2ZiMmM0ZTk0NjQ4NTU0YTNiNTI3MzVkYzgzMzFhMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oCkBAIC0zNiw2ICszNiw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiAgICAgY2xhc3MgQWN0aXZlRE9NT2JqZWN0Owor
ICAgIGNsYXNzIERPTURhdGFTdG9yZTsKICAgICAKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9N
V3JhcHBlclR5cGVJbmRleCA9IDA7CiAgICAgc3RhdGljIGNvbnN0IGludCB2OERPTVdyYXBwZXJP
YmplY3RJbmRleCA9IDE7CkBAIC00Niw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiAoKkdldFRlbXBs
YXRlRnVuY3Rpb24pKCk7CiAgICAgdHlwZWRlZiB2b2lkICgqRGVyZWZPYmplY3RGdW5jdGlvbiko
dm9pZCopOwogICAgIHR5cGVkZWYgQWN0aXZlRE9NT2JqZWN0KiAoKlRvQWN0aXZlRE9NT2JqZWN0
RnVuY3Rpb24pKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pOworICAgIHR5cGVkZWYgdm9pZCAoKkRP
TVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgCiAgICAgLy8gVGhpcyBzdHJ1Y3QgcHJvdmlkZXMgYSB3
YXkgdG8gc3RvcmUgYSBidW5jaCBvZiBpbmZvcm1hdGlvbiB0aGF0IGlzIGhlbHBmdWwgd2hlbiB1
bndyYXBwaW5nCiAgICAgLy8gdjggb2JqZWN0cy4gRWFjaCB2OCBiaW5kaW5ncyBjbGFzcyBoYXMg
ZXhhY3RseSBvbmUgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBtZW1iZXIsIHNvCkBAIC05MSw2ICs5
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgY29uc3QgR2V0VGVtcGxhdGVGdW5j
dGlvbiBnZXRUZW1wbGF0ZUZ1bmN0aW9uOwogICAgICAgICBjb25zdCBEZXJlZk9iamVjdEZ1bmN0
aW9uIGRlcmVmT2JqZWN0RnVuY3Rpb247CiAgICAgICAgIGNvbnN0IFRvQWN0aXZlRE9NT2JqZWN0
RnVuY3Rpb24gdG9BY3RpdmVET01PYmplY3RGdW5jdGlvbjsKKyAgICAgICAgY29uc3QgRE9NV3Jh
cHBlclZpc2l0b3JGdW5jdGlvbiBkb21XcmFwcGVyVmlzaXRvckZ1bmN0aW9uOwogICAgICAgICBj
b25zdCBXcmFwcGVyVHlwZUluZm8qIHBhcmVudENsYXNzOwogICAgIH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRD
dXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjI5ODhiN2VhZWEzYjRi
YjE0ODA5YmVmZDg1NDcxZWUwOTdjMmUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0
eWxlU2hlZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0
cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0g
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxlU2hlZXQuaCIKLQotI2luY2x1ZGUgIlY4
RE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxlU2hlZXQqIGltcGwpCi17Ci0g
ICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOENTU1N0eWxlU2hlZXQ6OndyYXAoaW1wbCk7Ci0gICAg
Ly8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBv
d25lciBub2RlLgotICAgIE5vZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAg
IGlmIChvd25lck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBw
ZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93
bmVyTm9kZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01T
dHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkZGYyMmE3NDZhMjFjZmMzNzg2ZTgwY2E0NDQ5
NzQ0OGFjMjc3YzY0Li5hZTlhNjFkODUxMzYxMjdhYzFkMzYxOThhOTFmYzFkNTIyMjBjYWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdN
YXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4NCw0IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KERPTVN0cmluZ01hcCogaW1wbCkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3Ry
aW5nTWFwOjp3cmFwKGltcGwpOwotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0
aGUgZWxlbWVudCB0byB0aGUgRE9NU3RyaW5nTWFwLgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBp
bXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7
Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1l
bnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVl
LT5Jc09iamVjdCgpKQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCkt
PlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdNYXAoKSwgd3Jh
cHBlcik7Ci0gICAgfQotICAgIHJldHVybiB3cmFwcGVyOwotfQotCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01Ub2tlbkxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTIzZGE0ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVkYWFjZWJhNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTYg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0Ogot
ICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0g
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOERPTVRva2VuTGlzdC5oIgot
Ci0jaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5j
bHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhFbGVtZW50LmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBp
bXBsKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Ci0gICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01Ub2tlbkxpc3Q6OndyYXAoaW1w
bCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRo
ZSBET01Ub2tlbkxpc3QuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsK
LSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0gICAgICAgIGlm
ICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0g
ICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IDY3YjlkMWE1MjQzY2IyZTE5NzYyNDk1
OTUzNGI4NGU1ZTU4YTgzM2IuLjdmZDEyOGJmNjZiMjAxOTUxZjRmMDFmZmY4ZTg1NDNjZWUyZGM5
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJ
bWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtNDQsNyArNDQs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhIVE1MSW1hZ2VF
bGVtZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
OjpHZXRUZW1wbGF0ZSwgMCwgMCwgMCwgMCB9OwogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IGYzMDMxMjhlMDg3NDA3Y2Mw
OGFjZDg1MjcxYzI5NTlkY2U5OWVmNzQuLmI5N2VkYWM4Zjk4MjU1Njg4YzVkOGE0ODhlNDg2NDU4
NzAzMzQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzEsMTYgKzcxLDQgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4TmFtZWROb2RlTWFwOjpuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCkpOwogfQog
Ci12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwpCi17Ci0gICAg
aWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKLSAgICB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXBwZXIgPSBWOE5hbWVkTm9kZU1hcDo6d3JhcChpbXBsKTsKLSAgICAvLyBB
ZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQgbm9kZSBtYXAgdG8gaXRzIG93bmVyIG5v
ZGUuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdy
YXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCi0gICAgICAgIHdyYXBwZXItPlNldEhpZGRlblZh
bHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvd25lck5vZGUoKSwgdG9WOChlbGVtZW50KSk7Ci0g
ICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3Rv
bS5jcHAKaW5kZXggMGZlNmFmODUwYWQzMzkzODM1MGRiNmZhYmZiZDAzYWExZDc3ZjlhZC4uN2I4
MzU5NmU0MGNmMDliODVmZDg5NzdlYzJlYTBiYTc5MzI0OGEzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAK
QEAgLTQzLDEyICs0Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFN0eWxlU2hlZXQq
IGltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIGlmIChpbXBsLT5pc0NTU1N0
eWxlU2hlZXQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVl
dCo+KGltcGwpKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOFN0eWxl
U2hlZXQ6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0
eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAgIE5vZGUqIG93bmVyTm9kZSA9
IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0
eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBw
ZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwor
ICAgIHJldHVybiBWOFN0eWxlU2hlZXQ6OndyYXAoaW1wbCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAppbmRleCA5NjJjOWRiZGNj
ZjkyNDQzNWIyZWY2Y2QxNTJiZjdiZWMzYWRhMDYwLi43ODJkYjU4NmNlNDkxYjhiMzQ0YjI1YjFk
MTZkNTEwOTE0ZGI3ODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsCkBAIC0y
Miw3ICsyMiw3IEBAIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2
ZWwgMjoKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAg
ICAgVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290CiAgICAgXSBDU1NTdHls
ZVNoZWV0IDogU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxl
ICAgICAgICAgIG93bmVyUnVsZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVM
aXN0ICAgICAgY3NzUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVT
aGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKaW5kZXggOWUyMGQ4
NGFjYzNiMGU0MjFjNzFiMWUzNjllMjBhMjEzMzNiNzcyMy4uMzU4OGJhNTNiMzk0NTMyYTA4OTY0
YWE0NGY4Zjk3NjM1MWYxOWNjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbApAQCAtMjYs
NyArMjYsOCBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewogICAgICAgICBKU0dlbmVyYXRlSXNSZWFj
aGFibGUsCiAgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9iakNQb2x5bW9ycGhp
YywKLSAgICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQorICAgICAgICBWOERlcGVuZGVudExpZmV0
aW1lLAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QKICAg
ICBdIFN0eWxlU2hlZXQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1RyZWF0UmV0dXJu
ZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nICAgICAgICB0eXBlOwogICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICBkaXNhYmxlZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVN0cmluZ01hcC5pZGwKaW5kZXggOTgwZDA0NGNkMDJhYjFhZjVmN2E5NmU3YTZlMmM1OTYzM2U4
YzNkZi4uMDQ1ZDUyMjMyMjlmMmMyOWJhN2Y2MTY2NmI0NmM1OWViYTgyYWNlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKQEAgLTI2LDEyICsyNiwxMSBAQAogbW9kdWxlIGNvcmUg
ewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxF
bGVtZW50Um9vdCwKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3Qs
CiAgICAgICAgIE5hbWVkR2V0dGVyLAogICAgICAgICBDdXN0b21EZWxldGVQcm9wZXJ0eSwKICAg
ICAgICAgQ3VzdG9tRW51bWVyYXRlUHJvcGVydHksCi0gICAgICAgIEN1c3RvbU5hbWVkU2V0dGVy
LAotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIK
ICAgICBdIERPTVN0cmluZ01hcCB7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFw
LmlkbAppbmRleCA4ODgyMGMwMTcyZjU2M2M2NDQ2NjU1MzIxY2M0NWE4ZGVlYjY0YWFjLi43ZWU2
Yjc1Njc3YWEzMjhkZTFiMTM0Y2Y0MGM1NWQyMzVjYWJkY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFt
ZWROb2RlTWFwLmlkbApAQCAtMjEsMTEgKzIxLDEwIEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBp
bnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290
LAotICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgICAgIE5h
bWVkR2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgSlNDdXN0b21N
YXJrRnVuY3Rpb24sCisgICAgICAgIE5hbWVkR2V0dGVyCiAgICAgXSBOYW1lZE5vZGVNYXAgewog
CiAgICAgICAgIE5vZGUgZ2V0TmFtZWRJdGVtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERPTVN0cmluZyBuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
TGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUxpc3QuaWRsCmluZGV4IDcxNTQ0ZDE2
YjM1MzVkZTY3NmIyZmE4Yzc4MDBmYzg3MWI5NTEyNTMuLjlmMDUwNzE3MGJiMTZiYzFmYmU4OTk5
YTk0YmM5ZDMzZGRkNmJiMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlz
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmlkbApAQCAtMjEsNyArMjEs
NyBAQAogbW9kdWxlIGNvcmUgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgSlNDdXN0b21J
c1JlYWNoYWJsZSwKKyAgICAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCiAgICAgICAgIEluZGV4ZWRH
ZXR0ZXIsCiAgICAgICAgIE5hbWVkR2V0dGVyCiAgICAgXSBOb2RlTGlzdCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5pZGwKaW5kZXggNTViNjM2ZjdkN2E1YWIxYTYwMzM1NmFhMjJkN2Y2
NGU5ODlhY2RlNi4uY2Y1N2UxYWVlZjk2ZTI5Njc1MDBlZTE3ZTUwZjQyZmQwODljNjcyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApAQCAtMjUsOSArMjUsOCBAQAogbW9kdWxl
IGNvcmUgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxl
PUltcGxFbGVtZW50Um9vdCwKLSAgICAgICAgSW5kZXhlZEdldHRlciwKLSAgICAgICAgVjhDdXN0
b21Ub0pTT2JqZWN0CisgICAgICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290
LAorICAgICAgICBJbmRleGVkR2V0dGVyCiAgICAgXSBET01Ub2tlbkxpc3QgewogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgICAgIFtUcmVhdFJl
dHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIERPTVN0cmluZyBpdGVtKGluIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tM
aXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwKaW5k
ZXggYWVkZGEyZTA3NGRiYzg3MWU0MWNmY2U2MDBmOTk2MWI0ZWZmMzNhNC4uYWQ0ZTg2MjFjNjg0
ODg2NjM3Yzg4OTIyMjJmOWU4YzY0MTViNzgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1RleHRUcmFja0xpc3QuaWRsCkBAIC0zMSw3ICszMSw4IEBAIG1vZHVsZSBodG1sIHsKICAg
ICAgICAgSW5kZXhlZEdldHRlciwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIEpTQ3Vz
dG9tTWFya0Z1bmN0aW9uLAotICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlCisgICAgICAgIEpT
Q3VzdG9tSXNSZWFjaGFibGUsCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3du
ZXJSb290CiAgICAgXSBUZXh0VHJhY2tMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBUZXh0VHJhY2sgaXRlbShpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNmRkNWQ0MDFiZDQ0YWZiNzRmYzExYTYwZTNlN2MzMzcx
MjU4MjU2Li40YzcxOTUxY2E4OTNhY2Y1NGEwZmI3MDQ4MmE2ZTc3NjgzMWE1ZTc3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTItMDMtMTIgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbVjhdIFVzZSB2ODo6Vjg6OkFkZEhpZGRlblJlZmVyZW5jZXMgaW5z
dGVhZCBvZiBTZXRIaWRkZW5WYWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA4ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoK
KwogMjAxMi0wMy0xMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWNvZ25pemUgRmxvYXQqQXJyYXkgYW5kIEludCpBcnJh
eSBhcyBhcnJheXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMTNhNThmOWExNWM4ZDM2ZGM1ZmYzMDFlMjkzYTc3NzA1
MWYxYzg4MS4uM2QzY2MzM2RiNTU1N2Y3YTgwOTg1NzMwNTk1MzAwM2NiMjNjMDA0NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dApAQCAtMzQwOCw3ICszNDA4LDYgQEAgQlVHX1NFTk9SQkxBTkNPIDogcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvY2FudmFzLXRyYW5zZm9ybXMtZmkKIAogQlVHV0s2
Njk1MyA6IHRyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLmh0bWwgPSBQQVNTIEZB
SUwKIAotQlVHV0s3Mzg2NSA6IG1lZGlhL3RyYWNrL3RyYWNrbGlzdC1pcy1yZWFjaGFibGUuaHRt
bCA9IFRFWFQgQ1JBU0gKIEJVR1dLNzM4NjUgOiBtZWRpYS90cmFjay90ZXh0LXRyYWNrLWN1ZS1p
cy1yZWFjaGFibGUuaHRtbCA9IFRFWFQgQ1JBU0gKIEJVR1dLNzM4NjUgOiBtZWRpYS90cmFjay90
ZXh0LXRyYWNrLWlzLXJlYWNoYWJsZS5odG1sID0gVEVYVCBDUkFTSAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131448</attachid>
            <date>2012-03-12 16:34:09 -0700</date>
            <delta_ts>2012-03-13 12:29:57 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80880-20120312163408.patch</filename>
            <type>text/plain</type>
            <size>51110</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U1ZGE4NzUzMjg3NzRm
NzQ4Njg2OTljOGQ3NjYyNjdhYzI2YmNkOC4uOTdkMDc3ZDJhMGNjMzRjNjI5NjA2MTY4YmI3MGQx
NWVjNzk2ZWYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAxMi0wMy0xMiAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSGlkZGVuUmVmZXJlbmNlcyBpbnN0ZWFkIG9mIFNldEhpZGRlblZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDg4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgV2UgdXNlZCB0byBhZGQgYSBoaWRk
ZW4gcHJvcGVydHkgaW4gdGhlIGdldHRlciB0byB0aGUgcmV0dXJuZWQgd3JhcHBlci4KKyAgICAg
ICAgV2l0aCB0aGlzIHBhdGNoIHdlIGluc3RlYWQgaGFuZGxlIHRoZSBsaXZlbmVzcyBvZiB0aGUg
d3JhcHBlciBpbiB0aGUgR0MgcGhhc2UgYnkKKyAgICAgICAgY2FsbGluZyB2ODo6Vjg6OkFkZEhp
ZGRlblJlZmVyZW5jZS4KKworICAgICAgICBUbyByZWR1Y2UgdGhlIGFtb3VudCBvZiBjdXN0b20g
Y29kZSB3ZSBuZWVkLCB0aGUgVjggY29kZSBnZW5lcmF0b3Igbm93IHN1cHBvcnRzCisgICAgICAg
IEdlbmVyYXRlSXNSZWFjaGFibGUgKGFzIHdlbGwgYXMgQ3VzdG9tSXNSZWFjaGFibGUpIHdoaWNo
LCBldmVuIHRob3VnaCBkaWZmZXJlbnQKKyAgICAgICAgZnJvbSB0aGUgSlNDIGF0dHJpYnV0ZSwg
aXMgdXNlZCBpbiB0aGUgc2FtZSBjYXNlcyBhbmQgdGFrZXMgdGhlIHNhbWUgdmFsdWVzIChldmVu
IHRob3VnaAorICAgICAgICBhdCB0aGUgbW9tZW50IG5vdCBhbGwgSlNDIHZhbHVlcyBhcmUgc3Vw
cG9ydGVkIGJ5IFY4KS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtl
OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUpOgorICAg
ICAgICAoR2V0Q3VzdG9tSXNSZWFjaGFibGUpOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgor
ICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChOZWVkc1RvVmlzaXRET01XcmFwcGVy
KToKKyAgICAgICAgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUpOgorICAgICAgICAoR2V0Q3VzdG9t
SXNSZWFjaGFibGUpOgorICAgICAgICAoR2VuZXJhdGVWaXNpdERPTVdyYXBwZXIpOgorICAgICAg
ICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2Fs
bGJhY2spOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5Lmg6CisgICAgICAg
IChWOEZsb2F0NjRBcnJheSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0Lmg6CisgICAgICAg
IChWOFRlc3RBY3RpdmVET01PYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIu
aDoKKyAgICAgICAgKFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudFRhcmdldC5oOgorICAgICAgICAoVjhUZXN0RXZlbnRUYXJnZXQpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5oOgorICAgICAgICAoVjhUZXN0SW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oOgorICAgICAgICAoVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFY4VGVzdE5hbWVk
Q29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE9iai5oOgorICAgICAgICAoVjhUZXN0T2JqKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAgICAgICAgKFY4
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSk6CisgICAgICAgICogYmluZGluZ3Mv
djgvTlBWOE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpucE9iamVjdFR5cGVJbmZvKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcm91cGVyVmlzaXRvcjo6dmlzaXRET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9XcmFwcGVyVHlwZUluZm8uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV3Jh
cHBlclR5cGVJbmZvKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNo
ZWV0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVRva2VuTGlzdEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5pZGw6
CisgICAgICAgICogY3NzL1N0eWxlU2hlZXQuaWRsOgorICAgICAgICAqIGRvbS9ET01TdHJpbmdN
YXAuaWRsOgorICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGh0bWwv
RE9NVG9rZW5MaXN0LmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRs
OgorCiAyMDEyLTAzLTEyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlY29nbml6ZSBGbG9hdCpBcnJheSBhbmQgSW50KkFy
cmF5IGFzIGFycmF5cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDU2YzE3ZjNmY2FiZTYwNmNkYjBhY2JlNmVl
ZWQ0ZDMwMTNkOTQxZDYuLjNjZTZhYjZjOWI4NzZjMzJjN2RiYWYxNmI1YmFiYzMyMjVhNDliZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQpAQCAtMTYwLDcgKzE2MCw2IEBAIHY4IHsKICAgICAgICAgXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwIFwKLSAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUGl4ZWxBcnJheUN1c3RvbS5jcHAgXApAQCAt
MTcwLDggKzE2OSw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0
ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJ
bnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNl
VjguY21ha2UKaW5kZXggYjhmNWZkMjY3ZWE1YTNlYjkyZDg5MTlkYTE0YWRkNTM0NmFmNzhlMC4u
NzljOTUxMzA1M2U3NmMzN2IwY2UwZGNhMThlYmJmNzliYzM0OWZmNCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UK
QEAgLTczLDcgKzczLDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5
bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHls
ZVNoZWV0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1ZhbHVlQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9t
LmNwcApAQCAtODUsNyArODQsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCiAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVRva2VuTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dD
dXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQppbmRleCBiODE3MWVjNjg0NTRjN2NjYTI0YTMyMWZhM2U0YWNmZmRhMWM0
MzIzLi44ZDFjMzUwN2JiZDk4MDVkMmM3NzI2OThhYWNmMmM3NDYyYzkyZTY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yMDEwLDcgKzIwMTAsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEJsb2JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwJywK
QEAgLTIwMjQsNyArMjAyMyw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDk5
Y2EwYmUxMTYzOTlhODAzZGJjMmRjZTEzN2VlYzI1ZDk3N2FlOWUuLmY3YjNhYzE4NDE2M2ZjMjYz
YTFhYjliNDU1NTcyYTljYWY5NDY5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zODEsNiArMzgxLDE4IEBAIHN1YiBw
cm90b3R5cGVIYXNoVGFibGVBY2Nlc3NvcgogICAgIH0KIH0KIAorc3ViIEdldEdlbmVyYXRlSXNS
ZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9OworfQor
CitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsK
KyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSXNSZWFj
aGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVh
Y2hhYmxlIn07Cit9CisKIHN1YiBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiB7CiAgICAgbXkg
JG5vZGUgPSBzaGlmdDsKQEAgLTk4MCw4ICs5OTIsOCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICB9CiAKICAgICBpZiAoISRoYXNQYXJlbnQgfHwKLSAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgCi0gICAgICAgICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAKKyAg
ICAgICAgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgIEdldEN1
c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21GaW5hbGl6ZSJ9IHx8CiAgICAgICAgICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CiAgICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW1wbENsYXNzTmFtZX1Pd25lciA6IHB1YmxpYyBK
U0M6OldlYWtIYW5kbGVPd25lciB7XG4iKTsKQEAgLTIyNjgsNyArMjI4MCw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoKCEkaGFzUGFy
ZW50ICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hh
YmxlIn0pfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVh
Y2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2Jq
ZWN0In0pIHsKKyAgICBpZiAoKCEkaGFzUGFyZW50ICYmICFHZXRDdXN0b21Jc1JlYWNoYWJsZSgk
ZGF0YU5vZGUpKXx8IEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fCAkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewogICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBpbmxpbmUgYm9vbCBpc09ic2VydmFibGUoSlMke2lt
cGxDbGFzc05hbWV9KiBqcyR7aW1wbENsYXNzTmFtZX0pXG4iKTsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGpz
JHtpbXBsQ2xhc3NOYW1lfS0+aGFzQ3VzdG9tUHJvcGVydGllcygpKVxuIik7CkBAIC0yMjk2LDIx
ICsyMzA4LDIxIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIH0KICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFpc09ic2VydmFibGUoanMke2ltcGxDbGFz
c05hbWV9KSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJu
IGZhbHNlO1xuIik7Ci0gICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSkgeworICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpKSB7CiAgICAgICAgICAgICBteSAkcm9vdFN0cmluZzsKLSAgICAg
ICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNS
ZWFjaGFibGUifSBlcSAiSW1wbCIpIHsKKyAgICAgICAgICAgIGlmIChHZXRHZW5lcmF0ZUlzUmVh
Y2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGwiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJp
bmcgID0gIiAgICAke2ltcGxUeXBlfSogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgp
O1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsQ29udGV4dCIpIHsKKyAgICAgICAg
ICAgIH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbENv
bnRleHQiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBXZWJHTFJlbmRl
cmluZ0NvbnRleHQqIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKS0+Y29udGV4dCgp
O1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRnJhbWUiKSB7CisgICAgICAgICAg
ICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxGcmFt
ZSIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIEZyYW1lKiByb290ID0g
anMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmZyYW1lKCk7XG4iOwogICAgICAgICAgICAgICAg
ICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFyb290KVxuIjsKICAgICAgICAgICAgICAgICAkcm9v
dFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwotICAgICAgICAgICAgfSBlbHNp
ZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxl
In0gZXEgIkltcGxEb2N1bWVudCIpIHsKKyAgICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRl
SXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbERvY3VtZW50IikgewogICAgICAgICAgICAg
ICAgICRyb290U3RyaW5nICA9ICIgICAgRG9jdW1lbnQqIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFt
ZX0tPmltcGwoKS0+ZG9jdW1lbnQoKTtcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcg
Lj0gIiAgICBpZiAoIXJvb3QpXG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIg
ICAgICAgIHJldHVybiBmYWxzZTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbEVs
ZW1lbnRSb290IikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJs
ZSgkZGF0YU5vZGUpIGVxICJJbXBsRWxlbWVudFJvb3QiKSB7CiAgICAgICAgICAgICAgICAgJHJv
b3RTdHJpbmcgID0gIiAgICBFbGVtZW50KiBlbGVtZW50ID0ganMke2ltcGxDbGFzc05hbWV9LT5p
bXBsKCktPmVsZW1lbnQoKTtcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAg
ICBpZiAoIWVsZW1lbnQpXG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAg
ICAgIHJldHVybiBmYWxzZTtcbiI7CkBAIC0yMzM0LDggKzIzNDYsOCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogCiAgICAgaWYgKCEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0N1c3RvbUZpbmFsaXplIn0gJiYKICAgICAgICAgKCEkaGFzUGFyZW50IHx8Ci0gICAgICAg
ICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSB8fAotICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21J
c1JlYWNoYWJsZSJ9IHx8CisgICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9k
ZSkgfHwKKyAgICAgICAgIEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKICAgICAg
ICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgSlMke2ltcGxDbGFzc05hbWV9T3du
ZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250
ZXh0KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGE1
ZGFiZGZkNTljOWY0ZTU4ZTZjZTM5OGNiYWJkZTI0ZTQzYmNiNWYuLjUwODQyYTcxZDcyZTVhZTE4
MTA3M2IyYmJhYzI3NjljZGE0OGJkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xOTIsNiArMTkyLDY0IEBAIHN1YiBH
ZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nCiAgICAgfQogfQogCitzdWIgTmVlZHNUb1Zpc2l0RE9N
V3JhcHBlcgoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OworICAgIHJldHVybiBHZXRHZW5l
cmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFO
b2RlKTsKK30KKworc3ViIEdldEdlbmVyYXRlSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5v
ZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
R2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlY4R2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICIiCit9CisKK3N1YiBHZXRDdXN0b21Jc1JlYWNo
YWJsZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OworICAgIHJldHVybiAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tSXNSZWFjaGFibGUifTsKK30KKworc3ViIEdl
bmVyYXRlVmlzaXRET01XcmFwcGVyCit7CisgICAgbXkgKCRkYXRhTm9kZSwgJGltcGxDbGFzc05h
bWUpID0gQF87CisKKyAgICBpZiAoR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSkgewor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsK
K3ZvaWQgVjgke2ltcGxDbGFzc05hbWV9Ojp2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBz
dG9yZSwgdm9pZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQor
eworICAgICR7aW1wbENsYXNzTmFtZX0qIGltcGwgPSBzdGF0aWNfY2FzdDwke2ltcGxDbGFzc05h
bWV9Kj4ob2JqZWN0KTsKK0VORAorICAgIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRh
Tm9kZSkgZXEgICJJbXBsRWxlbWVudFJvb3QiIHx8CisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFj
aGFibGUoJGRhdGFOb2RlKSBlcSAgIkltcGxPd25lclJvb3QiIHx8CisgICAgICAgIEdldEdlbmVy
YXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIkltcGxPd25lck5vZGVSb290IikgeworCisg
ICAgICAgIG15ICRtZXRob2ROYW1lOworICAgICAgICAkbWV0aG9kTmFtZSA9ICJlbGVtZW50IiBp
ZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRWxlbWVudFJvb3Qi
KTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXIiIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hh
YmxlKCRkYXRhTm9kZSkgZXEgIkltcGxPd25lclJvb3QiKTsKKyAgICAgICAgJG1ldGhvZE5hbWUg
PSAib3duZXJOb2RlIiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJ
bXBsT3duZXJOb2RlUm9vdCIpOworCisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
CisgICAgTm9kZSogb3duZXIgPSBpbXBsLT4ke21ldGhvZE5hbWV9KCk7CisgICAgaWYgKG93bmVy
KSB7CisgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG93bmVyV3JhcHBlciA9IGdl
dERPTU5vZGVNYXAoKS5nZXQob3duZXIpOworICAgICAgICBpZiAoIW93bmVyV3JhcHBlci5Jc0Vt
cHR5KCkpIHsKKyAgICAgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gdmFsdWUgPSB3
cmFwcGVyOworICAgICAgICAgICAgdjg6OlY4OjpBZGRJbXBsaWNpdFJlZmVyZW5jZXMob3duZXJX
cmFwcGVyLCAmdmFsdWUsIDEpOworICAgICAgICB9CisgICAgfQorRU5ECisgICAgfQorCisgICAg
cHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKK30KKworRU5ECit9CisKIHN1YiBHZXRTVkdQcm9w
ZXJ0eVR5cGVzCiB7CiAgICAgbXkgJGltcGxUeXBlID0gc2hpZnQ7CkBAIC0zNDAsNiArMzk4LDcg
QEAgRU5ECiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwKCR7bmF0aXZlVHlwZX0qJHtmb3JjZU5ld09iamVjdFBhcmFtZXRlcn0pOwogICAgIHN0YXRp
YyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBw
ZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAg
ICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiBFTkQKICAgICBpZiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKQEAgLTE4MDEsMTIgKzE4
NjAsMTIgQEAgc3ViIEdlbmVyYXRlTmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNrCiAKICAgICBpZiAo
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLVdyYXBwZXJUeXBlSW5mbyBWOCR7aW1w
bENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxDbGFzc05hbWV9Q29uc3Ry
dWN0b3I6OkdldFRlbXBsYXRlLCBWOCR7aW1wbENsYXNzTmFtZX06OmRlcmVmT2JqZWN0LCBWOCR7
aW1wbENsYXNzTmFtZX06OnRvQWN0aXZlRE9NT2JqZWN0LCAwIH07CitXcmFwcGVyVHlwZUluZm8g
Vjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1l
fUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjgke2ltcGxDbGFzc05hbWV9OjpkZXJlZk9iamVj
dCwgVjgke2ltcGxDbGFzc05hbWV9Ojp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCB9OwogCiBFTkQK
ICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3JhcHBl
clR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1w
bENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAgfTsKK1dyYXBwZXJU
eXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxD
bGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCAwIH07CiAKIEVORAog
ICAgIH0KQEAgLTIyNTEsNiArMjMxMCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRpbnRlcmZhY2VOYW1lKTsKIAogICAgIG15ICR0b0FjdGl2
ZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9ID8g
IiR7Y2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QiIDogIjAiOworICAgIG15ICRkb21WaXNp
dG9yID0gTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUpID8gIiR7Y2xhc3NOYW1lfTo6
dmlzaXRET01XcmFwcGVyIiA6ICIwIjsKIAogICAgICMgRmluZCB0aGUgc3VwZXIgZGVzY3JpcHRv
ci4KICAgICBteSAkcGFyZW50Q2xhc3MgPSAiIjsKQEAgLTIyNjcsNyArMjMyNyw3IEBAIHN1YiBH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgfQogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMs
ICJuYW1lc3BhY2UgV2ViQ29yZSB7XG5cbiIpOwogICAgIG15ICRwYXJlbnRDbGFzc0luZm8gPSAk
cGFyZW50Q2xhc3MgPyAiJiR7cGFyZW50Q2xhc3N9OjppbmZvIiA6ICIwIjsKLSAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsg
JHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0
b0FjdGl2ZX0sICR7cGFyZW50Q2xhc3NJbmZvfSB9O1xuXG4iKTsgICAKKyAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsgJHtj
bGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHt0b0Fj
dGl2ZX0sICR7ZG9tVmlzaXRvcn0sICR7cGFyZW50Q2xhc3NJbmZvfSB9O1xuXG4iKTsgICAKICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAibmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1JbnRl
cm5hbCB7XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJ0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4gdm9pZCBWOF9VU0UoVCkgeyB9XG5cbiIpOwogCkBAIC0yMzIwLDYgKzIzODAsMTAg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3Rv
ckdldHRlcigkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKTsKICAgICB9CiAKKyAgICBpZiAoTmVl
ZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUpKSB7CisgICAgICAgIEdlbmVyYXRlVmlzaXRE
T01XcmFwcGVyKCRkYXRhTm9kZSwgJGltcGxDbGFzc05hbWUpOworICAgIH0KKwogICAgIG15ICRp
bmRleGVyOwogICAgIG15ICRuYW1lZFByb3BlcnR5R2V0dGVyOwogICAgICMgR2VuZXJhdGUgbWV0
aG9kcyBmb3IgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggZDEwNWUwODcyN2RlOTExNzdlZjUxOTIwZDcxNzQ0
ZmY3OTBkOWM5OC4uNWI2YTUzMDViYmY5OWQ5NzQxNTE4NjIzMjUxNTI3YTljMjA5NjUyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0
CkBAIC0zOCw2ICszOCw3IEBAIEN1c3RvbUVudW1lcmF0ZVByb3BlcnR5CiBDdXN0b21HZXRPd25Q
cm9wZXJ0eVNsb3QKIEN1c3RvbUdldHRlcgogQ3VzdG9tSW5kZXhlZFNldHRlcgorQ3VzdG9tSXNS
ZWFjaGFibGUKIEN1c3RvbU5hbWVkR2V0dGVyCiBDdXN0b21OYW1lZFNldHRlcgogQ3VzdG9tUHV0
RnVuY3Rpb24KQEAgLTUxLDExICs1MiwxMiBAQCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlcgog
RG9Ob3RDaGVja1NlY3VyaXR5T25TZXR0ZXIKIEV2ZW50VGFyZ2V0CiBFeHRlbmRzRE9NR2xvYmFs
T2JqZWN0CitHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsfEltcGxDb250ZXh0fEltcGxEb2N1bWVu
dHxJbXBsRWxlbWVudFJvb3R8SW1wbEZyYW1lCiBJbW11dGFibGUKIEltcGxlbWVudGVkQXM9Kgog
SW5kZXhlZEdldHRlcgotSW50ZXJmYWNlTmFtZT0qCiBJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1
Y3RvcgorSW50ZXJmYWNlTmFtZT0qCiBJc0luZGV4CiBJc1dvcmtlckNvbnRleHQKIEpTQ3VzdG9t
CkBAIC0xMDQsMTAgKzEwNiwxMiBAQCBVUkwKIFY4Q3VzdG9tCiBWOEN1c3RvbUNvbnN0cnVjdG9y
CiBWOEN1c3RvbUdldHRlcgorVjhDdXN0b21Jc1JlYWNoYWJsZQogVjhDdXN0b21TZXR0ZXIKIFY4
Q3VzdG9tVG9KU09iamVjdAogVjhEZXBlbmRlbnRMaWZldGltZQogVjhEb05vdENoZWNrU2lnbmF0
dXJlCiBWOEVuYWJsZWRBdFJ1bnRpbWU9KgorVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsRWxl
bWVudFJvb3R8SW1wbE93bmVyUm9vdHxJbXBsT3duZXJOb2RlUm9vdAogVjhSZWFkT25seQogVjhV
bmZvcmdlYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggYmRjNjAyOGJlOGFkYjY2ZTY0ZTlm
Y2NlZjQ4MjI3MmYwNjczNjE4MC4uNGQwNGI1MTQ5Njc4ZmVjZGUyNmE4OWRiNDM2YWUzYzcxNGVi
OGJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC00Miw3ICs0Miw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBW
OEZsb2F0NjRBcnJheTo6R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwg
MCwgJlY4QXJyYXlCdWZmZXJWaWV3OjppbmZvIH07CitXcmFwcGVyVHlwZUluZm8gVjhGbG9hdDY0
QXJyYXk6OmluZm8gPSB7IFY4RmxvYXQ2NEFycmF5OjpHZXRUZW1wbGF0ZSwgVjhGbG9hdDY0QXJy
YXk6OmRlcmVmT2JqZWN0LCAwLCAwLCAmVjhBcnJheUJ1ZmZlclZpZXc6OmluZm8gfTsKIAogbmFt
ZXNwYWNlIEZsb2F0NjRBcnJheUludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaAppbmRleCBiMWNk
YmU3NDNhZGNjNWIyOGFiZWU1MDRmZGI1MzdiOWJmYTgwMTEwLi5jOWJiMzhlOWIxM2M5NzZiZDQ0
Y2JkZDkwYWNmZTdmNTE2OWM0ZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaApAQCAtNDMsNiArNDMsNyBA
QCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwKEZsb2F0NjRBcnJheSopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQq
KTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCos
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZv
IGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFs
RmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCBmZmM5N2U0NjI4Mjg3OTkxYWRjMTg0
YmU3NmFiMzAyY2U0OTk2ZDIzLi5iNGU1NWQ2OWE2ODczMTI4NDM1NTE0ODU1NDkzZDA4NGQ0Y2E4
MzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMzQsNyArMzQsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RBY3RpdmVE
T01PYmplY3Q6OmluZm8gPSB7IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6R2V0VGVtcGxhdGUsIFY4
VGVzdEFjdGl2ZURPTU9iamVjdDo6ZGVyZWZPYmplY3QsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5m
byBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmluZm8gPSB7IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6
R2V0VGVtcGxhdGUsIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAg
fTsKIAogbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmplY3RJbnRlcm5hbCB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVE
T01PYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuaAppbmRleCBlMTYzYjNkZDYwN2U5MzhlNGU2OTIyZDMxMjNlMDZl
Mjc3ZDNlZTk2Li4wNjA4YmRjMTkwNDNhNDM1ZTEwMzk4MGZhMTNmMDJmMDZhNjUyMDU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0
aXZlRE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAg
ICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEFj
dGl2ZURPTU9iamVjdCopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAg
ICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87
CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFw
cGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKICAgICBzdGF0aWMgYm9vbCBuYW1lZFNlY3VyaXR5
Q2hlY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGtl
eSwgdjg6OkFjY2Vzc1R5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRhdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKaW5kZXggY2JmZjZkNGU3Yzg5YTlkMDA3YjFiNDZl
YTEzZGJhN2U0OTIyNzZmNi4uMjQ2YjA0ZTA4ODc0MTRjZmRjNzBlODM2MTlkODQ5Yjg2MzFmOTc2
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0zMyw3ICszMyw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyOjppbmZvID0geyBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6R2V0VGVtcGxh
dGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBl
clR5cGVJbmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjppbmZvID0geyBWOFRlc3RDdXN0b21O
YW1lZEdldHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpkZXJlZk9i
amVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdEN1c3RvbU5hbWVkR2V0dGVySW50ZXJu
YWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oCmluZGV4IDI2NDc5MWQ4NGM1
MDU3ZWNlZDM2MDlhYWVkMzI5YjBmNWQyMjkxMTMuLjcxYzE5YWQ4MTA4MGRkN2U2ZTgxZDI5M2Nk
MjFkZDg3YjVkYjBjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC00
Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IHdyYXAoVGVzdEN1c3RvbU5hbWVkR2V0dGVyKik7CiAgICAgc3RhdGljIHZv
aWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihE
T01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0
YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6
QWNjZXNzb3JJbmZvJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQg
PSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA3YzA2ZTM0ZTZhNmFmMjY4NzMxMTIwMjRhMWFjYzdl
YzNiZTgyOTg0Li44N2M4ZjZmYjg3ZTY2ZGZkMzFiNDliNTYzMjAzYjBkNjVjODYwMTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZl
bnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0
b3I6OmluZm8gPSB7IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RF
dmVudENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4
VGVzdEV2ZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6Okdl
dFRlbXBsYXRlLCBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9
OwogCiBuYW1lc3BhY2UgVGVzdEV2ZW50Q29uc3RydWN0b3JJbnRlcm5hbCB7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDUyMGUxY2U1ODRjZGI2ZmIyZjlhMGFkODE3YzM5
MGNhMzAwMzI4NWQuLjE2NDZhNTRhODc4MGFhN2ZiM2JhZDU1N2U1M2I4MTIwNGM1ODFiYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6
CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRl
c3RFdmVudENvbnN0cnVjdG9yKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCop
OworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwg
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8g
aW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxG
aWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZl
bnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCAxZTZmYmZhNTM1M2RkOWJlN2ZmOTNhZTMyNmYxNDJj
NDY0MzkwM2UyLi5iMTZkZGU1ZmZmMzQyZmY4MDAyZWMwN2MyNTZiYWNiODNiMDUwYWJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZl
bnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7IFY4
VGVzdEV2ZW50VGFyZ2V0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVmT2Jq
ZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7
IFY4VGVzdEV2ZW50VGFyZ2V0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVm
T2JqZWN0LCAwLCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRJbnRlcm5hbCB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggMDczNDEyZjgwOGQxNzZhNDdlZDlhZWZjNWQw
MzNkOWRlMjJjMTlkYy4uMjJmOTAxMjA0YzExMmI4OTJlNGY2M2M0NTE5YjAwODMxN2Y5NTkyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIH0K
ICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRU
YXJnZXQqKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGlj
IHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaW5kZXhlZFByb3BlcnR5R2V0dGVyKHVpbnQzMl90
LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qgdjg6
OkFjY2Vzc29ySW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCBhMmM1NTE4NjBiZjA5
MDBjZDYxZmE2MTIzMTU2NDc0NTAyODU5NmZkLi4xZGI4YWU1NzA3MGFiYTE0ODJlZjg2ZGI4NmM2
MGEzNGFmMTBmN2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtNDEsNyArNDEsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6
OmluZm8gPSB7IFY4VGVzdEludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6
ZGVyZWZPYmplY3QsIFY4VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAgfTsKK1dy
YXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6OmluZm8gPSB7IFY4VGVzdEludGVyZmFjZTo6
R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6ZGVyZWZPYmplY3QsIFY4VGVzdEludGVyZmFj
ZTo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RJbnRlcmZhY2VJ
bnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAppbmRleCA3MjE2YzAyNzg0N2UzOWE1Y2NhZmI2
ZDU1OTI3ODBiZjg4NDlhZGI2Li4xMWIzYjJiYmVhMDljM2I1YjY3MGJmNmZlYWYwNTlhMTQ0YTZm
NGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCkBAIC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9
CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEludGVy
ZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMg
dm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3Rh
dGljIEFjdGl2ZURPTU9iamVjdCogdG9BY3RpdmVET01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pik7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcAppbmRleCA5MzRmNjY4MzljYjg2YjI1NGU2MjdhOTM5ZTEzNmFiNTQx
MzU1NDA5Li5mYjgyNzJiMjFkNDJlZWM3MmM0MjEyNDFlZTZhZjRmNzA4ODJkMzAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0zNCw3ICszNCw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI6OmluZm8gPSB7IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6
OkdldFRlbXBsYXRlLCBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpkZXJlZk9iamVjdCwg
MCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6Omlu
Zm8gPSB7IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3Bh
Y2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IGFjZGUwZWE0OTU3YjQ0YjE2NTQxNTRj
OTkzYjFlMzNiN2NiYTFlYzguLjcwZjA4NjJjODM5NGViNTZkMzIyZTM3NmM3YjcyMTA3NzU3MTli
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtNDIs
NiArNDIsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwKFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKik7CiAgICAgc3RhdGlj
IHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBl
cihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAg
IHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVy
bmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwog
ICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGV4aXN0aW5nV3JhcHBlcihUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3Bw
CmluZGV4IDVhYmNlMGU3ZGU4YzU4NjJiMTg2MzdkMjA0YzYyNmU1ZWQxMjY5ZjUuLjllYmQ4NmY5
MTk4M2Y3NzhiYmRiMWZkZDJhNTVlYWE2NzljYjIyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0
TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRl
cmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCB9
OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVz
dE5hbWVkQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpk
ZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAs
IDAgfTsKIAogbmFtZXNwYWNlIFRlc3ROYW1lZENvbnN0cnVjdG9ySW50ZXJuYWwgewogCkBAIC00
MSw3ICs0MSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIFY4X1VTRShUKSB7IH0KIAog
fSAvLyBuYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRlcm5hbAogCi1XcmFwcGVyVHlw
ZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3RO
YW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0
cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01P
YmplY3QsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3Ry
dWN0b3I6OmluZm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVt
cGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENv
bnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCB9OwogCiBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3Iu
aAppbmRleCBhZGU2MDBlNTkxNjZhMWMzMzgwYzM3ZmY0NjZiYTBiMTA5NWQwOTJlLi5lZDdlY2Nh
NThhYjJhYjBlMjkwODE1MWIxZGQyZWZkMzdiZTNlNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENv
bnN0cnVjdG9yLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUg
c3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0TmFtZWRDb25zdHJ1Y3Rvciop
OwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2
aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpP
YmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIEFj
dGl2ZURPTU9iamVjdCogdG9BY3RpdmVET01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7
CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFw
cGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggNTMwYmJlZGM0ODNjZWQz
NzYxMTZiYzZhY2VhMjcxMWJiODczMTNlOC4uMDQwYjA0NDQ3MTkyM2E1MzY0MTA3ZDc3MTdiNzBl
NjdjMDNkMzhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTcxLDcgKzcxLDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6
OkdldFRlbXBsYXRlLCBWOFRlc3RPYmo6OmRlcmVmT2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlw
ZUluZm8gVjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6OkdldFRlbXBsYXRlLCBWOFRlc3RP
Ymo6OmRlcmVmT2JqZWN0LCAwLCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0T2JqSW50ZXJuYWwg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmgKaW5kZXggZTU5ZGFiOGM5OWFlNTNjMGZkNWVhZjMyNTg0MDliZTVkYzk0NzZlMi4u
YzY4MzVhZDIxMjI3OWFjM2IzYzUyYmQ0YjdkNzRkM2ZhYTUxNzgxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaApAQCAtNDIs
NiArNDIsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwKFRlc3RPYmoqKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2
b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZv
aWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9tTWV0aG9k
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gY3VzdG9tTWV0aG9kV2l0aEFyZ3NDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwCmluZGV4IGYzMjlhYjBmMzM1NDVmMjI0YjQ4YjYyZDY0MDg1Y2Q5NTI0NjA1ZWMu
LmQ5YmQ3ZWRjMmQ4ZTJlYjcwZWQ3NjFiNWFkMWRhNGU0MjIyYTg5MzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZv
IFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3Bh
Y2UgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUludGVybmFsIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4
IGFiZDVkZGY2ZDYyNTIzNmY4ZWRmOTI3YWY2NmY0MGU4NTA4NDAxYTUuLmE4MTQ2YTExYTA5Njcx
YWIzYWQzMTBkNjJjNDVjOWQzNzE0NDEyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgZGVy
ZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRh
U3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBX
cmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25z
dCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRD
b3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4
IGRmYjk4Y2UzOTdmNDE2YzUwNzEyOGY1Mjg5M2Y1MGU0NzIxNTkwNmUuLjA3OTY2MTcwMzNmYjI2
YjFkOWVjYWYwYTYyNTA2ODc4OThjMGRhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
V3JhcHBlclR5cGVJbmZvKiBucE9iamVjdFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBl
clR5cGVJbmZvIHR5cGVJbmZvID0geyAwLCAwLCAwLCAwIH07CisgICAgc3RhdGljIFdyYXBwZXJU
eXBlSW5mbyB0eXBlSW5mbyA9IHsgMCwgMCwgMCwgMCwgMCB9OwogICAgIHJldHVybiAmdHlwZUlu
Zm87CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNw
cAppbmRleCA1NDAzMTI0MzJlMmRkODdkMzgxOGJjYzc5OGZlZDMzOWIwODU0ZDZkLi42ZTYyYTVh
MzYzMjZlMjBjNjU1ZTAzMTE3ZWM1ZjEzMTA1YjMxNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCkBAIC0zMzYsNiArMzM2LDkgQEAgcHVibGlj
OgogCiAgICAgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCog
b2JqZWN0LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQogICAgIHsKKyAgICAg
ICAgV3JhcHBlclR5cGVJbmZvKiBpbmZvID0gVjhET01XcmFwcGVyOjpkb21XcmFwcGVyVHlwZSh3
cmFwcGVyKTsKKyAgICAgICAgaWYgKGluZm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pCisg
ICAgICAgICAgICBpbmZvLT5kb21XcmFwcGVyVmlzaXRvckZ1bmN0aW9uKHN0b3JlLCBvYmplY3Qs
IHdyYXBwZXIpOwogICAgIH0KIAogICAgIHZvaWQgYXBwbHlHcm91cGluZygpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oCmluZGV4IGMyNjg0ZDY2YmU2Njdm
YjIwOTM3ZDQ1ZDkzYWJjZjcyNzZhMTVjY2MuLjY2YjdhYTQ5M2ZiMmM0ZTk0NjQ4NTU0YTNiNTI3
MzVkYzgzMzFhMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBw
ZXJUeXBlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBl
SW5mby5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiAgICAg
Y2xhc3MgQWN0aXZlRE9NT2JqZWN0OworICAgIGNsYXNzIERPTURhdGFTdG9yZTsKICAgICAKICAg
ICBzdGF0aWMgY29uc3QgaW50IHY4RE9NV3JhcHBlclR5cGVJbmRleCA9IDA7CiAgICAgc3RhdGlj
IGNvbnN0IGludCB2OERPTVdyYXBwZXJPYmplY3RJbmRleCA9IDE7CkBAIC00Niw2ICs0Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5j
dGlvblRlbXBsYXRlPiAoKkdldFRlbXBsYXRlRnVuY3Rpb24pKCk7CiAgICAgdHlwZWRlZiB2b2lk
ICgqRGVyZWZPYmplY3RGdW5jdGlvbikodm9pZCopOwogICAgIHR5cGVkZWYgQWN0aXZlRE9NT2Jq
ZWN0KiAoKlRvQWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24pKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4p
OworICAgIHR5cGVkZWYgdm9pZCAoKkRPTVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pKERPTURhdGFT
dG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgCiAgICAgLy8g
VGhpcyBzdHJ1Y3QgcHJvdmlkZXMgYSB3YXkgdG8gc3RvcmUgYSBidW5jaCBvZiBpbmZvcm1hdGlv
biB0aGF0IGlzIGhlbHBmdWwgd2hlbiB1bndyYXBwaW5nCiAgICAgLy8gdjggb2JqZWN0cy4gRWFj
aCB2OCBiaW5kaW5ncyBjbGFzcyBoYXMgZXhhY3RseSBvbmUgc3RhdGljIFdyYXBwZXJUeXBlSW5m
byBtZW1iZXIsIHNvCkBAIC05MSw2ICs5Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgY29uc3QgR2V0VGVtcGxhdGVGdW5jdGlvbiBnZXRUZW1wbGF0ZUZ1bmN0aW9uOwogICAgICAg
ICBjb25zdCBEZXJlZk9iamVjdEZ1bmN0aW9uIGRlcmVmT2JqZWN0RnVuY3Rpb247CiAgICAgICAg
IGNvbnN0IFRvQWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24gdG9BY3RpdmVET01PYmplY3RGdW5jdGlv
bjsKKyAgICAgICAgY29uc3QgRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbiBkb21XcmFwcGVyVmlz
aXRvckZ1bmN0aW9uOwogICAgICAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHBhcmVudENsYXNz
OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5YjI5ODhiN2VhZWEzYjRiYjE0ODA5YmVmZDg1NDcxZWUwOTdjMmUwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxl
U2hlZXQuaCIKLQotI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5o
IgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENT
U1N0eWxlU2hlZXQqIGltcGwpCi17Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOENTU1N0eWxl
U2hlZXQ6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0
eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAgIE5vZGUqIG93bmVyTm9kZSA9
IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0
eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBw
ZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwot
fQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkZGYy
MmE3NDZhMjFjZmMzNzg2ZTgwY2E0NDQ5NzQ0OGFjMjc3YzY0Li5hZTlhNjFkODUxMzYxMjdhYzFk
MzYxOThhOTFmYzFkNTIyMjBjYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4
NCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0
eVNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVN0cmluZ01hcCogaW1wbCkKLXsKLSAgICBpZiAo
IWltcGwpCi0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGltcGwpOwotICAgIC8vIEFkZCBh
IGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NU3RyaW5nTWFwLgot
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVy
LklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBl
bGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5J
c0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgZWxlbWVu
dFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlO
YW1lOjpkb21TdHJpbmdNYXAoKSwgd3JhcHBlcik7Ci0gICAgfQotICAgIHJldHVybiB3cmFwcGVy
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIzZGE0ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVk
YWFjZWJhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0g
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJWOERPTVRva2VuTGlzdC5oIgotCi0jaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCi0jaW5j
bHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAi
VjhFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
VjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5j
ZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCi0gICAgRWxlbWVudCogZWxl
bWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVs
ZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRv
VjgoZWxlbWVudCk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVt
ZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9i
amVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVRva2VuTGlz
dCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCmluZGV4
IDY3YjlkMWE1MjQzY2IyZTE5NzYyNDk1OTUzNGI4NGU1ZTU4YTgzM2IuLjdmZDEyOGJmNjZiMjAx
OTUxZjRmMDFmZmY4ZTg1NDNjZWUyZGM5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0
cnVjdG9yLmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdy
YXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhI
VE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwIH07CitXcmFw
cGVyVHlwZUluZm8gVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4SFRN
TEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgMCwgMCwgMCwgMCB9OwogCiBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3Bw
CmluZGV4IGYzMDMxMjhlMDg3NDA3Y2MwOGFjZDg1MjcxYzI5NTlkY2U5OWVmNzQuLmI5N2VkYWM4
Zjk4MjU1Njg4YzVkOGE0ODhlNDg2NDU4NzAzMzQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApA
QCAtNzEsMTYgKzcxLDQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TmFtZWROb2RlTWFwOjpu
YW1lZFByb3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB0b1Y4
KHJlc3VsdC5yZWxlYXNlKCkpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1l
ZE5vZGVNYXAqIGltcGwpCi17Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51
bGwoKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOE5hbWVkTm9kZU1h
cDo6d3JhcChpbXBsKTsKLSAgICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQg
bm9kZSBtYXAgdG8gaXRzIG93bmVyIG5vZGUuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwt
PmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCi0gICAg
ICAgIHdyYXBwZXItPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvd25lck5v
ZGUoKSwgdG9WOChlbGVtZW50KSk7Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKaW5kZXggMGZlNmFmODUwYWQzMzkzODM1MGRi
NmZhYmZiZDAzYWExZDc3ZjlhZC4uN2I4MzU5NmU0MGNmMDliODVmZDg5NzdlYzJlYTBiYTc5MzI0
OGEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5
bGVTaGVldEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKQEAgLTQzLDEyICs0Myw3IEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KFN0eWxlU2hlZXQqIGltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgp
OwogICAgIGlmIChpbXBsLT5pc0NTU1N0eWxlU2hlZXQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgo
c3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KGltcGwpKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBwZXIgPSBWOFN0eWxlU2hlZXQ6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEg
aGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2Rl
LgotICAgIE5vZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25l
ck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5h
bWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSkp
OwotICAgIHJldHVybiB3cmFwcGVyOworICAgIHJldHVybiBWOFN0eWxlU2hlZXQ6OndyYXAoaW1w
bCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNo
ZWV0LmlkbAppbmRleCA5NjJjOWRiZGNjZjkyNDQzNWIyZWY2Y2QxNTJiZjdiZWMzYWRhMDYwLi43
ODJkYjU4NmNlNDkxYjhiMzQ0YjI1YjFkMTZkNTEwOTE0ZGI3ODI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2hlZXQuaWRsCkBAIC0yMiw3ICsyMiw3IEBAIG1vZHVsZSBjc3MgewogCiAgICAg
Ly8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBW
OEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25l
ck5vZGVSb290CiAgICAgXSBDU1NTdHlsZVNoZWV0IDogU3R5bGVTaGVldCB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlICAgICAgICAgIG93bmVyUnVsZTsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0ICAgICAgY3NzUnVsZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldC5pZGwKaW5kZXggOWUyMGQ4NGFjYzNiMGU0MjFjNzFiMWUzNjllMjBhMjEzMzNiNzcy
My4uMzU4OGJhNTNiMzk0NTMyYTA4OTY0YWE0NGY4Zjk3NjM1MWYxOWNjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0LmlkbApAQCAtMjYsNyArMjYsOCBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewog
ICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGUsCiAgICAgICAgIEN1c3RvbVRvSlNPYmplY3Qs
CiAgICAgICAgIE9iakNQb2x5bW9ycGhpYywKLSAgICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQor
ICAgICAgICBWOERlcGVuZGVudExpZmV0aW1lLAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIFN0eWxlU2hlZXQgewogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nICAg
ICAgICB0eXBlOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICBk
aXNhYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKaW5kZXggOTgwZDA0NGNkMDJh
YjFhZjVmN2E5NmU3YTZlMmM1OTYzM2U4YzNkZi4uMDQ1ZDUyMjMyMjlmMmMyOWJhN2Y2MTY2NmI0
NmM1OWViYTgyYWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01h
cC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKQEAgLTI2LDEy
ICsyNiwxMSBAQAogbW9kdWxlIGNvcmUgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKKyAgICAgICAgR2VuZXJhdGVJc1Jl
YWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIE5hbWVkR2V0dGVyLAogICAgICAgICBD
dXN0b21EZWxldGVQcm9wZXJ0eSwKICAgICAgICAgQ3VzdG9tRW51bWVyYXRlUHJvcGVydHksCi0g
ICAgICAgIEN1c3RvbU5hbWVkU2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAg
ICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIKICAgICBdIERPTVN0cmluZ01hcCB7CiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAppbmRleCA4ODgyMGMwMTcyZjU2M2M2NDQ2NjU1
MzIxY2M0NWE4ZGVlYjY0YWFjLi43ZWU2Yjc1Njc3YWEzMjhkZTFiMTM0Y2Y0MGM1NWQyMzVjYWJk
Y2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMjEsMTEgKzIxLDEwIEBA
CiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNS
ZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAotICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwK
KyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIElu
ZGV4ZWRHZXR0ZXIsCi0gICAgICAgIE5hbWVkR2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNP
YmplY3QKKyAgICAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCisgICAgICAgIE5hbWVkR2V0dGVy
CiAgICAgXSBOYW1lZE5vZGVNYXAgewogCiAgICAgICAgIE5vZGUgZ2V0TmFtZWRJdGVtKGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVG9rZW5MaXN0LmlkbAppbmRleCA1NWI2MzZmN2Q3YTVhYjFhNjAzMzU2YWEyMmQ3ZjY0
ZTk4OWFjZGU2Li5jZjU3ZTFhZWVmOTZlMjk2NzUwMGVlMTdlNTBmNDJmZDA4OWM2NzJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0yNSw5ICsyNSw4IEBACiBtb2R1bGUg
Y29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbEVsZW1lbnRSb290LAotICAgICAgICBJbmRleGVkR2V0dGVyLAotICAgICAgICBWOEN1c3Rv
bVRvSlNPYmplY3QKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3Qs
CisgICAgICAgIEluZGV4ZWRHZXR0ZXIKICAgICBdIERPTVRva2VuTGlzdCB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgW1RyZWF0UmV0
dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBp
bmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xp
c3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAppbmRl
eCBhZWRkYTJlMDc0ZGJjODcxZTQxY2ZjZTYwMGY5OTYxYjRlZmYzM2E0Li5hZDRlODYyMWM2ODQ4
ODY2MzdjODg5MjIyMmY5ZThjNjQxNWI3ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVGV4dFRyYWNrTGlzdC5pZGwKQEAgLTMxLDcgKzMxLDggQEAgbW9kdWxlIGh0bWwgewogICAg
ICAgICBJbmRleGVkR2V0dGVyLAogICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgSlNDdXN0
b21NYXJrRnVuY3Rpb24sCi0gICAgICAgIEpTQ3VzdG9tSXNSZWFjaGFibGUKKyAgICAgICAgSlND
dXN0b21Jc1JlYWNoYWJsZSwKKyAgICAgICAgVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25l
clJvb3QKICAgICBdIFRleHRUcmFja0xpc3QgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAgICAgIFRleHRUcmFjayBpdGVtKGluIHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2ZGQ1ZDQwMWJkNDRhZmI3NGZjMTFhNjBlM2U3YzMzNzEy
NTgyNTYuLjJkYTM5ODVmNTkwM2M3NDI0MThlNjExM2U3YmJkNmYzMDU2MmYwMDggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMi0wMy0xMiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpWODo6QWRkSGlkZGVuUmVmZXJlbmNlcyBpbnN0
ZWFkIG9mIFNldEhpZGRlblZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIw
MTItMDMtMTIgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogcmVjb2duaXplIEZsb2F0KkFycmF5IGFuZCBJbnQqQXJyYXkgYXMg
YXJyYXlzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0CmluZGV4IDEzYTU4ZjlhMTVjOGQzNmRjNWZmMzAxZTI5M2E3NzcwNTFmMWM4
ODEuLjNkM2NjMzNkYjU1NTdmN2E4MDk4NTczMDU5NTMwMDNjYjIzYzAwNDQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAg
LTM0MDgsNyArMzQwOCw2IEBAIEJVR19TRU5PUkJMQU5DTyA6IHBsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL2NhbnZhcy10cmFuc2Zvcm1zLWZpCiAKIEJVR1dLNjY5NTMg
OiB0cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi5odG1sID0gUEFTUyBGQUlMCiAK
LUJVR1dLNzM4NjUgOiBtZWRpYS90cmFjay90cmFja2xpc3QtaXMtcmVhY2hhYmxlLmh0bWwgPSBU
RVhUIENSQVNICiBCVUdXSzczODY1IDogbWVkaWEvdHJhY2svdGV4dC10cmFjay1jdWUtaXMtcmVh
Y2hhYmxlLmh0bWwgPSBURVhUIENSQVNICiBCVUdXSzczODY1IDogbWVkaWEvdHJhY2svdGV4dC10
cmFjay1pcy1yZWFjaGFibGUuaHRtbCA9IFRFWFQgQ1JBU0gKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131692</attachid>
            <date>2012-03-13 12:30:01 -0700</date>
            <delta_ts>2012-03-13 14:36:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80880-20120313123000.patch</filename>
            <type>text/plain</type>
            <size>51599</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ3ODkxZGU4NWFjOGYz
MjI5YTQwN2IwZjU2OThmODY5NWFmYTQ0NS4uYzI0ZTYxNmRlZjVlNDlhMDEwMWQ1MzQzYWE2YmU3
MDU3OGMxYmRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMyBAQAorMjAxMi0wMy0xMyAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlZCB0byBhZGQg
YSBoaWRkZW4gcHJvcGVydHkgaW4gdGhlIGdldHRlciB0byB0aGUgcmV0dXJuZWQgd3JhcHBlci4K
KyAgICAgICAgV2l0aCB0aGlzIHBhdGNoIHdlIGluc3RlYWQgaGFuZGxlIHRoZSBsaXZlbmVzcyBv
ZiB0aGUgd3JhcHBlciBpbiB0aGUgR0MgcGhhc2UgYnkKKyAgICAgICAgY2FsbGluZyB2ODo6Vjg6
OkFkZEhpZGRlblJlZmVyZW5jZS4KKworICAgICAgICBUbyByZWR1Y2UgdGhlIGFtb3VudCBvZiBj
dXN0b20gY29kZSB3ZSBuZWVkLCB0aGUgVjggY29kZSBnZW5lcmF0b3Igbm93IHN1cHBvcnRzCisg
ICAgICAgIEdlbmVyYXRlSXNSZWFjaGFibGUgKGFzIHdlbGwgYXMgQ3VzdG9tSXNSZWFjaGFibGUp
IHdoaWNoLCBldmVuIHRob3VnaCBkaWZmZXJlbnQKKyAgICAgICAgZnJvbSB0aGUgSlNDIGF0dHJp
YnV0ZSwgaXMgdXNlZCBpbiB0aGUgc2FtZSBjYXNlcyBhbmQgdGFrZXMgdGhlIHNhbWUgdmFsdWVz
IChldmVuIHRob3VnaAorICAgICAgICBhdCB0aGUgbW9tZW50IG5vdCBhbGwgSlNDIHZhbHVlcyBh
cmUgc3VwcG9ydGVkIGJ5IFY4KS4KKworICAgICAgICBTZWNvbmQgdHJ5LiBUaGlzIHRpbWUgd2l0
aCBhbiBhZGRlZCBpbmNsdWRlIGluIFRleHRUcmFja0xpc3QuY3BwLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogVXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0
R2VuZXJhdGVJc1JlYWNoYWJsZSk6CisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNoYWJsZSk6Cisg
ICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9u
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAg
ICAgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIpOgorICAgICAgICAoR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSk6CisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNoYWJsZSk6CisgICAgICAgIChHZW5lcmF0
ZVZpc2l0RE9NV3JhcHBlcik6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChH
ZW5lcmF0ZU5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgKFY4RmxvYXQ2NEFycmF5KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RB
Y3RpdmVET01PYmplY3QuaDoKKyAgICAgICAgKFY4VGVzdEFjdGl2ZURPTU9iamVjdCk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoVjhUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmg6CisgICAgICAgIChWOFRlc3RF
dmVudENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAgICAgIChWOFRlc3RF
dmVudFRhcmdldCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdElu
dGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RJbnRlcmZhY2Up
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgIChW
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rv
ci5oOgorICAgICAgICAoVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmg6CisgICAgICAgIChW
OFRlc3RPYmopOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5oOgorICAgICAgICAoVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om5wT2JqZWN0VHlwZUluZm8pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4R0NDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdyb3VwZXJWaXNpdG9yOjp2aXNpdERPTVdy
YXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXcmFwcGVyVHlwZUluZm8pOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHA6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhTdHlsZVNoZWV0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAg
ICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldC5pZGw6
CisgICAgICAgICogZG9tL0RPTVN0cmluZ01hcC5pZGw6CisgICAgICAgICogZG9tL05hbWVkTm9k
ZU1hcC5pZGw6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuaWRsOgorICAgICAgICAqIGh0
bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tMaXN0LmlkbDoKKwogMjAxMi0wMy0xMyAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgc25pcHBldHMgbW9kZWwuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCBlOTNjZmE4M2FjZjU5ZWVhZGIxMTBlNzFkZjFlNDk5MmY1YWI2ZWYyLi4y
YmU2MDQ0MTJmM2FhNzAwYjVhYzEyNjQ2YmIyOWE1ZWJlNjJlNjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTE2MCw3ICsxNjAsNiBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q1NTVmFsdWVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwIFwKQEAgLTE3MCw4ICsxNjksNyBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3Rv
bS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRI
b3N0Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RD
dXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3Rv
bS5jcHAKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCmluZGV4IDA5
ZjI5MDhlZjk3ZDEwZmNjNTQxODliNjM5NTZlZDM5ZmI5ZDNjNWMuLjFjMjMyNmJmOTk3YTAzNzBk
OGQzYTNmMTY2OWMwMjk1YTNiMjA4NTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC03Myw3ICs3Myw2IEBA
IExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1
ZGlvQ29udGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0
b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhDYW52YXNQaXhlbEFycmF5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKQEAgLTg1LDcgKzg0
LDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TUZvcm1EYXRhQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggNjRiNWYzMWQ3ZTliZWM1NmFlNDYzMDM2YjcyMjRmMmY2NDY5ODI2MC4uZWI3YTY1YTgxOTBk
YzQ1YmZmZmY4MDg5YzFkM2U2MWI0NjQ2MDA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjAxMCw3
ICsyMDEwLDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRp
b25DdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHls
ZVNoZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
VmFsdWVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52
YXNQaXhlbEFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCcsCkBAIC0yMDI0LDcgKzIwMjMs
NiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNv
bHZlci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2Vu
TGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdp
bmRvd0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFW
aWV3Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5ZDYwMDYzZGQ3NGZiNDMxNjZj
MDA1OGY3YzUxYjYwZWU5Y2U0NGQ1Li5iOTczNjNmNDgyMjAwMTBhNzVjOGUyMmU3Yzk2ZTFlMzlk
NTE1YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtMzgxLDYgKzM4MSwxOCBAQCBzdWIgcHJvdG90eXBlSGFzaFRhYmxl
QWNjZXNzb3IKICAgICB9CiB9CiAKK3N1YiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlCit7CisgICAg
bXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifTsKK30KKworc3ViIEdldEN1c3RvbUlz
UmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9OworfQorCiBz
dWIgR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZwogewogICAgIG15ICRub2RlID0gc2hpZnQ7CkBA
IC05ODAsOCArOTkyLDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgaWYgKCEk
aGFzUGFyZW50IHx8Ci0gICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpT
R2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8IAotICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn0gfHwgCisgICAgICAgIEdldEdlbmVyYXRl
SXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fAorICAgICAgICBHZXRDdXN0b21Jc1JlYWNoYWJsZSgk
ZGF0YU5vZGUpIHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpT
Q3VzdG9tRmluYWxpemUifSB8fAogICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJBY3RpdmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
Y2xhc3MgSlMke2ltcGxDbGFzc05hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3du
ZXIge1xuIik7CkBAIC0yMjY4LDcgKzIyODAsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCghJGhhc1BhcmVudCAmJiAhJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9KXx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CisgICAgaWYg
KCghJGhhc1BhcmVudCAmJiAhR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSl8fCBHZXRH
ZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJzdGF0aWMgaW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlKEpTJHtpbXBsQ2xhc3NOYW1lfSoganMk
e2ltcGxDbGFzc05hbWV9KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7
CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChqcyR7aW1wbENsYXNzTmFtZX0t
Pmhhc0N1c3RvbVByb3BlcnRpZXMoKSlcbiIpOwpAQCAtMjI5NiwyMSArMjMwOCwyMSBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICB9CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGlmICghaXNPYnNlcnZhYmxlKGpzJHtpbXBsQ2xhc3NOYW1lfSkpXG4iKTsKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwotICAg
ICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVh
Y2hhYmxlIn0pIHsKKyAgICAgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2Rl
KSkgewogICAgICAgICAgICAgbXkgJHJvb3RTdHJpbmc7Ci0gICAgICAgICAgICBpZiAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIklt
cGwiKSB7CisgICAgICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUp
IGVxICJJbXBsIikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgJHtpbXBs
VHlwZX0qIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKTtcbiI7Ci0gICAgICAgICAg
ICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNS
ZWFjaGFibGUifSBlcSAiSW1wbENvbnRleHQiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRH
ZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxDb250ZXh0IikgewogICAgICAg
ICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiByb290
ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmNvbnRleHQoKTtcbiI7Ci0gICAgICAgICAg
ICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNS
ZWFjaGFibGUifSBlcSAiSW1wbEZyYW1lIikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRnJhbWUiKSB7CiAgICAgICAgICAg
ICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBGcmFtZSogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1l
fS0+aW1wbCgpLT5mcmFtZSgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAi
ICAgIGlmICghcm9vdClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAg
ICAgcmV0dXJuIGZhbHNlO1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRG9jdW1l
bnQiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRh
Tm9kZSkgZXEgIkltcGxEb2N1bWVudCIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAg
PSAiICAgIERvY3VtZW50KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmRvY3Vt
ZW50KCk7XG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFyb290
KVxuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFs
c2U7XG4iOwotICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxFbGVtZW50Um9vdCIpIHsKKyAg
ICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAi
SW1wbEVsZW1lbnRSb290IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAg
RWxlbWVudCogZWxlbWVudCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpLT5lbGVtZW50KCk7
XG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFlbGVtZW50KVxu
IjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7
XG4iOwpAQCAtMjMzNCw4ICsyMzQ2LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAog
ICAgIGlmICghJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21GaW5hbGl6
ZSJ9ICYmCiAgICAgICAgICghJGhhc1BhcmVudCB8fAotICAgICAgICAgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwKLSAgICAgICAgICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fAor
ICAgICAgICAgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgICBH
ZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CiAgICAgICAgICAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkpIHsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJ2b2lkIEpTJHtpbXBsQ2xhc3NOYW1lfU93bmVyOjpmaW5hbGl6ZShKU0M6
OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dClcbiIpOwogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBhYTQ5NDk2ZGE4ZjNkMTk5NjVh
YTgzNGY2YmViYjA0YWFjNDQyM2U0Li5lYjg2NjZjZmZhOTM5YzcxNzhkMzlkMDgyYmU1MmJmMWVi
NTVlNDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQpAQCAtMTkyLDYgKzE5Miw2MyBAQCBzdWIgR2VuZXJhdGVDb25kaXRpb25h
bFN0cmluZwogICAgIH0KIH0KIAorc3ViIE5lZWRzVG9WaXNpdERPTVdyYXBwZXIKK3sKKyAgICBt
eSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgk
ZGF0YU5vZGUpIHx8IEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSk7Cit9CisKK3N1YiBH
ZXRHZW5lcmF0ZUlzUmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAg
cmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFjaGFi
bGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEdlbmVyYXRlSXNSZWFj
aGFibGUifSB8fCAiIgorfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sKKyAgICBteSAk
ZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJWOEN1c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKK3N1YiBHZW5lcmF0ZVZpc2l0RE9NV3Jh
cHBlcgoreworICAgIG15ICgkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKSA9IEBfOworCisgICAg
aWYgKEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkpIHsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit2b2lkIFY4JHtpbXBsQ2xh
c3NOYW1lfTo6dmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSogc3RvcmUsIHZvaWQqIG9iamVj
dCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKK3sKKyAgICAke2ltcGxDbGFz
c05hbWV9KiBpbXBsID0gc3RhdGljX2Nhc3Q8JHtpbXBsQ2xhc3NOYW1lfSo+KG9iamVjdCk7CitF
TkQKKyAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICAiSW1wbEVs
ZW1lbnRSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkg
ZXEgICJJbXBsT3duZXJSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRk
YXRhTm9kZSkgZXEgICJJbXBsT3duZXJOb2RlUm9vdCIpIHsKKworICAgICAgICBteSAkbWV0aG9k
TmFtZTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAiZWxlbWVudCIgaWYgKEdldEdlbmVyYXRlSXNS
ZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEVsZW1lbnRSb290Iik7CisgICAgICAgICRtZXRo
b2ROYW1lID0gIm93bmVyIiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVx
ICJJbXBsT3duZXJSb290Iik7CisgICAgICAgICRtZXRob2ROYW1lID0gIm93bmVyTm9kZSIgaWYg
KEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbE93bmVyTm9kZVJvb3Qi
KTsKKworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOworICAgIGlmIChOb2RlKiBv
d25lciA9IGltcGwtPiR7bWV0aG9kTmFtZX0oKSkgeworICAgICAgICB2ODo6UGVyc2lzdGVudDx2
ODo6T2JqZWN0PiBvd25lcldyYXBwZXIgPSBnZXRET01Ob2RlTWFwKCkuZ2V0KG93bmVyKTsKKyAg
ICAgICAgaWYgKCFvd25lcldyYXBwZXIuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICB2ODo6UGVy
c2lzdGVudDx2ODo6VmFsdWU+IHZhbHVlID0gd3JhcHBlcjsKKyAgICAgICAgICAgIHY4OjpWODo6
QWRkSW1wbGljaXRSZWZlcmVuY2VzKG93bmVyV3JhcHBlciwgJnZhbHVlLCAxKTsKKyAgICAgICAg
fQorICAgIH0KK0VORAorICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit9
CisKK0VORAorfQorCiBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogewogICAgIG15ICRpbXBsVHlw
ZSA9IHNoaWZ0OwpAQCAtMzQwLDYgKzM5Nyw3IEBAIEVORAogICAgIH0KICAgICBpbmxpbmUgc3Rh
dGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcCgke25hdGl2ZVR5cGV9KiR7Zm9yY2VOZXdP
YmplY3RQYXJhbWV0ZXJ9KTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7Cisg
ICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZv
OwogRU5ECiAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURP
TU9iamVjdCJ9KSB7CkBAIC0xNzk2LDEyICsxODU0LDEyIEBAIHN1YiBHZW5lcmF0ZU5hbWVkQ29u
c3RydWN0b3JDYWxsYmFjawogCiAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVO
RCk7Ci1XcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OmluZm8g
PSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjgke2ltcGxD
bGFzc05hbWV9OjpkZXJlZk9iamVjdCwgVjgke2ltcGxDbGFzc05hbWV9Ojp0b0FjdGl2ZURPTU9i
amVjdCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9y
OjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4
JHtpbXBsQ2xhc3NOYW1lfTo6ZGVyZWZPYmplY3QsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3Rp
dmVET01PYmplY3QsIDAsIDAgfTsKIAogRU5ECiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsIDw8RU5EKTsKLVdyYXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1D
b25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRl
bXBsYXRlLCAwLCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29u
c3RydWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1w
bGF0ZSwgMCwgMCwgMCwgMCB9OwogCiBFTkQKICAgICB9CkBAIC0yMjQ2LDYgKzIzMDQsNyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIEFkZEluY2x1ZGVzRm9yVHlwZSgkaW50ZXJm
YWNlTmFtZSk7CiAKICAgICBteSAkdG9BY3RpdmUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJBY3RpdmVET01PYmplY3QifSA/ICIke2NsYXNzTmFtZX06OnRvQWN0aXZlRE9NT2Jq
ZWN0IiA6ICIwIjsKKyAgICBteSAkZG9tVmlzaXRvciA9IE5lZWRzVG9WaXNpdERPTVdyYXBwZXIo
JGRhdGFOb2RlKSA/ICIke2NsYXNzTmFtZX06OnZpc2l0RE9NV3JhcHBlciIgOiAiMCI7CiAKICAg
ICAjIEZpbmQgdGhlIHN1cGVyIGRlc2NyaXB0b3IuCiAgICAgbXkgJHBhcmVudENsYXNzID0gIiI7
CkBAIC0yMjYyLDcgKzIzMjEsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIH0K
ICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAibmFtZXNwYWNlIFdlYkNvcmUge1xuXG4iKTsK
ICAgICBteSAkcGFyZW50Q2xhc3NJbmZvID0gJHBhcmVudENsYXNzID8gIiYke3BhcmVudENsYXNz
fTo6aW5mbyIgOiAiMCI7Ci0gICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIldyYXBwZXJUeXBl
SW5mbyAke2NsYXNzTmFtZX06OmluZm8gPSB7ICR7Y2xhc3NOYW1lfTo6R2V0VGVtcGxhdGUsICR7
Y2xhc3NOYW1lfTo6ZGVyZWZPYmplY3QsICR7dG9BY3RpdmV9LCAke3BhcmVudENsYXNzSW5mb30g
fTtcblxuIik7ICAgCisgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIldyYXBwZXJUeXBlSW5m
byAke2NsYXNzTmFtZX06OmluZm8gPSB7ICR7Y2xhc3NOYW1lfTo6R2V0VGVtcGxhdGUsICR7Y2xh
c3NOYW1lfTo6ZGVyZWZPYmplY3QsICR7dG9BY3RpdmV9LCAke2RvbVZpc2l0b3J9LCAke3BhcmVu
dENsYXNzSW5mb30gfTtcblxuIik7ICAgCiAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIm5h
bWVzcGFjZSAke2ludGVyZmFjZU5hbWV9SW50ZXJuYWwge1xuXG4iKTsKICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAidGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfVxu
XG4iKTsKIApAQCAtMjMxNSw2ICsyMzc0LDEwIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIoJGRhdGFOb2RlLCAkaW1wbENsYXNz
TmFtZSk7CiAgICAgfQogCisgICAgaWYgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIoJGRhdGFOb2Rl
KSkgeworICAgICAgICBHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUsICRpbXBsQ2xh
c3NOYW1lKTsKKyAgICB9CisKICAgICBteSAkaW5kZXhlcjsKICAgICBteSAkbmFtZWRQcm9wZXJ0
eUdldHRlcjsKICAgICAjIEdlbmVyYXRlIG1ldGhvZHMgZm9yIGZ1bmN0aW9ucy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IGQx
MDVlMDg3MjdkZTkxMTc3ZWY1MTkyMGQ3MTc0NGZmNzkwZDljOTguLjViNmE1MzA1YmJmOTlkOTc0
MTUxODYyMzI1MTUyN2E5YzIwOTY1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtMzgsNiArMzgsNyBAQCBDdXN0b21FbnVt
ZXJhdGVQcm9wZXJ0eQogQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90CiBDdXN0b21HZXR0ZXIKIEN1
c3RvbUluZGV4ZWRTZXR0ZXIKK0N1c3RvbUlzUmVhY2hhYmxlCiBDdXN0b21OYW1lZEdldHRlcgog
Q3VzdG9tTmFtZWRTZXR0ZXIKIEN1c3RvbVB1dEZ1bmN0aW9uCkBAIC01MSwxMSArNTIsMTIgQEAg
RG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0ZXIKIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyCiBF
dmVudFRhcmdldAogRXh0ZW5kc0RPTUdsb2JhbE9iamVjdAorR2VuZXJhdGVJc1JlYWNoYWJsZT18
SW1wbHxJbXBsQ29udGV4dHxJbXBsRG9jdW1lbnR8SW1wbEVsZW1lbnRSb290fEltcGxGcmFtZQog
SW1tdXRhYmxlCiBJbXBsZW1lbnRlZEFzPSoKIEluZGV4ZWRHZXR0ZXIKLUludGVyZmFjZU5hbWU9
KgogSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IKK0ludGVyZmFjZU5hbWU9KgogSXNJbmRl
eAogSXNXb3JrZXJDb250ZXh0CiBKU0N1c3RvbQpAQCAtMTA0LDEwICsxMDYsMTIgQEAgVVJMCiBW
OEN1c3RvbQogVjhDdXN0b21Db25zdHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKK1Y4Q3VzdG9tSXNS
ZWFjaGFibGUKIFY4Q3VzdG9tU2V0dGVyCiBWOEN1c3RvbVRvSlNPYmplY3QKIFY4RGVwZW5kZW50
TGlmZXRpbWUKIFY4RG9Ob3RDaGVja1NpZ25hdHVyZQogVjhFbmFibGVkQXRSdW50aW1lPSoKK1Y4
R2VuZXJhdGVJc1JlYWNoYWJsZT18SW1wbEVsZW1lbnRSb290fEltcGxPd25lclJvb3R8SW1wbE93
bmVyTm9kZVJvb3QKIFY4UmVhZE9ubHkKIFY4VW5mb3JnZWFibGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3Bw
CmluZGV4IGJkYzYwMjhiZThhZGI2NmU2NGU5ZmNjZWY0ODIyNzJmMDY3MzYxODAuLjRkMDRiNTE0
OTY3OGZlY2RlMjZhODlkYjQzNmFlM2M3MTRlYjhiYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApA
QCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5m
byBWOEZsb2F0NjRBcnJheTo6aW5mbyA9IHsgVjhGbG9hdDY0QXJyYXk6OkdldFRlbXBsYXRlLCBW
OEZsb2F0NjRBcnJheTo6ZGVyZWZPYmplY3QsIDAsICZWOEFycmF5QnVmZmVyVmlldzo6aW5mbyB9
OworV3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJh
eTo6R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4QXJy
YXlCdWZmZXJWaWV3OjppbmZvIH07CiAKIG5hbWVzcGFjZSBGbG9hdDY0QXJyYXlJbnRlcm5hbCB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OEZsb2F0NjRBcnJheS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmgKaW5kZXggZjMyZGM0M2FmMmUzZjM4ODFjMzc4MmY0YjExZjdhNmUz
NmU3M2EyZC4uODJkMmZjMzViOWUyYTcwMjk5ZTBjYTJlNjdmNGE4YWJkMzJkY2Q1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFy
cmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4Rmxv
YXQ2NEFycmF5LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUg
c3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChGbG9hdDY0QXJyYXkqKTsKICAgICBz
dGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01X
cmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7
CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAg
ICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVy
SW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAK
aW5kZXggZmZjOTdlNDYyODI4Nzk5MWFkYzE4NGJlNzZhYjMwMmNlNDk5NmQyMy4uYjRlNTVkNjlh
Njg3MzEyODQzNTUxNDg1NTQ5M2QwODRkNGNhODMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURP
TU9iamVjdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1X
cmFwcGVyVHlwZUluZm8gVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjppbmZvID0geyBWOFRlc3RBY3Rp
dmVET01PYmplY3Q6OkdldFRlbXBsYXRlLCBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmRlcmVmT2Jq
ZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjppbmZv
ID0geyBWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRlLCBWOFRlc3RBY3RpdmVET01P
YmplY3Q6OmRlcmVmT2JqZWN0LCAwLCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0QWN0aXZlRE9N
T2JqZWN0SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggZmJk
NDBmM2VhMDc1OGJmYTYzM2M5ZmVmOGIzMjUxYzU1ZWVhNDFmNC4uZGJkMTRlMmQzYTQyM2MyZDA1
MWUxMzUwMjdkYTQ1OTY1NWQxMTA4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaApA
QCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RBY3RpdmVET01PYmplY3QqKTsKICAgICBzdGF0aWMg
dm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVy
KERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAg
c3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJu
YWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiAg
ICAgc3RhdGljIGJvb2wgbmFtZWRTZWN1cml0eUNoZWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBo
b3N0LCB2ODo6TG9jYWw8djg6OlZhbHVlPiBrZXksIHY4OjpBY2Nlc3NUeXBlLCB2ODo6TG9jYWw8
djg6OlZhbHVlPiBkYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmlu
ZGV4IGNiZmY2ZDRlN2M4OWE5ZDAwN2IxYjQ2ZWExM2RiYTdlNDkyMjc2ZjYuLjI0NmIwNGUwODg3
NDE0Y2ZkYzcwZTgzNjE5ZDg0OWI4NjMxZjk3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6aW5mbyA9IHsgVjhUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6
ZGVyZWZPYmplY3QsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RDdXN0b21OYW1lZEdl
dHRlcjo6aW5mbyA9IHsgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OkdldFRlbXBsYXRlLCBWOFRl
c3RDdXN0b21OYW1lZEdldHRlcjo6ZGVyZWZPYmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNl
IFRlc3RDdXN0b21OYW1lZEdldHRlckludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXIuaAppbmRleCA1MDJjYmNkOTk2NjU3MTIxYTFhMDRiMDRkMzc3MzZkZjA1ZTU0MTBl
Li4zZDZkZTYxNzc1OGY4N2QwMGZiMDM1MzI4NDY2MjFjZDA2YzQwN2U2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgfQog
ICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RDdXN0b21O
YW1lZEdldHRlciopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBz
dGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYpOwogICAgIHN0YXRpYyBj
b25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmll
bGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYTM5
MDZkMTE0OGEwMzY1MDFjNDYyOGVkNTlkMzU5YjA0OGU4Y2VkOS4uMThhMmIwZTNkYWRmNjkyMTE5
NWZhMTZhYjRlYzdmODIzN2QzZGZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9y
LmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJU
eXBlSW5mbyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3RFdmVudENvbnN0
cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3Qs
IDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbmZvID0g
eyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRDb25zdHJ1
Y3Rvcjo6ZGVyZWZPYmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RFdmVudENvbnN0
cnVjdG9ySW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCBh
MjJkNTQxZTUxNzJiMGRlNTU1NWRkMjEyN2IzNzY0YjBkZmZlNGE2Li4wYmVkN2ZkNmE1YTliNjQw
ZjQyMmY2NDQ1NzAyY2JjZDJjNGMwMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9y
LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRDb25zdHJ1Y3RvciopOwogICAgIHN0
YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAg
ICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJ
bnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMWU2
ZmJmYTUzNTNkZDliZTdmZjkzYWUzMjZmMTQyYzQ2NDM5MDNlMi4uYjE2ZGRlNWZmZjM0MmZmODAw
MmVjMDdjMjU2YmFjYjgzYjA1MGFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4
VGVzdEV2ZW50VGFyZ2V0OjppbmZvID0geyBWOFRlc3RFdmVudFRhcmdldDo6R2V0VGVtcGxhdGUs
IFY4VGVzdEV2ZW50VGFyZ2V0OjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZv
IFY4VGVzdEV2ZW50VGFyZ2V0OjppbmZvID0geyBWOFRlc3RFdmVudFRhcmdldDo6R2V0VGVtcGxh
dGUsIFY4VGVzdEV2ZW50VGFyZ2V0OjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3Bh
Y2UgVGVzdEV2ZW50VGFyZ2V0SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oCmluZGV4
IDUwODZmNmVkZDY0NmIzZmUyMTk2OTEwYTU0NWU2NGIyNTBkYmI2ZDAuLjk1OWEwMGUyYjQ2YTE5
ZmMwZWMxOTkxY2U2NzJiYzk4ZDViYmU1NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oCkBAIC00
Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IHdyYXAoVGVzdEV2ZW50VGFyZ2V0Kik7CiAgICAgc3RhdGljIHZvaWQgZGVy
ZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRh
U3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBX
cmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGlu
ZGV4ZWRQcm9wZXJ0eUdldHRlcih1aW50MzJfdCwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYpOwog
ICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gbmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4sIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVy
ZmFjZS5jcHAKaW5kZXggYTJjNTUxODYwYmYwOTAwY2Q2MWZhNjEyMzE1NjQ3NDUwMjg1OTZmZC4u
MWRiOGFlNTcwNzBhYmExNDgyZWY4NmRiODZjNjBhMzRhZjEwZjdkYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVy
ZmFjZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBWOFRlc3RJbnRlcmZhY2U6Okdl
dFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCBWOFRlc3RJbnRlcmZhY2U6
OnRvQWN0aXZlRE9NT2JqZWN0LCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNl
OjppbmZvID0geyBWOFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6
OmRlcmVmT2JqZWN0LCBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwIH07
CiAKIG5hbWVzcGFjZSBUZXN0SW50ZXJmYWNlSW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgK
aW5kZXggMmQ3Y2Q2YmRmOWM4ODI3N2I5MTg0Mjc3MTEwOGJmMGViN2EwMTkzYi4uYjc5NTU3ODNi
ZWFjMmM0MGQyOTRhYTM0OThmYzVhN2JmYTJkNGU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaApAQCAt
NDQsNiArNDQsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCBkZXJl
Zk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFT
dG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdy
YXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZl
RE9NT2JqZWN0KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOTM0ZjY2
ODM5Y2I4NmIyNTRlNjI3YTkzOWUxMzZhYjU0MTM1NTQwOS4uZmI4MjcyYjIxZDQyZWVjNzJjNDIx
MjQxZWU2YWY0ZjcwODgyZDMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjppbmZvID0geyBW
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6ZGVyZWZPYmplY3QsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjppbmZvID0geyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZGVyZWZP
YmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApp
bmRleCAxMmRiOGVjOTMzM2UwMTEwYjY4MjExY2FlNDJhZTI2NTE3ODVlZDdhLi41ZWUzNzdiNzUx
NTI2YmQ2Y2VjYjEzN2U3OWFkYThjNzJiMjgwNWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIH0KICAg
ICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAg
ICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87
CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFw
cGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5jcHAKaW5kZXggNWFiY2UwZTdkZThjNTg2MmIxODYzN2QyMDRjNjI2ZTVlZDEy
NjlmNS4uOWViZDg2ZjkxOTgzZjc3OGJiZGIxZmRkMmE1NWVhYTY3OWNiMjJhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpp
bmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZl
RE9NT2JqZWN0LCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVk
Q29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2
ZURPTU9iamVjdCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRl
cm5hbCB7CiAKQEAgLTQxLDcgKzQxLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhf
VVNFKFQpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0TmFtZWRDb25zdHJ1Y3RvckludGVybmFs
CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6Omlu
Zm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4
VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9y
Ojp0b0FjdGl2ZURPTU9iamVjdCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5hbWVkQ29u
c3RydWN0b3JDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0
cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3Qs
IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwIH07CiAKIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5oCmluZGV4IDQzN2I4NjYwODExYzViMTI4YTcwNTg0ZTIyMjNlNWYxMTZk
ODlmYWUuLmJmNTU1ODIwYjU3OTVkODE1MGI5MWJlYTdiMDMxZDA4ZDlkZTVmZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAg
fQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROYW1l
ZENvbnN0cnVjdG9yKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAg
IHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsK
ICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9iamVjdCh2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9
IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAx
ODdlZWVjMzJlMGU5ZDc4OTgyMTUwOTc0MDAxMmMzYjRhNDkwMzQxLi5hM2E2YjM3NjdmMjBhNzdh
ZTYxNmE2MmVjNjlhY2IzNTIxNWIwZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtNzEsNyArNzEsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RPYmo6OmluZm8g
PSB7IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZPYmplY3QsIDAsIDAg
fTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RPYmo6OmluZm8gPSB7IFY4VGVzdE9iajo6R2V0VGVt
cGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZPYmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRl
c3RPYmpJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouaAppbmRleCAzNDJhZTczMGMzNjhlYmE1NDMwYTRjMGRmYWIy
MGE2YzA5YTIyMGNhLi43NzY0MDM3YjFkNjBhYWFmZjQ1ZGJhNzkxZDMzZTMyZmE1OTc1NDFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE9iai5oCkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE9iaiopOwogICAgIHN0YXRpYyB2b2lk
IGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9N
RGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0
aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjdXN0b21NZXRob2RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3RhdGlj
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21NZXRob2RXaXRoQXJnc0NhbGxiYWNrKGNvbnN0
IHY4OjpBcmd1bWVudHMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggZjMyOWFiMGYzMzU0NWYyMjRiNDhiNjJkNjQw
ODVjZDk1MjQ2MDVlYy4uZDliZDdlZGMyZDhlMmViNzBlZDc2MWI1YWQxZGE0ZTQyMjJhODkzMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjppbmZvID0g
eyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCAwLCAwIH07CitX
cmFwcGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjppbmZv
ID0geyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBW
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCAwLCAwLCAw
IH07CiAKIG5hbWVzcGFjZSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlSW50ZXJu
YWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmgKaW5kZXggY2M3ZTc1ODVjZjJiMGI2MDA5NTBjNWUxNTdkZjFiZTI0YmRiOTVmYi4u
OGU1NTcxYjM0YjBlYjlhMjkyNThiOTRhNDI1OTljYTMzMjY3ZjZhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtNDQsNiAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB3cmFwKFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqKTsKICAgICBz
dGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01X
cmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7
CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAg
ICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVy
SW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L05QVjhPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9i
amVjdC5jcHAKaW5kZXggZGZiOThjZTM5N2Y0MTZjNTA3MTI4ZjUyODkzZjUwZTQ3MjE1OTA2ZS4u
MDc5NjYxNzAzM2ZiMjZiMWQ5ZWNhZjBhNjI1MDY4Nzg5OGMwZGFmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXcmFwcGVyVHlwZUluZm8qIG5wT2JqZWN0VHlwZUluZm8oKQogewotICAg
IHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gdHlwZUluZm8gPSB7IDAsIDAsIDAsIDAgfTsKKyAgICBz
dGF0aWMgV3JhcHBlclR5cGVJbmZvIHR5cGVJbmZvID0geyAwLCAwLCAwLCAwLCAwIH07CiAgICAg
cmV0dXJuICZ0eXBlSW5mbzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhH
Q0NvbnRyb2xsZXIuY3BwCmluZGV4IDU0MDMxMjQzMmUyZGQ4N2QzODE4YmNjNzk4ZmVkMzM5YjA4
NTRkNmQuLjZlNjJhNWEzNjMyNmUyMGM2NTVlMDMxMTdlYzVmMTMxMDViMzE0NjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKQEAgLTMzNiw2ICsz
MzYsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
IHN0b3JlLCB2b2lkKiBvYmplY3QsIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIp
CiAgICAgeworICAgICAgICBXcmFwcGVyVHlwZUluZm8qIGluZm8gPSBWOERPTVdyYXBwZXI6OmRv
bVdyYXBwZXJUeXBlKHdyYXBwZXIpOworICAgICAgICBpZiAoaW5mby0+ZG9tV3JhcHBlclZpc2l0
b3JGdW5jdGlvbikKKyAgICAgICAgICAgIGluZm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24o
c3RvcmUsIG9iamVjdCwgd3JhcHBlcik7CiAgICAgfQogCiAgICAgdm9pZCBhcHBseUdyb3VwaW5n
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5m
by5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKaW5kZXgg
YzI2ODRkNjZiZTY2N2ZiMjA5MzdkNDVkOTNhYmNmNzI3NmExNWNjYy4uNjZiN2FhNDkzZmIyYzRl
OTQ2NDg1NTRhM2I1MjczNWRjODMzMWEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvV3JhcHBlclR5cGVJbmZvLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAKICAgICBjbGFzcyBBY3RpdmVET01PYmplY3Q7CisgICAgY2xhc3MgRE9NRGF0YVN0
b3JlOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBpbnQgdjhET01XcmFwcGVyVHlwZUluZGV4ID0g
MDsKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9NV3JhcHBlck9iamVjdEluZGV4ID0gMTsKQEAg
LTQ2LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdjg6OlBlcnNp
c3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICgqR2V0VGVtcGxhdGVGdW5jdGlvbikoKTsKICAg
ICB0eXBlZGVmIHZvaWQgKCpEZXJlZk9iamVjdEZ1bmN0aW9uKSh2b2lkKik7CiAgICAgdHlwZWRl
ZiBBY3RpdmVET01PYmplY3QqICgqVG9BY3RpdmVET01PYmplY3RGdW5jdGlvbikodjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pik7CisgICAgdHlwZWRlZiB2b2lkICgqRE9NV3JhcHBlclZpc2l0b3JGdW5j
dGlvbikoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICAKICAgICAvLyBUaGlzIHN0cnVjdCBwcm92aWRlcyBhIHdheSB0byBzdG9yZSBhIGJ1bmNo
IG9mIGluZm9ybWF0aW9uIHRoYXQgaXMgaGVscGZ1bCB3aGVuIHVud3JhcHBpbmcKICAgICAvLyB2
OCBvYmplY3RzLiBFYWNoIHY4IGJpbmRpbmdzIGNsYXNzIGhhcyBleGFjdGx5IG9uZSBzdGF0aWMg
V3JhcHBlclR5cGVJbmZvIG1lbWJlciwgc28KQEAgLTkxLDYgKzkzLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBjb25zdCBHZXRUZW1wbGF0ZUZ1bmN0aW9uIGdldFRlbXBsYXRlRnVu
Y3Rpb247CiAgICAgICAgIGNvbnN0IERlcmVmT2JqZWN0RnVuY3Rpb24gZGVyZWZPYmplY3RGdW5j
dGlvbjsKICAgICAgICAgY29uc3QgVG9BY3RpdmVET01PYmplY3RGdW5jdGlvbiB0b0FjdGl2ZURP
TU9iamVjdEZ1bmN0aW9uOworICAgICAgICBjb25zdCBET01XcmFwcGVyVmlzaXRvckZ1bmN0aW9u
IGRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb247CiAgICAgICAgIGNvbnN0IFdyYXBwZXJUeXBlSW5m
byogcGFyZW50Q2xhc3M7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMjk4OGI3ZWFlYTNiNGJiMTQ4MDliZWZkODU0NzFlZTA5
N2MyZTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIlY4Q1NTU3R5bGVTaGVldC5oIgotCi0jaW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5j
bHVkZSAiVjhOb2RlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoQ1NTU3R5bGVTaGVldCogaW1wbCkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
ciA9IFY4Q1NTU3R5bGVTaGVldDo6d3JhcChpbXBsKTsKLSAgICAvLyBBZGQgYSBoaWRkZW4gcmVm
ZXJlbmNlIGZyb20gc3R5bGVzaGVldCBvYmplY3QgdG8gaXRzIG93bmVyIG5vZGUuCi0gICAgTm9k
ZSogb3duZXJOb2RlID0gaW1wbC0+b3duZXJOb2RlKCk7Ci0gICAgaWYgKG93bmVyTm9kZSAmJiAh
d3JhcHBlci5Jc0VtcHR5KCkpCi0gICAgICAgIFY4RE9NV3JhcHBlcjo6c2V0TmFtZWRIaWRkZW5S
ZWZlcmVuY2Uod3JhcHBlciwgIm93bmVyTm9kZSIsIHRvVjgob3duZXJOb2RlKSk7Ci0gICAgcmV0
dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwCmluZGV4IGRkZjIyYTc0NmEyMWNmYzM3ODZlODBjYTQ0NDk3NDQ4YWMyNzdjNjQuLmFlOWE2
MWQ4NTEzNjEyN2FjMWQzNjE5OGE5MWZjMWQ1MjIyMGNhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNw
cApAQCAtODQsMTkgKzg0LDQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NU3RyaW5nTWFw
OjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB2
YWx1ZTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBs
KQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7Ci0gICAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01TdHJpbmdNYXA6OndyYXAoaW1wbCk7
Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBE
T01TdHJpbmdNYXAuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAg
ICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCk7Ci0gICAgICAgIGlmICgh
ZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAg
ICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhI
aWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVN0cmluZ01hcCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0gICAg
cmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjNkYTQ4MTBlM2YxNjM3ZWFi
MmFiNTg5NTBmMDJiNWRhYWNlYmE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2Vu
TGlzdEN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1
dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
LSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIlY4RE9NVG9rZW5MaXN0LmgiCi0KLSNpbmNsdWRlICJET01Ub2tl
bkxpc3QuaCIKLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOERPTVdyYXBwZXIu
aCIKLSNpbmNsdWRlICJWOEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChET01Ub2tlbkxpc3QqIGltcGwpCi17Ci0gICAgaWYgKCFp
bXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+IHdyYXBwZXIgPSBWOERPTVRva2VuTGlzdDo6d3JhcChpbXBsKTsKLSAgICAvLyBBZGQgYSBo
aWRkZW4gcmVmZXJlbmNlIGZyb20gdGhlIGVsZW1lbnQgdG8gdGhlIERPTVRva2VuTGlzdC4KLSAg
ICBFbGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOwotICAgIGlmICghd3JhcHBlci5J
c0VtcHR5KCkgJiYgZWxlbWVudCkgewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZWxl
bWVudFZhbHVlID0gdG9WOChlbGVtZW50KTsKLSAgICAgICAgaWYgKCFlbGVtZW50VmFsdWUuSXNF
bXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIGVsZW1lbnRW
YWx1ZS5Bczx2ODo6T2JqZWN0PigpLT5TZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFt
ZTo6ZG9tVG9rZW5MaXN0KCksIHdyYXBwZXIpOwotICAgIH0KLSAgICByZXR1cm4gd3JhcHBlcjsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggNjdiOWQxYTUyNDNjYjJlMTk3NjI0OTU5NTM0Yjg0ZTVlNThhODMzYi4u
N2ZkMTI4YmY2NmIyMDE5NTFmNGYwMWZmZjhlODU0M2NlZTJkYzlkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCkBAIC00NCw3ICs0NCw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
OjppbmZvID0geyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAs
IDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6
aW5mbyA9IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAw
LCAwLCAwIH07CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1hZ2VFbGVt
ZW50Q29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9k
ZU1hcEN1c3RvbS5jcHAKaW5kZXggZjMwMzEyOGUwODc0MDdjYzA4YWNkODUyNzFjMjk1OWRjZTk5
ZWY3NC4uYjk3ZWRhYzhmOTgyNTU2ODhjNWQ4YTQ4OGU0ODY0NTg3MDMzNDVmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVN
YXBDdXN0b20uY3BwCkBAIC03MSwxNiArNzEsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhO
YW1lZE5vZGVNYXA6Om5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+CiAg
ICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KE5hbWVkTm9kZU1hcCogaW1wbCkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAg
IHJldHVybiB2ODo6TnVsbCgpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9
IFY4TmFtZWROb2RlTWFwOjp3cmFwKGltcGwpOwotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVu
Y2UgZnJvbSBuYW1lZCBub2RlIG1hcCB0byBpdHMgb3duZXIgbm9kZS4KLSAgICBFbGVtZW50KiBl
bGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOwotICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYg
ZWxlbWVudCkKLSAgICAgICAgd3JhcHBlci0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0
eU5hbWU6Om93bmVyTm9kZSgpLCB0b1Y4KGVsZW1lbnQpKTsKLSAgICByZXR1cm4gd3JhcHBlcjsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcAppbmRleCAwZmU2YWY4
NTBhZDMzOTM4MzUwZGI2ZmFiZmJkMDNhYTFkNzdmOWFkLi43YjgzNTk2ZTQwY2YwOWI4NWZkODk3
N2VjMmVhMGJhNzkzMjQ4YTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcApAQCAtNDMsMTIgKzQzLDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoU3R5bGVTaGVldCogaW1wbCkKICAgICAgICAgcmV0
dXJuIHY4OjpOdWxsKCk7CiAgICAgaWYgKGltcGwtPmlzQ1NTU3R5bGVTaGVldCgpKQogICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDU1NTdHlsZVNoZWV0Kj4oaW1wbCkpOwotICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4U3R5bGVTaGVldDo6d3JhcChpbXBsKTsK
LSAgICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gc3R5bGVzaGVldCBvYmplY3QgdG8g
aXRzIG93bmVyIG5vZGUuCi0gICAgTm9kZSogb3duZXJOb2RlID0gaW1wbC0+b3duZXJOb2RlKCk7
Ci0gICAgaWYgKG93bmVyTm9kZSAmJiAhd3JhcHBlci5Jc0VtcHR5KCkpCi0gICAgICAgIFY4RE9N
V3JhcHBlcjo6c2V0TmFtZWRIaWRkZW5SZWZlcmVuY2Uod3JhcHBlciwgIm93bmVyTm9kZSIsIHRv
Vjgob3duZXJOb2RlKSk7Ci0gICAgcmV0dXJuIHdyYXBwZXI7CisgICAgcmV0dXJuIFY4U3R5bGVT
aGVldDo6d3JhcChpbXBsKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2hlZXQuaWRsCmluZGV4IDk2MmM5ZGJkY2NmOTI0NDM1YjJlZjZjZDE1MmJm
N2JlYzNhZGEwNjAuLjc4MmRiNTg2Y2U0OTFiOGIzNDRiMjViMWQxNmQ1MTA5MTRkYjc4MjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKQEAgLTIyLDcgKzIyLDcgQEAgbW9kdWxl
IGNzcyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAgIGludGVyZmFj
ZSBbCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFj
aGFibGU9SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIENTU1N0eWxlU2hlZXQgOiBTdHlsZVNoZWV0
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGUgICAgICAgICAgb3duZXJSdWxl
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBjc3NSdWxlczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAppbmRleCA5ZTIwZDg0YWNjM2IwZTQyMWM3MWIxZTM2
OWUyMGEyMTMzM2I3NzIzLi4zNTg4YmE1M2IzOTQ1MzJhMDg5NjRhYTQ0ZjhmOTc2MzUxZjE5Y2Nm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCkBAIC0yNiw3ICsyNiw4IEBAIG1vZHVsZSBz
dHlsZXNoZWV0cyB7CiAgICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICAgICAgQ3Vz
dG9tVG9KU09iamVjdCwKICAgICAgICAgT2JqQ1BvbHltb3JwaGljLAotICAgICAgICBWOERlcGVu
ZGVudExpZmV0aW1lCisgICAgICAgIFY4RGVwZW5kZW50TGlmZXRpbWUsCisgICAgICAgIFY4R2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdAogICAgIF0gU3R5bGVTaGVldCB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxs
XSBET01TdHJpbmcgICAgICAgIHR5cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29s
ZWFuICAgICAgICAgIGRpc2FibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVN0cmluZ01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAppbmRl
eCA5ODBkMDQ0Y2QwMmFiMWFmNWY3YTk2ZTdhNmUyYzU5NjMzZThjM2RmLi4wNDVkNTIyMzIyOWYy
YzI5YmE3ZjYxNjY2YjQ2YzU5ZWJhODJhY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NU3RyaW5nTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFw
LmlkbApAQCAtMjYsMTIgKzI2LDExIEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2Ug
WwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAorICAgICAg
ICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKICAgICAgICAgTmFtZWRHZXR0
ZXIsCiAgICAgICAgIEN1c3RvbURlbGV0ZVByb3BlcnR5LAogICAgICAgICBDdXN0b21FbnVtZXJh
dGVQcm9wZXJ0eSwKLSAgICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9t
VG9KU09iamVjdAorICAgICAgICBDdXN0b21OYW1lZFNldHRlcgogICAgIF0gRE9NU3RyaW5nTWFw
IHsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFw
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCmluZGV4IDg4ODIwYzAx
NzJmNTYzYzY0NDY2NTUzMjFjYzQ1YThkZWViNjRhYWMuLjdlZTZiNzU2NzdhYTMyOGRlMWIxMzRj
ZjQwYzU1ZDIzNWNhYmRjZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5v
ZGVNYXAuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCkBAIC0y
MSwxMSArMjEsMTAgQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAg
IEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCi0gICAgICAgIEpTQ3VzdG9t
TWFya0Z1bmN0aW9uLAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9v
dCwKICAgICAgICAgSW5kZXhlZEdldHRlciwKLSAgICAgICAgTmFtZWRHZXR0ZXIsCi0gICAgICAg
IFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICAg
ICAgTmFtZWRHZXR0ZXIKICAgICBdIE5hbWVkTm9kZU1hcCB7CiAKICAgICAgICAgTm9kZSBnZXRO
YW1lZEl0ZW0oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCmluZGV4IDU1YjYzNmY3ZDdhNWFiMWE2
MDMzNTZhYTIyZDdmNjRlOTg5YWNkZTYuLmNmNTdlMWFlZWY5NmUyOTY3NTAwZWUxN2U1MGY0MmZk
MDg5YzY3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTI1LDkgKzI1
LDggQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIEpTR2VuZXJh
dGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCi0gICAgICAgIEluZGV4ZWRHZXR0ZXIsCi0g
ICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUlt
cGxFbGVtZW50Um9vdCwKKyAgICAgICAgSW5kZXhlZEdldHRlcgogICAgIF0gRE9NVG9rZW5MaXN0
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAg
ICAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgaXRlbShpbiB1
bnNpZ25lZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVGV4dFRyYWNrTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFj
a0xpc3QuY3BwCmluZGV4IGVhZDE5NTA3MTYzNDc0ZTA1NjBmZDA0ZWZlZWI3YTY1ZjQ4YTVmODIu
LmIxMjUxYjNiMWJjNTEwOTA0ZDBmZjJhMjFmNGYyOWFjNTNjYWY2YmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKIAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiTG9hZGFibGVUZXh0VHJhY2suaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGV4dFRyYWNr
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAppbmRleCBh
ZWRkYTJlMDc0ZGJjODcxZTQxY2ZjZTYwMGY5OTYxYjRlZmYzM2E0Li5hZDRlODYyMWM2ODQ4ODY2
MzdjODg5MjIyMmY5ZThjNjQxNWI3ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VGV4dFRyYWNrTGlzdC5pZGwKQEAgLTMxLDcgKzMxLDggQEAgbW9kdWxlIGh0bWwgewogICAgICAg
ICBJbmRleGVkR2V0dGVyLAogICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgSlNDdXN0b21N
YXJrRnVuY3Rpb24sCi0gICAgICAgIEpTQ3VzdG9tSXNSZWFjaGFibGUKKyAgICAgICAgSlNDdXN0
b21Jc1JlYWNoYWJsZSwKKyAgICAgICAgVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lclJv
b3QKICAgICBdIFRleHRUcmFja0xpc3QgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsZW5ndGg7CiAgICAgICAgIFRleHRUcmFjayBpdGVtKGluIHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDhiNzIwMzI0NzgzMGEzZWY2MTA3YjRkMjg2ODM3ZmFlMDY4MTdk
NjcuLmY0YjhlNzg0YmNkNDZjMmRiNTA5ZjZhMTQ1N2ZiN2VkYzkyYjQxOTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wMy0xMyAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpWODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3Rl
YWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwODgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisK
IDIwMTItMDMtMTMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHNuaXBwZXRzIG1vZGVsLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IDRkNjBk
ZWJkNzJlZDBlNWJhNTliYTc0NjhhN2ZlYjc0MGMzNmU3YmQuLjNjZTZjMjJkNmFlN2ZkMDU3M2Ey
NDNhZDU2MDE0MzU4ZWQ5ZWExMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTM0MjgsNyArMzQyOCw2IEBAIEJVR19T
RU5PUkJMQU5DTyA6IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL2Nh
bnZhcy10cmFuc2Zvcm1zLWZpCiAKIEJVR1dLNjY5NTMgOiB0cmFuc2l0aW9ucy9kZWZhdWx0LXRp
bWluZy1mdW5jdGlvbi5odG1sID0gUEFTUyBGQUlMCiAKLUJVR1dLNzM4NjUgOiBtZWRpYS90cmFj
ay90cmFja2xpc3QtaXMtcmVhY2hhYmxlLmh0bWwgPSBURVhUIENSQVNICiBCVUdXSzczODY1IDog
bWVkaWEvdHJhY2svdGV4dC10cmFjay1jdWUtaXMtcmVhY2hhYmxlLmh0bWwgPSBURVhUIENSQVNI
CiBCVUdXSzczODY1IDogbWVkaWEvdHJhY2svdGV4dC10cmFjay1pcy1yZWFjaGFibGUuaHRtbCA9
IFRFWFQgQ1JBU0gKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131716</attachid>
            <date>2012-03-13 14:36:07 -0700</date>
            <delta_ts>2012-06-20 12:02:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80880-20120313143606.patch</filename>
            <type>text/plain</type>
            <size>52900</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ3ODkxZGU4NWFjOGYz
MjI5YTQwN2IwZjU2OThmODY5NWFmYTQ0NS4uZjUxN2I5ZDkyODMwMTcyYTIwMGY1ZWJkZDg0ZDVh
MTdiOTY5YTgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNCBAQAorMjAxMi0wMy0xMyAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlZCB0byBhZGQg
YSBoaWRkZW4gcHJvcGVydHkgaW4gdGhlIGdldHRlciB0byB0aGUgcmV0dXJuZWQgd3JhcHBlci4K
KyAgICAgICAgV2l0aCB0aGlzIHBhdGNoIHdlIGluc3RlYWQgaGFuZGxlIHRoZSBsaXZlbmVzcyBv
ZiB0aGUgd3JhcHBlciBpbiB0aGUgR0MgcGhhc2UgYnkKKyAgICAgICAgY2FsbGluZyB2ODo6Vjg6
OkFkZEhpZGRlblJlZmVyZW5jZS4KKworICAgICAgICBUbyByZWR1Y2UgdGhlIGFtb3VudCBvZiBj
dXN0b20gY29kZSB3ZSBuZWVkLCB0aGUgVjggY29kZSBnZW5lcmF0b3Igbm93IHN1cHBvcnRzCisg
ICAgICAgIEdlbmVyYXRlSXNSZWFjaGFibGUgKGFzIHdlbGwgYXMgQ3VzdG9tSXNSZWFjaGFibGUp
IHdoaWNoLCBldmVuIHRob3VnaCBkaWZmZXJlbnQKKyAgICAgICAgZnJvbSB0aGUgSlNDIGF0dHJp
YnV0ZSwgaXMgdXNlZCBpbiB0aGUgc2FtZSBjYXNlcyBhbmQgdGFrZXMgdGhlIHNhbWUgdmFsdWVz
IChldmVuIHRob3VnaAorICAgICAgICBhdCB0aGUgbW9tZW50IG5vdCBhbGwgSlNDIHZhbHVlcyBh
cmUgc3VwcG9ydGVkIGJ5IFY4KS4gSW50ZXJmYWNlcyB0aGF0IGhhdmUgKklzUmVhY2hhYmxlCisg
ICAgICAgIGFsc28gaGF2ZSBhIGRlcGVuZGVudCBsaWZlIHRpbWUgKGp1c3QgbGlrZSBpZiBWOERl
cGVuZGVudExpZmV0aW1lIHdhcyBwcmVzZW50KS4KKworICAgICAgICBTZWNvbmQgdHJ5LiBUaGlz
IHRpbWUgd2l0aCBhbiBhZGRlZCBpbmNsdWRlIGluIFRleHRUcmFja0xpc3QuY3BwLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogVXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAg
ICAgICAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSk6CisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNo
YWJsZSk6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bToKKyAgICAgICAgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIpOgorICAgICAgICAoR2V0R2VuZXJh
dGVJc1JlYWNoYWJsZSk6CisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNoYWJsZSk6CisgICAgICAg
IChHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcik6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6Cisg
ICAgICAgIChHZW5lcmF0ZU5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChHZW5l
cmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRB
cnJheS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgKFY4RmxvYXQ2NEFycmF5KToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RBY3RpdmVET01PYmplY3QuaDoKKyAgICAgICAgKFY4VGVzdEFjdGl2ZURPTU9iamVj
dCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoVjhUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmg6CisgICAgICAg
IChWOFRlc3RFdmVudENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAgICAg
IChWOFRlc3RFdmVudFRhcmdldCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RJ
bnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6Cisg
ICAgICAgIChWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oOgorICAgICAgICAoVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmg6Cisg
ICAgICAgIChWOFRlc3RPYmopOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5oOgorICAgICAgICAoVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0VHlwZUluZm8pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L1Y4R0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdyb3VwZXJWaXNpdG9yOjp2
aXNpdERPTVdyYXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXcmFwcGVyVHlwZUluZm8pOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50
Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgp
OgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldC5pZGw6CisgICAgICAgICogZG9tL0RPTVN0cmluZ01hcC5pZGw6CisgICAgICAgICogZG9t
L05hbWVkTm9kZU1hcC5pZGw6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuaWRsOgorICAg
ICAgICAqIGh0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHA6CisgICAgICAgICogaHRtbC90cmFj
ay9UZXh0VHJhY2tMaXN0LmlkbDoKKwogMjAxMi0wMy0xMyAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgc25pcHBldHMg
bW9kZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCBlOTNjZmE4M2FjZjU5ZWVhZGIxMTBlNzFkZjFlNDk5MmY1
YWI2ZWYyLi4yYmU2MDQ0MTJmM2FhNzAwYjVhYzEyNjQ2YmIyOWE1ZWJlNjJlNjkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTE2MCw3ICsxNjAsNiBAQCB2OCB7CiAgICAgICAgIFwKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q1NTVmFsdWVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwIFwKQEAgLTE3MCw4ICsx
NjksNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
SG9zdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9y
RnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01U
b2tlbkxpc3RDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmlu
Z01hcEN1c3RvbS5jcHAKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CmluZGV4IDA5ZjI5MDhlZjk3ZDEwZmNjNTQxODliNjM5NTZlZDM5ZmI5ZDNjNWMuLjFjMjMyNmJm
OTk3YTAzNzBkOGQzYTNmMTY2OWMwMjk1YTNiMjA4NTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC03Myw3
ICs3Myw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFy
YXRpb25DdXN0b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNQaXhlbEFycmF5Q3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKQEAg
LTg1LDcgKzg0LDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxp
c3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggNjRiNWYzMWQ3ZTliZWM1NmFlNDYzMDM2YjcyMjRmMmY2NDY5ODI2MC4uZWI3
YTY1YTgxOTBkYzQ1YmZmZmY4MDg5YzFkM2U2MWI0NjQ2MDA0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMjAxMCw3ICsyMDEwLDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhC
bG9iQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVs
ZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxl
RGVjbGFyYXRpb25DdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q1NTVmFsdWVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhDYW52YXNQaXhlbEFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCcsCkBAIC0yMDI0
LDcgKzIwMjMsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQ
YXRoTlNSZXNvbHZlci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01G
b3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVN0cmluZ01hcEN1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERPTVRva2VuTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVdpbmRvd0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERhdGFWaWV3Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5ZDYwMDYzZGQ3
NGZiNDMxNjZjMDA1OGY3YzUxYjYwZWU5Y2U0NGQ1Li5iOTczNjNmNDgyMjAwMTBhNzVjOGUyMmU3
Yzk2ZTFlMzlkNTE1YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzgxLDYgKzM4MSwxOCBAQCBzdWIgcHJvdG90eXBl
SGFzaFRhYmxlQWNjZXNzb3IKICAgICB9CiB9CiAKK3N1YiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxl
Cit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifTsKK30KKworc3ViIEdl
dEN1c3RvbUlzUmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0
dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0g
fHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9
OworfQorCiBzdWIgR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZwogewogICAgIG15ICRub2RlID0g
c2hpZnQ7CkBAIC05ODAsOCArOTkyLDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAg
ICAgaWYgKCEkaGFzUGFyZW50IHx8Ci0gICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8IAotICAgICAgICAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn0gfHwgCisgICAgICAgIEdl
dEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fAorICAgICAgICBHZXRDdXN0b21Jc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkpTQ3VzdG9tRmluYWxpemUifSB8fAogICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJD
b250ZW50LCAiY2xhc3MgSlMke2ltcGxDbGFzc05hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFr
SGFuZGxlT3duZXIge1xuIik7CkBAIC0yMjY4LDcgKzIyODAsNyBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCghJGhhc1BhcmVudCAmJiAh
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9KXx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9
IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7
CisgICAgaWYgKCghJGhhc1BhcmVudCAmJiAhR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2Rl
KSl8fCBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJzdGF0aWMgaW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlKEpTJHtpbXBsQ2xhc3NO
YW1lfSoganMke2ltcGxDbGFzc05hbWV9KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAie1xuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChqcyR7aW1wbENs
YXNzTmFtZX0tPmhhc0N1c3RvbVByb3BlcnRpZXMoKSlcbiIpOwpAQCAtMjI5NiwyMSArMjMwOCwy
MSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICB9CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIGlmICghaXNPYnNlcnZhYmxlKGpzJHtpbXBsQ2xhc3NOYW1lfSkp
XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBmYWxzZTtc
biIpOwotICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5l
cmF0ZUlzUmVhY2hhYmxlIn0pIHsKKyAgICAgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUo
JGRhdGFOb2RlKSkgewogICAgICAgICAgICAgbXkgJHJvb3RTdHJpbmc7Ci0gICAgICAgICAgICBp
ZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxl
In0gZXEgIkltcGwiKSB7CisgICAgICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgk
ZGF0YU5vZGUpIGVxICJJbXBsIikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIg
ICAgJHtpbXBsVHlwZX0qIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKTtcbiI7Ci0g
ICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dl
bmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbENvbnRleHQiKSB7CisgICAgICAgICAgICB9IGVs
c2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxDb250ZXh0Iikg
ewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgV2ViR0xSZW5kZXJpbmdDb250
ZXh0KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmNvbnRleHQoKTtcbiI7Ci0g
ICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dl
bmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbEZyYW1lIikgeworICAgICAgICAgICAgfSBlbHNp
ZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRnJhbWUiKSB7CiAg
ICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBGcmFtZSogcm9vdCA9IGpzJHtpbXBs
Q2xhc3NOYW1lfS0+aW1wbCgpLT5mcmFtZSgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0
cmluZyAuPSAiICAgIGlmICghcm9vdClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcg
Lj0gIiAgICAgICAgcmV0dXJuIGZhbHNlO1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJ
bXBsRG9jdW1lbnQiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hh
YmxlKCRkYXRhTm9kZSkgZXEgIkltcGxEb2N1bWVudCIpIHsKICAgICAgICAgICAgICAgICAkcm9v
dFN0cmluZyAgPSAiICAgIERvY3VtZW50KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBs
KCktPmRvY3VtZW50KCk7XG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAg
aWYgKCFyb290KVxuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICBy
ZXR1cm4gZmFsc2U7XG4iOwotICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxFbGVtZW50Um9v
dCIpIHsKKyAgICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFO
b2RlKSBlcSAiSW1wbEVsZW1lbnRSb290IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5n
ICA9ICIgICAgRWxlbWVudCogZWxlbWVudCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpLT5l
bGVtZW50KCk7XG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFl
bGVtZW50KVxuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1
cm4gZmFsc2U7XG4iOwpAQCAtMjMzNCw4ICsyMzQ2LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KIAogICAgIGlmICghJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0
b21GaW5hbGl6ZSJ9ICYmCiAgICAgICAgICghJGhhc1BhcmVudCB8fAotICAgICAgICAgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwKLSAg
ICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFi
bGUifSB8fAorICAgICAgICAgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8Cisg
ICAgICAgICBHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CiAgICAgICAgICAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkpIHsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkIEpTJHtpbXBsQ2xhc3NOYW1lfU93bmVyOjpmaW5h
bGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dClcbiIp
OwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBhYTQ5NDk2ZGE4
ZjNkMTk5NjVhYTgzNGY2YmViYjA0YWFjNDQyM2U0Li45NmZlNmNlNmVjZGEwNjJiODVjNTY5ZGNi
MzQyOGUxZGNmYjVlNzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTkyLDYgKzE5Miw2MyBAQCBzdWIgR2VuZXJhdGVD
b25kaXRpb25hbFN0cmluZwogICAgIH0KIH0KIAorc3ViIE5lZWRzVG9WaXNpdERPTVdyYXBwZXIK
K3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIHx8IEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSk7Cit9
CisKK3N1YiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hp
ZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRl
SXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEdlbmVy
YXRlSXNSZWFjaGFibGUifSB8fCAiIgorfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sK
KyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJWOEN1c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKK3N1YiBHZW5lcmF0ZVZp
c2l0RE9NV3JhcHBlcgoreworICAgIG15ICgkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKSA9IEBf
OworCisgICAgaWYgKEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkpIHsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit2b2lkIFY4
JHtpbXBsQ2xhc3NOYW1lfTo6dmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSogc3RvcmUsIHZv
aWQqIG9iamVjdCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKK3sKKyAgICAk
e2ltcGxDbGFzc05hbWV9KiBpbXBsID0gc3RhdGljX2Nhc3Q8JHtpbXBsQ2xhc3NOYW1lfSo+KG9i
amVjdCk7CitFTkQKKyAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVx
ICAiSW1wbEVsZW1lbnRSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRk
YXRhTm9kZSkgZXEgICJJbXBsT3duZXJSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVh
Y2hhYmxlKCRkYXRhTm9kZSkgZXEgICJJbXBsT3duZXJOb2RlUm9vdCIpIHsKKworICAgICAgICBt
eSAkbWV0aG9kTmFtZTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAiZWxlbWVudCIgaWYgKEdldEdl
bmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEVsZW1lbnRSb290Iik7CisgICAg
ICAgICRtZXRob2ROYW1lID0gIm93bmVyIiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0
YU5vZGUpIGVxICJJbXBsT3duZXJSb290Iik7CisgICAgICAgICRtZXRob2ROYW1lID0gIm93bmVy
Tm9kZSIgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbE93bmVy
Tm9kZVJvb3QiKTsKKworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOworICAgIGlm
IChOb2RlKiBvd25lciA9IGltcGwtPiR7bWV0aG9kTmFtZX0oKSkgeworICAgICAgICB2ODo6UGVy
c2lzdGVudDx2ODo6T2JqZWN0PiBvd25lcldyYXBwZXIgPSBnZXRET01Ob2RlTWFwKCkuZ2V0KG93
bmVyKTsKKyAgICAgICAgaWYgKCFvd25lcldyYXBwZXIuSXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICB2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHZhbHVlID0gd3JhcHBlcjsKKyAgICAgICAgICAg
IHY4OjpWODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzKG93bmVyV3JhcHBlciwgJnZhbHVlLCAxKTsK
KyAgICAgICAgfQorICAgIH0KK0VORAorICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8
PEVORCk7Cit9CisKK0VORAorfQorCiBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogewogICAgIG15
ICRpbXBsVHlwZSA9IHNoaWZ0OwpAQCAtMjQ2LDcgKzMwMyw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRl
cgogICAgICRjb2RlR2VuZXJhdG9yLT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zy
b21QYXJlbnRDbGFzc2VzKCRkYXRhTm9kZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdl
bmVyYXRvci0+TGlua092ZXJsb2FkZWRGdW5jdGlvbnMoJGRhdGFOb2RlKTsKIAotICAgIG15ICRo
YXNEZXBlbmRlbnRMaWZldGltZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4
RGVwZW5kZW50TGlmZXRpbWUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJB
Y3RpdmVET01PYmplY3QifSB8fCAkY2xhc3NOYW1lID1+IC9TVkcvOworICAgIG15ICRoYXNEZXBl
bmRlbnRMaWZldGltZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5k
ZW50TGlmZXRpbWUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVE
T01PYmplY3QifQorICAgICAgICAgfHwgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUp
IHx8ICRjbGFzc05hbWUgPX4gL1NWRy87CiAgICAgaWYgKCEkaGFzRGVwZW5kZW50TGlmZXRpbWUp
IHsKICAgICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgICAg
ICBteSAkcGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKQEAgLTM0MCw2
ICszOTgsNyBAQCBFTkQKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXAoJHtuYXRpdmVUeXBlfSoke2ZvcmNlTmV3T2JqZWN0UGFyYW1ldGVyfSk7CiAg
ICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0
RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKIEVORAogICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewpAQCAtMTc5
NiwxMiArMTg1NSwxMiBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2sKIAog
ICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3Qi
fSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3JhcHBlclR5cGVJbmZv
IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFt
ZX1Db25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6ZGVyZWZPYmpl
Y3QsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QsIDAgfTsKK1dyYXBwZXJU
eXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxD
bGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOCR7aW1wbENsYXNzTmFtZX06OmRl
cmVmT2JqZWN0LCBWOCR7aW1wbENsYXNzTmFtZX06OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwIH07
CiAKIEVORAogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
Ci1XcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OmluZm8gPSB7
IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgMCwgMCwgMCB9Owor
V3JhcHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBW
OCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAsIDAgfTsK
IAogRU5ECiAgICAgfQpAQCAtMjI0Niw2ICsyMzA1LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50
YXRpb24KICAgICBBZGRJbmNsdWRlc0ZvclR5cGUoJGludGVyZmFjZU5hbWUpOwogCiAgICAgbXkg
JHRvQWN0aXZlID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2Jq
ZWN0In0gPyAiJHtjbGFzc05hbWV9Ojp0b0FjdGl2ZURPTU9iamVjdCIgOiAiMCI7CisgICAgbXkg
JGRvbVZpc2l0b3IgPSBOZWVkc1RvVmlzaXRET01XcmFwcGVyKCRkYXRhTm9kZSkgPyAiJHtjbGFz
c05hbWV9Ojp2aXNpdERPTVdyYXBwZXIiIDogIjAiOwogCiAgICAgIyBGaW5kIHRoZSBzdXBlciBk
ZXNjcmlwdG9yLgogICAgIG15ICRwYXJlbnRDbGFzcyA9ICIiOwpAQCAtMjI2Miw3ICsyMzIyLDcg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICB9CiAgICAgcHVzaChAaW1wbENvbnRl
bnREZWNscywgIm5hbWVzcGFjZSBXZWJDb3JlIHtcblxuIik7CiAgICAgbXkgJHBhcmVudENsYXNz
SW5mbyA9ICRwYXJlbnRDbGFzcyA/ICImJHtwYXJlbnRDbGFzc306OmluZm8iIDogIjAiOwotICAg
IHB1c2goQGltcGxDb250ZW50RGVjbHMsICJXcmFwcGVyVHlwZUluZm8gJHtjbGFzc05hbWV9Ojpp
bmZvID0geyAke2NsYXNzTmFtZX06OkdldFRlbXBsYXRlLCAke2NsYXNzTmFtZX06OmRlcmVmT2Jq
ZWN0LCAke3RvQWN0aXZlfSwgJHtwYXJlbnRDbGFzc0luZm99IH07XG5cbiIpOyAgIAorICAgIHB1
c2goQGltcGxDb250ZW50RGVjbHMsICJXcmFwcGVyVHlwZUluZm8gJHtjbGFzc05hbWV9OjppbmZv
ID0geyAke2NsYXNzTmFtZX06OkdldFRlbXBsYXRlLCAke2NsYXNzTmFtZX06OmRlcmVmT2JqZWN0
LCAke3RvQWN0aXZlfSwgJHtkb21WaXNpdG9yfSwgJHtwYXJlbnRDbGFzc0luZm99IH07XG5cbiIp
OyAgIAogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgJHtpbnRlcmZhY2VO
YW1lfUludGVybmFsIHtcblxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgInRlbXBs
YXRlIDx0eXBlbmFtZSBUPiB2b2lkIFY4X1VTRShUKSB7IH1cblxuIik7CiAKQEAgLTIzMTUsNiAr
MjM3NSwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBHZW5lcmF0ZUNv
bnN0cnVjdG9yR2V0dGVyKCRkYXRhTm9kZSwgJGltcGxDbGFzc05hbWUpOwogICAgIH0KIAorICAg
IGlmIChOZWVkc1RvVmlzaXRET01XcmFwcGVyKCRkYXRhTm9kZSkpIHsKKyAgICAgICAgR2VuZXJh
dGVWaXNpdERPTVdyYXBwZXIoJGRhdGFOb2RlLCAkaW1wbENsYXNzTmFtZSk7CisgICAgfQorCiAg
ICAgbXkgJGluZGV4ZXI7CiAgICAgbXkgJG5hbWVkUHJvcGVydHlHZXR0ZXI7CiAgICAgIyBHZW5l
cmF0ZSBtZXRob2RzIGZvciBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBkMTA1ZTA4NzI3ZGU5MTE3N2VmNTE5
MjBkNzE3NDRmZjc5MGQ5Yzk4Li41YjZhNTMwNWJiZjk5ZDk3NDE1MTg2MjMyNTE1MjdhOWMyMDk2
NTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJp
YnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmli
dXRlcy50eHQKQEAgLTM4LDYgKzM4LDcgQEAgQ3VzdG9tRW51bWVyYXRlUHJvcGVydHkKIEN1c3Rv
bUdldE93blByb3BlcnR5U2xvdAogQ3VzdG9tR2V0dGVyCiBDdXN0b21JbmRleGVkU2V0dGVyCitD
dXN0b21Jc1JlYWNoYWJsZQogQ3VzdG9tTmFtZWRHZXR0ZXIKIEN1c3RvbU5hbWVkU2V0dGVyCiBD
dXN0b21QdXRGdW5jdGlvbgpAQCAtNTEsMTEgKzUyLDEyIEBAIERvTm90Q2hlY2tTZWN1cml0eU9u
R2V0dGVyCiBEb05vdENoZWNrU2VjdXJpdHlPblNldHRlcgogRXZlbnRUYXJnZXQKIEV4dGVuZHNE
T01HbG9iYWxPYmplY3QKK0dlbmVyYXRlSXNSZWFjaGFibGU9fEltcGx8SW1wbENvbnRleHR8SW1w
bERvY3VtZW50fEltcGxFbGVtZW50Um9vdHxJbXBsRnJhbWUKIEltbXV0YWJsZQogSW1wbGVtZW50
ZWRBcz0qCiBJbmRleGVkR2V0dGVyCi1JbnRlcmZhY2VOYW1lPSoKIEluaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yCitJbnRlcmZhY2VOYW1lPSoKIElzSW5kZXgKIElzV29ya2VyQ29udGV4dAog
SlNDdXN0b20KQEAgLTEwNCwxMCArMTA2LDEyIEBAIFVSTAogVjhDdXN0b20KIFY4Q3VzdG9tQ29u
c3RydWN0b3IKIFY4Q3VzdG9tR2V0dGVyCitWOEN1c3RvbUlzUmVhY2hhYmxlCiBWOEN1c3RvbVNl
dHRlcgogVjhDdXN0b21Ub0pTT2JqZWN0CiBWOERlcGVuZGVudExpZmV0aW1lCiBWOERvTm90Q2hl
Y2tTaWduYXR1cmUKIFY4RW5hYmxlZEF0UnVudGltZT0qCitWOEdlbmVyYXRlSXNSZWFjaGFibGU9
fEltcGxFbGVtZW50Um9vdHxJbXBsT3duZXJSb290fEltcGxPd25lck5vZGVSb290CiBWOFJlYWRP
bmx5CiBWOFVuZm9yZ2VhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAppbmRleCBiZGM2MDI4YmU4YWRi
NjZlNjRlOWZjY2VmNDgyMjcyZjA2NzM2MTgwLi40ZDA0YjUxNDk2NzhmZWNkZTI2YTg5ZGI0MzZh
ZTNjNzE0ZWI4YmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhGbG9hdDY0QXJyYXk6Omlu
Zm8gPSB7IFY4RmxvYXQ2NEFycmF5OjpHZXRUZW1wbGF0ZSwgVjhGbG9hdDY0QXJyYXk6OmRlcmVm
T2JqZWN0LCAwLCAmVjhBcnJheUJ1ZmZlclZpZXc6OmluZm8gfTsKK1dyYXBwZXJUeXBlSW5mbyBW
OEZsb2F0NjRBcnJheTo6aW5mbyA9IHsgVjhGbG9hdDY0QXJyYXk6OkdldFRlbXBsYXRlLCBWOEZs
b2F0NjRBcnJheTo6ZGVyZWZPYmplY3QsIDAsIDAsICZWOEFycmF5QnVmZmVyVmlldzo6aW5mbyB9
OwogCiBuYW1lc3BhY2UgRmxvYXQ2NEFycmF5SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCmlu
ZGV4IGYzMmRjNDNhZjJlM2YzODgxYzM3ODJmNGIxMWY3YTZlMzZlNzNhMmQuLjgyZDJmYzM1Yjll
MmE3MDI5OWUwY2EyZTY3ZjRhOGFiZDMyZGNkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCkBAIC00Myw2
ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXAoRmxvYXQ2NEFycmF5Kik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVj
dG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQg
aW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCAr
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IGZmYzk3ZTQ2MjgyODc5
OTFhZGMxODRiZTc2YWIzMDJjZTQ5OTZkMjMuLmI0ZTU1ZDY5YTY4NzMxMjg0MzU1MTQ4NTU0OTNk
MDg0ZDRjYTgzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0zNCw3
ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVz
dEFjdGl2ZURPTU9iamVjdDo6aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1w
bGF0ZSwgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBl
clR5cGVJbmZvIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9N
T2JqZWN0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpkZXJlZk9iamVjdCwg
MCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFsIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IGZiZDQwZjNlYTA3NThiZmE2MzNjOWZl
ZjhiMzI1MWM1NWVlYTQxZjQuLmRiZDE0ZTJkM2E0MjNjMmQwNTFlMTM1MDI3ZGE0NTk2NTVkMTEw
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVi
bGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3Jh
cChUZXN0QWN0aXZlRE9NT2JqZWN0Kik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9p
ZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lk
Kiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUlu
Zm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVm
YXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogICAgIHN0YXRpYyBib29sIG5hbWVk
U2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4ga2V5LCB2ODo6QWNjZXNzVHlwZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZGF0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCBjYmZmNmQ0ZTdjODlhOWQw
MDdiMWI0NmVhMTNkYmE3ZTQ5MjI3NmY2Li4yNDZiMDRlMDg4NzQxNGNmZGM3MGU4MzYxOWQ4NDli
ODYzMWY5NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAKQEAgLTMz
LDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmluZm8gPSB7IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpH
ZXRUZW1wbGF0ZSwgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmRlcmVmT2JqZWN0LCAwLCAwIH07
CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmluZm8gPSB7IFY4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6
OmRlcmVmT2JqZWN0LCAwLCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXJJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKaW5kZXggNTAy
Y2JjZDk5NjY1NzEyMWExYTA0YjA0ZDM3NzM2ZGYwNWU1NDEwZS4uM2Q2ZGU2MTc3NThmODdkMDBm
YjAzNTMyODQ2NjIxY2QwNmM0MDdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVy
LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqKTsKICAgICBz
dGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01X
cmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7
CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gbmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4sIGNv
bnN0IHY4OjpBY2Nlc3NvckluZm8mKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmll
bGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGEzOTA2ZDExNDhhMDM2NTAxYzQ2Mjhl
ZDU5ZDM1OWIwNDhlOGNlZDkuLjE4YTJiMGUzZGFkZjY5MjExOTVmYTE2YWI0ZWM3ZjgyMzdkM2Rm
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRD
b25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUs
IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlw
ZUluZm8gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0RXZlbnRDb25zdHJ1
Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCAw
LCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0RXZlbnRDb25zdHJ1Y3RvckludGVybmFsIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKaW5kZXggYTIyZDU0MWU1MTcyYjBkZTU1NTVk
ZDIxMjdiMzc2NGIwZGZmZTRhNi4uMGJlZDdmZDZhNWE5YjY0MGY0MjJmNjQ0NTcwMmNiY2QyYzRj
MDI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC00Myw2ICs0Myw3IEBA
IHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXAoVGVzdEV2ZW50Q29uc3RydWN0b3IqKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVj
dCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSos
IHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJU
eXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0
b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBp
bnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsg
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDFlNmZiZmE1MzUzZGQ5YmU3ZmY5M2Fl
MzI2ZjE0MmM0NjQzOTAzZTIuLmIxNmRkZTVmZmYzNDJmZjgwMDJlYzA3YzI1NmJhY2I4M2IwNTBh
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudFRhcmdldDo6aW5m
byA9IHsgVjhUZXN0RXZlbnRUYXJnZXQ6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudFRhcmdldDo6
ZGVyZWZPYmplY3QsIDAsIDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudFRhcmdldDo6
aW5mbyA9IHsgVjhUZXN0RXZlbnRUYXJnZXQ6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudFRhcmdl
dDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAgfTsKIAogbmFtZXNwYWNlIFRlc3RFdmVudFRhcmdldElu
dGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCA1MDg2ZjZlZGQ2NDZiM2ZlMjE5
NjkxMGE1NDVlNjRiMjUwZGJiNmQwLi45NTlhMDBlMmI0NmExOWZjMGVjMTk5MWNlNjcyYmM5OGQ1
YmJlNTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6
CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRl
c3RFdmVudFRhcmdldCopOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAg
ICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87
CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpbmRleGVkUHJvcGVydHlHZXR0ZXIo
dWludDMyX3QsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTsKICAgICBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGEyYzU1
MTg2MGJmMDkwMGNkNjFmYTYxMjMxNTY0NzQ1MDI4NTk2ZmQuLjFkYjhhZTU3MDcwYWJhMTQ4MmVm
ODZkYjg2YzYwYTM0YWYxMGY3ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC00MSw3ICs0
MSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdElu
dGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0SW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0SW50
ZXJmYWNlOjpkZXJlZk9iamVjdCwgVjhUZXN0SW50ZXJmYWNlOjp0b0FjdGl2ZURPTU9iamVjdCwg
MCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0SW50
ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0SW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgVjhUZXN0
SW50ZXJmYWNlOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVzdElu
dGVyZmFjZUludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCmluZGV4IDJkN2NkNmJkZjljODgy
NzdiOTE4NDI3NzExMDhiZjBlYjdhMDE5M2IuLmI3OTU1NzgzYmVhYzJjNDBkMjk0YWEzNDk4ZmM1
YTdiZmEyZDRlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChU
ZXN0SW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAg
IHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsK
ICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9iamVjdCh2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVj
dG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDkzNGY2NjgzOWNiODZiMjU0ZTYyN2E5Mzll
MTM2YWI1NDEzNTU0MDkuLmZiODI3MmIyMWQ0MmVlYzcyYzQyMTI0MWVlNmFmNGY3MDg4MmQzMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTM0
LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW5mbyA9IHsgVjhUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRlcmVm
T2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6aW5mbyA9IHsgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6R2V0VGVtcGxhdGUs
IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRlcmVmT2JqZWN0LCAwLCAwLCAwIH07CiAK
IG5hbWVzcGFjZSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckludGVybmFsIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggMTJkYjhlYzkzMzNlMDEx
MGI2ODIxMWNhZTQyYWUyNjUxNzg1ZWQ3YS4uNWVlMzc3Yjc1MTUyNmJkNmNlY2IxMzdlNzlhZGE4
YzcyYjI4MDVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
CkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqKTsKICAg
ICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRE
T01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBp
bnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3Vu
dCArIDA7CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4
IDVhYmNlMGU3ZGU4YzU4NjJiMTg2MzdkMjA0YzYyNmU1ZWQxMjY5ZjUuLjllYmQ4NmY5MTk4M2Y3
NzhiYmRiMWZkZDJhNTVlYWE2NzljYjIyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1
Y3Rvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2Jq
ZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCB9OworV3Jh
cHBlclR5cGVJbmZvIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdE5hbWVk
Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9i
amVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAgfTsK
IAogbmFtZXNwYWNlIFRlc3ROYW1lZENvbnN0cnVjdG9ySW50ZXJuYWwgewogCkBAIC00MSw3ICs0
MSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIFY4X1VTRShUKSB7IH0KIAogfSAvLyBu
YW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0b3JJbnRlcm5hbAogCi1XcmFwcGVyVHlwZUluZm8g
VjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENv
bnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9y
OjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3Qs
IDAgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6
OmluZm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUs
IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVj
dG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCB9OwogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRl
eCA0MzdiODY2MDgxMWM1YjEyOGE3MDU4NGUyMjIzZTVmMTE2ZDg5ZmFlLi5iZjU1NTgyMGI1Nzk1
ZDgxNTBiOTFiZWE3YjAzMWQwOGQ5ZGU1ZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGlj
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciopOwogICAg
IHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERP
TVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIEFjdGl2ZURP
TU9iamVjdCogdG9BY3RpdmVET01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CiAgICAg
c3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50
ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggMTg3ZWVlYzMyZTBlOWQ3ODk4MjE1
MDk3NDAwMTJjM2I0YTQ5MDM0MS4uYTNhNmIzNzY3ZjIwYTc3YWU2MTZhNjJlYzY5YWNiMzUyMTVi
MGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE9iai5jcHAKQEAgLTcxLDcgKzcxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6OkdldFRl
bXBsYXRlLCBWOFRlc3RPYmo6OmRlcmVmT2JqZWN0LCAwLCAwIH07CitXcmFwcGVyVHlwZUluZm8g
VjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6OkdldFRlbXBsYXRlLCBWOFRlc3RPYmo6OmRl
cmVmT2JqZWN0LCAwLCAwLCAwIH07CiAKIG5hbWVzcGFjZSBUZXN0T2JqSW50ZXJuYWwgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2Jq
LmgKaW5kZXggMzQyYWU3MzBjMzY4ZWJhNTQzMGE0YzBkZmFiMjBhNmMwOWEyMjBjYS4uNzc2NDAz
N2IxZDYwYWFhZmY0NWRiYTc5MWQzM2UzMmZhNTk3NTQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaApAQCAtNDIsNiArNDIs
NyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwKFRlc3RPYmoqKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7
CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2
ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBp
bmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9tTWV0aG9kQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gY3VzdG9tTWV0aG9kV2l0aEFyZ3NDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwCmluZGV4IGYzMjlhYjBmMzM1NDVmMjI0YjQ4YjYyZDY0MDg1Y2Q5NTI0NjA1ZWMuLmQ5YmQ3
ZWRjMmQ4ZTJlYjcwZWQ3NjFiNWFkMWRhNGU0MjIyYTg5MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0zNiw3ICsz
Niw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgMCB9OwogCiBuYW1lc3BhY2UgVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IGNjN2U3
NTg1Y2YyYjBiNjAwOTUwYzVlMTU3ZGYxYmUyNGJkYjk1ZmIuLjhlNTU3MWIzNGIwZWI5YTI5MjU4
Yjk0YTQyNTk5Y2EzMzI2N2Y2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAg
IH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVj
dG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQg
aW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCAr
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4IGRmYjk4
Y2UzOTdmNDE2YzUwNzEyOGY1Mjg5M2Y1MGU0NzIxNTkwNmUuLjA3OTY2MTcwMzNmYjI2YjFkOWVj
YWYwYTYyNTA2ODc4OThjMGRhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhP
YmplY3QuY3BwCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV3JhcHBl
clR5cGVJbmZvKiBucE9iamVjdFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBlclR5cGVJ
bmZvIHR5cGVJbmZvID0geyAwLCAwLCAwLCAwIH07CisgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5m
byB0eXBlSW5mbyA9IHsgMCwgMCwgMCwgMCwgMCB9OwogICAgIHJldHVybiAmdHlwZUluZm87CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAppbmRl
eCA1NDAzMTI0MzJlMmRkODdkMzgxOGJjYzc5OGZlZDMzOWIwODU0ZDZkLi42ZTYyYTVhMzYzMjZl
MjBjNjU1ZTAzMTE3ZWM1ZjEzMTA1YjMxNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCkBAIC0zMzYsNiArMzM2LDkgQEAgcHVibGljOgogCiAg
ICAgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCogb2JqZWN0
LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQogICAgIHsKKyAgICAgICAgV3Jh
cHBlclR5cGVJbmZvKiBpbmZvID0gVjhET01XcmFwcGVyOjpkb21XcmFwcGVyVHlwZSh3cmFwcGVy
KTsKKyAgICAgICAgaWYgKGluZm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pCisgICAgICAg
ICAgICBpbmZvLT5kb21XcmFwcGVyVmlzaXRvckZ1bmN0aW9uKHN0b3JlLCBvYmplY3QsIHdyYXBw
ZXIpOwogICAgIH0KIAogICAgIHZvaWQgYXBwbHlHcm91cGluZygpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oCmluZGV4IGMyNjg0ZDY2YmU2NjdmYjIwOTM3
ZDQ1ZDkzYWJjZjcyNzZhMTVjY2MuLjY2YjdhYTQ5M2ZiMmM0ZTk0NjQ4NTU0YTNiNTI3MzVkYzgz
MzFhMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBl
SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5o
CkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiAgICAgY2xhc3Mg
QWN0aXZlRE9NT2JqZWN0OworICAgIGNsYXNzIERPTURhdGFTdG9yZTsKICAgICAKICAgICBzdGF0
aWMgY29uc3QgaW50IHY4RE9NV3JhcHBlclR5cGVJbmRleCA9IDA7CiAgICAgc3RhdGljIGNvbnN0
IGludCB2OERPTVdyYXBwZXJPYmplY3RJbmRleCA9IDE7CkBAIC00Niw2ICs0Nyw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRl
bXBsYXRlPiAoKkdldFRlbXBsYXRlRnVuY3Rpb24pKCk7CiAgICAgdHlwZWRlZiB2b2lkICgqRGVy
ZWZPYmplY3RGdW5jdGlvbikodm9pZCopOwogICAgIHR5cGVkZWYgQWN0aXZlRE9NT2JqZWN0KiAo
KlRvQWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24pKHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pOworICAg
IHR5cGVkZWYgdm9pZCAoKkRPTVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pKERPTURhdGFTdG9yZSos
IHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgCiAgICAgLy8gVGhpcyBz
dHJ1Y3QgcHJvdmlkZXMgYSB3YXkgdG8gc3RvcmUgYSBidW5jaCBvZiBpbmZvcm1hdGlvbiB0aGF0
IGlzIGhlbHBmdWwgd2hlbiB1bndyYXBwaW5nCiAgICAgLy8gdjggb2JqZWN0cy4gRWFjaCB2OCBi
aW5kaW5ncyBjbGFzcyBoYXMgZXhhY3RseSBvbmUgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBtZW1i
ZXIsIHNvCkBAIC05MSw2ICs5Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgY29u
c3QgR2V0VGVtcGxhdGVGdW5jdGlvbiBnZXRUZW1wbGF0ZUZ1bmN0aW9uOwogICAgICAgICBjb25z
dCBEZXJlZk9iamVjdEZ1bmN0aW9uIGRlcmVmT2JqZWN0RnVuY3Rpb247CiAgICAgICAgIGNvbnN0
IFRvQWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24gdG9BY3RpdmVET01PYmplY3RGdW5jdGlvbjsKKyAg
ICAgICAgY29uc3QgRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbiBkb21XcmFwcGVyVmlzaXRvckZ1
bmN0aW9uOwogICAgICAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHBhcmVudENsYXNzOwogICAg
IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5YjI5ODhiN2VhZWEzYjRiYjE0ODA5YmVmZDg1NDcxZWUwOTdjMmUwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxlU2hlZXQu
aCIKLQotI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxl
U2hlZXQqIGltcGwpCi17Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOENTU1N0eWxlU2hlZXQ6
OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0eWxlc2hl
ZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAgIE5vZGUqIG93bmVyTm9kZSA9IGltcGwt
Pm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0eSgpKQot
ICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJv
d25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkZGYyMmE3NDZh
MjFjZmMzNzg2ZTgwY2E0NDQ5NzQ0OGFjMjc3YzY0Li5hZTlhNjFkODUxMzYxMjdhYzFkMzYxOThh
OTFmYzFkNTIyMjBjYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4NCw0IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KERPTVN0cmluZ01hcCogaW1wbCkKLXsKLSAgICBpZiAoIWltcGwp
Ci0gICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
d3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGltcGwpOwotICAgIC8vIEFkZCBhIGhpZGRl
biByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NU3RyaW5nTWFwLgotICAgIEVs
ZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1w
dHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50
VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5
KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgZWxlbWVudFZhbHVl
LkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpk
b21TdHJpbmdNYXAoKSwgd3JhcHBlcik7Ci0gICAgfQotICAgIHJldHVybiB3cmFwcGVyOwotfQot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYTIzZGE0ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVkYWFjZWJh
NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJW
OERPTVRva2VuTGlzdC5oIgotCi0jaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCi0jaW5jbHVkZSAi
VjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhFbGVt
ZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoRE9NVG9rZW5MaXN0KiBpbXBsKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJu
IHY4OjpOdWxsKCk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01U
b2tlbkxpc3Q6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9t
IHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCi0gICAgRWxlbWVudCogZWxlbWVudCA9
IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQp
IHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxl
bWVudCk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFs
dWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4o
KS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3
cmFwcGVyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IDY3Yjlk
MWE1MjQzY2IyZTE5NzYyNDk1OTUzNGI4NGU1ZTU4YTgzM2IuLjdmZDEyOGJmNjZiMjAxOTUxZjRm
MDFmZmY4ZTg1NDNjZWUyZGM5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9y
LmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJU
eXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhIVE1MSW1h
Z2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwIH07CitXcmFwcGVyVHlw
ZUluZm8gVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4SFRNTEltYWdl
RWxlbWVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgMCwgMCwgMCwgMCB9OwogCiBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4
IGYzMDMxMjhlMDg3NDA3Y2MwOGFjZDg1MjcxYzI5NTlkY2U5OWVmNzQuLmI5N2VkYWM4Zjk4MjU1
Njg4YzVkOGE0ODhlNDg2NDU4NzAzMzQ1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzEs
MTYgKzcxLDQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TmFtZWROb2RlTWFwOjpuYW1lZFBy
b3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB0b1Y4KHJlc3Vs
dC5yZWxlYXNlKCkpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVN
YXAqIGltcGwpCi17Ci0gICAgaWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsK
LSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOE5hbWVkTm9kZU1hcDo6d3Jh
cChpbXBsKTsKLSAgICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQgbm9kZSBt
YXAgdG8gaXRzIG93bmVyIG5vZGUuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1l
bnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCi0gICAgICAgIHdy
YXBwZXItPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvd25lck5vZGUoKSwg
dG9WOChlbGVtZW50KSk7Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFN0eWxlU2hlZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKaW5kZXggMGZlNmFmODUwYWQzMzkzODM1MGRiNmZhYmZi
ZDAzYWExZDc3ZjlhZC4uN2I4MzU5NmU0MGNmMDliODVmZDg5NzdlYzJlYTBiYTc5MzI0OGEzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVl
dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5
bGVTaGVldEN1c3RvbS5jcHAKQEAgLTQzLDEyICs0Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KFN0eWxlU2hlZXQqIGltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAg
IGlmIChpbXBsLT5pc0NTU1N0eWxlU2hlZXQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGlj
X2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KGltcGwpKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXBwZXIgPSBWOFN0eWxlU2hlZXQ6OndyYXAoaW1wbCk7Ci0gICAgLy8gQWRkIGEgaGlkZGVu
IHJlZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAg
IE5vZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUg
JiYgIXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlk
ZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSkpOwotICAg
IHJldHVybiB3cmFwcGVyOworICAgIHJldHVybiBWOFN0eWxlU2hlZXQ6OndyYXAoaW1wbCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bAppbmRleCA5NjJjOWRiZGNjZjkyNDQzNWIyZWY2Y2QxNTJiZjdiZWMzYWRhMDYwLi43ODJkYjU4
NmNlNDkxYjhiMzQ0YjI1YjFkMTZkNTEwOTE0ZGI3ODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2hlZXQuaWRsCkBAIC0yMiw3ICsyMiw3IEBAIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50
cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBWOEN1c3Rv
bVRvSlNPYmplY3QKKyAgICAgICAgVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVS
b290CiAgICAgXSBDU1NTdHlsZVNoZWV0IDogU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDU1NSdWxlICAgICAgICAgIG93bmVyUnVsZTsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIENTU1J1bGVMaXN0ICAgICAgY3NzUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dC5pZGwKaW5kZXggOWUyMGQ4NGFjYzNiMGU0MjFjNzFiMWUzNjllMjBhMjEzMzNiNzcyMy4uYjg1
NjhiZmIyMDUyMjNkN2E0Yjk5MWNiYzlhNmUxZThiNDg4NjQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVNoZWV0LmlkbApAQCAtMjYsNyArMjYsNyBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewogICAgICAg
ICBKU0dlbmVyYXRlSXNSZWFjaGFibGUsCiAgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAg
ICAgIE9iakNQb2x5bW9ycGhpYywKLSAgICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQorICAgICAg
ICBWOEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIFN0eWxlU2hl
ZXQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5n
QXM9TnVsbF0gRE9NU3RyaW5nICAgICAgICB0eXBlOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgICBkaXNhYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01TdHJpbmdNYXAuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5p
ZGwKaW5kZXggOTgwZDA0NGNkMDJhYjFhZjVmN2E5NmU3YTZlMmM1OTYzM2U4YzNkZi4uMDQ1ZDUy
MjMyMjlmMmMyOWJhN2Y2MTY2NmI0NmM1OWViYTgyYWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0
cmluZ01hcC5pZGwKQEAgLTI2LDEyICsyNiwxMSBAQAogbW9kdWxlIGNvcmUgewogCiAgICAgaW50
ZXJmYWNlIFsKLSAgICAgICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwK
KyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIE5h
bWVkR2V0dGVyLAogICAgICAgICBDdXN0b21EZWxldGVQcm9wZXJ0eSwKICAgICAgICAgQ3VzdG9t
RW51bWVyYXRlUHJvcGVydHksCi0gICAgICAgIEN1c3RvbU5hbWVkU2V0dGVyLAotICAgICAgICBW
OEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIKICAgICBdIERPTVN0
cmluZ01hcCB7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVk
Tm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAppbmRleCA4
ODgyMGMwMTcyZjU2M2M2NDQ2NjU1MzIxY2M0NWE4ZGVlYjY0YWFjLi43ZWU2Yjc1Njc3YWEzMjhk
ZTFiMTM0Y2Y0MGM1NWQyMzVjYWJkY2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TmFtZWROb2RlTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlk
bApAQCAtMjEsMTEgKzIxLDEwIEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwot
ICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAotICAgICAgICBK
U0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxl
bWVudFJvb3QsCiAgICAgICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgICAgIE5hbWVkR2V0dGVyLAot
ICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24s
CisgICAgICAgIE5hbWVkR2V0dGVyCiAgICAgXSBOYW1lZE5vZGVNYXAgewogCiAgICAgICAgIE5v
ZGUgZ2V0TmFtZWRJdGVtKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmlu
ZyBuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbAppbmRleCA1NWI2MzZmN2Q3
YTVhYjFhNjAzMzU2YWEyMmQ3ZjY0ZTk4OWFjZGU2Li5jZjU3ZTFhZWVmOTZlMjk2NzUwMGVlMTdl
NTBmNDJmZDA4OWM2NzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0y
NSw5ICsyNSw4IEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBK
U0dlbmVyYXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAotICAgICAgICBJbmRleGVkR2V0
dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1JbXBsRWxlbWVudFJvb3QsCisgICAgICAgIEluZGV4ZWRHZXR0ZXIKICAgICBdIERPTVRv
a2VuTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKICAgICAgICAgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nIGl0
ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFja0xpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2tMaXN0LmNwcAppbmRleCBlYWQxOTUwNzE2MzQ3NGUwNTYwZmQwNGVmZWViN2E2NWY0
OGE1ZjgyLi5iMTI1MWIzYjFiYzUxMDkwNGQwZmYyYTIxZjRmMjlhYzUzY2FmNmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJUZXh0VHJhY2tMaXN0LmgiCiAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CisjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlVGV4dFRy
YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlRl
eHRUcmFjay5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJh
Y2tMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwK
aW5kZXggYWVkZGEyZTA3NGRiYzg3MWU0MWNmY2U2MDBmOTk2MWI0ZWZmMzNhNC4uYWQ0ZTg2MjFj
Njg0ODg2NjM3Yzg4OTIyMjJmOWU4YzY0MTViNzgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCkBAIC0zMSw3ICszMSw4IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgSW5kZXhlZEdldHRlciwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIEpT
Q3VzdG9tTWFya0Z1bmN0aW9uLAotICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlCisgICAgICAg
IEpTQ3VzdG9tSXNSZWFjaGFibGUsCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBs
T3duZXJSb290CiAgICAgXSBUZXh0VHJhY2tMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBUZXh0VHJhY2sgaXRlbShpbiB1bnNp
Z25lZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YjcyMDMyNDc4MzBhM2VmNjEwN2I0ZDI4NjgzN2Zh
ZTA2ODE3ZDY3Li5mNGI4ZTc4NGJjZDQ2YzJkYjUwOWY2YTE0NTdmYjdlZGM5MmI0MTk4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDMtMTMgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbVjhdIFVzZSB2ODo6Vjg6OkFkZEltcGxpY2l0UmVmZXJlbmNl
cyBpbnN0ZWFkIG9mIFNldEhpZGRlblZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDg4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0OgorCiAyMDEyLTAzLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzbmlwcGV0cyBtb2RlbC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRl
eCA0ZDYwZGViZDcyZWQwZTViYTU5YmE3NDY4YTdmZWI3NDBjMzZlN2JkLi4wZjg1MTU2ZmNiYWU4
NjZhYjY1NGI5NWQ3Y2Y3ZjY1MWIzY2EyMzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC02MTYsNyArNjE2LDYgQEAg
QlVHV0s2NjM3NyA6IGZhc3QvZG9tL1N0eWxlU2hlZXQvZ2MtaW5saW5lLXN0eWxlLWNzc3ZhbHVl
cy5odG1sID0gVEVYVAogQlVHV0s2NjM3NyA6IGZhc3QvZG9tL1N0eWxlU2hlZXQvZ2MtcGFyZW50
LXJ1bGUuaHRtbCA9IFRFWFQKIEJVR1dLNjYzNzcgOiBmYXN0L2RvbS9TdHlsZVNoZWV0L2djLXBh
cmVudC1zdHlsZXNoZWV0Lmh0bWwgPSBURVhUCiBCVUdXSzY2Mzc3IDogZmFzdC9kb20vU3R5bGVT
aGVldC9nYy1ydWxlLWNoaWxkcmVuLXdyYXBwZXJzLmh0bWwgPSBURVhUCi1CVUdXSzY2Mzc3IDog
ZmFzdC9kb20vU3R5bGVTaGVldC9nYy1zdHlsZWhlZXQtd3JhcHBlci54aHRtbCA9IFRFWFQKIAog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIC8vIFBFTkRJTkcgVEVTVFMgKGZvcmtlZCB0byBwZW5kaW5nLywgbmVlZCB0
byBiZSBzZW50IHVwc3RyZWFtKQpAQCAtMzQyOCw3ICszNDI3LDYgQEAgQlVHX1NFTk9SQkxBTkNP
IDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvY2FudmFzLXRyYW5z
Zm9ybXMtZmkKIAogQlVHV0s2Njk1MyA6IHRyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0
aW9uLmh0bWwgPSBQQVNTIEZBSUwKIAotQlVHV0s3Mzg2NSA6IG1lZGlhL3RyYWNrL3RyYWNrbGlz
dC1pcy1yZWFjaGFibGUuaHRtbCA9IFRFWFQgQ1JBU0gKIEJVR1dLNzM4NjUgOiBtZWRpYS90cmFj
ay90ZXh0LXRyYWNrLWN1ZS1pcy1yZWFjaGFibGUuaHRtbCA9IFRFWFQgQ1JBU0gKIEJVR1dLNzM4
NjUgOiBtZWRpYS90cmFjay90ZXh0LXRyYWNrLWlzLXJlYWNoYWJsZS5odG1sID0gVEVYVCBDUkFT
SAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148622</attachid>
            <date>2012-06-20 12:03:04 -0700</date>
            <delta_ts>2012-06-20 12:26:55 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80880-20120620120304.patch</filename>
            <type>text/plain</type>
            <size>59533</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNTg5MDY5YTJhNTM0
NTA0ZTgyYzExODFmZWMwNzMxYzFkNzY5Ni4uOWQ1MWIyNGJhNWI4MmY0YWU5ZjRhMTZiOGFiMTVi
YzdlM2YzMWE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxMi0wNi0yMCAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlZCB0byBhZGQg
YSBoaWRkZW4gcHJvcGVydHkgaW4gdGhlIGdldHRlciB0byB0aGUgcmV0dXJuZWQgd3JhcHBlci4K
KyAgICAgICAgV2l0aCB0aGlzIHBhdGNoIHdlIGluc3RlYWQgaGFuZGxlIHRoZSBsaXZlbmVzcyBv
ZiB0aGUgd3JhcHBlciBpbiB0aGUgR0MgcGhhc2UgYnkKKyAgICAgICAgY2FsbGluZyB2ODo6Vjg6
OkFkZEhpZGRlblJlZmVyZW5jZS4KKworICAgICAgICBUbyByZWR1Y2UgdGhlIGFtb3VudCBvZiBj
dXN0b20gY29kZSB3ZSBuZWVkLCB0aGUgVjggY29kZSBnZW5lcmF0b3Igbm93IHN1cHBvcnRzCisg
ICAgICAgIEdlbmVyYXRlSXNSZWFjaGFibGUgKGFzIHdlbGwgYXMgQ3VzdG9tSXNSZWFjaGFibGUp
IHdoaWNoLCBldmVuIHRob3VnaCBkaWZmZXJlbnQKKyAgICAgICAgZnJvbSB0aGUgSlNDIGF0dHJp
YnV0ZSwgaXMgdXNlZCBpbiB0aGUgc2FtZSBjYXNlcyBhbmQgdGFrZXMgdGhlIHNhbWUgdmFsdWVz
IChldmVuIHRob3VnaAorICAgICAgICBhdCB0aGUgbW9tZW50IG5vdCBhbGwgSlNDIHZhbHVlcyBh
cmUgc3VwcG9ydGVkIGJ5IFY4KS4gSW50ZXJmYWNlcyB0aGF0IGhhdmUgKklzUmVhY2hhYmxlCisg
ICAgICAgIGFsc28gaGF2ZSBhIGRlcGVuZGVudCBsaWZlIHRpbWUgKGp1c3QgbGlrZSBpZiBWOERl
cGVuZGVudExpZmV0aW1lIHdhcyBwcmVzZW50KS4KKworICAgICAgICBSZXRyeS4gTGFzdCB0aW1l
IHdlIGdvdCBBU0FOIGlzc3VlcyBvbiBzb21lIENyb21pdW0gTGludXggYm90cy4gCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAg
ICAgIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKTogQWJzdHJhY3RlZCBHZW5lcmF0ZUlzUmVhY2hh
YmxlIGFuZCBKU0dlbmVyYXRlSXNSZWFjaGFibGUuCisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNo
YWJsZSk6IERpdHRvLgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAoR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG06CisgICAgICAgIChOZWVkc1RvVmlzaXRET01XcmFwcGVyKToKKyAgICAgICAgKEdl
dEdlbmVyYXRlSXNSZWFjaGFibGUpOgorICAgICAgICAoR2V0Q3VzdG9tSXNSZWFjaGFibGUpOgor
ICAgICAgICAoR2VuZXJhdGVWaXNpdERPTVdyYXBwZXIpOgorICAgICAgICAoR2VuZXJhdGVIZWFk
ZXIpOgorICAgICAgICAoR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAgICAg
ICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9J
RExBdHRyaWJ1dGVzLnR4dDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhG
bG9hdDY0QXJyYXkuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5Lmg6CisgICAgICAgIChWOEZsb2F0NjRBcnJh
eSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9i
amVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0Lmg6CisgICAgICAgIChWOFRlc3RBY3RpdmVE
T01PYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0
b21OYW1lZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoKKyAgICAgICAgKFY4
VGVzdEN1c3RvbU5hbWVkR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAoVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oOgor
ICAgICAgICAoVjhUZXN0RXZlbnRUYXJnZXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oOgorICAgICAgICAo
VjhUZXN0RXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAgKFY4VGVzdEludGVy
ZmFjZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDoKKyAgICAg
ICAgKFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0
cnVjdG9yLmg6CisgICAgICAgIChWOFRlc3ROYW1lZENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oOgorICAg
ICAgICAoVjhUZXN0Tm9kZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmg6CisgICAgICAgIChWOFRlc3RPYmopOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oOgorICAgICAg
ICAoVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9OUFY4T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5wT2JqZWN0VHlwZUlu
Zm8pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdyb3VwZXJWaXNpdG9yOjp2aXNpdERPTVdyYXBwZXIpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXcmFwcGVyVHlwZUluZm8pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0
eWxlU2hlZXRDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9t
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFRleHRUcmFja0xpc3RDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldC5pZGw6CisgICAgICAgICog
ZG9tL0RPTVN0cmluZ01hcC5pZGw6CisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5pZGw6Cisg
ICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuaWRsOgorICAgICAgICAqIGh0bWwvdHJhY2svVGV4
dFRyYWNrTGlzdC5pZGw6CisKIDIwMTItMDYtMjAgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZy
YWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIEludFNpemUgaW4gUmVuZGVyTGF5ZXIgdG8g
cmVwcmVzZW50IHNjcm9sbCBvZmZzZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBkZDlmZGMwYjE0MjkzZWVh
ZDdkYTE4ZTI4ZGQ2NGViZGRmNjdhYjlkLi5mY2MyZjQwZTNlYzk4YmUxMjE2NjA4MjI2N2I5MjE3
ZjgzOWQxYTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTE1OCw3ICsxNTgsNiBAQCB2OCB7CiAgICAgICAg
IFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBc
Ci0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTVmFsdWVDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNw
cCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAgXApA
QCAtMTY3LDggKzE2Niw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5q
ZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwK
QEAgLTIxNSw3ICsyMTMsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0
b3JhZ2VDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVl
dEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlz
dEN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tMaXN0
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdEFuaW1hdGlv
bkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRNdXRhdGlv
bk9ic2VydmVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktp
dFBvaW50Q29uc3RydWN0b3IuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggZmZmYzI2YjEzNWU0MmYz
MzZmZjcyNzQ5YjRlNGE1MmJkMTc3M2VkZi4uYTEzZjFkMzlhN2Q3NGQ2NzFhZGVhM2RkOWNiMWFh
NDFhM2VkYmZlMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKQEAgLTc0LDcgKzc0LDYgQEAgTElTVChBUFBFTkQg
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3Vz
dG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKLSAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1ZhbHVlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwCkBAIC04NSw3ICs4NCw2IEBAIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNv
bHZlci5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCi0gICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhE
YXRhVmlld0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtMTQ3LDcgKzE0NSw2IEBAIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAKLSAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFVpbnQxNkFycmF5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFy
cmF5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20u
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzg5NzRkMmQ2NTJkYmVhNjY4MjcwZGEzZGY4ZjQzYmY4
NGEyMjJjNC4uYzFlMjA3YjcxMzIyNmIwMjk1YmQzNDM4YzkyZGFjYzYzMDNlNzhiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMjI2Miw3ICsyMjYyLDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTVmFsdWVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwJywKQEAg
LTIyNzUsNyArMjI3NCw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERPTUZvcm1EYXRhQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcCcsCkBAIC0yMzQ4LDcgKzIz
NDYsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RD
dXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tM
aXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VHJhY2tF
dmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQx
NkFycmF5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWlu
dDMyQXJyYXlDdXN0b20uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggZWM0OGY0NWM2ODBiNmQwN2MzNzI3OGQ5MGUx
MjBjMGM3NmJkNGY1MC4uZTQ1ZTc2MmRiOWFiMzZhNzE4YTZhYmUwZGE5ODE1MjY2NWRkYzcxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTM4NCw2ICszODQsMTggQEAgc3ViIHByb3RvdHlwZUhhc2hUYWJsZUFjY2Vzc29y
CiAgICAgfQogfQogCitzdWIgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZQoreworICAgIG15ICRkYXRh
Tm9kZSA9IHNoaWZ0OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn07Cit9CisKK3N1YiBHZXRDdXN0b21Jc1JlYWNoYWJs
ZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifTsKK30KKwogc3ViIEdlbmVy
YXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogewogICAgIG15ICgkZGF0YU5vZGUsICRpbnRlcmZh
Y2VOYW1lLCAkY2xhc3NOYW1lLCAkaW1wbENsYXNzTmFtZSwgJGhhc0F0dHJpYnV0ZXMsICRpbmxp
bmVkKSA9IEBfOwpAQCAtOTkzLDggKzEwMDUsOCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICB9
CiAKICAgICBpZiAoISRoYXNQYXJlbnQgfHwKLSAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwgCi0gICAgICAgICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAKKyAgICAg
ICAgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgIEdldEN1c3Rv
bUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNDdXN0b21GaW5hbGl6ZSJ9IHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CiAgICAgICAgIHB1c2goQGhl
YWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW1wbENsYXNzTmFtZX1Pd25lciA6IHB1YmxpYyBKU0M6
OldlYWtIYW5kbGVPd25lciB7XG4iKTsKQEAgLTIyODUsNyArMjI5Nyw3IEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoKCEkaGFzUGFyZW50
ICYmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hhYmxl
In0pfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hh
YmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0
In0pIHsKKyAgICBpZiAoKCEkaGFzUGFyZW50ICYmICFHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0
YU5vZGUpKXx8IEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fCAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgInN0YXRpYyBpbmxpbmUgYm9vbCBpc09ic2VydmFibGUoSlMke2ltcGxD
bGFzc05hbWV9KiBqcyR7aW1wbENsYXNzTmFtZX0pXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGpzJHtp
bXBsQ2xhc3NOYW1lfS0+aGFzQ3VzdG9tUHJvcGVydGllcygpKVxuIik7CkBAIC0yMzEzLDIxICsy
MzI1LDIxIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgIH0KICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFpc09ic2VydmFibGUoanMke2ltcGxDbGFzc05h
bWV9KSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIGZh
bHNlO1xuIik7Ci0gICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJK
U0dlbmVyYXRlSXNSZWFjaGFibGUifSkgeworICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSgkZGF0YU5vZGUpKSB7CiAgICAgICAgICAgICBteSAkcm9vdFN0cmluZzsKLSAgICAgICAg
ICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFj
aGFibGUifSBlcSAiSW1wbCIpIHsKKyAgICAgICAgICAgIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hh
YmxlKCRkYXRhTm9kZSkgZXEgIkltcGwiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcg
ID0gIiAgICAke2ltcGxUeXBlfSogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpO1xu
IjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsQ29udGV4dCIpIHsKKyAgICAgICAgICAg
IH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbENvbnRl
eHQiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgID0gIiAgICBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKS0+Y29udGV4dCgpO1xu
IjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRnJhbWUiKSB7CisgICAgICAgICAgICB9
IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxGcmFtZSIp
IHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIEZyYW1lKiByb290ID0ganMk
e2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmZyYW1lKCk7XG4iOwogICAgICAgICAgICAgICAgICRy
b290U3RyaW5nIC49ICIgICAgaWYgKCFyb290KVxuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0
cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwotICAgICAgICAgICAgfSBlbHNpZiAo
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0g
ZXEgIkltcGxEb2N1bWVudCIpIHsKKyAgICAgICAgICAgIH0gZWxzaWYgKEdldEdlbmVyYXRlSXNS
ZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbERvY3VtZW50IikgewogICAgICAgICAgICAgICAg
ICRyb290U3RyaW5nICA9ICIgICAgRG9jdW1lbnQqIHJvb3QgPSBqcyR7aW1wbENsYXNzTmFtZX0t
PmltcGwoKS0+ZG9jdW1lbnQoKTtcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0g
IiAgICBpZiAoIXJvb3QpXG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAg
ICAgIHJldHVybiBmYWxzZTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lmICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAiSW1wbEVsZW1l
bnRSb290IikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgk
ZGF0YU5vZGUpIGVxICJJbXBsRWxlbWVudFJvb3QiKSB7CiAgICAgICAgICAgICAgICAgJHJvb3RT
dHJpbmcgID0gIiAgICBFbGVtZW50KiBlbGVtZW50ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBs
KCktPmVsZW1lbnQoKTtcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICBp
ZiAoIWVsZW1lbnQpXG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgICAg
IHJldHVybiBmYWxzZTtcbiI7CkBAIC0yMzUxLDggKzIzNjMsOCBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogCiAgICAgaWYgKCEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJK
U0N1c3RvbUZpbmFsaXplIn0gJiYKICAgICAgICAgKCEkaGFzUGFyZW50IHx8Ci0gICAgICAgICAk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSB8
fAotICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1Jl
YWNoYWJsZSJ9IHx8CisgICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkg
fHwKKyAgICAgICAgIEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKICAgICAgICAg
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSkgewog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgSlMke2ltcGxDbGFzc05hbWV9T3duZXI6
OmZpbmFsaXplKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0
KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGQzOGEx
NTU5MzQ0OWVmZDY2Njg2NjVjOTRhNjRlZGM2OWU1NzZkZGUuLjQ1ZWNjZmFiNzNhYzQ3ZTMzMjQz
NDRjNTk3YjkyNDM0OTVlM2JjOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xODEsNiArMTgxLDYzIEBAIHN1YiBBZGRJ
bmNsdWRlc0ZvclR5cGUKICAgICB9CiB9CiAKK3N1YiBOZWVkc1RvVmlzaXRET01XcmFwcGVyCit7
CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuIEdldEdlbmVyYXRlSXNSZWFj
aGFibGUoJGRhdGFOb2RlKSB8fCBHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUpOworfQor
CitzdWIgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0
OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJHZW5lcmF0ZUlz
UmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhHZW5lcmF0
ZUlzUmVhY2hhYmxlIn0gfHwgIiIKK30KKworc3ViIEdldEN1c3RvbUlzUmVhY2hhYmxlCit7Cisg
ICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiVjhDdXN0b21Jc1JlYWNoYWJsZSJ9OworfQorCitzdWIgR2VuZXJhdGVWaXNp
dERPTVdyYXBwZXIKK3sKKyAgICBteSAoJGRhdGFOb2RlLCAkaW1wbENsYXNzTmFtZSkgPSBAXzsK
KworICAgIGlmIChHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUpKSB7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwordm9pZCBWOCR7
aW1wbENsYXNzTmFtZX06OnZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqIHN0b3JlLCB2b2lk
KiBvYmplY3QsIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIpCit7CisgICAgJHtp
bXBsQ2xhc3NOYW1lfSogaW1wbCA9IHN0YXRpY19jYXN0PCR7aW1wbENsYXNzTmFtZX0qPihvYmpl
Y3QpOworRU5ECisgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAg
IkltcGxFbGVtZW50Um9vdCIgfHwKKyAgICAgICAgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0
YU5vZGUpIGVxICAiSW1wbE93bmVyUm9vdCIgfHwKKyAgICAgICAgR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSgkZGF0YU5vZGUpIGVxICAiSW1wbE93bmVyTm9kZVJvb3QiKSB7CisKKyAgICAgICAgbXkg
JG1ldGhvZE5hbWU7CisgICAgICAgICRtZXRob2ROYW1lID0gImVsZW1lbnQiIGlmIChHZXRHZW5l
cmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxFbGVtZW50Um9vdCIpOworICAgICAg
ICAkbWV0aG9kTmFtZSA9ICJvd25lciIgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFO
b2RlKSBlcSAiSW1wbE93bmVyUm9vdCIpOworICAgICAgICAkbWV0aG9kTmFtZSA9ICJvd25lck5v
ZGUiIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxPd25lck5v
ZGVSb290Iik7CisKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKKyAgICBpZiAo
Tm9kZSogb3duZXIgPSBpbXBsLT4ke21ldGhvZE5hbWV9KCkpIHsKKyAgICAgICAgdjg6OlBlcnNp
c3RlbnQ8djg6Ok9iamVjdD4gb3duZXJXcmFwcGVyID0gZ2V0RE9NTm9kZU1hcCgpLmdldChvd25l
cik7CisgICAgICAgIGlmICghb3duZXJXcmFwcGVyLklzRW1wdHkoKSkgeworICAgICAgICAgICAg
djg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB2YWx1ZSA9IHdyYXBwZXI7CisgICAgICAgICAgICB2
ODo6Vjg6OkFkZEltcGxpY2l0UmVmZXJlbmNlcyhvd25lcldyYXBwZXIsICZ2YWx1ZSwgMSk7Cisg
ICAgICAgIH0KKyAgICB9CitFTkQKKyAgICB9CisKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxF
TkQpOworfQorCitFTkQKK30KKwogc3ViIEdldFNWR1Byb3BlcnR5VHlwZXMKIHsKICAgICBteSAk
aW1wbFR5cGUgPSBzaGlmdDsKQEAgLTIzNSw3ICsyOTIsOCBAQCBzdWIgR2VuZXJhdGVIZWFkZXIK
ICAgICAkY29kZUdlbmVyYXRvci0+QWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9t
UGFyZW50Q2xhc3NlcygkZGF0YU5vZGUsIFxAYWxsUGFyZW50cywgMSk7CiAgICAgJGNvZGVHZW5l
cmF0b3ItPkxpbmtPdmVybG9hZGVkRnVuY3Rpb25zKCRkYXRhTm9kZSk7CiAKLSAgICBteSAkaGFz
RGVwZW5kZW50TGlmZXRpbWUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOERl
cGVuZGVudExpZmV0aW1lIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0
aXZlRE9NT2JqZWN0In0gfHwgJGNsYXNzTmFtZSA9fiAvU1ZHLzsKKyAgICBteSAkaGFzRGVwZW5k
ZW50TGlmZXRpbWUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOERlcGVuZGVu
dExpZmV0aW1lIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9N
T2JqZWN0In0KKyAgICAgICAgIHx8IEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8
fCAkY2xhc3NOYW1lID1+IC9TVkcvOwogICAgIGlmICghJGhhc0RlcGVuZGVudExpZmV0aW1lKSB7
CiAgICAgICAgIGZvcmVhY2ggKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSkgewogICAgICAgICAgICAg
bXkgJHBhcmVudCA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZSgkXyk7CkBAIC0zMjksNiAr
Mzg3LDcgQEAgRU5ECiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwKCR7bmF0aXZlVHlwZX0qLCB2ODo6SXNvbGF0ZSogPSAwJHtmb3JjZU5ld09iamVj
dFBhcmFtZXRlcn0pOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBz
dGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiBF
TkQKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2Jq
ZWN0In0pIHsKQEAgLTE4NzEsMTIgKzE5MzAsMTIgQEAgc3ViIEdlbmVyYXRlTmFtZWRDb25zdHJ1
Y3RvckNhbGxiYWNrCiAKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
QWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsK
LVdyYXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsg
Vjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOCR7aW1wbENsYXNz
TmFtZX06OmRlcmVmT2JqZWN0LCBWOCR7aW1wbENsYXNzTmFtZX06OnRvQWN0aXZlRE9NT2JqZWN0
LCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4JHtp
bXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1Db25z
dHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6ZGVyZWZPYmplY3QsIFY4
JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2Jq
ZWN0UHJvdG90eXBlIH07CiAKIEVORAogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCA8PEVORCk7Ci1XcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3Ry
dWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0
ZSwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5m
byBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgke2ltcGxDbGFzc05h
bWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OwogCiBFTkQKICAgICB9CkBAIC0yNDI4LDYgKzI0ODcsNyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIEFkZEluY2x1ZGVzRm9yVHlwZSgkaW50ZXJmYWNlTmFt
ZSk7CiAKICAgICBteSAkdG9BY3RpdmUgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJBY3RpdmVET01PYmplY3QifSA/ICIke2NsYXNzTmFtZX06OnRvQWN0aXZlRE9NT2JqZWN0IiA6
ICIwIjsKKyAgICBteSAkZG9tVmlzaXRvciA9IE5lZWRzVG9WaXNpdERPTVdyYXBwZXIoJGRhdGFO
b2RlKSA/ICIke2NsYXNzTmFtZX06OnZpc2l0RE9NV3JhcHBlciIgOiAiMCI7CiAKICAgICAjIEZp
bmQgdGhlIHN1cGVyIGRlc2NyaXB0b3IuCiAgICAgbXkgJHBhcmVudENsYXNzID0gIiI7CkBAIC0y
NDQ3LDcgKzI1MDcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgbXkgJFdy
YXBwZXJUeXBlUHJvdG90eXBlID0gJGRhdGFOb2RlLT5pc0V4Y2VwdGlvbiA/ICJXcmFwcGVyVHlw
ZUVycm9yUHJvdG90eXBlIiA6ICJXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSI7CiAKLSAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5m
byA9IHsgJHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVj
dCwgJHRvQWN0aXZlLCAkcGFyZW50Q2xhc3NJbmZvLCAkV3JhcHBlclR5cGVQcm90b3R5cGUgfTtc
blxuIik7CisgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIldyYXBwZXJUeXBlSW5mbyAke2Ns
YXNzTmFtZX06OmluZm8gPSB7ICR7Y2xhc3NOYW1lfTo6R2V0VGVtcGxhdGUsICR7Y2xhc3NOYW1l
fTo6ZGVyZWZPYmplY3QsICR0b0FjdGl2ZSwgJGRvbVZpc2l0b3IsICRwYXJlbnRDbGFzc0luZm8s
ICRXcmFwcGVyVHlwZVByb3RvdHlwZSB9O1xuXG4iKTsKICAgICBwdXNoKEBpbXBsQ29udGVudERl
Y2xzLCAibmFtZXNwYWNlICR7aW50ZXJmYWNlTmFtZX1WOEludGVybmFsIHtcblxuIik7CiAKICAg
ICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAidGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgVjhf
VVNFKFQpIHsgfVxuXG4iKTsKQEAgLTI1MDEsNiArMjU2MSwxMCBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgICAgICBHZW5lcmF0ZUNvbnN0cnVjdG9yR2V0dGVyKCRkYXRhTm9kZSwg
JGltcGxDbGFzc05hbWUpOwogICAgIH0KIAorICAgIGlmIChOZWVkc1RvVmlzaXRET01XcmFwcGVy
KCRkYXRhTm9kZSkpIHsKKyAgICAgICAgR2VuZXJhdGVWaXNpdERPTVdyYXBwZXIoJGRhdGFOb2Rl
LCAkaW1wbENsYXNzTmFtZSk7CisgICAgfQorCiAgICAgbXkgJGluZGV4ZXI7CiAgICAgbXkgJG5h
bWVkUHJvcGVydHlHZXR0ZXI7CiAgICAgIyBHZW5lcmF0ZSBtZXRob2RzIGZvciBmdW5jdGlvbnMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0
ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4
dAppbmRleCA1N2Y1MGE1YWNkMjRjOTRkODViOWU2NTVjNTIzOTNlZjNhMGIyZmE2Li40ZmU3NzFi
MWM5OGE5MmY5ZjNhZjNmYjEwNGZlMGJlNDRjNmM2MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTM4LDYgKzM4LDcgQEAg
Q3VzdG9tRW51bWVyYXRlUHJvcGVydHkKIEN1c3RvbUdldE93blByb3BlcnR5U2xvdAogQ3VzdG9t
R2V0dGVyCiBDdXN0b21JbmRleGVkU2V0dGVyCitDdXN0b21Jc1JlYWNoYWJsZQogQ3VzdG9tTmFt
ZWRHZXR0ZXIKIEN1c3RvbU5hbWVkU2V0dGVyCiBDdXN0b21QdXRGdW5jdGlvbgpAQCAtNTEsMTEg
KzUyLDEyIEBAIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyCiBEb05vdENoZWNrU2VjdXJpdHlP
blNldHRlcgogRXZlbnRUYXJnZXQKIEV4dGVuZHNET01HbG9iYWxPYmplY3QKK0dlbmVyYXRlSXNS
ZWFjaGFibGU9fEltcGx8SW1wbENvbnRleHR8SW1wbERvY3VtZW50fEltcGxFbGVtZW50Um9vdHxJ
bXBsRnJhbWUKIEltbXV0YWJsZQogSW1wbGVtZW50ZWRBcz0qCiBJbmRleGVkR2V0dGVyCi1JbnRl
cmZhY2VOYW1lPSoKIEluaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yCitJbnRlcmZhY2VOYW1l
PSoKIElzSW5kZXgKIElzV29ya2VyQ29udGV4dAogSlNDdXN0b20KQEAgLTEwNywxMSArMTA5LDEz
IEBAIFVSTAogVjhDdXN0b20KIFY4Q3VzdG9tQ29uc3RydWN0b3IKIFY4Q3VzdG9tR2V0dGVyCitW
OEN1c3RvbUlzUmVhY2hhYmxlCiBWOEN1c3RvbVNldHRlcgogVjhDdXN0b21Ub0pTT2JqZWN0CiBW
OERlcGVuZGVudExpZmV0aW1lCiBWOERvTm90Q2hlY2tTaWduYXR1cmUKIFY4RW5hYmxlZEF0UnVu
dGltZT0qCiBWOEVuYWJsZWRQZXJDb250ZXh0PSoKK1Y4R2VuZXJhdGVJc1JlYWNoYWJsZT18SW1w
bEVsZW1lbnRSb290fEltcGxPd25lclJvb3R8SW1wbE93bmVyTm9kZVJvb3QKIFY4UmVhZE9ubHkK
IFY4VW5mb3JnZWFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCmluZGV4IGRjMzUzNmU3YjkxNTc0NDM3
OGM0ZGRmZDI4NzM5M2Q0ZjE4ZjdhN2QuLmQ1MWM5ZmFhNjhhNjBiNzdiMDg3NTdlYmU1OGQ4NTJl
Yzk5MmY5MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApAQCAtNDMsNyArNDMsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOEZsb2F0NjRBcnJheTo6aW5mbyA9
IHsgVjhGbG9hdDY0QXJyYXk6OkdldFRlbXBsYXRlLCBWOEZsb2F0NjRBcnJheTo6ZGVyZWZPYmpl
Y3QsIDAsICZWOEFycmF5QnVmZmVyVmlldzo6aW5mbywgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5
cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOEZsb2F0NjRBcnJheTo6aW5mbyA9IHsgVjhGbG9hdDY0
QXJyYXk6OkdldFRlbXBsYXRlLCBWOEZsb2F0NjRBcnJheTo6ZGVyZWZPYmplY3QsIDAsIDAsICZW
OEFycmF5QnVmZmVyVmlldzo6aW5mbywgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAog
bmFtZXNwYWNlIEZsb2F0NjRBcnJheVY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCmluZGV4
IGIwZGZkNTU5YmIzMjUyZTZkZTg2YTc0NjU1NWIzMTBlMDJiNjgwOGUuLjQ4OTI4YTRkNjZkYjBh
MGZjZjU3MTAxZWQ4ODViNDEyMjYzZmE2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oCkBAIC00NCw2ICs0
NCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXAoRmxvYXQ2NEFycmF5Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGlj
IHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBl
cihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAg
IHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0
YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVy
bmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4
IDE4NmNmMjM2NjRhYTFjMmRlOTBjZWQ2YmFmNWU2MTRlOGViYTcxODcuLjM3ODE3ZDVmZjdiNzcy
ZDA4ODM4ZWU2NWE0ZWI3NmY1NDViMDNhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmpl
Y3QuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBl
clR5cGVJbmZvIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9N
T2JqZWN0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpkZXJlZk9iamVjdCwg
MCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRl
c3RBY3RpdmVET01PYmplY3Q6OmluZm8gPSB7IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6R2V0VGVt
cGxhdGUsIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBw
ZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0QWN0aXZlRE9NT2JqZWN0
VjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaAppbmRleCBiOTFhZGJk
MTE1N2FhNmI2YzRlZjI1ODNjOGQxNDFjYWIyYWJhNjkxLi5lMmNlZTVhMTI3ZjUyODY5NTY0OTQ5
OTNjYjczNjQ5MmRmMGRmYmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCkBAIC00
Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IHdyYXAoVGVzdEFjdGl2ZURPTU9iamVjdCosIHY4OjpJc29sYXRlKiA9IDAp
OwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2
aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpP
YmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIGNv
bnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVs
ZENvdW50ICsgMDsKICAgICBzdGF0aWMgYm9vbCBuYW1lZFNlY3VyaXR5Q2hlY2sodjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGtleSwgdjg6OkFjY2Vzc1R5
cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHAKaW5kZXggY2ExZjAzNmY3MjkzZDUyMTI4YmNmMWExMDU1MGU5OTdiMDhlNzky
NS4uMTgwZDZmZDhjNzAyMTM5MzM3ODY5ZTIyYjBjMzE5MDI4NTE4NGQyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVk
R2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpp
bmZvID0geyBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5
cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RDdXN0b21OYW1lZEdldHRlcjo6aW5mbyA9IHsg
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RDdXN0b21OYW1lZEdl
dHRlcjo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07
CiAKIG5hbWVzcGFjZSBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAppbmRleCAzNmQ5MTk2YzNmMThjMjdhM2NkZmJlYjI4
MzJkYWM0ZjNkMDY1YTI3Li4yYWVkYWM3MzFjNTNjZTljNDk0YzM5ZTY3NjRjZTNmNjNmOWMyYTM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaApAQCAtNDMsNiArNDMsNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwKFRlc3RDdXN0b21OYW1lZEdldHRlciosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRp
YyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBw
ZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAg
ICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBuYW1lZFByb3BlcnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qg
djg6OkFjY2Vzc29ySW5mbyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENv
dW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNjQxYmE5NDcwNDZlNWE0ODQzMmFlMTQzZjdi
MDAyNDBkNzA1ZjNkNy4uOGRkYTkyNTJlYzZlYTJjZDU5Nzc0OWY5MTc0M2Q4YWNjZGViZjExMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudENvbnN0
cnVjdG9yOjppbmZvID0geyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhU
ZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0
UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6aW5m
byA9IHsgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEV2ZW50Q29u
c3RydWN0b3I6OmRlcmVmT2JqZWN0LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlw
ZSB9OwogCiBuYW1lc3BhY2UgVGVzdEV2ZW50Q29uc3RydWN0b3JWOEludGVybmFsIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2
ZW50Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKaW5kZXggZjNjNmRjNDg2Njc4NmZhMGNlNWVlYTBm
NzQ4YzkwOWRjNTNkMThiZC4uNDMzZGNjODdmMWJiYmQ2MjZmMTdiZGM5MDgyZjdmYTk1ZTdlZmQz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEV2ZW50Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC00NCw2ICs0NCw3IEBAIHB1
YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdy
YXAoVGVzdEV2ZW50Q29uc3RydWN0b3IqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMg
dm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVy
KERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAg
c3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3Rh
dGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJu
YWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDI3ODBiZWRk
MTRlYzY1ZWIzMDBhNTRmOGQwOWY0NmZkOWQ4MjEzNTguLmM1YmRiZWI0ZTIzY2U5ZDUwMTk3YWVl
YmE0MzQ2ZDY4ZjRlNWE1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMzcsNyAr
MzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RF
dmVudFRhcmdldDo6aW5mbyA9IHsgVjhUZXN0RXZlbnRUYXJnZXQ6OkdldFRlbXBsYXRlLCBWOFRl
c3RFdmVudFRhcmdldDo6ZGVyZWZPYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90
eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0RXZlbnRUYXJnZXQ6OmluZm8gPSB7IFY4VGVz
dEV2ZW50VGFyZ2V0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRUYXJnZXQ6OmRlcmVmT2JqZWN0
LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVz
dEV2ZW50VGFyZ2V0VjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggMTE1
YzVhZThjMjRiMzViYzU3YmM0ODViZjYxZDZkNGMwMWMyMTM5NC4uYWZiMGRlMDRiMzM0YjcwZTY3
ODU1MTg2ZTgwNDkyYzgwZjEyY2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTQzLDYg
KzQzLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRUYXJnZXQqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBz
dGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01X
cmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7
CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gaW5kZXhlZFByb3BlcnR5R2V0dGVyKHVpbnQzMl90LCBjb25zdCB2ODo6QWNj
ZXNzb3JJbmZvJik7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lZFByb3Bl
cnR5R2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEV4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXhjZXB0aW9uLmNwcAppbmRleCA4MDY2ZDI3NGI2OGExZTI4N2JiYmMyMDRiM2Yy
MTNmYWFkMGM2MzgwLi5lMmM4ZTk2ZWM4YjdjYmFjNzU3MjllODg1OTk3M2FkZGExNjgxMjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0RXhjZXB0aW9uLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RFeGNlcHRpb246OmluZm8gPSB7IFY4VGVz
dEV4Y2VwdGlvbjo6R2V0VGVtcGxhdGUsIFY4VGVzdEV4Y2VwdGlvbjo6ZGVyZWZPYmplY3QsIDAs
IDAsIFdyYXBwZXJUeXBlRXJyb3JQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RF
eGNlcHRpb246OmluZm8gPSB7IFY4VGVzdEV4Y2VwdGlvbjo6R2V0VGVtcGxhdGUsIFY4VGVzdEV4
Y2VwdGlvbjo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlRXJyb3JQcm90b3R5cGUg
fTsKIAogbmFtZXNwYWNlIFRlc3RFeGNlcHRpb25WOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlv
bi5oCmluZGV4IDQwM2MwZTNiMDcyYzA0YzMzODM1NTJmOTg1ZDg2ZDY4MjFiZDAwYTkuLjhhNjkw
NGZhZTRlMDZlMTE5YWUwYTY5YjUxNTcyNGEyOTc4MTA2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmgK
QEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXhjZXB0aW9uKiwgdjg6Oklzb2xhdGUqID0gMCk7
CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZp
c2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9i
amVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29u
c3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxk
Q291bnQgKyAwOwogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKaW5kZXggNDY3NTkzMTdm
OTI1YTViNWZkOWZhY2RlNzljOGVjMTk0ODdmNmRiZS4uZWNjMTViMTczNmQzOGJkNWZjMTAwNDYz
YzBmZGVkYjA4ODQzOGIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAKQEAgLTQyLDcgKzQyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJm
YWNlOjppbmZvID0geyBWOFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZh
Y2U6OmRlcmVmT2JqZWN0LCBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCBX
cmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEludGVy
ZmFjZTo6aW5mbyA9IHsgVjhUZXN0SW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0SW50ZXJm
YWNlOjpkZXJlZk9iamVjdCwgVjhUZXN0SW50ZXJmYWNlOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwg
MCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RJbnRlcmZh
Y2VWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCmluZGV4IDBmMzI5NjNlZjU0ODhiZmVh
NWJiMGZiYzBjYjg0N2FjZDc4NmY1NGMuLjg5NjYzYzgxMWY3MGQwNzJkOTIyMGNjMWRlMjE0MTI1
M2M2NGZjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgog
ICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0
SW50ZXJmYWNlKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9i
amVjdCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDlkN2E5NGQ3NWYx
MmI0OWRkOGQ2Yjg2YmNmNWY3MmQzMjMxYWE3NTguLjljMGMwZDgxNDA2OGE3YmQwZWQxZWRjYTY4
ZTQ4YmMwNmU2MzJmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW5mbyA9IHsgVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI6OmRlcmVmT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9
OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmluZm8gPSB7
IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OkdldFRlbXBsYXRlLCBWOFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyOjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRl
cm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4
IGY1MzU5OGMxZGU0NjQ4ODhhNGRhYmZlYjk3MzM5ODA1YTY2NWRjNTAuLmM1MDdlZjg1ZDczN2M0
YmFhOTQwZDY1ZDkyZjIyMGU0MGNjZGFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlu
bGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9
IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1l
ZENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCA5MzYwYjdkYWM5MjZmOGUwYzMyMmQ1
MWZiYmMwOGY3MWQ0NmFkOGNjLi5hZDg1Y2NlMjIyZThhNWIzNmQzM2JjY2JjZmYxOTQ3M2JlMTRi
N2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC0zNCw3ICszNCw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5hbWVk
Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OkdldFRlbXBsYXRl
LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1
Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07
CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0
TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRl
cmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9iamVjdCwgMCwg
MCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3ROYW1lZENv
bnN0cnVjdG9yVjhJbnRlcm5hbCB7CiAKQEAgLTQyLDcgKzQyLDcgQEAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IHZvaWQgVjhfVVNFKFQpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0TmFtZWRDb25z
dHJ1Y3RvclY4SW50ZXJuYWwKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5hbWVkQ29uc3RydWN0
b3JDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
OjpHZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIFY4VGVz
dE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5hbWVkQ29uc3RydWN0b3JDb25z
dHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpHZXRU
ZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIFY4VGVzdE5hbWVk
Q29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFBy
b3RvdHlwZSB9OwogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VGVzdE5hbWVkQ29u
c3RydWN0b3JDb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaAppbmRleCA5Mzc1YWUwNzZlM2U1NGFlZWY4
ZDQzMjBkMGVjZWMzYWU3N2MxZDgwLi5lMDU2MmI5ZWYxYzVlNTY2NTFjODUyZTAxNDgxNzk0NmJl
ODE5Mjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTQ5LDYgKzQ5LDcg
QEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0
YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIEFjdGl2ZURPTU9i
amVjdCogdG9BY3RpdmVET01PYmplY3Qodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CiAgICAgc3Rh
dGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJu
YWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAppbmRleCBhOTAxNDVkODgzN2MzYjk2MDEzZDc1
ZWQ0MzNhNjYzMjJmOGVmOTMyLi5jZTM3ZTAwMmYyNWJlNTk3NWYxMTZkOTk1N2JkZTE4MTU1MTBk
ZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE5vZGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5vZGU6OmluZm8gPSB7IFY4VGVzdE5vZGU6Okdl
dFRlbXBsYXRlLCBWOFRlc3ROb2RlOjpkZXJlZk9iamVjdCwgMCwgJlY4Tm9kZTo6aW5mbywgV3Jh
cHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3ROb2RlOjpp
bmZvID0geyBWOFRlc3ROb2RlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0Tm9kZTo6ZGVyZWZPYmplY3Qs
IDAsIDAsICZWOE5vZGU6OmluZm8sIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5h
bWVzcGFjZSBUZXN0Tm9kZVY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaAppbmRleCBjYzIwZmU5ZTViNmQw
Zjc4NDRjOWQ2YmZjMGQzYWMwOWQxNTE2YTBiLi40MGJkZDNhOWQ0YmZjNmU5M2U0NDM3ZDcxNDgw
ZmJlZDJjNDFhNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3ROb2RlLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIH0K
ICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0Tm9kZSos
IHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsK
KyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGlu
Zm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmll
bGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNw
cAppbmRleCAwYzc2NDk2N2E0ODlkZWRiMDNkMGM3YTgzMDliY2I4NWVjZjk0NTNjLi5kZDJlNmY0
ODlhZTY3N2EyYWQ0NWZiMmQxNzliZGM0M2M0Yjg3MWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtNzYsNyAr
NzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RP
Ymo6OmluZm8gPSB7IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZPYmpl
Y3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8g
VjhUZXN0T2JqOjppbmZvID0geyBWOFRlc3RPYmo6OkdldFRlbXBsYXRlLCBWOFRlc3RPYmo6OmRl
cmVmT2JqZWN0LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1l
c3BhY2UgVGVzdE9ialY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKaW5kZXggMjEzM2JjZWY0YjExZjU5ZGUy
ZjM1MTllMzkzMzQ3NDI2NjJiMWQ3Ny4uYmMwZTE3YjVjMWMzN2EwZDEzNTcwZDM3YTk5YjVjNjZh
MWMzZmFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RPYmouaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlu
bGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RPYmoqLCB2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3Rh
dGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAg
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9tTWV0aG9kQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3VzdG9t
TWV0aG9kV2l0aEFyZ3NDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4
IDViMjc1MmY4NDY2YmI5NzQwOTc2ODMyYWM4YTVmMTA0OGRlMGEwMWUuLjI4ZWNkOTQwODU5MGY1
OWQ1ODZmZTdiZThhYzBiMGE3MjA4ZDg0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dy
YXBwZXJUeXBlSW5mbyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmluZm8g
PSB7IFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6ZGVyZWZPYmplY3QsIDAsIDAsIDAs
IFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCAxMjkwYjg1YWM5MDRk
ZGQ3ZTNlMGNlYmJjNTMwOTFlZDI4NWMwNjhhLi5hYmQ3M2U0MzhmNTliY2UzY2RiOTUwYzNkNjBh
NThjYmQxNTQyMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAg
aW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZSosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lk
IGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9N
RGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0
aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMg
Y29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZp
ZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvTlBW
OE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcApp
bmRleCBhZDE4OGVlYWEwNzNkMDNhZWEzNGMzNmQ2NWZjNWQ5ZjhkOGMxYTM4Li5jY2YyZjk4OTc0
ZTc2ZDgzMWRiN2JkNDI1Nzg5MDc5NzRmMTgzMzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9OUFY4T2JqZWN0LmNwcApAQCAtNTMsNyArNTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFdyYXBwZXJUeXBlSW5mbyogbnBPYmplY3RUeXBlSW5mbygpCiB7Ci0gICAgc3RhdGljIFdy
YXBwZXJUeXBlSW5mbyB0eXBlSW5mbyA9IHsgMCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKKyAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIHR5cGVJbmZvID0geyAwLCAw
LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogICAgIHJldHVybiAmdHlw
ZUluZm87CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0ND
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVy
LmNwcAppbmRleCAwOTNjNjQ0YTU3MDU2YTVjZWM1Mzk5MDJmZTc2OGI2OTc2YTc1MGVkLi5mZjg1
ZjUzMGZjNTZlNzFjZjg3ZmMzY2I2NzIxYTUyYzdlYmM3ZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCkBAIC0zNDAsNiArMzQwLDkgQEAgcHVi
bGljOgogCiAgICAgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9p
ZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3cmFwcGVyKQogICAgIHsKKyAg
ICAgICAgV3JhcHBlclR5cGVJbmZvKiBpbmZvID0gVjhET01XcmFwcGVyOjpkb21XcmFwcGVyVHlw
ZSh3cmFwcGVyKTsKKyAgICAgICAgaWYgKGluZm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24p
CisgICAgICAgICAgICBpbmZvLT5kb21XcmFwcGVyVmlzaXRvckZ1bmN0aW9uKHN0b3JlLCBvYmpl
Y3QsIHdyYXBwZXIpOwogICAgIH0KIAogICAgIHZvaWQgYXBwbHlHcm91cGluZygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oCmluZGV4IDllNWYwNGZlZGM5
YTIwNzlhNDQyMTk1MTcwNGQ2ZTA1NjNhMjdkMjAuLmFmYzBjODc1NTNmZTYzNzA0NzUwZWM5OWZk
YzhmYzljYzQwYzE3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dy
YXBwZXJUeXBlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJU
eXBlSW5mby5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiAg
ICAgY2xhc3MgQWN0aXZlRE9NT2JqZWN0OworICAgIGNsYXNzIERPTURhdGFTdG9yZTsKICAgICAK
ICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9NV3JhcHBlclR5cGVJbmRleCA9IDA7CiAgICAgc3Rh
dGljIGNvbnN0IGludCB2OERPTVdyYXBwZXJPYmplY3RJbmRleCA9IDE7CkBAIC00Niw2ICs0Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpG
dW5jdGlvblRlbXBsYXRlPiAoKkdldFRlbXBsYXRlRnVuY3Rpb24pKCk7CiAgICAgdHlwZWRlZiB2
b2lkICgqRGVyZWZPYmplY3RGdW5jdGlvbikodm9pZCopOwogICAgIHR5cGVkZWYgQWN0aXZlRE9N
T2JqZWN0KiAoKlRvQWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24pKHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4pOworICAgIHR5cGVkZWYgdm9pZCAoKkRPTVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24pKERPTURh
dGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAKICAgICBlbnVt
IFdyYXBwZXJUeXBlUHJvdG90eXBlIHsKICAgICAgICAgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5
cGUsCkBAIC05Niw2ICs5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgY29uc3Qg
R2V0VGVtcGxhdGVGdW5jdGlvbiBnZXRUZW1wbGF0ZUZ1bmN0aW9uOwogICAgICAgICBjb25zdCBE
ZXJlZk9iamVjdEZ1bmN0aW9uIGRlcmVmT2JqZWN0RnVuY3Rpb247CiAgICAgICAgIGNvbnN0IFRv
QWN0aXZlRE9NT2JqZWN0RnVuY3Rpb24gdG9BY3RpdmVET01PYmplY3RGdW5jdGlvbjsKKyAgICAg
ICAgY29uc3QgRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbiBkb21XcmFwcGVyVmlzaXRvckZ1bmN0
aW9uOwogICAgICAgICBjb25zdCBXcmFwcGVyVHlwZUluZm8qIHBhcmVudENsYXNzOwogICAgICAg
ICBjb25zdCBXcmFwcGVyVHlwZVByb3RvdHlwZSB3cmFwcGVyVHlwZVByb3RvdHlwZTsKICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5
bGVTaGVldEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NTdHlsZVNoZWV0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYz
YTJkMmYyMDdkNDVlODMxYjQyZjc1YzgwNTcyNGQwODhhZmQ2Ny4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUxICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhDU1NTdHlsZVNoZWV0LmgiCi0K
LSNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIKLSNpbmNsdWRlICJWOE5vZGUuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChDU1NTdHlsZVNoZWV0
KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAg
IHJldHVybiB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyID0gVjhDU1NTdHlsZVNoZWV0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotICAg
IC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBzdHlsZXNoZWV0IG9iamVjdCB0byBpdHMg
b3duZXIgbm9kZS4KLSAgICBOb2RlKiBvd25lck5vZGUgPSBpbXBsLT5vd25lck5vZGUoKTsKLSAg
ICBpZiAob3duZXJOb2RlICYmICF3cmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgVjhET01XcmFw
cGVyOjpzZXROYW1lZEhpZGRlblJlZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChv
d25lck5vZGUsIGlzb2xhdGUpKTsKLSAgICByZXR1cm4gd3JhcHBlcjsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKaW5kZXggZGIwNDVhODQ0OTkzYTFlZDlm
ZjY2MjNhZjM0YTdmMzcwNzc2OWJmNy4uY2RiZjM4NTgxZGE0YTczZTZkODkxODNjNzg0ZjJlNGI3
Y2I1MjBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCkBAIC04NCwxOSArODQsNCBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhET01TdHJpbmdNYXA6Om5hbWVkUHJvcGVydHlTZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+CiAgICAgcmV0dXJuIHZhbHVlOwogfQogCi12ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChET01TdHJpbmdNYXAqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewot
ICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsK
LSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOERPTVN0cmluZ01hcDo6d3Jh
cChpbXBsLCBpc29sYXRlKTsKLSAgICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gdGhl
IGVsZW1lbnQgdG8gdGhlIERPTVN0cmluZ01hcC4KLSAgICBFbGVtZW50KiBlbGVtZW50ID0gaW1w
bC0+ZWxlbWVudCgpOwotICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkgewot
ICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZWxlbWVudFZhbHVlID0gdG9WOChlbGVtZW50
LCBpc29sYXRlKTsKLSAgICAgICAgaWYgKCFlbGVtZW50VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1l
bnRWYWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2Jq
ZWN0PigpLT5TZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6ZG9tU3RyaW5nTWFw
KCksIHdyYXBwZXIpOwotICAgIH0KLSAgICByZXR1cm4gd3JhcHBlcjsKLX0KLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDZkZDhlY2ZjZmVjOTFlODMxM2JhYTcwZmE2ZmNiOGI0MmQ3OWU2M2QuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhET01Ub2tlbkxp
c3QuaCIKLQotI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5o
IgotI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlY4RWxlbWVudC5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVRva2Vu
TGlzdCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgaWYgKCFpbXBsKQotICAg
ICAgICByZXR1cm4gdjhOdWxsV2l0aENoZWNrKGlzb2xhdGUpOwotICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9rZW5MaXN0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwot
ICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9N
VG9rZW5MaXN0LgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAg
aWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwotICAgICAg
ICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgp
KQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZh
bHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21Ub2tlbkxpc3QoKSwgd3JhcHBlcik7Ci0gICAg
fQotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVt
ZW50Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcAppbmRleCBlNzhjOTVhMDg5MzIzNTM3YWQx
NzQxNTQ2ZWU0YThkMzQxMGQzNGVjLi43MjNhMGI1YjQ5MzNkYzQ2MWIwY2QxOTQwMTNiNjI4NmNm
Mzg2MjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTQ0LDcg
KzQ0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4SFRNTEltYWdlRWxlbWVudENvbnN0
cnVjdG9yOjpHZXRUZW1wbGF0ZSwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUg
fTsKK1dyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9
IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCAw
LCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCmluZGV4IDczOWU4ZDJlYjU3NDMx
OGZmOTY4YWU0MWI0MmUxYjQwOWZjZDgzZGQuLmQyZTM0ODMzNGZhNGE0OTNjOWUzYjk3YjFjZmI5
OTk4NjFmYjQyMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcApAQCAtNzEsMTYgKzcxLDQgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4TmFtZWROb2RlTWFwOjpuYW1lZFByb3BlcnR5R2V0dGVyKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB0b1Y4KHJlc3VsdC5yZWxlYXNlKCksIGlu
Zm8uR2V0SXNvbGF0ZSgpKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWRO
b2RlTWFwKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0g
ICAgICAgIHJldHVybiB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhOYW1lZE5vZGVNYXA6OndyYXAoaW1wbCwgaXNvbGF0ZSk7
Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIG5hbWVkIG5vZGUgbWFwIHRvIGl0
cyBvd25lciBub2RlLgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0g
ICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KQotICAgICAgICB3cmFwcGVyLT5T
ZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6b3duZXJOb2RlKCksIHRvVjgoZWxl
bWVudCwgaXNvbGF0ZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTdHlsZVNoZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwCmluZGV4IGE1OGI2OTkwOWYyM2ZhMWM3NDY3ZjY0MmJh
NzE4NmJkYjIxOWNhYjQuLjdhMTAyMWNlNDFkZGI3YzMxNjA4YTk2NmUxMzc5NjJjMGVhM2FlYmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hl
ZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0
eWxlU2hlZXRDdXN0b20uY3BwCkBAIC00MiwxMyArNDIsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChTdHlsZVNoZWV0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKICAgICBpZiAo
IWltcGwpCiAgICAgICAgIHJldHVybiB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSk7CiAgICAgaWYg
KGltcGwtPmlzQ1NTU3R5bGVTaGVldCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2Fz
dDxDU1NTdHlsZVNoZWV0Kj4oaW1wbCksIGlzb2xhdGUpOwotICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gd3JhcHBlciA9IFY4U3R5bGVTaGVldDo6d3JhcChpbXBsLCBpc29sYXRlKTsKLSAgICAv
LyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gc3R5bGVzaGVldCBvYmplY3QgdG8gaXRzIG93
bmVyIG5vZGUuCi0gICAgTm9kZSogb3duZXJOb2RlID0gaW1wbC0+b3duZXJOb2RlKCk7Ci0gICAg
aWYgKG93bmVyTm9kZSAmJiAhd3JhcHBlci5Jc0VtcHR5KCkpCi0gICAgICAgIFY4RE9NV3JhcHBl
cjo6c2V0TmFtZWRIaWRkZW5SZWZlcmVuY2Uod3JhcHBlciwgIm93bmVyTm9kZSIsIHRvVjgob3du
ZXJOb2RlLCBpc29sYXRlKSk7Ci0gICAgcmV0dXJuIHdyYXBwZXI7CisgICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PENTU1N0eWxlU2hlZXQqPihpbXBsKSk7CisgICAgcmV0dXJuIFY4U3R5
bGVTaGVldDo6d3JhcChpbXBsLCBpc29sYXRlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRy
YWNrTGlzdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhU
ZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y3
ZjEwZmY2OWUxYjUzMWFmNzQ5YmU4OGYwYWEzMzlmMjZmMjdiZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiVjhUZXh0VHJhY2tMaXN0LmgiCi0K
LSNpbmNsdWRlICJUZXh0VHJhY2tMaXN0LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5j
bHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhIVE1MTWVkaWFFbGVtZW50LmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGV4dFRy
YWNrTGlzdCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgaWYgKCFpbXBsKQot
ICAgICAgICByZXR1cm4gdjhOdWxsV2l0aENoZWNrKGlzb2xhdGUpOwotICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4VGV4dFRyYWNrTGlzdDo6d3JhcChpbXBsLCBpc29sYXRl
KTsKLQotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgbWVkaWEgZWxlbWVu
dCB0byB0aGUgdGV4dCB0cmFjayBsaXN0LgotICAgIE5vZGUqIGVsZW1lbnQgPSBpbXBsLT5vd25l
cigpOwotICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkgJiYgZWxlbWVudCkgewotICAgICAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZWxlbWVudFZhbHVlID0gdG9WOChlbGVtZW50LCBpc29sYXRl
KTsKLSAgICAgICAgaWYgKCFlbGVtZW50VmFsdWUuSXNFbXB0eSgpICYmIGVsZW1lbnRWYWx1ZS0+
SXNPYmplY3QoKSkKLSAgICAgICAgICAgIGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLT5T
ZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFtZTo6dGV4dFRyYWNrcygpLCB3cmFwcGVy
KTsKLSAgICB9Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAppbmRleCA5NjJjOWRiZGNjZjkyNDQz
NWIyZWY2Y2QxNTJiZjdiZWMzYWRhMDYwLi43ODJkYjU4NmNlNDkxYjhiMzQ0YjI1YjFkMTZkNTEw
OTE0ZGI3ODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsCkBAIC0yMiw3ICsy
Miw3IEBAIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoK
ICAgICBpbnRlcmZhY2UgWwotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAgICAgVjhH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290CiAgICAgXSBDU1NTdHlsZVNoZWV0
IDogU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlICAgICAg
ICAgIG93bmVyUnVsZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0ICAg
ICAgY3NzUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKaW5kZXggOWUyMGQ4NGFjYzNi
MGU0MjFjNzFiMWUzNjllMjBhMjEzMzNiNzcyMy4uYjg1NjhiZmIyMDUyMjNkN2E0Yjk5MWNiYzlh
NmUxZThiNDg4NjQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbApAQCAtMjYsNyArMjYs
NyBAQCBtb2R1bGUgc3R5bGVzaGVldHMgewogICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGUs
CiAgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9iakNQb2x5bW9ycGhpYywKLSAg
ICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIFN0eWxlU2hlZXQgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nICAgICAg
ICB0eXBlOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICBkaXNh
YmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaWRsIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKaW5kZXggOTgwZDA0NGNkMDJhYjFh
ZjVmN2E5NmU3YTZlMmM1OTYzM2U4YzNkZi4uMDQ1ZDUyMjMyMjlmMmMyOWJhN2Y2MTY2NmI0NmM1
OWViYTgyYWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwKQEAgLTI2LDEyICsy
NiwxMSBAQAogbW9kdWxlIGNvcmUgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgSlNHZW5l
cmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIE5hbWVkR2V0dGVyLAogICAgICAgICBDdXN0
b21EZWxldGVQcm9wZXJ0eSwKICAgICAgICAgQ3VzdG9tRW51bWVyYXRlUHJvcGVydHksCi0gICAg
ICAgIEN1c3RvbU5hbWVkU2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNPYmplY3QKKyAgICAg
ICAgQ3VzdG9tTmFtZWRTZXR0ZXIKICAgICBdIERPTVN0cmluZ01hcCB7CiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAppbmRleCA4ODgyMGMwMTcyZjU2M2M2NDQ2NjU1MzIx
Y2M0NWE4ZGVlYjY0YWFjLi43ZWU2Yjc1Njc3YWEzMjhkZTFiMTM0Y2Y0MGM1NWQyMzVjYWJkY2Rl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbApAQCAtMjEsMTEgKzIxLDEwIEBACiBt
b2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFj
aGFibGU9SW1wbEVsZW1lbnRSb290LAotICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAg
ICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCiAgICAgICAgIEluZGV4
ZWRHZXR0ZXIsCi0gICAgICAgIE5hbWVkR2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRvSlNPYmpl
Y3QKKyAgICAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCisgICAgICAgIE5hbWVkR2V0dGVyCiAg
ICAgXSBOYW1lZE5vZGVNYXAgewogCiAgICAgICAgIE5vZGUgZ2V0TmFtZWRJdGVtKGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmlkbAppbmRleCA1NWI2MzZmN2Q3YTVhYjFhNjAzMzU2YWEyMmQ3ZjY0ZTk4
OWFjZGU2Li5jZjU3ZTFhZWVmOTZlMjk2NzUwMGVlMTdlNTBmNDJmZDA4OWM2NzJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0yNSw5ICsyNSw4IEBACiBtb2R1bGUgY29y
ZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1w
bEVsZW1lbnRSb290LAotICAgICAgICBJbmRleGVkR2V0dGVyLAotICAgICAgICBWOEN1c3RvbVRv
SlNPYmplY3QKKyAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCisg
ICAgICAgIEluZGV4ZWRHZXR0ZXIKICAgICBdIERPTVRva2VuTGlzdCB7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgW1RyZWF0UmV0dXJu
ZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRl
eCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbAppbmRleCAz
ZjZlZmFjMGM2NzZhM2Y2NTEyZGJhMTAyZGM5YzMyZDdjNzkyMjI3Li5hZDRlODYyMWM2ODQ4ODY2
MzdjODg5MjIyMmY5ZThjNjQxNWI3ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VGV4dFRyYWNrTGlzdC5pZGwKQEAgLTI4LDExICsyOCwxMSBAQCBtb2R1bGUgaHRtbCB7CiAgICAg
aW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssCiAgICAgICAgIFY4
RW5hYmxlZEF0UnVudGltZT13ZWJraXRWaWRlb1RyYWNrLAotICAgICAgICBWOEN1c3RvbVRvSlNP
YmplY3QsCiAgICAgICAgIEluZGV4ZWRHZXR0ZXIsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAg
ICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICAgICAgSlNDdXN0b21Jc1JlYWNoYWJsZQor
ICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlLAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFi
bGU9SW1wbE93bmVyUm9vdAogICAgIF0gVGV4dFRyYWNrTGlzdCB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgVGV4dFRyYWNrIGl0ZW0o
aW4gdW5zaWduZWQgbG9uZyBpbmRleCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148627</attachid>
            <date>2012-06-20 12:27:04 -0700</date>
            <delta_ts>2012-06-20 17:08:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80880-20120620122703.patch</filename>
            <type>text/plain</type>
            <size>59529</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNTg5MDY5YTJhNTM0
NTA0ZTgyYzExODFmZWMwNzMxYzFkNzY5Ni4uZTYzODEwZmMyMjY5NmNkMDIzOWFjODI4NTI3ZWRm
NmI4NzkxZGIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMiBAQAorMjAxMi0wNi0yMCAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBXZSB1c2VkIHRvIGFkZCBhIGhp
ZGRlbiBwcm9wZXJ0eSBpbiB0aGUgZ2V0dGVyIHRvIHRoZSByZXR1cm5lZCB3cmFwcGVyLgorICAg
ICAgICBXaXRoIHRoaXMgcGF0Y2ggd2UgaW5zdGVhZCBoYW5kbGUgdGhlIGxpdmVuZXNzIG9mIHRo
ZSB3cmFwcGVyIGluIHRoZSBHQyBwaGFzZSBieQorICAgICAgICBjYWxsaW5nIHY4OjpWODo6QWRk
SGlkZGVuUmVmZXJlbmNlLgorCisgICAgICAgIFRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIGN1c3Rv
bSBjb2RlIHdlIG5lZWQsIHRoZSBWOCBjb2RlIGdlbmVyYXRvciBub3cgc3VwcG9ydHMKKyAgICAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZSAoYXMgd2VsbCBhcyBDdXN0b21Jc1JlYWNoYWJsZSkgd2hp
Y2gsIGV2ZW4gdGhvdWdoIGRpZmZlcmVudAorICAgICAgICBmcm9tIHRoZSBKU0MgYXR0cmlidXRl
LCBpcyB1c2VkIGluIHRoZSBzYW1lIGNhc2VzIGFuZCB0YWtlcyB0aGUgc2FtZSB2YWx1ZXMgKGV2
ZW4gdGhvdWdoCisgICAgICAgIGF0IHRoZSBtb21lbnQgbm90IGFsbCBKU0MgdmFsdWVzIGFyZSBz
dXBwb3J0ZWQgYnkgVjgpLiBJbnRlcmZhY2VzIHRoYXQgaGF2ZSAqSXNSZWFjaGFibGUKKyAgICAg
ICAgYWxzbyBoYXZlIGEgZGVwZW5kZW50IGxpZmUgdGltZSAoanVzdCBsaWtlIGlmIFY4RGVwZW5k
ZW50TGlmZXRpbWUgd2FzIHByZXNlbnQpLgorCisgICAgICAgIFJldHJ5LiBMYXN0IHRpbWUgd2Ug
Z290IEFTQU4gaXNzdWVzIG9uIHNvbWUgQ3JvbWl1bSBMaW51eCBib3RzLiAKKworICAgICAgICBO
byBuZXcgdGVzdHMuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBUYXJn
ZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAg
KEdldEdlbmVyYXRlSXNSZWFjaGFibGUpOiBBYnN0cmFjdGVkIEdlbmVyYXRlSXNSZWFjaGFibGUg
YW5kIEpTR2VuZXJhdGVJc1JlYWNoYWJsZS4KKyAgICAgICAgKEdldEN1c3RvbUlzUmVhY2hhYmxl
KTogRGl0dG8uCisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbToKKyAgICAgICAgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIpOgorICAgICAgICAoR2V0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSk6CisgICAgICAgIChHZXRDdXN0b21Jc1JlYWNoYWJsZSk6CisgICAg
ICAgIChHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcik6CisgICAgICAgIChHZW5lcmF0ZUhlYWRlcik6
CisgICAgICAgIChHZW5lcmF0ZU5hbWVkQ29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAgIChH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETEF0
dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0
NjRBcnJheS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgKFY4RmxvYXQ2NEFycmF5KToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaDoKKyAgICAgICAgKFY4VGVzdEFjdGl2ZURPTU9i
amVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oOgorICAgICAgICAoVjhUZXN0
Q3VzdG9tTmFtZWRHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmg6CisgICAg
ICAgIChWOFRlc3RFdmVudENvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAg
ICAgIChWOFRlc3RFdmVudFRhcmdldCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmg6CisgICAgICAgIChWOFRl
c3RFeGNlcHRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJ
bnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oOgorICAgICAgICAoVjhUZXN0SW50ZXJmYWNl
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOgorICAgICAgICAo
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0
b3IuaDoKKyAgICAgICAgKFY4VGVzdE5hbWVkQ29uc3RydWN0b3IpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmg6CisgICAgICAg
IChWOFRlc3ROb2RlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RPYmouaDoKKyAgICAgICAgKFY4VGVzdE9iaik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6CisgICAgICAgIChW
OFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L05QVjhPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3RUeXBlSW5mbyk6
CisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JvdXBlclZpc2l0b3I6OnZpc2l0RE9NV3JhcHBlcik6CisgICAgICAgICogYmluZGlu
Z3MvdjgvV3JhcHBlclR5cGVJbmZvLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdy
YXBwZXJUeXBlSW5mbyk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVT
aGVldEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01Ub2tlbkxpc3RDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3Bw
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
VGV4dFRyYWNrTGlzdEN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogY3NzL0NTU1N0eWxl
U2hlZXQuaWRsOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBkb20v
RE9NU3RyaW5nTWFwLmlkbDoKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmlkbDoKKyAgICAg
ICAgKiBodG1sL0RPTVRva2VuTGlzdC5pZGw6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2tMaXN0LmlkbDoKKwogMjAxMi0wNi0yMCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgSW50U2l6ZSBpbiBSZW5kZXJMYXllciB0byByZXBy
ZXNlbnQgc2Nyb2xsIG9mZnNldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGRkOWZkYzBiMTQyOTNlZWFkN2Rh
MThlMjhkZDY0ZWJkZGY2N2FiOWQuLmZjYzJmNDBlM2VjOThiZTEyMTY2MDgyMjY3YjkyMTdmODM5
ZDFhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTU4LDcgKzE1OCw2IEBAIHY4IHsKICAgICAgICAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwIFwKLSAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAg
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIFwK
ICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCBcCkBAIC0x
NjcsOCArMTY2LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3Rl
ZFNjcmlwdEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
c3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIFwKLSAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgXApAQCAt
MjE1LDcgKzIxMyw2IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFn
ZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3Vz
dG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xpc3RDdXN0
b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0QW5pbWF0aW9uQ3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11dGF0aW9uT2Jz
ZXJ2ZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0UG9p
bnRDb25zdHJ1Y3Rvci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBmZmZjMjZiMTM1ZTQyZjMzNmZm
NzI3NDliNGU0YTUyYmQxNzczZWRmLi5hMTNmMWQzOWE3ZDc0ZDY3MWFkZWEzZGQ5Y2IxYWE0MWEz
ZWRiZmUwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtNzQsNyArNzQsNiBAQCBMSVNUKEFQUEVORCBXZWJD
b3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcAotICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q1NTVmFsdWVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OENsaXBib2FyZEN1c3RvbS5jcHAKQEAgLTg1LDcgKzg0LDYgQEAgTElTVChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVy
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKLSAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFW
aWV3Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNv
bnRleHRDdXN0b20uY3BwCkBAIC0xNDcsNyArMTQ1LDYgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFRleHRUcmFja0xpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWlu
dDE2QXJyYXlDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDMyQXJyYXlD
dXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQppbmRleCBjODk3NGQyZDY1MmRiZWE2NjgyNzBkYTNkZjhmNDNiZjg0YTIy
MmM0Li5jMWUyMDdiNzEzMjI2YjAyOTViZDM0MzhjOTJkYWNjNjMwM2U3OGJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0yMjYyLDcgKzIyNjIsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEJsb2JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NSdWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAnLApAQCAtMjI3
NSw3ICsyMjc0LDYgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
Rm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwJywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhET01Ub2tlbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhEYXRhVmlld0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKQEAgLTIzNDgsNyArMjM0Niw2
IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3Rv
bS5jcHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xpc3RD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhUcmFja0V2ZW50
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDE2QXJy
YXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJB
cnJheUN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBlYzQ4ZjQ1YzY4MGI2ZDA3YzM3Mjc4ZDkwZTEyMGMw
Yzc2YmQ0ZjUwLi5lNDVlNzYyZGI5YWIzNmE3MThhNmFiZTBkYTk4MTUyNjY1ZGRjNzFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQpAQCAtMzg0LDYgKzM4NCwxOCBAQCBzdWIgcHJvdG90eXBlSGFzaFRhYmxlQWNjZXNzb3IKICAg
ICB9CiB9CiAKK3N1YiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2Rl
ID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikdl
bmVyYXRlSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJK
U0dlbmVyYXRlSXNSZWFjaGFibGUifTsKK30KKworc3ViIEdldEN1c3RvbUlzUmVhY2hhYmxlCit7
CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7CisgICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUlzUmVhY2hhYmxlIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9OworfQorCiBzdWIgR2VuZXJhdGVH
ZXRPd25Qcm9wZXJ0eVNsb3RCb2R5CiB7CiAgICAgbXkgKCRkYXRhTm9kZSwgJGludGVyZmFjZU5h
bWUsICRjbGFzc05hbWUsICRpbXBsQ2xhc3NOYW1lLCAkaGFzQXR0cmlidXRlcywgJGlubGluZWQp
ID0gQF87CkBAIC05OTMsOCArMTAwNSw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIH0KIAog
ICAgIGlmICghJGhhc1BhcmVudCB8fAotICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSB8fCAKLSAgICAgICAgJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9IHx8IAorICAgICAgICBH
ZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwKKyAgICAgICAgR2V0Q3VzdG9tSXNS
ZWFjaGFibGUoJGRhdGFOb2RlKSB8fAogICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJKU0N1c3RvbUZpbmFsaXplIn0gfHwKICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgImNsYXNzIEpTJHtpbXBsQ2xhc3NOYW1lfU93bmVyIDogcHVibGljIEpTQzo6V2Vh
a0hhbmRsZU93bmVyIHtcbiIpOwpAQCAtMjI4NSw3ICsyMjk3LDcgQEAgc3ViIEdlbmVyYXRlSW1w
bGVtZW50YXRpb24KICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICgoISRoYXNQYXJlbnQgJiYg
ISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSl8
fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkg
eworICAgIGlmICgoISRoYXNQYXJlbnQgJiYgIUdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9k
ZSkpfHwgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAic3RhdGljIGlubGluZSBib29sIGlzT2JzZXJ2YWJsZShKUyR7aW1wbENsYXNz
TmFtZX0qIGpzJHtpbXBsQ2xhc3NOYW1lfSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIntcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoanMke2ltcGxD
bGFzc05hbWV9LT5oYXNDdXN0b21Qcm9wZXJ0aWVzKCkpXG4iKTsKQEAgLTIzMTMsMjEgKzIzMjUs
MjEgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgfQogICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWlzT2JzZXJ2YWJsZShqcyR7aW1wbENsYXNzTmFtZX0p
KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICByZXR1cm4gZmFsc2U7
XG4iKTsKLSAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2Vu
ZXJhdGVJc1JlYWNoYWJsZSJ9KSB7CisgICAgICAgIGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxl
KCRkYXRhTm9kZSkpIHsKICAgICAgICAgICAgIG15ICRyb290U3RyaW5nOwotICAgICAgICAgICAg
aWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJs
ZSJ9IGVxICJJbXBsIikgeworICAgICAgICAgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUo
JGRhdGFOb2RlKSBlcSAiSW1wbCIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAi
ICAgICR7aW1wbFR5cGV9KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCk7XG4iOwot
ICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxDb250ZXh0IikgeworICAgICAgICAgICAgfSBl
bHNpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsQ29udGV4dCIp
IHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpLT5jb250ZXh0KCk7XG4iOwot
ICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxGcmFtZSIpIHsKKyAgICAgICAgICAgIH0gZWxz
aWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEZyYW1lIikgewog
ICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgRnJhbWUqIHJvb3QgPSBqcyR7aW1w
bENsYXNzTmFtZX0tPmltcGwoKS0+ZnJhbWUoKTtcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RT
dHJpbmcgLj0gIiAgICBpZiAoIXJvb3QpXG4iOwogICAgICAgICAgICAgICAgICRyb290U3RyaW5n
IC49ICIgICAgICAgIHJldHVybiBmYWxzZTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUifSBlcSAi
SW1wbERvY3VtZW50IikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRG9jdW1lbnQiKSB7CiAgICAgICAgICAgICAgICAgJHJv
b3RTdHJpbmcgID0gIiAgICBEb2N1bWVudCogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1w
bCgpLT5kb2N1bWVudCgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAg
IGlmICghcm9vdClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAgICAg
cmV0dXJuIGZhbHNlO1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRWxlbWVudFJv
b3QiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRh
Tm9kZSkgZXEgIkltcGxFbGVtZW50Um9vdCIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmlu
ZyAgPSAiICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKS0+
ZWxlbWVudCgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgIGlmICgh
ZWxlbWVudClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAgICAgcmV0
dXJuIGZhbHNlO1xuIjsKQEAgLTIzNTEsOCArMjM2Myw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAKICAgICBpZiAoISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3Vz
dG9tRmluYWxpemUifSAmJgogICAgICAgICAoISRoYXNQYXJlbnQgfHwKLSAgICAgICAgICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8Ci0g
ICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUlzUmVhY2hh
YmxlIn0gfHwKKyAgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fAor
ICAgICAgICAgR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSB8fAogICAgICAgICAgJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQWN0aXZlRE9NT2JqZWN0In0pKSB7CiAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCBKUyR7aW1wbENsYXNzTmFtZX1Pd25lcjo6Zmlu
YWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpXG4i
KTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZDM4YTE1NTkz
NDQ5ZWZkNjY2ODY2NWM5NGE2NGVkYzY5ZTU3NmRkZS4uNDVlY2NmYWI3M2FjNDdlMzMyNDM0NGM1
OTdiOTI0MzQ5NWUzYmM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTE4MSw2ICsxODEsNjMgQEAgc3ViIEFkZEluY2x1
ZGVzRm9yVHlwZQogICAgIH0KIH0KIAorc3ViIE5lZWRzVG9WaXNpdERPTVdyYXBwZXIKK3sKKyAg
ICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gR2V0R2VuZXJhdGVJc1JlYWNoYWJs
ZSgkZGF0YU5vZGUpIHx8IEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSk7Cit9CisKK3N1
YiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlCit7CisgICAgbXkgJGRhdGFOb2RlID0gc2hpZnQ7Cisg
ICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkdlbmVyYXRlSXNSZWFj
aGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOEdlbmVyYXRlSXNS
ZWFjaGFibGUifSB8fCAiIgorfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sKKyAgICBt
eSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ3VzdG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJWOEN1c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKK3N1YiBHZW5lcmF0ZVZpc2l0RE9N
V3JhcHBlcgoreworICAgIG15ICgkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKSA9IEBfOworCisg
ICAgaWYgKEdldEN1c3RvbUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkpIHsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit2b2lkIFY4JHtpbXBs
Q2xhc3NOYW1lfTo6dmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSogc3RvcmUsIHZvaWQqIG9i
amVjdCwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKK3sKKyAgICAke2ltcGxD
bGFzc05hbWV9KiBpbXBsID0gc3RhdGljX2Nhc3Q8JHtpbXBsQ2xhc3NOYW1lfSo+KG9iamVjdCk7
CitFTkQKKyAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICAiSW1w
bEVsZW1lbnRSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9k
ZSkgZXEgICJJbXBsT3duZXJSb290IiB8fAorICAgICAgICBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxl
KCRkYXRhTm9kZSkgZXEgICJJbXBsT3duZXJOb2RlUm9vdCIpIHsKKworICAgICAgICBteSAkbWV0
aG9kTmFtZTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAiZWxlbWVudCIgaWYgKEdldEdlbmVyYXRl
SXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEVsZW1lbnRSb290Iik7CisgICAgICAgICRt
ZXRob2ROYW1lID0gIm93bmVyIiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUp
IGVxICJJbXBsT3duZXJSb290Iik7CisgICAgICAgICRtZXRob2ROYW1lID0gIm93bmVyTm9kZSIg
aWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbE93bmVyTm9kZVJv
b3QiKTsKKworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOworICAgIGlmIChOb2Rl
KiBvd25lciA9IGltcGwtPiR7bWV0aG9kTmFtZX0oKSkgeworICAgICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiBvd25lcldyYXBwZXIgPSBnZXRET01Ob2RlTWFwKCkuZ2V0KG93bmVyKTsK
KyAgICAgICAgaWYgKCFvd25lcldyYXBwZXIuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICB2ODo6
UGVyc2lzdGVudDx2ODo6VmFsdWU+IHZhbHVlID0gd3JhcHBlcjsKKyAgICAgICAgICAgIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzKG93bmVyV3JhcHBlciwgJnZhbHVlLCAxKTsKKyAgICAg
ICAgfQorICAgIH0KK0VORAorICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
Cit9CisKK0VORAorfQorCiBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogewogICAgIG15ICRpbXBs
VHlwZSA9IHNoaWZ0OwpAQCAtMjM1LDcgKzI5Miw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICRjb2RlR2VuZXJhdG9yLT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJl
bnRDbGFzc2VzKCRkYXRhTm9kZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdlbmVyYXRv
ci0+TGlua092ZXJsb2FkZWRGdW5jdGlvbnMoJGRhdGFOb2RlKTsKIAotICAgIG15ICRoYXNEZXBl
bmRlbnRMaWZldGltZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5k
ZW50TGlmZXRpbWUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVE
T01PYmplY3QifSB8fCAkY2xhc3NOYW1lID1+IC9TVkcvOworICAgIG15ICRoYXNEZXBlbmRlbnRM
aWZldGltZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5kZW50TGlm
ZXRpbWUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmpl
Y3QifQorICAgICAgICAgfHwgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8ICRj
bGFzc05hbWUgPX4gL1NWRy87CiAgICAgaWYgKCEkaGFzRGVwZW5kZW50TGlmZXRpbWUpIHsKICAg
ICAgICAgZm9yZWFjaCAoQHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAk
cGFyZW50ID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKQEAgLTMyOSw2ICszODcs
NyBAQCBFTkQKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXAoJHtuYXRpdmVUeXBlfSosIHY4OjpJc29sYXRlKiA9IDAke2ZvcmNlTmV3T2JqZWN0UGFy
YW1ldGVyfSk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRp
YyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3Rl
bnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKIEVORAog
ICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3Qi
fSkgewpAQCAtMTg3MSwxMiArMTkzMCwxMiBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9y
Q2FsbGJhY2sKIAogICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3Rp
dmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3Jh
cHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7
aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4JHtpbXBsQ2xhc3NOYW1l
fTo6ZGVyZWZPYmplY3QsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QsIDAs
IFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjgke2ltcGxD
bGFzc05hbWV9Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVj
dG9yOjpHZXRUZW1wbGF0ZSwgVjgke2ltcGxDbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgVjgke2lt
cGxDbGFzc05hbWV9Ojp0b0FjdGl2ZURPTU9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKIAogRU5ECiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsIDw8RU5EKTsKLVdyYXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rv
cjo6aW5mbyA9IHsgVjgke2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAw
LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4
JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1D
b25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJv
dG90eXBlIH07CiAKIEVORAogICAgIH0KQEAgLTI0MjgsNiArMjQ4Nyw3IEBAIHN1YiBHZW5lcmF0
ZUltcGxlbWVudGF0aW9uCiAgICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRpbnRlcmZhY2VOYW1lKTsK
IAogICAgIG15ICR0b0FjdGl2ZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFj
dGl2ZURPTU9iamVjdCJ9ID8gIiR7Y2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QiIDogIjAi
OworICAgIG15ICRkb21WaXNpdG9yID0gTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUp
ID8gIiR7Y2xhc3NOYW1lfTo6dmlzaXRET01XcmFwcGVyIiA6ICIwIjsKIAogICAgICMgRmluZCB0
aGUgc3VwZXIgZGVzY3JpcHRvci4KICAgICBteSAkcGFyZW50Q2xhc3MgPSAiIjsKQEAgLTI0NDcs
NyArMjUwNyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICBteSAkV3JhcHBl
clR5cGVQcm90b3R5cGUgPSAkZGF0YU5vZGUtPmlzRXhjZXB0aW9uID8gIldyYXBwZXJUeXBlRXJy
b3JQcm90b3R5cGUiIDogIldyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIjsKIAotICAgIHB1c2go
QGltcGxDb250ZW50RGVjbHMsICJXcmFwcGVyVHlwZUluZm8gJHtjbGFzc05hbWV9OjppbmZvID0g
eyAke2NsYXNzTmFtZX06OkdldFRlbXBsYXRlLCAke2NsYXNzTmFtZX06OmRlcmVmT2JqZWN0LCAk
dG9BY3RpdmUsICRwYXJlbnRDbGFzc0luZm8sICRXcmFwcGVyVHlwZVByb3RvdHlwZSB9O1xuXG4i
KTsKKyAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NO
YW1lfTo6aW5mbyA9IHsgJHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9Ojpk
ZXJlZk9iamVjdCwgJHRvQWN0aXZlLCAkZG9tVmlzaXRvciwgJHBhcmVudENsYXNzSW5mbywgJFdy
YXBwZXJUeXBlUHJvdG90eXBlIH07XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMs
ICJuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWwge1xuXG4iKTsKIAogICAgIHB1
c2goQGltcGxDb250ZW50RGVjbHMsICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0Uo
VCkgeyB9XG5cbiIpOwpAQCAtMjUwMSw2ICsyNTYxLDEwIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIoJGRhdGFOb2RlLCAkaW1w
bENsYXNzTmFtZSk7CiAgICAgfQogCisgICAgaWYgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIoJGRh
dGFOb2RlKSkgeworICAgICAgICBHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUsICRp
bXBsQ2xhc3NOYW1lKTsKKyAgICB9CisKICAgICBteSAkaW5kZXhlcjsKICAgICBteSAkbmFtZWRQ
cm9wZXJ0eUdldHRlcjsKICAgICAjIEdlbmVyYXRlIG1ldGhvZHMgZm9yIGZ1bmN0aW9ucy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0Cmlu
ZGV4IDU3ZjUwYTVhY2QyNGM5NGQ4NWI5ZTY1NWM1MjM5M2VmM2EwYjJmYTYuLjRmZTc3MWIxYzk4
YTkyZjlmM2FmM2ZiMTA0ZmUwYmU0NGM2YzYzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtMzgsNiArMzgsNyBAQCBDdXN0
b21FbnVtZXJhdGVQcm9wZXJ0eQogQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90CiBDdXN0b21HZXR0
ZXIKIEN1c3RvbUluZGV4ZWRTZXR0ZXIKK0N1c3RvbUlzUmVhY2hhYmxlCiBDdXN0b21OYW1lZEdl
dHRlcgogQ3VzdG9tTmFtZWRTZXR0ZXIKIEN1c3RvbVB1dEZ1bmN0aW9uCkBAIC01MSwxMSArNTIs
MTIgQEAgRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0ZXIKIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0
dGVyCiBFdmVudFRhcmdldAogRXh0ZW5kc0RPTUdsb2JhbE9iamVjdAorR2VuZXJhdGVJc1JlYWNo
YWJsZT18SW1wbHxJbXBsQ29udGV4dHxJbXBsRG9jdW1lbnR8SW1wbEVsZW1lbnRSb290fEltcGxG
cmFtZQogSW1tdXRhYmxlCiBJbXBsZW1lbnRlZEFzPSoKIEluZGV4ZWRHZXR0ZXIKLUludGVyZmFj
ZU5hbWU9KgogSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IKK0ludGVyZmFjZU5hbWU9Kgog
SXNJbmRleAogSXNXb3JrZXJDb250ZXh0CiBKU0N1c3RvbQpAQCAtMTA3LDExICsxMDksMTMgQEAg
VVJMCiBWOEN1c3RvbQogVjhDdXN0b21Db25zdHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKK1Y4Q3Vz
dG9tSXNSZWFjaGFibGUKIFY4Q3VzdG9tU2V0dGVyCiBWOEN1c3RvbVRvSlNPYmplY3QKIFY4RGVw
ZW5kZW50TGlmZXRpbWUKIFY4RG9Ob3RDaGVja1NpZ25hdHVyZQogVjhFbmFibGVkQXRSdW50aW1l
PSoKIFY4RW5hYmxlZFBlckNvbnRleHQ9KgorVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsRWxl
bWVudFJvb3R8SW1wbE93bmVyUm9vdHxJbXBsT3duZXJOb2RlUm9vdAogVjhSZWFkT25seQogVjhV
bmZvcmdlYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggZGMzNTM2ZTdiOTE1NzQ0Mzc4YzRk
ZGZkMjg3MzkzZDRmMThmN2E3ZC4uZDUxYzlmYWE2OGE2MGI3N2IwODc1N2ViZTU4ZDg1MmVjOTky
ZjkwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBW
OEZsb2F0NjRBcnJheTo6R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwg
MCwgJlY4QXJyYXlCdWZmZXJWaWV3OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9
OworV3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJh
eTo6R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4QXJy
YXlCdWZmZXJWaWV3OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1l
c3BhY2UgRmxvYXQ2NEFycmF5VjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKaW5kZXggYjBk
ZmQ1NTliYjMyNTJlNmRlODZhNzQ2NTU1YjMxMGUwMmI2ODA4ZS4uNDg5MjhhNGQ2NmRiMGEwZmNm
NTcxMDFlZDg4NWI0MTIyNjNmYTY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKQEAgLTQ0LDYgKzQ0LDcg
QEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChGbG9hdDY0QXJyYXkqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9p
ZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERP
TURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3Rh
dGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3RhdGlj
IGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxG
aWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggMTg2
Y2YyMzY2NGFhMWMyZGU5MGNlZDZiYWY1ZTYxNGU4ZWJhNzE4Ny4uMzc4MTdkNWZmN2I3NzJkMDg4
MzhlZTY1YTRlYjc2ZjU0NWIwM2EzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5j
cHAKQEAgLTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlw
ZUluZm8gVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjppbmZvID0geyBWOFRlc3RBY3RpdmVET01PYmpl
Y3Q6OkdldFRlbXBsYXRlLCBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmRlcmVmT2JqZWN0LCAwLCAw
LCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEFj
dGl2ZURPTU9iamVjdDo6aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1wbGF0
ZSwgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5
cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmplY3RWOElu
dGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IGI5MWFkYmQxMTU3
YWE2YjZjNGVmMjU4M2M4ZDE0MWNhYjJhYmE2OTEuLmUyY2VlNWExMjdmNTI4Njk1NjQ5NDk5M2Ni
NzM2NDkyZGYwZGZiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTQzLDYg
KzQzLDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcChUZXN0QWN0aXZlRE9NT2JqZWN0Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAg
ICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0
RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3Qg
aW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291
bnQgKyAwOwogICAgIHN0YXRpYyBib29sIG5hbWVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6
Ok9iamVjdD4gaG9zdCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4ga2V5LCB2ODo6QWNjZXNzVHlwZSwg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmNwcAppbmRleCBjYTFmMDM2ZjcyOTNkNTIxMjhiY2YxYTEwNTUwZTk5N2IwOGU3OTI1Li4x
ODBkNmZkOGM3MDIxMzkzMzc4NjllMjJiMGMzMTkwMjg1MTg0ZDJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RDdXN0b21OYW1lZEdldHRlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmluZm8g
PSB7IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXI6OmRlcmVmT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9
OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjppbmZvID0geyBWOFRl
c3RDdXN0b21OYW1lZEdldHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVy
OjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAog
bmFtZXNwYWNlIFRlc3RDdXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFt
ZWRHZXR0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RDdXN0b21OYW1lZEdldHRlci5oCmluZGV4IDM2ZDkxOTZjM2YxOGMyN2EzY2RmYmViMjgzMmRh
YzRmM2QwNjVhMjcuLjJhZWRhYzczMWM1M2NlOWM0OTRjMzllNjc2NGNlM2Y2M2Y5YzJhMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
dXN0b21OYW1lZEdldHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1Ymxp
YzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAo
VGVzdEN1c3RvbU5hbWVkR2V0dGVyKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZv
aWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihE
T01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0
YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6
QWNjZXNzb3JJbmZvJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQg
PSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA2NDFiYTk0NzA0NmU1YTQ4NDMyYWUxNDNmN2IwMDI0
MGQ3MDVmM2Q3Li44ZGRhOTI1MmVjNmVhMmNkNTk3NzQ5ZjkxNzQzZDhhY2NkZWJmMTEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZl
bnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0
b3I6OmluZm8gPSB7IFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RF
dmVudENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90
b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbmZvID0g
eyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRDb25zdHJ1
Y3Rvcjo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07
CiAKIG5hbWVzcGFjZSBUZXN0RXZlbnRDb25zdHJ1Y3RvclY4SW50ZXJuYWwgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCBmM2M2ZGM0ODY2Nzg2ZmEwY2U1ZWVhMGY3NDhj
OTA5ZGM1M2QxOGJkLi40MzNkY2M4N2YxYmJiZDYyNmYxN2JkYzkwODJmN2ZhOTVlN2VmZDM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChU
ZXN0RXZlbnRDb25zdHJ1Y3RvciosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lk
IGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9N
RGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0
aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMg
Y29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZp
ZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMjc4MGJlZGQxNGVj
NjVlYjMwMGE1NGY4ZDA5ZjQ2ZmQ5ZDgyMTM1OC4uYzViZGJlYjRlMjNjZTlkNTAxOTdhZWViYTQz
NDZkNjhmNGU1YTUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNyw3ICszNyw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50
VGFyZ2V0OjppbmZvID0geyBWOFRlc3RFdmVudFRhcmdldDo6R2V0VGVtcGxhdGUsIFY4VGVzdEV2
ZW50VGFyZ2V0OjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUg
fTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RFdmVudFRhcmdldDo6aW5mbyA9IHsgVjhUZXN0RXZl
bnRUYXJnZXQ6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudFRhcmdldDo6ZGVyZWZPYmplY3QsIDAs
IDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0RXZl
bnRUYXJnZXRWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCAxMTVjNWFl
OGMyNGIzNWJjNTdiYzQ4NWJmNjFkNmQ0YzAxYzIxMzk0Li5hZmIwZGUwNGIzMzRiNzBlNjc4NTUx
ODZlODA0OTJjODBmMTJjZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNDMsNiArNDMs
NyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwKFRlc3RFdmVudFRhcmdldCosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRp
YyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBw
ZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAg
ICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBpbmRleGVkUHJvcGVydHlHZXR0ZXIodWludDMyX3QsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mKTsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVydHlH
ZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFeGNlcHRpb24uY3BwCmluZGV4IDgwNjZkMjc0YjY4YTFlMjg3YmJiYzIwNGIzZjIxM2Zh
YWQwYzYzODAuLmUyYzhlOTZlYzhiN2NiYWM3NTcyOWU4ODU5OTczYWRkYTE2ODEyMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNl
cHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RFeGNlcHRpb24uY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV4Y2VwdGlvbjo6aW5mbyA9IHsgVjhUZXN0RXhj
ZXB0aW9uOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXhjZXB0aW9uOjpkZXJlZk9iamVjdCwgMCwgMCwg
V3JhcHBlclR5cGVFcnJvclByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV4Y2Vw
dGlvbjo6aW5mbyA9IHsgVjhUZXN0RXhjZXB0aW9uOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXhjZXB0
aW9uOjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVFcnJvclByb3RvdHlwZSB9Owog
CiBuYW1lc3BhY2UgVGVzdEV4Y2VwdGlvblY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmgK
aW5kZXggNDAzYzBlM2IwNzJjMDRjMzM4MzU1MmY5ODVkODZkNjgyMWJkMDBhOS4uOGE2OTA0ZmFl
NGUwNmUxMTlhZTBhNjliNTE1NzI0YTI5NzgxMDZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaApAQCAt
NDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RFeGNlcHRpb24qLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAg
ICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRE
T01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBp
bnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3Vu
dCArIDA7CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA0Njc1OTMxN2Y5MjVh
NWI1ZmQ5ZmFjZGU3OWM4ZWMxOTQ4N2Y2ZGJlLi5lY2MxNWIxNzM2ZDM4YmQ1ZmMxMDA0NjNjMGZk
ZWRiMDg4NDM4YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtNDIsNyArNDIsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6
OmluZm8gPSB7IFY4VGVzdEludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6
ZGVyZWZPYmplY3QsIFY4VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBw
ZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNl
OjppbmZvID0geyBWOFRlc3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6
OmRlcmVmT2JqZWN0LCBWOFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBX
cmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4
SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKaW5kZXggMGYzMjk2M2VmNTQ4OGJmZWE1YmIw
ZmJjMGNiODQ3YWNkNzg2ZjU0Yy4uODk2NjNjODExZjcwZDA3MmQ5MjIwY2MxZGUyMTQxMjUzYzY0
ZmM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAg
fQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRl
cmZhY2UqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2
b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZv
aWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOwogICAgIHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZlRE9NT2JqZWN0
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gY29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOWQ3YTk0ZDc1ZjEyYjQ5
ZGQ4ZDZiODZiY2Y1ZjcyZDMyMzFhYTc1OC4uOWMwYzBkODE0MDY4YTdiZDBlZDFlZGNhNjhlNDhi
YzA2ZTYzMmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcApAQCAtMzUsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJU
eXBlSW5mbyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjppbmZvID0geyBWOFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6ZGVyZWZPYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitX
cmFwcGVyVHlwZUluZm8gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW5mbyA9IHsgVjhU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI6OmRlcmVmT2JqZWN0LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3Rv
dHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFs
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggZjUz
NTk4YzFkZTQ2NDg4OGE0ZGFiZmViOTczMzk4MDVhNjY1ZGM1MC4uYzUwN2VmODVkNzM3YzRiYWE5
NDBkNjVkOTJmMjIwZTQwY2NkYWY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5l
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2
b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZv
aWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhE
ZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29u
c3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCmluZGV4IDkzNjBiN2RhYzkyNmY4ZTBjMzIyZDUxZmJi
YzA4ZjcxZDQ2YWQ4Y2MuLmFkODVjY2UyMjJlOGE1YjM2ZDMzYmNjYmNmZjE5NDczYmUxNGI3ZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3ROYW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvcjo6aW5mbyA9IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4
VGVzdE5hbWVkQ29uc3RydWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9y
Ojp0b0FjdGl2ZURPTU9iamVjdCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dy
YXBwZXJUeXBlSW5mbyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1l
ZENvbnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZP
YmplY3QsIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBX
cmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3Ry
dWN0b3JWOEludGVybmFsIHsKIApAQCAtNDIsNyArNDIsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4gdm9pZCBWOF9VU0UoVCkgeyB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3ROYW1lZENvbnN0cnVj
dG9yVjhJbnRlcm5hbAogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNv
bnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6Okdl
dFRlbXBsYXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFt
ZWRDb25zdHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJv
dG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBs
YXRlLCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25z
dHJ1Y3Rvcjo6dG9BY3RpdmVET01PYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90
eXBlIH07CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1
Y3RvckNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RO
YW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCmluZGV4IDkzNzVhZTA3NmUzZTU0YWVlZjhkNDMy
MGQwZWNlYzNhZTc3YzFkODAuLmUwNTYyYjllZjFjNWU1NjY1MWM4NTJlMDE0ODE3OTQ2YmU4MTky
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNDksNiArNDksNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwKFRlc3ROYW1lZENvbnN0cnVjdG9yKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGlj
IHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBl
cihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAg
IHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0
KiB0b0FjdGl2ZURPTU9iamVjdCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMg
Y29uc3QgaW50IGludGVybmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZp
ZWxkQ291bnQgKyAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuY3BwCmluZGV4IGE5MDE0NWQ4ODM3YzNiOTYwMTNkNzVlZDQz
M2E2NjMyMmY4ZWY5MzIuLmNlMzdlMDAyZjI1YmU1OTc1ZjExNmQ5OTU3YmRlMTgxNTUxMGRlZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Tm9kZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1XcmFwcGVyVHlwZUluZm8gVjhUZXN0Tm9kZTo6aW5mbyA9IHsgVjhUZXN0Tm9kZTo6R2V0VGVt
cGxhdGUsIFY4VGVzdE5vZGU6OmRlcmVmT2JqZWN0LCAwLCAmVjhOb2RlOjppbmZvLCBXcmFwcGVy
VHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5vZGU6OmluZm8g
PSB7IFY4VGVzdE5vZGU6OkdldFRlbXBsYXRlLCBWOFRlc3ROb2RlOjpkZXJlZk9iamVjdCwgMCwg
MCwgJlY4Tm9kZTo6aW5mbywgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNw
YWNlIFRlc3ROb2RlVjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oCmluZGV4IGNjMjBmZTllNWI2ZDBmNzg0
NGM5ZDZiZmMwZDNhYzA5ZDE1MTZhMGIuLjQwYmRkM2E5ZDRiZmM2ZTkzZTQ0MzdkNzE0ODBmYmVk
MmM0MWE0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3ROb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE5vZGUuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAg
IGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROb2RlKiwgdjg6
Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAg
IHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsK
ICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENv
dW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmlu
ZGV4IDBjNzY0OTY3YTQ4OWRlZGIwM2QwYzdhODMwOWJjYjg1ZWNmOTQ1M2MuLmRkMmU2ZjQ4OWFl
Njc3YTJhZDQ1ZmIyZDE3OWJkYzQzYzRiODcxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC03Niw3ICs3Niw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE9iajo6
aW5mbyA9IHsgVjhUZXN0T2JqOjpHZXRUZW1wbGF0ZSwgVjhUZXN0T2JqOjpkZXJlZk9iamVjdCwg
MCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRl
c3RPYmo6OmluZm8gPSB7IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZP
YmplY3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFj
ZSBUZXN0T2JqVjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouaAppbmRleCAyMTMzYmNlZjRiMTFmNTlkZTJmMzUx
OWUzOTMzNDc0MjY2MmIxZDc3Li5iYzBlMTdiNWMxYzM3YTBkMTM1NzBkMzdhOTliNWM2NmExYzNm
YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE9iai5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5l
IHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE9iaiosIHY4OjpJc29sYXRl
KiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMg
dm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21NZXRob2RDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJik7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21NZXRo
b2RXaXRoQXJnc0NhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggNWIy
NzUyZjg0NjZiYjk3NDA5NzY4MzJhYzhhNWYxMDQ4ZGUwYTAxZS4uMjhlY2Q5NDA4NTkwZjU5ZDU4
NmZlN2JlOGFjMGIwYTcyMDhkODQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlOjppbmZvID0geyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6
OmRlcmVmT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBl
clR5cGVJbmZvIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsg
VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3Jh
cHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDEyOTBiODVhYzkwNGRkZDdl
M2UwY2ViYmM1MzA5MWVkMjg1YzA2OGEuLmFiZDczZTQzOGY1OWJjZTNjZGI5NTBjM2Q2MGE1OGNi
ZDE1NDIyMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxp
bmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVy
ZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRh
U3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBX
cmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25z
dCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRD
b3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4
IGFkMTg4ZWVhYTA3M2QwM2FlYTM0YzM2ZDY1ZmM1ZDlmOGQ4YzFhMzguLmNjZjJmOTg5NzRlNzZk
ODMxZGI3YmQ0MjU3ODkwNzk3NGYxODMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L05QVjhPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
V3JhcHBlclR5cGVJbmZvKiBucE9iamVjdFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBl
clR5cGVJbmZvIHR5cGVJbmZvID0geyAwLCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3Rv
dHlwZSB9OworICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gdHlwZUluZm8gPSB7IDAsIDAsIDAs
IDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAgICAgcmV0dXJuICZ0eXBlSW5m
bzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3Bw
CmluZGV4IDA5M2M2NDRhNTcwNTZhNWNlYzUzOTkwMmZlNzY4YjY5NzZhNzUwZWQuLmZmODVmNTMw
ZmM1NmU3MWNmODdmYzNjYjY3MjFhNTJjN2ViYzdmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHAKQEAgLTM0MCw2ICszNDAsOSBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqIHN0b3JlLCB2b2lkKiBv
YmplY3QsIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIpCiAgICAgeworICAgICAg
ICBXcmFwcGVyVHlwZUluZm8qIGluZm8gPSBWOERPTVdyYXBwZXI6OmRvbVdyYXBwZXJUeXBlKHdy
YXBwZXIpOworICAgICAgICBpZiAoaW5mby0+ZG9tV3JhcHBlclZpc2l0b3JGdW5jdGlvbikKKyAg
ICAgICAgICAgIGluZm8tPmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24oc3RvcmUsIG9iamVjdCwg
d3JhcHBlcik7CiAgICAgfQogCiAgICAgdm9pZCBhcHBseUdyb3VwaW5nKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKaW5kZXggOWU1ZjA0ZmVkYzlhMjA3
OWE0NDIxOTUxNzA0ZDZlMDU2M2EyN2QyMC4uYWZjMGM4NzU1M2ZlNjM3MDQ3NTBlYzk5ZmRjOGZj
OWNjNDBjMTcxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBl
clR5cGVJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJ
bmZvLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBj
bGFzcyBBY3RpdmVET01PYmplY3Q7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlOwogICAgIAogICAg
IHN0YXRpYyBjb25zdCBpbnQgdjhET01XcmFwcGVyVHlwZUluZGV4ID0gMDsKICAgICBzdGF0aWMg
Y29uc3QgaW50IHY4RE9NV3JhcHBlck9iamVjdEluZGV4ID0gMTsKQEAgLTQ2LDYgKzQ3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+ICgqR2V0VGVtcGxhdGVGdW5jdGlvbikoKTsKICAgICB0eXBlZGVmIHZvaWQg
KCpEZXJlZk9iamVjdEZ1bmN0aW9uKSh2b2lkKik7CiAgICAgdHlwZWRlZiBBY3RpdmVET01PYmpl
Y3QqICgqVG9BY3RpdmVET01PYmplY3RGdW5jdGlvbikodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7
CisgICAgdHlwZWRlZiB2b2lkICgqRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbikoRE9NRGF0YVN0
b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKIAogICAgIGVudW0gV3Jh
cHBlclR5cGVQcm90b3R5cGUgewogICAgICAgICBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSwK
QEAgLTk2LDYgKzk4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjb25zdCBHZXRU
ZW1wbGF0ZUZ1bmN0aW9uIGdldFRlbXBsYXRlRnVuY3Rpb247CiAgICAgICAgIGNvbnN0IERlcmVm
T2JqZWN0RnVuY3Rpb24gZGVyZWZPYmplY3RGdW5jdGlvbjsKICAgICAgICAgY29uc3QgVG9BY3Rp
dmVET01PYmplY3RGdW5jdGlvbiB0b0FjdGl2ZURPTU9iamVjdEZ1bmN0aW9uOworICAgICAgICBj
b25zdCBET01XcmFwcGVyVmlzaXRvckZ1bmN0aW9uIGRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb247
CiAgICAgICAgIGNvbnN0IFdyYXBwZXJUeXBlSW5mbyogcGFyZW50Q2xhc3M7CiAgICAgICAgIGNv
bnN0IFdyYXBwZXJUeXBlUHJvdG90eXBlIHdyYXBwZXJUeXBlUHJvdG90eXBlOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNo
ZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0
eWxlU2hlZXRDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjNhMmQy
ZjIwN2Q0NWU4MzFiNDJmNzVjODA1NzI0ZDA4OGFmZDY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxlU2hlZXQuaCIKLQotI2lu
Y2x1ZGUgIlY4RE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxlU2hlZXQqIGlt
cGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0
dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXBwZXIgPSBWOENTU1N0eWxlU2hlZXQ6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAgLy8g
QWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25l
ciBub2RlLgotICAgIE5vZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlm
IChvd25lck5vZGUgJiYgIXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6
OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVy
Tm9kZSwgaXNvbGF0ZSkpOwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkYjA0NWE4NDQ5OTNhMWVkOWZmNjYy
M2FmMzRhN2YzNzA3NzY5YmY3Li5jZGJmMzg1ODFkYTRhNzNlNmQ4OTE4M2M3ODRmMmU0YjdjYjUy
MGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01T
dHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4NCw0IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOERPTVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4KICAgICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KERPTVN0cmluZ01hcCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAg
aWYgKCFpbXBsKQotICAgICAgICByZXR1cm4gdjhOdWxsV2l0aENoZWNrKGlzb2xhdGUpOwotICAg
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGlt
cGwsIGlzb2xhdGUpOwotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxl
bWVudCB0byB0aGUgRE9NU3RyaW5nTWFwLgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5l
bGVtZW50KCk7Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAg
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlz
b2xhdGUpOwotICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZh
bHVlLT5Jc09iamVjdCgpKQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+
KCktPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdNYXAoKSwg
d3JhcHBlcik7Ci0gICAgfQotICAgIHJldHVybiB3cmFwcGVyOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhET01Ub2tlbkxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNmRkOGVjZmNmZWM5MWU4MzEzYmFhNzBmYTZmY2I4YjQyZDc5ZTYzZC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0
OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOERPTVRva2VuTGlzdC5o
IgotCi0jaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0j
aW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhFbGVtZW50LmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0
KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAg
IHJldHVybiB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiB3cmFwcGVyID0gVjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAg
Ly8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tl
bkxpc3QuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAo
IXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGVsZW1lbnRWYWx1ZSA9IHRvVjgoZWxlbWVudCwgaXNvbGF0ZSk7Ci0gICAgICAgIGlm
ICghZWxlbWVudFZhbHVlLklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0g
ICAgICAgICAgICBlbGVtZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUo
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRD
b25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
SW1hZ2VFbGVtZW50Q29uc3RydWN0b3IuY3BwCmluZGV4IGU3OGM5NWEwODkzMjM1MzdhZDE3NDE1
NDZlZTRhOGQzNDEwZDM0ZWMuLjcyM2EwYjViNDkzM2RjNDYxYjBjZDE5NDAxM2I2Mjg2Y2YzODYy
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJ
bWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtNDQsNyArNDQs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFn
ZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0
b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9Owor
V3JhcHBlclR5cGVJbmZvIFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjppbmZvID0geyBW
OEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdy
YXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggNzM5ZThkMmViNTc0MzE4ZmY5
NjhhZTQxYjQyZTFiNDA5ZmNkODNkZC4uZDJlMzQ4MzM0ZmE0YTQ5M2M5ZTNiOTdiMWNmYjk5OTg2
MWZiNDIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2RlTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCkBAIC03MSwxNiArNzEsNCBAQCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhOYW1lZE5vZGVNYXA6Om5hbWVkUHJvcGVydHlHZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+CiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgaW5mby5H
ZXRJc29sYXRlKCkpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVN
YXAqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAg
ICAgcmV0dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBwZXIgPSBWOE5hbWVkTm9kZU1hcDo6d3JhcChpbXBsLCBpc29sYXRlKTsKLSAg
ICAvLyBBZGQgYSBoaWRkZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQgbm9kZSBtYXAgdG8gaXRzIG93
bmVyIG5vZGUuCi0gICAgRWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBp
ZiAoIXdyYXBwZXIuSXNFbXB0eSgpICYmIGVsZW1lbnQpCi0gICAgICAgIHdyYXBwZXItPlNldEhp
ZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpvd25lck5vZGUoKSwgdG9WOChlbGVtZW50
LCBpc29sYXRlKSk7Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0
eWxlU2hlZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U3R5bGVTaGVldEN1c3RvbS5jcHAKaW5kZXggYTU4YjY5OTA5ZjIzZmExYzc0NjdmNjQyYmE3MTg2
YmRiMjE5Y2FiNC4uN2ExMDIxY2U0MWRkYjdjMzE2MDhhOTY2ZTEzNzk2MmMwZWEzYWViYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVT
aGVldEN1c3RvbS5jcHAKQEAgLTQyLDEzICs0Miw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KFN0eWxlU2hlZXQqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogICAgIGlmICghaW1w
bCkKICAgICAgICAgcmV0dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKICAgICBpZiAoaW1w
bC0+aXNDU1NTdHlsZVNoZWV0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENT
U1N0eWxlU2hlZXQqPihpbXBsKSwgaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyID0gVjhTdHlsZVNoZWV0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotICAgIC8vIEFk
ZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSBzdHlsZXNoZWV0IG9iamVjdCB0byBpdHMgb3duZXIg
bm9kZS4KLSAgICBOb2RlKiBvd25lck5vZGUgPSBpbXBsLT5vd25lck5vZGUoKTsKLSAgICBpZiAo
b3duZXJOb2RlICYmICF3cmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgVjhET01XcmFwcGVyOjpz
ZXROYW1lZEhpZGRlblJlZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChvd25lck5v
ZGUsIGlzb2xhdGUpKTsKLSAgICByZXR1cm4gd3JhcHBlcjsKKyAgICAgICAgcmV0dXJuIHRvVjgo
c3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KGltcGwpKTsKKyAgICByZXR1cm4gVjhTdHlsZVNo
ZWV0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tM
aXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRU
cmFja0xpc3RDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjdmMTBm
ZjY5ZTFiNTMxYWY3NDliZTg4ZjBhYTMzOWYyNmYyN2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFRleHRUcmFja0xpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOFRleHRUcmFja0xpc3QuaCIKLQotI2lu
Y2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRl
ICJWOERPTVdyYXBwZXIuaCIKLSNpbmNsdWRlICJWOEhUTUxNZWRpYUVsZW1lbnQuaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXh0VHJhY2tM
aXN0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAg
ICAgIHJldHVybiB2OE51bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiB3cmFwcGVyID0gVjhUZXh0VHJhY2tMaXN0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwot
Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBtZWRpYSBlbGVtZW50IHRv
IHRoZSB0ZXh0IHRyYWNrIGxpc3QuCi0gICAgTm9kZSogZWxlbWVudCA9IGltcGwtPm93bmVyKCk7
Ci0gICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwot
ICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09i
amVjdCgpKQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhp
ZGRlblZhbHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjp0ZXh0VHJhY2tzKCksIHdyYXBwZXIpOwot
ICAgIH0KLSAgICByZXR1cm4gd3JhcHBlcjsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsCmluZGV4IDk2MmM5ZGJkY2NmOTI0NDM1YjJl
ZjZjZDE1MmJmN2JlYzNhZGEwNjAuLjc4MmRiNTg2Y2U0OTFiOGIzNDRiMjViMWQxNmQ1MTA5MTRk
Yjc4MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKQEAgLTIyLDcgKzIyLDcg
QEAgbW9kdWxlIGNzcyB7CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAg
IGludGVyZmFjZSBbCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBWOEdlbmVy
YXRlSXNSZWFjaGFibGU9SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIENTU1N0eWxlU2hlZXQgOiBT
dHlsZVNoZWV0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGUgICAgICAgICAg
b3duZXJSdWxlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBj
c3NSdWxlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAppbmRleCA5ZTIwZDg0YWNjM2IwZTQy
MWM3MWIxZTM2OWUyMGEyMTMzM2I3NzIzLi5iODU2OGJmYjIwNTIyM2Q3YTRiOTkxY2JjOWE2ZTFl
OGI0ODg2NDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCkBAIC0yNiw3ICsyNiw3IEBA
IG1vZHVsZSBzdHlsZXNoZWV0cyB7CiAgICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAg
ICAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICAgICAgT2JqQ1BvbHltb3JwaGljLAotICAgICAg
ICBWOERlcGVuZGVudExpZmV0aW1lCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBs
T3duZXJOb2RlUm9vdAogICAgIF0gU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgICAgICAgIHR5
cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgIGRpc2FibGVk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAppbmRleCA5ODBkMDQ0Y2QwMmFiMWFmNWY3
YTk2ZTdhNmUyYzU5NjMzZThjM2RmLi4wNDVkNTIyMzIyOWYyYzI5YmE3ZjYxNjY2YjQ2YzU5ZWJh
ODJhY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbApAQCAtMjYsMTIgKzI2LDEx
IEBACiBtb2R1bGUgY29yZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRl
SXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxl
PUltcGxFbGVtZW50Um9vdCwKICAgICAgICAgTmFtZWRHZXR0ZXIsCiAgICAgICAgIEN1c3RvbURl
bGV0ZVByb3BlcnR5LAogICAgICAgICBDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSwKLSAgICAgICAg
Q3VzdG9tTmFtZWRTZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBD
dXN0b21OYW1lZFNldHRlcgogICAgIF0gRE9NU3RyaW5nTWFwIHsKICAgICB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9OYW1lZE5vZGVNYXAuaWRsCmluZGV4IDg4ODIwYzAxNzJmNTYzYzY0NDY2NTUzMjFjYzQ1
YThkZWViNjRhYWMuLjdlZTZiNzU2NzdhYTMyOGRlMWIxMzRjZjQwYzU1ZDIzNWNhYmRjZGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCkBAIC0yMSwxMSArMjEsMTAgQEAKIG1vZHVs
ZSBjb3JlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJs
ZT1JbXBsRWxlbWVudFJvb3QsCi0gICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAorICAgICAg
ICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKICAgICAgICAgSW5kZXhlZEdl
dHRlciwKLSAgICAgICAgTmFtZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAor
ICAgICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICAgICAgTmFtZWRHZXR0ZXIKICAgICBd
IE5hbWVkTm9kZU1hcCB7CiAKICAgICAgICAgTm9kZSBnZXROYW1lZEl0ZW0oaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaWRsCmluZGV4IDU1YjYzNmY3ZDdhNWFiMWE2MDMzNTZhYTIyZDdmNjRlOTg5YWNk
ZTYuLmNmNTdlMWFlZWY5NmUyOTY3NTAwZWUxN2U1MGY0MmZkMDg5YzY3MmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTI1LDkgKzI1LDggQEAKIG1vZHVsZSBjb3JlIHsK
IAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxl
bWVudFJvb3QsCi0gICAgICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09i
amVjdAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKKyAgICAg
ICAgSW5kZXhlZEdldHRlcgogICAgIF0gRE9NVG9rZW5MaXN0IHsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBbVHJlYXRSZXR1cm5lZE51
bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCmluZGV4IDNmNmVm
YWMwYzY3NmEzZjY1MTJkYmExMDJkYzljMzJkN2M3OTIyMjcuLmFkNGU4NjIxYzY4NDg4NjYzN2M4
ODkyMjIyZjllOGM2NDE1Yjc4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVGV4dFRyYWNrTGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0
VHJhY2tMaXN0LmlkbApAQCAtMjgsMTEgKzI4LDExIEBAIG1vZHVsZSBodG1sIHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKICAgICAgICAgVjhFbmFi
bGVkQXRSdW50aW1lPXdlYmtpdFZpZGVvVHJhY2ssCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVj
dCwKICAgICAgICAgSW5kZXhlZEdldHRlciwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAg
IEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAotICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlCisgICAg
ICAgIEpTQ3VzdG9tSXNSZWFjaGFibGUsCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1J
bXBsT3duZXJSb290CiAgICAgXSBUZXh0VHJhY2tMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBUZXh0VHJhY2sgaXRlbShpbiB1
bnNpZ25lZCBsb25nIGluZGV4KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148683</attachid>
            <date>2012-06-20 17:08:07 -0700</date>
            <delta_ts>2012-06-21 12:09:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80880-20120620170807.patch</filename>
            <type>text/plain</type>
            <size>59457</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNTg5MDY5YTJhNTM0
NTA0ZTgyYzExODFmZWMwNzMxYzFkNzY5Ni4uYzIwNGFiNDhjMDIyMjU2ZjhlMzJjMWU2MTlmODAz
YTIyZDI3Zjk3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMi0wNi0yMCAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBXZSB1c2VkIHRvIGFkZCBhIGhp
ZGRlbiBwcm9wZXJ0eSBpbiB0aGUgZ2V0dGVyIHRvIHRoZSByZXR1cm5lZCB3cmFwcGVyLgorICAg
ICAgICBXaXRoIHRoaXMgcGF0Y2ggd2UgaW5zdGVhZCBoYW5kbGUgdGhlIGxpdmVuZXNzIG9mIHRo
ZSB3cmFwcGVyIGluIHRoZSBHQyBwaGFzZSBieQorICAgICAgICBjYWxsaW5nIHY4OjpWODo6QWRk
SGlkZGVuUmVmZXJlbmNlLgorCisgICAgICAgIFRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIGN1c3Rv
bSBjb2RlIHdlIG5lZWQsIHRoZSBWOCBjb2RlIGdlbmVyYXRvciBub3cgc3VwcG9ydHMKKyAgICAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZSAoYXMgd2VsbCBhcyBDdXN0b21Jc1JlYWNoYWJsZSkgd2hp
Y2gsIGV2ZW4gdGhvdWdoIGRpZmZlcmVudAorICAgICAgICBmcm9tIHRoZSBKU0MgYXR0cmlidXRl
LCBpcyB1c2VkIGluIHRoZSBzYW1lIGNhc2VzIGFuZCB0YWtlcyB0aGUgc2FtZSB2YWx1ZXMgKGV2
ZW4gdGhvdWdoCisgICAgICAgIGF0IHRoZSBtb21lbnQgbm90IGFsbCBKU0MgdmFsdWVzIGFyZSBz
dXBwb3J0ZWQgYnkgVjgpLiBJbnRlcmZhY2VzIHRoYXQgaGF2ZSAqSXNSZWFjaGFibGUKKyAgICAg
ICAgYWxzbyBoYXZlIGEgZGVwZW5kZW50IGxpZmUgdGltZSAoanVzdCBsaWtlIGlmIFY4RGVwZW5k
ZW50TGlmZXRpbWUgd2FzIHByZXNlbnQpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
VXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSk6IEFic3RyYWN0ZWQgR2VuZXJhdGVJc1JlYWNoYWJsZSBhbmQgSlNHZW5lcmF0ZUlzUmVh
Y2hhYmxlLgorICAgICAgICAoR2V0Q3VzdG9tSXNSZWFjaGFibGUpOiBEaXR0by4KKyAgICAgICAg
KEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoTmVl
ZHNUb1Zpc2l0RE9NV3JhcHBlcik6CisgICAgICAgIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKToK
KyAgICAgICAgKEdldEN1c3RvbUlzUmVhY2hhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlVmlzaXRE
T01XcmFwcGVyKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRl
TmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0
NjRBcnJheS5oOgorICAgICAgICAoVjhGbG9hdDY0QXJyYXkpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURP
TU9iamVjdC5oOgorICAgICAgICAoVjhUZXN0QWN0aXZlRE9NT2JqZWN0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmg6CisgICAgICAgIChWOFRlc3RDdXN0b21OYW1lZEdldHRlcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVu
dFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50VGFy
Z2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RFeGNlcHRpb24uaDoKKyAgICAgICAgKFY4VGVzdEV4Y2VwdGlvbik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgIChWOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaDoKKyAgICAgICAgKFY4VGVzdE5vZGUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5o
OgorICAgICAgICAoVjhUZXN0T2JqKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAgICAgICAgKFY4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpucE9iamVjdFR5cGVJbmZvKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcm91cGVyVmlzaXRv
cjo6dmlzaXRET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9XcmFwcGVyVHlwZUlu
Zm8uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV3JhcHBlclR5cGVJbmZvKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxl
bWVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9t
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5pZGw6CisgICAgICAg
ICogY3NzL1N0eWxlU2hlZXQuaWRsOgorICAgICAgICAqIGRvbS9ET01TdHJpbmdNYXAuaWRsOgor
ICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5M
aXN0LmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsOgorCiAyMDEy
LTA2LTIwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVzZSBJbnRTaXplIGluIFJlbmRlckxheWVyIHRvIHJlcHJlc2VudCBzY3JvbGwgb2Zmc2V0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggZGQ5ZmRjMGIxNDI5M2VlYWQ3ZGExOGUyOGRkNjRlYmRkZjY3YWI5
ZC4uZmNjMmY0MGUzZWM5OGJlMTIxNjYwODIyNjdiOTIxN2Y4MzlkMWEwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC0xNTgsNyArMTU4LDYgQEAgdjggewogICAgICAgICBcCiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOENTU1ZhbHVlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwIFwKQEAgLTE2Nyw4ICsxNjYsNyBAQCB2OCB7
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRIb3N0
Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1
c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCkBAIC0yMTUsNyArMjEzLDYgQEAgdjgg
ewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3BwIFwKLSAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1VzZVY4LmNtYWtlCmluZGV4IGZmZmMyNmIxMzVlNDJmMzM2ZmY3Mjc0OWI0ZTRhNTJiZDE3NzNl
ZGYuLmExM2YxZDM5YTdkNzRkNjcxYWRlYTNkZDljYjFhYTQxYTNlZGJmZTAgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNt
YWtlCkBAIC03NCw3ICs3NCw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENT
U1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
U3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNw
cApAQCAtODUsNyArODQsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRv
a2VuTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKQEAg
LTE0Nyw3ICsxNDUsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFN0eWxlU2hlZXRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVl
dExpc3RDdXN0b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGM4OTc0ZDJkNjUyZGJlYTY2ODI3MGRhM2RmOGY0M2JmODRhMjIyYzQuLmMxZTIwN2I3MTMyMjZi
MDI5NWJkMzQzOGM5MmRhY2M2MzAzZTc4YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyNjIsNyAr
MjI2Miw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9u
Q3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVT
aGVldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1Zh
bHVlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCkBAIC0yMjc1LDcgKzIyNzQsNiBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAnLApAQCAtMjM0OCw3ICsyMzQ2LDYgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCcsCi0gICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IGVjNDhmNDVjNjgwYjZkMDdjMzcyNzhkOTBlMTIwYzBjNzZiZDRmNTAuLmU0NWU3NjJk
YjlhYjM2YTcxOGE2YWJlMGRhOTgxNTI2NjVkZGM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zODQsNiArMzg0LDE4
IEBAIHN1YiBwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3NvcgogICAgIH0KIH0KIAorc3ViIEdldEdl
bmVyYXRlSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1
cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9
IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJs
ZSJ9OworfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUg
PSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1
c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKIHN1YiBHZW5lcmF0ZUdldE93blByb3BlcnR5U2xvdEJv
ZHkKIHsKICAgICBteSAoJGRhdGFOb2RlLCAkaW50ZXJmYWNlTmFtZSwgJGNsYXNzTmFtZSwgJGlt
cGxDbGFzc05hbWUsICRoYXNBdHRyaWJ1dGVzLCAkaW5saW5lZCkgPSBAXzsKQEAgLTk5Myw4ICsx
MDA1LDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgaWYgKCEkaGFzUGFyZW50
IHx8Ci0gICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJ
c1JlYWNoYWJsZSJ9IHx8IAotICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn0gfHwgCisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFi
bGUoJGRhdGFOb2RlKSB8fAorICAgICAgICBHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUp
IHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tRmlu
YWxpemUifSB8fAogICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3Rp
dmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgSlMk
e2ltcGxDbGFzc05hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7
CkBAIC0yMjg1LDcgKzIyOTcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAg
ICB9CiAgICAgfQogCi0gICAgaWYgKCghJGhhc1BhcmVudCAmJiAhJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9KXx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CisgICAgaWYgKCghJGhhc1Bh
cmVudCAmJiAhR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSl8fCBHZXRHZW5lcmF0ZUlz
UmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
QWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJzdGF0aWMg
aW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlKEpTJHtpbXBsQ2xhc3NOYW1lfSoganMke2ltcGxDbGFz
c05hbWV9KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChqcyR7aW1wbENsYXNzTmFtZX0tPmhhc0N1c3Rv
bVByb3BlcnRpZXMoKSlcbiIpOwpAQCAtMjMxMywyMSArMjMyNSwyMSBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICB9CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IGlmICghaXNPYnNlcnZhYmxlKGpzJHtpbXBsQ2xhc3NOYW1lfSkpXG4iKTsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwotICAgICAgICBpZiAo
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0p
IHsKKyAgICAgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSkgewogICAg
ICAgICAgICAgbXkgJHJvb3RTdHJpbmc7Ci0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGwiKSB7Cisg
ICAgICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBs
IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgJHtpbXBsVHlwZX0qIHJv
b3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSBlcSAiSW1wbENvbnRleHQiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlz
UmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxDb250ZXh0IikgewogICAgICAgICAgICAgICAg
ICRyb290U3RyaW5nICA9ICIgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiByb290ID0ganMke2lt
cGxDbGFzc05hbWV9LT5pbXBsKCktPmNvbnRleHQoKTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSBlcSAiSW1wbEZyYW1lIikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRnJhbWUiKSB7CiAgICAgICAgICAgICAgICAgJHJv
b3RTdHJpbmcgID0gIiAgICBGcmFtZSogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgp
LT5mcmFtZSgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgIGlmICgh
cm9vdClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJu
IGZhbHNlO1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRG9jdW1lbnQiKSB7Cisg
ICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEg
IkltcGxEb2N1bWVudCIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIERv
Y3VtZW50KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmRvY3VtZW50KCk7XG4i
OwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFyb290KVxuIjsKICAg
ICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwot
ICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxFbGVtZW50Um9vdCIpIHsKKyAgICAgICAgICAg
IH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEVsZW1l
bnRSb290IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgRWxlbWVudCog
ZWxlbWVudCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpLT5lbGVtZW50KCk7XG4iOwogICAg
ICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFlbGVtZW50KVxuIjsKICAgICAg
ICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwpAQCAt
MjM1MSw4ICsyMzYzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgIGlmICgh
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21GaW5hbGl6ZSJ9ICYmCiAg
ICAgICAgICghJGhhc1BhcmVudCB8fAotICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwKLSAgICAgICAgICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fAorICAgICAgICAg
R2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgICBHZXRDdXN0b21J
c1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CiAgICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ2b2lkIEpTJHtpbXBsQ2xhc3NOYW1lfU93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxK
U0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dClcbiIpOwogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIntcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBkMzhhMTU1OTM0NDllZmQ2NjY4NjY1Yzk0YTY0
ZWRjNjllNTc2ZGRlLi5hOTI5ODlhNTJkZDY1ZGY0N2NmZWE0OTAyZWM5ZjY4NjdlZjE5OGQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQpAQCAtMTgxLDYgKzE4MSw2MyBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgfQog
fQogCitzdWIgTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcgoreworICAgIG15ICRkYXRhTm9kZSA9IHNo
aWZ0OworICAgIHJldHVybiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgR2V0
Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKTsKK30KKworc3ViIEdldEdlbmVyYXRlSXNSZWFj
aGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4R2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICIiCit9
CisKK3N1YiBHZXRDdXN0b21Jc1JlYWNoYWJsZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0
OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1Jl
YWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tSXNS
ZWFjaGFibGUifTsKK30KKworc3ViIEdlbmVyYXRlVmlzaXRET01XcmFwcGVyCit7CisgICAgbXkg
KCRkYXRhTm9kZSwgJGltcGxDbGFzc05hbWUpID0gQF87CisKKyAgICBpZiAoR2V0Q3VzdG9tSXNS
ZWFjaGFibGUoJGRhdGFOb2RlKSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcHVz
aChAaW1wbENvbnRlbnQsIDw8RU5EKTsKK3ZvaWQgVjgke2ltcGxDbGFzc05hbWV9Ojp2aXNpdERP
TVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiB3cmFwcGVyKQoreworICAgICR7aW1wbENsYXNzTmFtZX0qIGltcGwgPSBz
dGF0aWNfY2FzdDwke2ltcGxDbGFzc05hbWV9Kj4ob2JqZWN0KTsKK0VORAorICAgIGlmIChHZXRH
ZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgICJJbXBsRWxlbWVudFJvb3QiIHx8Cisg
ICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIkltcGxPd25lclJv
b3QiIHx8CisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIklt
cGxPd25lck5vZGVSb290IikgeworCisgICAgICAgIG15ICRtZXRob2ROYW1lOworICAgICAgICAk
bWV0aG9kTmFtZSA9ICJlbGVtZW50IiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5v
ZGUpIGVxICJJbXBsRWxlbWVudFJvb3QiKTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXIi
IGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxPd25lclJvb3Qi
KTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXJOb2RlIiBpZiAoR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsT3duZXJOb2RlUm9vdCIpOworCisgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCA8PEVORCk7CisgICAgaWYgKE5vZGUqIG93bmVyID0gaW1wbC0+JHtt
ZXRob2ROYW1lfSgpKSB7CisgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG93bmVy
V3JhcHBlciA9IHN0b3JlLT5kb21Ob2RlTWFwKCkuZ2V0KG93bmVyKTsKKyAgICAgICAgaWYgKCFv
d25lcldyYXBwZXIuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICB2ODo6UGVyc2lzdGVudDx2ODo6
VmFsdWU+IHZhbHVlID0gd3JhcHBlcjsKKyAgICAgICAgICAgIHY4OjpWODo6QWRkSW1wbGljaXRS
ZWZlcmVuY2VzKG93bmVyV3JhcHBlciwgJnZhbHVlLCAxKTsKKyAgICAgICAgfQorICAgIH0KK0VO
RAorICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit9CisKK0VORAorfQor
CiBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogewogICAgIG15ICRpbXBsVHlwZSA9IHNoaWZ0OwpA
QCAtMjM1LDcgKzI5Miw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICRjb2RlR2VuZXJhdG9y
LT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2VzKCRkYXRh
Tm9kZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdlbmVyYXRvci0+TGlua092ZXJsb2Fk
ZWRGdW5jdGlvbnMoJGRhdGFOb2RlKTsKIAotICAgIG15ICRoYXNEZXBlbmRlbnRMaWZldGltZSA9
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5kZW50TGlmZXRpbWUifSB8
fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSB8fCAk
Y2xhc3NOYW1lID1+IC9TVkcvOworICAgIG15ICRoYXNEZXBlbmRlbnRMaWZldGltZSA9ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5kZW50TGlmZXRpbWUifSB8fCAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifQorICAgICAgICAg
fHwgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8ICRjbGFzc05hbWUgPX4gL1NW
Ry87CiAgICAgaWYgKCEkaGFzRGVwZW5kZW50TGlmZXRpbWUpIHsKICAgICAgICAgZm9yZWFjaCAo
QHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVH
ZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKQEAgLTMyOSw2ICszODcsNyBAQCBFTkQKICAgICB9
CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoJHtuYXRpdmVU
eXBlfSosIHY4OjpJc29sYXRlKiA9IDAke2ZvcmNlTmV3T2JqZWN0UGFyYW1ldGVyfSk7CiAgICAg
c3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9N
V3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4p
OwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKIEVORAogICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewpAQCAtMTg3MSwx
MiArMTkzMCwxMiBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2sKIAogICAg
IGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3JhcHBlclR5cGVJbmZvIFY4
JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1D
b25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6ZGVyZWZPYmplY3Qs
IFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2Jq
ZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3Ry
dWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0
ZSwgVjgke2ltcGxDbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgVjgke2ltcGxDbGFzc05hbWV9Ojp0
b0FjdGl2ZURPTU9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAog
RU5ECiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLVdy
YXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgk
e2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCBXcmFwcGVy
VHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1l
fUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIEVO
RAogICAgIH0KQEAgLTI0MjgsNiArMjQ4Nyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRpbnRlcmZhY2VOYW1lKTsKIAogICAgIG15ICR0b0Fj
dGl2ZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9
ID8gIiR7Y2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QiIDogIjAiOworICAgIG15ICRkb21W
aXNpdG9yID0gTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUpID8gIiR7Y2xhc3NOYW1l
fTo6dmlzaXRET01XcmFwcGVyIiA6ICIwIjsKIAogICAgICMgRmluZCB0aGUgc3VwZXIgZGVzY3Jp
cHRvci4KICAgICBteSAkcGFyZW50Q2xhc3MgPSAiIjsKQEAgLTI0NDcsNyArMjUwNyw3IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICBteSAkV3JhcHBlclR5cGVQcm90b3R5cGUg
PSAkZGF0YU5vZGUtPmlzRXhjZXB0aW9uID8gIldyYXBwZXJUeXBlRXJyb3JQcm90b3R5cGUiIDog
IldyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIjsKIAotICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsICJXcmFwcGVyVHlwZUluZm8gJHtjbGFzc05hbWV9OjppbmZvID0geyAke2NsYXNzTmFtZX06
OkdldFRlbXBsYXRlLCAke2NsYXNzTmFtZX06OmRlcmVmT2JqZWN0LCAkdG9BY3RpdmUsICRwYXJl
bnRDbGFzc0luZm8sICRXcmFwcGVyVHlwZVByb3RvdHlwZSB9O1xuXG4iKTsKKyAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsg
JHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHRv
QWN0aXZlLCAkZG9tVmlzaXRvciwgJHBhcmVudENsYXNzSW5mbywgJFdyYXBwZXJUeXBlUHJvdG90
eXBlIH07XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgJHtp
bnRlcmZhY2VOYW1lfVY4SW50ZXJuYWwge1xuXG4iKTsKIAogICAgIHB1c2goQGltcGxDb250ZW50
RGVjbHMsICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0UoVCkgeyB9XG5cbiIpOwpA
QCAtMjUwMSw2ICsyNTYxLDEwIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAg
IEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIoJGRhdGFOb2RlLCAkaW1wbENsYXNzTmFtZSk7CiAg
ICAgfQogCisgICAgaWYgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIoJGRhdGFOb2RlKSkgeworICAg
ICAgICBHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKTsK
KyAgICB9CisKICAgICBteSAkaW5kZXhlcjsKICAgICBteSAkbmFtZWRQcm9wZXJ0eUdldHRlcjsK
ICAgICAjIEdlbmVyYXRlIG1ldGhvZHMgZm9yIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDU3ZjUwYTVhY2Qy
NGM5NGQ4NWI5ZTY1NWM1MjM5M2VmM2EwYjJmYTYuLjRmZTc3MWIxYzk4YTkyZjlmM2FmM2ZiMTA0
ZmUwYmU0NGM2YzYzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtMzgsNiArMzgsNyBAQCBDdXN0b21FbnVtZXJhdGVQcm9w
ZXJ0eQogQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90CiBDdXN0b21HZXR0ZXIKIEN1c3RvbUluZGV4
ZWRTZXR0ZXIKK0N1c3RvbUlzUmVhY2hhYmxlCiBDdXN0b21OYW1lZEdldHRlcgogQ3VzdG9tTmFt
ZWRTZXR0ZXIKIEN1c3RvbVB1dEZ1bmN0aW9uCkBAIC01MSwxMSArNTIsMTIgQEAgRG9Ob3RDaGVj
a1NlY3VyaXR5T25HZXR0ZXIKIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyCiBFdmVudFRhcmdl
dAogRXh0ZW5kc0RPTUdsb2JhbE9iamVjdAorR2VuZXJhdGVJc1JlYWNoYWJsZT18SW1wbHxJbXBs
Q29udGV4dHxJbXBsRG9jdW1lbnR8SW1wbEVsZW1lbnRSb290fEltcGxGcmFtZQogSW1tdXRhYmxl
CiBJbXBsZW1lbnRlZEFzPSoKIEluZGV4ZWRHZXR0ZXIKLUludGVyZmFjZU5hbWU9KgogSW5pdGlh
bGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IKK0ludGVyZmFjZU5hbWU9KgogSXNJbmRleAogSXNXb3Jr
ZXJDb250ZXh0CiBKU0N1c3RvbQpAQCAtMTA3LDExICsxMDksMTMgQEAgVVJMCiBWOEN1c3RvbQog
VjhDdXN0b21Db25zdHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKK1Y4Q3VzdG9tSXNSZWFjaGFibGUK
IFY4Q3VzdG9tU2V0dGVyCiBWOEN1c3RvbVRvSlNPYmplY3QKIFY4RGVwZW5kZW50TGlmZXRpbWUK
IFY4RG9Ob3RDaGVja1NpZ25hdHVyZQogVjhFbmFibGVkQXRSdW50aW1lPSoKIFY4RW5hYmxlZFBl
ckNvbnRleHQ9KgorVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsRWxlbWVudFJvb3R8SW1wbE93
bmVyUm9vdHxJbXBsT3duZXJOb2RlUm9vdAogVjhSZWFkT25seQogVjhVbmZvcmdlYWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2
NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZs
b2F0NjRBcnJheS5jcHAKaW5kZXggZGMzNTM2ZTdiOTE1NzQ0Mzc4YzRkZGZkMjg3MzkzZDRmMThm
N2E3ZC4uZDUxYzlmYWE2OGE2MGI3N2IwODc1N2ViZTU4ZDg1MmVjOTkyZjkwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9h
dDY0QXJyYXkuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
V3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJheTo6
R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgJlY4QXJyYXlCdWZm
ZXJWaWV3OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJ
bmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJheTo6R2V0VGVtcGxhdGUs
IFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4QXJyYXlCdWZmZXJWaWV3Ojpp
bmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgRmxvYXQ2NEFy
cmF5VjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKaW5kZXggYjBkZmQ1NTliYjMyNTJlNmRl
ODZhNzQ2NTU1YjMxMGUwMmI2ODA4ZS4uNDg5MjhhNGQ2NmRiMGEwZmNmNTcxMDFlZDg4NWI0MTIy
NjNmYTY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAg
IH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChGbG9hdDY0
QXJyYXkqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2
b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZv
aWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRl
cm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggMTg2Y2YyMzY2NGFhMWMyZGU5
MGNlZDZiYWY1ZTYxNGU4ZWJhNzE4Ny4uMzc4MTdkNWZmN2I3NzJkMDg4MzhlZTY1YTRlYjc2ZjU0
NWIwM2EzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTM1LDcgKzM1
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0QWN0
aXZlRE9NT2JqZWN0OjppbmZvID0geyBWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRl
LCBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmRlcmVmT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9i
amVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6
aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0QWN0aXZl
RE9NT2JqZWN0OjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5
cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFsIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IGI5MWFkYmQxMTU3YWE2YjZjNGVmMjU4M2M4
ZDE0MWNhYjJhYmE2OTEuLmUyY2VlNWExMjdmNTI4Njk1NjQ5NDk5M2NiNzM2NDkyZGYwZGZiYzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGlj
OgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChU
ZXN0QWN0aXZlRE9NT2JqZWN0Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQg
ZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01E
YXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRp
YyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmll
bGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogICAgIHN0
YXRpYyBib29sIG5hbWVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwg
djg6OkxvY2FsPHY4OjpWYWx1ZT4ga2V5LCB2ODo6QWNjZXNzVHlwZSwgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCBj
YTFmMDM2ZjcyOTNkNTIxMjhiY2YxYTEwNTUwZTk5N2IwOGU3OTI1Li4xODBkNmZkOGM3MDIxMzkz
Mzc4NjllMjJiMGMzMTkwMjg1MTg0ZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmluZm8gPSB7IFY4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmRlcmVm
T2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJ
bmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjppbmZvID0geyBWOFRlc3RDdXN0b21OYW1lZEdl
dHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpkZXJlZk9iamVjdCwg
MCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RD
dXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5oCmluZGV4IDM2ZDkxOTZjM2YxOGMyN2EzY2RmYmViMjgzMmRhYzRmM2QwNjVhMjcuLjJh
ZWRhYzczMWM1M2NlOWM0OTRjMzllNjc2NGNlM2Y2M2Y5YzJhMzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
dXN0b21OYW1lZEdldHRlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAg
aW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEN1c3RvbU5hbWVk
R2V0dGVyKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qo
dm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2
b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlw
ZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVy
dHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7
CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFw
cGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9y
LmNwcAppbmRleCA2NDFiYTk0NzA0NmU1YTQ4NDMyYWUxNDNmN2IwMDI0MGQ3MDVmM2Q3Li44ZGRh
OTI1MmVjNmVhMmNkNTk3NzQ5ZjkxNzQzZDhhY2NkZWJmMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2
ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4
VGVzdEV2ZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudENvbnN0cnVjdG9y
OjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBw
ZXJUeXBlSW5mbyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3RFdmVudENv
bnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmpl
Y3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBU
ZXN0RXZlbnRDb25zdHJ1Y3RvclY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaAppbmRleCBmM2M2ZGM0ODY2Nzg2ZmEwY2U1ZWVhMGY3NDhjOTA5ZGM1M2QxOGJkLi40
MzNkY2M4N2YxYmJiZDYyNmYxN2JkYzkwODJmN2ZhOTVlN2VmZDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAgIH0KICAgICBp
bmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRDb25zdHJ1
Y3RvciosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZv
aWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9p
ZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJ
bmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVy
bmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMjc4MGJlZGQxNGVjNjVlYjMwMGE1NGY4ZDA5
ZjQ2ZmQ5ZDgyMTM1OC4uYzViZGJlYjRlMjNjZTlkNTAxOTdhZWViYTQzNDZkNjhmNGU1YTUxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50VGFyZ2V0OjppbmZvID0g
eyBWOFRlc3RFdmVudFRhcmdldDo6R2V0VGVtcGxhdGUsIFY4VGVzdEV2ZW50VGFyZ2V0OjpkZXJl
Zk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBl
SW5mbyBWOFRlc3RFdmVudFRhcmdldDo6aW5mbyA9IHsgVjhUZXN0RXZlbnRUYXJnZXQ6OkdldFRl
bXBsYXRlLCBWOFRlc3RFdmVudFRhcmdldDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBwZXJU
eXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRWOEludGVy
bmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCAxMTVjNWFlOGMyNGIzNWJjNTdiYzQ4
NWJmNjFkNmQ0YzAxYzIxMzk0Li5hZmIwZGUwNGIzMzRiNzBlNjc4NTUxODZlODA0OTJjODBmMTJj
ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAg
ICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RF
dmVudFRhcmdldCosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2Jq
ZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3Jl
Kiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBl
clR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpbmRleGVk
UHJvcGVydHlHZXR0ZXIodWludDMyX3QsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTsKICAgICBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24u
Y3BwCmluZGV4IDgwNjZkMjc0YjY4YTFlMjg3YmJiYzIwNGIzZjIxM2ZhYWQwYzYzODAuLmUyYzhl
OTZlYzhiN2NiYWM3NTcyOWU4ODU5OTczYWRkYTE2ODEyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24u
Y3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5
cGVJbmZvIFY4VGVzdEV4Y2VwdGlvbjo6aW5mbyA9IHsgVjhUZXN0RXhjZXB0aW9uOjpHZXRUZW1w
bGF0ZSwgVjhUZXN0RXhjZXB0aW9uOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVFcnJv
clByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV4Y2VwdGlvbjo6aW5mbyA9IHsg
VjhUZXN0RXhjZXB0aW9uOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXhjZXB0aW9uOjpkZXJlZk9iamVj
dCwgMCwgMCwgMCwgV3JhcHBlclR5cGVFcnJvclByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVz
dEV4Y2VwdGlvblY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmgKaW5kZXggNDAzYzBlM2Iw
NzJjMDRjMzM4MzU1MmY5ODVkODZkNjgyMWJkMDBhOS4uOGE2OTA0ZmFlNGUwNmUxMTlhZTBhNjli
NTE1NzI0YTI5NzgxMDZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaApAQCAtNDMsNiArNDMsNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwKFRlc3RFeGNlcHRpb24qLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBk
ZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURh
dGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGlj
IFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVs
ZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA0Njc1OTMxN2Y5MjVhNWI1ZmQ5ZmFjZGU3OWM4
ZWMxOTQ4N2Y2ZGJlLi5lY2MxNWIxNzM2ZDM4YmQ1ZmMxMDA0NjNjMGZkZWRiMDg4NDM4YjFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6OmluZm8gPSB7IFY4VGVz
dEludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6ZGVyZWZPYmplY3QsIFY4
VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJv
dG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBWOFRl
c3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCBW
OFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4SW50ZXJuYWwgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0SW50ZXJmYWNlLmgKaW5kZXggMGYzMjk2M2VmNTQ4OGJmZWE1YmIwZmJjMGNiODQ3YWNkNzg2
ZjU0Yy4uODk2NjNjODExZjcwZDA3MmQ5MjIwY2MxZGUyMTQxMjUzYzY0ZmM1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJ
bnRlcmZhY2UuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRlcmZhY2UqLCB2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3Rh
dGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAg
IHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOWQ3YTk0ZDc1ZjEyYjQ5ZGQ4ZDZiODZiY2Y1Zjcy
ZDMyMzFhYTc1OC4uOWMwYzBkODE0MDY4YTdiZDBlZDFlZGNhNjhlNDhiYzA2ZTYzMmY0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMzUsNyAr
MzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjppbmZvID0geyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZGVyZWZPYmpl
Y3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8g
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW5mbyA9IHsgVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRl
cmVmT2JqZWN0LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1l
c3BhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggZjUzNTk4YzFkZTQ2NDg4OGE0
ZGFiZmViOTczMzk4MDVhNjY1ZGM1MC4uYzUwN2VmODVkNzM3YzRiYWE5NDBkNjVkOTJmMjIwZTQw
Y2NkYWY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqLCB2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3Rh
dGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAg
IHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlcklu
dGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IDkzNjBiN2RhYzkyNmY4ZTBjMzIyZDUxZmJiYzA4ZjcxZDQ2YWQ4Y2Mu
LmFkODVjY2UyMjJlOGE1YjM2ZDMzYmNjYmNmZjE5NDczYmUxNGI3ZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9
IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3Ry
dWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9i
amVjdCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBW
OFRlc3ROYW1lZENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpH
ZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIFY4VGVzdE5h
bWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0b3JWOEludGVybmFs
IHsKIApAQCAtNDIsNyArNDIsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0Uo
VCkgeyB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3ROYW1lZENvbnN0cnVjdG9yVjhJbnRlcm5hbAog
Ci1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZv
ID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRl
c3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFw
cGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZvID0geyBW
OFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1l
ZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3Rp
dmVET01PYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oCmluZGV4IDkzNzVhZTA3NmUzZTU0YWVlZjhkNDMyMGQwZWNlYzNhZTc3YzFk
ODAuLmUwNTYyYjllZjFjNWU1NjY1MWM4NTJlMDE0ODE3OTQ2YmU4MTkyOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAgICAgfQog
ICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROYW1lZENv
bnN0cnVjdG9yKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9i
amVjdCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVy
bmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5vZGUuY3BwCmluZGV4IGE5MDE0NWQ4ODM3YzNiOTYwMTNkNzVlZDQzM2E2NjMyMmY4ZWY5MzIu
LmNlMzdlMDAyZjI1YmU1OTc1ZjExNmQ5OTU3YmRlMTgxNTUxMGRlZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAK
QEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUlu
Zm8gVjhUZXN0Tm9kZTo6aW5mbyA9IHsgVjhUZXN0Tm9kZTo6R2V0VGVtcGxhdGUsIFY4VGVzdE5v
ZGU6OmRlcmVmT2JqZWN0LCAwLCAmVjhOb2RlOjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3Rv
dHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5vZGU6OmluZm8gPSB7IFY4VGVzdE5vZGU6
OkdldFRlbXBsYXRlLCBWOFRlc3ROb2RlOjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4Tm9kZTo6aW5m
bywgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3ROb2RlVjhJ
bnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3ROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0Tm9kZS5oCmluZGV4IGNjMjBmZTllNWI2ZDBmNzg0NGM5ZDZiZmMwZDNhYzA5
ZDE1MTZhMGIuLjQwYmRkM2E5ZDRiZmM2ZTkzZTQ0MzdkNzE0ODBmYmVkMmM0MWE0MDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2Rl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5v
ZGUuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROb2RlKiwgdjg6Oklzb2xhdGUqID0gMCk7
CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZp
c2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9i
amVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0
V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmluZGV4IDBjNzY0OTY3YTQ4
OWRlZGIwM2QwYzdhODMwOWJjYjg1ZWNmOTQ1M2MuLmRkMmU2ZjQ4OWFlNjc3YTJhZDQ1ZmIyZDE3
OWJkYzQzYzRiODcxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC03Niw3ICs3Niw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE9iajo6aW5mbyA9IHsgVjhUZXN0
T2JqOjpHZXRUZW1wbGF0ZSwgVjhUZXN0T2JqOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5
cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RPYmo6OmluZm8gPSB7
IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZPYmplY3QsIDAsIDAsIDAs
IFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0T2JqVjhJbnRl
cm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouaAppbmRleCAyMTMzYmNlZjRiMTFmNTlkZTJmMzUxOWUzOTMzNDc0MjY2MmIx
ZDc3Li5iYzBlMTdiNWMxYzM3YTBkMTM1NzBkMzdhOTliNWM2NmExYzNmYWJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE9iaiosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0
YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBjdXN0b21NZXRob2RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21NZXRob2RXaXRoQXJnc0NhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggNWIyNzUyZjg0NjZiYjk3NDA5
NzY4MzJhYzhhNWYxMDQ4ZGUwYTAxZS4uMjhlY2Q5NDA4NTkwZjU5ZDU4NmZlN2JlOGFjMGIwYTcy
MDhkODQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
OjppbmZvID0geyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkdldFRlbXBs
YXRlLCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCAw
LCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDEyOTBiODVhYzkwNGRkZDdlM2UwY2ViYmM1MzA5MWVk
Mjg1YzA2OGEuLmFiZDczZTQzOGY1OWJjZTNjZGI5NTBjM2Q2MGE1OGNiZDE1NDIyMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgK
QEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCop
OworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwg
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8g
aW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxG
aWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4IGFkMTg4ZWVhYTA3M2Qw
M2FlYTM0YzM2ZDY1ZmM1ZDlmOGQ4YzFhMzguLmNjZjJmOTg5NzRlNzZkODMxZGI3YmQ0MjU3ODkw
Nzk3NGYxODMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3Bw
CkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV3JhcHBlclR5cGVJbmZv
KiBucE9iamVjdFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIHR5cGVJ
bmZvID0geyAwLCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworICAgIHN0
YXRpYyBXcmFwcGVyVHlwZUluZm8gdHlwZUluZm8gPSB7IDAsIDAsIDAsIDAsIDAsIFdyYXBwZXJU
eXBlT2JqZWN0UHJvdG90eXBlIH07CiAgICAgcmV0dXJuICZ0eXBlSW5mbzsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCmluZGV4IDA5M2M2NDRh
NTcwNTZhNWNlYzUzOTkwMmZlNzY4YjY5NzZhNzUwZWQuLmZmODVmNTMwZmM1NmU3MWNmODdmYzNj
YjY3MjFhNTJjN2ViYzdmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4R0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdD
Q29udHJvbGxlci5jcHAKQEAgLTM0MCw2ICszNDAsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZp
c2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqIHN0b3JlLCB2b2lkKiBvYmplY3QsIHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIpCiAgICAgeworICAgICAgICBXcmFwcGVyVHlwZUlu
Zm8qIGluZm8gPSBWOERPTVdyYXBwZXI6OmRvbVdyYXBwZXJUeXBlKHdyYXBwZXIpOworICAgICAg
ICBpZiAoaW5mby0+ZG9tV3JhcHBlclZpc2l0b3JGdW5jdGlvbikKKyAgICAgICAgICAgIGluZm8t
PmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24oc3RvcmUsIG9iamVjdCwgd3JhcHBlcik7CiAgICAg
fQogCiAgICAgdm9pZCBhcHBseUdyb3VwaW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvV3JhcHBlclR5cGVJbmZvLmgKaW5kZXggOWU1ZjA0ZmVkYzlhMjA3OWE0NDIxOTUxNzA0ZDZl
MDU2M2EyN2QyMC4uYWZjMGM4NzU1M2ZlNjM3MDQ3NTBlYzk5ZmRjOGZjOWNjNDBjMTcxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKQEAgLTM2LDYg
KzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBjbGFzcyBBY3RpdmVET01P
YmplY3Q7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBp
bnQgdjhET01XcmFwcGVyVHlwZUluZGV4ID0gMDsKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9N
V3JhcHBlck9iamVjdEluZGV4ID0gMTsKQEAgLTQ2LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICgq
R2V0VGVtcGxhdGVGdW5jdGlvbikoKTsKICAgICB0eXBlZGVmIHZvaWQgKCpEZXJlZk9iamVjdEZ1
bmN0aW9uKSh2b2lkKik7CiAgICAgdHlwZWRlZiBBY3RpdmVET01PYmplY3QqICgqVG9BY3RpdmVE
T01PYmplY3RGdW5jdGlvbikodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CisgICAgdHlwZWRlZiB2
b2lkICgqRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbikoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKIAogICAgIGVudW0gV3JhcHBlclR5cGVQcm90b3R5
cGUgewogICAgICAgICBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSwKQEAgLTk2LDYgKzk4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjb25zdCBHZXRUZW1wbGF0ZUZ1bmN0aW9u
IGdldFRlbXBsYXRlRnVuY3Rpb247CiAgICAgICAgIGNvbnN0IERlcmVmT2JqZWN0RnVuY3Rpb24g
ZGVyZWZPYmplY3RGdW5jdGlvbjsKICAgICAgICAgY29uc3QgVG9BY3RpdmVET01PYmplY3RGdW5j
dGlvbiB0b0FjdGl2ZURPTU9iamVjdEZ1bmN0aW9uOworICAgICAgICBjb25zdCBET01XcmFwcGVy
VmlzaXRvckZ1bmN0aW9uIGRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb247CiAgICAgICAgIGNvbnN0
IFdyYXBwZXJUeXBlSW5mbyogcGFyZW50Q2xhc3M7CiAgICAgICAgIGNvbnN0IFdyYXBwZXJUeXBl
UHJvdG90eXBlIHdyYXBwZXJUeXBlUHJvdG90eXBlOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjNhMmQyZjIwN2Q0NWU4MzFiNDJm
NzVjODA1NzI0ZDA4OGFmZDY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hl
ZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRp
b24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxlU2hlZXQuaCIKLQotI2luY2x1ZGUgIlY4RE9NV3Jh
cHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxlU2hlZXQqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4TnVsbFdpdGhD
aGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOENT
U1N0eWxlU2hlZXQ6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJl
ZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAgIE5v
ZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUgJiYg
IXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVu
UmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSwgaXNvbGF0ZSkp
OwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5n
TWFwQ3VzdG9tLmNwcAppbmRleCBkYjA0NWE4NDQ5OTNhMWVkOWZmNjYyM2FmMzRhN2YzNzA3NzY5
YmY3Li5jZGJmMzg1ODFkYTRhNzNlNmQ4OTE4M2M3ODRmMmU0YjdjYjUyMGI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4NCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERP
TVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAg
ICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVN0cmlu
Z01hcCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgaWYgKCFpbXBsKQotICAg
ICAgICByZXR1cm4gdjhOdWxsV2l0aENoZWNrKGlzb2xhdGUpOwotICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGltcGwsIGlzb2xhdGUpOwot
ICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9N
U3RyaW5nTWFwLgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAg
aWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwotICAgICAg
ICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgp
KQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZh
bHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdNYXAoKSwgd3JhcHBlcik7Ci0gICAg
fQotICAgIHJldHVybiB3cmFwcGVyOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRkOGVjZmNmZWM5
MWU4MzEzYmFhNzBmYTZmY2I4YjQyZDc5ZTYzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBk
aXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
Ci0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOERPTVRva2VuTGlzdC5oIgotCi0jaW5jbHVkZSAi
RE9NVG9rZW5MaXN0LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhET01X
cmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2OE51bGxX
aXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
VjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAgLy8gQWRkIGEgaGlkZGVu
IHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCi0gICAgRWxl
bWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0
eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRW
YWx1ZSA9IHRvVjgoZWxlbWVudCwgaXNvbGF0ZSk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVl
LklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBlbGVt
ZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0
eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHdyYXBw
ZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29u
c3RydWN0b3IuY3BwCmluZGV4IGU3OGM5NWEwODkzMjM1MzdhZDE3NDE1NDZlZTRhOGQzNDEwZDM0
ZWMuLjcyM2EwYjViNDkzM2RjNDYxYjBjZDE5NDAxM2I2Mjg2Y2YzODYyMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvcjo6aW5mbyA9IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRl
LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZv
IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjppbmZvID0geyBWOEhUTUxJbWFnZUVsZW1l
bnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0
UHJvdG90eXBlIH07CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1hZ2VF
bGVtZW50Q29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggNzM5ZThkMmViNTc0MzE4ZmY5NjhhZTQxYjQyZTFiNDA5
ZmNkODNkZC4uZDJlMzQ4MzM0ZmE0YTQ5M2M5ZTNiOTdiMWNmYjk5OTg2MWZiNDIyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5v
ZGVNYXBDdXN0b20uY3BwCkBAIC03MSwxNiArNzEsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhOYW1lZE5vZGVNYXA6Om5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+
CiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgaW5mby5HZXRJc29sYXRlKCkpOwog
fQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4TnVs
bFdpdGhDaGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIg
PSBWOE5hbWVkTm9kZU1hcDo6d3JhcChpbXBsLCBpc29sYXRlKTsKLSAgICAvLyBBZGQgYSBoaWRk
ZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQgbm9kZSBtYXAgdG8gaXRzIG93bmVyIG5vZGUuCi0gICAg
RWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNF
bXB0eSgpICYmIGVsZW1lbnQpCi0gICAgICAgIHdyYXBwZXItPlNldEhpZGRlblZhbHVlKFY4SGlk
ZGVuUHJvcGVydHlOYW1lOjpvd25lck5vZGUoKSwgdG9WOChlbGVtZW50LCBpc29sYXRlKSk7Ci0g
ICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3Rv
bS5jcHAKaW5kZXggYTU4YjY5OTA5ZjIzZmExYzc0NjdmNjQyYmE3MTg2YmRiMjE5Y2FiNC4uN2Ex
MDIxY2U0MWRkYjdjMzE2MDhhOTY2ZTEzNzk2MmMwZWEzYWViYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAK
QEAgLTQyLDEzICs0Miw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFN0eWxlU2hlZXQq
IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0
dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKICAgICBpZiAoaW1wbC0+aXNDU1NTdHlsZVNo
ZWV0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENTU1N0eWxlU2hlZXQqPihp
bXBsKSwgaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhT
dHlsZVNoZWV0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZl
cmVuY2UgZnJvbSBzdHlsZXNoZWV0IG9iamVjdCB0byBpdHMgb3duZXIgbm9kZS4KLSAgICBOb2Rl
KiBvd25lck5vZGUgPSBpbXBsLT5vd25lck5vZGUoKTsKLSAgICBpZiAob3duZXJOb2RlICYmICF3
cmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJl
ZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChvd25lck5vZGUsIGlzb2xhdGUpKTsK
LSAgICByZXR1cm4gd3JhcHBlcjsKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q1NT
U3R5bGVTaGVldCo+KGltcGwpKTsKKyAgICByZXR1cm4gVjhTdHlsZVNoZWV0Ojp3cmFwKGltcGws
IGlzb2xhdGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xpc3RDdXN0b20u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjdmMTBmZjY5ZTFiNTMxYWY3NDli
ZTg4ZjBhYTMzOWYyNmYyN2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xp
c3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRp
b24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJWOFRleHRUcmFja0xpc3QuaCIKLQotI2luY2x1ZGUgIlRleHRUcmFj
a0xpc3QuaCIKLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOERPTVdyYXBwZXIu
aCIKLSNpbmNsdWRlICJWOEhUTUxNZWRpYUVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXh0VHJhY2tMaXN0KiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2OE51
bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVy
ID0gVjhUZXh0VHJhY2tMaXN0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotCi0gICAgLy8gQWRkIGEg
aGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBtZWRpYSBlbGVtZW50IHRvIHRoZSB0ZXh0IHRyYWNr
IGxpc3QuCi0gICAgTm9kZSogZWxlbWVudCA9IGltcGwtPm93bmVyKCk7Ci0gICAgaWYgKCF3cmFw
cGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwotICAgICAgICBpZiAoIWVs
ZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAg
ICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZhbHVlKFY4SGlk
ZGVuUHJvcGVydHlOYW1lOjp0ZXh0VHJhY2tzKCksIHdyYXBwZXIpOwotICAgIH0KLSAgICByZXR1
cm4gd3JhcHBlcjsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2hlZXQuaWRsCmluZGV4IDk2MmM5ZGJkY2NmOTI0NDM1YjJlZjZjZDE1MmJmN2JlYzNh
ZGEwNjAuLjc4MmRiNTg2Y2U0OTFiOGIzNDRiMjViMWQxNmQ1MTA5MTRkYjc4MjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKQEAgLTIyLDcgKzIyLDcgQEAgbW9kdWxlIGNzcyB7
CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIENTU1N0eWxlU2hlZXQgOiBTdHlsZVNoZWV0IHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGUgICAgICAgICAgb3duZXJSdWxlOwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBjc3NSdWxlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0LmlkbAppbmRleCA5ZTIwZDg0YWNjM2IwZTQyMWM3MWIxZTM2OWUyMGEy
MTMzM2I3NzIzLi5iODU2OGJmYjIwNTIyM2Q3YTRiOTkxY2JjOWE2ZTFlOGI0ODg2NDllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCkBAIC0yNiw3ICsyNiw3IEBAIG1vZHVsZSBzdHlsZXNo
ZWV0cyB7CiAgICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICAgICAgQ3VzdG9tVG9K
U09iamVjdCwKICAgICAgICAgT2JqQ1BvbHltb3JwaGljLAotICAgICAgICBWOERlcGVuZGVudExp
ZmV0aW1lCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdAog
ICAgIF0gU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgICAgICAgIHR5cGU7CiAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgIGRpc2FibGVkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NU3RyaW5nTWFwLmlkbAppbmRleCA5ODBkMDQ0Y2QwMmFiMWFmNWY3YTk2ZTdhNmUyYzU5NjMz
ZThjM2RmLi4wNDVkNTIyMzIyOWYyYzI5YmE3ZjYxNjY2YjQ2YzU5ZWJhODJhY2VlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbApAQCAtMjYsMTIgKzI2LDExIEBACiBtb2R1bGUgY29y
ZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1w
bEVsZW1lbnRSb290LAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9v
dCwKICAgICAgICAgTmFtZWRHZXR0ZXIsCiAgICAgICAgIEN1c3RvbURlbGV0ZVByb3BlcnR5LAog
ICAgICAgICBDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSwKLSAgICAgICAgQ3VzdG9tTmFtZWRTZXR0
ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBDdXN0b21OYW1lZFNldHRl
cgogICAgIF0gRE9NU3RyaW5nTWFwIHsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTmFtZWROb2RlTWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaWRsCmluZGV4IDg4ODIwYzAxNzJmNTYzYzY0NDY2NTUzMjFjYzQ1YThkZWViNjRhYWMuLjdl
ZTZiNzU2NzdhYTMyOGRlMWIxMzRjZjQwYzU1ZDIzNWNhYmRjZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
YW1lZE5vZGVNYXAuaWRsCkBAIC0yMSwxMSArMjEsMTAgQEAKIG1vZHVsZSBjb3JlIHsKIAogICAg
IGludGVyZmFjZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJv
b3QsCi0gICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAorICAgICAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPUltcGxFbGVtZW50Um9vdCwKICAgICAgICAgSW5kZXhlZEdldHRlciwKLSAgICAgICAg
TmFtZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBKU0N1c3Rv
bU1hcmtGdW5jdGlvbiwKKyAgICAgICAgTmFtZWRHZXR0ZXIKICAgICBdIE5hbWVkTm9kZU1hcCB7
CiAKICAgICAgICAgTm9kZSBnZXROYW1lZEl0ZW0oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gRE9NU3RyaW5nIG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01Ub2tlbkxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCmlu
ZGV4IDU1YjYzNmY3ZDdhNWFiMWE2MDMzNTZhYTIyZDdmNjRlOTg5YWNkZTYuLmNmNTdlMWFlZWY5
NmUyOTY3NTAwZWUxN2U1MGY0MmZkMDg5YzY3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5pZGwKQEAgLTI1LDkgKzI1LDggQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVyZmFj
ZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCi0gICAg
ICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKKyAgICAgICAgSW5kZXhlZEdldHRl
cgogICAgIF0gRE9NVG9rZW5MaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxs
XSBET01TdHJpbmcgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCmluZGV4IDNmNmVmYWMwYzY3NmEzZjY1MTJk
YmExMDJkYzljMzJkN2M3OTIyMjcuLmFkNGU4NjIxYzY4NDg4NjYzN2M4ODkyMjIyZjllOGM2NDE1
Yjc4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlz
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbApA
QCAtMjgsMTEgKzI4LDExIEBAIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAg
ICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKICAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPXdl
YmtpdFZpZGVvVHJhY2ssCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdCwKICAgICAgICAgSW5k
ZXhlZEdldHRlciwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLAotICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlCisgICAgICAgIEpTQ3VzdG9tSXNS
ZWFjaGFibGUsCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJSb290CiAg
ICAgXSBUZXh0VHJhY2tMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbGVuZ3RoOwogICAgICAgICBUZXh0VHJhY2sgaXRlbShpbiB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148860</attachid>
            <date>2012-06-21 12:09:20 -0700</date>
            <delta_ts>2012-06-21 15:34:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80880-20120621120920.patch</filename>
            <type>text/plain</type>
            <size>59457</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNTg5MDY5YTJhNTM0
NTA0ZTgyYzExODFmZWMwNzMxYzFkNzY5Ni4uOTZkNTJlOTg4NmRkMDViN2E5YWFiZWI5YjIzYTE5
ZDBkNGFhZGY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMi0wNi0yMSAgRXJp
ayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtWOF0gVXNlIHY4OjpW
ODo6QWRkSW1wbGljaXRSZWZlcmVuY2VzIGluc3RlYWQgb2YgU2V0SGlkZGVuVmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwODgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBXZSB1c2VkIHRvIGFkZCBhIGhp
ZGRlbiBwcm9wZXJ0eSBpbiB0aGUgZ2V0dGVyIHRvIHRoZSByZXR1cm5lZCB3cmFwcGVyLgorICAg
ICAgICBXaXRoIHRoaXMgcGF0Y2ggd2UgaW5zdGVhZCBoYW5kbGUgdGhlIGxpdmVuZXNzIG9mIHRo
ZSB3cmFwcGVyIGluIHRoZSBHQyBwaGFzZSBieQorICAgICAgICBjYWxsaW5nIHY4OjpWODo6QWRk
SGlkZGVuUmVmZXJlbmNlLgorCisgICAgICAgIFRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIGN1c3Rv
bSBjb2RlIHdlIG5lZWQsIHRoZSBWOCBjb2RlIGdlbmVyYXRvciBub3cgc3VwcG9ydHMKKyAgICAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZSAoYXMgd2VsbCBhcyBDdXN0b21Jc1JlYWNoYWJsZSkgd2hp
Y2gsIGV2ZW4gdGhvdWdoIGRpZmZlcmVudAorICAgICAgICBmcm9tIHRoZSBKU0MgYXR0cmlidXRl
LCBpcyB1c2VkIGluIHRoZSBzYW1lIGNhc2VzIGFuZCB0YWtlcyB0aGUgc2FtZSB2YWx1ZXMgKGV2
ZW4gdGhvdWdoCisgICAgICAgIGF0IHRoZSBtb21lbnQgbm90IGFsbCBKU0MgdmFsdWVzIGFyZSBz
dXBwb3J0ZWQgYnkgVjgpLiBJbnRlcmZhY2VzIHRoYXQgaGF2ZSAqSXNSZWFjaGFibGUKKyAgICAg
ICAgYWxzbyBoYXZlIGEgZGVwZW5kZW50IGxpZmUgdGltZSAoanVzdCBsaWtlIGlmIFY4RGVwZW5k
ZW50TGlmZXRpbWUgd2FzIHByZXNlbnQpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
VXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0R2VuZXJhdGVJc1JlYWNo
YWJsZSk6IEFic3RyYWN0ZWQgR2VuZXJhdGVJc1JlYWNoYWJsZSBhbmQgSlNHZW5lcmF0ZUlzUmVh
Y2hhYmxlLgorICAgICAgICAoR2V0Q3VzdG9tSXNSZWFjaGFibGUpOiBEaXR0by4KKyAgICAgICAg
KEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoTmVl
ZHNUb1Zpc2l0RE9NV3JhcHBlcik6CisgICAgICAgIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKToK
KyAgICAgICAgKEdldEN1c3RvbUlzUmVhY2hhYmxlKToKKyAgICAgICAgKEdlbmVyYXRlVmlzaXRE
T01XcmFwcGVyKToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRl
TmFtZWRDb25zdHJ1Y3RvckNhbGxiYWNrKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0
NjRBcnJheS5oOgorICAgICAgICAoVjhGbG9hdDY0QXJyYXkpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURP
TU9iamVjdC5oOgorICAgICAgICAoVjhUZXN0QWN0aXZlRE9NT2JqZWN0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmg6CisgICAgICAgIChWOFRlc3RDdXN0b21OYW1lZEdldHRlcik6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50Q29u
c3RydWN0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVu
dFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFY4VGVzdEV2ZW50VGFy
Z2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RFeGNlcHRpb24uaDoKKyAgICAgICAgKFY4VGVzdEV4Y2VwdGlvbik6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmg6CisgICAgICAgIChWOFRlc3RJbnRlcmZhY2UpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg6CisgICAgICAgIChWOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaDoKKyAgICAgICAgKFY4VGVzdE5vZGUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5o
OgorICAgICAgICAoVjhUZXN0T2JqKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaDoKKyAgICAgICAgKFY4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpucE9iamVjdFR5cGVJbmZvKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcm91cGVyVmlzaXRv
cjo6dmlzaXRET01XcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9XcmFwcGVyVHlwZUlu
Zm8uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV3JhcHBlclR5cGVJbmZvKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEltYWdlRWxl
bWVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9t
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5pZGw6CisgICAgICAg
ICogY3NzL1N0eWxlU2hlZXQuaWRsOgorICAgICAgICAqIGRvbS9ET01TdHJpbmdNYXAuaWRsOgor
ICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5M
aXN0LmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsOgorCiAyMDEy
LTA2LTIwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVzZSBJbnRTaXplIGluIFJlbmRlckxheWVyIHRvIHJlcHJlc2VudCBzY3JvbGwgb2Zmc2V0
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggZGQ5ZmRjMGIxNDI5M2VlYWQ3ZGExOGUyOGRkNjRlYmRkZjY3YWI5
ZC4uZmNjMmY0MGUzZWM5OGJlMTIxNjYwODIyNjdiOTIxN2Y4MzlkMWEwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC0xNTgsNyArMTU4LDYgQEAgdjggewogICAgICAgICBcCiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOENTU1ZhbHVlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwIFwKQEAgLTE2Nyw4ICsxNjYsNyBAQCB2OCB7
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRIb3N0
Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1
c3RvbS5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAKIAogICAgIFNPVVJDRVMgKz0gXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBcCkBAIC0yMTUsNyArMjEzLDYgQEAgdjgg
ewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3BwIFwKLSAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViS2l0TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1VzZVY4LmNtYWtlCmluZGV4IGZmZmMyNmIxMzVlNDJmMzM2ZmY3Mjc0OWI0ZTRhNTJiZDE3NzNl
ZGYuLmExM2YxZDM5YTdkNzRkNjcxYWRlYTNkZDljYjFhYTQxYTNlZGJmZTAgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNt
YWtlCkBAIC03NCw3ICs3NCw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENT
U1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
U3R5bGVTaGVldEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNw
cApAQCAtODUsNyArODQsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRv
a2VuTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKQEAg
LTE0Nyw3ICsxNDUsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFN0eWxlU2hlZXRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVl
dExpc3RDdXN0b20uY3BwCi0gICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGM4OTc0ZDJkNjUyZGJlYTY2ODI3MGRhM2RmOGY0M2JmODRhMjIyYzQuLmMxZTIwN2I3MTMyMjZi
MDI5NWJkMzQzOGM5MmRhY2M2MzAzZTc4YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyNjIsNyAr
MjI2Miw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5j
cHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZURlY2xhcmF0aW9u
Q3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTU3R5bGVT
aGVldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1Zh
bHVlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCkBAIC0yMjc1LDcgKzIyNzQsNiBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAnLAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAnLApAQCAtMjM0OCw3ICsyMzQ2LDYgQEAKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCcsCi0gICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4VGV4dFRyYWNrTGlzdEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRyYWNrRXZlbnRDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IGVjNDhmNDVjNjgwYjZkMDdjMzcyNzhkOTBlMTIwYzBjNzZiZDRmNTAuLmU0NWU3NjJk
YjlhYjM2YTcxOGE2YWJlMGRhOTgxNTI2NjVkZGM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zODQsNiArMzg0LDE4
IEBAIHN1YiBwcm90b3R5cGVIYXNoVGFibGVBY2Nlc3NvcgogICAgIH0KIH0KIAorc3ViIEdldEdl
bmVyYXRlSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1
cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9
IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJs
ZSJ9OworfQorCitzdWIgR2V0Q3VzdG9tSXNSZWFjaGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUg
PSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tSXNSZWFjaGFibGUifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1
c3RvbUlzUmVhY2hhYmxlIn07Cit9CisKIHN1YiBHZW5lcmF0ZUdldE93blByb3BlcnR5U2xvdEJv
ZHkKIHsKICAgICBteSAoJGRhdGFOb2RlLCAkaW50ZXJmYWNlTmFtZSwgJGNsYXNzTmFtZSwgJGlt
cGxDbGFzc05hbWUsICRoYXNBdHRyaWJ1dGVzLCAkaW5saW5lZCkgPSBAXzsKQEAgLTk5Myw4ICsx
MDA1LDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgaWYgKCEkaGFzUGFyZW50
IHx8Ci0gICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJ
c1JlYWNoYWJsZSJ9IHx8IAotICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJKU0N1c3RvbUlzUmVhY2hhYmxlIn0gfHwgCisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFi
bGUoJGRhdGFOb2RlKSB8fAorICAgICAgICBHZXRDdXN0b21Jc1JlYWNoYWJsZSgkZGF0YU5vZGUp
IHx8CiAgICAgICAgICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tRmlu
YWxpemUifSB8fAogICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3Rp
dmVET01PYmplY3QifSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgSlMk
e2ltcGxDbGFzc05hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7
CkBAIC0yMjg1LDcgKzIyOTcsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAg
ICB9CiAgICAgfQogCi0gICAgaWYgKCghJGhhc1BhcmVudCAmJiAhJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Jc1JlYWNoYWJsZSJ9KXx8ICRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9KSB7CisgICAgaWYgKCghJGhhc1Bh
cmVudCAmJiAhR2V0Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKSl8fCBHZXRHZW5lcmF0ZUlz
UmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
QWN0aXZlRE9NT2JqZWN0In0pIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJzdGF0aWMg
aW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlKEpTJHtpbXBsQ2xhc3NOYW1lfSoganMke2ltcGxDbGFz
c05hbWV9KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChqcyR7aW1wbENsYXNzTmFtZX0tPmhhc0N1c3Rv
bVByb3BlcnRpZXMoKSlcbiIpOwpAQCAtMjMxMywyMSArMjMyNSwyMSBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICB9CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IGlmICghaXNPYnNlcnZhYmxlKGpzJHtpbXBsQ2xhc3NOYW1lfSkpXG4iKTsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBmYWxzZTtcbiIpOwotICAgICAgICBpZiAo
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0p
IHsKKyAgICAgICAgaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSkgewogICAg
ICAgICAgICAgbXkgJHJvb3RTdHJpbmc7Ci0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGwiKSB7Cisg
ICAgICAgICAgICBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBs
IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgJHtpbXBsVHlwZX0qIHJv
b3QgPSBqcyR7aW1wbENsYXNzTmFtZX0tPmltcGwoKTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSBlcSAiSW1wbENvbnRleHQiKSB7CisgICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlz
UmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxDb250ZXh0IikgewogICAgICAgICAgICAgICAg
ICRyb290U3RyaW5nICA9ICIgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiByb290ID0ganMke2lt
cGxDbGFzc05hbWV9LT5pbXBsKCktPmNvbnRleHQoKTtcbiI7Ci0gICAgICAgICAgICB9IGVsc2lm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0dlbmVyYXRlSXNSZWFjaGFibGUi
fSBlcSAiSW1wbEZyYW1lIikgeworICAgICAgICAgICAgfSBlbHNpZiAoR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsRnJhbWUiKSB7CiAgICAgICAgICAgICAgICAgJHJv
b3RTdHJpbmcgID0gIiAgICBGcmFtZSogcm9vdCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgp
LT5mcmFtZSgpO1xuIjsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgIGlmICgh
cm9vdClcbiI7CiAgICAgICAgICAgICAgICAgJHJvb3RTdHJpbmcgLj0gIiAgICAgICAgcmV0dXJu
IGZhbHNlO1xuIjsKLSAgICAgICAgICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkpTR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IGVxICJJbXBsRG9jdW1lbnQiKSB7Cisg
ICAgICAgICAgICB9IGVsc2lmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEg
IkltcGxEb2N1bWVudCIpIHsKICAgICAgICAgICAgICAgICAkcm9vdFN0cmluZyAgPSAiICAgIERv
Y3VtZW50KiByb290ID0ganMke2ltcGxDbGFzc05hbWV9LT5pbXBsKCktPmRvY3VtZW50KCk7XG4i
OwogICAgICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFyb290KVxuIjsKICAg
ICAgICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwot
ICAgICAgICAgICAgfSBlbHNpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNH
ZW5lcmF0ZUlzUmVhY2hhYmxlIn0gZXEgIkltcGxFbGVtZW50Um9vdCIpIHsKKyAgICAgICAgICAg
IH0gZWxzaWYgKEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAiSW1wbEVsZW1l
bnRSb290IikgewogICAgICAgICAgICAgICAgICRyb290U3RyaW5nICA9ICIgICAgRWxlbWVudCog
ZWxlbWVudCA9IGpzJHtpbXBsQ2xhc3NOYW1lfS0+aW1wbCgpLT5lbGVtZW50KCk7XG4iOwogICAg
ICAgICAgICAgICAgICRyb290U3RyaW5nIC49ICIgICAgaWYgKCFlbGVtZW50KVxuIjsKICAgICAg
ICAgICAgICAgICAkcm9vdFN0cmluZyAuPSAiICAgICAgICByZXR1cm4gZmFsc2U7XG4iOwpAQCAt
MjM1MSw4ICsyMzYzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KIAogICAgIGlmICgh
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21GaW5hbGl6ZSJ9ICYmCiAg
ICAgICAgICghJGhhc1BhcmVudCB8fAotICAgICAgICAgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiSlNHZW5lcmF0ZUlzUmVhY2hhYmxlIn0gfHwKLSAgICAgICAgICRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tSXNSZWFjaGFibGUifSB8fAorICAgICAgICAg
R2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CisgICAgICAgICBHZXRDdXN0b21J
c1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8CiAgICAgICAgICAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ2b2lkIEpTJHtpbXBsQ2xhc3NOYW1lfU93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxK
U0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dClcbiIpOwogICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIntcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBkMzhhMTU1OTM0NDllZmQ2NjY4NjY1Yzk0YTY0
ZWRjNjllNTc2ZGRlLi5hOTI5ODlhNTJkZDY1ZGY0N2NmZWE0OTAyZWM5ZjY4NjdlZjE5OGQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbQpAQCAtMTgxLDYgKzE4MSw2MyBAQCBzdWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgfQog
fQogCitzdWIgTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcgoreworICAgIG15ICRkYXRhTm9kZSA9IHNo
aWZ0OworICAgIHJldHVybiBHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgfHwgR2V0
Q3VzdG9tSXNSZWFjaGFibGUoJGRhdGFOb2RlKTsKK30KKworc3ViIEdldEdlbmVyYXRlSXNSZWFj
aGFibGUKK3sKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICByZXR1cm4gJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiR2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4R2VuZXJhdGVJc1JlYWNoYWJsZSJ9IHx8ICIiCit9
CisKK3N1YiBHZXRDdXN0b21Jc1JlYWNoYWJsZQoreworICAgIG15ICRkYXRhTm9kZSA9IHNoaWZ0
OworICAgIHJldHVybiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Jc1Jl
YWNoYWJsZSJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tSXNS
ZWFjaGFibGUifTsKK30KKworc3ViIEdlbmVyYXRlVmlzaXRET01XcmFwcGVyCit7CisgICAgbXkg
KCRkYXRhTm9kZSwgJGltcGxDbGFzc05hbWUpID0gQF87CisKKyAgICBpZiAoR2V0Q3VzdG9tSXNS
ZWFjaGFibGUoJGRhdGFOb2RlKSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcHVz
aChAaW1wbENvbnRlbnQsIDw8RU5EKTsKK3ZvaWQgVjgke2ltcGxDbGFzc05hbWV9Ojp2aXNpdERP
TVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgdm9pZCogb2JqZWN0LCB2ODo6UGVyc2lzdGVu
dDx2ODo6T2JqZWN0PiB3cmFwcGVyKQoreworICAgICR7aW1wbENsYXNzTmFtZX0qIGltcGwgPSBz
dGF0aWNfY2FzdDwke2ltcGxDbGFzc05hbWV9Kj4ob2JqZWN0KTsKK0VORAorICAgIGlmIChHZXRH
ZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgICJJbXBsRWxlbWVudFJvb3QiIHx8Cisg
ICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIkltcGxPd25lclJv
b3QiIHx8CisgICAgICAgIEdldEdlbmVyYXRlSXNSZWFjaGFibGUoJGRhdGFOb2RlKSBlcSAgIklt
cGxPd25lck5vZGVSb290IikgeworCisgICAgICAgIG15ICRtZXRob2ROYW1lOworICAgICAgICAk
bWV0aG9kTmFtZSA9ICJlbGVtZW50IiBpZiAoR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5v
ZGUpIGVxICJJbXBsRWxlbWVudFJvb3QiKTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXIi
IGlmIChHZXRHZW5lcmF0ZUlzUmVhY2hhYmxlKCRkYXRhTm9kZSkgZXEgIkltcGxPd25lclJvb3Qi
KTsKKyAgICAgICAgJG1ldGhvZE5hbWUgPSAib3duZXJOb2RlIiBpZiAoR2V0R2VuZXJhdGVJc1Jl
YWNoYWJsZSgkZGF0YU5vZGUpIGVxICJJbXBsT3duZXJOb2RlUm9vdCIpOworCisgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCA8PEVORCk7CisgICAgaWYgKE5vZGUqIG93bmVyID0gaW1wbC0+JHtt
ZXRob2ROYW1lfSgpKSB7CisgICAgICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG93bmVy
V3JhcHBlciA9IHN0b3JlLT5kb21Ob2RlTWFwKCkuZ2V0KG93bmVyKTsKKyAgICAgICAgaWYgKCFv
d25lcldyYXBwZXIuSXNFbXB0eSgpKSB7CisgICAgICAgICAgICB2ODo6UGVyc2lzdGVudDx2ODo6
VmFsdWU+IHZhbHVlID0gd3JhcHBlcjsKKyAgICAgICAgICAgIHY4OjpWODo6QWRkSW1wbGljaXRS
ZWZlcmVuY2VzKG93bmVyV3JhcHBlciwgJnZhbHVlLCAxKTsKKyAgICAgICAgfQorICAgIH0KK0VO
RAorICAgIH0KKworICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Cit9CisKK0VORAorfQor
CiBzdWIgR2V0U1ZHUHJvcGVydHlUeXBlcwogewogICAgIG15ICRpbXBsVHlwZSA9IHNoaWZ0OwpA
QCAtMjM1LDcgKzI5Miw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICRjb2RlR2VuZXJhdG9y
LT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2VzKCRkYXRh
Tm9kZSwgXEBhbGxQYXJlbnRzLCAxKTsKICAgICAkY29kZUdlbmVyYXRvci0+TGlua092ZXJsb2Fk
ZWRGdW5jdGlvbnMoJGRhdGFOb2RlKTsKIAotICAgIG15ICRoYXNEZXBlbmRlbnRMaWZldGltZSA9
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5kZW50TGlmZXRpbWUifSB8
fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSB8fCAk
Y2xhc3NOYW1lID1+IC9TVkcvOworICAgIG15ICRoYXNEZXBlbmRlbnRMaWZldGltZSA9ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4RGVwZW5kZW50TGlmZXRpbWUifSB8fCAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifQorICAgICAgICAg
fHwgR2V0R2VuZXJhdGVJc1JlYWNoYWJsZSgkZGF0YU5vZGUpIHx8ICRjbGFzc05hbWUgPX4gL1NW
Ry87CiAgICAgaWYgKCEkaGFzRGVwZW5kZW50TGlmZXRpbWUpIHsKICAgICAgICAgZm9yZWFjaCAo
QHskZGF0YU5vZGUtPnBhcmVudHN9KSB7CiAgICAgICAgICAgICBteSAkcGFyZW50ID0gJGNvZGVH
ZW5lcmF0b3ItPlN0cmlwTW9kdWxlKCRfKTsKQEAgLTMyOSw2ICszODcsNyBAQCBFTkQKICAgICB9
CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoJHtuYXRpdmVU
eXBlfSosIHY4OjpJc29sYXRlKiA9IDAke2ZvcmNlTmV3T2JqZWN0UGFyYW1ldGVyfSk7CiAgICAg
c3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9N
V3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4p
OwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKIEVORAogICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkgewpAQCAtMTg3MSwx
MiArMTkzMCwxMiBAQCBzdWIgR2VuZXJhdGVOYW1lZENvbnN0cnVjdG9yQ2FsbGJhY2sKIAogICAg
IGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJBY3RpdmVET01PYmplY3QifSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotV3JhcHBlclR5cGVJbmZvIFY4
JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1D
b25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4JHtpbXBsQ2xhc3NOYW1lfTo6ZGVyZWZPYmplY3Qs
IFY4JHtpbXBsQ2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2Jq
ZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjgke2ltcGxDbGFzc05hbWV9Q29uc3Ry
dWN0b3I6OmluZm8gPSB7IFY4JHtpbXBsQ2xhc3NOYW1lfUNvbnN0cnVjdG9yOjpHZXRUZW1wbGF0
ZSwgVjgke2ltcGxDbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgVjgke2ltcGxDbGFzc05hbWV9Ojp0
b0FjdGl2ZURPTU9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAog
RU5ECiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKLVdy
YXBwZXJUeXBlSW5mbyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6aW5mbyA9IHsgVjgk
e2ltcGxDbGFzc05hbWV9Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCAwLCAwLCAwLCBXcmFwcGVy
VHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4JHtpbXBsQ2xhc3NOYW1l
fUNvbnN0cnVjdG9yOjppbmZvID0geyBWOCR7aW1wbENsYXNzTmFtZX1Db25zdHJ1Y3Rvcjo6R2V0
VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIEVO
RAogICAgIH0KQEAgLTI0MjgsNiArMjQ4Nyw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgQWRkSW5jbHVkZXNGb3JUeXBlKCRpbnRlcmZhY2VOYW1lKTsKIAogICAgIG15ICR0b0Fj
dGl2ZSA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkFjdGl2ZURPTU9iamVjdCJ9
ID8gIiR7Y2xhc3NOYW1lfTo6dG9BY3RpdmVET01PYmplY3QiIDogIjAiOworICAgIG15ICRkb21W
aXNpdG9yID0gTmVlZHNUb1Zpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUpID8gIiR7Y2xhc3NOYW1l
fTo6dmlzaXRET01XcmFwcGVyIiA6ICIwIjsKIAogICAgICMgRmluZCB0aGUgc3VwZXIgZGVzY3Jp
cHRvci4KICAgICBteSAkcGFyZW50Q2xhc3MgPSAiIjsKQEAgLTI0NDcsNyArMjUwNyw3IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICBteSAkV3JhcHBlclR5cGVQcm90b3R5cGUg
PSAkZGF0YU5vZGUtPmlzRXhjZXB0aW9uID8gIldyYXBwZXJUeXBlRXJyb3JQcm90b3R5cGUiIDog
IldyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIjsKIAotICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsICJXcmFwcGVyVHlwZUluZm8gJHtjbGFzc05hbWV9OjppbmZvID0geyAke2NsYXNzTmFtZX06
OkdldFRlbXBsYXRlLCAke2NsYXNzTmFtZX06OmRlcmVmT2JqZWN0LCAkdG9BY3RpdmUsICRwYXJl
bnRDbGFzc0luZm8sICRXcmFwcGVyVHlwZVByb3RvdHlwZSB9O1xuXG4iKTsKKyAgICBwdXNoKEBp
bXBsQ29udGVudERlY2xzLCAiV3JhcHBlclR5cGVJbmZvICR7Y2xhc3NOYW1lfTo6aW5mbyA9IHsg
JHtjbGFzc05hbWV9OjpHZXRUZW1wbGF0ZSwgJHtjbGFzc05hbWV9OjpkZXJlZk9iamVjdCwgJHRv
QWN0aXZlLCAkZG9tVmlzaXRvciwgJHBhcmVudENsYXNzSW5mbywgJFdyYXBwZXJUeXBlUHJvdG90
eXBlIH07XG5cbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICJuYW1lc3BhY2UgJHtp
bnRlcmZhY2VOYW1lfVY4SW50ZXJuYWwge1xuXG4iKTsKIAogICAgIHB1c2goQGltcGxDb250ZW50
RGVjbHMsICJ0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0UoVCkgeyB9XG5cbiIpOwpA
QCAtMjUwMSw2ICsyNTYxLDEwIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAg
IEdlbmVyYXRlQ29uc3RydWN0b3JHZXR0ZXIoJGRhdGFOb2RlLCAkaW1wbENsYXNzTmFtZSk7CiAg
ICAgfQogCisgICAgaWYgKE5lZWRzVG9WaXNpdERPTVdyYXBwZXIoJGRhdGFOb2RlKSkgeworICAg
ICAgICBHZW5lcmF0ZVZpc2l0RE9NV3JhcHBlcigkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKTsK
KyAgICB9CisKICAgICBteSAkaW5kZXhlcjsKICAgICBteSAkbmFtZWRQcm9wZXJ0eUdldHRlcjsK
ICAgICAjIEdlbmVyYXRlIG1ldGhvZHMgZm9yIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDU3ZjUwYTVhY2Qy
NGM5NGQ4NWI5ZTY1NWM1MjM5M2VmM2EwYjJmYTYuLjRmZTc3MWIxYzk4YTkyZjlmM2FmM2ZiMTA0
ZmUwYmU0NGM2YzYzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtMzgsNiArMzgsNyBAQCBDdXN0b21FbnVtZXJhdGVQcm9w
ZXJ0eQogQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90CiBDdXN0b21HZXR0ZXIKIEN1c3RvbUluZGV4
ZWRTZXR0ZXIKK0N1c3RvbUlzUmVhY2hhYmxlCiBDdXN0b21OYW1lZEdldHRlcgogQ3VzdG9tTmFt
ZWRTZXR0ZXIKIEN1c3RvbVB1dEZ1bmN0aW9uCkBAIC01MSwxMSArNTIsMTIgQEAgRG9Ob3RDaGVj
a1NlY3VyaXR5T25HZXR0ZXIKIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyCiBFdmVudFRhcmdl
dAogRXh0ZW5kc0RPTUdsb2JhbE9iamVjdAorR2VuZXJhdGVJc1JlYWNoYWJsZT18SW1wbHxJbXBs
Q29udGV4dHxJbXBsRG9jdW1lbnR8SW1wbEVsZW1lbnRSb290fEltcGxGcmFtZQogSW1tdXRhYmxl
CiBJbXBsZW1lbnRlZEFzPSoKIEluZGV4ZWRHZXR0ZXIKLUludGVyZmFjZU5hbWU9KgogSW5pdGlh
bGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IKK0ludGVyZmFjZU5hbWU9KgogSXNJbmRleAogSXNXb3Jr
ZXJDb250ZXh0CiBKU0N1c3RvbQpAQCAtMTA3LDExICsxMDksMTMgQEAgVVJMCiBWOEN1c3RvbQog
VjhDdXN0b21Db25zdHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKK1Y4Q3VzdG9tSXNSZWFjaGFibGUK
IFY4Q3VzdG9tU2V0dGVyCiBWOEN1c3RvbVRvSlNPYmplY3QKIFY4RGVwZW5kZW50TGlmZXRpbWUK
IFY4RG9Ob3RDaGVja1NpZ25hdHVyZQogVjhFbmFibGVkQXRSdW50aW1lPSoKIFY4RW5hYmxlZFBl
ckNvbnRleHQ9KgorVjhHZW5lcmF0ZUlzUmVhY2hhYmxlPXxJbXBsRWxlbWVudFJvb3R8SW1wbE93
bmVyUm9vdHxJbXBsT3duZXJOb2RlUm9vdAogVjhSZWFkT25seQogVjhVbmZvcmdlYWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2
NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZs
b2F0NjRBcnJheS5jcHAKaW5kZXggZGMzNTM2ZTdiOTE1NzQ0Mzc4YzRkZGZkMjg3MzkzZDRmMThm
N2E3ZC4uZDUxYzlmYWE2OGE2MGI3N2IwODc1N2ViZTU4ZDg1MmVjOTkyZjkwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9h
dDY0QXJyYXkuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
V3JhcHBlclR5cGVJbmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJheTo6
R2V0VGVtcGxhdGUsIFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgJlY4QXJyYXlCdWZm
ZXJWaWV3OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJ
bmZvIFY4RmxvYXQ2NEFycmF5OjppbmZvID0geyBWOEZsb2F0NjRBcnJheTo6R2V0VGVtcGxhdGUs
IFY4RmxvYXQ2NEFycmF5OjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4QXJyYXlCdWZmZXJWaWV3Ojpp
bmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgRmxvYXQ2NEFy
cmF5VjhJbnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKaW5kZXggYjBkZmQ1NTliYjMyNTJlNmRl
ODZhNzQ2NTU1YjMxMGUwMmI2ODA4ZS4uNDg5MjhhNGQ2NmRiMGEwZmNmNTcxMDFlZDg4NWI0MTIy
NjNmYTY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAg
IH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChGbG9hdDY0
QXJyYXkqLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2
b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZv
aWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBl
SW5mbyBpbmZvOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRl
cm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFwcGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKaW5kZXggMTg2Y2YyMzY2NGFhMWMyZGU5
MGNlZDZiYWY1ZTYxNGU4ZWJhNzE4Ny4uMzc4MTdkNWZmN2I3NzJkMDg4MzhlZTY1YTRlYjc2ZjU0
NWIwM2EzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAKQEAgLTM1LDcgKzM1
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0QWN0
aXZlRE9NT2JqZWN0OjppbmZvID0geyBWOFRlc3RBY3RpdmVET01PYmplY3Q6OkdldFRlbXBsYXRl
LCBWOFRlc3RBY3RpdmVET01PYmplY3Q6OmRlcmVmT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9i
amVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6
aW5mbyA9IHsgVjhUZXN0QWN0aXZlRE9NT2JqZWN0OjpHZXRUZW1wbGF0ZSwgVjhUZXN0QWN0aXZl
RE9NT2JqZWN0OjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5
cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFsIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IGI5MWFkYmQxMTU3YWE2YjZjNGVmMjU4M2M4
ZDE0MWNhYjJhYmE2OTEuLmUyY2VlNWExMjdmNTI4Njk1NjQ5NDk5M2NiNzM2NDkyZGYwZGZiYzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RBY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGlj
OgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChU
ZXN0QWN0aXZlRE9NT2JqZWN0Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQg
ZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01E
YXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRp
YyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVybmFsRmll
bGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwogICAgIHN0
YXRpYyBib29sIG5hbWVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwg
djg6OkxvY2FsPHY4OjpWYWx1ZT4ga2V5LCB2ODo6QWNjZXNzVHlwZSwgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gZGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCBj
YTFmMDM2ZjcyOTNkNTIxMjhiY2YxYTEwNTUwZTk5N2IwOGU3OTI1Li4xODBkNmZkOGM3MDIxMzkz
Mzc4NjllMjJiMGMzMTkwMjg1MTg0ZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFw
cGVyVHlwZUluZm8gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmluZm8gPSB7IFY4VGVzdEN1c3Rv
bU5hbWVkR2V0dGVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmRlcmVm
T2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJ
bmZvIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjppbmZvID0geyBWOFRlc3RDdXN0b21OYW1lZEdl
dHRlcjo6R2V0VGVtcGxhdGUsIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjpkZXJlZk9iamVjdCwg
MCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RD
dXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdl
dHRlci5oCmluZGV4IDM2ZDkxOTZjM2YxOGMyN2EzY2RmYmViMjgzMmRhYzRmM2QwNjVhMjcuLjJh
ZWRhYzczMWM1M2NlOWM0OTRjMzllNjc2NGNlM2Y2M2Y5YzJhMzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
dXN0b21OYW1lZEdldHRlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAg
aW5saW5lIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdEN1c3RvbU5hbWVk
R2V0dGVyKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qo
dm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2
b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlw
ZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVy
dHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7
CiAgICAgc3RhdGljIGNvbnN0IGludCBpbnRlcm5hbEZpZWxkQ291bnQgPSB2OERlZmF1bHRXcmFw
cGVySW50ZXJuYWxGaWVsZENvdW50ICsgMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9y
LmNwcAppbmRleCA2NDFiYTk0NzA0NmU1YTQ4NDMyYWUxNDNmN2IwMDI0MGQ3MDVmM2Q3Li44ZGRh
OTI1MmVjNmVhMmNkNTk3NzQ5ZjkxNzQzZDhhY2NkZWJmMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2
ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50Q29uc3RydWN0b3I6OmluZm8gPSB7IFY4
VGVzdEV2ZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3RFdmVudENvbnN0cnVjdG9y
OjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBw
ZXJUeXBlSW5mbyBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3RFdmVudENv
bnN0cnVjdG9yOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmpl
Y3QsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBU
ZXN0RXZlbnRDb25zdHJ1Y3RvclY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3Ry
dWN0b3IuaAppbmRleCBmM2M2ZGM0ODY2Nzg2ZmEwY2U1ZWVhMGY3NDhjOTA5ZGM1M2QxOGJkLi40
MzNkY2M4N2YxYmJiZDYyNmYxN2JkYzkwODJmN2ZhOTVlN2VmZDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RF
dmVudENvbnN0cnVjdG9yLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgcHVibGljOgogICAgIH0KICAgICBp
bmxpbmUgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0RXZlbnRDb25zdHJ1
Y3RvciosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZv
aWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9p
ZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBlclR5cGVJ
bmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvckNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVy
bmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMjc4MGJlZGQxNGVjNjVlYjMwMGE1NGY4ZDA5
ZjQ2ZmQ5ZDgyMTM1OC4uYzViZGJlYjRlMjNjZTlkNTAxOTdhZWViYTQzNDZkNjhmNGU1YTUxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV2ZW50VGFyZ2V0OjppbmZvID0g
eyBWOFRlc3RFdmVudFRhcmdldDo6R2V0VGVtcGxhdGUsIFY4VGVzdEV2ZW50VGFyZ2V0OjpkZXJl
Zk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBl
SW5mbyBWOFRlc3RFdmVudFRhcmdldDo6aW5mbyA9IHsgVjhUZXN0RXZlbnRUYXJnZXQ6OkdldFRl
bXBsYXRlLCBWOFRlc3RFdmVudFRhcmdldDo6ZGVyZWZPYmplY3QsIDAsIDAsIDAsIFdyYXBwZXJU
eXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRWOEludGVy
bmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCAxMTVjNWFlOGMyNGIzNWJjNTdiYzQ4
NWJmNjFkNmQ0YzAxYzIxMzk0Li5hZmIwZGUwNGIzMzRiNzBlNjc4NTUxODZlODA0OTJjODBmMTJj
ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAg
ICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RF
dmVudFRhcmdldCosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0YXRpYyB2b2lkIGRlcmVmT2Jq
ZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdyYXBwZXIoRE9NRGF0YVN0b3Jl
Kiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgV3JhcHBl
clR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpbmRleGVk
UHJvcGVydHlHZXR0ZXIodWludDMyX3QsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mKTsKICAgICBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24u
Y3BwCmluZGV4IDgwNjZkMjc0YjY4YTFlMjg3YmJiYzIwNGIzZjIxM2ZhYWQwYzYzODAuLmUyYzhl
OTZlYzhiN2NiYWM3NTcyOWU4ODU5OTczYWRkYTE2ODEyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24u
Y3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5
cGVJbmZvIFY4VGVzdEV4Y2VwdGlvbjo6aW5mbyA9IHsgVjhUZXN0RXhjZXB0aW9uOjpHZXRUZW1w
bGF0ZSwgVjhUZXN0RXhjZXB0aW9uOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5cGVFcnJv
clByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdEV4Y2VwdGlvbjo6aW5mbyA9IHsg
VjhUZXN0RXhjZXB0aW9uOjpHZXRUZW1wbGF0ZSwgVjhUZXN0RXhjZXB0aW9uOjpkZXJlZk9iamVj
dCwgMCwgMCwgMCwgV3JhcHBlclR5cGVFcnJvclByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVz
dEV4Y2VwdGlvblY4SW50ZXJuYWwgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmgKaW5kZXggNDAzYzBlM2Iw
NzJjMDRjMzM4MzU1MmY5ODVkODZkNjgyMWJkMDBhOS4uOGE2OTA0ZmFlNGUwNmUxMTlhZTBhNjli
NTE1NzI0YTI5NzgxMDZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uaApAQCAtNDMsNiArNDMsNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3
cmFwKFRlc3RFeGNlcHRpb24qLCB2ODo6SXNvbGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBk
ZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURh
dGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGlj
IFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVs
ZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA0Njc1OTMxN2Y5MjVhNWI1ZmQ5ZmFjZGU3OWM4
ZWMxOTQ4N2Y2ZGJlLi5lY2MxNWIxNzM2ZDM4YmQ1ZmMxMDA0NjNjMGZkZWRiMDg4NDM4YjFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0SW50ZXJmYWNlLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RJbnRlcmZhY2U6OmluZm8gPSB7IFY4VGVz
dEludGVyZmFjZTo6R2V0VGVtcGxhdGUsIFY4VGVzdEludGVyZmFjZTo6ZGVyZWZPYmplY3QsIFY4
VGVzdEludGVyZmFjZTo6dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJv
dG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8gVjhUZXN0SW50ZXJmYWNlOjppbmZvID0geyBWOFRl
c3RJbnRlcmZhY2U6OkdldFRlbXBsYXRlLCBWOFRlc3RJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCBW
OFRlc3RJbnRlcmZhY2U6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4SW50ZXJuYWwgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0SW50ZXJmYWNlLmgKaW5kZXggMGYzMjk2M2VmNTQ4OGJmZWE1YmIwZmJjMGNiODQ3YWNkNzg2
ZjU0Yy4uODk2NjNjODExZjcwZDA3MmQ5MjIwY2MxZGUyMTQxMjUzYzY0ZmM1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJ
bnRlcmZhY2UuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3RJbnRlcmZhY2UqLCB2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3Rh
dGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAg
IHN0YXRpYyBBY3RpdmVET01PYmplY3QqIHRvQWN0aXZlRE9NT2JqZWN0KHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4pOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggOWQ3YTk0ZDc1ZjEyYjQ5ZGQ4ZDZiODZiY2Y1Zjcy
ZDMyMzFhYTc1OC4uOWMwYzBkODE0MDY4YTdiZDBlZDFlZGNhNjhlNDhiYzA2ZTYzMmY0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtMzUsNyAr
MzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjppbmZvID0geyBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyOjpHZXRUZW1wbGF0ZSwgVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZGVyZWZPYmpl
Y3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFwcGVyVHlwZUluZm8g
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW5mbyA9IHsgVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRl
cmVmT2JqZWN0LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OwogCiBuYW1l
c3BhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKaW5kZXggZjUzNTk4YzFkZTQ2NDg4OGE0
ZGFiZmViOTczMzk4MDVhNjY1ZGM1MC4uYzUwN2VmODVkNzM3YzRiYWE5NDBkNjVkOTJmMjIwZTQw
Y2NkYWY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqLCB2ODo6SXNv
bGF0ZSogPSAwKTsKICAgICBzdGF0aWMgdm9pZCBkZXJlZk9iamVjdCh2b2lkKik7CisgICAgc3Rh
dGljIHZvaWQgdmlzaXRET01XcmFwcGVyKERPTURhdGFTdG9yZSosIHZvaWQqLCB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0Pik7CiAgICAgc3RhdGljIFdyYXBwZXJUeXBlSW5mbyBpbmZvOwogICAg
IHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlcklu
dGVybmFsRmllbGRDb3VudCArIDA7CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IDkzNjBiN2RhYzkyNmY4ZTBjMzIyZDUxZmJiYzA4ZjcxZDQ2YWQ4Y2Mu
LmFkODVjY2UyMjJlOGE1YjM2ZDMzYmNjYmNmZjE5NDczYmUxNGI3ZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6aW5mbyA9
IHsgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIFY4VGVzdE5hbWVkQ29uc3Ry
dWN0b3I6OmRlcmVmT2JqZWN0LCBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjp0b0FjdGl2ZURPTU9i
amVjdCwgMCwgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBW
OFRlc3ROYW1lZENvbnN0cnVjdG9yOjppbmZvID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yOjpH
ZXRUZW1wbGF0ZSwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6ZGVyZWZPYmplY3QsIFY4VGVzdE5h
bWVkQ29uc3RydWN0b3I6OnRvQWN0aXZlRE9NT2JqZWN0LCAwLCAwLCBXcmFwcGVyVHlwZU9iamVj
dFByb3RvdHlwZSB9OwogCiBuYW1lc3BhY2UgVGVzdE5hbWVkQ29uc3RydWN0b3JWOEludGVybmFs
IHsKIApAQCAtNDIsNyArNDIsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBWOF9VU0Uo
VCkgeyB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3ROYW1lZENvbnN0cnVjdG9yVjhJbnRlcm5hbAog
Ci1XcmFwcGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZv
ID0geyBWOFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRl
c3ROYW1lZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
dG9BY3RpdmVET01PYmplY3QsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CitXcmFw
cGVyVHlwZUluZm8gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjppbmZvID0geyBW
OFRlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OkdldFRlbXBsYXRlLCBWOFRlc3ROYW1l
ZENvbnN0cnVjdG9yOjpkZXJlZk9iamVjdCwgVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6dG9BY3Rp
dmVET01PYmplY3QsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oCmluZGV4IDkzNzVhZTA3NmUzZTU0YWVlZjhkNDMyMGQwZWNlYzNhZTc3YzFk
ODAuLmUwNTYyYjllZjFjNWU1NjY1MWM4NTJlMDE0ODE3OTQ2YmU4MTkyOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0
cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAgICAgfQog
ICAgIGlubGluZSBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROYW1lZENv
bnN0cnVjdG9yKiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmpl
Y3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUq
LCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVy
VHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgQWN0aXZlRE9NT2JqZWN0KiB0b0FjdGl2ZURPTU9i
amVjdCh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KTsKICAgICBzdGF0aWMgY29uc3QgaW50IGludGVy
bmFsRmllbGRDb3VudCA9IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxkQ291bnQgKyAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE5vZGUuY3BwCmluZGV4IGE5MDE0NWQ4ODM3YzNiOTYwMTNkNzVlZDQzM2E2NjMyMmY4ZWY5MzIu
LmNlMzdlMDAyZjI1YmU1OTc1ZjExNmQ5OTU3YmRlMTgxNTUxMGRlZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5jcHAK
QEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1XcmFwcGVyVHlwZUlu
Zm8gVjhUZXN0Tm9kZTo6aW5mbyA9IHsgVjhUZXN0Tm9kZTo6R2V0VGVtcGxhdGUsIFY4VGVzdE5v
ZGU6OmRlcmVmT2JqZWN0LCAwLCAmVjhOb2RlOjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3Rv
dHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVzdE5vZGU6OmluZm8gPSB7IFY4VGVzdE5vZGU6
OkdldFRlbXBsYXRlLCBWOFRlc3ROb2RlOjpkZXJlZk9iamVjdCwgMCwgMCwgJlY4Tm9kZTo6aW5m
bywgV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3ROb2RlVjhJ
bnRlcm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3ROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0Tm9kZS5oCmluZGV4IGNjMjBmZTllNWI2ZDBmNzg0NGM5ZDZiZmMwZDNhYzA5
ZDE1MTZhMGIuLjQwYmRkM2E5ZDRiZmM2ZTkzZTQ0MzdkNzE0ODBmYmVkMmM0MWE0MDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2Rl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5v
ZGUuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIGlubGluZSBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKFRlc3ROb2RlKiwgdjg6Oklzb2xhdGUqID0gMCk7
CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCopOworICAgIHN0YXRpYyB2b2lkIHZp
c2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwgdjg6OlBlcnNpc3RlbnQ8djg6Ok9i
amVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsKICAgICBzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxGaWVsZENvdW50ID0gdjhEZWZhdWx0
V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmluZGV4IDBjNzY0OTY3YTQ4
OWRlZGIwM2QwYzdhODMwOWJjYjg1ZWNmOTQ1M2MuLmRkMmU2ZjQ4OWFlNjc3YTJhZDQ1ZmIyZDE3
OWJkYzQzYzRiODcxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC03Niw3ICs3Niw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotV3JhcHBlclR5cGVJbmZvIFY4VGVzdE9iajo6aW5mbyA9IHsgVjhUZXN0
T2JqOjpHZXRUZW1wbGF0ZSwgVjhUZXN0T2JqOjpkZXJlZk9iamVjdCwgMCwgMCwgV3JhcHBlclR5
cGVPYmplY3RQcm90b3R5cGUgfTsKK1dyYXBwZXJUeXBlSW5mbyBWOFRlc3RPYmo6OmluZm8gPSB7
IFY4VGVzdE9iajo6R2V0VGVtcGxhdGUsIFY4VGVzdE9iajo6ZGVyZWZPYmplY3QsIDAsIDAsIDAs
IFdyYXBwZXJUeXBlT2JqZWN0UHJvdG90eXBlIH07CiAKIG5hbWVzcGFjZSBUZXN0T2JqVjhJbnRl
cm5hbCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouaAppbmRleCAyMTMzYmNlZjRiMTFmNTlkZTJmMzUxOWUzOTMzNDc0MjY2MmIx
ZDc3Li5iYzBlMTdiNWMxYzM3YTBkMTM1NzBkMzdhOTliNWM2NmExYzNmYWJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCkBA
IC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgaW5saW5lIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IHdyYXAoVGVzdE9iaiosIHY4OjpJc29sYXRlKiA9IDApOwogICAgIHN0
YXRpYyB2b2lkIGRlcmVmT2JqZWN0KHZvaWQqKTsKKyAgICBzdGF0aWMgdm9pZCB2aXNpdERPTVdy
YXBwZXIoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsK
ICAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBjdXN0b21NZXRob2RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJik7CiAg
ICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjdXN0b21NZXRob2RXaXRoQXJnc0NhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggNWIyNzUyZjg0NjZiYjk3NDA5
NzY4MzJhYzhhNWYxMDQ4ZGUwYTAxZS4uMjhlY2Q5NDA4NTkwZjU5ZDU4NmZlN2JlOGFjMGIwYTcy
MDhkODQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1XcmFwcGVyVHlwZUluZm8gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
OjppbmZvID0geyBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OkdldFRlbXBs
YXRlLCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmRlcmVmT2JqZWN0LCAw
LCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZvIFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW5mbyA9IHsgVjhUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpHZXRUZW1wbGF0ZSwgVjhUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlOjpkZXJlZk9iamVjdCwgMCwgMCwgMCwgV3JhcHBlclR5cGVPYmplY3RQ
cm90b3R5cGUgfTsKIAogbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VWOEludGVybmFsIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDEyOTBiODVhYzkwNGRkZDdlM2UwY2ViYmM1MzA5MWVk
Mjg1YzA2OGEuLmFiZDczZTQzOGY1OWJjZTNjZGI5NTBjM2Q2MGE1OGNiZDE1NDIyMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgK
QEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIH0KICAgICBpbmxpbmUgc3RhdGljIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gd3JhcChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Kiwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHZvaWQgZGVyZWZPYmplY3Qodm9pZCop
OworICAgIHN0YXRpYyB2b2lkIHZpc2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqLCB2b2lkKiwg
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD4pOwogICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8g
aW5mbzsKICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBjb25zdCBpbnQgaW50ZXJuYWxG
aWVsZENvdW50ID0gdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCArIDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3BwCmluZGV4IGFkMTg4ZWVhYTA3M2Qw
M2FlYTM0YzM2ZDY1ZmM1ZDlmOGQ4YzFhMzguLmNjZjJmOTg5NzRlNzZkODMxZGI3YmQ0MjU3ODkw
Nzk3NGYxODMzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L05QVjhPYmplY3QuY3Bw
CkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV3JhcHBlclR5cGVJbmZv
KiBucE9iamVjdFR5cGVJbmZvKCkKIHsKLSAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIHR5cGVJ
bmZvID0geyAwLCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworICAgIHN0
YXRpYyBXcmFwcGVyVHlwZUluZm8gdHlwZUluZm8gPSB7IDAsIDAsIDAsIDAsIDAsIFdyYXBwZXJU
eXBlT2JqZWN0UHJvdG90eXBlIH07CiAgICAgcmV0dXJuICZ0eXBlSW5mbzsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCmluZGV4IDA5M2M2NDRh
NTcwNTZhNWNlYzUzOTkwMmZlNzY4YjY5NzZhNzUwZWQuLmZmODVmNTMwZmM1NmU3MWNmODdmYzNj
YjY3MjFhNTJjN2ViYzdmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4R0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdD
Q29udHJvbGxlci5jcHAKQEAgLTM0MCw2ICszNDAsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHZp
c2l0RE9NV3JhcHBlcihET01EYXRhU3RvcmUqIHN0b3JlLCB2b2lkKiBvYmplY3QsIHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+IHdyYXBwZXIpCiAgICAgeworICAgICAgICBXcmFwcGVyVHlwZUlu
Zm8qIGluZm8gPSBWOERPTVdyYXBwZXI6OmRvbVdyYXBwZXJUeXBlKHdyYXBwZXIpOworICAgICAg
ICBpZiAoaW5mby0+ZG9tV3JhcHBlclZpc2l0b3JGdW5jdGlvbikKKyAgICAgICAgICAgIGluZm8t
PmRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb24oc3RvcmUsIG9iamVjdCwgd3JhcHBlcik7CiAgICAg
fQogCiAgICAgdm9pZCBhcHBseUdyb3VwaW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvV3JhcHBlclR5cGVJbmZvLmgKaW5kZXggOWU1ZjA0ZmVkYzlhMjA3OWE0NDIxOTUxNzA0ZDZl
MDU2M2EyN2QyMC4uYWZjMGM4NzU1M2ZlNjM3MDQ3NTBlYzk5ZmRjOGZjOWNjNDBjMTcxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKQEAgLTM2LDYg
KzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBjbGFzcyBBY3RpdmVET01P
YmplY3Q7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlOwogICAgIAogICAgIHN0YXRpYyBjb25zdCBp
bnQgdjhET01XcmFwcGVyVHlwZUluZGV4ID0gMDsKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9N
V3JhcHBlck9iamVjdEluZGV4ID0gMTsKQEAgLTQ2LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICgq
R2V0VGVtcGxhdGVGdW5jdGlvbikoKTsKICAgICB0eXBlZGVmIHZvaWQgKCpEZXJlZk9iamVjdEZ1
bmN0aW9uKSh2b2lkKik7CiAgICAgdHlwZWRlZiBBY3RpdmVET01PYmplY3QqICgqVG9BY3RpdmVE
T01PYmplY3RGdW5jdGlvbikodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pik7CisgICAgdHlwZWRlZiB2
b2lkICgqRE9NV3JhcHBlclZpc2l0b3JGdW5jdGlvbikoRE9NRGF0YVN0b3JlKiwgdm9pZCosIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+KTsKIAogICAgIGVudW0gV3JhcHBlclR5cGVQcm90b3R5
cGUgewogICAgICAgICBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSwKQEAgLTk2LDYgKzk4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjb25zdCBHZXRUZW1wbGF0ZUZ1bmN0aW9u
IGdldFRlbXBsYXRlRnVuY3Rpb247CiAgICAgICAgIGNvbnN0IERlcmVmT2JqZWN0RnVuY3Rpb24g
ZGVyZWZPYmplY3RGdW5jdGlvbjsKICAgICAgICAgY29uc3QgVG9BY3RpdmVET01PYmplY3RGdW5j
dGlvbiB0b0FjdGl2ZURPTU9iamVjdEZ1bmN0aW9uOworICAgICAgICBjb25zdCBET01XcmFwcGVy
VmlzaXRvckZ1bmN0aW9uIGRvbVdyYXBwZXJWaXNpdG9yRnVuY3Rpb247CiAgICAgICAgIGNvbnN0
IFdyYXBwZXJUeXBlSW5mbyogcGFyZW50Q2xhc3M7CiAgICAgICAgIGNvbnN0IFdyYXBwZXJUeXBl
UHJvdG90eXBlIHdyYXBwZXJUeXBlUHJvdG90eXBlOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjNhMmQyZjIwN2Q0NWU4MzFiNDJm
NzVjODA1NzI0ZDA4OGFmZDY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hl
ZXRDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRp
b24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJWOENTU1N0eWxlU2hlZXQuaCIKLQotI2luY2x1ZGUgIlY4RE9NV3Jh
cHBlci5oIgotI2luY2x1ZGUgIlY4Tm9kZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxlU2hlZXQqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4TnVsbFdpdGhD
aGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOENT
U1N0eWxlU2hlZXQ6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAgLy8gQWRkIGEgaGlkZGVuIHJl
ZmVyZW5jZSBmcm9tIHN0eWxlc2hlZXQgb2JqZWN0IHRvIGl0cyBvd25lciBub2RlLgotICAgIE5v
ZGUqIG93bmVyTm9kZSA9IGltcGwtPm93bmVyTm9kZSgpOwotICAgIGlmIChvd25lck5vZGUgJiYg
IXdyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVu
UmVmZXJlbmNlKHdyYXBwZXIsICJvd25lck5vZGUiLCB0b1Y4KG93bmVyTm9kZSwgaXNvbGF0ZSkp
OwotICAgIHJldHVybiB3cmFwcGVyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5n
TWFwQ3VzdG9tLmNwcAppbmRleCBkYjA0NWE4NDQ5OTNhMWVkOWZmNjYyM2FmMzRhN2YzNzA3NzY5
YmY3Li5jZGJmMzg1ODFkYTRhNzNlNmQ4OTE4M2M3ODRmMmU0YjdjYjUyMGI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAKQEAgLTg0LDE5ICs4NCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERP
TVN0cmluZ01hcDo6bmFtZWRQcm9wZXJ0eVNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4KICAg
ICByZXR1cm4gdmFsdWU7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVN0cmlu
Z01hcCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgaWYgKCFpbXBsKQotICAg
ICAgICByZXR1cm4gdjhOdWxsV2l0aENoZWNrKGlzb2xhdGUpOwotICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NU3RyaW5nTWFwOjp3cmFwKGltcGwsIGlzb2xhdGUpOwot
ICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9N
U3RyaW5nTWFwLgotICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7Ci0gICAg
aWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwotICAgICAg
ICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgp
KQotICAgICAgICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZh
bHVlKFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkb21TdHJpbmdNYXAoKSwgd3JhcHBlcik7Ci0gICAg
fQotICAgIHJldHVybiB3cmFwcGVyOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5M
aXN0Q3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRkOGVjZmNmZWM5
MWU4MzEzYmFhNzBmYTZmY2I4YjQyZDc5ZTYzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01Ub2tlbkxpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBk
aXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
Ci0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOERPTVRva2VuTGlzdC5oIgotCi0jaW5jbHVkZSAi
RE9NVG9rZW5MaXN0LmgiCi0jaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhET01X
cmFwcGVyLmgiCi0jaW5jbHVkZSAiVjhFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2OE51bGxX
aXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0g
VjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCwgaXNvbGF0ZSk7Ci0gICAgLy8gQWRkIGEgaGlkZGVu
IHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01Ub2tlbkxpc3QuCi0gICAgRWxl
bWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNFbXB0
eSgpICYmIGVsZW1lbnQpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGVsZW1lbnRW
YWx1ZSA9IHRvVjgoZWxlbWVudCwgaXNvbGF0ZSk7Ci0gICAgICAgIGlmICghZWxlbWVudFZhbHVl
LklzRW1wdHkoKSAmJiBlbGVtZW50VmFsdWUtPklzT2JqZWN0KCkpCi0gICAgICAgICAgICBlbGVt
ZW50VmFsdWUuQXM8djg6Ok9iamVjdD4oKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0
eU5hbWU6OmRvbVRva2VuTGlzdCgpLCB3cmFwcGVyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHdyYXBw
ZXI7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MSW1hZ2VFbGVtZW50Q29u
c3RydWN0b3IuY3BwCmluZGV4IGU3OGM5NWEwODkzMjM1MzdhZDE3NDE1NDZlZTRhOGQzNDEwZDM0
ZWMuLjcyM2EwYjViNDkzM2RjNDYxYjBjZDE5NDAxM2I2Mjg2Y2YzODYyMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxJbWFnZUVsZW1lbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TEltYWdlRWxlbWVudENvbnN0cnVjdG9yLmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVdyYXBwZXJUeXBlSW5mbyBWOEhUTUxJbWFnZUVsZW1lbnRDb25zdHJ1
Y3Rvcjo6aW5mbyA9IHsgVjhIVE1MSW1hZ2VFbGVtZW50Q29uc3RydWN0b3I6OkdldFRlbXBsYXRl
LCAwLCAwLCAwLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9OworV3JhcHBlclR5cGVJbmZv
IFY4SFRNTEltYWdlRWxlbWVudENvbnN0cnVjdG9yOjppbmZvID0geyBWOEhUTUxJbWFnZUVsZW1l
bnRDb25zdHJ1Y3Rvcjo6R2V0VGVtcGxhdGUsIDAsIDAsIDAsIDAsIFdyYXBwZXJUeXBlT2JqZWN0
UHJvdG90eXBlIH07CiAKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhIVE1MSW1hZ2VF
bGVtZW50Q29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVk
Tm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggNzM5ZThkMmViNTc0MzE4ZmY5NjhhZTQxYjQyZTFiNDA5
ZmNkODNkZC4uZDJlMzQ4MzM0ZmE0YTQ5M2M5ZTNiOTdiMWNmYjk5OTg2MWZiNDIyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5v
ZGVNYXBDdXN0b20uY3BwCkBAIC03MSwxNiArNzEsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhOYW1lZE5vZGVNYXA6Om5hbWVkUHJvcGVydHlHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+
CiAgICAgcmV0dXJuIHRvVjgocmVzdWx0LnJlbGVhc2UoKSwgaW5mby5HZXRJc29sYXRlKCkpOwog
fQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOYW1lZE5vZGVNYXAqIGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlKQotewotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJuIHY4TnVs
bFdpdGhDaGVjayhpc29sYXRlKTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIg
PSBWOE5hbWVkTm9kZU1hcDo6d3JhcChpbXBsLCBpc29sYXRlKTsKLSAgICAvLyBBZGQgYSBoaWRk
ZW4gcmVmZXJlbmNlIGZyb20gbmFtZWQgbm9kZSBtYXAgdG8gaXRzIG93bmVyIG5vZGUuCi0gICAg
RWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKLSAgICBpZiAoIXdyYXBwZXIuSXNF
bXB0eSgpICYmIGVsZW1lbnQpCi0gICAgICAgIHdyYXBwZXItPlNldEhpZGRlblZhbHVlKFY4SGlk
ZGVuUHJvcGVydHlOYW1lOjpvd25lck5vZGUoKSwgdG9WOChlbGVtZW50LCBpc29sYXRlKSk7Ci0g
ICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3Rv
bS5jcHAKaW5kZXggYTU4YjY5OTA5ZjIzZmExYzc0NjdmNjQyYmE3MTg2YmRiMjE5Y2FiNC4uN2Ex
MDIxY2U0MWRkYjdjMzE2MDhhOTY2ZTEzNzk2MmMwZWEzYWViYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAK
QEAgLTQyLDEzICs0Miw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFN0eWxlU2hlZXQq
IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0
dXJuIHY4TnVsbFdpdGhDaGVjayhpc29sYXRlKTsKICAgICBpZiAoaW1wbC0+aXNDU1NTdHlsZVNo
ZWV0KCkpCi0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENTU1N0eWxlU2hlZXQqPihp
bXBsKSwgaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhT
dHlsZVNoZWV0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotICAgIC8vIEFkZCBhIGhpZGRlbiByZWZl
cmVuY2UgZnJvbSBzdHlsZXNoZWV0IG9iamVjdCB0byBpdHMgb3duZXIgbm9kZS4KLSAgICBOb2Rl
KiBvd25lck5vZGUgPSBpbXBsLT5vd25lck5vZGUoKTsKLSAgICBpZiAob3duZXJOb2RlICYmICF3
cmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgVjhET01XcmFwcGVyOjpzZXROYW1lZEhpZGRlblJl
ZmVyZW5jZSh3cmFwcGVyLCAib3duZXJOb2RlIiwgdG9WOChvd25lck5vZGUsIGlzb2xhdGUpKTsK
LSAgICByZXR1cm4gd3JhcHBlcjsKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q1NT
U3R5bGVTaGVldCo+KGltcGwpKTsKKyAgICByZXR1cm4gVjhTdHlsZVNoZWV0Ojp3cmFwKGltcGws
IGlzb2xhdGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhUZXh0VHJhY2tMaXN0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xpc3RDdXN0b20u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjdmMTBmZjY5ZTFiNTMxYWY3NDli
ZTg4ZjBhYTMzOWYyNmYyN2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFRleHRUcmFja0xp
c3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRp
b24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJWOFRleHRUcmFja0xpc3QuaCIKLQotI2luY2x1ZGUgIlRleHRUcmFj
a0xpc3QuaCIKLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOERPTVdyYXBwZXIu
aCIKLSNpbmNsdWRlICJWOEhUTUxNZWRpYUVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXh0VHJhY2tMaXN0KiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVybiB2OE51
bGxXaXRoQ2hlY2soaXNvbGF0ZSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVy
ID0gVjhUZXh0VHJhY2tMaXN0Ojp3cmFwKGltcGwsIGlzb2xhdGUpOwotCi0gICAgLy8gQWRkIGEg
aGlkZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBtZWRpYSBlbGVtZW50IHRvIHRoZSB0ZXh0IHRyYWNr
IGxpc3QuCi0gICAgTm9kZSogZWxlbWVudCA9IGltcGwtPm93bmVyKCk7Ci0gICAgaWYgKCF3cmFw
cGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQsIGlzb2xhdGUpOwotICAgICAgICBpZiAoIWVs
ZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgpKQotICAgICAg
ICAgICAgZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCktPlNldEhpZGRlblZhbHVlKFY4SGlk
ZGVuUHJvcGVydHlOYW1lOjp0ZXh0VHJhY2tzKCksIHdyYXBwZXIpOwotICAgIH0KLSAgICByZXR1
cm4gd3JhcHBlcjsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2hlZXQuaWRsCmluZGV4IDk2MmM5ZGJkY2NmOTI0NDM1YjJlZjZjZDE1MmJmN2JlYzNh
ZGEwNjAuLjc4MmRiNTg2Y2U0OTFiOGIzNDRiMjViMWQxNmQ1MTA5MTRkYjc4MjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKQEAgLTIyLDcgKzIyLDcgQEAgbW9kdWxlIGNzcyB7
CiAKICAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgogICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBWOEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbE93bmVyTm9kZVJvb3QKICAgICBdIENTU1N0eWxlU2hlZXQgOiBTdHlsZVNoZWV0IHsKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGUgICAgICAgICAgb3duZXJSdWxlOwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgICAgICBjc3NSdWxlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0LmlkbAppbmRleCA5ZTIwZDg0YWNjM2IwZTQyMWM3MWIxZTM2OWUyMGEy
MTMzM2I3NzIzLi5iODU2OGJmYjIwNTIyM2Q3YTRiOTkxY2JjOWE2ZTFlOGI0ODg2NDllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCkBAIC0yNiw3ICsyNiw3IEBAIG1vZHVsZSBzdHlsZXNo
ZWV0cyB7CiAgICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICAgICAgQ3VzdG9tVG9K
U09iamVjdCwKICAgICAgICAgT2JqQ1BvbHltb3JwaGljLAotICAgICAgICBWOERlcGVuZGVudExp
ZmV0aW1lCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdAog
ICAgIF0gU3R5bGVTaGVldCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgICAgICAgIHR5cGU7CiAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgIGRpc2FibGVkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NU3RyaW5nTWFwLmlkbAppbmRleCA5ODBkMDQ0Y2QwMmFiMWFmNWY3YTk2ZTdhNmUyYzU5NjMz
ZThjM2RmLi4wNDVkNTIyMzIyOWYyYzI5YmE3ZjYxNjY2YjQ2YzU5ZWJhODJhY2VlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbApAQCAtMjYsMTIgKzI2LDExIEBACiBtb2R1bGUgY29y
ZSB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBKU0dlbmVyYXRlSXNSZWFjaGFibGU9SW1w
bEVsZW1lbnRSb290LAorICAgICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9v
dCwKICAgICAgICAgTmFtZWRHZXR0ZXIsCiAgICAgICAgIEN1c3RvbURlbGV0ZVByb3BlcnR5LAog
ICAgICAgICBDdXN0b21FbnVtZXJhdGVQcm9wZXJ0eSwKLSAgICAgICAgQ3VzdG9tTmFtZWRTZXR0
ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBDdXN0b21OYW1lZFNldHRl
cgogICAgIF0gRE9NU3RyaW5nTWFwIHsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTmFtZWROb2RlTWFwLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVN
YXAuaWRsCmluZGV4IDg4ODIwYzAxNzJmNTYzYzY0NDY2NTUzMjFjYzQ1YThkZWViNjRhYWMuLjdl
ZTZiNzU2NzdhYTMyOGRlMWIxMzRjZjQwYzU1ZDIzNWNhYmRjZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
YW1lZE5vZGVNYXAuaWRsCkBAIC0yMSwxMSArMjEsMTAgQEAKIG1vZHVsZSBjb3JlIHsKIAogICAg
IGludGVyZmFjZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJv
b3QsCi0gICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAorICAgICAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPUltcGxFbGVtZW50Um9vdCwKICAgICAgICAgSW5kZXhlZEdldHRlciwKLSAgICAgICAg
TmFtZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBKU0N1c3Rv
bU1hcmtGdW5jdGlvbiwKKyAgICAgICAgTmFtZWRHZXR0ZXIKICAgICBdIE5hbWVkTm9kZU1hcCB7
CiAKICAgICAgICAgTm9kZSBnZXROYW1lZEl0ZW0oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gRE9NU3RyaW5nIG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01Ub2tlbkxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCmlu
ZGV4IDU1YjYzNmY3ZDdhNWFiMWE2MDMzNTZhYTIyZDdmNjRlOTg5YWNkZTYuLmNmNTdlMWFlZWY5
NmUyOTY3NTAwZWUxN2U1MGY0MmZkMDg5YzY3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5pZGwKQEAgLTI1LDkgKzI1LDggQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVyZmFj
ZSBbCi0gICAgICAgIEpTR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsRWxlbWVudFJvb3QsCi0gICAg
ICAgIEluZGV4ZWRHZXR0ZXIsCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAorICAgICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxFbGVtZW50Um9vdCwKKyAgICAgICAgSW5kZXhlZEdldHRl
cgogICAgIF0gRE9NVG9rZW5MaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxs
XSBET01TdHJpbmcgaXRlbShpbiB1bnNpZ25lZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFja0xpc3QuaWRsCmluZGV4IDNmNmVmYWMwYzY3NmEzZjY1MTJk
YmExMDJkYzljMzJkN2M3OTIyMjcuLmFkNGU4NjIxYzY4NDg4NjYzN2M4ODkyMjIyZjllOGM2NDE1
Yjc4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlz
dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbApA
QCAtMjgsMTEgKzI4LDExIEBAIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAg
ICBDb25kaXRpb25hbD1WSURFT19UUkFDSywKICAgICAgICAgVjhFbmFibGVkQXRSdW50aW1lPXdl
YmtpdFZpZGVvVHJhY2ssCi0gICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdCwKICAgICAgICAgSW5k
ZXhlZEdldHRlciwKICAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLAotICAgICAgICBKU0N1c3RvbUlzUmVhY2hhYmxlCisgICAgICAgIEpTQ3VzdG9tSXNS
ZWFjaGFibGUsCisgICAgICAgIFY4R2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJSb290CiAg
ICAgXSBUZXh0VHJhY2tMaXN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgbGVuZ3RoOwogICAgICAgICBUZXh0VHJhY2sgaXRlbShpbiB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>