<?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>174313</bug_id>
          
          <creation_ts>2017-07-10 09:34:41 -0700</creation_ts>
          <short_desc>EventTarget constructor</short_desc>
          <delta_ts>2023-09-27 14:05:12 -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>Safari Technology Preview</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205669</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=204544</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=188083</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=202599</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=195556</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=198674</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=183629</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Domenic Denicola">d</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>709922234</cc>
    
    <cc>andrew</cc>
    
    <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>ashvayka</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>denelxan</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jxck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>larsgk</cc>
    
    <cc>mjs</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tt007</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1327045</commentid>
    <comment_count>0</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2017-07-10 09:34:41 -0700</bug_when>
    <thetext>This feature allows authors to create their own instances of EventTarget. Such instances do not participate in a tree.

Spec: https://dom.spec.whatwg.org/#dom-eventtarget-eventtarget

Tests:
- http://w3c-test.org/dom/events/EventTarget-constructible.any.html
- http://w3c-test.org/dom/events/EventTarget-constructible.any.worker.html

Spec discussion:
- https://github.com/whatwg/dom/issues/441
- https://github.com/whatwg/dom/pull/467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484794</commentid>
    <comment_count>1</comment_count>
    <who name="Maga D. Zandaqo">denelxan</who>
    <bug_when>2018-12-04 05:11:57 -0800</bug_when>
    <thetext>Chrome and Firefox have both implemented this feature, and Edge rumored to be discontinued soon, WebKit/Safari is the only major modern browser that lacks this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503196</commentid>
    <comment_count>2</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:18:34 -0800</bug_when>
    <thetext>Mass move bugs into the DOM component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544325</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-12 20:13:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/51693619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545404</commentid>
    <comment_count>4</comment_count>
    <who name="Lars Knudsen">larsgk</who>
    <bug_when>2019-06-17 15:09:43 -0700</bug_when>
    <thetext>This feature makes it possible to easily do ES6 modules that can act as services (think Angular &apos;service&apos;), which has a great value for especially enterprise apps done in vanilla JS.

Example:

class _MyService extends EventTarget {
...
    this.dispatchEvent(new CustomEvent(&apos;new-data&apos;, {detail: data}));
...
};

export const MyService = new _MyService();

.

In my current team, we are making an (internal) app in a larger enterprise, where we need to have a small payload, fast execution and rendering - using lit-element and vanilla JS.  In order to support iDevices, we will have to polyfill this, which is a bit sad ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555073</commentid>
    <comment_count>5</comment_count>
      <attachid>374688</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-07-23 11:11:37 -0700</bug_when>
    <thetext>Created attachment 374688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555095</commentid>
    <comment_count>6</comment_count>
      <attachid>374692</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-07-23 12:19:04 -0700</bug_when>
    <thetext>Created attachment 374692
Patch

Adjust web platform test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555541</commentid>
    <comment_count>7</comment_count>
      <attachid>374820</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-07-24 15:47:29 -0700</bug_when>
    <thetext>Created attachment 374820
Patch

List tests in WebCore change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555615</commentid>
    <comment_count>8</comment_count>
      <attachid>374820</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-24 18:39:10 -0700</bug_when>
    <thetext>Comment on attachment 374820
Patch

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

I like most everything about the patch except for the class name. Could we call it EventTargetConstructible or EventTargetConcrete or something that is more specific than &quot;Impl&quot;?

&gt; Source/WebCore/dom/EventTargetImpl.cpp:30
&gt; +#include &lt;wtf/IsoMallocInlines.h&gt;

Don’t need this since it’s also in the header.

&gt; Source/WebCore/dom/EventTargetImpl.h:41
&gt; +    ~EventTargetImpl() = default;

Why is this needed? Won’t this compile fine without this and work properly?

&gt; Source/WebCore/dom/EventTargetImpl.h:45
&gt; +    using RefCounted::deref;
&gt; +private:

Normally we’d leave a blank line before &quot;private&quot;.

&gt; Source/WebCore/dom/EventTargetImpl.h:46
&gt; +    EventTargetImpl(ScriptExecutionContext&amp;);

Should have &quot;explicit&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558500</commentid>
    <comment_count>9</comment_count>
      <attachid>375541</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-08-05 11:50:09 -0700</bug_when>
    <thetext>Created attachment 375541
Patch

Remove CustomConstructor() and use InternalFunction::createSubclassStructure in regular constructors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558541</commentid>
    <comment_count>10</comment_count>
      <attachid>375551</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-08-05 14:09:36 -0700</bug_when>
    <thetext>Created attachment 375551
Patch

Avoid casting to JSCell directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558678</commentid>
    <comment_count>11</comment_count>
      <attachid>375541</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-05 18:54:53 -0700</bug_when>
    <thetext>Comment on attachment 375541
Patch

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

Looks good.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7223
&gt; +            push(@$outputArray, &quot;    auto newTarget = state-&gt;newTarget();\n&quot;);
&gt; +            push(@$outputArray, &quot;    if (newTarget != castedThis) {\n&quot;);
&gt; +            push(@$outputArray, &quot;        auto* jsCell = jsObject.asCell();\n&quot;);
&gt; +            push(@$outputArray, &quot;        auto* subclassStructure = InternalFunction::createSubclassStructure(state, newTarget, jsCell-&gt;structure());\n&quot;);
&gt; +            push(@$outputArray, &quot;        RETURN_IF_EXCEPTION(throwScope, { });\n&quot;);
&gt; +            push(@$outputArray, &quot;        jsCell-&gt;setStructure(vm, subclassStructure);\n&quot;);
&gt; +            push(@$outputArray, &quot;    }\n&quot;);

This is a lot of new code unconditionally that is usually not used; seems a bit inelegant.

Also, there’s a slightly messy conversion to JSValue, then to JSCell*; that’s because toJSNewlyCreated returns a JSValue.

I would expect we could make this a bit more elegant and find a way to make this part of a template function instead of generating so much code here. We typically try not to have the code generator write out functions if they can be templates instead.

&gt; Source/WebCore/bindings/scripts/InFilesCompiler.pm:234
&gt; +    print F &quot;    ${suffix} = 0,\n&quot;;

I don’t understand why this 0 constant is a good idea. Change log does not make it clear.

&gt; Source/WebCore/dom/make_event_factory.pl:138
&gt; -    print F &quot;    }\n&quot;;
&gt; +    print F &quot;    default:\n&quot;;

Why this change to move the code inside the switch? Seems slightly less elegant to me, arbitrary change that’s not an improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558679</commentid>
    <comment_count>12</comment_count>
      <attachid>375551</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-05 18:55:55 -0700</bug_when>
    <thetext>Comment on attachment 375551
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7219
&gt; +            push(@$outputArray, &quot;        auto* jsObject = asObject(jsValue);\n&quot;);

Same comment applies here: this code assumes that the newly created value is an object. Is that guaranteed? Can it be null? Maybe it could be something different if there was an exception?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618403</commentid>
    <comment_count>13</comment_count>
    <who name="Jxck">jxck</who>
    <bug_when>2020-02-12 22:51:22 -0800</bug_when>
    <thetext>Do they have any updates here ?
I wanna extend native EventTarget for my own class like other browser too.
if I can do some work for help to solve this, please tell me.

Jxck</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618709</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-13 14:23:13 -0800</bug_when>
    <thetext>Next step is for someone to revise this patch based on the comments I offered on 8/5 or respond to them explaining why not. You’re welcome to do it yourself if you’d like to become a WebKit contributor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618942</commentid>
    <comment_count>15</comment_count>
      <attachid>390756</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-14 05:24:09 -0800</bug_when>
    <thetext>Created attachment 390756
Patch

Extract setSubclassStructureIfNeeded helper, handle cross-realm NewTarget, and drop 0 constant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618963</commentid>
    <comment_count>16</comment_count>
      <attachid>390761</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-14 07:11:50 -0800</bug_when>
    <thetext>Created attachment 390761
Patch

Extract setSubclassStructureIfNeeded helper, handle cross-realm NewTarget, and drop 0 constant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618984</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-14 07:47:32 -0800</bug_when>
    <thetext>(In reply to Jxck from comment #13)
&gt; Do they have any updates here ?

Thanks for the ping! I&apos;ve totally forgot about this one, sorry.

(In reply to Darin Adler from comment #11)
&gt; Why this change to move the code inside the switch? Seems slightly less
&gt; elegant to me, arbitrary change that’s not an improvement.

Without this change, compilation fails because EventTargetInterfaceType is not handled in `switch`.
We have EventTargetInterfaceType to avoid spreading EventTargetConrete and ConcreteEventTargetInterfaceType around code base.
An alternative to this change would be to hack around %parsedEvents by adding EventTargetInterfaceType manually and introduce a new parameter, which seems even less elegant.

(In reply to Darin Adler from comment #12)
&gt; Same comment applies here: this code assumes that the newly created value is
&gt; an object. Is that guaranteed? Can it be null? Maybe it could be something
&gt; different if there was an exception?

I&apos;ve added exception check before `setSubclassStructureIfNeeded` (for ConstructorMayThrowException) and null check for `newTarget` just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619254</commentid>
    <comment_count>18</comment_count>
      <attachid>390761</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-02-14 15:07:56 -0800</bug_when>
    <thetext>Comment on attachment 390761
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWrapperCache.h:204
&gt; +template&lt;typename DOMClass&gt; inline void setSubclassStructureIfNeeded(JSC::JSGlobalObject* lexicalGlobalObject, JSC::CallFrame* callFrame, JSC::JSValue jsValue)

I suggest changing the JSValue argument to a JSObject* argument. The code that knows the value is an object is presumably at the call site; it’s best to have the typecast where the knowledge is rather than elsewhere.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7366
&gt; +            push(@$outputArray, &quot;    auto jsValue = toJSNewlyCreated&lt;${IDLType}&gt;(&quot; . join(&quot;, &quot;, @constructionConversionArguments) . &quot;);\n&quot;);

Seems like toJSNewlyCreated should return a JSObject* instead of a JSValue if it’s always going to be a JSObject. Don’t have to make that change now, but it’s better than returning something and knowing you can typecast back.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7368
&gt; +            push(@$outputArray, &quot;    setSubclassStructureIfNeeded&lt;${implType}&gt;(lexicalGlobalObject, callFrame, jsValue);\n&quot;);

Looks like this might slow down all other cases just to make the EventTarget case work. Maybe only a tiny bit, though. Is there some way to avoid that?

&gt; Source/WebCore/dom/make_event_factory.pl:138
&gt; +    print F &quot;    default:\n&quot;;

I would suggest instead adding a case for EventTargetInterfaceType here?

    print F &quot;   case EventTargetInterfaceType:\n&quot;;
    print F &quot;       break;\n&quot;;

It’s nice to get a warning if we accidentally have any unhandled type, and this approach preserves it and also make the change to the script slightly simpler/smaller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619419</commentid>
    <comment_count>19</comment_count>
      <attachid>390868</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-15 08:57:31 -0800</bug_when>
    <thetext>Created attachment 390868
Patch

Set reviewer, typecast result of toJSNewlyCreated, and add a case for EventTargetInterfaceType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619420</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-15 09:04:18 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #18)
&gt; Looks like this might slow down all other cases just to make the EventTarget
&gt; case work. Maybe only a tiny bit, though. Is there some way to avoid that?

Please note that all DOM constructors can be subclassed, not just EventTarget. I&apos;ve made this explicit in ChangeLog.
I believe second common case is subclassing events (CustomEvent mostly). Please see new tests passing in wpt/dom/events/Event-subclasses-constructors.html.
We inline `setSubclassStructureIfNeeded` and it returns early for most of the calls; I am not sure what else can we do here.

(In reply to Darin Adler from comment #18)
&gt; I would suggest instead adding a case for EventTargetInterfaceType here?

Perfect, thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619424</commentid>
    <comment_count>21</comment_count>
      <attachid>390869</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-15 11:13:12 -0800</bug_when>
    <thetext>Created attachment 390869
Patch

Revert typecasting result of toJSNewlyCreated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619425</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-02-15 11:17:30 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #18)
&gt; Seems like toJSNewlyCreated should return a JSObject* instead of a JSValue
&gt; if it’s always going to be a JSObject. Don’t have to make that change now,
&gt; but it’s better than returning something and knowing you can typecast back.

I&apos;ve added a FIXME comment, yet typecasting result of toJSNewlyCreated (I used relatively safe .getObject()) causes mass EWS crashes w/o logs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619532</commentid>
    <comment_count>23</comment_count>
      <attachid>390869</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-16 17:41:32 -0800</bug_when>
    <thetext>Comment on attachment 390869
Patch

Clearing flags on attachment: 390869

Committed r256716: &lt;https://trac.webkit.org/changeset/256716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619533</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-16 17:41:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626516</commentid>
    <comment_count>25</comment_count>
      <attachid>390869</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-03-05 22:22:22 -0800</bug_when>
    <thetext>Comment on attachment 390869
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWrapperCache.h:211
&gt; +    using WrapperClass = typename JSDOMWrapperConverterTraits&lt;DOMClass&gt;::WrapperClass;

Can we static assert this inherits from InternalFunction?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626520</commentid>
    <comment_count>26</comment_count>
      <attachid>390869</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-03-05 22:31:02 -0800</bug_when>
    <thetext>Comment on attachment 390869
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMWrapperCache.h:220
&gt; +    jsObject-&gt;setStructure(vm, subclassStructure);

I’m pretty confused what’s going on here. You create an object, and then might set its structure to something completely different. This feels quite wrong. Why aren’t we constructing the object with this structure?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7366
&gt; +            # FIXME: toJSNewlyCreated should return JSObject* instead of JSValue.

Is there a bug for this?

What are the implications here? Why are we currently returning JSValue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626716</commentid>
    <comment_count>27</comment_count>
      <attachid>390869</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-06 09:56:50 -0800</bug_when>
    <thetext>Comment on attachment 390869
Patch

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

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:7366
&gt;&gt; +            # FIXME: toJSNewlyCreated should return JSObject* instead of JSValue.
&gt; 
&gt; Is there a bug for this?
&gt; 
&gt; What are the implications here? Why are we currently returning JSValue?

I believe there are no &quot;real&quot; implications. It’s a code tidiness, use types that are as specific as possible, thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626924</commentid>
    <comment_count>28</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-06 15:41:44 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #25) 
&gt; Can we static assert this inherits from InternalFunction?

Yes, we can add an assert.

(In reply to Saam Barati from comment #26)
&gt; I’m pretty confused what’s going on here. You create an object, and then
&gt; might set its structure to something completely different. This feels quite
&gt; wrong. Why aren’t we constructing the object with this structure?

The perfect place for InternalFunction::createSubclassStructure would be `getDOMStructure`, yet this would require passing `newTarget` via `toJSNewlyCreated` and `createWrapper`, which would result in massive code change (we have quite a few custom `toJSNewlyCreated`s).

We can also avoid invoking `getCachedDOMStructure` and `cacheWrapper` there because caching doesn&apos;t make much sense for subclasses.

If we decide to do that, we can also simplify `toJSNewlyCreated` signature by avoiding passing `throwScope` as an argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629680</commentid>
    <comment_count>29</comment_count>
    <who name="Maga D. Zandaqo">denelxan</who>
    <bug_when>2020-03-13 10:31:19 -0700</bug_when>
    <thetext>The ticket status has been set to resolved on February 16, so has it landed in TP already? Am I correct to assume that EventTarget constructor will be supported in the next version of Safari?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753876</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-04-24 12:24:18 -0700</bug_when>
    <thetext>*** Bug 172867 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1980625</commentid>
    <comment_count>31</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2023-09-27 14:05:12 -0700</bug_when>
    <thetext>*** Bug 167791 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374688</attachid>
            <date>2019-07-23 11:11:37 -0700</date>
            <delta_ts>2019-07-23 12:18:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20190723211135.patch</filename>
            <type>text/plain</type>
            <size>23353</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTIzICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dEltcGwgY2xhc3MsIGEgdXNlci1jb25zdHJ1Y3RhYmxlIHZlcnNpb24gb2YgRXZlbnRUYXJnZXQu
IEl0IGlzCisgICAgICAgIGV4cG9zZWQgYXMgIkV2ZW50VGFyZ2V0IiB0byBKYXZhU2NyaXB0IHZp
YSBjb25zdHJ1Y3RKU0V2ZW50VGFyZ2V0LiBXZSB1c2UgQ3VzdG9tQ29uc3RydWN0b3IoKSB0bwor
ICAgICAgICBhY2NvdW50IGZvciBOZXdUYXJnZXQgYW5kIHN1cHBvcnQgc3ViY2xhc3NpbmcuCisK
KyAgICAgICAgV2UgZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMg
YW4gYWJzdHJhY3QgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMKKyAgICAgICAg
dW5mYXZvcmFibGUgZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBv
ZiBpdHMgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkKKyAgICAgICAgdW5uZWNl
c3NhcnkgZm9yIHRoZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RK
U0V2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0SW1wbC5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmlkbDoKKyAgICAgICAg
KiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldElt
cGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0SW1wbDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0SW1wbDo6RXZlbnRUYXJnZXRJbXBsKToK
KyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRJbXBsLmg6IEFkZGVkLgorCiAyMDE5LTA3LTE5ICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBMb2cg
bGVzcyBpbiBQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEVuYWJsZUFwcGxlUGF5QVBJcygpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsyMzEsNyBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9q
cy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmgKKyAgICBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0SW1w
bC5oCiAgICAgYmluZGluZ3MvanMvSlNFeGVjU3RhdGUuaAogICAgIGJpbmRpbmdzL2pzL0pTTWVk
aWFMaXN0Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uaApAQCAtMzk4LDYg
KzM5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBkb20v
RXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVldWUuaAogICAgIGRvbS9FdmVudFRhcmdldC5o
CisgICAgZG9tL0V2ZW50VGFyZ2V0SW1wbC5oCiAgICAgZG9tL0V4Y2VwdGlvbi5oCiAgICAgZG9t
L0V4Y2VwdGlvbkNvZGUuaAogICAgIGRvbS9FeGNlcHRpb25EYXRhLmgKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CShyZXZpc2lvbiAyNDc2NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtODY4LDYgKzg2OCw3IEBAIGRvbS9FdmVudExpc3RlbmVyTWFwLmNwcAog
ZG9tL0V2ZW50TmFtZXMuY3BwCiBkb20vRXZlbnRQYXRoLmNwcAogZG9tL0V2ZW50VGFyZ2V0LmNw
cAorZG9tL0V2ZW50VGFyZ2V0SW1wbC5jcHAKIGRvbS9FeGNlcHRpb25EYXRhLmNwcAogZG9tL0V4
dGVuc2lvblN0eWxlU2hlZXRzLmNwcAogZG9tL0ZvY3VzRXZlbnQuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyNDc2NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI0NzIsNiArMjQ3Miw4IEBACiAJCTg0ODUyMjdDMTE5
MDE2MkMwMDZFREM3RiAvKiBKU1NWR0hLZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ4NTIyNzgxMTkwMTYyQzAwNkVEQzdGIC8qIEpT
U1ZHSEtlcm5FbGVtZW50LmggKi87IH07CiAJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBK
U1NWR1ZLZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODQ4NTIyN0ExMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50Lmgg
Ki87IH07CiAJCTg0ODUyMjhCMTE5MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0ODUyMjg4MTE5
MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCAqLzsgfTsKKwkJODQ5MTgwQzkyMkU2
OEIyQjAwMjI4NkRFIC8qIEpTRXZlbnRUYXJnZXRJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDkxODBDNzIyRTY4QjI5MDAyMjg2REUgLyogSlNF
dmVudFRhcmdldEltcGwuaCAqLzsgfTsKKwkJODQ5MTgwQ0IyMkU2OEIzRjAwMjI4NkRFIC8qIEV2
ZW50VGFyZ2V0SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ5MTgwQ0EyMkU2OEIzRTAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0SW1wbC5oICovOyB9
OwogCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDlGNzc3NTBFRkVD
NjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggKi87IH07CiAJCTg0QTgxRjNFMEZD
N0RGRjAwMDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODRBODFGM0MwRkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFs
cGhhLmggKi87IH07CiAJCTg0QTgxRjQyMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGlj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUY0
MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5oICovOyB9OwpAQCAtMTAyMTAsNiAr
MTAyMTIsOCBAQAogCQk4NDg1MjI4NzExOTAxNzNDMDA2RURDN0YgLyogU1ZHVktlcm5FbGVtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1ZLZXJuRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0ODUyMjg4MTE5MDE3M0MwMDZF
REM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHVktlcm5FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0ODUy
Mjg5MTE5MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNWR1ZLZXJuRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg0OTE4MEM3MjJFNjhCMjkwMDIyODZERSAvKiBKU0V2ZW50VGFyZ2V0SW1wbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0SW1wbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NDkxODBDQTIyRTY4QjNFMDAyMjg2REUgLyogRXZlbnRU
YXJnZXRJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50VGFyZ2V0
SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDlGNzc3NTBFRkVDNjIwMDA5
MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cm9rZVN0eWxlQXBwbGllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NEE4MUYzQjBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQWxwaGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NEE4MUYzQzBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQWxwaGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjE5LDYgKzEwMjIzLDcgQEAKIAkJODRCNjI2ODQx
MzMxMzhGOTAwOTVBNDg5IC8qIEZvbnRQbGF0Zm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRm9udFBsYXRmb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0QjZCOTc1MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlz
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRo
U2VnTGlzdFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjZCOTc2
MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NEMwOUE2QzIyRTY5QkE1MDA5OEJDNUYgLyogRXZlbnRUYXJnZXRJ
bXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGFyZ2V0
SW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QzVCMkY4MTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEM1QjJGOTEyMTZEQzgxMDA4OEI1M0Eg
LyogU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0QzY3ODRBMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRoQmxlbmRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoQmxlbmRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDg0Myw2ICsyNDg0OCw3IEBA
CiAJCQkJNjVFMEU5NDMxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5oICovLAogCQkJ
CTdDNDVDOUNCMUUzRThFNDkwMEFBQjU1OCAvKiBKU0RPTVdyYXBwZXJDYWNoZS5jcHAgKi8sCiAJ
CQkJN0M0NUM5QzgxRTNFOEI1MTAwQUFCNTU4IC8qIEpTRE9NV3JhcHBlckNhY2hlLmggKi8sCisJ
CQkJODQ5MTgwQzcyMkU2OEIyOTAwMjI4NkRFIC8qIEpTRXZlbnRUYXJnZXRJbXBsLmggKi8sCiAJ
CQkJOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTRXhlY1N0YXRlLmNwcCAqLywKIAkJCQk4
RjkzNEQ4MzExODlGMUVFMDA1MDhENUQgLyogSlNFeGVjU3RhdGUuaCAqLywKIAkJCQlCNTY1NzZF
NDE3REE1OTlGMDBBNTZCREMgLyogSlNFeGVjU3RhdGVJbnN0cnVtZW50YXRpb24uaCAqLywKQEAg
LTI3NDc2LDYgKzI3NDgyLDggQEAKIAkJCQlFMTJFREI3QTBCMzA4QTc4MDAyNzA0QjYgLyogRXZl
bnRUYXJnZXQuaCAqLywKIAkJCQk4NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZlbnRUYXJn
ZXQuaWRsICovLAogCQkJCUNEQ0U1Q0QwMTQ2MzNCQzkwMEQ0N0NDQSAvKiBFdmVudFRhcmdldEZh
Y3RvcnkuaW4gKi8sCisJCQkJODRDMDlBNkMyMkU2OUJBNTAwOThCQzVGIC8qIEV2ZW50VGFyZ2V0
SW1wbC5jcHAgKi8sCisJCQkJODQ5MTgwQ0EyMkU2OEIzRTAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0
SW1wbC5oICovLAogCQkJCTkzRDE5NjMyMUQ2Q0FCODIwMEZDN0U0NyAvKiBFeGNlcHRpb24uaCAq
LywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oICovLAog
CQkJCTUxRjY0NUEzMUY0QzAwMEMwMEI1NERFRCAvKiBFeGNlcHRpb25EYXRhLmNwcCAqLywKQEAg
LTI5MDkyLDYgKzI5MTAwLDcgQEAKIAkJCQlFMEZFRjM3MkIxN0M1M0VBQzFDMUZCRUUgLyogRXZl
bnRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkVEQjdCMEIzMDhBNzgwMDI3MDRCNiAv
KiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdBQTNDQTUxNDUyMzdDQzAwM0Ux
REE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ5MTgwQ0Iy
MkU2OEIzRjAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0SW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdBQTNDQTYxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdS
ZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyog
RXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI5OTAxLDYgKzI5OTEwLDcgQEAKIAkJCQlF
MEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ2QjYzRjZDMUM2RThEMTkwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3Vz
dG9tLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NDkxODBDOTIyRTY4QjJCMDAyMjg2REUgLyogSlNF
dmVudFRhcmdldEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzNzlGMUQ1N0IxNTMwMEFC
ODVFQSAvKiBKU0V4ZWNTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUQzMzIxQTNBOEIy
MzAwRjVGMTNDIC8qIEpTRVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovLAogCQkJCTdFNEM5
NkREMUFENDQ4MzUwMDM2NUE1MyAvKiBKU0V4dGVuZGFibGVFdmVudC5oIGluIEhlYWRlcnMgKi8s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0
Q3VzdG9tLmNwcAkocmV2aXNpb24gMjQ3NjU1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SGVhZGVy
cy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIkpTRE9N
Q29uc3RydWN0b3JCYXNlLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKICNpbmNsdWRlICJK
U0V2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJKU1dpbmRvd1Byb3h5LmgiCkBAIC00MCw2ICs0
MSwyNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0V2ZW50VGFyZ2V0KEV4ZWNTdGF0
ZSYgZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgYXV0byoganNDb25zdHJ1Y3RvciA9IGpzQ2Fz
dDxKU0RPTUNvbnN0cnVjdG9yQmFzZSo+KGV4ZWMuanNDYWxsZWUoKSk7CisgICAgQVNTRVJUKGpz
Q29uc3RydWN0b3IpOworICAgIGF1dG8qIGNvbnRleHQgPSBqc0NvbnN0cnVjdG9yLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKKyAgICAgICAg
cmV0dXJuIHRocm93Q29uc3RydWN0b3JTY3JpcHRFeGVjdXRpb25Db250ZXh0VW5hdmFpbGFibGVF
cnJvcihleGVjLCBzY29wZSwgIkV2ZW50VGFyZ2V0Iik7CisKKyAgICBhdXRvKiBnbG9iYWxPYmpl
Y3QgPSBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBiYXNlU3RydWN0
dXJlID0gZ2V0RE9NU3RydWN0dXJlPEpTRXZlbnRUYXJnZXQ+KHZtLCAqZ2xvYmFsT2JqZWN0KTsK
KyAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlKCZleGVjLCBleGVjLm5ld1RhcmdldCgpLCBiYXNlU3RydWN0dXJlKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworCisgICAgYXV0byBldmVudFRh
cmdldCA9IEV2ZW50VGFyZ2V0SW1wbDo6Y3JlYXRlKCpjb250ZXh0KTsKKyAgICBhdXRvIGpzRXZl
bnRUYXJnZXQgPSBKU0V2ZW50VGFyZ2V0OjpjcmVhdGUoc3ViY2xhc3NTdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCwgZXZlbnRUYXJnZXQuZ2V0KCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNFdmVudFRhcmdldCk7Cit9CisKIEV2ZW50VGFyZ2V0KiBKU0V2ZW50VGFyZ2V0Ojp0b1dyYXBw
ZWQoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmICh2YWx1ZS5pbmhlcml0czxKU1dp
bmRvd1Byb3h5Pih2bSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRUYXJnZXRJbXBsLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudFRhcmdldEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0FMV0FZU19JTkxJTkUgSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFdmVudFRhcmdldEltcGwmIHZhbHVlKQoreworICAgIHJldHVybiB3cmFwKHN0YXRl
LCBnbG9iYWxPYmplY3QsIHZhbHVlKTsKK30KKworQUxXQVlTX0lOTElORSBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxFdmVudFRhcmdldEltcGw+JiYgdmFsdWUpCit7CisgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8RXZlbnRUYXJnZXQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDYgKzE5LDcgQEAKICAqLwogCiBbCisgICAgQ3Vz
dG9tQ29uc3RydWN0b3IoKSwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAogICAgIElzSW1tdXRhYmxlUHJvdG90eXBlRXhvdGljT2JqZWN0T25Qcm90
b3R5cGUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4JKHJl
dmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4JKHdvcmtpbmcgY29weSkKQEAgLTExLDYgKzExLDcgQEAgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwogRXZlbnRTb3VyY2UKK0V2ZW50
VGFyZ2V0SW1wbAogRmlsZVJlYWRlcgogRm9udEZhY2VTZXQKIElEQkRhdGFiYXNlIGNvbmRpdGlv
bmFsPUlOREVYRURfREFUQUJBU0UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldElt
cGwuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldElt
cGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldEltcGwuaCIKKwor
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChFdmVudFRhcmdldEltcGwpOworCitSZWY8RXZlbnRUYXJnZXRJbXBsPiBFdmVu
dFRhcmdldEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50VGFyZ2V0SW1wbChjb250ZXh0KSk7Cit9CisK
K0V2ZW50VGFyZ2V0SW1wbDo6RXZlbnRUYXJnZXRJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEltcGwuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
ci5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRl
cmZhY2VzLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFdmVudFRhcmdldEltcGwgZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxFdmVudFRhcmdldEltcGw+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldEltcGwpOworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8RXZlbnRUYXJnZXRJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAg
IH5FdmVudFRhcmdldEltcGwoKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpy
ZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7Citwcml2YXRlOgorICAgIEV2ZW50VGFy
Z2V0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICBFdmVudFRhcmdldEludGVy
ZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEV2ZW50VGFy
Z2V0SW1wbEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDb250
ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisKKyAg
ICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZF
dmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ3NjU1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMjMgIEFsZXhleSBTaHZh
eWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRh
cmdldCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWw6CisKIDIwMTktMDctMTkgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRW50ZXJp
bmcgMkZBIGNvZGUgb24gaWRtc2EuYXBwbGUuY29tIGNhdXNlcyB1bmV4cGVjdGVkIHNjcm9sbGlu
ZwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDI0NzY1NSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2Rv
bS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNiBA
QCBQQVNTIFRyeUFsbG9jYXRlKCdDaGFyYWN0ZXJEYXRhJykgaXMgJ2V4CiBQQVNTIFRyeUFsbG9j
YXRlKCdDREFUQVNlY3Rpb24nKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9j
dW1lbnRUeXBlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0VsZW1lbnQnKSBp
cyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnZXhjZXB0
aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnSFRNTERvY3VtZW50JykgaXMgJ2V4Y2VwdGlvbicKIFBB
U1MgVHJ5QWxsb2NhdGUoJ05vZGUnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgn
UHJvY2Vzc2luZ0luc3RydWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKQEAgLTEzMSw2ICsxMzAsOSBA
QCBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudCcpIGlzICdbb2JqZWN0CiBQQVNTIFRyeUFsbG9j
YXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudF0nCiBQ
QVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRG
cmFnbWVudF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmpl
Y3QgRG9jdW1lbnRGcmFnbWVudF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlz
ICdbb2JqZWN0IEV2ZW50VGFyZ2V0XScKK1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0Jykg
aXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQn
KSBpcyAnW29iamVjdCBFdmVudFRhcmdldF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlz
ICdbb2JqZWN0IFJhbmdlXScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3Qg
UmFuZ2VdJwogUEFTUyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCShyZXZpc2lv
biAyNDc2NTUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDYgQEAgdmFyIG9iamVjdHNfZXhjZXB0aW9uID0g
WwogICAgICdDREFUQVNlY3Rpb24nLAogICAgICdEb2N1bWVudFR5cGUnLAogICAgICdFbGVtZW50
JywKLSAgICAnRXZlbnRUYXJnZXQnLAogICAgICdIVE1MRG9jdW1lbnQnLAogICAgICdOb2RlJywK
ICAgICAnUHJvY2Vzc2luZ0luc3RydWN0aW9uJywKQEAgLTEzMiw2ICsxMzEsNyBAQCB2YXIgb2Jq
ZWN0c19jb25zdHJ1Y3RvciA9IFsKICAgICAnRE9NUGFyc2VyJywKICAgICAnRG9jdW1lbnQnLAog
ICAgICdEb2N1bWVudEZyYWdtZW50JywKKyAgICAnRXZlbnRUYXJnZXQnLAogICAgICdSYW5nZScs
CiAgICAgJ1RleHQnLAogICAgICdYTUxIdHRwUmVxdWVzdCcsCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NzcyNCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxOS0wNy0y
MyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IEV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDE5LTA3LTE3ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGEgcnVudGltZS1kaXNhYmxlZCBk
aWFsb2cgZWxlbWVudCBza2VsZXRvbgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnkt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDc2NTUpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJs
ZS5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAogCi1GQUlM
IEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgZnVuY3Rp
b24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykK
LUZBSUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgZnVuY3Rpb24gaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFyZ3MpJykKK1BBU1MgQSBjb25zdHJ1Y3Rl
ZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCAKK1BBU1MgRXZlbnRUYXJnZXQg
Y2FuIGJlIHN1YmNsYXNzZWQgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDc2NTUpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQt
Y29uc3RydWN0aWJsZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw0ICsxLDQgQEAKIAotRkFJTCBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2Vk
IGFzIGV4cGVjdGVkIGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgRXZlbnRUYXJnZXQoKScpCi1GQUlMIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIGZ1
bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlciguLi5hcmdzKScp
CitQQVNTIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQg
CitQQVNTIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374692</attachid>
            <date>2019-07-23 12:19:04 -0700</date>
            <delta_ts>2019-07-24 15:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20190723221902.patch</filename>
            <type>text/plain</type>
            <size>27783</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA3LTIzICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dEltcGwgY2xhc3MsIGEgdXNlci1jb25zdHJ1Y3RhYmxlIHZlcnNpb24gb2YgRXZlbnRUYXJnZXQu
IEl0IGlzCisgICAgICAgIGV4cG9zZWQgYXMgIkV2ZW50VGFyZ2V0IiB0byBKYXZhU2NyaXB0IHZp
YSBjb25zdHJ1Y3RKU0V2ZW50VGFyZ2V0LiBXZSB1c2UgQ3VzdG9tQ29uc3RydWN0b3IoKSB0bwor
ICAgICAgICBhY2NvdW50IGZvciBOZXdUYXJnZXQgYW5kIHN1cHBvcnQgc3ViY2xhc3NpbmcuCisK
KyAgICAgICAgV2UgZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMg
YW4gYWJzdHJhY3QgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMKKyAgICAgICAg
dW5mYXZvcmFibGUgZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBv
ZiBpdHMgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkKKyAgICAgICAgdW5uZWNl
c3NhcnkgZm9yIHRoZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RK
U0V2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0SW1wbC5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAoV2ViQ29yZTo6dG9K
U05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmlkbDoKKyAgICAgICAg
KiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldElt
cGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0SW1wbDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0SW1wbDo6RXZlbnRUYXJnZXRJbXBsKToK
KyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRJbXBsLmg6IEFkZGVkLgorCiAyMDE5LTA3LTE5ICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBMb2cg
bGVzcyBpbiBQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEVuYWJsZUFwcGxlUGF5QVBJcygpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTIzMSw2ICsyMzEsNyBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9q
cy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmgKKyAgICBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0SW1w
bC5oCiAgICAgYmluZGluZ3MvanMvSlNFeGVjU3RhdGUuaAogICAgIGJpbmRpbmdzL2pzL0pTTWVk
aWFMaXN0Q3VzdG9tLmgKICAgICBiaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uaApAQCAtMzk4LDYg
KzM5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBkb20v
RXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVldWUuaAogICAgIGRvbS9FdmVudFRhcmdldC5o
CisgICAgZG9tL0V2ZW50VGFyZ2V0SW1wbC5oCiAgICAgZG9tL0V4Y2VwdGlvbi5oCiAgICAgZG9t
L0V4Y2VwdGlvbkNvZGUuaAogICAgIGRvbS9FeGNlcHRpb25EYXRhLmgKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CShyZXZpc2lvbiAyNDc2NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtODY4LDYgKzg2OCw3IEBAIGRvbS9FdmVudExpc3RlbmVyTWFwLmNwcAog
ZG9tL0V2ZW50TmFtZXMuY3BwCiBkb20vRXZlbnRQYXRoLmNwcAogZG9tL0V2ZW50VGFyZ2V0LmNw
cAorZG9tL0V2ZW50VGFyZ2V0SW1wbC5jcHAKIGRvbS9FeGNlcHRpb25EYXRhLmNwcAogZG9tL0V4
dGVuc2lvblN0eWxlU2hlZXRzLmNwcAogZG9tL0ZvY3VzRXZlbnQuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyNDc2NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI0NzIsNiArMjQ3Miw4IEBACiAJCTg0ODUyMjdDMTE5
MDE2MkMwMDZFREM3RiAvKiBKU1NWR0hLZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ4NTIyNzgxMTkwMTYyQzAwNkVEQzdGIC8qIEpT
U1ZHSEtlcm5FbGVtZW50LmggKi87IH07CiAJCTg0ODUyMjdFMTE5MDE2MkMwMDZFREM3RiAvKiBK
U1NWR1ZLZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODQ4NTIyN0ExMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50Lmgg
Ki87IH07CiAJCTg0ODUyMjhCMTE5MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0ODUyMjg4MTE5
MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCAqLzsgfTsKKwkJODQ5MTgwQzkyMkU2
OEIyQjAwMjI4NkRFIC8qIEpTRXZlbnRUYXJnZXRJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDkxODBDNzIyRTY4QjI5MDAyMjg2REUgLyogSlNF
dmVudFRhcmdldEltcGwuaCAqLzsgfTsKKwkJODQ5MTgwQ0IyMkU2OEIzRjAwMjI4NkRFIC8qIEV2
ZW50VGFyZ2V0SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ5MTgwQ0EyMkU2OEIzRTAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0SW1wbC5oICovOyB9
OwogCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDlGNzc3NTBFRkVD
NjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggKi87IH07CiAJCTg0QTgxRjNFMEZD
N0RGRjAwMDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODRBODFGM0MwRkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFs
cGhhLmggKi87IH07CiAJCTg0QTgxRjQyMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGlj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUY0
MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5oICovOyB9OwpAQCAtMTAyMTAsNiAr
MTAyMTIsOCBAQAogCQk4NDg1MjI4NzExOTAxNzNDMDA2RURDN0YgLyogU1ZHVktlcm5FbGVtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1ZLZXJuRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0ODUyMjg4MTE5MDE3M0MwMDZF
REM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHVktlcm5FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0ODUy
Mjg5MTE5MDE3M0MwMDZFREM3RiAvKiBTVkdWS2VybkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNWR1ZLZXJuRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg0OTE4MEM3MjJFNjhCMjkwMDIyODZERSAvKiBKU0V2ZW50VGFyZ2V0SW1wbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0SW1wbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4NDkxODBDQTIyRTY4QjNFMDAyMjg2REUgLyogRXZlbnRU
YXJnZXRJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50VGFyZ2V0
SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDlGNzc3NTBFRkVDNjIwMDA5
MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cm9rZVN0eWxlQXBwbGllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NEE4MUYzQjBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQWxwaGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NEE4MUYzQzBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQWxwaGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMjE5LDYgKzEwMjIzLDcgQEAKIAkJODRCNjI2ODQx
MzMxMzhGOTAwOTVBNDg5IC8qIEZvbnRQbGF0Zm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRm9udFBsYXRmb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0QjZCOTc1MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlz
dFNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRo
U2VnTGlzdFNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjZCOTc2
MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NEMwOUE2QzIyRTY5QkE1MDA5OEJDNUYgLyogRXZlbnRUYXJnZXRJ
bXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGFyZ2V0
SW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QzVCMkY4MTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEM1QjJGOTEyMTZEQzgxMDA4OEI1M0Eg
LyogU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0QzY3ODRBMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRoQmxlbmRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoQmxlbmRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDg0Myw2ICsyNDg0OCw3IEBA
CiAJCQkJNjVFMEU5NDMxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5oICovLAogCQkJ
CTdDNDVDOUNCMUUzRThFNDkwMEFBQjU1OCAvKiBKU0RPTVdyYXBwZXJDYWNoZS5jcHAgKi8sCiAJ
CQkJN0M0NUM5QzgxRTNFOEI1MTAwQUFCNTU4IC8qIEpTRE9NV3JhcHBlckNhY2hlLmggKi8sCisJ
CQkJODQ5MTgwQzcyMkU2OEIyOTAwMjI4NkRFIC8qIEpTRXZlbnRUYXJnZXRJbXBsLmggKi8sCiAJ
CQkJOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTRXhlY1N0YXRlLmNwcCAqLywKIAkJCQk4
RjkzNEQ4MzExODlGMUVFMDA1MDhENUQgLyogSlNFeGVjU3RhdGUuaCAqLywKIAkJCQlCNTY1NzZF
NDE3REE1OTlGMDBBNTZCREMgLyogSlNFeGVjU3RhdGVJbnN0cnVtZW50YXRpb24uaCAqLywKQEAg
LTI3NDc2LDYgKzI3NDgyLDggQEAKIAkJCQlFMTJFREI3QTBCMzA4QTc4MDAyNzA0QjYgLyogRXZl
bnRUYXJnZXQuaCAqLywKIAkJCQk4NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZlbnRUYXJn
ZXQuaWRsICovLAogCQkJCUNEQ0U1Q0QwMTQ2MzNCQzkwMEQ0N0NDQSAvKiBFdmVudFRhcmdldEZh
Y3RvcnkuaW4gKi8sCisJCQkJODRDMDlBNkMyMkU2OUJBNTAwOThCQzVGIC8qIEV2ZW50VGFyZ2V0
SW1wbC5jcHAgKi8sCisJCQkJODQ5MTgwQ0EyMkU2OEIzRTAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0
SW1wbC5oICovLAogCQkJCTkzRDE5NjMyMUQ2Q0FCODIwMEZDN0U0NyAvKiBFeGNlcHRpb24uaCAq
LywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oICovLAog
CQkJCTUxRjY0NUEzMUY0QzAwMEMwMEI1NERFRCAvKiBFeGNlcHRpb25EYXRhLmNwcCAqLywKQEAg
LTI5MDkyLDYgKzI5MTAwLDcgQEAKIAkJCQlFMEZFRjM3MkIxN0M1M0VBQzFDMUZCRUUgLyogRXZl
bnRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkVEQjdCMEIzMDhBNzgwMDI3MDRCNiAv
KiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdBQTNDQTUxNDUyMzdDQzAwM0Ux
REE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ5MTgwQ0Iy
MkU2OEIzRjAwMjI4NkRFIC8qIEV2ZW50VGFyZ2V0SW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdBQTNDQTYxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdS
ZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyog
RXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI5OTAxLDYgKzI5OTEwLDcgQEAKIAkJCQlF
MEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ2QjYzRjZDMUM2RThEMTkwMDJFOTE0QiAvKiBKU0V2ZW50VGFyZ2V0Q3Vz
dG9tLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NDkxODBDOTIyRTY4QjJCMDAyMjg2REUgLyogSlNF
dmVudFRhcmdldEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzNzlGMUQ1N0IxNTMwMEFC
ODVFQSAvKiBKU0V4ZWNTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUQzMzIxQTNBOEIy
MzAwRjVGMTNDIC8qIEpTRVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovLAogCQkJCTdFNEM5
NkREMUFENDQ4MzUwMDM2NUE1MyAvKiBKU0V4dGVuZGFibGVFdmVudC5oIGluIEhlYWRlcnMgKi8s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0
Q3VzdG9tLmNwcAkocmV2aXNpb24gMjQ3NjU1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SGVhZGVy
cy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIkpTRE9N
Q29uc3RydWN0b3JCYXNlLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuaCIKICNpbmNsdWRlICJK
U0V2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJKU1dpbmRvd1Byb3h5LmgiCkBAIC00MCw2ICs0
MSwyNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0V2ZW50VGFyZ2V0KEV4ZWNTdGF0
ZSYgZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgYXV0byoganNDb25zdHJ1Y3RvciA9IGpzQ2Fz
dDxKU0RPTUNvbnN0cnVjdG9yQmFzZSo+KGV4ZWMuanNDYWxsZWUoKSk7CisgICAgQVNTRVJUKGpz
Q29uc3RydWN0b3IpOworICAgIGF1dG8qIGNvbnRleHQgPSBqc0NvbnN0cnVjdG9yLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKFVOTElLRUxZKCFjb250ZXh0KSkKKyAgICAgICAg
cmV0dXJuIHRocm93Q29uc3RydWN0b3JTY3JpcHRFeGVjdXRpb25Db250ZXh0VW5hdmFpbGFibGVF
cnJvcihleGVjLCBzY29wZSwgIkV2ZW50VGFyZ2V0Iik7CisKKyAgICBhdXRvKiBnbG9iYWxPYmpl
Y3QgPSBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBiYXNlU3RydWN0
dXJlID0gZ2V0RE9NU3RydWN0dXJlPEpTRXZlbnRUYXJnZXQ+KHZtLCAqZ2xvYmFsT2JqZWN0KTsK
KyAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlKCZleGVjLCBleGVjLm5ld1RhcmdldCgpLCBiYXNlU3RydWN0dXJlKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworCisgICAgYXV0byBldmVudFRh
cmdldCA9IEV2ZW50VGFyZ2V0SW1wbDo6Y3JlYXRlKCpjb250ZXh0KTsKKyAgICBhdXRvIGpzRXZl
bnRUYXJnZXQgPSBKU0V2ZW50VGFyZ2V0OjpjcmVhdGUoc3ViY2xhc3NTdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCwgZXZlbnRUYXJnZXQuZ2V0KCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNFdmVudFRhcmdldCk7Cit9CisKIEV2ZW50VGFyZ2V0KiBKU0V2ZW50VGFyZ2V0Ojp0b1dyYXBw
ZWQoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmICh2YWx1ZS5pbmhlcml0czxKU1dp
bmRvd1Byb3h5Pih2bSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RXZlbnRUYXJnZXRJbXBsLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudFRhcmdldEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTRE9NQmlu
ZGluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0FMV0FZU19JTkxJTkUgSlNDOjpKU1Zh
bHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBFdmVudFRhcmdldEltcGwmIHZhbHVlKQoreworICAgIHJldHVybiB3cmFwKHN0YXRl
LCBnbG9iYWxPYmplY3QsIHZhbHVlKTsKK30KKworQUxXQVlTX0lOTElORSBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxFdmVudFRhcmdldEltcGw+JiYgdmFsdWUpCit7CisgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8RXZlbnRUYXJnZXQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwJKHJldmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDYgKzE5LDcgQEAKICAqLwogCiBbCisgICAgQ3Vz
dG9tQ29uc3RydWN0b3IoKSwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAogICAgIElzSW1tdXRhYmxlUHJvdG90eXBlRXhvdGljT2JqZWN0T25Qcm90
b3R5cGUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4JKHJl
dmlzaW9uIDI0NzY1NSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4JKHdvcmtpbmcgY29weSkKQEAgLTExLDYgKzExLDcgQEAgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwogRXZlbnRTb3VyY2UKK0V2ZW50
VGFyZ2V0SW1wbAogRmlsZVJlYWRlcgogRm9udEZhY2VTZXQKIElEQkRhdGFiYXNlIGNvbmRpdGlv
bmFsPUlOREVYRURfREFUQUJBU0UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldElt
cGwuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldElt
cGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldEltcGwuaCIKKwor
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChFdmVudFRhcmdldEltcGwpOworCitSZWY8RXZlbnRUYXJnZXRJbXBsPiBFdmVu
dFRhcmdldEltcGw6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50VGFyZ2V0SW1wbChjb250ZXh0KSk7Cit9CisK
K0V2ZW50VGFyZ2V0SW1wbDo6RXZlbnRUYXJnZXRJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEltcGwuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
ci5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRl
cmZhY2VzLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFdmVudFRhcmdldEltcGwgZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxFdmVudFRhcmdldEltcGw+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldEltcGwpOworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8RXZlbnRUYXJnZXRJbXBsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAg
IH5FdmVudFRhcmdldEltcGwoKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpy
ZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7Citwcml2YXRlOgorICAgIEV2ZW50VGFy
Z2V0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICBFdmVudFRhcmdldEludGVy
ZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEV2ZW50VGFy
Z2V0SW1wbEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDb250
ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisKKyAg
ICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZF
dmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ3NjU1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMjMgIEFsZXhleSBTaHZh
eWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRh
cmdldCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWw6CisKIDIwMTktMDctMTkgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRW50ZXJp
bmcgMkZBIGNvZGUgb24gaWRtc2EuYXBwbGUuY29tIGNhdXNlcyB1bmV4cGVjdGVkIHNjcm9sbGlu
ZwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDI0NzY1NSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL2Rv
bS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNiBA
QCBQQVNTIFRyeUFsbG9jYXRlKCdDaGFyYWN0ZXJEYXRhJykgaXMgJ2V4CiBQQVNTIFRyeUFsbG9j
YXRlKCdDREFUQVNlY3Rpb24nKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9j
dW1lbnRUeXBlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0VsZW1lbnQnKSBp
cyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnZXhjZXB0
aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnSFRNTERvY3VtZW50JykgaXMgJ2V4Y2VwdGlvbicKIFBB
U1MgVHJ5QWxsb2NhdGUoJ05vZGUnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgn
UHJvY2Vzc2luZ0luc3RydWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKQEAgLTEzMSw2ICsxMzAsOSBA
QCBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudCcpIGlzICdbb2JqZWN0CiBQQVNTIFRyeUFsbG9j
YXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudF0nCiBQ
QVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRG
cmFnbWVudF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmpl
Y3QgRG9jdW1lbnRGcmFnbWVudF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlz
ICdbb2JqZWN0IEV2ZW50VGFyZ2V0XScKK1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0Jykg
aXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQn
KSBpcyAnW29iamVjdCBFdmVudFRhcmdldF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlz
ICdbb2JqZWN0IFJhbmdlXScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3Qg
UmFuZ2VdJwogUEFTUyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCShyZXZpc2lv
biAyNDc2NTUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDYgQEAgdmFyIG9iamVjdHNfZXhjZXB0aW9uID0g
WwogICAgICdDREFUQVNlY3Rpb24nLAogICAgICdEb2N1bWVudFR5cGUnLAogICAgICdFbGVtZW50
JywKLSAgICAnRXZlbnRUYXJnZXQnLAogICAgICdIVE1MRG9jdW1lbnQnLAogICAgICdOb2RlJywK
ICAgICAnUHJvY2Vzc2luZ0luc3RydWN0aW9uJywKQEAgLTEzMiw2ICsxMzEsNyBAQCB2YXIgb2Jq
ZWN0c19jb25zdHJ1Y3RvciA9IFsKICAgICAnRE9NUGFyc2VyJywKICAgICAnRG9jdW1lbnQnLAog
ICAgICdEb2N1bWVudEZyYWdtZW50JywKKyAgICAnRXZlbnRUYXJnZXQnLAogICAgICdSYW5nZScs
CiAgICAgJ1RleHQnLAogICAgICdYTUxIdHRwUmVxdWVzdCcsCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NzcyNCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNy0y
MyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IEV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNl
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55
Lndvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMTktMDctMTcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgYSBydW50aW1lLWRpc2FibGVk
IGRpYWxvZyBlbGVtZW50IHNrZWxldG9uCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ3NjU1KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTExNywxNCArMTE3LDE0IEBAIFBBU1MgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW4KIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRp
b24gYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVj
dCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
b3BlcmF0aW9uIGRpc3BhdGNoRXZlbnQoRXZlbnQpIAotRkFJTCBFdmVudFRhcmdldCBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9m
IG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVy
cm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50
VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQo
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVu
dExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0
aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScp
IgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0p
IG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0
aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScp
IgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVu
ZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlM
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0
cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24g
bmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1G
QUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBh
IGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVu
dFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2
ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCitQQVNTIEV2
ZW50VGFyZ2V0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEV2ZW50VGFyZ2V0KCkg
CitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVj
dF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRM
aXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFy
Z2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2Jq
ZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0
cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24g
bmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQo
RXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRXZlbnRMaXN0ZW5lciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKIFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI0NzY1NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgQSBjb25zdHJ1Y3RlZCBF
dmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKQotRkFJTCBFdmVudFRhcmdl
dCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVh
dGluZyAnc3VwZXIoLi4uYXJncyknKQorUEFTUyBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNh
biBiZSB1c2VkIGFzIGV4cGVjdGVkIAorUEFTUyBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3Nl
ZCAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI0NzY1NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAogCi1G
QUlMIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgp
JykKLUZBSUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgZnVuY3Rpb24gaXMgbm90IGEg
Y29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFyZ3MpJykKK1BBU1MgQSBjb25zdHJ1
Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCAKK1BBU1MgRXZlbnRUYXJn
ZXQgY2FuIGJlIHN1YmNsYXNzZWQgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374820</attachid>
            <date>2019-07-24 15:47:29 -0700</date>
            <delta_ts>2019-08-05 11:50:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20190725014728.patch</filename>
            <type>text/plain</type>
            <size>28089</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0Nzc5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA3LTI0ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lmh0bWwKKworICAgICAgICBDdXJy
ZW50bHksIEV2ZW50VGFyZ2V0IGNhbid0IGJlIGRpcmVjdGx5IGNvbnN0cnVjdGVkIG9yIGJlIHN1
YmNsYXNzZWQgaW4gSmF2YVNjcmlwdC4KKyAgICAgICAgVGhlIHNwZWMgZm9yIEV2ZW50VGFyZ2V0
IHdhcyB1cGRhdGVkIChodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9wdWxsLzQ2NykgdG8g
YWxsb3cKKyAgICAgICAgY29uc3RydWN0aW5nIGFuZCBzdWJjbGFzc2luZyBFdmVudFRhcmdldC4g
VGhpcyBmZWF0dXJlIHdhcyBzaGlwcGVkIGluIENocm9tZSA2NCBhbmQgRmlyZWZveCA1OS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgRXZlbnRUYXJnZXRJbXBsIGNsYXNzLCBhIHVz
ZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50VGFyZ2V0LiBJdCBpcworICAgICAgICBl
eHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdCB2aWEgY29uc3RydWN0SlNFdmVu
dFRhcmdldC4gV2UgdXNlIEN1c3RvbUNvbnN0cnVjdG9yKCkgdG8KKyAgICAgICAgYWNjb3VudCBm
b3IgTmV3VGFyZ2V0IGFuZCBzdXBwb3J0IHN1YmNsYXNzaW5nLgorCisgICAgICAgIFdlIGRvbid0
IHVzZSBFdmVudFRhcmdldCBkaXJlY3RseSBiZWNhdXNlIGl0IGlzIGFuIGFic3RyYWN0IGNsYXNz
IGFuZCBtYWtpbmcgaXQgbm9uLWFic3RyYWN0IGlzCisgICAgICAgIHVuZmF2b3JhYmxlIGR1ZSB0
byBzaXplIGluY3JlYXNlIG9mIEV2ZW50VGFyZ2V0IGFuZCBhbGwgb2YgaXRzIHN1YmNsYXNzZXMg
d2l0aCBjb2RlIHRoYXQgaXMgbW9zdGx5CisgICAgICAgIHVubmVjZXNzYXJ5IGZvciB0aGVtLCBy
ZXN1bHRpbmcgaW4gYSBwZXJmb3JtYW5jZSBkZWNyZWFzZS4KKworICAgICAgICAqIEhlYWRlcnMu
Y21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNFdmVudFRhcmdldCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEltcGwuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
RmFjdG9yeS5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRJbXBsLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldEltcGw6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudFRhcmdldEltcGw6OkV2ZW50VGFyZ2V0SW1wbCk6CisgICAgICAgICogZG9tL0V2
ZW50VGFyZ2V0SW1wbC5oOiBBZGRlZC4KKwogMjAxOS0wNy0yNCAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcHJpbnQgdGhlIHRhcmdl
dCBvZiBgY29uc29sZS5zY3JlZW5zaG90YCBsYXN0IHNvIHRoZSB0YXJnZXQgaXMgdGhlIGNsb3Nl
c3QgaXRlbSB0byB0aGUgaW1hZ2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkocmV2aXNpb24gMjQ3
NzkxKQorKysgU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAt
MjMxLDYgKzIzMSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAg
ICBiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uaAogICAgIGJpbmRpbmdzL2pzL0pTRXZlbnRD
dXN0b20uaAogICAgIGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uaAorICAgIGJpbmRp
bmdzL2pzL0pTRXZlbnRUYXJnZXRJbXBsLmgKICAgICBiaW5kaW5ncy9qcy9KU0V4ZWNTdGF0ZS5o
CiAgICAgYmluZGluZ3MvanMvSlNNZWRpYUxpc3RDdXN0b20uaAogICAgIGJpbmRpbmdzL2pzL0pT
Tm9kZUN1c3RvbS5oCkBAIC0zOTgsNiArMzk5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFN
RVdPUktfSEVBREVSUwogICAgIGRvbS9FdmVudE5hbWVzLmgKICAgICBkb20vRXZlbnRRdWV1ZS5o
CiAgICAgZG9tL0V2ZW50VGFyZ2V0LmgKKyAgICBkb20vRXZlbnRUYXJnZXRJbXBsLmgKICAgICBk
b20vRXhjZXB0aW9uLmgKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oCiAgICAgZG9tL0V4Y2VwdGlv
bkRhdGEuaApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI0Nzc5MSkKKysrIFNvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04NjgsNiArODY4LDcgQEAgZG9t
L0V2ZW50TGlzdGVuZXJNYXAuY3BwCiBkb20vRXZlbnROYW1lcy5jcHAKIGRvbS9FdmVudFBhdGgu
Y3BwCiBkb20vRXZlbnRUYXJnZXQuY3BwCitkb20vRXZlbnRUYXJnZXRJbXBsLmNwcAogZG9tL0V4
Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3BwCiBkb20vRm9jdXNF
dmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0Nzc5MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjQ3Miw2ICsy
NDcyLDggQEAKIAkJODQ4NTIyN0MxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHSEtlcm5FbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDg1MjI3
ODExOTAxNjJDMDA2RURDN0YgLyogSlNTVkdIS2VybkVsZW1lbnQuaCAqLzsgfTsKIAkJODQ4NTIy
N0UxMTkwMTYyQzAwNkVEQzdGIC8qIEpTU1ZHVktlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDg1MjI3QTExOTAxNjJDMDA2RURDN0Yg
LyogSlNTVkdWS2VybkVsZW1lbnQuaCAqLzsgfTsKIAkJODQ4NTIyOEIxMTkwMTczQzAwNkVEQzdG
IC8qIFNWR1ZLZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODQ4NTIyODgxMTkwMTczQzAwNkVEQzdGIC8qIFNWR1ZLZXJuRWxlbWVudC5o
ICovOyB9OworCQk4NDkxODBDOTIyRTY4QjJCMDAyMjg2REUgLyogSlNFdmVudFRhcmdldEltcGwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0OTE4MEM3
MjJFNjhCMjkwMDIyODZERSAvKiBKU0V2ZW50VGFyZ2V0SW1wbC5oICovOyB9OworCQk4NDkxODBD
QjIyRTY4QjNGMDAyMjg2REUgLyogRXZlbnRUYXJnZXRJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDkxODBDQTIyRTY4QjNFMDAyMjg2REUgLyog
RXZlbnRUYXJnZXRJbXBsLmggKi87IH07CiAJCTg0OUY3Nzc2MEVGRUM2MjAwMDkwODQ5RCAvKiBT
dHJva2VTdHlsZUFwcGxpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg0OUY3Nzc1MEVGRUM2MjAwMDkwODQ5RCAvKiBTdHJva2VTdHlsZUFwcGxpZXIu
aCAqLzsgfTsKIAkJODRBODFGM0UwRkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFscGhhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUYzQzBGQzdE
RkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuaCAqLzsgfTsKIAkJODRBODFGNDIwRkM3RTAyNzAw
OTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg0QTgxRjQwMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGlj
LmggKi87IH07CkBAIC0xMDIxNSw2ICsxMDIxNyw4IEBACiAJCTg0ODUyMjg3MTE5MDE3M0MwMDZF
REM3RiAvKiBTVkdWS2VybkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHVktlcm5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODQ4NTIyODgxMTkwMTczQzAwNkVEQzdGIC8qIFNWR1ZLZXJuRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdWS2VybkVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODQ4NTIyODkxMTkwMTczQzAwNkVEQzdGIC8qIFNWR1ZLZXJuRWxl
bWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHVktlcm5FbGVtZW50LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ5MTgwQzcyMkU2OEIyOTAwMjI4NkRFIC8qIEpT
RXZlbnRUYXJnZXRJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZl
bnRUYXJnZXRJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg0OTE4MENBMjJF
NjhCM0UwMDIyODZERSAvKiBFdmVudFRhcmdldEltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRXZlbnRUYXJnZXRJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg0OUY3Nzc1MEVGRUM2MjAwMDkwODQ5RCAvKiBTdHJva2VTdHlsZUFwcGxpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Ryb2tlU3R5bGVBcHBsaWVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QTgxRjNCMEZDN0RGRjAwMDk1NTMwMCAvKiBTb3Vy
Y2VBbHBoYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VB
bHBoYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QTgxRjNDMEZDN0RGRjAw
MDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTb3VyY2VBbHBoYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAyMjQsNiAr
MTAyMjgsNyBAQAogCQk4NEI2MjY4NDEzMzEzOEY5MDA5NUE0ODkgLyogRm9udFBsYXRmb3JtRGF0
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250UGxhdGZvcm1E
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNkI5NzUxMjBGMTNFNTAw
QjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0U291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODRCNkI5NzYxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0
U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0
U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg0QzA5QTZDMjJFNjlCQTUw
MDk4QkM1RiAvKiBFdmVudFRhcmdldEltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRXZlbnRUYXJnZXRJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODRDNUIyRjgxMjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1
aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aFRy
YXZlcnNhbFN0YXRlQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0
QzVCMkY5MTIxNkRDODEwMDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1
aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRDNjc4NEExMjE0ODE0NzAw
QTkyOTAyIC8qIFNWR1BhdGhCbGVuZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR1BhdGhCbGVuZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI0ODYwLDYgKzI0ODY1LDcgQEAKIAkJCQk2NUUwRTk0MzExMzNDODlGMDBCNENCMTAgLyog
SlNET01XcmFwcGVyLmggKi8sCiAJCQkJN0M0NUM5Q0IxRTNFOEU0OTAwQUFCNTU4IC8qIEpTRE9N
V3JhcHBlckNhY2hlLmNwcCAqLywKIAkJCQk3QzQ1QzlDODFFM0U4QjUxMDBBQUI1NTggLyogSlNE
T01XcmFwcGVyQ2FjaGUuaCAqLywKKwkJCQk4NDkxODBDNzIyRTY4QjI5MDAyMjg2REUgLyogSlNF
dmVudFRhcmdldEltcGwuaCAqLywKIAkJCQk4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNF
eGVjU3RhdGUuY3BwICovLAogCQkJCThGOTM0RDgzMTE4OUYxRUUwMDUwOEQ1RCAvKiBKU0V4ZWNT
dGF0ZS5oICovLAogCQkJCUI1NjU3NkU0MTdEQTU5OUYwMEE1NkJEQyAvKiBKU0V4ZWNTdGF0ZUlu
c3RydW1lbnRhdGlvbi5oICovLApAQCAtMjc0OTMsNiArMjc0OTksOCBAQAogCQkJCUUxMkVEQjdB
MEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oICovLAogCQkJCTg1QUZBNzQyMEFBRjI5
ODQwMEU4NDMwNSAvKiBFdmVudFRhcmdldC5pZGwgKi8sCiAJCQkJQ0RDRTVDRDAxNDYzM0JDOTAw
RDQ3Q0NBIC8qIEV2ZW50VGFyZ2V0RmFjdG9yeS5pbiAqLywKKwkJCQk4NEMwOUE2QzIyRTY5QkE1
MDA5OEJDNUYgLyogRXZlbnRUYXJnZXRJbXBsLmNwcCAqLywKKwkJCQk4NDkxODBDQTIyRTY4QjNF
MDAyMjg2REUgLyogRXZlbnRUYXJnZXRJbXBsLmggKi8sCiAJCQkJOTNEMTk2MzIxRDZDQUI4MjAw
RkM3RTQ3IC8qIEV4Y2VwdGlvbi5oICovLAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAv
KiBFeGNlcHRpb25Db2RlLmggKi8sCiAJCQkJNTFGNjQ1QTMxRjRDMDAwQzAwQjU0REVEIC8qIEV4
Y2VwdGlvbkRhdGEuY3BwICovLApAQCAtMjkxMDksNiArMjkxMTcsNyBAQAogCQkJCUUwRkVGMzcy
QjE3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEy
RURCN0IwQjMwOEE3ODAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0FBM0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NDkxODBDQjIyRTY4QjNGMDAyMjg2REUgLyogRXZlbnRUYXJnZXRJbXBs
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRU
YXJnZXRJbnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjJFQzQxQTFEMDc4RkI5MDBC
QTc4RkMgLyogRXZlbnRUcmFja2luZ1JlZ2lvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDE5
NjMzMUQ2Q0FCODIwMEZDN0U0NyAvKiBFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjk5
MTgsNiArMjk5MjcsNyBAQAogCQkJCUUwRkVGMzcyQjM3QzUzRUFDMUMxRkJFRSAvKiBKU0V2ZW50
U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyog
SlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZCNjNGNkMxQzZFOEQxOTAwMkU5
MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCTg0OTE4MEM5
MjJFNjhCMkIwMDIyODZERSAvKiBKU0V2ZW50VGFyZ2V0SW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTNENDM3OUYxRDU3QjE1MzAwQUI4NUVBIC8qIEpTRXhlY1N0YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3MjRFRDMzMjFBM0E4QjIzMDBGNUYxM0MgLyogSlNFWFRCbGVuZE1pbk1heC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0U0Qzk2REQxQUQ0NDgzNTAwMzY1QTUzIC8qIEpTRXh0ZW5kYWJs
ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCShyZXZpc2lvbiAyNDc3OTEpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5j
bHVkZSAiRXZlbnRUYXJnZXRIZWFkZXJzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRlcmZh
Y2VzLmgiCisjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3RvckJhc2UuaCIKICNpbmNsdWRlICJKU0RP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkpTV2lu
ZG93UHJveHkuaCIKQEAgLTQwLDYgKzQxLDI3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVj
dEpTRXZlbnRUYXJnZXQoRXhlY1N0YXRlJiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMudm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBhdXRv
KiBqc0NvbnN0cnVjdG9yID0ganNDYXN0PEpTRE9NQ29uc3RydWN0b3JCYXNlKj4oZXhlYy5qc0Nh
bGxlZSgpKTsKKyAgICBBU1NFUlQoanNDb25zdHJ1Y3Rvcik7CisgICAgYXV0byogY29udGV4dCA9
IGpzQ29uc3RydWN0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoVU5MSUtF
TFkoIWNvbnRleHQpKQorICAgICAgICByZXR1cm4gdGhyb3dDb25zdHJ1Y3RvclNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRVbmF2YWlsYWJsZUVycm9yKGV4ZWMsIHNjb3BlLCAiRXZlbnRUYXJnZXQiKTsK
KworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgp
OworICAgIGF1dG8qIGJhc2VTdHJ1Y3R1cmUgPSBnZXRET01TdHJ1Y3R1cmU8SlNFdmVudFRhcmdl
dD4odm0sICpnbG9iYWxPYmplY3QpOworICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJlID0gSW50
ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoJmV4ZWMsIGV4ZWMubmV3VGFy
Z2V0KCksIGJhc2VTdHJ1Y3R1cmUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsg
fSk7CisKKyAgICBhdXRvIGV2ZW50VGFyZ2V0ID0gRXZlbnRUYXJnZXRJbXBsOjpjcmVhdGUoKmNv
bnRleHQpOworICAgIGF1dG8ganNFdmVudFRhcmdldCA9IEpTRXZlbnRUYXJnZXQ6OmNyZWF0ZShz
dWJjbGFzc1N0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBldmVudFRhcmdldC5nZXQoKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0V2ZW50VGFyZ2V0KTsKK30KKwogRXZlbnRUYXJnZXQq
IEpTRXZlbnRUYXJnZXQ6OnRvV3JhcHBlZChWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAg
aWYgKHZhbHVlLmluaGVyaXRzPEpTV2luZG93UHJveHk+KHZtKSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEltcGwuaAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0SW1wbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5
IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
QUxXQVlTX0lOTElORSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEV2ZW50VGFyZ2V0SW1wbCYgdmFsdWUpCit7
CisgICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2JhbE9iamVjdCwgdmFsdWUpOworfQorCitBTFdB
WVNfSU5MSU5FIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPEV2ZW50VGFyZ2V0SW1wbD4mJiB2
YWx1ZSkKK3sKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxFdmVudFRhcmdldD4oZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAkocmV2aXNpb24gMjQ3NzkxKQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNiArMTks
NyBAQAogICovCiAKIFsKKyAgICBDdXN0b21Db25zdHJ1Y3RvcigpLAogICAgIEN1c3RvbVRvSlNP
YmplY3QsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSXNJbW11dGFibGVQcm90
b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldEZhY3RvcnkuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgkocmV2aXNpb24gMjQ3NzkxKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgkod29ya2luZyBjb3B5KQpAQCAtMTEsNiArMTEsNyBA
QCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogRE9NQXBwbGljYXRpb25DYWNoZQogRE9NV2lu
ZG93CiBFdmVudFNvdXJjZQorRXZlbnRUYXJnZXRJbXBsCiBGaWxlUmVhZGVyCiBGb250RmFjZVNl
dAogSURCRGF0YWJhc2UgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0SW1wbC5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxl
c2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0SW1wbC5oIgorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEV2ZW50VGFyZ2V0SW1wbCk7CisKK1Jl
ZjxFdmVudFRhcmdldEltcGw+IEV2ZW50VGFyZ2V0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRXZlbnRUYXJn
ZXRJbXBsKGNvbnRleHQpKTsKK30KKworRXZlbnRUYXJnZXRJbXBsOjpFdmVudFRhcmdldEltcGwo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKCZjb250ZXh0KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0SW1wbC5oCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWth
bGVzaEBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNp
bmNsdWRlICJFdmVudFRhcmdldEludGVyZmFjZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50
VGFyZ2V0SW1wbCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50VGFyZ2V0SW1wbD4sIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEV2ZW50VGFyZ2V0SW1wbCk7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxFdmVudFRhcmdldEltcGw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jik7CisgICAgfkV2ZW50VGFyZ2V0SW1wbCgpID0gZGVmYXVsdDsKKwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsK
K3ByaXZhdGU6CisgICAgRXZlbnRUYXJnZXRJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsK
KworICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gRXZlbnRUYXJnZXRJbXBsRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7IH0KKworICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJl
ZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDc3OTEpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxOS0wNy0yNCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAg
ICAgICAgSW1wbGVtZW50IEV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzMTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRt
bDoKKwogMjAxOS0wNy0yNCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogcHJpbnQgdGhlIHRhcmdldCBvZiBgY29uc29sZS5zY3JlZW5z
aG90YCBsYXN0IHNvIHRoZSB0YXJnZXQgaXMgdGhlIGNsb3Nlc3QgaXRlbSB0byB0aGUgaW1hZ2UK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNDc3OTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20t
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDYgQEAg
UEFTUyBUcnlBbGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScpIGlzICdleAogUEFTUyBUcnlBbGxvY2F0
ZSgnQ0RBVEFTZWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3Vt
ZW50VHlwZScpIGlzICdleGNlcHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdFbGVtZW50JykgaXMg
J2V4Y2VwdGlvbicKLVBBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ2V4Y2VwdGlv
bicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0hUTUxEb2N1bWVudCcpIGlzICdleGNlcHRpb24nCiBQQVNT
IFRyeUFsbG9jYXRlKCdOb2RlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ1By
b2Nlc3NpbmdJbnN0cnVjdGlvbicpIGlzICdleGNlcHRpb24nCkBAIC0xMzEsNiArMTMwLDkgQEAg
UEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnQnKSBpcyAnW29iamVjdAogUEFTUyBUcnlBbGxvY2F0
ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRdJwogUEFT
UyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50RnJh
Z21lbnRdJwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0
IERvY3VtZW50RnJhZ21lbnRdJworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAn
W29iamVjdCBFdmVudFRhcmdldF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlz
ICdbb2JqZWN0IEV2ZW50VGFyZ2V0XScKK1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0Jykg
aXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJwogUEFTUyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAn
W29iamVjdCBSYW5nZV0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlzICdbb2JqZWN0IFJh
bmdlXScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAkocmV2aXNpb24g
MjQ3NzkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw2IEBAIHZhciBvYmplY3RzX2V4Y2VwdGlvbiA9IFsK
ICAgICAnQ0RBVEFTZWN0aW9uJywKICAgICAnRG9jdW1lbnRUeXBlJywKICAgICAnRWxlbWVudCcs
Ci0gICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnSFRNTERvY3VtZW50JywKICAgICAnTm9kZScsCiAg
ICAgJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicsCkBAIC0xMzIsNiArMTMxLDcgQEAgdmFyIG9iamVj
dHNfY29uc3RydWN0b3IgPSBbCiAgICAgJ0RPTVBhcnNlcicsCiAgICAgJ0RvY3VtZW50JywKICAg
ICAnRG9jdW1lbnRGcmFnbWVudCcsCisgICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnUmFuZ2UnLAog
ICAgICdUZXh0JywKICAgICAnWE1MSHR0cFJlcXVlc3QnLApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDc3OTEpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDctMjQg
IEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBFdmVudFRhcmdldCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDE5LTA3LTI0ICBBbGljaWEgQm95YSBHYXJjw61hICA8
YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkOiBBZGRlZCBtaXNzaW5nIGV4
cGVjdGF0aW9uIGZpbGUgZm9yIHZpZGVvX2NyYXNoX2VtcHR5X3NyYy5odG1sCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ3Nzkx
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50
ZXJmYWNlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExNywxNCArMTE3LDE0IEBA
IFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW4KIFBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50
TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywg
RXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGRpc3BhdGNoRXZlbnQoRXZlbnQpIAotRkFJ
TCBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdl
dCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZB
SUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxp
bmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBF
dmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0p
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5
cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBF
dmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3Qg
IlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25l
dyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50
VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJy
b3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRU
YXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hF
dmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVF
cnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVu
dFRhcmdldCgpJykiCitQQVNTIEV2ZW50VGFyZ2V0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRU
YXJnZXQoKSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExp
c3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3Rl
bmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2Jq
ZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJn
ZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5n
LCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBu
ZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZl
bnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBj
YWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEV2ZW50TGlzdGVuZXIg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
IFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJs
ZS5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxl
LmFueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0Nzc5MSkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1
Y3RpYmxlLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACiAK
LUZBSUwgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCBm
dW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0
KCknKQotRkFJTCBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5jdGlvbiBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnc3VwZXIoLi4uYXJncyknKQorUEFTUyBBIGNvbnN0
cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIAorUEFTUyBFdmVudFRh
cmdldCBjYW4gYmUgc3ViY2xhc3NlZCAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVj
dGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0Nzc5MSkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRh
cmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJl
IHVzZWQgYXMgZXhwZWN0ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBFdmVudFRhcmdldCgpJykKLUZBSUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNz
ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFy
Z3MpJykKK1BBU1MgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBl
Y3RlZCAKK1BBU1MgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375541</attachid>
            <date>2019-08-05 11:50:09 -0700</date>
            <delta_ts>2019-08-05 14:09:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20190805215007.patch</filename>
            <type>text/plain</type>
            <size>54915</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDE5LTA4LTA1ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50VGFy
Z2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4gV2Ug
ZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJhY3QK
KyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFibGUg
ZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAgICAg
ICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9yIHRo
ZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRvIGFs
bG93IHN1YmNsYXNzaW5nLCBub24tY3VzdG9tIGNvbnN0cnVjdG9ycyByZXBsYWNlIHN0cnVjdHVy
ZXMgb2YgbmV3bHkgY3JlYXRlZCB3cmFwcGVyIG9iamVjdHMKKyAgICAgICAgd2l0aCBvbmVzIHJl
dHVybmVkIGJ5IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlLiBUaGlz
IGFwcHJvYWNoIHdhcyBjaG9zZW4gYmVjYXVzZToKKyAgICAgICAgCisgICAgICAgIDEuIFdlIGNh
bid0IHJlbHkgb24gZXhlYy0+bmV3VGFyZ2V0KCkgdG8gZGV0ZWN0IFtbQ29uc3RydWN0XV0gY2Fs
bHMgb3V0c2lkZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgMi4gUGFzc2luZyBgdGhyb3dTY29wZWAg
YW5kIGBuZXdUYXJnZXRgIGRvd24gdG8gYGNyZWF0ZVdyYXBwZXJgIGlzIHF1aXRlIGF3a3dhcmQg
YW5kIHdvdWxkIHJlc3VsdAorICAgICAgICAgICBpbiBtYXNzaXZlIGNvZGUgY2hhbmdlLgorCisg
ICAgICAgIFRvIHByZXZlbnQgZGVmaW5pdGlvbiBvZiBFdmVudFRhcmdldENvbmNyZXRlLXNwZWNp
ZmljIGB0b0pTYCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAgICAgd2Ug
ZG9uJ3QgZGVmaW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1dCByYXRo
ZXIgdHdlYWsgbWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQgdG8gYmFz
ZSBpbnRlcmZhY2UgKGp1c3QgbGlrZSBpdCBkb2VzIGZvciBgRXZlbnRgKS4KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1j
b25zdHJ1Y3RvcnMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LmpzCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2Vz
Lmh0bWwKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6IFVzZSBJ
bnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZS4KKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbToKKyAgICAgICAgKGdlbmVyYXRlSW50ZXJm
YWNlc0hlYWRlcik6IEFkZCBiYXNlIGludGVyZmFjZSB0eXBlLgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy8qOiBBZGp1c3QgYmluZGluZ3MgZXhwZWN0YXRpb25zLgorICAgICAg
ICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
Y3JlYXRlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldENvbmNyZXRlLmNwcDogQWRk
ZWQuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaDogQWRkZWQuCisgICAgICAg
ICogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbDoKKyAgICAgICAgKGdlbmVyYXRlSW1wbGVtZW50
YXRpb24pOiBXcmFwIGJhc2UgaW50ZXJmYWNlIHR5cGUuCisKIDIwMTktMDgtMDMgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTTog
YWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxsIEV2ZW50cyIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtMzk4LDYgKzM5OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBkb20vRXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVl
dWUuaAogICAgIGRvbS9FdmVudFRhcmdldC5oCisgICAgZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUu
aAogICAgIGRvbS9FeGNlcHRpb24uaAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmgKICAgICBkb20v
RXhjZXB0aW9uRGF0YS5oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjQ4MjA0KQorKysg
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTg2OCw2ICs4Njgs
NyBAQCBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKIGRvbS9FdmVudE5hbWVzLmNwcAogZG9tL0V2
ZW50UGF0aC5jcHAKIGRvbS9FdmVudFRhcmdldC5jcHAKK2RvbS9FdmVudFRhcmdldENvbmNyZXRl
LmNwcAogZG9tL0V4Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3Bw
CiBkb20vRm9jdXNFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMjQ3MSw2ICsyNDcxLDcgQEAKIAkJODQ5Rjc3NzYwRUZFQzYyMDAwOTA4NDlEIC8qIFN0cm9r
ZVN0eWxlQXBwbGllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ5Rjc3NzUwRUZFQzYyMDAwOTA4NDlEIC8qIFN0cm9rZVN0eWxlQXBwbGllci5oICov
OyB9OwogCQk4NEE4MUYzRTBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QTgxRjNDMEZDN0RGRjAw
MDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5oICovOyB9OwogCQk4NEE4MUY0MjBGQzdFMDI3MDA5NTUz
MDAgLyogU291cmNlR3JhcGhpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODRBODFGNDAwRkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCAq
LzsgfTsKKwkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QjM0OUEw
MjJGODZFNzQwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggKi87IH07CiAJCTg0QjZC
OTc4MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRCNkI5NzYxMjBGMTNFNTAwQjhF
RkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggKi87IH07CiAJCTg0QzVCMkZCMTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEM1QjJGOTEyMTZEQzgxMDA4OEI1M0Eg
LyogU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oICovOyB9OwogCQk4NEM2Nzg0RDEyMTQ4
MTQ3MDBBOTI5MDIgLyogU1ZHUGF0aEJsZW5kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QzY3ODRCMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRo
QmxlbmRlci5oICovOyB9OwpAQCAtMTAyMTEsNiArMTAyMTIsOCBAQAogCQk4NEE4MUYzRjBGQzdF
MDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTb3VyY2VHcmFwaGljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODRBODFGNDAwRkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlR3JhcGhpYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NEIyQjI0RjA1NkJGMTVGMDBEMkI3NzEgLyogU1NMS2V5R2VuZXJh
dG9yTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU1NMS2V5R2VuZXJhdG9yTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJODRCMzQ5QTAyMkY4NkU3NDAwRDQ3
QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRXZlbnRUYXJnZXRDb25jcmV0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NEIzNDlBMzIyRjg2RTgyMDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFRhcmdldENvbmNyZXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNjI2ODQxMzMxMzhGOTAwOTVBNDg5
IC8qIEZvbnRQbGF0Zm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRm9udFBsYXRmb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg0QjZCOTc1MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjZCOTc2MTIwRjEzRTUwMEI4RUZB
RiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjc0NzYsNiArMjc0NzksOCBAQAogCQkJCUUxMkVEQkU5MEIzMDhFMEIwMDI3MDRCNiAvKiBF
dmVudFRhcmdldC5jcHAgKi8sCiAJCQkJRTEyRURCN0EwQjMwOEE3ODAwMjcwNEI2IC8qIEV2ZW50
VGFyZ2V0LmggKi8sCiAJCQkJODVBRkE3NDIwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50VGFyZ2V0
LmlkbCAqLywKKwkJCQk4NEIzNDlBMzIyRjg2RTgyMDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25j
cmV0ZS5jcHAgKi8sCisJCQkJODRCMzQ5QTAyMkY4NkU3NDAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0
Q29uY3JldGUuaCAqLywKIAkJCQlDRENFNUNEMDE0NjMzQkM5MDBENDdDQ0EgLyogRXZlbnRUYXJn
ZXRGYWN0b3J5LmluICovLAogCQkJCTkzRDE5NjMyMUQ2Q0FCODIwMEZDN0U0NyAvKiBFeGNlcHRp
b24uaCAqLywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5o
ICovLApAQCAtMjkwOTIsNiArMjkwOTcsNyBAQAogCQkJCUU0QThEMjE2MjI1NzhEQjcwMEE4NDYz
QyAvKiBFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTBGRUYzNzJCMTdDNTNFQUMx
QzFGQkVFIC8qIEV2ZW50U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJFREI3QjBCMzA4
QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg0QjM0OUEy
MjJGODZFNzUwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0FBM0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJ
bnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjJFQzQxQTFEMDc4RkI5MDBCQTc4RkMg
LyogRXZlbnRUcmFja2luZ1JlZ2lvbnMuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAJKHJldmlz
aW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRD
dXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMSBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxFdmVudFRh
cmdldD4mJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxFdmVudFRhcmdldD4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Cit9CisKIEV2ZW50VGFyZ2V0KiBKU0V2ZW50
VGFyZ2V0Ojp0b1dyYXBwZWQoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmICh2YWx1
ZS5pbmhlcml0czxKU1dpbmRvd1Byb3h5Pih2bSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMjQ4MjA0
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0J
KHdvcmtpbmcgY29weSkKQEAgLTcxOTIsNyArNzE5Miw2IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVj
dG9yRGVmaW5pdGlvbgogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7
XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTtcbiIpOwotICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTtcbiIpOwogICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8JHtj
b25zdHJ1Y3RvckNsYXNzTmFtZX0qPihzdGF0ZS0+anNDYWxsZWUoKSk7XG4iKTsKICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBBU1NFUlQoY2FzdGVkVGhpcyk7XG4iKTsKIApA
QCAtNzIxNCw3ICs3MjEzLDE1IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgog
ICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgInRocm93
U2NvcGUiKSBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDb25zdHJ1Y3Rvck1h
eVRocm93RXhjZXB0aW9ufTsKICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdGlvbkNvbnZlcnNp
b25Bcmd1bWVudHMsICJXVEZNb3ZlKG9iamVjdCkiKTsKIAotICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDwk
e0lETFR5cGV9PigiIC4gam9pbigiLCAiLCBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50
cykgLiAiKSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRv
IGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDwke0lETFR5cGV9PigiIC4gam9pbigiLCAiLCBA
Y29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cykgLiAiKTtcbiIpOworICAgICAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUtPm5ld1Rhcmdl
dCgpO1xuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYgKG5ld1Rh
cmdldCAhPSBjYXN0ZWRUaGlzKSB7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICAgICAgYXV0byoganNDZWxsID0ganNPYmplY3QuYXNDZWxsKCk7XG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1
cmUgPSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3
VGFyZ2V0LCBqc0NlbGwtPnN0cnVjdHVyZSgpKTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7
XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAganNDZWxsLT5z
ZXRTdHJ1Y3R1cmUodm0sIHN1YmNsYXNzU3RydWN0dXJlKTtcbiIpOworICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIH1cbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFy
cmF5LCAiICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpO1xuIik7CiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAgICAgfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGls
ZXIucG0JKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSW5GaWxlc0NvbXBpbGVyLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMxLDggQEAg
c3ViIGdlbmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiAgICAgICAgICRzdWZmaXggPSAkbmFtZXNw
YWNlIC4gJHN1ZmZpeDsKICAgICB9CiAKKyAgICBwcmludCBGICIgICAgJHtzdWZmaXh9ID0gMCxc
biI7CisKICAgICBteSAkY291bnQgPSAxOwogICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNvcnQg
a2V5cyAlaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWwpIHsKICAgICAgICAgbXkgJHByZWZlcnJlZENv
bmRpdGlvbmFsID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRpdGlvbmFsKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9uIDI0ODIw
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU1LDcgKzE1NSw2IEBAIHRlbXBs
YXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAgICBWTSYgdm0gPSBzdGF0
ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpz
Q2FzdDxKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUo
KSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJn
dW1lbnRDb3VudCgpIDwgMSkpCkBAIC0xNjUsNyArMTY0LDE1IEBAIHRlbXBsYXRlPD4gRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0
PElETERpY3Rpb25hcnk8VGVzdEV2ZW50Q29uc3RydWN0b3I6OkluaXQ+Pigqc3RhdGUsIHN0YXRl
LT5hcmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RFdmVudENvbnN0cnVjdG9yOjpj
cmVhdGUoV1RGTW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0RXZlbnRD
b25zdHJ1Y3Rvcj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3Zl
KG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdEV2ZW50Q29uc3RydWN0b3I+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5u
ZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAg
YXV0byoganNDZWxsID0ganNPYmplY3QuYXNDZWxsKCk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNz
U3RydWN0dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3Rh
dGUsIG5ld1RhcmdldCwganNDZWxsLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNDZWxsLT5zZXRTdHJ1Y3R1cmUo
dm0sIHN1YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc09iamVjdCk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVj
dG9yQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3Qg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDcgKzI0
OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAgICBW
TSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2Fz
dGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0Nh
bGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKHN0YXRl
LT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTI2MSw3ICsyNjAsMTUgQEAgdGVtcGxhdGU8PiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gc3RyMiA9IHN0YXRlLT5hcmd1
bWVudCgxKS5pc1VuZGVmaW5lZCgpID8gImRlZmF1bHRTdHJpbmciX3MgOiBjb252ZXJ0PElETERP
TVN0cmluZz4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMSkpOwogICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBv
YmplY3QgPSBUZXN0SW50ZXJmYWNlOjpjcmVhdGUoKmNvbnRleHQsIFdURk1vdmUoc3RyMSksIFdU
Rk1vdmUoc3RyMikpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdEludGVyZmFjZT4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2Jq
ZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEludGVyZmFjZT4+KCpzdGF0
ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUtPm5ld1RhcmdldCgpOworICAgIGlmIChu
ZXdUYXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAgICAgICBhdXRvKiBqc0NlbGwgPSBqc09iamVj
dC5hc0NlbGwoKTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1
bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc0NlbGwt
PnN0cnVjdHVyZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7
IH0pOworICAgICAgICBqc0NlbGwtPnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUp
OworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogdGVt
cGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAy
NDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDYgQEAgdGVt
cGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogewogICAgIFZNJiB2bSA9IHN0
YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0g
anNDYXN0PEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yKj4oc3RhdGUtPmpz
Q2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoc3Rh
dGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMTA0LDcgKzEwMywxNSBAQCB0ZW1wbGF0ZTw+
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byBzdHIzID0gc3RhdGUtPmFy
Z3VtZW50KDIpLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IGNvbnZlcnQ8SURMRE9NU3RyaW5n
Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgyKSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9
IFRlc3ROYW1lZENvbnN0cnVjdG9yOjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKFdURk1vdmUoc3Ry
MSksIFdURk1vdmUoc3RyMiksIFdURk1vdmUoc3RyMykpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5hbWVkQ29uc3RydWN0b3I+
Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92
ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50
ZXJmYWNlPFRlc3ROYW1lZENvbnN0cnVjdG9yPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFs
T2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJn
ZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlz
KSB7CisgICAgICAgIGF1dG8qIGpzQ2VsbCA9IGpzT2JqZWN0LmFzQ2VsbCgpOworICAgICAgICBh
dXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNz
U3RydWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzQ2VsbC0+c3RydWN0dXJlKCkpOworICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzQ2VsbC0+
c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShK
U0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Tm9kZS5jcHAJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTksMTEg
Kzk5LDE4IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAg
ICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byog
Y2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3ROb2RlQ29uc3RydWN0b3IqPihzdGF0ZS0+anNDYWxs
ZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE5v
ZGU6OmNyZWF0ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNy
ZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3ROb2RlPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFs
T2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+
bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAgICAg
IGF1dG8qIGpzQ2VsbCA9IGpzT2JqZWN0LmFzQ2VsbCgpOworICAgICAgICBhdXRvKiBzdWJjbGFz
c1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKHN0
YXRlLCBuZXdUYXJnZXQsIGpzQ2VsbC0+c3RydWN0dXJlKCkpOworICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzQ2VsbC0+c2V0U3RydWN0dXJl
KHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNPYmplY3QpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0Tm9kZUNvbnN0cnVj
dG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkocmV2aXNpb24gMjQ4MjA0KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE5NDEsNyArMTk0MSw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFS
QU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmpD
b25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5hcmd1bWVudENvdW50KCkgPCAyKSkKQEAgLTE5NTYs
NyArMTk1NSwxNSBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAg
ICAgYXV0byB0ZXN0Q2FsbGJhY2tGdW5jdGlvbiA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlv
bjxKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uPj4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1l
bnQoMSksICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0
YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0QmVGdW5jdGlv
bkVycm9yKHN0YXRlLCBzY29wZSwgMSwgInRlc3RDYWxsYmFja0Z1bmN0aW9uIiwgIlRlc3RPYmpl
Y3QiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPYmo6OmNyZWF0ZShkb2N1
bWVudCwgdGVzdENhbGxiYWNrLnJlbGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0Z1bmN0aW9u
LnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5
Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05l
d2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmds
b2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3Rh
dGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAg
ICAgICBhdXRvKiBqc0NlbGwgPSBqc09iamVjdC5hc0NlbGwoKTsKKyAgICAgICAgYXV0byogc3Vi
Y2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVy
ZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc0NlbGwtPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBqc0NlbGwtPnNldFN0cnVj
dHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE9iakNvbnN0
cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDY1ICs3OSwxMDAgQEAgc3RhdGljIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAg
ICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBhcnJheUJ1ZmZlciA9IGNvbnZlcnQ8SURM
QXJyYXlCdWZmZXI+KCpzdGF0ZSwgc3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6
OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVu
dFR5cGVFcnJvcihzdGF0ZSwgc2NvcGUsIDAsICJhcnJheUJ1ZmZlciIsICJUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycyIsIG51bGxwdHIsICJBcnJheUJ1ZmZlciIpOyB9KTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2Jq
ZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYXJyYXlCdWZmZXIpOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKnN0YXRl
LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgYXV0
byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBj
YXN0ZWRUaGlzKSB7CisgICAgICAgIGF1dG8qIGpzQ2VsbCA9IGpzT2JqZWN0LmFzQ2VsbCgpOwor
ICAgICAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0
ZVN1YmNsYXNzU3RydWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzQ2VsbC0+c3RydWN0dXJlKCkp
OworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAg
IGpzQ2VsbC0+c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiBzdGF0aWMgaW5saW5lIEVu
Y29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMyKEV4ZWNT
dGF0ZSogc3RhdGUpCiB7CiAgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7CiAgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4oc3RhdGUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChj
YXN0ZWRUaGlzKTsKICAgICBhdXRvIGFycmF5QnVmZmVyVmlldyA9IGNvbnZlcnQ8SURMQXJyYXlC
dWZmZXJWaWV3Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10oSlNDOjpF
eGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRU
eXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOyB9KTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1
dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZShhcnJheUJ1ZmZl
clZpZXcucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpz
dGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAg
ICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwg
V1RGTW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQo
KTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganND
ZWxsID0ganNPYmplY3QuYXNDZWxsKCk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJl
ID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5ld1Rh
cmdldCwganNDZWxsLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNDZWxsLT5zZXRTdHJ1Y3R1cmUodm0sIHN1YmNs
YXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVj
dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yczMoRXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBWTSYgdm0gPSBz
dGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9
IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihzdGF0ZS0+
anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gYmxvYiA9IGNv
bnZlcnQ8SURMSW50ZXJmYWNlPEJsb2I+Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVu
dCgwKSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7
IHRocm93QXJndW1lbnRUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAwLCAiYmxvYiIsICJUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxwdHIsICJCbG9iIik7IH0pOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmpl
Y3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKCpibG9iKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNPYmplY3QgPSB0b0pTTmV3bHlDcmVhdGVk
PElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFy
Z2V0ID0gc3RhdGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhp
cykgeworICAgICAgICBhdXRvKiBqc0NlbGwgPSBqc09iamVjdC5hc0NlbGwoKTsKKyAgICAgICAg
YXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFz
c1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc0NlbGwtPnN0cnVjdHVyZSgpKTsKKyAgICAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBqc0NlbGwt
PnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOworICAgIH0KKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogc3RhdGljIGlubGluZSBFbmNvZGVkSlNW
YWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNChFeGVjU3RhdGUqIHN0
YXRlKQogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsK
ICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNDb25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhp
cyk7CiAgICAgYXV0byBzdHJpbmcgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKnN0YXRlLCBzdGF0
ZS0+dW5jaGVja2VkQXJndW1lbnQoMCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yczo6Y3JlYXRlKFdURk1vdmUoc3RyaW5nKSk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3Zl
KG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5n
bG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0
YXRlLT5uZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAg
ICAgICAgYXV0byoganNDZWxsID0ganNPYmplY3QuYXNDZWxsKCk7CisgICAgICAgIGF1dG8qIHN1
YmNsYXNzU3RydWN0dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1
cmUoc3RhdGUsIG5ld1RhcmdldCwganNDZWxsLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNDZWxsLT5zZXRTdHJ1
Y3R1cmUodm0sIHN1YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc09iamVjdCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29u
c3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczUoRXhlY1N0YXRlKiBzdGF0ZSkKIHsK
ICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0
byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3Ry
dWN0b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAg
IGF1dG8gbG9uZ0FyZ3MgPSBjb252ZXJ0VmFyaWFkaWNBcmd1bWVudHM8SURMTG9uZz4oKnN0YXRl
LCAwKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0
ZShXVEZNb3ZlKGxvbmdBcmdzKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3
bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpzdGF0
ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBh
dXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RG
TW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQoKTsK
KyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganNDZWxs
ID0ganNPYmplY3QuYXNDZWxsKCk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJlID0g
SW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5ld1Rhcmdl
dCwganNDZWxsLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgeyB9KTsKKyAgICAgICAganNDZWxsLT5zZXRTdHJ1Y3R1cmUodm0sIHN1YmNsYXNz
U3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVjdCk7
CiB9CiAKIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3I6OmNvbnN0cnVjdChFeGVjU3RhdGUqIHN0YXRl
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzV2l0aFNlcXVlbmNlLmNwcAkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNX
aXRoU2VxdWVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OCwyNiArNzgsNDAgQEAgc3RhdGlj
IGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogewogICAgIFZNJiB2bSA9IHN0YXRl
LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwot
ICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganND
YXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcio+
KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBz
ZXF1ZW5jZU9mU3RyaW5ncyA9IHN0YXRlLT5hcmd1bWVudCgwKS5pc1VuZGVmaW5lZCgpID8gQ29u
dmVydGVyPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OjpSZXR1cm5UeXBleyB9IDogY29udmVy
dDxJRExTZXF1ZW5jZTxJRExET01TdHJpbmc+Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1
bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0
aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzZXF1ZW5jZU9mU3RyaW5ncykpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNO
ZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNl
cXVlbmNlPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2Jq
ZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYg
KG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAgICAgIGF1dG8qIGpzQ2VsbCA9IGpzT2Jq
ZWN0LmFzQ2VsbCgpOworICAgICAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFs
RnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzQ2Vs
bC0+c3RydWN0dXJlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IHsgfSk7CisgICAgICAgIGpzQ2VsbC0+c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVy
ZSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiBz
dGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2UyKEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAgVk0mIHZtID0g
c3RhdGUtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMg
PSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVj
dG9yKj4oc3RhdGUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBh
dXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqc3RhdGUsIHN0YXRlLT51bmNoZWNr
ZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzdHJpbmcpKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNPYmplY3QgPSB0b0pTTmV3bHlD
cmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZT4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkp
OworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdU
YXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAgICAgICBhdXRvKiBqc0NlbGwgPSBqc09iamVjdC5h
c0NlbGwoKTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc0NlbGwtPnN0
cnVjdHVyZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0p
OworICAgICAgICBqc0NlbGwtPnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOwor
ICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogdGVtcGxh
dGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogc3RhdGUp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJv
bWlzZVJlamVjdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAkocmV2
aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3
ICsxNTgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiB7CiAg
ICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8q
IGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0
b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlm
IChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwgMikpCkBAIC0xNjksNyArMTY4LDE1
IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2Jq
ZWN0ID0gVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6Y3JlYXRlKCpzdGF0ZSwgV1RGTW92ZSh0
eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+
Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7
CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQ+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJn
ZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byog
anNDZWxsID0ganNPYmplY3QuYXNDZWxsKCk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0
dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5l
d1RhcmdldCwganNDZWxsLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNDZWxsLT5zZXRTdHJ1Y3R1cmUodm0sIHN1
YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09i
amVjdCk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZl
bnRDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3Bw
CShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDYg
QEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogewogICAgIFZNJiB2
bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRU
aGlzID0ganNDYXN0PEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUo
KSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJn
dW1lbnRDb3VudCgpIDwgMykpCkBAIC0xNTgsNyArMTU3LDE1IEBAIHRlbXBsYXRlPD4gRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIHRlc3RDYWxsYmFja0ludGVyZmFjZSA9
IGNvbnZlcnQ8SURMQ2FsbGJhY2tJbnRlcmZhY2U8SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U+Pigq
c3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgyKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUp
IHsgdGhyb3dBcmd1bWVudE11c3RCZUZ1bmN0aW9uRXJyb3Ioc3RhdGUsIHNjb3BlLCAyLCAidGVz
dENhbGxiYWNrSW50ZXJmYWNlIiwgIlRlc3RUeXBlZGVmcyIsIG51bGxwdHIpOyB9KTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1
dG8gb2JqZWN0ID0gVGVzdFR5cGVkZWZzOjpjcmVhdGUoV1RGTW92ZShoZWxsbyksIHRlc3RDYWxs
YmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0ludGVyZmFjZS5yZWxl
YXNlTm9uTnVsbCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVmcz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05l
d2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVkZWZzPj4oKnN0YXRlLCAqY2FzdGVkVGhp
cy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQg
PSBzdGF0ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7
CisgICAgICAgIGF1dG8qIGpzQ2VsbCA9IGpzT2JqZWN0LmFzQ2VsbCgpOworICAgICAgICBhdXRv
KiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3Ry
dWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzQ2VsbC0+c3RydWN0dXJlKCkpOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzQ2VsbC0+c2V0
U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0VHlw
ZWRlZnNDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuY3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAi
RXZlbnRUYXJnZXRDb25jcmV0ZS5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgpAQCAtNTgsNiArNTksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKEV2ZW50VGFyZ2V0KTsKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhKTsKIAorUmVmPEV2ZW50VGFyZ2V0PiBFdmVu
dFRhcmdldDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAg
cmV0dXJuIEV2ZW50VGFyZ2V0Q29uY3JldGU6OmNyZWF0ZShjb250ZXh0KTsKK30KKwogYm9vbCBF
dmVudFRhcmdldDo6aXNOb2RlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuaAkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDggQEAgcHVi
bGljOgogY2xhc3MgRXZlbnRUYXJnZXQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKEV2ZW50VGFyZ2V0KTsKIHB1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPEV2ZW50VGFyZ2V0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworCiAgICAg
dm9pZCByZWYoKSB7IHJlZkV2ZW50VGFyZ2V0KCk7IH0KICAgICB2b2lkIGRlcmVmKCkgeyBkZXJl
ZkV2ZW50VGFyZ2V0KCk7IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCShy
ZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0xOSw2ICsxOSw4IEBACiAgKi8KIAogWworICAgIENvbnN0cnVjdG9y
LAorICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBD
dXN0b21Ub0pTT2JqZWN0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIElzSW1t
dXRhYmxlUHJvdG90eXBlRXhvdGljT2JqZWN0T25Qcm90b3R5cGUsCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldENvbmNyZXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxz
aHZhaWthbGVzaEBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXRDb25jcmV0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChFdmVudFRhcmdldENvbmNyZXRlKTsKKworUmVm
PEV2ZW50VGFyZ2V0Q29uY3JldGU+IEV2ZW50VGFyZ2V0Q29uY3JldGU6OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV2
ZW50VGFyZ2V0Q29uY3JldGUoY29udGV4dCkpOworfQorCitFdmVudFRhcmdldENvbmNyZXRlOjpF
dmVudFRhcmdldENvbmNyZXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCisgICAg
OiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKK3sKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3Jl
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0
ZS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldENvbmNy
ZXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5o
IgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRlcmZh
Y2VzLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFdmVudFRhcmdldENvbmNyZXRlIGZpbmFsIDogcHVi
bGljIFJlZkNvdW50ZWQ8RXZlbnRUYXJnZXRDb25jcmV0ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdp
dGhJbmxpbmVEYXRhLCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKEV2ZW50VGFyZ2V0Q29uY3JldGUpOworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8RXZlbnRUYXJnZXRDb25jcmV0ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkOjpkZXJlZjsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBFdmVudFRhcmdldENvbmNyZXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKworICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2
ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRXZlbnRUYXJnZXRJbnRl
cmZhY2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKworICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQo
KSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBk
ZXJlZigpOyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwJKHdvcmtpbmcgY29weSkKQEAgLTEz
NSwxMyArMTM1LDE0IEBAIHN1YiBnZW5lcmF0ZUltcGxlbWVudGF0aW9uKCkKICAgICAgICAgcHJp
bnQgRiAiI2VuZGlmXG4iIGlmICRjb25kaXRpb25hbDsKICAgICB9CiAKLSAgICBwcmludCBGICIg
ICAgfVxuIjsKKyAgICBwcmludCBGICIgICAgZGVmYXVsdDpcbiI7CiAgICAgaWYgKCRmYWN0b3J5
RnVuY3Rpb24gZXEgInRvTmV3bHlDcmVhdGVkIikgewotICAgICAgICBwcmludCBGICIgICAgcmV0
dXJuIGNyZWF0ZVdyYXBwZXI8JG5hbWVzcGFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwp
KTtcbiI7CisgICAgICAgIHByaW50IEYgIiAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JG5h
bWVzcGFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTtcbiI7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgcHJpbnQgRiAiICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpO1xuIjsKLSAgICAgICAg
cHJpbnQgRiAiICAgIHJldHVybiBKU0M6OmpzTnVsbCgpO1xuIjsKKyAgICAgICAgcHJpbnQgRiAi
ICAgICAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKTtcbiI7CiAgICAg
fQorCisgICAgcHJpbnQgRiAiICAgIH1cbiI7CiAgICAgcHJpbnQgRiAifVxuIjsKICAgICBwcmlu
dCBGICJcbiI7CiAgICAgcHJpbnQgRiAifSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuIjsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI0ODIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA4LTA1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRUYXJnZXQgY29uc3Ry
dWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9k
b20vZG9tLWNvbnN0cnVjdG9ycy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25z
dHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDE5LTA4LTAzICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50
czogU3R5bGVzOiBhZGQgaWNvbnMgZm9yIHZhcmlvdXMgQ1NTIHJ1bGUgdHlwZXMKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAyNDgyMDQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDYgQEAgUEFTUyBUcnlB
bGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScpIGlzICdleAogUEFTUyBUcnlBbGxvY2F0ZSgnQ0RBVEFT
ZWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50VHlwZScp
IGlzICdleGNlcHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdFbGVtZW50JykgaXMgJ2V4Y2VwdGlv
bicKLVBBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1Mg
VHJ5QWxsb2NhdGUoJ0hUTUxEb2N1bWVudCcpIGlzICdleGNlcHRpb24nCiBQQVNTIFRyeUFsbG9j
YXRlKCdOb2RlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbicpIGlzICdleGNlcHRpb24nCkBAIC0xMzEsNiArMTMwLDkgQEAgUEFTUyBUcnlB
bGxvY2F0ZSgnRG9jdW1lbnQnKSBpcyAnW29iamVjdAogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1l
bnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRdJwogUEFTUyBUcnlBbGxv
Y2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRdJwog
UEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50
RnJhZ21lbnRdJworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVjdCBF
dmVudFRhcmdldF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0
IEV2ZW50VGFyZ2V0XScKK1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmpl
Y3QgRXZlbnRUYXJnZXRdJwogUEFTUyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBS
YW5nZV0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlzICdbb2JqZWN0IFJhbmdlXScKIFBB
U1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAkocmV2aXNpb24gMjQ4MjA0KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xOCw3ICsxOCw2IEBAIHZhciBvYmplY3RzX2V4Y2VwdGlvbiA9IFsKICAgICAnQ0RB
VEFTZWN0aW9uJywKICAgICAnRG9jdW1lbnRUeXBlJywKICAgICAnRWxlbWVudCcsCi0gICAgJ0V2
ZW50VGFyZ2V0JywKICAgICAnSFRNTERvY3VtZW50JywKICAgICAnTm9kZScsCiAgICAgJ1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbicsCkBAIC0xMzIsNiArMTMxLDcgQEAgdmFyIG9iamVjdHNfY29uc3Ry
dWN0b3IgPSBbCiAgICAgJ0RPTVBhcnNlcicsCiAgICAgJ0RvY3VtZW50JywKICAgICAnRG9jdW1l
bnRGcmFnbWVudCcsCisgICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnUmFuZ2UnLAogICAgICdUZXh0
JywKICAgICAnWE1MSHR0cFJlcXVlc3QnLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNDgyNzApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDgtMDUgIEFsZXhleSBT
aHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVu
dFRhcmdldCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFz
c2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNv
bnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0wNy0yNCAgQWxp
Y2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZDogQWRkZWQgbWlzc2luZyBleHBlY3RhdGlvbiBmaWxlIGZvciB2aWRlb19jcmFzaF9lbXB0eV9z
cmMuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI0ODIwNCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xMTcsMTQgKzExNywxNCBAQCBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGFkZEV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmpl
Y3RdKSAKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlRXZlbnRM
aXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0
IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkaXNwYXRj
aEV2ZW50KEV2ZW50KSAKLUZBSUwgRXZlbnRUYXJnZXQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBuZXcgRXZlbnRUYXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5
cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBF
dmVudFRhcmdldCgpJykiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQo
KSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlM
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVj
dCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExp
c3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJn
ZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9l
cXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0
ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJl
bW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVj
dF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVu
ZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0
Y2hFdmVudChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNl
OiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgorUEFTUyBFdmVudFRhcmdldCBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIAorUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
bmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3Qg
T2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVu
dExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmpl
Y3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVu
ZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgRXZl
bnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAog
UEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIEV2
ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IApJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50
LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQt
c3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDgyMDQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MSwxMSArNDEsMTEgQEAgUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChu
dWxsIAogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkg
CiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVs
dCB2YWx1ZXMpIAogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3Rv
ciAobm8gYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJ
TCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25z
dHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQg
Y29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3Ig
KGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1
bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3Vt
ZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAK
K1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCitQQVNT
IFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVl
cykgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24t
ZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3VtZW50
IHdpdGggd3JvbmcgdHlwZSkgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4MjA0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUu
YW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBB
IGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIGZ1bmN0aW9u
IGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpCi1G
QUlMIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICdzdXBlciguLi5hcmdzKScpCitQQVNTIEEgY29uc3RydWN0ZWQg
RXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgCitQQVNTIEV2ZW50VGFyZ2V0IGNh
biBiZSBzdWJjbGFzc2VkIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4MjA0KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNv
bnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NCArMSw0IEBACiAKLUZBSUwgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBh
cyBleHBlY3RlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IEV2ZW50VGFyZ2V0KCknKQotRkFJTCBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnc3VwZXIoLi4uYXJncyknKQor
UEFTUyBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIAor
UEFTUyBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCAKIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9F
dmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDI0ODIwNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNTEgKzAsMCBAQAotCi1QQVNTIEV2
ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yICh1
bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVu
dCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEV2ZW50
IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgRXZlbnQg
Y29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlF
dmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9y
ICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFy
Z3VtZW50KSAKLVBBU1MgVUlFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFT
UyBVSUV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBB
U1MgVUlFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMp
IAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEZvY3Vz
RXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQg
Y29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9y
IChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50
IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChhcmd1
bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0
b3IgKG5vIGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVk
IGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkg
Ci1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgTW91
c2VFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNT
IE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVz
KSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBXaGVl
bEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50
IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3Rv
ciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVu
dCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoYXJn
dW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0
cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKHVu
ZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG51bGwg
YXJndW1lbnQpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVu
dCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVs
dCB2YWx1ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRo
IG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3Ig
KG5vIGFyZ3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAodW5kZWZp
bmVkIGFyZ3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAobnVsbCBh
cmd1bWVudCkgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3Vt
ZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBk
ZWZhdWx0IHZhbHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3Vt
ZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0
cnVjdG9yIChubyBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50
IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVu
dCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRF
dmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3Ry
dWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1
Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3Vt
ZW50IHdpdGggd3JvbmcgdHlwZSkgCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375551</attachid>
            <date>2019-08-05 14:09:36 -0700</date>
            <delta_ts>2020-02-14 05:24:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20190806000935.patch</filename>
            <type>text/plain</type>
            <size>55005</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBACisyMDE5LTA4LTA1ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50VGFy
Z2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4gV2Ug
ZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJhY3QK
KyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFibGUg
ZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAgICAg
ICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9yIHRo
ZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRvIGFs
bG93IHN1YmNsYXNzaW5nLCBub24tY3VzdG9tIGNvbnN0cnVjdG9ycyByZXBsYWNlIHN0cnVjdHVy
ZXMgb2YgbmV3bHkgY3JlYXRlZCB3cmFwcGVyIG9iamVjdHMKKyAgICAgICAgd2l0aCBvbmVzIHJl
dHVybmVkIGJ5IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlLiBUaGlz
IGFwcHJvYWNoIHdhcyBjaG9zZW4gYmVjYXVzZToKKyAgICAgICAgCisgICAgICAgIDEuIFdlIGNh
bid0IHJlbHkgb24gZXhlYy0+bmV3VGFyZ2V0KCkgdG8gZGV0ZWN0IFtbQ29uc3RydWN0XV0gY2Fs
bHMgb3V0c2lkZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgMi4gUGFzc2luZyBgdGhyb3dTY29wZWAg
YW5kIGBuZXdUYXJnZXRgIGRvd24gdG8gYGNyZWF0ZVdyYXBwZXJgIGlzIHF1aXRlIGF3a3dhcmQg
YW5kIHdvdWxkIHJlc3VsdAorICAgICAgICAgICBpbiBtYXNzaXZlIGNvZGUgY2hhbmdlLgorCisg
ICAgICAgIFRvIHByZXZlbnQgZGVmaW5pdGlvbiBvZiBFdmVudFRhcmdldENvbmNyZXRlLXNwZWNp
ZmljIGB0b0pTYCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAgICAgd2Ug
ZG9uJ3QgZGVmaW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1dCByYXRo
ZXIgdHdlYWsgbWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQgdG8gYmFz
ZSBpbnRlcmZhY2UgKGp1c3QgbGlrZSBpdCBkb2VzIGZvciBgRXZlbnRgKS4KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1j
b25zdHJ1Y3RvcnMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LmpzCisgICAg
ICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2Vz
Lmh0bWwKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9KU05ld2x5Q3JlYXRlZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbik6IFVzZSBJ
bnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZS4KKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbToKKyAgICAgICAgKGdlbmVyYXRlSW50ZXJm
YWNlc0hlYWRlcik6IEFkZCBiYXNlIGludGVyZmFjZSB0eXBlLgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy8qOiBBZGp1c3QgYmluZGluZ3MgZXhwZWN0YXRpb25zLgorICAgICAg
ICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdldDo6
Y3JlYXRlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldENvbmNyZXRlLmNwcDogQWRk
ZWQuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaDogQWRkZWQuCisgICAgICAg
ICogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbDoKKyAgICAgICAgKGdlbmVyYXRlSW1wbGVtZW50
YXRpb24pOiBXcmFwIGJhc2UgaW50ZXJmYWNlIHR5cGUuCisKIDIwMTktMDgtMDMgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTTog
YWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxsIEV2ZW50cyIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtMzk4LDYgKzM5OCw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBkb20vRXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVl
dWUuaAogICAgIGRvbS9FdmVudFRhcmdldC5oCisgICAgZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUu
aAogICAgIGRvbS9FeGNlcHRpb24uaAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmgKICAgICBkb20v
RXhjZXB0aW9uRGF0YS5oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjQ4MjA0KQorKysg
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTg2OCw2ICs4Njgs
NyBAQCBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKIGRvbS9FdmVudE5hbWVzLmNwcAogZG9tL0V2
ZW50UGF0aC5jcHAKIGRvbS9FdmVudFRhcmdldC5jcHAKK2RvbS9FdmVudFRhcmdldENvbmNyZXRl
LmNwcAogZG9tL0V4Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVTaGVldHMuY3Bw
CiBkb20vRm9jdXNFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMjQ3MSw2ICsyNDcxLDcgQEAKIAkJODQ5Rjc3NzYwRUZFQzYyMDAwOTA4NDlEIC8qIFN0cm9r
ZVN0eWxlQXBwbGllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ5Rjc3NzUwRUZFQzYyMDAwOTA4NDlEIC8qIFN0cm9rZVN0eWxlQXBwbGllci5oICov
OyB9OwogCQk4NEE4MUYzRTBGQzdERkYwMDA5NTUzMDAgLyogU291cmNlQWxwaGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QTgxRjNDMEZDN0RGRjAw
MDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5oICovOyB9OwogCQk4NEE4MUY0MjBGQzdFMDI3MDA5NTUz
MDAgLyogU291cmNlR3JhcGhpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODRBODFGNDAwRkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCAq
LzsgfTsKKwkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QjM0OUEw
MjJGODZFNzQwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggKi87IH07CiAJCTg0QjZC
OTc4MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRCNkI5NzYxMjBGMTNFNTAwQjhF
RkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggKi87IH07CiAJCTg0QzVCMkZCMTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEM1QjJGOTEyMTZEQzgxMDA4OEI1M0Eg
LyogU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oICovOyB9OwogCQk4NEM2Nzg0RDEyMTQ4
MTQ3MDBBOTI5MDIgLyogU1ZHUGF0aEJsZW5kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QzY3ODRCMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRo
QmxlbmRlci5oICovOyB9OwpAQCAtMTAyMTEsNiArMTAyMTIsOCBAQAogCQk4NEE4MUYzRjBGQzdF
MDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTb3VyY2VHcmFwaGljLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODRBODFGNDAwRkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlR3JhcGhpYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NEIyQjI0RjA1NkJGMTVGMDBEMkI3NzEgLyogU1NMS2V5R2VuZXJh
dG9yTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gU1NMS2V5R2VuZXJhdG9yTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJODRCMzQ5QTAyMkY4NkU3NDAwRDQ3
QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRXZlbnRUYXJnZXRDb25jcmV0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4NEIzNDlBMzIyRjg2RTgyMDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFRhcmdldENvbmNyZXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNjI2ODQxMzMxMzhGOTAwOTVBNDg5
IC8qIEZvbnRQbGF0Zm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRm9udFBsYXRmb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg0QjZCOTc1MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjZCOTc2MTIwRjEzRTUwMEI4RUZB
RiAvKiBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYXRoU2VnTGlzdFNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjc0NzYsNiArMjc0NzksOCBAQAogCQkJCUUxMkVEQkU5MEIzMDhFMEIwMDI3MDRCNiAvKiBF
dmVudFRhcmdldC5jcHAgKi8sCiAJCQkJRTEyRURCN0EwQjMwOEE3ODAwMjcwNEI2IC8qIEV2ZW50
VGFyZ2V0LmggKi8sCiAJCQkJODVBRkE3NDIwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50VGFyZ2V0
LmlkbCAqLywKKwkJCQk4NEIzNDlBMzIyRjg2RTgyMDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25j
cmV0ZS5jcHAgKi8sCisJCQkJODRCMzQ5QTAyMkY4NkU3NDAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0
Q29uY3JldGUuaCAqLywKIAkJCQlDRENFNUNEMDE0NjMzQkM5MDBENDdDQ0EgLyogRXZlbnRUYXJn
ZXRGYWN0b3J5LmluICovLAogCQkJCTkzRDE5NjMyMUQ2Q0FCODIwMEZDN0U0NyAvKiBFeGNlcHRp
b24uaCAqLywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5o
ICovLApAQCAtMjkwOTIsNiArMjkwOTcsNyBAQAogCQkJCUU0QThEMjE2MjI1NzhEQjcwMEE4NDYz
QyAvKiBFdmVudFJlZ2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTBGRUYzNzJCMTdDNTNFQUMx
QzFGQkVFIC8qIEV2ZW50U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJFREI3QjBCMzA4
QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg0QjM0OUEy
MjJGODZFNzUwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0FBM0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJ
bnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjJFQzQxQTFEMDc4RkI5MDBCQTc4RkMg
LyogRXZlbnRUcmFja2luZ1JlZ2lvbnMuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAJKHJldmlz
aW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRD
dXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMSBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxFdmVudFRh
cmdldD4mJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxFdmVudFRhcmdldD4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHZhbHVlKSk7Cit9CisKIEV2ZW50VGFyZ2V0KiBKU0V2ZW50
VGFyZ2V0Ojp0b1dyYXBwZWQoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIGlmICh2YWx1
ZS5pbmhlcml0czxKU1dpbmRvd1Byb3h5Pih2bSkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMjQ4MjA0
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0J
KHdvcmtpbmcgY29weSkKQEAgLTcxOTIsNyArNzE5Miw2IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVj
dG9yRGVmaW5pdGlvbgogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7
XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTtcbiIpOwotICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTtcbiIpOwogICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8JHtj
b25zdHJ1Y3RvckNsYXNzTmFtZX0qPihzdGF0ZS0+anNDYWxsZWUoKSk7XG4iKTsKICAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBBU1NFUlQoY2FzdGVkVGhpcyk7XG4iKTsKIApA
QCAtNzIxNCw3ICs3MjEzLDE1IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgog
ICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgInRocm93
U2NvcGUiKSBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntDb25zdHJ1Y3Rvck1h
eVRocm93RXhjZXB0aW9ufTsKICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdGlvbkNvbnZlcnNp
b25Bcmd1bWVudHMsICJXVEZNb3ZlKG9iamVjdCkiKTsKIAotICAgICAgICAgICAgcHVzaChAJG91
dHB1dEFycmF5LCAiICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDwk
e0lETFR5cGV9PigiIC4gam9pbigiLCAiLCBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50
cykgLiAiKSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRv
IGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPCR7SURMVHlwZX0+KCIgLiBqb2luKCIsICIsIEBj
b25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzKSAuICIpO1xuIik7CisgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0
KCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAobmV3VGFy
Z2V0ICE9IGNhc3RlZFRoaXMpIHtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgICAgICBhdXRvKiBqc09iamVjdCA9IGFzT2JqZWN0KGpzVmFsdWUpO1xuIik7CisgICAg
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0
dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5l
d1RhcmdldCwganNPYmplY3QtPnN0cnVjdHVyZSh2bSkpO1xuIik7CisgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
eyB9KTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICBqc09i
amVjdC0+c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7XG4iKTsKKyAgICAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpO1xuIik7CiAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAgICAg
fQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIu
cG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVz
Q29tcGlsZXIucG0JKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvSW5GaWxlc0NvbXBpbGVyLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0yMzEsNiArMjMx
LDggQEAgc3ViIGdlbmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiAgICAgICAgICRzdWZmaXggPSAk
bmFtZXNwYWNlIC4gJHN1ZmZpeDsKICAgICB9CiAKKyAgICBwcmludCBGICIgICAgJHtzdWZmaXh9
ID0gMCxcbiI7CisKICAgICBteSAkY291bnQgPSAxOwogICAgIGZvciBteSAkY29uZGl0aW9uYWwg
KHNvcnQga2V5cyAlaW50ZXJmYWNlc0J5Q29uZGl0aW9uYWwpIHsKICAgICAgICAgbXkgJHByZWZl
cnJlZENvbmRpdGlvbmFsID0gJG9iamVjdC0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRpdGlv
bmFsKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHJldmlzaW9u
IDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU1LDcgKzE1NSw2IEBA
IHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAgICBWTSYgdm0g
PSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhp
cyA9IGpzQ2FzdDxKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IqPihzdGF0ZS0+anND
YWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShzdGF0
ZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCkBAIC0xNjUsNyArMTY0LDE1IEBAIHRlbXBsYXRlPD4g
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIGV2ZW50SW5pdERpY3QgPSBj
b252ZXJ0PElETERpY3Rpb25hcnk8VGVzdEV2ZW50Q29uc3RydWN0b3I6OkluaXQ+Pigqc3RhdGUs
IHN0YXRlLT5hcmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RFdmVudENvbnN0cnVj
dG9yOjpjcmVhdGUoV1RGTW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0
RXZlbnRDb25zdHJ1Y3Rvcj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBX
VEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElE
TEludGVyZmFjZTxUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmds
b2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3Rh
dGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAg
ICAgICBhdXRvKiBqc09iamVjdCA9IGFzT2JqZWN0KGpzVmFsdWUpOworICAgICAgICBhdXRvKiBz
dWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0
dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBqc09iamVjdC0+
c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RF
dmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZN
JiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQ4LDcgKzI0OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCAKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAg
ICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcio+
KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVO
TElLRUxZKHN0YXRlLT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTI2MSw3ICsyNjAsMTUgQEAg
dGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gc3RyMiA9
IHN0YXRlLT5hcmd1bWVudCgxKS5pc1VuZGVmaW5lZCgpID8gImRlZmF1bHRTdHJpbmciX3MgOiBj
b252ZXJ0PElETERPTVN0cmluZz4oKnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMSkp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7
CiAgICAgYXV0byBvYmplY3QgPSBUZXN0SW50ZXJmYWNlOjpjcmVhdGUoKmNvbnRleHQsIFdURk1v
dmUoc3RyMSksIFdURk1vdmUoc3RyMikpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9K
U05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEludGVyZmFjZT4+KCpzdGF0ZSwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0SW50ZXJm
YWNlPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdU
Rk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7
CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAgICAgIGF1dG8qIGpzT2Jq
ZWN0ID0gYXNPYmplY3QoanNWYWx1ZSk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJl
ID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5ld1Rh
cmdldCwganNPYmplY3QtPnN0cnVjdHVyZSh2bSkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzT2JqZWN0LT5zZXRTdHJ1Y3R1cmUodm0s
IHN1YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVj
dG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuY3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkyLDcgKzkyLDYgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAog
ewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBh
dXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0
cnVjdG9yKj4oc3RhdGUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAg
ICBpZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMTA0LDcgKzEw
MywxNSBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0
byBzdHIzID0gc3RhdGUtPmFyZ3VtZW50KDIpLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IGNv
bnZlcnQ8SURMRE9NU3RyaW5nPigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgyKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsK
ICAgICBhdXRvIG9iamVjdCA9IFRlc3ROYW1lZENvbnN0cnVjdG9yOjpjcmVhdGVGb3JKU0NvbnN0
cnVjdG9yKFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3RyMiksIFdURk1vdmUoc3RyMykpOwotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVz
dE5hbWVkQ29uc3RydWN0b3I+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwg
dGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05l
d2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5hbWVkQ29uc3RydWN0b3I+Pigqc3RhdGUsICpj
YXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsK
KyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFy
Z2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganNPYmplY3QgPSBhc09iamVjdChq
c1ZhbHVlKTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc09iamVjdC0+
c3RydWN0dXJlKHZtKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
eyB9KTsKKyAgICAgICAganNPYmplY3QtPnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1
cmUpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0
ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6
OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHJldmlzaW9uIDI0ODIwNCkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTksMTEgKzk5LDE4IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0o
dGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3ROb2RlQ29u
c3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwog
ICAgIGF1dG8gb2JqZWN0ID0gVGVzdE5vZGU6OmNyZWF0ZSgpOwotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pigqc3RhdGUs
ICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0
byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+Pigqc3Rh
dGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBh
dXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9
IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganNPYmplY3QgPSBhc09iamVjdChqc1ZhbHVl
KTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc09iamVjdC0+c3RydWN0
dXJlKHZtKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsK
KyAgICAgICAganNPYmplY3QtPnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOwor
ICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0
ZTw+IEpTVmFsdWUgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUo
SlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NDEsNyAr
MTk0MSw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKIHsKICAg
ICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byog
Y2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmpDb25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxl
ZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5h
cmd1bWVudENvdW50KCkgPCAyKSkKQEAgLTE5NTYsNyArMTk1NSwxNSBAQCB0ZW1wbGF0ZTw+IEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byB0ZXN0Q2FsbGJhY2tGdW5jdGlv
biA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uPj4o
KnN0YXRlLCBzdGF0ZS0+dW5jaGVja2VkQXJndW1lbnQoMSksICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3Bl
KSB7IHRocm93QXJndW1lbnRNdXN0QmVGdW5jdGlvbkVycm9yKHN0YXRlLCBzY29wZSwgMSwgInRl
c3RDYWxsYmFja0Z1bmN0aW9uIiwgIlRlc3RPYmplY3QiLCBudWxscHRyKTsgfSk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRv
IG9iamVjdCA9IFRlc3RPYmo6OmNyZWF0ZShkb2N1bWVudCwgdGVzdENhbGxiYWNrLnJlbGVhc2VO
b25OdWxsKCksIHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9i
aj4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkp
KTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0
T2JqPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5l
d1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAgICAgIGF1dG8qIGpzT2JqZWN0ID0gYXNPYmpl
Y3QoanNWYWx1ZSk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJlID0gSW50ZXJuYWxG
dW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5ld1RhcmdldCwganNPYmpl
Y3QtPnN0cnVjdHVyZSh2bSkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgICAgIGpzT2JqZWN0LT5zZXRTdHJ1Y3R1cmUodm0sIHN1YmNsYXNzU3Ry
dWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0K
IAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3Bw
CShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc5LDY1ICs3OSwxMDAgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RK
UwogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnND
b25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CiAgICAgYXV0byBhcnJheUJ1ZmZlciA9IGNvbnZlcnQ8SURMQXJyYXlCdWZmZXI+KCpzdGF0ZSwg
c3RhdGUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpT
Qzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihzdGF0ZSwgc2Nv
cGUsIDAsICJhcnJheUJ1ZmZlciIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxw
dHIsICJBcnJheUJ1ZmZlciIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYXJyYXlCdWZmZXIpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmpl
Y3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5u
ZXdUYXJnZXQoKTsKKyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAg
YXV0byoganNPYmplY3QgPSBhc09iamVjdChqc1ZhbHVlKTsKKyAgICAgICAgYXV0byogc3ViY2xh
c3NTdHJ1Y3R1cmUgPSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShz
dGF0ZSwgbmV3VGFyZ2V0LCBqc09iamVjdC0+c3RydWN0dXJlKHZtKSk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNPYmplY3QtPnNldFN0
cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNv
bnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMyKEV4ZWNTdGF0ZSogc3RhdGUpCiB7
CiAgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1
dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0
cnVjdG9yKj4oc3RhdGUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAg
ICBhdXRvIGFycmF5QnVmZmVyVmlldyA9IGNvbnZlcnQ8SURMQXJyYXlCdWZmZXJWaWV3Pigqc3Rh
dGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJyb3Ioc3RhdGUs
IHNjb3BlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
IiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZShhcnJheUJ1ZmZlclZpZXcucmVsZWFzZU5v
bk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElE
TEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUg
PSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkp
OworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdU
YXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAgICAgICBhdXRvKiBqc09iamVjdCA9IGFzT2JqZWN0
KGpzVmFsdWUpOworICAgICAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVu
Y3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzT2JqZWN0
LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOworICAgICAgICBqc09iamVjdC0+c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVj
dHVyZSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yczMoRXhlY1N0YXRlKiBzdGF0ZSkKIHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0o
KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBV
TlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUo
KSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gYmxvYiA9IGNvbnZlcnQ8SURM
SW50ZXJmYWNlPEJsb2I+Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10o
SlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJn
dW1lbnRUeXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAwLCAiYmxvYiIsICJUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycyIsIG51bGxwdHIsICJCbG9iIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKCpibG9iKTsKLSAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUo
b2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJm
YWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xv
YmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0
ZS0+bmV3VGFyZ2V0KCk7CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAg
ICAgIGF1dG8qIGpzT2JqZWN0ID0gYXNPYmplY3QoanNWYWx1ZSk7CisgICAgICAgIGF1dG8qIHN1
YmNsYXNzU3RydWN0dXJlID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1
cmUoc3RhdGUsIG5ld1RhcmdldCwganNPYmplY3QtPnN0cnVjdHVyZSh2bSkpOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzT2JqZWN0LT5z
ZXRTdHJ1Y3R1cmUodm0sIHN1YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNChFeGVjU3RhdGUqIHN0YXRl
KQogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnND
b25zdHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CiAgICAgYXV0byBzdHJpbmcgPSBjb252ZXJ0PElETERPTVN0cmluZz4oKnN0YXRlLCBzdGF0ZS0+
dW5jaGVja2VkQXJndW1lbnQoMCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yczo6Y3JlYXRlKFdURk1vdmUoc3RyaW5nKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9i
amVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFj
ZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUt
Pm5ld1RhcmdldCgpOworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAgICAg
ICBhdXRvKiBqc09iamVjdCA9IGFzT2JqZWN0KGpzVmFsdWUpOworICAgICAgICBhdXRvKiBzdWJj
bGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJl
KHN0YXRlLCBuZXdUYXJnZXQsIGpzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBqc09iamVjdC0+c2V0
U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUg
Y29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczUoRXhlY1N0YXRlKiBzdGF0ZSkK
IHsKICAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAg
YXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29u
c3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwog
ICAgIGF1dG8gbG9uZ0FyZ3MgPSBjb252ZXJ0VmFyaWFkaWNBcmd1bWVudHM8SURMTG9uZz4oKnN0
YXRlLCAwKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1Zh
bHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNy
ZWF0ZShXVEZNb3ZlKGxvbmdBcmdzKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpz
dGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9ycz4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBX
VEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFyZ2V0ID0gc3RhdGUtPm5ld1RhcmdldCgp
OworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhpcykgeworICAgICAgICBhdXRvKiBqc09i
amVjdCA9IGFzT2JqZWN0KGpzVmFsdWUpOworICAgICAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVy
ZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKHN0YXRlLCBuZXdU
YXJnZXQsIGpzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBqc09iamVjdC0+c2V0U3RydWN0dXJlKHZt
LCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3I6OmNvbnN0cnVjdChFeGVjU3Rh
dGUqIHN0YXRlKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAkocmV2aXNpb24gMjQ4MjA0KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OCwyNiArNzgsNDAg
QEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogewogICAgIFZNJiB2
bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRU
aGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25z
dHJ1Y3Rvcio+KHN0YXRlLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAg
ICAgYXV0byBzZXF1ZW5jZU9mU3RyaW5ncyA9IHN0YXRlLT5hcmd1bWVudCgwKS5pc1VuZGVmaW5l
ZCgpID8gQ29udmVydGVyPElETFNlcXVlbmNlPElETERPTVN0cmluZz4+OjpSZXR1cm5UeXBleyB9
IDogY29udmVydDxJRExTZXF1ZW5jZTxJRExET01TdHJpbmc+Pigqc3RhdGUsIHN0YXRlLT51bmNo
ZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzZXF1ZW5jZU9mU3RyaW5ncykpOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+Pigqc3RhdGUsICpjYXN0ZWRU
aGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVl
ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2U+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RG
TW92ZShvYmplY3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQoKTsK
KyAgICBpZiAobmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganNPYmpl
Y3QgPSBhc09iamVjdChqc1ZhbHVlKTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUg
PSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFy
Z2V0LCBqc09iamVjdC0+c3RydWN0dXJlKHZtKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKKyAgICAgICAganNPYmplY3QtPnNldFN0cnVjdHVyZSh2bSwg
c3ViY2xhc3NTdHJ1Y3R1cmUpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UyKEV4ZWNTdGF0ZSogc3RhdGUpCiB7
CiAgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1
dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZUNvbnN0cnVjdG9yKj4oc3RhdGUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0
ZWRUaGlzKTsKICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqc3RhdGUs
IHN0YXRlLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzdHJpbmcpKTsK
LSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNl
PFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKnN0YXRlLCAqY2FzdGVk
VGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1
ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzV2l0aFNlcXVlbmNlPj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rk1vdmUob2JqZWN0KSk7CisgICAgYXV0byBuZXdUYXJnZXQgPSBzdGF0ZS0+bmV3VGFyZ2V0KCk7
CisgICAgaWYgKG5ld1RhcmdldCAhPSBjYXN0ZWRUaGlzKSB7CisgICAgICAgIGF1dG8qIGpzT2Jq
ZWN0ID0gYXNPYmplY3QoanNWYWx1ZSk7CisgICAgICAgIGF1dG8qIHN1YmNsYXNzU3RydWN0dXJl
ID0gSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUoc3RhdGUsIG5ld1Rh
cmdldCwganNPYmplY3QtPnN0cnVjdHVyZSh2bSkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgICAgIGpzT2JqZWN0LT5zZXRTdHJ1Y3R1cmUodm0s
IHN1YmNsYXNzU3RydWN0dXJlKTsKKyAgICB9CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpT
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcjo6Y29uc3Ry
dWN0KEV4ZWNTdGF0ZSogc3RhdGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE1OCw3ICsxNTgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgCiB7CiAgICAgVk0mIHZtID0gc3RhdGUtPnZtKCk7CiAgICAgYXV0byB0
aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRo
cm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0UHJvbWlzZVJl
amVjdGlvbkV2ZW50Q29uc3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJU
KGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwg
MikpCkBAIC0xNjksNyArMTY4LDE1IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCAKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1Zh
bHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6Y3Jl
YXRlKCpzdGF0ZSwgV1RGTW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7CiAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQ+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4+KCpzdGF0ZSwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGF1dG8gbmV3VGFy
Z2V0ID0gc3RhdGUtPm5ld1RhcmdldCgpOworICAgIGlmIChuZXdUYXJnZXQgIT0gY2FzdGVkVGhp
cykgeworICAgICAgICBhdXRvKiBqc09iamVjdCA9IGFzT2JqZWN0KGpzVmFsdWUpOworICAgICAg
ICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNs
YXNzU3RydWN0dXJlKHN0YXRlLCBuZXdUYXJnZXQsIGpzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgICAgICBq
c09iamVjdC0+c2V0U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7CisgICAgfQorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1
ZSBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3Ry
dWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDYgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIAogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdFR5cGVkZWZzQ29u
c3RydWN0b3IqPihzdGF0ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwog
ICAgIGlmIChVTkxJS0VMWShzdGF0ZS0+YXJndW1lbnRDb3VudCgpIDwgMykpCkBAIC0xNTgsNyAr
MTU3LDE1IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBh
dXRvIHRlc3RDYWxsYmFja0ludGVyZmFjZSA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tJbnRlcmZhY2U8
SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U+Pigqc3RhdGUsIHN0YXRlLT51bmNoZWNrZWRBcmd1bWVu
dCgyKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudE11c3RCZUZ1bmN0aW9u
RXJyb3Ioc3RhdGUsIHNjb3BlLCAyLCAidGVzdENhbGxiYWNrSW50ZXJmYWNlIiwgIlRlc3RUeXBl
ZGVmcyIsIG51bGxwdHIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdFR5cGVkZWZzOjpjcmVh
dGUoV1RGTW92ZShoZWxsbyksIHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCks
IHRlc3RDYWxsYmFja0ludGVyZmFjZS5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVmcz4+
KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsK
KyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0VHlw
ZWRlZnM+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmpl
Y3QpKTsKKyAgICBhdXRvIG5ld1RhcmdldCA9IHN0YXRlLT5uZXdUYXJnZXQoKTsKKyAgICBpZiAo
bmV3VGFyZ2V0ICE9IGNhc3RlZFRoaXMpIHsKKyAgICAgICAgYXV0byoganNPYmplY3QgPSBhc09i
amVjdChqc1ZhbHVlKTsKKyAgICAgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUgPSBJbnRlcm5h
bEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZShzdGF0ZSwgbmV3VGFyZ2V0LCBqc09i
amVjdC0+c3RydWN0dXJlKHZtKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKKyAgICAgICAganNPYmplY3QtPnNldFN0cnVjdHVyZSh2bSwgc3ViY2xhc3NT
dHJ1Y3R1cmUpOworICAgIH0KKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwog
fQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6cHJvdG90
eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCShyZXZpc2lvbiAy
NDgyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRDb25jcmV0ZS5oIgog
I2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxIdG1sRWxlbWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAtNTgsNiArNTksMTEg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEV2ZW50
VGFyZ2V0KTsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhKTsKIAorUmVmPEV2ZW50VGFyZ2V0PiBFdmVudFRhcmdldDo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIEV2ZW50VGFyZ2V0Q29uY3Jl
dGU6OmNyZWF0ZShjb250ZXh0KTsKK30KKwogYm9vbCBFdmVudFRhcmdldDo6aXNOb2RlKCkgY29u
c3QKIHsKICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAko
cmV2aXNpb24gMjQ4MjA0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDggQEAgcHVibGljOgogY2xhc3MgRXZlbnRUYXJnZXQg
OiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEV2
ZW50VGFyZ2V0KTsKIHB1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEV2ZW50VGFyZ2V0PiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworCiAgICAgdm9pZCByZWYoKSB7IHJlZkV2ZW50VGFy
Z2V0KCk7IH0KICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZkV2ZW50VGFyZ2V0KCk7IH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCShyZXZpc2lvbiAyNDgyMDQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw2ICsx
OSw4IEBACiAgKi8KIAogWworICAgIENvbnN0cnVjdG9yLAorICAgIENvbnN0cnVjdG9yQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIElzSW1tdXRhYmxlUHJvdG90eXBlRXhvdGljT2Jq
ZWN0T25Qcm90b3R5cGUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25j
cmV0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29u
Y3JldGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dENvbmNyZXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+Lgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRDb25j
cmV0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChFdmVudFRhcmdldENvbmNyZXRlKTsKKworUmVmPEV2ZW50VGFyZ2V0Q29uY3JldGU+IEV2
ZW50VGFyZ2V0Q29uY3JldGU6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50VGFyZ2V0Q29uY3JldGUoY29udGV4
dCkpOworfQorCitFdmVudFRhcmdldENvbmNyZXRlOjpFdmVudFRhcmdldENvbmNyZXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcigmY29udGV4dCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldENvbmNyZXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBbGV4ZXkgU2h2YXlrYSA8
c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRlcmZhY2VzLmgiCisjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBFdmVudFRhcmdldENvbmNyZXRlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRUYXJn
ZXRDb25jcmV0ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlIENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEV2
ZW50VGFyZ2V0Q29uY3JldGUpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RXZlbnRUYXJnZXRD
b25jcmV0ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKworICAgIHVzaW5nIFJl
ZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkOjpkZXJlZjsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBFdmVudFRhcmdldENvbmNyZXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
KTsKKworICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7IH0KKworICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAg
dm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9ldmVudF9mYWN0
b3J5LnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3Rv
cnkucGwJKHJldmlzaW9uIDI0ODIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50
X2ZhY3RvcnkucGwJKHdvcmtpbmcgY29weSkKQEAgLTEzNSwxMyArMTM1LDE0IEBAIHN1YiBnZW5l
cmF0ZUltcGxlbWVudGF0aW9uKCkKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iIGlmICRjb25k
aXRpb25hbDsKICAgICB9CiAKLSAgICBwcmludCBGICIgICAgfVxuIjsKKyAgICBwcmludCBGICIg
ICAgZGVmYXVsdDpcbiI7CiAgICAgaWYgKCRmYWN0b3J5RnVuY3Rpb24gZXEgInRvTmV3bHlDcmVh
dGVkIikgewotICAgICAgICBwcmludCBGICIgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JG5hbWVz
cGFjZT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTtcbiI7CisgICAgICAgIHByaW50IEYg
IiAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8JG5hbWVzcGFjZT4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKTtcbiI7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcHJpbnQgRiAiICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpO1xuIjsKLSAgICAgICAgcHJpbnQgRiAiICAgIHJldHVybiBKU0M6
OmpzTnVsbCgpO1xuIjsKKyAgICAgICAgcHJpbnQgRiAiICAgICAgICByZXR1cm4gd3JhcChzdGF0
ZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKTtcbiI7CiAgICAgfQorCisgICAgcHJpbnQgRiAiICAgIH1c
biI7CiAgICAgcHJpbnQgRiAifVxuIjsKICAgICBwcmludCBGICJcbiI7CiAgICAgcHJpbnQgRiAi
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuIjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0ODIwNCkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisy
MDE5LTA4LTA1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAg
ICAgICBJbXBsZW1lbnQgRXZlbnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1s
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorCiAyMDE5LTA4LTAzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50czogU3R5bGVzOiBhZGQgaWNvbnMgZm9y
IHZhcmlvdXMgQ1NTIHJ1bGUgdHlwZXMKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDgyMDQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtOCw3ICs4LDYgQEAgUEFTUyBUcnlBbGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScp
IGlzICdleAogUEFTUyBUcnlBbGxvY2F0ZSgnQ0RBVEFTZWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicK
IFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50VHlwZScpIGlzICdleGNlcHRpb24nCiBQQVNTIFRy
eUFsbG9jYXRlKCdFbGVtZW50JykgaXMgJ2V4Y2VwdGlvbicKLVBBU1MgVHJ5QWxsb2NhdGUoJ0V2
ZW50VGFyZ2V0JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0hUTUxEb2N1bWVu
dCcpIGlzICdleGNlcHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdOb2RlJykgaXMgJ2V4Y2VwdGlv
bicKIFBBU1MgVHJ5QWxsb2NhdGUoJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicpIGlzICdleGNlcHRp
b24nCkBAIC0xMzEsNiArMTMwLDkgQEAgUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnQnKSBpcyAn
W29iamVjdAogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdbb2JqZWN0
IERvY3VtZW50RnJhZ21lbnRdJwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRGcmFnbWVudCcp
IGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRdJwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1l
bnRGcmFnbWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRdJworUEFTUyBUcnlBbGxv
Y2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVjdCBFdmVudFRhcmdldF0nCitQQVNTIFRyeUFs
bG9jYXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0IEV2ZW50VGFyZ2V0XScKK1BBU1MgVHJ5
QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJwogUEFTUyBU
cnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCiBQQVNTIFRyeUFsbG9jYXRl
KCdSYW5nZScpIGlzICdbb2JqZWN0IFJhbmdlXScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykg
aXMgJ1tvYmplY3QgUmFuZ2VdJwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0
cnVjdG9ycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25z
dHJ1Y3RvcnMuaHRtbAkocmV2aXNpb24gMjQ4MjA0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
ZG9tLWNvbnN0cnVjdG9ycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw2IEBAIHZh
ciBvYmplY3RzX2V4Y2VwdGlvbiA9IFsKICAgICAnQ0RBVEFTZWN0aW9uJywKICAgICAnRG9jdW1l
bnRUeXBlJywKICAgICAnRWxlbWVudCcsCi0gICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnSFRNTERv
Y3VtZW50JywKICAgICAnTm9kZScsCiAgICAgJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicsCkBAIC0x
MzIsNiArMTMxLDcgQEAgdmFyIG9iamVjdHNfY29uc3RydWN0b3IgPSBbCiAgICAgJ0RPTVBhcnNl
cicsCiAgICAgJ0RvY3VtZW50JywKICAgICAnRG9jdW1lbnRGcmFnbWVudCcsCisgICAgJ0V2ZW50
VGFyZ2V0JywKICAgICAnUmFuZ2UnLAogICAgICdUZXh0JywKICAgICAnWE1MSHR0cFJlcXVlc3Qn
LApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDgyNzEpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTktMDgtMDUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21h
aWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRhcmdldCBjb25zdHJ1Y3RvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MzEzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJn
ZXQtY29uc3RydWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2Vz
LWV4cGVjdGVkLnR4dDoKKwogMjAxOS0wNy0yNCAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZDogQWRkZWQgbWlzc2luZyBleHBlY3Rh
dGlvbiBmaWxlIGZvciB2aWRlb19jcmFzaF9lbXB0eV9zcmMuaHRtbApJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODIwNCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFj
ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsMTQgKzExNywxNCBAQCBQQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuCiBQQVNTIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3Rl
bmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAKIFBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50
TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkaXNwYXRjaEV2ZW50KEV2ZW50KSAKLUZBSUwgRXZl
bnRUYXJnZXQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRXZlbnRUYXJnZXQoKSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
bmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
VHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFk
ZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
VHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRU
YXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3Ry
aW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJy
b3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRU
YXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2Jq
ZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24g
d2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBl
RXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZl
bnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdl
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudChFdmVudCkiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZh
bHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBm
dW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0
KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQo
RXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJn
ZXQoKScpIgorUEFTUyBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5l
dyBFdmVudFRhcmdldCgpIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0
KCkgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5l
ciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0p
IG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZl
bnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2Jq
ZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2
ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGlu
ZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBFdmVudExpc3RlbmVyIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDgyMDQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMSArNDEsMTEgQEAgUEFT
UyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChudWxsIAogUEFTUyBDb21wb3NpdGlvbkV2
ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCiBQQVNTIENvbXBvc2l0aW9uRXZlbnQg
Y29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBDb21wb3Np
dGlvbkV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykg
Ci1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3Ry
dWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkg
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVu
dCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdp
dGggZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQot
RkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1
bHQgdmFsdWVzKSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU3Vi
Y2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRF
dmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2
ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNv
bnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1
Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCitQQVNTIFN1YmNsYXNzZWRFdmVu
dCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBV
SUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3VtZW50IHdpdGggd3JvbmcgdHlwZSkgCiAKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4
MjA0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0
IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpCi1GQUlMIEV2ZW50VGFyZ2V0IGNhbiBiZSBz
dWJjbGFzc2VkIGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBl
ciguLi5hcmdzKScpCitQQVNTIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQg
YXMgZXhwZWN0ZWQgCitQQVNTIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIAogCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjQ4MjA0KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgQSBjb25z
dHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCBmdW5jdGlvbiBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKQotRkFJTCBF
dmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnc3VwZXIoLi4uYXJncyknKQorUEFTUyBBIGNvbnN0cnVjdGVkIEV2ZW50
VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIAorUEFTUyBFdmVudFRhcmdldCBjYW4gYmUg
c3ViY2xhc3NlZCAKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVj
dG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFz
c2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODIwNCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShub25leGlz
dGVudCkKQEAgLTEsNTEgKzAsMCBAQAotCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1
bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFT
UyBFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVj
dG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdp
dGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJn
dW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAot
UEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgVUlFdmVudCBj
b25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChh
cmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlFdmVudCBjb25zdHJ1Y3RvciAo
YXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0
cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKHVuZGVm
aW5lZCBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1l
bnQpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNT
IEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAot
UEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZh
bHVlcykgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKLVBBU1Mg
TW91c2VFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKLVBBU1MgTW91c2VF
dmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3Ry
dWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAoYXJn
dW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0b3Ig
KGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgV2hlZWxFdmVudCBjb25z
dHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yICh1bmRl
ZmluZWQgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3Vt
ZW50KSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFT
UyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAK
LVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2
YWx1ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1Q
QVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNT
IEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBLZXlib2Fy
ZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQg
Y29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBLZXlib2Fy
ZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1Q
QVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKLVBBU1MgQ29t
cG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKLVBBU1MgQ29t
cG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNTIENvbXBvc2l0
aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25F
dmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIENv
bXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFs
dWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBj
b25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3Vt
ZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3Nl
ZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1l
bnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24t
ZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotUEFT
UyBVSUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3VtZW50IHdpdGggd3JvbmcgdHlwZSkgCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390756</attachid>
            <date>2020-02-14 05:24:09 -0800</date>
            <delta_ts>2020-02-14 07:11:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20200214152407.patch</filename>
            <type>text/plain</type>
            <size>63741</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJjMjcyYWM5MGFiMDRk
MDBhZDAyMDBiMzUwODIxOGQ2MzI2ZjU4ZS4uOWRmYzE2NjIwMmM3OWQyODc0NDljNzc3NTYwNWU0
NTNkZmU2YWZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIwLTAyLTE0ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkg
Y29uc3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUg
c3BlYyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0
d2cvZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNs
YXNzaW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0
IGFuZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRh
cmdldENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50
VGFyZ2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4g
V2UgZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJh
Y3QKKyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFi
bGUgZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAg
ICAgICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9y
IHRoZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRv
IGFsbG93IHN1YmNsYXNzaW5nLCBub24tY3VzdG9tIGNvbnN0cnVjdG9ycyByZXBsYWNlIHN0cnVj
dHVyZXMgb2YgbmV3bHkgY3JlYXRlZCB3cmFwcGVyIG9iamVjdHMKKyAgICAgICAgd2l0aCBvbmVz
IHJldHVybmVkIGJ5IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlLiBQ
ZXIgV2ViSURMIHNwZWMgWzFdLAorICAgICAgICBgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRl
ZGAgaGVscGVyIHVzZXMgcmVhbG0gb2YgYG5ld1RhcmdldGAgZm9yIGRlZmF1bHQgcHJvdG90eXBl
cy4KKworICAgICAgICBUaGlzIGFwcHJvYWNoIHdhcyBjaG9zZW4gYmVjYXVzZSBhKSBkZXRlY3Rp
bmcgW1tDb25zdHJ1Y3RdXSB3aXRoIGNhbGxGcmFtZS0+bmV3VGFyZ2V0KCkgaXMKKyAgICAgICAg
dW5yZWxpYWJsZSBvdXRzaWRlIGNvbnN0cnVjdG9yLCBhbmQgYikgcGFzc2luZyBgbmV3VGFyZ2V0
YCBkb3duIHRvIGBjcmVhdGVXcmFwcGVyYCB2aWEKKyAgICAgICAgYHRvSlNOZXdseUNyZWF0ZWRg
IGlzIHF1aXRlIGF3a3dhcmQgYW5kIHdvdWxkIHJlc3VsdCBpbiBtYXNzaXZlIGNvZGUgY2hhbmdl
LgorCisgICAgICAgIFRvIHByZXZlbnQgZGVmaW5pdGlvbiBvZiBFdmVudFRhcmdldENvbmNyZXRl
LXNwZWNpZmljIGB0b0pTYCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAg
ICAgd2UgZG9uJ3QgZGVmaW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1
dCByYXRoZXIgdHdlYWsgbWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQg
dG8gYmFzZSBpbnRlcmZhY2UgKGxpa2UgaXQgZG9lcyBmb3IgRXZlbnQpLgorCisgICAgICAgIFsx
XSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpbnRlcm5hbGx5LWNyZWF0ZS1hLW5l
dy1vYmplY3QtaW1wbGVtZW50aW5nLXRoZS1pbnRlcmZhY2UKKyAgICAgICAgKHN0ZXAgMy4zLjIp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50
LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxl
LmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9pZGxoYXJuZXNzLndpbmRvdy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZCk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbToKKyAgICAgICAgKGdl
bmVyYXRlSW50ZXJmYWNlc0hlYWRlcik6IEFkZCBiYXNlIGludGVyZmFjZSB0eXBlLgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBBZGp1c3QgYmluZGluZ3MgZXhwZWN0YXRp
b25zLgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudFRhcmdldDo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAg
ICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldENvbmNy
ZXRlLmNwcDogQWRkZWQuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaDogQWRk
ZWQuCisgICAgICAgICogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbDoKKyAgICAgICAgKGdlbmVy
YXRlSW1wbGVtZW50YXRpb24pOiBXcmFwIGJhc2UgaW50ZXJmYWNlIHR5cGUuCisKIDIwMjAtMDIt
MTIgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtD
dXJsXSBGb3JjZSBIVFRQLzEuMSBmb3IgV2ViU29ja2V0IGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCmluZGV4IGFmODc3N2UzZjA1YmZiM2EyZGFiNDA3OGZlNmRhODBlNGU3ZDIyNjAuLmJiMDhh
ZDc4OThkYWVkYmZhMmJmMzYxOGU1YTc1NzA3NTVlYTZkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpA
QCAtNDAyLDYgKzQwMiw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBkb20vRXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVldWUuaAogICAgIGRvbS9FdmVu
dFRhcmdldC5oCisgICAgZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaAogICAgIGRvbS9FeGNlcHRp
b24uaAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmgKICAgICBkb20vRXhjZXB0aW9uRGF0YS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDM5NzYxMzRkYjhlMWU2ZTNmY2E3MDg5YTUxZjMwZjZmYjljYmMxMzEu
LjE1ZjZmMDNmNDI3NGNmNzQ4OWMzZTlmNzIyZGQ5YTY5ZDg5MGM3ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC04ODEsNiArODgxLDcgQEAgZG9tL0V2ZW50TG9vcC5jcHAKIGRvbS9FdmVudE5hbWVzLmNw
cAogZG9tL0V2ZW50UGF0aC5jcHAKIGRvbS9FdmVudFRhcmdldC5jcHAKK2RvbS9FdmVudFRhcmdl
dENvbmNyZXRlLmNwcAogZG9tL0V4Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVT
aGVldHMuY3BwCiBkb20vRm9jdXNFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMjRjYTM1NGQ2Yzk3NDRkOTE4YzY1
ZGZhMWE3ZDQ2YzI0MDdiZDIwLi5iNmFiZWExYWQyNDI5MjNhNDJjMTljMDdiOTcyZjNlZmZkZThm
NjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yNTIwLDYgKzI1MjAsNyBAQAogCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQg
LyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NDlGNzc3NTBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBs
aWVyLmggKi87IH07CiAJCTg0QTgxRjNFMEZDN0RGRjAwMDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRBODFGM0Mw
RkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFscGhhLmggKi87IH07CiAJCTg0QTgxRjQyMEZDN0Uw
MjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3Jh
cGhpYy5oICovOyB9OworCQk4NEIzNDlBMjIyRjg2RTc1MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRD
b25jcmV0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODRCMzQ5QTAyMkY4NkU3NDAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCAqLzsgfTsK
IAkJODRCNkI5NzgxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEI2Qjk3NjEyMEYx
M0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCAqLzsgfTsKIAkJODRDNUIyRkIx
MjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QzVCMkY5MTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggKi87IH07CiAJCTg0QzY3
ODREMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRoQmxlbmRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRDNjc4NEIxMjE0ODE0NzAwQTkyOTAyIC8q
IFNWR1BhdGhCbGVuZGVyLmggKi87IH07CkBAIC0xMDQwMCw2ICsxMDQwMSw4IEBACiAJCTg0QTgx
RjNGMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUdyYXBoaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VHcmFwaGljLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjJCMjRGMDU2QkYxNUYwMEQyQjc3MSAvKiBTU0xL
ZXlHZW5lcmF0b3JNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBTU0xLZXlHZW5lcmF0b3JNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQk4NEIzNDlBMDIyRjg2
RTc0MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldENvbmNyZXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGFyZ2V0Q29u
Y3JldGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEI2MjY4NDEzMzEzOEY5
MDA5NUE0ODkgLyogRm9udFBsYXRmb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGb250UGxhdGZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODRCNkI5NzUxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0
U291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNkI5NzYxMjBGMTNF
NTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yODEzOCw2ICsyODE0MSw4IEBACiAJCQkJRTEyRURCRTkwQjMwOEUwQjAwMjcw
NEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCAqLywKIAkJCQlFMTJFREI3QTBCMzA4QTc4MDAyNzA0QjYg
LyogRXZlbnRUYXJnZXQuaCAqLywKIAkJCQk4NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZl
bnRUYXJnZXQuaWRsICovLAorCQkJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRh
cmdldENvbmNyZXRlLmNwcCAqLywKKwkJCQk4NEIzNDlBMDIyRjg2RTc0MDBENDdCQ0YgLyogRXZl
bnRUYXJnZXRDb25jcmV0ZS5oICovLAogCQkJCUNEQ0U1Q0QwMTQ2MzNCQzkwMEQ0N0NDQSAvKiBF
dmVudFRhcmdldEZhY3RvcnkuaW4gKi8sCiAJCQkJOTNEMTk2MzIxRDZDQUI4MjAwRkM3RTQ3IC8q
IEV4Y2VwdGlvbi5oICovLAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRp
b25Db2RlLmggKi8sCkBAIC0yOTc5OSw2ICsyOTgwNCw3IEBACiAJCQkJRTRBOEQyMTYyMjU3OERC
NzAwQTg0NjNDIC8qIEV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMEZFRjM3MkIx
N0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkVE
QjdCMEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVu
dFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkw
MEJBNzhGQyAvKiBFdmVudFRyYWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAppbmRleCA1ZGZjZGNi
ZmMwNDhiMjJkNGFkNDhlYzg0ODgwNGE1MmVjODc3ZmQyLi4xYzhhNmMzYWQ0NTQ5ZmQ3ZDhkMGYx
ZTgxNGMyOTE0ZWRkNDY3YjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXJDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlckNhY2hlLmgKQEAgLTIwMSw0ICsyMDEsMjMgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
RE9NQ2xhc3M+IGlubGluZSBKU0M6OkpTVmFsdWUgd3JhcChKU0M6OkpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2EKICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZChsZXhpY2FsR2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QsIFJlZjxET01DbGFzcz4oZG9tT2JqZWN0KSk7CiB9CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIERPTUNsYXNzPiBpbmxpbmUgdm9pZCBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlKQoreworICAgIEpTQzo6SlNWYWx1ZSBu
ZXdUYXJnZXQgPSBjYWxsRnJhbWUtPm5ld1RhcmdldCgpOworICAgIEpTQzo6SlNPYmplY3QqIGNv
bnN0cnVjdG9yID0gY2FsbEZyYW1lLT5qc0NhbGxlZSgpOworICAgIGlmICghbmV3VGFyZ2V0IHx8
IG5ld1RhcmdldCA9PSBjb25zdHJ1Y3RvcikKKyAgICAgICAgcmV0dXJuOworCisgICAgdXNpbmcg
V3JhcHBlckNsYXNzID0gdHlwZW5hbWUgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPERPTUNs
YXNzPjo6V3JhcHBlckNsYXNzOworCisgICAgSlNDOjpWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKwor
ICAgIGF1dG8qIG5ld1RhcmdldEdsb2JhbE9iamVjdCA9IEpTQzo6anNDYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4oYXNPYmplY3QobmV3VGFyZ2V0KS0+Z2xvYmFsT2JqZWN0KHZtKSk7CisgICAgYXV0
byogYmFzZVN0cnVjdHVyZSA9IGdldERPTVN0cnVjdHVyZTxXcmFwcGVyQ2xhc3M+KHZtLCAqbmV3
VGFyZ2V0R2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEpTQzo6
SW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUobGV4aWNhbEdsb2JhbE9i
amVjdCwgY29uc3RydWN0b3IsIG5ld1RhcmdldCwgYmFzZVN0cnVjdHVyZSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKyAgICBhc09iamVjdChqc1ZhbHVlKS0+c2V0
U3RydWN0dXJlKHZtLCBzdWJjbGFzc1N0cnVjdHVyZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJn
ZXRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1
c3RvbS5jcHAKaW5kZXggYjQ3YWNmNzU2OTUxOTM3MzA0ZjhmM2EzNmZlNTlhYzM1ZjYwNjI4YS4u
NjgyMWNiZWRkMGY0YWQ3YTE5MGY4YWEzZDhmNzM2ODk2MWQ4NmYwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKQEAgLTQzLDYg
KzQzLDExIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCitK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBSZWY8RXZlbnRUYXJnZXQ+JiYgdmFsdWUpCit7CisgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8RXZlbnRUYXJnZXQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkp
OworfQorCiBFdmVudFRhcmdldCogSlNFdmVudFRhcmdldDo6dG9XcmFwcGVkKFZNJiB2bSwgSlNW
YWx1ZSB2YWx1ZSkKIHsKICAgICBpZiAodmFsdWUuaW5oZXJpdHM8SlNXaW5kb3dQcm94eT4odm0p
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQppbmRleCA2ZDcyMWE4ZGY4NzgyMjY1MzM0N2RlMmY4MmJhMjU1MjI1ZWM1OTc2Li5mOTNh
YjQ1YTY5MWViMTBmYjA1M2EwNzc2Mjk3NjI0MGM5NzdiYTczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNzMzMyw3ICs3
MzMzLDYgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICJ7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpO1xuIik7CiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PCR7Y29uc3RydWN0b3JDbGFz
c05hbWV9Kj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgIEFTU0VSVChjYXN0ZWRUaGlzKTtcbiIpOwogCkBAIC03MzU0LDYg
KzczNTMsNyBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KICAgICAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpO1xuIikgaWYgJGNvZGVHZW5lcmF0b3ItPkV4dGVuZGVkQXR0cmli
dXRlQ29udGFpbnMoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q29uc3RydWN0b3JD
YWxsV2l0aH0sICJFeGVjU3RhdGUiKTsKIAogICAgICAgICAgICAgbXkgJElETFR5cGUgPSBHZXRJ
RExUeXBlKCRpbnRlcmZhY2UsICRpbnRlcmZhY2UtPnR5cGUpOworICAgICAgICAgICAgbXkgJGlt
cGxUeXBlID0gR2V0SW1wbENsYXNzTmFtZSgkaW50ZXJmYWNlKTsKIAogICAgICAgICAgICAgQWRk
VG9JbXBsSW5jbHVkZXMoIkpTRE9NQ29udmVydEludGVyZmFjZS5oIik7CiAKQEAgLTczNjMsNyAr
NzM2MywxMCBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KICAgICAgICAgICAg
IHB1c2goQGNvbnN0cnVjdGlvbkNvbnZlcnNpb25Bcmd1bWVudHMsICJ0aHJvd1Njb3BlIikgaWYg
JGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q29uc3RydWN0b3JNYXlUaHJvd0V4Y2Vw
dGlvbn07CiAgICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRz
LCAiV1RGTW92ZShvYmplY3QpIik7CiAKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8JHtJRExUeXBlfT4o
IiAuIGpvaW4oIiwgIiwgQGNvbnN0cnVjdGlvbkNvbnZlcnNpb25Bcmd1bWVudHMpIC4gIikpO1xu
Iik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byBqc1ZhbHVlID0g
dG9KU05ld2x5Q3JlYXRlZDwke0lETFR5cGV9PigiIC4gam9pbigiLCAiLCBAY29uc3RydWN0aW9u
Q29udmVyc2lvbkFyZ3VtZW50cykgLiAiKTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8JHtpbXBsVHlwZX0+KGxl
eGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7XG4iKTsKKyAgICAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IHsgfSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQppbmRleCA5MDllOGJlNzYwZGI3
ZmI5YzdjYjFhZjc2MDRhNWY5Nzk3MGI4MTFjLi45MDZjYjBlNTUzNGI2ZTQ1YTBkNWExZWZmMDli
Y2MzZmQ4ZGMwNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0luRmlsZXNDb21waWxlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0luRmlsZXNDb21waWxlci5wbQpAQCAtMjQzLDYgKzI0MywxMSBAQCBzdWIgZ2VuZXJhdGVJbnRl
cmZhY2VzSGVhZGVyKCkKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4iOwogICAgIH0KIAorICAg
IGlmICgkbmFtZXNwYWNlIGVxICJFdmVudFRhcmdldCIpIHsKKyAgICAgICAgcHJpbnQgRiAiICAg
ICR7c3VmZml4fSA9ICRjb3VudCxcbiI7CisgICAgICAgICRjb3VudCsrOworICAgIH0KKwogICAg
IGZvciBteSAkaW50ZXJmYWNlIChzb3J0IGtleXMgJXVuY29uZGl0aW9uYWxJbnRlcmZhY2VzKSB7
CiAgICAgICAgIHByaW50IEYgIiAgICAke2ludGVyZmFjZX0ke3N1ZmZpeH0gPSAkY291bnQsXG4i
OwogICAgICAgICAkY291bnQrKzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcApp
bmRleCA4Nzc1NTcxOWM5NGQzMGQ2Y2RlMDBlZWIxYTdmOWI1NzJhYjgyZDljLi5lMTFkZjIwNDg3
MzFiMjg2NmRlYjFlNGI5NzExYWFmZTVmMTM2MzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuY3BwCkBAIC0xNTksNyArMTU5LDYgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6Y29uc3QK
IHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdEV2ZW50Q29uc3Ry
dWN0b3JDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNh
c3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8
IDEpKQpAQCAtMTY5LDcgKzE2OCwxMCBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpjb25zdAogICAgIGF1
dG8gZXZlbnRJbml0RGljdCA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxUZXN0RXZlbnRDb25zdHJ1
Y3Rvcjo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPmFyZ3VtZW50KDEp
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
OwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdEV2ZW50Q29uc3RydWN0b3I6OmNyZWF0ZShXVEZNb3Zl
KHR5cGUpLCBXVEZNb3ZlKGV2ZW50SW5pdERpY3QpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RFdmVudENvbnN0cnVjdG9yPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92
ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdEV2ZW50Q29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1YmNsYXNz
U3RydWN0dXJlSWZOZWVkZWQ8VGVzdEV2ZW50Q29uc3RydWN0b3I+KGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OnByb3Rv
dHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKaW5kZXggZGEwNTU1OTg1NWFhMGM2MWJm
YzUyMzUwYmJhMTUzNDAxNTUxMjAxZi4uNjgwZDdjNGEyNGY1M2RiNzhlZGJhM2RjMDY1YzMzZDlh
NTQ3OWI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKQEAgLTI1OCw3ICsyNTgsNiBAQCB0ZW1w
bGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0SW50ZXJmYWNlQ29uc3Ry
dWN0b3I6OmNvbnN0cnVjdChKUwogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qt
PnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0g
ICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nh
c3Q8SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwog
ICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1
bWVudENvdW50KCkgPCAxKSkKQEAgLTI3MSw3ICsyNzAsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpjb25zdHJ1
Y3QoSlMKICAgICBhdXRvIHN0cjIgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVk
KCkgPyAiZGVmYXVsdFN0cmluZyJfcyA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgxKSk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9i
amVjdCA9IFRlc3RJbnRlcmZhY2U6OmNyZWF0ZSgqY29udGV4dCwgV1RGTW92ZShzdHIxKSwgV1RG
TW92ZShzdHIyKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVk
PElETEludGVyZmFjZTxUZXN0SW50ZXJmYWNlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKSk7Cisg
ICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEludGVy
ZmFjZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJ
Zk5lZWRlZDxUZXN0SW50ZXJmYWNlPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpz
VmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUg
SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZN
JiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZENvbnN0cnVjdG9yLmNwcAppbmRleCBkNDYzZGQyMTY0YWQ3YjY3ZTNjZDM1MDY2ZWYx
Y2RjMDFhOGJiODljLi4yYmRhZTFiZDU3MGJiYjA2ZjhhN2UzNzJmMTIyYzFhMTM4YjkyNWJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCkBAIC05NCw3ICs5NCw2IEBAIHRl
bXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROYW1lZENvbnN0cnVj
dG9yTmFtZWRDb25zdHJ1Y3Rvcjo6CiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVj
dC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpz
Q2FzdDxKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+
anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShj
YWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMTA2LDcgKzEwNSwxMCBAQCB0ZW1w
bGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rv
ck5hbWVkQ29uc3RydWN0b3I6OgogICAgIGF1dG8gc3RyMyA9IGNhbGxGcmFtZS0+YXJndW1lbnQo
MikuaXNVbmRlZmluZWQoKSA/IFN0cmluZygpIDogY29udmVydDxJRExET01TdHJpbmc+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDIpKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1
dG8gb2JqZWN0ID0gVGVzdE5hbWVkQ29uc3RydWN0b3I6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3Io
V1RGTW92ZShzdHIxKSwgV1RGTW92ZShzdHIyKSwgV1RGTW92ZShzdHIzKSk7Ci0gICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0TmFtZWRD
b25zdHJ1Y3Rvcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9
IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3ROYW1lZENvbnN0cnVjdG9yPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29w
ZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRl
c3ROYW1lZENvbnN0cnVjdG9yPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzVmFs
dWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNU
ZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVy
ZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
b2RlLmNwcAppbmRleCBhMTQyYzA3MmJmZGNmMjg0M2M0ZTNjNjJjM2QwMjczYjhiMmQ2MDlkLi4z
Mjc2NWE0NTc5ZGM4MWYyYWYwZDcyM2Q4M2EwYzc2ZDhmMzkxYjI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCkBA
IC0xMDIsMTEgKzEwMiwxMyBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHbG9iYQogewogICAgIFZNJiB2
bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAg
IGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0Tm9kZUNvbnN0cnVjdG9yKj4oY2FsbEZy
YW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBvYmpl
Y3QgPSBUZXN0Tm9kZTo6Y3JlYXRlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0Tm9kZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1
dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3ROb2RlPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShv
YmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3ROb2RlPihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFs
dWUpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yOjpwcm90
b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGQyZjdlOTg3MWZlNDNlZWRmNDMzZWE4YWM0YWFl
NDIxMmFiMzFkNjUuLjM0MmYyMzI0ZGY3NjVkMmViZjZmMDUwODJiNTg4N2NkZjEyMTg1MTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
YmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCkBAIC0xOTQ4LDcgKzE5NDgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNUZXN0T2JqQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhbAog
ewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T2JqQ29uc3RydWN0
b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAg
ICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAyKSkKQEAgLTE5NjMs
NyArMTk2MiwxMCBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNU
ZXN0T2JqQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhbAogICAgIGF1dG8gdGVzdENhbGxi
YWNrRnVuY3Rpb24gPSBjb252ZXJ0PElETENhbGxiYWNrRnVuY3Rpb248SlNUZXN0Q2FsbGJhY2tG
dW5jdGlvbj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3Vt
ZW50KDEpLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFtdKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dB
cmd1bWVudE11c3RCZUZ1bmN0aW9uRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDEs
ICJ0ZXN0Q2FsbGJhY2tGdW5jdGlvbiIsICJUZXN0T2JqZWN0IiwgbnVsbHB0cik7IH0pOwogICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAg
YXV0byBvYmplY3QgPSBUZXN0T2JqOjpjcmVhdGUoZG9jdW1lbnQsIHRlc3RDYWxsYmFjay5yZWxl
YXNlTm9uTnVsbCgpLCB0ZXN0Q2FsbGJhY2tGdW5jdGlvbi5yZWxlYXNlTm9uTnVsbCgpKTsKLSAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRl
c3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVk
PElETEludGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVj
dHVyZUlmTmVlZGVkPFRlc3RPYmo+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNW
YWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBK
U1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IDMxMmZhMTg2MDFjODJjNTkyOWY3MTBk
NDg2NmY2MzVjOTg2MDc0YjAuLmRkOWQ1ZWRiYzlhZjhmNGMyMTVhM2E2OGQ4NjJhZmE3MmFlMGQ2
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKQEAg
LTgxLDY1ICs4MSw3NSBAQCBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpT
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMxKEpTR2xvYmFsT2JqZQogewogICAgIFZNJiB2bSA9
IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1
dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0
cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CiAgICAgYXV0byBhcnJheUJ1ZmZlciA9IGNvbnZlcnQ8SURMQXJyYXlCdWZmZXI+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6OkpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3Bl
KSB7IHRocm93QXJndW1lbnRUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDAs
ICJhcnJheUJ1ZmZlciIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxwdHIsICJB
cnJheUJ1ZmZlciIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM6OmNyZWF0ZSgqYXJyYXlCdWZmZXIpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZN
b3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETElu
dGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0
U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4
aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Zh
bHVlKTsKIH0KIAogc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVj
dCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9i
amVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9
IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxsRnJh
bWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIGFycmF5
QnVmZmVyVmlldyA9IGNvbnZlcnQ8SURMQXJyYXlCdWZmZXJWaWV3PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10oSlNDOjpKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJv
d0FyZ3VtZW50VHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAiYXJyYXlC
dWZmZXJWaWV3IiwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5
QnVmZmVyVmlldyIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM6OmNyZWF0ZShhcnJheUJ1ZmZlclZpZXcucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+
Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRv
SlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92
ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1Zh
bHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMzKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICBWTSYg
dm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnND
b25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRo
aXMpOwogICAgIGF1dG8gYmxvYiA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPEJsb2I+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10oSlNDOjpK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29w
ZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAw
LCAiYmxvYiIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxwdHIsICJCbG9iIik7
IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRl
KCpibG9iKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURM
SW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAg
YXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZO
ZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNh
bGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7
IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHN0YXRpYyBp
bmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
czQoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZy
YW1lKQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0
byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFN
KHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAg
ICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBzdHJpbmcgPSBjb252ZXJ0PElETERPTVN0
cmluZz4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQo
MCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRl
KFdURk1vdmUoc3RyaW5nKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlD
cmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRU
aGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0
cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQog
CiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnM1KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJh
bWUqIGNhbGxGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgp
OwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVO
VVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpT
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxs
ZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gbG9uZ0FyZ3MgPSBjb252
ZXJ0VmFyaWFkaWNBcmd1bWVudHM8SURMTG9uZz4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxs
RnJhbWUsIDApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpT
VmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6
Y3JlYXRlKFdURk1vdmUobG9uZ0FyZ3MpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRv
SlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92
ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGlj
YWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1
ZSk7CiB9CiAKIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5j
cHAKaW5kZXggNmE4OTU0MDljMWZlODY5NTI2NjE1YjQzODJhYWIwYjg1YjEzNzgyOC4uMGM3MzM0
MDIzZTcyZTlkMzgzMWZmNGJiOGUyYjlhZjNlZTUxY2ZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcApAQCAt
ODAsMjYgKzgwLDMwIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTEoCiB7CiAgICAgVk0mIHZtID0g
bGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0
byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNl
cXVlbmNlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChj
YXN0ZWRUaGlzKTsKICAgICBhdXRvIHNlcXVlbmNlT2ZTdHJpbmdzID0gY2FsbEZyYW1lLT5hcmd1
bWVudCgwKS5pc1VuZGVmaW5lZCgpID8gQ29udmVydGVyPElETFNlcXVlbmNlPElETERPTVN0cmlu
Zz4+OjpSZXR1cm5UeXBleyB9IDogY29udmVydDxJRExTZXF1ZW5jZTxJRExET01TdHJpbmc+Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpj
cmVhdGUoV1RGTW92ZShzZXF1ZW5jZU9mU3RyaW5ncykpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmds
b2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0
KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4obGV4aWNhbEdsb2JhbE9iamVj
dCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3Rh
dGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzV2l0aFNlcXVlbmNlMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVj
dC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpz
Q2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQ29uc3RydWN0b3Iq
PihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBh
dXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzdHJpbmcp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJm
YWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7
CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2U+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQ29uc3RydWN0b3I6
OmNvbnN0cnVjdChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3Bw
CmluZGV4IGIxNTY3NTAwNDNmODk5N2FkNDA4NGYyNzU4NTA1OGQyMGIwY2JiOGEuLjA3MTU4ZmU0
MjBhMjcyZTc5NmY2NTBjZGZjN2QxNzIzM2I0ZTUxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCkBAIC0xNjAsNyArMTYwLDYgQEAgdGVtcGxhdGU8PiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENv
bnN0cnVjdG9yOjoKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwog
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNF
RF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVz
dFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgp
KTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+
YXJndW1lbnRDb3VudCgpIDwgMikpCkBAIC0xNzAsNyArMTY5LDEwIEBAIHRlbXBsYXRlPD4gRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25z
dHJ1Y3Rvcjo6CiAgICAgYXV0byBldmVudEluaXREaWN0ID0gY29udmVydDxJRExEaWN0aW9uYXJ5
PFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ6OkluaXQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
Y2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQ6OmNyZWF0ZSgqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURk1vdmUodHlwZSksIFdURk1vdmUoZXZlbnRJbml0RGljdCkpOwotICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFByb21pc2VSZWpl
Y3Rpb25FdmVudD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNy
ZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkp
OworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFByb21pc2VSZWplY3Rpb25F
dmVudD4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFByb21pc2VSZWpl
Y3Rpb25FdmVudENvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0s
IGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNw
cAppbmRleCBjYWU4MWM5ZTI4ZmQyMmUwM2E3YzcxZWM5Yjk1ZjBlZTg5NTNmNjE3Li5iYTFkYTI4
ZWZhM2JlMGNiYjEwMzQ5YmFkZWJjNGY5Nzg4OGIwM2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAK
QEAgLTE0OCw3ICsxNDgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTRwogewogICAgIFZNJiB2
bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAg
IGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcio+KGNh
bGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChV
TkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDMpKQpAQCAtMTYwLDcgKzE1OSwx
MCBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0VHlwZWRl
ZnNDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTRwogICAgIGF1dG8gdGVzdENhbGxiYWNrSW50ZXJm
YWNlID0gY29udmVydDxJRExDYWxsYmFja0ludGVyZmFjZTxKU1Rlc3RDYWxsYmFja0ludGVyZmFj
ZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDIp
LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVu
dE11c3RCZUZ1bmN0aW9uRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDIsICJ0ZXN0
Q2FsbGJhY2tJbnRlcmZhY2UiLCAiVGVzdFR5cGVkZWZzIiwgbnVsbHB0cik7IH0pOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0
byBvYmplY3QgPSBUZXN0VHlwZWRlZnM6OmNyZWF0ZShXVEZNb3ZlKGhlbGxvKSwgdGVzdENhbGxi
YWNrRnVuY3Rpb24ucmVsZWFzZU5vbk51bGwoKSwgdGVzdENhbGxiYWNrSW50ZXJmYWNlLnJlbGVh
c2VOb25OdWxsKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVkZWZzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1Zh
bHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVkZWZzPj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmpl
Y3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RUeXBlZGVmcz4obGV4
aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Zh
bHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6
OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDY2ZmRk
YzFjYTkzNmI1YTg4YjBkNTQ3ZTEyY2UyZmM3NjE4NmMzMTkuLmNkMGRlMDg4MWM0MDAxZmVkYzdk
OGQ2NzQwMjY4MWFiMThkNjRkNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAt
MzQsNiArMzQsNyBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKICNpbmNsdWRl
ICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSHRtbEVsZW1lbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKQEAgLTU4LDYgKzU5LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChFdmVudFRhcmdldCk7
CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSk7
CiAKK1JlZjxFdmVudFRhcmdldD4gRXZlbnRUYXJnZXQ6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KQoreworICAgIHJldHVybiBFdmVudFRhcmdldENvbmNyZXRlOjpjcmVh
dGUoY29udGV4dCk7Cit9CisKIGJvb2wgRXZlbnRUYXJnZXQ6OmlzTm9kZSgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCA3MjBhMzNiYTg0
OTcxMzljMGM0M2ZkMzEzMzJlNjg4NjgyODNlYTAyLi42YmM5OWIxODQ4MGE5MTBiYjYxMGM2YjRm
MzM5ODJkMmYwOTEwMzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNTQsNiArNTQs
OCBAQCBwdWJsaWM6CiBjbGFzcyBFdmVudFRhcmdldCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRXZlbnRUYXJnZXQpOwogcHVibGljOgorICAg
IHN0YXRpYyBSZWY8RXZlbnRUYXJnZXQ+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7
CisKICAgICB2b2lkIHJlZigpIHsgcmVmRXZlbnRUYXJnZXQoKTsgfQogICAgIHZvaWQgZGVyZWYo
KSB7IGRlcmVmRXZlbnRUYXJnZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbApp
bmRleCBlNWYxNzlkNTFkMWY1OTU2N2UxNGQ5YjVjNzllODUxNWIzYzg1MGZjLi5jMTdlZGVmM2Vm
OTRkN2M5MDAyYzc0YmE0ZDU2Yjk3YmRiMTFhN2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwKQEAgLTE5LDYgKzE5LDggQEAKICAqLwogCiBbCisgICAgQ29uc3RydWN0b3IsCisgICAg
Q29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAogICAgIEN1c3RvbVRv
SlNPYmplY3QsCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSXNJbW11dGFibGVQ
cm90b3R5cGVFeG90aWNPYmplY3RPblByb3RvdHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldENvbmNyZXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldENvbmNyZXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWQyMjRiZWI5N2E0NDhhZWQ0NTUyOWQ2
ODZkMTA3MGYxMTUxODYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0Q29uY3JldGUuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldENvbmNyZXRlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEV2
ZW50VGFyZ2V0Q29uY3JldGUpOworCitSZWY8RXZlbnRUYXJnZXRDb25jcmV0ZT4gRXZlbnRUYXJn
ZXRDb25jcmV0ZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRXZlbnRUYXJnZXRDb25jcmV0ZShjb250ZXh0KSk7Cit9
CisKK0V2ZW50VGFyZ2V0Q29uY3JldGU6OkV2ZW50VGFyZ2V0Q29uY3JldGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCkKKyAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZj
b250ZXh0KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0Q29uY3JldGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzA0M2I5MTk0M2UzYzJkMmJmNWRk
NjYxN2ZiODI1MDU1NzdkYjU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0Q29uY3JldGUuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+LgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldEludGVy
ZmFjZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50VGFyZ2V0Q29uY3JldGUgZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxFdmVudFRhcmdldENvbmNyZXRlPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHByaXZhdGUgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgeworICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoRXZlbnRUYXJnZXRDb25jcmV0ZSk7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxFdmVudFRhcmdldENvbmNyZXRlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpOworCisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNv
dW50ZWQ6OmRlcmVmOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEV2ZW50VGFyZ2V0Q29uY3Jl
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2Ug
ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBFdmVudFRhcmdldElu
dGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2
ZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorCisgICAgdm9pZCByZWZFdmVudFRhcmdl
dCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7
IGRlcmVmKCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFrZV9ldmVudF9mYWN0b3J5LnBsCmluZGV4IDEzN2MyMTI1NWY1N2JhY2M1NGI3ZmM4N2Nk
M2E2YjIwOGQxZTkyMmEuLmZkNjM2MTU2NmQ1NDQ0YzdiMDUxOTVjY2QyZWE4ODdmZDdiZWUwZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbApAQCAtMTM1LDEzICsx
MzUsMTQgQEAgc3ViIGdlbmVyYXRlSW1wbGVtZW50YXRpb24oKQogICAgICAgICBwcmludCBGICIj
ZW5kaWZcbiIgaWYgJGNvbmRpdGlvbmFsOwogICAgIH0KIAotICAgIHByaW50IEYgIiAgICB9XG4i
OworICAgIHByaW50IEYgIiAgICBkZWZhdWx0OlxuIjsKICAgICBpZiAoJGZhY3RvcnlGdW5jdGlv
biBlcSAidG9OZXdseUNyZWF0ZWQiKSB7Ci0gICAgICAgIHByaW50IEYgIiAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjwkbmFtZXNwYWNlPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpO1xuIjsK
KyAgICAgICAgcHJpbnQgRiAiICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkbmFtZXNwYWNl
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpO1xuIjsKICAgICB9IGVsc2UgewotICAgICAg
ICBwcmludCBGICIgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7XG4iOwotICAgICAgICBwcmludCBG
ICIgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7XG4iOworICAgICAgICBwcmludCBGICIgICAgICAg
IHJldHVybiB3cmFwKHN0YXRlLCBnbG9iYWxPYmplY3QsIGltcGwpO1xuIjsKICAgICB9CisKKyAg
ICBwcmludCBGICIgICAgfVxuIjsKICAgICBwcmludCBGICJ9XG4iOwogICAgIHByaW50IEYgIlxu
IjsKICAgICBwcmludCBGICJ9IC8vIG5hbWVzcGFjZSBXZWJDb3JlXG4iOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVjZDMy
ZmNlMDM0YWM5OGU1NWE1MDI2OTJlYmRjMGU4OTE3M2VjMmUuLmY0YWY5NjE2Njc0ZjdhNTkwZjRi
ODI4YzhmOWU5ZDQwNGRiM2JiNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMi0xNCAg
QWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgSW1wbGVt
ZW50IEV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKwog
MjAyMC0wMi0xMiAgSmFzb24gTGF3cmVuY2UgIDxsYXdyZW5jZS5qQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTWFjIHdrMiBdIGZhc3QvZG9tL2F0dHJfZGVhZF9kb2MuaHRtbCBpcyBmbGFreSBmYWls
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOTUzMGRiMTlmNWU1NTFiYjcx
ZjRhODFhYjAwOWIyNzRiOWJmZDlmZi4uYTZkOTlmNjNiZWRmZjljNDI3ZDFlNjE3YWI3ZmQ5ZmUy
YjM2MmI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMjAtMDItMTQgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBFdmVudFRhcmdldCBjb25zdHJ1Y3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0
aWJsZS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4
dHJhLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAy
LTEyICBSb3NzYW5hIE1vbnRlcmlzbyAgPHJtb250ZXJpc29AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLWdyaWRdIE1vdmUgZ3JpZC1pdGVtLWF1dG8tbWFyZ2lucy1hbGlnbm1lbnQgdGVzdHMg
dG8gV1BUIGZvbGRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAppbmRleCBmZDFhNTk3NmQzOWExNzgwOGZjN2Y3Y2E0YTM3OTVlYzI0
OGY0N2IwLi41OWRhZDAzZGVlOTZkOWE2MWIxZDE5MmU0YWRhMDU3MGFiYjZiOWRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApA
QCAtOCw3ICs4LDYgQEAgUEFTUyBUcnlBbGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScpIGlzICdleGNl
cHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdDREFUQVNlY3Rpb24nKSBpcyAnZXhjZXB0aW9uJwog
UEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRUeXBlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5
QWxsb2NhdGUoJ0VsZW1lbnQnKSBpcyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgnRXZl
bnRUYXJnZXQnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnSFRNTERvY3VtZW50
JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ05vZGUnKSBpcyAnZXhjZXB0aW9u
JwogUEFTUyBUcnlBbGxvY2F0ZSgnUHJvY2Vzc2luZ0luc3RydWN0aW9uJykgaXMgJ2V4Y2VwdGlv
bicKQEAgLTEzMSw2ICsxMzAsOSBAQCBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudCcpIGlzICdb
b2JqZWN0IERvY3VtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50RnJhZ21lbnQnKSBp
cyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50
RnJhZ21lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxsb2Nh
dGUoJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKK1BB
U1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJwor
UEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVjdCBFdmVudFRhcmdldF0n
CitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0IEV2ZW50VGFyZ2V0
XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwogUEFTUyBU
cnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCiBQQVNTIFRyeUFsbG9jYXRl
KCdSYW5nZScpIGlzICdbb2JqZWN0IFJhbmdlXScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1j
b25zdHJ1Y3RvcnMuaHRtbAppbmRleCA0YjdhZTc1NTY1NTkyYTgyYjVkM2MyMjhhYzgyYTZhMmQ2
ZjE2N2VjLi5iNDAxMDU2ODAyYjVjMGY5YTdiYzBjNTg0YTYyNzRiMTA2ZGUwYTIwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCkBAIC0xOCw3ICsxOCw2IEBA
IHZhciBvYmplY3RzX2V4Y2VwdGlvbiA9IFsKICAgICAnQ0RBVEFTZWN0aW9uJywKICAgICAnRG9j
dW1lbnRUeXBlJywKICAgICAnRWxlbWVudCcsCi0gICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnSFRN
TERvY3VtZW50JywKICAgICAnTm9kZScsCiAgICAgJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicsCkBA
IC0xMzIsNiArMTMxLDcgQEAgdmFyIG9iamVjdHNfY29uc3RydWN0b3IgPSBbCiAgICAgJ0RPTVBh
cnNlcicsCiAgICAgJ0RvY3VtZW50JywKICAgICAnRG9jdW1lbnRGcmFnbWVudCcsCisgICAgJ0V2
ZW50VGFyZ2V0JywKICAgICAnUmFuZ2UnLAogICAgICdUZXh0JywKICAgICAnWE1MSHR0cFJlcXVl
c3QnLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggNzExOTBl
M2FkNzA3NmJkMTRhMzg3YzliY2FiNTZiYTI5NWE0ZmVhNS4uNWVmMDBiYWY5ZTQyY2I5Y2FmZWZk
ZTU2MTUxY2E5MjY5N2IzM2Y5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CkBAIC00MSwxMSArNDEsMTEgQEAgUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVj
dG9yIChudWxsIGFyZ3VtZW50KQogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChl
bXB0eSBhcmd1bWVudCkgCiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3Vt
ZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVj
dG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1GQUlMIFN1YmNsYXNzZWRF
dmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBh
cmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNs
YXNzZWRFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoZW1w
dHkgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBT
dWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMp
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZl
bnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0
cnVjdG9yIChubyBhcmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAo
dW5kZWZpbmVkIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChu
dWxsIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBh
cmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0
aCBkZWZhdWx0IHZhbHVlcykgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJn
dW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9y
ICh2aWV3IGFyZ3VtZW50IHdpdGggd3JvbmcgdHlwZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdl
dC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJs
ZS5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGJmMDhmYzc2OGEyNzhjMDFiYjdkZWJiNThjYWIyMGY2
NjU0NjMxZmYuLjc1M2U0NjRmMzMxYjNlNjNhMWJhMjBhNmQ0ZDY4OGNjNDEzZjg4MzAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50
VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAot
RkFJTCBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIGZ1
bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQo
KScpCi1GQUlMIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIGZ1bmN0aW9uIGlzIG5vdCBh
IGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlciguLi5hcmdzKScpCitQQVNTIEEgY29uc3Ry
dWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgCitQQVNTIEV2ZW50VGFy
Z2V0IGNhbiBiZSBzdWJjbGFzc2VkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0
aWJsZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGJmMDhmYzc2OGEyNzhjMDFiYjdkZWJiNThjYWIy
MGY2NjU0NjMxZmYuLjc1M2U0NjRmMzMxYjNlNjNhMWJhMjBhNmQ0ZDY4OGNjNDEzZjg4MzAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCi1GQUlMIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVz
ZWQgYXMgZXhwZWN0ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBFdmVudFRhcmdldCgpJykKLUZBSUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQg
ZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFyZ3Mp
JykKK1BBU1MgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3Rl
ZCAKK1BBU1MgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVu
dC1nbG9iYWwtZXh0cmEud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2lu
ZG93LWV4cGVjdGVkLnR4dAppbmRleCA1MWZkZThjMmU5MTAzOTNmNjAxYmM2NjMwYzU5MWFhMDMx
NmY2YWViLi4yNDM4NjRkZmM5NmE1Y2ZlMzczMzhjZDcwMjM5NjhhOGU5OWE2Y2E4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2Jh
bC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIHdpbmRv
dy5ldmVudCBmb3IgY29uc3RydWN0b3JzIGZyb20gYW5vdGhlciBnbG9iYWw6IEV2ZW50VGFyZ2V0
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgb3RoZXJXaW5k
b3dbY29uc3RydWN0b3JOYW1lXSgpJykKK0ZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1Y3Rv
cnMgZnJvbSBhbm90aGVyIGdsb2JhbDogRXZlbnRUYXJnZXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0
IEV2ZW50XSIKIEZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1Y3RvcnMgZnJvbSBhbm90aGVy
IGdsb2JhbDogWE1MSHR0cFJlcXVlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIKIFBB
U1Mgd2luZG93LmV2ZW50IGFuZCBlbGVtZW50IGZyb20gYW5vdGhlciBkb2N1bWVudCAKIEZBSUwg
d2luZG93LmV2ZW50IGFuZCBtb3ZpbmcgYW4gZWxlbWVudCBwb3N0LWRpc3BhdGNoIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBFdmVudF0iIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRs
aGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBmNDQ1OTNhZGQ2MWY5MGYwOWUw
MTRkMGJjNzAwNmMwZGExMzcwN2Q4Li42YjMwOWM4OTU5YmU2MDZmY2I1ZWM2YTMxMDA1ZmUxM2M2
NDdjMWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEzMywxNCArMTMzLDE0IEBAIFBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGFkZEV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVj
dCBPYmplY3RdKSAKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3Zl
RXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxb
b2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBk
aXNwYXRjaEV2ZW50KEV2ZW50KSAKLUZBSUwgRXZlbnRUYXJnZXQgbXVzdCBiZSBwcmltYXJ5IGlu
dGVyZmFjZSBvZiBuZXcgRXZlbnRUYXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4
Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRU
YXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRp
bmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rp
b24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJyki
Ci1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwg
W29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBF
dmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZl
bnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0
IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50
TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRh
cmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBl
Y3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNv
bnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZGlzcGF0Y2hFdmVudChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6
IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgorUEFTUyBFdmVudFRhcmdldCBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIAorUEFTUyBTdHJp
bmdpZmljYXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExp
c3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3Qg
T2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtv
YmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50
TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRh
cmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBu
ZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAogUEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFib3J0Q29udHJvbGxlciBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBBYm9y
dENvbnRyb2xsZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggNmVkMmM0ZGI3ZmRj
YTg2YTk5N2ZiMTIyZmY0OTg4MWJkMTVkNWNkYy4uZDE1NWNjNTAwYzA4YTdlMjkzZDA5ZTA1ZDFj
ZjE2YTk3ODhhYzc2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mu
d2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTU4LDE0ICsxNTgsMTQgQEAgUEFTUyBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamUKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZlbnRM
aXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0
IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmVF
dmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtv
YmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGRp
c3BhdGNoRXZlbnQoRXZlbnQpIAotRkFJTCBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhj
ZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVj
dCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAn
bmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVudFRh
cmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGlu
ZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlv
biBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIK
LUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBb
b2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBh
IGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVu
dFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2
ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVu
dFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBh
IGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVu
dFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3Qg
T2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRM
aXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFy
Z2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRf
ZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJk
aXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9y
IChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0KCkg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCitQQVNTIEV2ZW50VGFyZ2V0IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIFN0cmlu
Z2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29i
amVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92
ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRM
aXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFy
Z2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5l
dyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCiBQQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBB
U1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTE5MGUzYWQ3MDc2YmQxNGEzODdj
OWJjYWI1NmJhMjk1YTRmZWE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotCi1QQVNTIEV2ZW50IGNvbnN0
cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQg
YXJndW1lbnQpIAotUEFTUyBFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNT
IEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVj
dG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgRXZlbnQgY29uc3RydWN0
b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlFdmVudCBjb25z
dHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmlu
ZWQgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAK
LVBBU1MgVUlFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50
IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlFdmVu
dCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBG
b2N1c0V2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29u
c3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0
b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBh
cmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVm
YXVsdCB2YWx1ZXMpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRo
IG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKG5vIGFy
Z3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50
KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNTIE1v
dXNlRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBj
b25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNlRXZl
bnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1Mg
V2hlZWxFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNv
bnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVj
dG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkg
YXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRl
ZmF1bHQgdmFsdWVzKSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0
aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChu
byBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBh
cmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQp
IAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNT
IEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMp
IAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZh
dWx0IHZhbHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3Vt
ZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3Vt
ZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkg
Ci1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBB
U1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZh
bHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGgg
bm9uLWRlZmF1bHQgdmFsdWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChu
byBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1
YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVj
dG9yIChudWxsIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25z
dHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJn
dW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3VtZW50IHdpdGgg
d3JvbmcgdHlwZSkgCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390761</attachid>
            <date>2020-02-14 07:11:50 -0800</date>
            <delta_ts>2020-02-15 08:57:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20200214171148.patch</filename>
            <type>text/plain</type>
            <size>67335</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJjMjcyYWM5MGFiMDRk
MDBhZDAyMDBiMzUwODIxOGQ2MzI2ZjU4ZS4uYzMwOWIwYjVkOTAxMmRiNGQ5ZGQxZjljZGE1OGYx
MDljNmJiNWYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTAyLTE0ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkg
Y29uc3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUg
c3BlYyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0
d2cvZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNs
YXNzaW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0
IGFuZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRh
cmdldENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50
VGFyZ2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4g
V2UgZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJh
Y3QKKyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFi
bGUgZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAg
ICAgICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9y
IHRoZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRv
IGFsbG93IHN1YmNsYXNzaW5nLCBub24tY3VzdG9tIGNvbnN0cnVjdG9ycyByZXBsYWNlIHN0cnVj
dHVyZXMgb2YgbmV3bHkgY3JlYXRlZCB3cmFwcGVyIG9iamVjdHMKKyAgICAgICAgd2l0aCBvbmVz
IHJldHVybmVkIGJ5IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlLiBQ
ZXIgV2ViSURMIHNwZWMgWzFdLAorICAgICAgICBgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRl
ZGAgaGVscGVyIHVzZXMgcmVhbG0gb2YgYG5ld1RhcmdldGAgZm9yIGRlZmF1bHQgcHJvdG90eXBl
cy4KKworICAgICAgICBUaGlzIGFwcHJvYWNoIHdhcyBjaG9zZW4gYmVjYXVzZSBhKSBkZXRlY3Rp
bmcgW1tDb25zdHJ1Y3RdXSB3aXRoIGNhbGxGcmFtZS0+bmV3VGFyZ2V0KCkgaXMKKyAgICAgICAg
dW5yZWxpYWJsZSBvdXRzaWRlIGNvbnN0cnVjdG9yLCBhbmQgYikgcGFzc2luZyBgbmV3VGFyZ2V0
YCBkb3duIHRvIGBjcmVhdGVXcmFwcGVyYCB2aWEKKyAgICAgICAgYHRvSlNOZXdseUNyZWF0ZWRg
IGlzIHF1aXRlIGF3a3dhcmQgYW5kIHdvdWxkIHJlc3VsdCBpbiBtYXNzaXZlIGNvZGUgY2hhbmdl
LgorCisgICAgICAgIFRvIHByZXZlbnQgZGVmaW5pdGlvbiBvZiBFdmVudFRhcmdldENvbmNyZXRl
LXNwZWNpZmljIGB0b0pTYCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAg
ICAgd2UgZG9uJ3QgZGVmaW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1
dCByYXRoZXIgdHdlYWsgbWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQg
dG8gYmFzZSBpbnRlcmZhY2UgKGxpa2UgaXQgZG9lcyBmb3IgRXZlbnQpLgorCisgICAgICAgIFsx
XSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpbnRlcm5hbGx5LWNyZWF0ZS1hLW5l
dy1vYmplY3QtaW1wbGVtZW50aW5nLXRoZS1pbnRlcmZhY2UKKyAgICAgICAgKHN0ZXAgMy4zLjIp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlw
dC1iaW5kaW5nL2NvbnN0cnVjdG9ycy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3Rv
cnMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93
Lmh0bWwKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpzZXRT
dWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAo
R2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvSW5GaWxlc0NvbXBpbGVyLnBtOgorICAgICAgICAoZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVy
KTogQWRkIGJhc2UgaW50ZXJmYWNlIHR5cGUuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTLyo6IEFkanVzdCBiaW5kaW5ncyBleHBlY3RhdGlvbnMuCisgICAgICAgICogZG9tL0V2
ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpjcmVhdGUpOgor
ICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5p
ZGw6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKiBkb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vbWFr
ZV9ldmVudF9mYWN0b3J5LnBsOgorICAgICAgICAoZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6IFdy
YXAgYmFzZSBpbnRlcmZhY2UgdHlwZS4KKwogMjAyMC0wMi0xMiAgQmFzdWtlIFN1enVraSAgPGJh
c3VrZS5zdXp1a2lAc29ueS5jb20+CiAKICAgICAgICAgW0N1cmxdIEZvcmNlIEhUVFAvMS4xIGZv
ciBXZWJTb2NrZXQgY29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYWY4Nzc3ZTNmMDVi
ZmIzYTJkYWI0MDc4ZmU2ZGE4MGU0ZTdkMjI2MC4uYmIwOGFkNzg5OGRhZWRiZmEyYmYzNjE4ZTVh
NzU3MDc1NWVhNmQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC00MDIsNiArNDAyLDcgQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGRvbS9FdmVudE5hbWVzLmgK
ICAgICBkb20vRXZlbnRRdWV1ZS5oCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmgKKyAgICBkb20vRXZl
bnRUYXJnZXRDb25jcmV0ZS5oCiAgICAgZG9tL0V4Y2VwdGlvbi5oCiAgICAgZG9tL0V4Y2VwdGlv
bkNvZGUuaAogICAgIGRvbS9FeGNlcHRpb25EYXRhLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzk3NjEz
NGRiOGUxZTZlM2ZjYTcwODlhNTFmMzBmNmZiOWNiYzEzMS4uMTVmNmYwM2Y0Mjc0Y2Y3NDg5YzNl
OWY3MjJkZDlhNjlkODkwYzc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg4MSw2ICs4ODEsNyBAQCBk
b20vRXZlbnRMb29wLmNwcAogZG9tL0V2ZW50TmFtZXMuY3BwCiBkb20vRXZlbnRQYXRoLmNwcAog
ZG9tL0V2ZW50VGFyZ2V0LmNwcAorZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwCiBkb20vRXhj
ZXB0aW9uRGF0YS5jcHAKIGRvbS9FeHRlbnNpb25TdHlsZVNoZWV0cy5jcHAKIGRvbS9Gb2N1c0V2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGYyNGNhMzU0ZDZjOTc0NGQ5MThjNjVkZmExYTdkNDZjMjQwN2JkMjAuLmI2
YWJlYTFhZDI0MjkyM2E0MmMxOWMwN2I5NzJmM2VmZmRlOGY2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI1MjAsNiArMjUy
MCw3IEBACiAJCTg0OUY3Nzc2MEVGRUM2MjAwMDkwODQ5RCAvKiBTdHJva2VTdHlsZUFwcGxpZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0OUY3Nzc1
MEVGRUM2MjAwMDkwODQ5RCAvKiBTdHJva2VTdHlsZUFwcGxpZXIuaCAqLzsgfTsKIAkJODRBODFG
M0UwRkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFscGhhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUYzQzBGQzdERkYwMDA5NTUzMDAgLyogU291
cmNlQWxwaGEuaCAqLzsgfTsKIAkJODRBODFGNDIwRkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdy
YXBoaWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0
QTgxRjQwMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggKi87IH07CisJCTg0QjM0
OUEyMjJGODZFNzUwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEIzNDlBMDIyRjg2RTc0MDBENDdC
Q0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5oICovOyB9OwogCQk4NEI2Qjk3ODEyMEYxM0U1MDBC
OEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QjZCOTc2MTIwRjEzRTUwMEI4RUZBRiAvKiBTVkdQYXRo
U2VnTGlzdFNvdXJjZS5oICovOyB9OwogCQk4NEM1QjJGQjEyMTZEQzgxMDA4OEI1M0EgLyogU1ZH
UGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODRDNUIyRjkxMjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2
ZXJzYWxTdGF0ZUJ1aWxkZXIuaCAqLzsgfTsKIAkJODRDNjc4NEQxMjE0ODE0NzAwQTkyOTAyIC8q
IFNWR1BhdGhCbGVuZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NEM2Nzg0QjEyMTQ4MTQ3MDBBOTI5MDIgLyogU1ZHUGF0aEJsZW5kZXIuaCAqLzsg
fTsKQEAgLTEwNDAwLDYgKzEwNDAxLDggQEAKIAkJODRBODFGM0YwRkM3RTAyNzAwOTU1MzAwIC8q
IFNvdXJjZUdyYXBoaWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U291cmNlR3JhcGhpYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QTgxRjQw
MEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNvdXJjZUdyYXBoaWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODRCMkIyNEYwNTZCRjE1RjAwRDJCNzcxIC8qIFNTTEtleUdlbmVyYXRvck1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNT
TEtleUdlbmVyYXRvck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CisJCTg0QjM0OUEwMjJGODZFNzQwMEQ0N0JDRiAvKiBFdmVudFRh
cmdldENvbmNyZXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50VGFy
Z2V0Q29uY3JldGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODRCMzQ5QTMyMkY4
NkU4MjAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg0QjYyNjg0MTMzMTM4RjkwMDk1QTQ4OSAvKiBGb250UGxhdGZv
cm1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRQbGF0
Zm9ybURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEI2Qjk3NTEyMEYx
M0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4NEI2Qjk3NjEyMEYxM0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNl
Z0xpc3RTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNl
Z0xpc3RTb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI4MTM4LDYgKzI4
MTQxLDggQEAKIAkJCQlFMTJFREJFOTBCMzA4RTBCMDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuY3Bw
ICovLAogCQkJCUUxMkVEQjdBMEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oICovLAog
CQkJCTg1QUZBNzQyMEFBRjI5ODQwMEU4NDMwNSAvKiBFdmVudFRhcmdldC5pZGwgKi8sCisJCQkJ
ODRCMzQ5QTMyMkY4NkU4MjAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuY3BwICovLAor
CQkJCTg0QjM0OUEwMjJGODZFNzQwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggKi8s
CiAJCQkJQ0RDRTVDRDAxNDYzM0JDOTAwRDQ3Q0NBIC8qIEV2ZW50VGFyZ2V0RmFjdG9yeS5pbiAq
LywKIAkJCQk5M0QxOTYzMjFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmggKi8sCiAJCQkJ
OTM1RkJDRjEwOUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCAqLywKQEAgLTI5Nzk5
LDYgKzI5ODA0LDcgQEAKIAkJCQlFNEE4RDIxNjIyNTc4REI3MDBBODQ2M0MgLyogRXZlbnRSZWdp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUwRkVGMzcyQjE3QzUzRUFDMUMxRkJFRSAvKiBFdmVu
dFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyRURCN0IwQjMwOEE3ODAwMjcwNEI2IC8q
IEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NEIzNDlBMjIyRjg2RTc1MDBENDdC
Q0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdBQTNDQTUx
NDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTdBQTNDQTYxNDUyMzdDQzAwM0UxREE2IC8qIEV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tp
bmdSZWdpb25zLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXJDYWNoZS5oCmluZGV4IDVkZmNkY2JmYzA0OGIyMmQ0YWQ0OGVjODQ4ODA0
YTUyZWM4NzdmZDIuLjY2ZTc0NWNlODM2NmVhZjZjNTFhMDNlNjMyYTEwZTFjMWY3MTkxODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaApAQCAt
MjAxLDQgKzIwMSwyMyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBET01DbGFzcz4gaW5saW5lIEpTQzo6
SlNWYWx1ZSB3cmFwKEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYQogICAgIHJldHVybiB0b0pT
TmV3bHlDcmVhdGVkKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgUmVmPERPTUNs
YXNzPihkb21PYmplY3QpKTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgRE9NQ2xhc3M+IGlubGlu
ZSB2b2lkIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQoSlNDOjpKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNDOjpKU1Zh
bHVlIGpzVmFsdWUpCit7CisgICAgSlNDOjpKU09iamVjdCogbmV3VGFyZ2V0ID0gY2FsbEZyYW1l
LT5uZXdUYXJnZXQoKS5nZXRPYmplY3QoKTsKKyAgICBKU0M6OkpTT2JqZWN0KiBjb25zdHJ1Y3Rv
ciA9IGNhbGxGcmFtZS0+anNDYWxsZWUoKTsKKyAgICBpZiAoIW5ld1RhcmdldCB8fCBuZXdUYXJn
ZXQgPT0gY29uc3RydWN0b3IpCisgICAgICAgIHJldHVybjsKKworICAgIHVzaW5nIFdyYXBwZXJD
bGFzcyA9IHR5cGVuYW1lIEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxET01DbGFzcz46Oldy
YXBwZXJDbGFzczsKKworICAgIEpTQzo6Vk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBhdXRv
KiBuZXdUYXJnZXRHbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KG5ld1RhcmdldC0+Z2xvYmFsT2JqZWN0KHZtKSk7CisgICAgYXV0byogYmFzZVN0cnVjdHVyZSA9
IGdldERPTVN0cnVjdHVyZTxXcmFwcGVyQ2xhc3M+KHZtLCAqbmV3VGFyZ2V0R2xvYmFsT2JqZWN0
KTsKKyAgICBhdXRvKiBzdWJjbGFzc1N0cnVjdHVyZSA9IEpTQzo6SW50ZXJuYWxGdW5jdGlvbjo6
Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmUobGV4aWNhbEdsb2JhbE9iamVjdCwgY29uc3RydWN0b3Is
IG5ld1RhcmdldCwgYmFzZVN0cnVjdHVyZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgdm9pZCgpKTsKKyAgICBhc09iamVjdChqc1ZhbHVlKS0+c2V0U3RydWN0dXJlKHZtLCBzdWJj
bGFzc1N0cnVjdHVyZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKaW5kZXggYjQ3
YWNmNzU2OTUxOTM3MzA0ZjhmM2EzNmZlNTlhYzM1ZjYwNjI4YS4uNjgyMWNiZWRkMGY0YWQ3YTE5
MGY4YWEzZDhmNzM2ODk2MWQ4NmYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHAKQEAgLTQzLDYgKzQzLDExIEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCitKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBS
ZWY8RXZlbnRUYXJnZXQ+JiYgdmFsdWUpCit7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8RXZl
bnRUYXJnZXQ+KGdsb2JhbE9iamVjdCwgV1RGTW92ZSh2YWx1ZSkpOworfQorCiBFdmVudFRhcmdl
dCogSlNFdmVudFRhcmdldDo6dG9XcmFwcGVkKFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKIHsKICAg
ICBpZiAodmFsdWUuaW5oZXJpdHM8SlNXaW5kb3dQcm94eT4odm0pKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA2ZDcyMWE4
ZGY4NzgyMjY1MzM0N2RlMmY4MmJhMjU1MjI1ZWM1OTc2Li4yYmJiZTNkZjg1YjVlODlhZWQ4NzAx
ZmFkMjIyODBiMzY1YTEwMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNzMzMyw3ICs3MzMzLDYgQEAgc3ViIEdlbmVy
YXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICJ7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBWTSYgdm0gPSBs
ZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7XG4i
KTsKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBVTlVTRURfUEFSQU0odGhy
b3dTY29wZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRv
KiBjYXN0ZWRUaGlzID0ganNDYXN0PCR7Y29uc3RydWN0b3JDbGFzc05hbWV9Kj4oY2FsbEZyYW1l
LT5qc0NhbGxlZSgpKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IEFTU0VSVChjYXN0ZWRUaGlzKTtcbiIpOwogCkBAIC03MzU0LDYgKzczNTMsNyBAQCBzdWIgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
O1xuIikgaWYgJGNvZGVHZW5lcmF0b3ItPkV4dGVuZGVkQXR0cmlidXRlQ29udGFpbnMoJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q29uc3RydWN0b3JDYWxsV2l0aH0sICJFeGVjU3Rh
dGUiKTsKIAogICAgICAgICAgICAgbXkgJElETFR5cGUgPSBHZXRJRExUeXBlKCRpbnRlcmZhY2Us
ICRpbnRlcmZhY2UtPnR5cGUpOworICAgICAgICAgICAgbXkgJGltcGxUeXBlID0gR2V0SW1wbENs
YXNzTmFtZSgkaW50ZXJmYWNlKTsKIAogICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpT
RE9NQ29udmVydEludGVyZmFjZS5oIik7CiAKQEAgLTczNjMsNyArNzM2MywxMSBAQCBzdWIgR2Vu
ZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdGlv
bkNvbnZlcnNpb25Bcmd1bWVudHMsICJ0aHJvd1Njb3BlIikgaWYgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57Q29uc3RydWN0b3JNYXlUaHJvd0V4Y2VwdGlvbn07CiAgICAgICAgICAg
ICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAiV1RGTW92ZShvYmplY3Qp
Iik7CiAKLSAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8JHtJRExUeXBlfT4oIiAuIGpvaW4oIiwgIiwgQGNv
bnN0cnVjdGlvbkNvbnZlcnNpb25Bcmd1bWVudHMpIC4gIikpO1xuIik7CisgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDwk
e0lETFR5cGV9PigiIC4gam9pbigiLCAiLCBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50
cykgLiAiKTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTtcbiIpIGlmICRpbnRlcmZhY2UtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0NvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb259OworICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8
JHtpbXBsVHlwZX0+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7XG4i
KTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQppbmRl
eCA5MDllOGJlNzYwZGI3ZmI5YzdjYjFhZjc2MDRhNWY5Nzk3MGI4MTFjLi45MDZjYjBlNTUzNGI2
ZTQ1YTBkNWExZWZmMDliY2MzZmQ4ZGMwNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQpAQCAtMjQzLDYgKzI0MywxMSBAQCBz
dWIgZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKCkKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4i
OwogICAgIH0KIAorICAgIGlmICgkbmFtZXNwYWNlIGVxICJFdmVudFRhcmdldCIpIHsKKyAgICAg
ICAgcHJpbnQgRiAiICAgICR7c3VmZml4fSA9ICRjb3VudCxcbiI7CisgICAgICAgICRjb3VudCsr
OworICAgIH0KKwogICAgIGZvciBteSAkaW50ZXJmYWNlIChzb3J0IGtleXMgJXVuY29uZGl0aW9u
YWxJbnRlcmZhY2VzKSB7CiAgICAgICAgIHByaW50IEYgIiAgICAke2ludGVyZmFjZX0ke3N1ZmZp
eH0gPSAkY291bnQsXG4iOwogICAgICAgICAkY291bnQrKzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmNwcAppbmRleCA4Nzc1NTcxOWM5NGQzMGQ2Y2RlMDBlZWIxYTdmOWI1NzJhYjgy
ZDljLi5lMTFkZjIwNDg3MzFiMjg2NmRlYjFlNGI5NzExYWFmZTVmMTM2MzQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0xNTksNyArMTU5LDYgQEAgdGVtcGxhdGU8
PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25z
dHJ1Y3Rvcjo6Y29uc3QKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgp
OwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVO
VVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpT
VGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7
CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFy
Z3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMTY5LDcgKzE2OCwxMCBAQCB0ZW1wbGF0ZTw+IEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
Ojpjb25zdAogICAgIGF1dG8gZXZlbnRJbml0RGljdCA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxU
ZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDEpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdEV2ZW50Q29uc3RydWN0b3I6
OmNyZWF0ZShXVEZNb3ZlKHR5cGUpLCBXVEZNb3ZlKGV2ZW50SW5pdERpY3QpKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RFdmVu
dENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5
Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEV2ZW50Q29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOwor
ICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdEV2ZW50Q29uc3RydWN0b3I+KGxl
eGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNW
YWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29u
c3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKaW5kZXggZGEw
NTU1OTg1NWFhMGM2MWJmYzUyMzUwYmJhMTUzNDAxNTUxMjAxZi4uYzk1YjBjNjkzNGYxOGY1MjRj
ZWNmMzY2OWNjODNlOWNmMTVhOWZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKQEAgLTI1OCw3
ICsyNTgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0
SW50ZXJmYWNlQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKUwogewogICAgIFZNJiB2bSA9IGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNh
c3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUt
PmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFko
Y2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTI3MSw3ICsyNzAsMTEgQEAgdGVt
cGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEludGVyZmFjZUNvbnN0
cnVjdG9yOjpjb25zdHJ1Y3QoSlMKICAgICBhdXRvIHN0cjIgPSBjYWxsRnJhbWUtPmFyZ3VtZW50
KDEpLmlzVW5kZWZpbmVkKCkgPyAiZGVmYXVsdFN0cmluZyJfcyA6IGNvbnZlcnQ8SURMRE9NU3Ry
aW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgx
KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RJbnRlcmZhY2U6OmNyZWF0ZSgqY29udGV4dCwgV1RG
TW92ZShzdHIxKSwgV1RGTW92ZShzdHIyKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0
b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0SW50ZXJmYWNlPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92
ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdEludGVyZmFjZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+
Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJl
SWZOZWVkZWQ8VGVzdEludGVyZmFjZT4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBq
c1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVl
IEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpW
TSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZDQ2M2RkMjE2NGFkN2I2N2UzY2QzNTA2NmVm
MWNkYzAxYThiYjg5Yy4uM2RiYTNjNjAwZjA1MDFkNmM0Yjc0NzhiNjcwNzJmMzQ2Yzk2YmI5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAtOTQsNyArOTQsNiBAQCB0
ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0TmFtZWRDb25zdHJ1
Y3Rvck5hbWVkQ29uc3RydWN0b3I6OgogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmpl
Y3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBq
c0Nhc3Q8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3IqPihjYWxsRnJhbWUt
PmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFko
Y2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTEwNiw3ICsxMDUsMTEgQEAgdGVt
cGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE5hbWVkQ29uc3RydWN0
b3JOYW1lZENvbnN0cnVjdG9yOjoKICAgICBhdXRvIHN0cjMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50
KDIpLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgyKSk7CiAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBh
dXRvIG9iamVjdCA9IFRlc3ROYW1lZENvbnN0cnVjdG9yOjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9y
KFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3RyMiksIFdURk1vdmUoc3RyMykpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5hbWVk
Q29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUg
PSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2Nv
cGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE5hbWVkQ29uc3Ry
dWN0b3I+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yTmFtZWRDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZt
LCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4
IGExNDJjMDcyYmZkY2YyODQzYzRlM2M2MmMzZDAyNzNiOGIyZDYwOWQuLjMyNzY1YTQ1NzlkYzgx
ZjJhZjBkNzIzZDgzYTBjNzZkOGYzOTFiMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKQEAgLTEwMiwxMSArMTAy
LDEzIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROb2Rl
Q29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0dsb2JhCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVk
VGhpcyA9IGpzQ2FzdDxKU1Rlc3ROb2RlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVl
KCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROb2Rl
OjpjcmVhdGUoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3ROb2RlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0g
dG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAg
IHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE5vZGU+KGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHRl
bXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVj
dHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAKaW5kZXggZDJmN2U5ODcxZmU0M2VlZGY0MzNlYThhYzRhYWU0MjEyYWIzMWQ2NS4u
MzQyZjIzMjRkZjc2NWQyZWJmNmYwNTA4MmI1ODg3Y2RmMTIxODUxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAg
LTE5NDgsNyArMTk0OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTR2xvYmFsCiB7CiAgICAgVk0mIHZt
ID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAg
YXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmpDb25zdHJ1Y3Rvcio+KGNhbGxGcmFt
ZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VM
WShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQpAQCAtMTk2Myw3ICsxOTYyLDEwIEBA
IHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RPYmpDb25zdHJ1
Y3Rvcjo6Y29uc3RydWN0KEpTR2xvYmFsCiAgICAgYXV0byB0ZXN0Q2FsbGJhY2tGdW5jdGlvbiA9
IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMSksICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVzdEJl
RnVuY3Rpb25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMSwgInRlc3RDYWxsYmFj
a0Z1bmN0aW9uIiwgIlRlc3RPYmplY3QiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9
IFRlc3RPYmo6OmNyZWF0ZShkb2N1bWVudCwgdGVzdENhbGxiYWNrLnJlbGVhc2VOb25OdWxsKCks
IHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2Jq
ZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNl
PFRlc3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVj
dCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8
VGVzdE9iaj4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE9iakNvbnN0
cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5jcHAKaW5kZXggMzEyZmExODYwMWM4MmM1OTI5ZjcxMGQ0ODY2ZjYzNWM5ODYw
NzRiMC4uZGQ5ZDVlZGJjOWFmOGY0YzIxNWEzYTY4ZDg2MmFmYTcyYWUwZDYzMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtODEsNjUgKzgxLDc1
IEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yczEoSlNHbG9iYWxPYmplCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2Jh
bE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhp
cyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxs
RnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIGFy
cmF5QnVmZmVyID0gY29udmVydDxJRExBcnJheUJ1ZmZlcj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1
bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImFycmF5QnVmZmVy
IiwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyIik7
IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRl
KCphcnJheUJ1ZmZlcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVh
dGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkp
OworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVj
dHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiBz
dGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwog
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNF
RF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUo
KSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gYXJyYXlCdWZmZXJWaWV3ID0g
Y29udmVydDxJRExBcnJheUJ1ZmZlclZpZXc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDAsICJhcnJheUJ1ZmZlclZpZXciLCAi
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMiLCBudWxscHRyLCAiQXJyYXlCdWZmZXJWaWV3Iik7
IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRl
KGFycmF5QnVmZmVyVmlldy5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOwor
ICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNWYWx1ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0
SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczMoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIFZNJiB2bSA9IGxleGljYWxH
bG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3Rl
ZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4o
Y2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0
byBibG9iID0gY29udmVydDxJRExJbnRlcmZhY2U8QmxvYj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJn
dW1lbnRUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDAsICJibG9iIiwgIlRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkJsb2IiKTsgfSk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRv
IG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoKmJsb2IpOwotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUg
PSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1Zh
bHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3RhdGljIGlubGluZSBFbmNvZGVk
SlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNChKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAg
Vk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7
CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0
ZWRUaGlzKTsKICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRv
IG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoV1RGTW92ZShzdHJp
bmcpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50
ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
ICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0
byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVk
ZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxG
cmFtZSwganNWYWx1ZSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0p
OworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CiB9CiAKIHN0YXRpYyBpbmxp
bmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczUo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0
aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRo
cm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBB
U1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBsb25nQXJncyA9IGNvbnZlcnRWYXJpYWRpY0Fy
Z3VtZW50czxJRExMb25nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFtZSwgMCk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoV1RGTW92
ZShsb25nQXJncykpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsK
KyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+
Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1
cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVj
dCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogdGVt
cGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAppbmRleCA2YTg5
NTQwOWMxZmU4Njk1MjY2MTViNDM4MmFhYjBiODViMTM3ODI4Li4wYzczMzQwMjNlNzJlOWQzODMx
ZmY0YmI4ZTJiOWFmM2VlNTFjZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCkBAIC04MCwyNiArODAsMzAg
QEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlMSgKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFs
T2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlz
ID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1
Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwog
ICAgIGF1dG8gc2VxdWVuY2VPZlN0cmluZ3MgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLmlzVW5k
ZWZpbmVkKCkgPyBDb252ZXJ0ZXI8SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj46OlJldHVyblR5
cGV7IH0gOiBjb252ZXJ0PElETFNlcXVlbmNlPElETERPTVN0cmluZz4+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0
ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3Zl
KHNlcXVlbmNlT2ZTdHJpbmdzKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3
bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1
ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShv
YmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUs
IGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVu
Y29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2UyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+
anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gc3RyaW5nID0g
Y29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVu
Y2hlY2tlZEFyZ3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3ZlKHN0cmluZykpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpz
VmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc1dpdGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+
Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1
cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4obGV4aWNh
bEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc1ZhbHVlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVl
KTsKIH0KIAogdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKaW5kZXggYjE1Njc1
MDA0M2Y4OTk3YWQ0MDg0ZjI3NTg1MDU4ZDIwYjBjYmI4YS4uMDcxNThmZTQyMGEyNzJlNzk2ZjY1
MGNkZmM3ZDE3MjMzYjRlNTE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudC5jcHAKQEAgLTE2MCw3ICsxNjAsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3I6Ogog
ewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0UHJvbWlzZVJlamVj
dGlvbkV2ZW50Q29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VS
VChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50
KCkgPCAyKSkKQEAgLTE3MCw3ICsxNjksMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9yOjoKICAg
ICBhdXRvIGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8VGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudDo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVu
Y2hlY2tlZEFyZ3VtZW50KDEpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdFByb21pc2VSZWplY3Rp
b25FdmVudDo6Y3JlYXRlKCpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZSh0eXBl
KSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0
b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Pj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92
ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3Vi
Y2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50PihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUp
OwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29u
c3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCmluZGV4IGNhZTgx
YzllMjhmZDIyZTAzYTdjNzFlYzliOTVmMGVlODk1M2Y2MTcuLmJhMWRhMjhlZmEzYmUwY2JiMTAz
NDliYWRlYmM0Zjk3ODg4YjAzYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcApAQCAtMTQ4LDcgKzE0
OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RUeXBl
ZGVmc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVk
VGhpcyA9IGpzQ2FzdDxKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0Nh
bGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKGNhbGxG
cmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMykpCkBAIC0xNjAsNyArMTU5LDEwIEBAIHRlbXBsYXRl
PD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3QoSlNHCiAgICAgYXV0byB0ZXN0Q2FsbGJhY2tJbnRlcmZhY2UgPSBjb252ZXJ0
PElETENhbGxiYWNrSW50ZXJmYWNlPEpTVGVzdENhbGxiYWNrSW50ZXJmYWNlPj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMiksICpjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rp
b25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMiwgInRlc3RDYWxsYmFja0ludGVy
ZmFjZSIsICJUZXN0VHlwZWRlZnMiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRl
c3RUeXBlZGVmczo6Y3JlYXRlKFdURk1vdmUoaGVsbG8pLCB0ZXN0Q2FsbGJhY2tGdW5jdGlvbi5y
ZWxlYXNlTm9uTnVsbCgpLCB0ZXN0Q2FsbGJhY2tJbnRlcmZhY2UucmVsZWFzZU5vbk51bGwoKSk7
Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFj
ZTxUZXN0VHlwZWRlZnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3
bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0VHlwZWRlZnM+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNl
dFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFR5cGVkZWZzPihsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBjYWxsRnJhbWUsIGpzVmFsdWUpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0
ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9y
U3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKaW5kZXggNjZmZGRjMWNhOTM2YjVhODhi
MGQ1NDdlMTJjZTJmYzc2MTg2YzMxOS4uY2QwZGUwODgxYzQwMDFmZWRjN2Q4ZDY3NDAyNjgxYWIx
OGQ2NGQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0zNCw2ICszNCw3IEBA
CiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CisjaW5jbHVkZSAiRXZlbnRUYXJnZXRDb25jcmV0ZS5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgpAQCAtNTgsNiArNTksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEV2ZW50VGFyZ2V0KTsKIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhKTsKIAorUmVmPEV2ZW50
VGFyZ2V0PiBFdmVudFRhcmdldDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCit7CisgICAgcmV0dXJuIEV2ZW50VGFyZ2V0Q29uY3JldGU6OmNyZWF0ZShjb250ZXh0KTsK
K30KKwogYm9vbCBFdmVudFRhcmdldDo6aXNOb2RlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IDcyMGEzM2JhODQ5NzEzOWMwYzQzZmQz
MTMzMmU2ODg2ODI4M2VhMDIuLjZiYzk5YjE4NDgwYTkxMGJiNjEwYzZiNGYzMzk4MmQyZjA5MTAz
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC01NCw2ICs1NCw4IEBAIHB1YmxpYzoK
IGNsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldCk7CiBwdWJsaWM6CisgICAgc3RhdGljIFJlZjxF
dmVudFRhcmdldD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKwogICAgIHZvaWQg
cmVmKCkgeyByZWZFdmVudFRhcmdldCgpOyB9CiAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZFdmVu
dFRhcmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCmluZGV4IGU1ZjE3OWQ1
MWQxZjU5NTY3ZTE0ZDliNWM3OWU4NTE1YjNjODUwZmMuLmMxN2VkZWYzZWY5NGQ3YzkwMDJjNzRi
YTRkNTZiOTdiZGIxMWE3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbApAQCAtMTks
NiArMTksOCBAQAogICovCiAKIFsKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25zdHJ1Y3RvckNh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAg
ICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJc0ltbXV0YWJsZVByb3RvdHlwZUV4b3Rp
Y09iamVjdE9uUHJvdG90eXBlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0Q29uY3JldGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3Jl
dGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRlZDIyNGJlYjk3YTQ0OGFlZDQ1NTI5ZDY4NmQxMDcwZjExNTE4
NjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25j
cmV0ZS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbGV4
ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRXZlbnRUYXJnZXRDb25j
cmV0ZSk7CisKK1JlZjxFdmVudFRhcmdldENvbmNyZXRlPiBFdmVudFRhcmdldENvbmNyZXRlOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBFdmVudFRhcmdldENvbmNyZXRlKGNvbnRleHQpKTsKK30KKworRXZlbnRUYXJn
ZXRDb25jcmV0ZTo6RXZlbnRUYXJnZXRDb25jcmV0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCit7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldENvbmNyZXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRD
b25jcmV0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzMDQzYjkxOTQzZTNjMmQyYmY1ZGQ2NjE3ZmI4MjUwNTU3
N2RiNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRD
b25jcmV0ZS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxl
eGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgorI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
SW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRXZlbnRUYXJnZXRDb25jcmV0ZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50VGFyZ2V0Q29uY3JldGU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CisgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChFdmVudFRhcmdldENvbmNyZXRlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PEV2ZW50VGFyZ2V0Q29uY3JldGU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisK
KyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRXZlbnRUYXJnZXRDb25jcmV0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jik7CisKKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldElu
dGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CisKKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBy
ZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50
X2ZhY3RvcnkucGwKaW5kZXggMTM3YzIxMjU1ZjU3YmFjYzU0YjdmYzg3Y2QzYTZiMjA4ZDFlOTIy
YS4uZmQ2MzYxNTY2ZDU0NDRjN2IwNTE5NWNjZDJlYTg4N2ZkN2JlZTBmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsCkBAIC0xMzUsMTMgKzEzNSwxNCBAQCBzdWIg
Z2VuZXJhdGVJbXBsZW1lbnRhdGlvbigpCiAgICAgICAgIHByaW50IEYgIiNlbmRpZlxuIiBpZiAk
Y29uZGl0aW9uYWw7CiAgICAgfQogCi0gICAgcHJpbnQgRiAiICAgIH1cbiI7CisgICAgcHJpbnQg
RiAiICAgIGRlZmF1bHQ6XG4iOwogICAgIGlmICgkZmFjdG9yeUZ1bmN0aW9uIGVxICJ0b05ld2x5
Q3JlYXRlZCIpIHsKLSAgICAgICAgcHJpbnQgRiAiICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPCRu
YW1lc3BhY2U+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7XG4iOworICAgICAgICBwcmlu
dCBGICIgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPCRuYW1lc3BhY2U+KGdsb2JhbE9iamVj
dCwgV1RGTW92ZShpbXBsKSk7XG4iOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHByaW50IEYgIiAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTtcbiI7Ci0gICAgICAgIHByaW50IEYgIiAgICByZXR1cm4g
SlNDOjpqc051bGwoKTtcbiI7CisgICAgICAgIHByaW50IEYgIiAgICAgICAgcmV0dXJuIHdyYXAo
c3RhdGUsIGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iOwogICAgIH0KKworICAgIHByaW50IEYgIiAg
ICB9XG4iOwogICAgIHByaW50IEYgIn1cbiI7CiAgICAgcHJpbnQgRiAiXG4iOwogICAgIHByaW50
IEYgIn0gLy8gbmFtZXNwYWNlIFdlYkNvcmVcbiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWNkMzJmY2UwMzRhYzk4ZTU1
YTUwMjY5MmViZGMwZTg5MTczZWMyZS4uZjRhZjk2MTY2NzRmN2E1OTBmNGI4MjhjOGY5ZTlkNDA0
ZGIzYmI2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAyLTE0ICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRUYXJn
ZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xh
c3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDIwLTAyLTEyICBK
YXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNlLmpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWMgd2sy
IF0gZmFzdC9kb20vYXR0cl9kZWFkX2RvYy5odG1sIGlzIGZsYWt5IGZhaWxpbmcuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5NTMwZGIxOWY1ZTU1MWJiNzFmNGE4MWFiMDA5YjI3
NGI5YmZkOWZmLi5hMWFkOTJjOWFmODliMDg5MTE3NTEyZmI2NzVmNmYxMGJlMzFjYjQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMi0xNCAg
QWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgSW1wbGVt
ZW50IEV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQzMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlw
dC1iaW5kaW5nL2NvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFy
Z2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2
ZW50LWdsb2JhbC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dDoKKwogMjAyMC0wMi0xMiAgUm9zc2FuYSBNb250ZXJpc28gIDxybW9udGVyaXNvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBNb3ZlIGdyaWQtaXRlbS1hdXRvLW1hcmdpbnMtYWxp
Z25tZW50IHRlc3RzIHRvIFdQVCBmb2xkZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL2RvbS1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
ZG9tLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggZmQxYTU5NzZkMzlhMTc4MDhmYzdm
N2NhNGEzNzk1ZWMyNDhmNDdiMC4uNTlkYWQwM2RlZTk2ZDlhNjFiMWQxOTJlNGFkYTA1NzBhYmI2
YjlkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKQEAgLTgsNyArOCw2IEBAIFBBU1MgVHJ5QWxsb2NhdGUoJ0NoYXJhY3RlckRh
dGEnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnQ0RBVEFTZWN0aW9uJykgaXMg
J2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50VHlwZScpIGlzICdleGNlcHRp
b24nCiBQQVNTIFRyeUFsbG9jYXRlKCdFbGVtZW50JykgaXMgJ2V4Y2VwdGlvbicKLVBBU1MgVHJ5
QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUo
J0hUTUxEb2N1bWVudCcpIGlzICdleGNlcHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdOb2RlJykg
aXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicp
IGlzICdleGNlcHRpb24nCkBAIC0xMzEsNiArMTMwLDkgQEAgUEFTUyBUcnlBbGxvY2F0ZSgnRG9j
dW1lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVu
dEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudF0nCiBQQVNTIFRyeUFsbG9j
YXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudF0nCiBQ
QVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudEZyYWdtZW50JykgaXMgJ1tvYmplY3QgRG9jdW1lbnRG
cmFnbWVudF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0IEV2
ZW50VGFyZ2V0XScKK1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmplY3Qg
RXZlbnRUYXJnZXRdJworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVj
dCBFdmVudFRhcmdldF0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlzICdbb2JqZWN0IFJh
bmdlXScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwogUEFT
UyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKaW5kZXggNGI3YWU3NTU2NTU5MmE4MmI1ZDNj
MjI4YWM4MmE2YTJkNmYxNjdlYy4uYjQwMTA1NjgwMmI1YzBmOWE3YmMwYzU4NGE2Mjc0YjEwNmRl
MGEyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbApAQCAt
MTgsNyArMTgsNiBAQCB2YXIgb2JqZWN0c19leGNlcHRpb24gPSBbCiAgICAgJ0NEQVRBU2VjdGlv
bicsCiAgICAgJ0RvY3VtZW50VHlwZScsCiAgICAgJ0VsZW1lbnQnLAotICAgICdFdmVudFRhcmdl
dCcsCiAgICAgJ0hUTUxEb2N1bWVudCcsCiAgICAgJ05vZGUnLAogICAgICdQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24nLApAQCAtMTMyLDYgKzEzMSw3IEBAIHZhciBvYmplY3RzX2NvbnN0cnVjdG9yID0g
WwogICAgICdET01QYXJzZXInLAogICAgICdEb2N1bWVudCcsCiAgICAgJ0RvY3VtZW50RnJhZ21l
bnQnLAorICAgICdFdmVudFRhcmdldCcsCiAgICAgJ1JhbmdlJywKICAgICAnVGV4dCcsCiAgICAg
J1hNTEh0dHBSZXF1ZXN0JywKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jb25zdHJ1Y3RvcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5k
ZXggYmMzMTI2ZDhiNjE4NjE3YTNlMGJmNTEyOGZkNDY0NDE1ZTc5N2EzMC4uZGM2MDRkMmQ0MzQ0
MGU5YTAwMmZmYWVhZjliY2M2NjFkNjU3ODZkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2Nv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKQEAgLTIsMTQgKzIsMTQgQEAKIFBBU1MgUmVhbG0gZm9yIGNvbnN0cnVjdGVk
IG9iamVjdHMgCiBQQVNTIE5vcm1hbCBjb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IAogUEFT
UyBOb3JtYWwgY29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93IAotRkFJTCBDb25zdHJ1Y3RvciBp
biBjaGlsZCB3aW5kb3cgd2l0aCBub3JtYWwgTmV3VGFyZ2V0IGZyb20gcGFyZW50IHdpbmRvdyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBl
XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgQ29u
c3RydWN0b3IgaW4gcGFyZW50IHdpbmRvdyB3aXRoIG5vcm1hbCBOZXdUYXJnZXQgZnJvbSBjaGls
ZCB3aW5kb3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNl
clByb3RvdHlwZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0i
Ci1GQUlMIFN1YmNsYXNzIGNvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2Jq
ZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCi1GQUlMIFN1YmNsYXNzIGNvbnN0cnVjdG9yIGluIGNo
aWxkIHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0
XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgU3Vi
Y2xhc3MgY29uc3RydWN0b3IgaW4gcGFyZW50IHdpbmRvdyB3aXRoIHBhcmVudCBjbGFzcyBpbiBj
aGlsZCB3aW5kb3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVj
dF0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCi1GQUlMIFN1
YmNsYXNzIGNvbnN0cnVjdG9yIGluIGNoaWxkIHdpbmRvdyB3aXRoIHBhcmVudCBjbGFzcyBpbiBw
YXJlbnQgd2luZG93IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmpl
Y3RdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBD
b25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cgd2l0aCBiYWQgTmV3VGFyZ2V0IGZyb20gcGFyZW50
IHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2Vy
UHJvdG90eXBlXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIK
LUZBSUwgQ29uc3RydWN0b3IgaW4gcGFyZW50IHdpbmRvdyB3aXRoIGJhZCBOZXdUYXJnZXQgZnJv
bSBjaGlsZCB3aW5kb3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERP
TVBhcnNlclByb3RvdHlwZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3Rv
dHlwZV0iCitQQVNTIENvbnN0cnVjdG9yIGluIGNoaWxkIHdpbmRvdyB3aXRoIG5vcm1hbCBOZXdU
YXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IAorUEFTUyBDb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2lu
ZG93IHdpdGggbm9ybWFsIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyAKK1BBU1MgU3ViY2xh
c3MgY29uc3RydWN0b3IgaW4gcGFyZW50IHdpbmRvdyAKK1BBU1MgU3ViY2xhc3MgY29uc3RydWN0
b3IgaW4gY2hpbGQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBwYXJlbnQg
d2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIGNoaWxkIHdpbmRvdyAKK1BBU1MgU3ViY2xhc3Mg
Y29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIHBhcmVudCB3
aW5kb3cgCitQQVNTIENvbnN0cnVjdG9yIGluIGNoaWxkIHdpbmRvdyB3aXRoIGJhZCBOZXdUYXJn
ZXQgZnJvbSBwYXJlbnQgd2luZG93IAorUEFTUyBDb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93
IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyAKIEZBSUwgQ29uc3RydWN0b3Ig
aW4gcGFyZW50IHdpbmRvdyB3aXRoIGJhZCBOZXdUYXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IHRo
YXQncyBhIGJvdW5kIGNoaWxkIHdpbmRvdyBmdW5jdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIgYnV0IGdvdCBvYmplY3QgIltv
YmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKIEZBSUwgQ29uc3RydWN0b3IgaW4gY2hpbGQgd2lu
ZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyB0aGF0J3MgYSBib3VuZCBw
YXJlbnQgd2luZG93IGZ1bmN0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBET01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01QYXJz
ZXJQcm90b3R5cGVdIgogRkFJTCBDb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IHdpdGggYmFk
IE5ld1RhcmdldCBmcm9tIHBhcmVudCB3aW5kb3cgdGhhdCdzIGEgcHJveHkgZm9yIGEgY2hpbGQg
d2luZG93IGZ1bmN0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBE
T01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90
b3R5cGVdIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKaW5kZXggNzEx
OTBlM2FkNzA3NmJkMTRhMzg3YzliY2FiNTZiYTI5NWE0ZmVhNS4uNWVmMDBiYWY5ZTQyY2I5Y2Fm
ZWZkZTU2MTUxY2E5MjY5N2IzM2Y5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CkBAIC00MSwxMSArNDEsMTEgQEAgUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0
cnVjdG9yIChudWxsIGFyZ3VtZW50KQogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9y
IChlbXB0eSBhcmd1bWVudCkgCiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFy
Z3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0
cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1GQUlMIFN1YmNsYXNz
ZWRFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5l
ZCBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1
YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAo
ZW1wdHkgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJ
TCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1
ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2Vk
RXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSBhc3Nl
cnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNv
bnN0cnVjdG9yIChubyBhcmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3Rv
ciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9y
IChudWxsIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0
eSBhcmd1bWVudCkgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQg
d2l0aCBkZWZhdWx0IHZhbHVlcykgCitQQVNTIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAo
YXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAogUEFTUyBVSUV2ZW50IGNvbnN0cnVj
dG9yICh2aWV3IGFyZ3VtZW50IHdpdGggd3JvbmcgdHlwZSkgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRh
cmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0
aWJsZS5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGJmMDhmYzc2OGEyNzhjMDFiYjdkZWJiNThjYWIy
MGY2NjU0NjMxZmYuLjc1M2U0NjRmMzMxYjNlNjNhMWJhMjBhNmQ0ZDY4OGNjNDEzZjg4MzAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
IAotRkFJTCBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVk
IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJn
ZXQoKScpCi1GQUlMIEV2ZW50VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdzdXBlciguLi5hcmdzKScpCitQQVNTIEEgY29u
c3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgCitQQVNTIEV2ZW50
VGFyZ2V0IGNhbiBiZSBzdWJjbGFzc2VkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3Ry
dWN0aWJsZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGJmMDhmYzc2OGEyNzhjMDFiYjdkZWJiNThj
YWIyMGY2NjU0NjMxZmYuLjc1M2U0NjRmMzMxYjNlNjNhMWJhMjBhNmQ0ZDY4OGNjNDEzZjg4MzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEEgY29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJl
IHVzZWQgYXMgZXhwZWN0ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBFdmVudFRhcmdldCgpJykKLUZBSUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNz
ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFy
Z3MpJykKK1BBU1MgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBl
Y3RlZCAKK1BBU1MgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9l
dmVudC1nbG9iYWwtZXh0cmEud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEu
d2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA1MWZkZThjMmU5MTAzOTNmNjAxYmM2NjMwYzU5MWFh
MDMxNmY2YWViLi4yNDM4NjRkZmM5NmE1Y2ZlMzczMzhjZDcwMjM5NjhhOGU5OWE2Y2E4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWds
b2JhbC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIHdp
bmRvdy5ldmVudCBmb3IgY29uc3RydWN0b3JzIGZyb20gYW5vdGhlciBnbG9iYWw6IEV2ZW50VGFy
Z2V0IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgb3RoZXJX
aW5kb3dbY29uc3RydWN0b3JOYW1lXSgpJykKK0ZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1
Y3RvcnMgZnJvbSBhbm90aGVyIGdsb2JhbDogRXZlbnRUYXJnZXQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2Jq
ZWN0IEV2ZW50XSIKIEZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1Y3RvcnMgZnJvbSBhbm90
aGVyIGdsb2JhbDogWE1MSHR0cFJlcXVlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIK
IFBBU1Mgd2luZG93LmV2ZW50IGFuZCBlbGVtZW50IGZyb20gYW5vdGhlciBkb2N1bWVudCAKIEZB
SUwgd2luZG93LmV2ZW50IGFuZCBtb3ZpbmcgYW4gZWxlbWVudCBwb3N0LWRpc3BhdGNoIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBFdmVudF0iIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
aWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBmNDQ1OTNhZGQ2MWY5MGYw
OWUwMTRkMGJjNzAwNmMwZGExMzcwN2Q4Li42YjMwOWM4OTU5YmU2MDZmY2I1ZWM2YTMxMDA1ZmUx
M2M2NDdjMWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEzMywxNCArMTMzLDE0IEBAIFBBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGFkZEV2
ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29i
amVjdCBPYmplY3RdKSAKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVt
b3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0
XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBkaXNwYXRjaEV2ZW50KEV2ZW50KSAKLUZBSUwgRXZlbnRUYXJnZXQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBuZXcgRXZlbnRUYXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVk
IGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBv
YmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZl
bnRUYXJnZXQoKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1
YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVu
Y3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgp
JykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5l
ciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5n
LCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcg
RXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2Jq
ZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBl
Y3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNv
bnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2
ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVu
dFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBh
IGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVu
dFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiZGlzcGF0Y2hFdmVudChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVh
bHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQg
bnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1
Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVudFRhcmdl
dCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgorUEFTUyBFdmVudFRhcmdl
dCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIAorUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVu
dExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmpl
Y3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIs
IFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJy
ZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmpl
Y3RdLFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2
ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVu
dFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQ
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBv
biBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFib3J0Q29udHJvbGxlciBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBB
Ym9ydENvbnRyb2xsZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggNmVkMmM0ZGI3
ZmRjYTg2YTk5N2ZiMTIyZmY0OTg4MWJkMTVkNWNkYy4uZDE1NWNjNTAwYzA4YTdlMjkzZDA5ZTA1
ZDFjZjE2YTk3ODhhYzc2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5l
c3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTU4LDE0ICsxNTgsMTQgQEAgUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamUKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZl
bnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2Jq
ZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9u
IGRpc3BhdGNoRXZlbnQoRXZlbnQpIAotRkFJTCBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGlu
ZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVu
dFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCkn
KSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVy
LCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBF
dmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcs
IEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBF
dmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBF
dmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmpl
Y3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
ZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZl
bnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50
VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3Nl
cnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEg
Y29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0
KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCitQQVNTIEV2ZW50VGFyZ2V0
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVj
dCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwg
W29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJl
bW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVj
dF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZl
bnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50
VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BB
U1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9u
IG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
IFBBU1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTE5MGUzYWQ3MDc2YmQxNGEz
ODdjOWJjYWI1NmJhMjk1YTRmZWE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotCi1QQVNTIEV2ZW50IGNv
bnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmlu
ZWQgYXJndW1lbnQpIAotUEFTUyBFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1Q
QVNTIEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNvbnN0
cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgRXZlbnQgY29uc3Ry
dWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlFdmVudCBj
b25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh1bmRl
ZmluZWQgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50
KSAKLVBBU1MgVUlFdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBVSUV2
ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgVUlF
dmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFT
UyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQg
Y29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3Ry
dWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChlbXB0
eSBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGgg
ZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBGb2N1c0V2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKG5v
IGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3Vt
ZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNT
IE1vdXNlRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVu
dCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIE1vdXNl
RXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBB
U1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50
IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0
cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoZW1w
dHkgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRo
IGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgV2hlZWxFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQg
d2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9y
IChubyBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5l
ZCBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1l
bnQpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1Q
QVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1
ZXMpIAotUEFTUyBLZXlib2FyZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1k
ZWZhdWx0IHZhbHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKG5vIGFy
Z3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFy
Z3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVu
dCkgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAK
LVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0
IHZhbHVlcykgCi1QQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdp
dGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9y
IChubyBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
IFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0
cnVjdG9yIChudWxsIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBj
b25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAo
YXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yICh2aWV3IGFyZ3VtZW50IHdp
dGggd3JvbmcgdHlwZSkgCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390868</attachid>
            <date>2020-02-15 08:57:31 -0800</date>
            <delta_ts>2020-02-15 11:13:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20200215185729.patch</filename>
            <type>text/plain</type>
            <size>67724</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJjMjcyYWM5MGFiMDRk
MDBhZDAyMDBiMzUwODIxOGQ2MzI2ZjU4ZS4uMmVkMWQwMWVlMmI5MWFhMzE0NjA5YmJjN2UyM2Y1
MTg4OTI3ZDRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTAyLTE1ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50VGFy
Z2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4gV2Ug
ZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJhY3QK
KyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFibGUg
ZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAgICAg
ICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9yIHRo
ZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRvIHBy
ZXZlbnQgZGVmaW5pdGlvbiBvZiBzcGVjaWZpYyB0byBFdmVudFRhcmdldENvbmNyZXRlIGB0b0pT
YCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAgICAgd2UgZG9uJ3QgZGVm
aW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1dCByYXRoZXIgdHdlYWsg
bWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQgdG8gYmFzZSBpbnRlcmZh
Y2UgKGxpa2UgaXQgZG9lcyBmb3IgRXZlbnQpLgorCisgICAgICAgIFRvIGFsbG93IHN1YmNsYXNz
aW5nIG9mIGFsbCBET00gY29uc3RydWN0b3JzLCBub24tY3VzdG9tIG9uZXMgcmVwbGFjZSBzdHJ1
Y3R1cmVzIG9mIG5ld2x5IGNyZWF0ZWQKKyAgICAgICAgd3JhcHBlciBvYmplY3RzIHdpdGggb25l
cyByZXR1cm5lZCBieSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZS4g
UGVyIFdlYklETCBzcGVjIFsxXSwKKyAgICAgICAgYHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVk
ZWRgIGhlbHBlciB1c2VzIHJlYWxtIG9mIGBuZXdUYXJnZXRgIGZvciBkZWZhdWx0IHByb3RvdHlw
ZXMuCisKKyAgICAgICAgVGhpcyBhcHByb2FjaCB3YXMgY2hvc2VuIGJlY2F1c2UgYSkgZGV0ZWN0
aW5nIFtbQ29uc3RydWN0XV0gd2l0aCBjYWxsRnJhbWUtPm5ld1RhcmdldCgpIGlzCisgICAgICAg
IHVucmVsaWFibGUgb3V0c2lkZSBjb25zdHJ1Y3RvciwgYW5kIGIpIHBhc3NpbmcgYG5ld1Rhcmdl
dGAgZG93biB0byBgY3JlYXRlV3JhcHBlcmAgdmlhCisgICAgICAgIGB0b0pTTmV3bHlDcmVhdGVk
YCBpcyBxdWl0ZSBhd2t3YXJkIGFuZCB3b3VsZCByZXN1bHQgaW4gbWFzc2l2ZSBjb2RlIGNoYW5n
ZS4KKworICAgICAgICBbMV0gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaW50ZXJu
YWxseS1jcmVhdGUtYS1uZXctb2JqZWN0LWltcGxlbWVudGluZy10aGUtaW50ZXJmYWNlCisgICAg
ICAgIChzdGVwIDMuMy4yKQorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9kb20tY29uc3RydWN0
b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
V2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jb25zdHJ1Y3RvcnMuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNs
YXNzZXMtY29uc3RydWN0b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9p
ZGxoYXJuZXNzLndpbmRvdy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6c2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbToKKyAgICAgICAgKGdlbmVyYXRl
SW50ZXJmYWNlc0hlYWRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTLyo6
IEFkanVzdCBiaW5kaW5ncyBleHBlY3RhdGlvbnMuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpjcmVhdGUpOgorICAgICAgICAq
IGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXRDb25jcmV0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vbWFrZV9ldmVudF9m
YWN0b3J5LnBsOgorICAgICAgICAoZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisKIDIwMjAtMDIt
MTIgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtD
dXJsXSBGb3JjZSBIVFRQLzEuMSBmb3IgV2ViU29ja2V0IGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCmluZGV4IGFmODc3N2UzZjA1YmZiM2EyZGFiNDA3OGZlNmRhODBlNGU3ZDIyNjAuLmJiMDhh
ZDc4OThkYWVkYmZhMmJmMzYxOGU1YTc1NzA3NTVlYTZkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpA
QCAtNDAyLDYgKzQwMiw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBkb20vRXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVldWUuaAogICAgIGRvbS9FdmVu
dFRhcmdldC5oCisgICAgZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaAogICAgIGRvbS9FeGNlcHRp
b24uaAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmgKICAgICBkb20vRXhjZXB0aW9uRGF0YS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDM5NzYxMzRkYjhlMWU2ZTNmY2E3MDg5YTUxZjMwZjZmYjljYmMxMzEu
LjE1ZjZmMDNmNDI3NGNmNzQ4OWMzZTlmNzIyZGQ5YTY5ZDg5MGM3ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC04ODEsNiArODgxLDcgQEAgZG9tL0V2ZW50TG9vcC5jcHAKIGRvbS9FdmVudE5hbWVzLmNw
cAogZG9tL0V2ZW50UGF0aC5jcHAKIGRvbS9FdmVudFRhcmdldC5jcHAKK2RvbS9FdmVudFRhcmdl
dENvbmNyZXRlLmNwcAogZG9tL0V4Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVT
aGVldHMuY3BwCiBkb20vRm9jdXNFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMjRjYTM1NGQ2Yzk3NDRkOTE4YzY1
ZGZhMWE3ZDQ2YzI0MDdiZDIwLi5iNmFiZWExYWQyNDI5MjNhNDJjMTljMDdiOTcyZjNlZmZkZThm
NjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yNTIwLDYgKzI1MjAsNyBAQAogCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQg
LyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NDlGNzc3NTBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBs
aWVyLmggKi87IH07CiAJCTg0QTgxRjNFMEZDN0RGRjAwMDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRBODFGM0Mw
RkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFscGhhLmggKi87IH07CiAJCTg0QTgxRjQyMEZDN0Uw
MjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3Jh
cGhpYy5oICovOyB9OworCQk4NEIzNDlBMjIyRjg2RTc1MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRD
b25jcmV0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODRCMzQ5QTAyMkY4NkU3NDAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCAqLzsgfTsK
IAkJODRCNkI5NzgxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEI2Qjk3NjEyMEYx
M0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCAqLzsgfTsKIAkJODRDNUIyRkIx
MjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QzVCMkY5MTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggKi87IH07CiAJCTg0QzY3
ODREMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRoQmxlbmRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRDNjc4NEIxMjE0ODE0NzAwQTkyOTAyIC8q
IFNWR1BhdGhCbGVuZGVyLmggKi87IH07CkBAIC0xMDQwMCw2ICsxMDQwMSw4IEBACiAJCTg0QTgx
RjNGMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUdyYXBoaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VHcmFwaGljLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjJCMjRGMDU2QkYxNUYwMEQyQjc3MSAvKiBTU0xL
ZXlHZW5lcmF0b3JNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBTU0xLZXlHZW5lcmF0b3JNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQk4NEIzNDlBMDIyRjg2
RTc0MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldENvbmNyZXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGFyZ2V0Q29u
Y3JldGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEI2MjY4NDEzMzEzOEY5
MDA5NUE0ODkgLyogRm9udFBsYXRmb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGb250UGxhdGZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODRCNkI5NzUxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0
U291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNkI5NzYxMjBGMTNF
NTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yODEzOCw2ICsyODE0MSw4IEBACiAJCQkJRTEyRURCRTkwQjMwOEUwQjAwMjcw
NEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCAqLywKIAkJCQlFMTJFREI3QTBCMzA4QTc4MDAyNzA0QjYg
LyogRXZlbnRUYXJnZXQuaCAqLywKIAkJCQk4NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZl
bnRUYXJnZXQuaWRsICovLAorCQkJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRh
cmdldENvbmNyZXRlLmNwcCAqLywKKwkJCQk4NEIzNDlBMDIyRjg2RTc0MDBENDdCQ0YgLyogRXZl
bnRUYXJnZXRDb25jcmV0ZS5oICovLAogCQkJCUNEQ0U1Q0QwMTQ2MzNCQzkwMEQ0N0NDQSAvKiBF
dmVudFRhcmdldEZhY3RvcnkuaW4gKi8sCiAJCQkJOTNEMTk2MzIxRDZDQUI4MjAwRkM3RTQ3IC8q
IEV4Y2VwdGlvbi5oICovLAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRp
b25Db2RlLmggKi8sCkBAIC0yOTc5OSw2ICsyOTgwNCw3IEBACiAJCQkJRTRBOEQyMTYyMjU3OERC
NzAwQTg0NjNDIC8qIEV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMEZFRjM3MkIx
N0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkVE
QjdCMEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVu
dFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkw
MEJBNzhGQyAvKiBFdmVudFRyYWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAppbmRleCA1ZGZjZGNi
ZmMwNDhiMjJkNGFkNDhlYzg0ODgwNGE1MmVjODc3ZmQyLi5iOGU1OTI5MjI3ODk4N2YzMmRkYWNm
MTZiZjJmNmUyYTc2MjAyZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXJDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlckNhY2hlLmgKQEAgLTIwMSw0ICsyMDEsMjMgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
RE9NQ2xhc3M+IGlubGluZSBKU0M6OkpTVmFsdWUgd3JhcChKU0M6OkpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2EKICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZChsZXhpY2FsR2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QsIFJlZjxET01DbGFzcz4oZG9tT2JqZWN0KSk7CiB9CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIERPTUNsYXNzPiBpbmxpbmUgdm9pZCBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KQoreworICAgIEpTQzo6SlNPYmpl
Y3QqIG5ld1RhcmdldCA9IGNhbGxGcmFtZS0+bmV3VGFyZ2V0KCkuZ2V0T2JqZWN0KCk7CisgICAg
SlNDOjpKU09iamVjdCogY29uc3RydWN0b3IgPSBjYWxsRnJhbWUtPmpzQ2FsbGVlKCk7CisgICAg
aWYgKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0ID09IGNvbnN0cnVjdG9yKQorICAgICAgICByZXR1
cm47CisKKyAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSB0eXBlbmFtZSBKU0RPTVdyYXBwZXJDb252
ZXJ0ZXJUcmFpdHM8RE9NQ2xhc3M+OjpXcmFwcGVyQ2xhc3M7CisKKyAgICBKU0M6OlZNJiB2bSA9
IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCisgICAgYXV0byogbmV3VGFyZ2V0R2xvYmFsT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihuZXdUYXJnZXQtPmdsb2JhbE9iamVjdCh2bSkpOwor
ICAgIGF1dG8qIGJhc2VTdHJ1Y3R1cmUgPSBnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNsYXNzPih2
bSwgKm5ld1RhcmdldEdsb2JhbE9iamVjdCk7CisgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUg
PSBKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGxleGljYWxH
bG9iYWxPYmplY3QsIGNvbnN0cnVjdG9yLCBuZXdUYXJnZXQsIGJhc2VTdHJ1Y3R1cmUpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAganNPYmplY3QtPnNldFN0
cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0
b20uY3BwCmluZGV4IGI0N2FjZjc1Njk1MTkzNzMwNGY4ZjNhMzZmZTU5YWMzNWY2MDYyOGEuLjY4
MjFjYmVkZDBmNGFkN2ExOTBmOGFhM2Q4ZjczNjg5NjFkODZmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCkBAIC00Myw2ICs0
MywxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorSlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgUmVmPEV2ZW50VGFyZ2V0PiYmIHZhbHVlKQoreworICAgIHJldHVybiBj
cmVhdGVXcmFwcGVyPEV2ZW50VGFyZ2V0PihnbG9iYWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsK
K30KKwogRXZlbnRUYXJnZXQqIEpTRXZlbnRUYXJnZXQ6OnRvV3JhcHBlZChWTSYgdm0sIEpTVmFs
dWUgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlLmluaGVyaXRzPEpTV2luZG93UHJveHk+KHZtKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KaW5kZXggNmQ3MjFhOGRmODc4MjI2NTMzNDdkZTJmODJiYTI1NTIyNWVjNTk3Ni4uZDc4OTQw
NWZlYjgwOGUzNTc4OWJlMTRlNmIyYjQyZDU5Yjc5Yzk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTczMzMsNyArNzMz
Myw2IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTtcbiIpOwogICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
VU5VU0VEX1BBUkFNKHRocm93U2NvcGUpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDwke2NvbnN0cnVjdG9yQ2xhc3NO
YW1lfSo+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBBU1NFUlQoY2FzdGVkVGhpcyk7XG4iKTsKIApAQCAtNzM1NCw2ICs3
MzUzLDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTtcbiIpIGlmICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0
ZUNvbnRhaW5zKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NvbnN0cnVjdG9yQ2Fs
bFdpdGh9LCAiRXhlY1N0YXRlIik7CiAKICAgICAgICAgICAgIG15ICRJRExUeXBlID0gR2V0SURM
VHlwZSgkaW50ZXJmYWNlLCAkaW50ZXJmYWNlLT50eXBlKTsKKyAgICAgICAgICAgIG15ICRpbXBs
VHlwZSA9IEdldEltcGxDbGFzc05hbWUoJGludGVyZmFjZSk7CiAKICAgICAgICAgICAgIEFkZFRv
SW1wbEluY2x1ZGVzKCJKU0RPTUNvbnZlcnRJbnRlcmZhY2UuaCIpOwogCkBAIC03MzYzLDcgKzcz
NjMsMTIgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpIGlmICRp
bnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRp
b259OwogICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywg
IldURk1vdmUob2JqZWN0KSIpOwogCi0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPCR7SURMVHlwZX0+KCIg
LiBqb2luKCIsICIsIEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzKSAuICIpKTtcbiIp
OworICAgICAgICAgICAgIyBGSVhNRTogdG9KU05ld2x5Q3JlYXRlZCBzaG91bGQgcmV0dXJuIEpT
T2JqZWN0KiBpbnN0ZWFkIG9mIEpTVmFsdWUuCisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0ZWQ8JHtJRExUeXBlfT4oIiAu
IGpvaW4oIiwgIiwgQGNvbnN0cnVjdGlvbkNvbnZlcnNpb25Bcmd1bWVudHMpIC4gIikuZ2V0T2Jq
ZWN0KCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7XG4iKSBpZiAkaW50ZXJmYWNlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntDb25zdHJ1Y3Rvck1heVRocm93RXhjZXB0aW9ufTsKKyAgICAgICAgICAg
IHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPCR7
aW1wbFR5cGV9PihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTtcbiIp
OworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTtcbiIpOworICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9XG5cbiIpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQppbmRl
eCA5MDllOGJlNzYwZGI3ZmI5YzdjYjFhZjc2MDRhNWY5Nzk3MGI4MTFjLi45MDZjYjBlNTUzNGI2
ZTQ1YTBkNWExZWZmMDliY2MzZmQ4ZGMwNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbQpAQCAtMjQzLDYgKzI0MywxMSBAQCBz
dWIgZ2VuZXJhdGVJbnRlcmZhY2VzSGVhZGVyKCkKICAgICAgICAgcHJpbnQgRiAiI2VuZGlmXG4i
OwogICAgIH0KIAorICAgIGlmICgkbmFtZXNwYWNlIGVxICJFdmVudFRhcmdldCIpIHsKKyAgICAg
ICAgcHJpbnQgRiAiICAgICR7c3VmZml4fSA9ICRjb3VudCxcbiI7CisgICAgICAgICRjb3VudCsr
OworICAgIH0KKwogICAgIGZvciBteSAkaW50ZXJmYWNlIChzb3J0IGtleXMgJXVuY29uZGl0aW9u
YWxJbnRlcmZhY2VzKSB7CiAgICAgICAgIHByaW50IEYgIiAgICAke2ludGVyZmFjZX0ke3N1ZmZp
eH0gPSAkY291bnQsXG4iOwogICAgICAgICAkY291bnQrKzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmNwcAppbmRleCA4Nzc1NTcxOWM5NGQzMGQ2Y2RlMDBlZWIxYTdmOWI1NzJhYjgy
ZDljLi42NmNiMzkwMWZiMDRmY2NjNWM1NTM4MjRjM2QwN2E3Y2Q2MGZiODg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC0xNTksNyArMTU5LDYgQEAgdGVtcGxhdGU8
PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25z
dHJ1Y3Rvcjo6Y29uc3QKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgp
OwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVO
VVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpT
VGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7
CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFy
Z3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMTY5LDcgKzE2OCwxMCBAQCB0ZW1wbGF0ZTw+IEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
Ojpjb25zdAogICAgIGF1dG8gZXZlbnRJbml0RGljdCA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxU
ZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUtPmFyZ3VtZW50KDEpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdEV2ZW50Q29uc3RydWN0b3I6
OmNyZWF0ZShXVEZNb3ZlKHR5cGUpLCBXVEZNb3ZlKGV2ZW50SW5pdERpY3QpKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RFdmVu
dENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RFdmVudENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKS5n
ZXRPYmplY3QoKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RFdmVudENv
bnN0cnVjdG9yPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc09iamVjdCk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RFdmVu
dENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2
bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKaW5kZXggZGEwNTU1OTg1NWFhMGM2MWJmYzUyMzUwYmJhMTUzNDAxNTUxMjAxZi4uMTZj
MTQ4Yzg1ODY1YmJmNjk0Y2RjYTBjOGY4NGM3NTcxNjQ2MjE3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFj
ZS5jcHAKQEAgLTI1OCw3ICsyNTgsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKUwogewogICAg
IFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUp
OwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0
b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAg
ICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTI3MSw3
ICsyNzAsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVz
dEludGVyZmFjZUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlMKICAgICBhdXRvIHN0cjIgPSBjYWxs
RnJhbWUtPmFyZ3VtZW50KDEpLmlzVW5kZWZpbmVkKCkgPyAiZGVmYXVsdFN0cmluZyJfcyA6IGNv
bnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNo
ZWNrZWRBcmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RJbnRlcmZhY2U6OmNyZWF0
ZSgqY29udGV4dCwgV1RGTW92ZShzdHIxKSwgV1RGTW92ZShzdHIyKSk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0SW50ZXJmYWNl
Pj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhy
b3dTY29wZSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RJbnRlcmZhY2U+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpLmdldE9iamVjdCgpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9
KTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RJbnRlcmZhY2U+KGxleGlj
YWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNPYmplY3QpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzT2Jq
ZWN0KTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9y
Ojpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5k
ZXggZDQ2M2RkMjE2NGFkN2I2N2UzY2QzNTA2NmVmMWNkYzAxYThiYjg5Yy4uNDMzYWYwYjY0ZTlj
ZjgzZTYxOTMzZGU5NjlmNzQ1NDkwZDViNGRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0
cnVjdG9yLmNwcApAQCAtOTQsNyArOTQsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6Ogogewog
ICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Nj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2Nv
cGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rv
ck5hbWVkQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChj
YXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkg
PCAxKSkKQEAgLTEwNiw3ICsxMDUsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yOjoKICAgICBh
dXRvIHN0cjMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDIpLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmco
KSA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1l
LT51bmNoZWNrZWRBcmd1bWVudCgyKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROYW1lZENvbnN0
cnVjdG9yOjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3Ry
MiksIFdURk1vdmUoc3RyMykpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5
Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5hbWVkQ29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3Zl
KG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdE5hbWVkQ29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpLmdldE9i
amVjdCgpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICBz
ZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3ROYW1lZENvbnN0cnVjdG9yPihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVj
dCk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yTmFtZWRD
b25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IGExNDJjMDcyYmZk
Y2YyODQzYzRlM2M2MmMzZDAyNzNiOGIyZDYwOWQuLjJiYjJkMTQ1YjAzNGRlNWYyMTNkZDBkNDUw
NDM0MTdkNDI4MDM2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKQEAgLTEwMiwxMSArMTAyLDEzIEBAIHRlbXBs
YXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6
OmNvbnN0cnVjdChKU0dsb2JhCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+
dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAg
ICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2Fz
dDxKU1Rlc3ROb2RlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFT
U0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROb2RlOjpjcmVhdGUoKTsK
LSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNl
PFRlc3ROb2RlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNy
ZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3ROb2RlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKS5nZXRPYmplY3QoKTsKKyAg
ICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3ROb2RlPihsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVjdCk7CiB9CiAK
IHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3ROb2RlQ29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0
cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAKaW5kZXggZDJmN2U5ODcxZmU0M2VlZGY0MzNlYThhYzRhYWU0MjEyYWIzMWQ2
NS4uOGFiNDMwYjYxMjI3OTNjMGYzMDU3YWUwZDEwZTA4NjIzMjU0OGI5YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
QEAgLTE5NDgsNyArMTk0OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTR2xvYmFsCiB7CiAgICAgVk0m
IHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAg
ICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmpDb25zdHJ1Y3Rvcio+KGNhbGxG
cmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJ
S0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDIpKQpAQCAtMTk2Myw3ICsxOTYyLDEw
IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RPYmpDb25z
dHJ1Y3Rvcjo6Y29uc3RydWN0KEpTR2xvYmFsCiAgICAgYXV0byB0ZXN0Q2FsbGJhY2tGdW5jdGlv
biA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMSksICpj
YXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVz
dEJlRnVuY3Rpb25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMSwgInRlc3RDYWxs
YmFja0Z1bmN0aW9uIiwgIlRlc3RPYmplY3QiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVj
dCA9IFRlc3RPYmo6OmNyZWF0ZShkb2N1bWVudCwgdGVzdENhbGxiYWNrLnJlbGVhc2VOb25OdWxs
KCksIHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUo
b2JqZWN0KSkpOworICAgIGF1dG8ganNPYmplY3QgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVy
ZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKS5nZXRPYmplY3QoKTsKKyAgICBzZXRTdWJjbGFzc1N0
cnVjdHVyZUlmTmVlZGVkPFRlc3RPYmo+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwg
anNPYmplY3QpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogdGVtcGxhdGU8PiBKU1Zh
bHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYg
dm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMzEyZmExODYwMWM4MmM1OTI5
ZjcxMGQ0ODY2ZjYzNWM5ODYwNzRiMC4uMDkzY2Q3ZmEyMmEyNWQzZDE2MjdjMTk1MDliMmFhZGU5
YTIzOWI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNw
cApAQCAtODEsNjUgKzgxLDc1IEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3Ry
dWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczEoSlNHbG9iYWxPYmplCiB7CiAgICAgVk0m
IHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAg
ICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
Q29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRU
aGlzKTsKICAgICBhdXRvIGFycmF5QnVmZmVyID0gY29udmVydDxJRExBcnJheUJ1ZmZlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCksIFtdKEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYg
c2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29w
ZSwgMCwgImFycmF5QnVmZmVyIiwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0
ciwgIkFycmF5QnVmZmVyIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yczo6Y3JlYXRlKCphcnJheUJ1ZmZlcik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNPYmplY3QgPSB0b0pTTmV3bHlDcmVhdGVk
PElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkuZ2V0
T2JqZWN0KCk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc09iamVjdCk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1Zh
bHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMyKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICBWTSYg
dm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAg
ICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnND
b25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRo
aXMpOwogICAgIGF1dG8gYXJyYXlCdWZmZXJWaWV3ID0gY29udmVydDxJRExBcnJheUJ1ZmZlclZp
ZXc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDAp
LCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93
U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVj
dCwgc2NvcGUsIDAsICJhcnJheUJ1ZmZlclZpZXciLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMiLCBudWxscHRyLCAiQXJyYXlCdWZmZXJWaWV3Iik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKGFycmF5QnVmZmVyVmlldy5yZWxlYXNl
Tm9uTnVsbCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxP
YmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7Cisg
ICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5n
bG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKS5nZXRPYmplY3QoKTsKKyAgICBzZXRTdWJj
bGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVj
dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yczMoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmpl
Y3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBq
c0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4oY2FsbEZyYW1l
LT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBibG9iID0g
Y29udmVydDxJRExJbnRlcmZhY2U8QmxvYj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDAsICJibG9iIiwgIlRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkJsb2IiKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9
IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoKmJsb2IpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05l
d2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9i
amVjdCkpLmdldE9iamVjdCgpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwg
anNPYmplY3QpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogc3RhdGljIGlubGluZSBF
bmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNChKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7
CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dT
Y29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VS
VChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoV1RGTW92
ZShzdHJpbmcpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxP
YmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7Cisg
ICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5n
bG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKS5nZXRPYmplY3QoKTsKKyAgICBzZXRTdWJj
bGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGpzT2JqZWN0KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc09iamVj
dCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yczUoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmpl
Y3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBq
c0Nhc3Q8SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9yKj4oY2FsbEZyYW1l
LT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBsb25nQXJn
cyA9IGNvbnZlcnRWYXJpYWRpY0FyZ3VtZW50czxJRExMb25nPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzOjpjcmVhdGUoV1RGTW92ZShsb25nQXJncykpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpLmdl
dE9iamVjdCgpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNPYmplY3Qp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzT2JqZWN0KTsKIH0KIAogdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcjo6
Y29uc3RydWN0KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAppbmRleCA2YTg5NTQwOWMxZmU4Njk1MjY2MTViNDM4
MmFhYjBiODViMTM3ODI4Li45NmU1Y2MwNzc2MDdmMjI3ZmZhNjFkZWVmY2RkNmM0YjU3YWI5NGFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2UuY3BwCkBAIC04MCwyNiArODAsMzAgQEAgc3RhdGljIGlubGluZSBFbmNv
ZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlMSgKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1
dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJB
TSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anND
YWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gc2VxdWVuY2VPZlN0
cmluZ3MgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLmlzVW5kZWZpbmVkKCkgPyBDb252ZXJ0ZXI8
SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj46OlJldHVyblR5cGV7IH0gOiBjb252ZXJ0PElETFNl
cXVlbmNlPElETERPTVN0cmluZz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVu
Y2hlY2tlZEFyZ3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3ZlKHNlcXVlbmNlT2ZTdHJpbmdzKSk7
Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFj
ZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOwor
ICAgIGF1dG8ganNPYmplY3QgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkuZ2V0T2JqZWN0KCk7
CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZT4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc09iamVj
dCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRK
U1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2Uy
KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8g
dGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0
aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxs
ZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gc3RyaW5nID0gY29udmVy
dDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tl
ZEFyZ3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3ZlKHN0cmluZykpOwotICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzT2JqZWN0
ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpLmdldE9iamVjdCgpOworICAgIHNldFN1YmNsYXNz
U3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+
KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwganNPYmplY3QpOworICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzT2JqZWN0KTsKIH0KIAogdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcjo6Y29u
c3RydWN0KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKaW5k
ZXggYjE1Njc1MDA0M2Y4OTk3YWQ0MDg0ZjI3NTg1MDU4ZDIwYjBjYmI4YS4uZjQzNWFkYmFmMDFm
Zjc1YTc4NTQxYmMzZDYwYTkwM2RiZDExNTQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5jcHAKQEAgLTE2MCw3ICsxNjAsNiBAQCB0ZW1wbGF0ZTw+IEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3Ry
dWN0b3I6OgogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BB
UkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0UHJv
bWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwog
ICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1
bWVudENvdW50KCkgPCAyKSkKQEAgLTE3MCw3ICsxNjksMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVj
dG9yOjoKICAgICBhdXRvIGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8VGVz
dFByb21pc2VSZWplY3Rpb25FdmVudDo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxs
RnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDEpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRo
cm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudDo6Y3JlYXRlKCpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RG
TW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50Pj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc09iamVjdCA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpLmdl
dE9iamVjdCgpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudD4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc09iamVjdCk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0
UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShK
U0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBl
ZGVmcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuY3BwCmluZGV4IGNhZTgxYzllMjhmZDIyZTAzYTdjNzFlYzliOTVmMGVlODk1M2Y2
MTcuLjk1NmU3MjJmZDViY2Y1ODQ0MzBjNDAzN2Y3OGE3Mjg3ZDlkOGVkOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5
cGVkZWZzLmNwcApAQCAtMTQ4LDcgKzE0OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBKU1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHCiB7
CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dT
Y29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RUeXBlZGVmc0NvbnN0
cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7
CiAgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMykpCkBAIC0x
NjAsNyArMTU5LDEwIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBK
U1Rlc3RUeXBlZGVmc0NvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHCiAgICAgYXV0byB0ZXN0Q2Fs
bGJhY2tJbnRlcmZhY2UgPSBjb252ZXJ0PElETENhbGxiYWNrSW50ZXJmYWNlPEpTVGVzdENhbGxi
YWNrSW50ZXJmYWNlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2Vk
QXJndW1lbnQoMiksICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2Jh
bE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0
aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29w
ZSwgMiwgInRlc3RDYWxsYmFja0ludGVyZmFjZSIsICJUZXN0VHlwZWRlZnMiLCBudWxscHRyKTsg
fSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RUeXBlZGVmczo6Y3JlYXRlKFdURk1vdmUoaGVsbG8p
LCB0ZXN0Q2FsbGJhY2tGdW5jdGlvbi5yZWxlYXNlTm9uTnVsbCgpLCB0ZXN0Q2FsbGJhY2tJbnRl
cmZhY2UucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0VHlwZWRlZnM+PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAg
ICBhdXRvIGpzT2JqZWN0ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVk
ZWZzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwg
V1RGTW92ZShvYmplY3QpKS5nZXRPYmplY3QoKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlm
TmVlZGVkPFRlc3RUeXBlZGVmcz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBqc09i
amVjdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNPYmplY3QpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUg
SlNUZXN0VHlwZWRlZnNDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0m
IHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKaW5kZXggNjZmZGRjMWNhOTM2YjVhODhiMGQ1NDdlMTJjZTJmYzc2MTg2
YzMxOS4uY2QwZGUwODgxYzQwMDFmZWRjN2Q4ZDY3NDAyNjgxYWIxOGQ2NGQ1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJET01X
cmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRXZlbnRU
YXJnZXRDb25jcmV0ZS5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxIdG1sRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgpAQCAtNTgsNiArNTksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKEV2ZW50VGFyZ2V0KTsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChF
dmVudFRhcmdldFdpdGhJbmxpbmVEYXRhKTsKIAorUmVmPEV2ZW50VGFyZ2V0PiBFdmVudFRhcmdl
dDo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJu
IEV2ZW50VGFyZ2V0Q29uY3JldGU6OmNyZWF0ZShjb250ZXh0KTsKK30KKwogYm9vbCBFdmVudFRh
cmdldDo6aXNOb2RlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IDcyMGEzM2JhODQ5NzEzOWMwYzQzZmQzMTMzMmU2ODg2ODI4M2VhMDIu
LjZiYzk5YjE4NDgwYTkxMGJiNjEwYzZiNGYzMzk4MmQyZjA5MTAzM2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC01NCw2ICs1NCw4IEBAIHB1YmxpYzoKIGNsYXNzIEV2ZW50VGFyZ2V0
IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChF
dmVudFRhcmdldCk7CiBwdWJsaWM6CisgICAgc3RhdGljIFJlZjxFdmVudFRhcmdldD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKwogICAgIHZvaWQgcmVmKCkgeyByZWZFdmVudFRh
cmdldCgpOyB9CiAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZFdmVudFRhcmdldCgpOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCmluZGV4IGU1ZjE3OWQ1MWQxZjU5NTY3ZTE0ZDliNWM3
OWU4NTE1YjNjODUwZmMuLmMxN2VkZWYzZWY5NGQ3YzkwMDJjNzRiYTRkNTZiOTdiZGIxMWE3YzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbApAQCAtMTksNiArMTksOCBAQAogICovCiAK
IFsKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBJc0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdE9uUHJvdG90eXBl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRlZDIyNGJlYjk3YTQ0OGFlZDQ1NTI5ZDY4NmQxMDcwZjExNTE4NjIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHAKQEAgLTAsMCAr
MSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlr
YWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRXZlbnRUYXJnZXRDb25jcmV0ZSk7CisKK1JlZjxFdmVu
dFRhcmdldENvbmNyZXRlPiBFdmVudFRhcmdldENvbmNyZXRlOjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFdmVudFRh
cmdldENvbmNyZXRlKGNvbnRleHQpKTsKK30KKworRXZlbnRUYXJnZXRDb25jcmV0ZTo6RXZlbnRU
YXJnZXRDb25jcmV0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorICAgIDogQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldENvbmNy
ZXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzMDQzYjkxOTQzZTNjMmQyYmY1ZGQ2NjE3ZmI4MjUwNTU3N2RiNTUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oCkBAIC0wLDAg
KzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
Q29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgor
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRXZl
bnRUYXJnZXRDb25jcmV0ZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50VGFyZ2V0Q29u
Y3JldGU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0
RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChFdmVudFRh
cmdldENvbmNyZXRlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEV2ZW50VGFyZ2V0Q29uY3Jl
dGU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICB1c2luZyBSZWZDb3Vu
dGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgRXZlbnRUYXJnZXRDb25jcmV0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisK
KyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CisKKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQg
ZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfZXZlbnRfZmFj
dG9yeS5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwKaW5kZXgg
MTM3YzIxMjU1ZjU3YmFjYzU0YjdmYzg3Y2QzYTZiMjA4ZDFlOTIyYS4uMWI5MjE3NzQ4YjNlMzhm
NDI0OTMzMzUxNzRkZTEwYjQ2NWU4ZmRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L21ha2VfZXZlbnRfZmFjdG9yeS5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9ldmVu
dF9mYWN0b3J5LnBsCkBAIC0xMDQsNiArMTA0LDggQEAgc3ViIGdlbmVyYXRlSW1wbGVtZW50YXRp
b24oKQogICAgICAgICBwcmludCBGICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJHtuYW1lc3BhY2V9
JiBpbXBsKVxuIjsKICAgICAgICAgcHJpbnQgRiAie1xuIjsKICAgICAgICAgcHJpbnQgRiAiICAg
IHN3aXRjaCAoaW1wbC4ke2ludGVyZmFjZU1ldGhvZE5hbWV9KCkpIHtcbiI7CisgICAgICAgIHBy
aW50IEYgIiAgICBjYXNlIEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTpcbiI7CisgICAgICAgIHBy
aW50IEYgIiAgICAgICAgYnJlYWs7XG4iOwogICAgIH0KIAogICAgIG15ICVnZW5lcmF0ZWRJbnRl
cmZhY2VOYW1lcyA9ICgpOwpAQCAtMTM5LDggKzE0MSw3IEBAIHN1YiBnZW5lcmF0ZUltcGxlbWVu
dGF0aW9uKCkKICAgICBpZiAoJGZhY3RvcnlGdW5jdGlvbiBlcSAidG9OZXdseUNyZWF0ZWQiKSB7
CiAgICAgICAgIHByaW50IEYgIiAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkbmFtZXNwYWNlPihn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpO1xuIjsKICAgICB9IGVsc2UgewotICAgICAgICBw
cmludCBGICIgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7XG4iOwotICAgICAgICBwcmludCBGICIg
ICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7XG4iOworICAgICAgICBwcmludCBGICIgICAgcmV0dXJu
IHdyYXAoc3RhdGUsIGdsb2JhbE9iamVjdCwgaW1wbCk7XG4iOwogICAgIH0KICAgICBwcmludCBG
ICJ9XG4iOwogICAgIHByaW50IEYgIlxuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlY2QzMmZjZTAzNGFjOThlNTVhNTAy
NjkyZWJkYzBlODkxNzNlYzJlLi5lNGVhYzM5NTYyYzQyNDQzNDViY2MyZTFhNmI3ZmVhODAwNDI4
ZWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDItMTUgIEFsZXhleSBTaHZheWthICA8
c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRhcmdldCBj
b25zdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc0MzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vaW9zL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjAtMDItMTIgIEphc29uIExh
d3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azIgXSBmYXN0
L2RvbS9hdHRyX2RlYWRfZG9jLmh0bWwgaXMgZmxha3kgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IDk1MzBkYjE5ZjVlNTUxYmI3MWY0YTgxYWIwMDliMjc0YjliZmQ5
ZmYuLmQ4ZTIyMjk2ZDllYTkxZmNiNTExYzZhYWU2MWEyYjM1YTA2NzExYWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAyLTE1ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcv
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3Ry
dWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFs
LWV4dHJhLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDIw
LTAyLTEyICBSb3NzYW5hIE1vbnRlcmlzbyAgPHJtb250ZXJpc29AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbY3NzLWdyaWRdIE1vdmUgZ3JpZC1pdGVtLWF1dG8tbWFyZ2lucy1hbGlnbm1lbnQgdGVz
dHMgdG8gV1BUIGZvbGRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNv
bnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBmZDFhNTk3NmQzOWExNzgwOGZjN2Y3Y2E0YTM3OTVl
YzI0OGY0N2IwLi41OWRhZDAzZGVlOTZkOWE2MWIxZDE5MmU0YWRhMDU3MGFiYjZiOWRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dApAQCAtOCw3ICs4LDYgQEAgUEFTUyBUcnlBbGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScpIGlzICdl
eGNlcHRpb24nCiBQQVNTIFRyeUFsbG9jYXRlKCdDREFUQVNlY3Rpb24nKSBpcyAnZXhjZXB0aW9u
JwogUEFTUyBUcnlBbGxvY2F0ZSgnRG9jdW1lbnRUeXBlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1Mg
VHJ5QWxsb2NhdGUoJ0VsZW1lbnQnKSBpcyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgn
RXZlbnRUYXJnZXQnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnSFRNTERvY3Vt
ZW50JykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ05vZGUnKSBpcyAnZXhjZXB0
aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnUHJvY2Vzc2luZ0luc3RydWN0aW9uJykgaXMgJ2V4Y2Vw
dGlvbicKQEAgLTEzMSw2ICsxMzAsOSBAQCBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudCcpIGlz
ICdbb2JqZWN0IERvY3VtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50RnJhZ21lbnQn
KSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3Vt
ZW50RnJhZ21lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxs
b2NhdGUoJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScK
K1BBU1MgVHJ5QWxsb2NhdGUoJ0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRd
JworUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVjdCBFdmVudFRhcmdl
dF0nCitQQVNTIFRyeUFsbG9jYXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0IEV2ZW50VGFy
Z2V0XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwogUEFT
UyBUcnlBbGxvY2F0ZSgnUmFuZ2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCiBQQVNTIFRyeUFsbG9j
YXRlKCdSYW5nZScpIGlzICdbb2JqZWN0IFJhbmdlXScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Rv
bS1jb25zdHJ1Y3RvcnMuaHRtbAppbmRleCA0YjdhZTc1NTY1NTkyYTgyYjVkM2MyMjhhYzgyYTZh
MmQ2ZjE2N2VjLi5iNDAxMDU2ODAyYjVjMGY5YTdiYzBjNTg0YTYyNzRiMTA2ZGUwYTIwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCkBAIC0xOCw3ICsxOCw2
IEBAIHZhciBvYmplY3RzX2V4Y2VwdGlvbiA9IFsKICAgICAnQ0RBVEFTZWN0aW9uJywKICAgICAn
RG9jdW1lbnRUeXBlJywKICAgICAnRWxlbWVudCcsCi0gICAgJ0V2ZW50VGFyZ2V0JywKICAgICAn
SFRNTERvY3VtZW50JywKICAgICAnTm9kZScsCiAgICAgJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbics
CkBAIC0xMzIsNiArMTMxLDcgQEAgdmFyIG9iamVjdHNfY29uc3RydWN0b3IgPSBbCiAgICAgJ0RP
TVBhcnNlcicsCiAgICAgJ0RvY3VtZW50JywKICAgICAnRG9jdW1lbnRGcmFnbWVudCcsCisgICAg
J0V2ZW50VGFyZ2V0JywKICAgICAnUmFuZ2UnLAogICAgICdUZXh0JywKICAgICAnWE1MSHR0cFJl
cXVlc3QnLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJJREwvZWNtYXNjcmlwdC1iaW5kaW5nL2NvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9l
Y21hc2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBiYzMxMjZk
OGI2MTg2MTdhM2UwYmY1MTI4ZmQ0NjQ0MTVlNzk3YTMwLi5kYzYwNGQyZDQzNDQwZTlhMDAyZmZh
ZWFmOWJjYzY2MWQ2NTc4NmQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dApAQCAtMiwxNCArMiwxNCBAQAogUEFTUyBSZWFsbSBmb3IgY29uc3RydWN0ZWQgb2JqZWN0cyAK
IFBBU1MgTm9ybWFsIGNvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgCiBQQVNTIE5vcm1hbCBj
b25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cgCi1GQUlMIENvbnN0cnVjdG9yIGluIGNoaWxkIHdp
bmRvdyB3aXRoIG5vcm1hbCBOZXdUYXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290
IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBDb25zdHJ1Y3RvciBp
biBwYXJlbnQgd2luZG93IHdpdGggbm9ybWFsIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBl
XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgU3Vi
Y2xhc3MgY29uc3RydWN0b3IgaW4gcGFyZW50IHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFy
c2VyUHJvdG90eXBlXSIKLUZBSUwgU3ViY2xhc3MgY29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290
IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBTdWJjbGFzcyBjb25z
dHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIGNoaWxkIHdpbmRv
dyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgYnV0IGdv
dCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgU3ViY2xhc3MgY29u
c3RydWN0b3IgaW4gY2hpbGQgd2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIHBhcmVudCB3aW5k
b3cgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCi1GQUlMIENvbnN0cnVjdG9y
IGluIGNoaWxkIHdpbmRvdyB3aXRoIGJhZCBOZXdUYXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVd
IiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBDb25z
dHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdp
bmRvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJv
dG90eXBlXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKK1BB
U1MgQ29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93IHdpdGggbm9ybWFsIE5ld1RhcmdldCBmcm9t
IHBhcmVudCB3aW5kb3cgCitQQVNTIENvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBu
b3JtYWwgTmV3VGFyZ2V0IGZyb20gY2hpbGQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1
Y3RvciBpbiBwYXJlbnQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBjaGls
ZCB3aW5kb3cgCitQQVNTIFN1YmNsYXNzIGNvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0
aCBwYXJlbnQgY2xhc3MgaW4gY2hpbGQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3Rv
ciBpbiBjaGlsZCB3aW5kb3cgd2l0aCBwYXJlbnQgY2xhc3MgaW4gcGFyZW50IHdpbmRvdyAKK1BB
U1MgQ29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIHBh
cmVudCB3aW5kb3cgCitQQVNTIENvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBiYWQg
TmV3VGFyZ2V0IGZyb20gY2hpbGQgd2luZG93IAogRkFJTCBDb25zdHJ1Y3RvciBpbiBwYXJlbnQg
d2luZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIHBhcmVudCB3aW5kb3cgdGhhdCdzIGEgYm91
bmQgY2hpbGQgd2luZG93IGZ1bmN0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAi
W29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01Q
YXJzZXJQcm90b3R5cGVdIgogRkFJTCBDb25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cgd2l0aCBi
YWQgTmV3VGFyZ2V0IGZyb20gY2hpbGQgd2luZG93IHRoYXQncyBhIGJvdW5kIHBhcmVudCB3aW5k
b3cgZnVuY3Rpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERPTVBh
cnNlclByb3RvdHlwZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlw
ZV0iCiBGQUlMIENvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBiYWQgTmV3VGFyZ2V0
IGZyb20gcGFyZW50IHdpbmRvdyB0aGF0J3MgYSBwcm94eSBmb3IgYSBjaGlsZCB3aW5kb3cgZnVu
Y3Rpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclBy
b3RvdHlwZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50
LXN1YmNsYXNzZXMtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA3MTE5MGUzYWQ3MDc2
YmQxNGEzODdjOWJjYWI1NmJhMjk1YTRmZWE1Li41ZWYwMGJhZjllNDJjYjljYWZlZmRlNTYxNTFj
YTkyNjk3YjMzZjk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQK
QEAgLTQxLDExICs0MSwxMSBAQCBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKG51
bGwgYXJndW1lbnQpCiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFy
Z3VtZW50KSAKIFBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0
aCBkZWZhdWx0IHZhbHVlcykgCiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFy
Z3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNv
bnN0cnVjdG9yIChubyBhcmd1bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50
KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2
ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1
bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNz
ZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25z
dHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3Ig
KG5vIGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmlu
ZWQgYXJndW1lbnQpIAorUEFTUyBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJn
dW1lbnQpIAorUEFTUyBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50
KSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1
bHQgdmFsdWVzKSAKK1BBU1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCiBQQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKHZpZXcg
YXJndW1lbnQgd2l0aCB3cm9uZyB0eXBlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0
cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1l
eHBlY3RlZC50eHQKaW5kZXggYmYwOGZjNzY4YTI3OGMwMWJiN2RlYmI1OGNhYjIwZjY2NTQ2MzFm
Zi4uNzUzZTQ2NGYzMzFiM2U2M2ExYmEyMGE2ZDRkNjg4Y2M0MTNmODgzMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQt
Y29uc3RydWN0aWJsZS5hbnktZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEEg
Y29uc3RydWN0ZWQgRXZlbnRUYXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykKLUZB
SUwgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ3N1cGVyKC4uLmFyZ3MpJykKK1BBU1MgQSBjb25zdHJ1Y3RlZCBF
dmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCAKK1BBU1MgRXZlbnRUYXJnZXQgY2Fu
IGJlIHN1YmNsYXNzZWQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQKaW5kZXggYmYwOGZjNzY4YTI3OGMwMWJiN2RlYmI1OGNhYjIwZjY2NTQ2
MzFmZi4uNzUzZTQ2NGYzMzFiM2U2M2ExYmEyMGE2ZDRkNjg4Y2M0MTNmODgzMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACiAKLUZBSUwgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBl
eHBlY3RlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2
ZW50VGFyZ2V0KCknKQotRkFJTCBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5jdGlv
biBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnc3VwZXIoLi4uYXJncyknKQorUEFT
UyBBIGNvbnN0cnVjdGVkIEV2ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIAorUEFT
UyBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2Jh
bC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3ctZXhw
ZWN0ZWQudHh0CmluZGV4IDUxZmRlOGMyZTkxMDM5M2Y2MDFiYzY2MzBjNTkxYWEwMzE2ZjZhZWIu
LjI0Mzg2NGRmYzk2YTVjZmUzNzMzOGNkNzAyMzk2OGE4ZTk5YTZjYTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVu
dC1nbG9iYWwtZXh0cmEud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJh
LndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgd2luZG93LmV2ZW50
IGZvciBjb25zdHJ1Y3RvcnMgZnJvbSBhbm90aGVyIGdsb2JhbDogRXZlbnRUYXJnZXQgZnVuY3Rp
b24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBvdGhlcldpbmRvd1tjb25z
dHJ1Y3Rvck5hbWVdKCknKQorRkFJTCB3aW5kb3cuZXZlbnQgZm9yIGNvbnN0cnVjdG9ycyBmcm9t
IGFub3RoZXIgZ2xvYmFsOiBFdmVudFRhcmdldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAob2JqZWN0KSBvYmplY3QgIltvYmplY3QgRXZlbnRd
IgogRkFJTCB3aW5kb3cuZXZlbnQgZm9yIGNvbnN0cnVjdG9ycyBmcm9tIGFub3RoZXIgZ2xvYmFs
OiBYTUxIdHRwUmVxdWVzdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQgYnV0IGdvdCAob2JqZWN0KSBvYmplY3QgIltvYmplY3QgRXZlbnRdIgogUEFTUyB3aW5k
b3cuZXZlbnQgYW5kIGVsZW1lbnQgZnJvbSBhbm90aGVyIGRvY3VtZW50IAogRkFJTCB3aW5kb3cu
ZXZlbnQgYW5kIG1vdmluZyBhbiBlbGVtZW50IHBvc3QtZGlzcGF0Y2ggYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGY0NDU5M2FkZDYxZjkwZjA5ZTAxNGQwYmM3
MDA2YzBkYTEzNzA3ZDguLjZiMzA5Yzg5NTliZTYwNmZjYjVlYzZhMzEwMDVmZTEzYzY0N2MxYWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMTMzLDE0ICsxMzMsMTQgQEAgUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amUKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZlbnRMaXN0ZW5l
cihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVj
dF0pIAogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmVFdmVudExp
c3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3Qg
T2JqZWN0XSkgCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGRpc3BhdGNo
RXZlbnQoRXZlbnQpIAotRkFJTCBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlw
ZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2
ZW50VGFyZ2V0KCknKSIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVudFRhcmdldCgp
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0
IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlz
dGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdl
dCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVt
b3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0
XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3Ig
KGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5l
ciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxz
OiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRj
aEV2ZW50KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFs
dWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6
IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2
YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCitQQVNTIEV2ZW50VGFyZ2V0IG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIFN0cmluZ2lmaWNh
dGlvbiBvZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBu
ZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3Rd
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2Fs
bGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBP
YmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVj
dCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5l
ciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVu
dFRhcmdldCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQ
QVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQWJvcnRDb250cm9sbGVyIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFib3J0Q29udHJv
bGxlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA2ZWQyYzRkYjdmZGNhODZhOTk3
ZmIxMjJmZjQ5ODgxYmQxNWQ1Y2RjLi5kMTU1Y2M1MDBjMDhhN2UyOTNkMDllMDVkMWNmMTZhOTc4
OGFjNzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ct
ZXhwZWN0ZWQudHh0CkBAIC0xNTgsMTQgKzE1OCwxNCBAQCBQQVNTIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZQogUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkgCiBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSAKIFBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hF
dmVudChFdmVudCkgCi1GQUlMIEV2ZW50VGFyZ2V0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgbmV3IEV2ZW50VGFyZ2V0KCkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24g
d2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBl
RXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZl
bnRUYXJnZXQoKScpIgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0KCkg
YXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVj
dCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBF
dmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3Qg
T2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0
ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0
KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1
YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVk
IG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogbmV3IEV2ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVy
LCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6
IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNo
RXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
Y2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKK1BBU1MgRXZlbnRUYXJnZXQgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIG5ldyBFdmVudFRhcmdldCgpIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5l
dyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0p
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxs
aW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9i
amVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRM
aXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0
IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVy
LCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZGlzcGF0Y2hFdmVudChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2ZW50
VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBB
U1MgRXZlbnRMaXN0ZW5lciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBFdmVu
dExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMTkwZTNhZDcwNzZiZDE0YTM4N2M5YmNhYjU2
YmEyOTVhNGZlYTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0KLVBBU1MgRXZlbnQgY29uc3RydWN0b3Ig
KG5vIGFyZ3VtZW50KSAKLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVu
dCkgCi1QQVNTIEV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgRXZlbnQg
Y29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKGFy
Z3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBFdmVudCBjb25zdHJ1Y3RvciAoYXJn
dW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9y
IChubyBhcmd1bWVudCkgCi1QQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1
bWVudCkgCi1QQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBV
SUV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIFVJRXZlbnQgY29uc3Ry
dWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBVSUV2ZW50IGNvbnN0
cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIEZvY3VzRXZl
bnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKLVBBU1MgRm9jdXNFdmVudCBjb25zdHJ1Y3Rv
ciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKLVBBU1MgRm9jdXNFdmVudCBjb25zdHJ1Y3RvciAobnVs
bCBhcmd1bWVudCkgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50
KSAKLVBBU1MgRm9jdXNFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZh
bHVlcykgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRl
ZmF1bHQgdmFsdWVzKSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQp
IAotUEFTUyBNb3VzZUV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFT
UyBNb3VzZUV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVu
dCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBNb3VzZUV2ZW50IGNvbnN0cnVj
dG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgTW91c2VFdmVudCBjb25z
dHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBXaGVlbEV2
ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1QQVNTIFdoZWVsRXZlbnQgY29uc3RydWN0
b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIFdoZWVsRXZlbnQgY29uc3RydWN0b3IgKG51
bGwgYXJndW1lbnQpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVu
dCkgCi1QQVNTIFdoZWVsRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2
YWx1ZXMpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1k
ZWZhdWx0IHZhbHVlcykgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3Vt
ZW50KSAKLVBBU1MgS2V5Ym9hcmRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50
KSAKLVBBU1MgS2V5Ym9hcmRFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNT
IEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgS2V5Ym9h
cmRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNT
IEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFs
dWVzKSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAot
UEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAot
UEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1Mg
Q29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBDb21w
b3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAK
LVBBU1MgQ29tcG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVm
YXVsdCB2YWx1ZXMpIAotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3Vt
ZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3Nl
ZEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG51
bGwgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBT
dWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9y
IChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1QQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKHZpZXcgYXJndW1lbnQgd2l0aCB3cm9uZyB0
eXBlKSAKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390869</attachid>
            <date>2020-02-15 11:13:12 -0800</date>
            <delta_ts>2020-02-16 17:41:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174313-20200215211310.patch</filename>
            <type>text/plain</type>
            <size>67649</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJjMjcyYWM5MGFiMDRk
MDBhZDAyMDBiMzUwODIxOGQ2MzI2ZjU4ZS4uMmVkMWQwMWVlMmI5MWFhMzE0NjA5YmJjN2UyM2Y1
MTg4OTI3ZDRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTAyLTE1ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUYXJnZXQgY29uc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDMxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEN1cnJlbnRseSwgRXZlbnRUYXJnZXQgY2FuJ3QgYmUgZGlyZWN0bHkgY29u
c3RydWN0ZWQgb3IgYmUgc3ViY2xhc3NlZCBpbiBKYXZhU2NyaXB0LgorICAgICAgICBUaGUgc3Bl
YyBmb3IgRXZlbnRUYXJnZXQgd2FzIHVwZGF0ZWQgKGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cv
ZG9tL3B1bGwvNDY3KSB0byBhbGxvdworICAgICAgICBjb25zdHJ1Y3RpbmcgYW5kIHN1YmNsYXNz
aW5nIEV2ZW50VGFyZ2V0LiBUaGlzIGZlYXR1cmUgd2FzIHNoaXBwZWQgaW4gQ2hyb21lIDY0IGFu
ZCBGaXJlZm94IDU5LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBFdmVudFRhcmdl
dENvbmNyZXRlIGNsYXNzLCBhIHVzZXItY29uc3RydWN0YWJsZSB2ZXJzaW9uIG9mIEV2ZW50VGFy
Z2V0LAorICAgICAgICBleHBvc2VkIGFzICJFdmVudFRhcmdldCIgdG8gSmF2YVNjcmlwdC4gV2Ug
ZG9uJ3QgdXNlIEV2ZW50VGFyZ2V0IGRpcmVjdGx5IGJlY2F1c2UgaXQgaXMgYW4gYWJzdHJhY3QK
KyAgICAgICAgY2xhc3MgYW5kIG1ha2luZyBpdCBub24tYWJzdHJhY3QgaXMgdW5mYXZvcmFibGUg
ZHVlIHRvIHNpemUgaW5jcmVhc2Ugb2YgRXZlbnRUYXJnZXQgYW5kIGFsbCBvZiBpdHMKKyAgICAg
ICAgc3ViY2xhc3NlcyB3aXRoIGNvZGUgdGhhdCBpcyBtb3N0bHkgdW5uZWNlc3NhcnkgZm9yIHRo
ZW0sIHJlc3VsdGluZyBpbiBhIHBlcmZvcm1hbmNlIGRlY3JlYXNlLgorCisgICAgICAgIFRvIHBy
ZXZlbnQgZGVmaW5pdGlvbiBvZiBzcGVjaWZpYyB0byBFdmVudFRhcmdldENvbmNyZXRlIGB0b0pT
YCBhbmQgYHRvSlNOZXdseUNyZWF0ZWRgIGZ1bmN0aW9ucywKKyAgICAgICAgd2UgZG9uJ3QgZGVm
aW5lIEV2ZW50VGFyZ2V0Q29uY3JldGUgaW50ZXJmYWNlIHR5cGUsIGJ1dCByYXRoZXIgdHdlYWsg
bWFrZV9ldmVudF9mYWN0b3J5LnBsIHRvCisgICAgICAgIGRlZmF1bHQgdG8gYmFzZSBpbnRlcmZh
Y2UgKGxpa2UgaXQgZG9lcyBmb3IgRXZlbnQpLgorCisgICAgICAgIFRvIGFsbG93IHN1YmNsYXNz
aW5nIG9mIGFsbCBET00gY29uc3RydWN0b3JzLCBub24tY3VzdG9tIG9uZXMgcmVwbGFjZSBzdHJ1
Y3R1cmVzIG9mIG5ld2x5IGNyZWF0ZWQKKyAgICAgICAgd3JhcHBlciBvYmplY3RzIHdpdGggb25l
cyByZXR1cm5lZCBieSBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZS4g
UGVyIFdlYklETCBzcGVjIFsxXSwKKyAgICAgICAgYHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVk
ZWRgIGhlbHBlciB1c2VzIHJlYWxtIG9mIGBuZXdUYXJnZXRgIGZvciBkZWZhdWx0IHByb3RvdHlw
ZXMuCisKKyAgICAgICAgVGhpcyBhcHByb2FjaCB3YXMgY2hvc2VuIGJlY2F1c2UgYSkgZGV0ZWN0
aW5nIFtbQ29uc3RydWN0XV0gd2l0aCBjYWxsRnJhbWUtPm5ld1RhcmdldCgpIGlzCisgICAgICAg
IHVucmVsaWFibGUgb3V0c2lkZSBjb25zdHJ1Y3RvciwgYW5kIGIpIHBhc3NpbmcgYG5ld1Rhcmdl
dGAgZG93biB0byBgY3JlYXRlV3JhcHBlcmAgdmlhCisgICAgICAgIGB0b0pTTmV3bHlDcmVhdGVk
YCBpcyBxdWl0ZSBhd2t3YXJkIGFuZCB3b3VsZCByZXN1bHQgaW4gbWFzc2l2ZSBjb2RlIGNoYW5n
ZS4KKworICAgICAgICBbMV0gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaW50ZXJu
YWxseS1jcmVhdGUtYS1uZXctb2JqZWN0LWltcGxlbWVudGluZy10aGUtaW50ZXJmYWNlCisgICAg
ICAgIChzdGVwIDMuMy4yKQorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9kb20tY29uc3RydWN0
b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
V2ViSURML2VjbWFzY3JpcHQtYmluZGluZy9jb25zdHJ1Y3RvcnMuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNs
YXNzZXMtY29uc3RydWN0b3JzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS5o
dG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9p
ZGxoYXJuZXNzLndpbmRvdy5odG1sCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6c2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNFdmVudFRhcmdldEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pT
TmV3bHlDcmVhdGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNDb21waWxlci5wbToKKyAgICAgICAgKGdlbmVyYXRl
SW50ZXJmYWNlc0hlYWRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTLyo6
IEFkanVzdCBiaW5kaW5ncyBleHBlY3RhdGlvbnMuCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpjcmVhdGUpOgorICAgICAgICAq
IGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBkb20v
RXZlbnRUYXJnZXRDb25jcmV0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vbWFrZV9ldmVudF9m
YWN0b3J5LnBsOgorICAgICAgICAoZ2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisKIDIwMjAtMDIt
MTIgIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtD
dXJsXSBGb3JjZSBIVFRQLzEuMSBmb3IgV2ViU29ja2V0IGNvbm5lY3Rpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCmluZGV4IGFmODc3N2UzZjA1YmZiM2EyZGFiNDA3OGZlNmRhODBlNGU3ZDIyNjAuLmJiMDhh
ZDc4OThkYWVkYmZhMmJmMzYxOGU1YTc1NzA3NTVlYTZkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpA
QCAtNDAyLDYgKzQwMiw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBkb20vRXZlbnROYW1lcy5oCiAgICAgZG9tL0V2ZW50UXVldWUuaAogICAgIGRvbS9FdmVu
dFRhcmdldC5oCisgICAgZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuaAogICAgIGRvbS9FeGNlcHRp
b24uaAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmgKICAgICBkb20vRXhjZXB0aW9uRGF0YS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDM5NzYxMzRkYjhlMWU2ZTNmY2E3MDg5YTUxZjMwZjZmYjljYmMxMzEu
LjE1ZjZmMDNmNDI3NGNmNzQ4OWMzZTlmNzIyZGQ5YTY5ZDg5MGM3ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC04ODEsNiArODgxLDcgQEAgZG9tL0V2ZW50TG9vcC5jcHAKIGRvbS9FdmVudE5hbWVzLmNw
cAogZG9tL0V2ZW50UGF0aC5jcHAKIGRvbS9FdmVudFRhcmdldC5jcHAKK2RvbS9FdmVudFRhcmdl
dENvbmNyZXRlLmNwcAogZG9tL0V4Y2VwdGlvbkRhdGEuY3BwCiBkb20vRXh0ZW5zaW9uU3R5bGVT
aGVldHMuY3BwCiBkb20vRm9jdXNFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMjRjYTM1NGQ2Yzk3NDRkOTE4YzY1
ZGZhMWE3ZDQ2YzI0MDdiZDIwLi5iNmFiZWExYWQyNDI5MjNhNDJjMTljMDdiOTcyZjNlZmZkZThm
NjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yNTIwLDYgKzI1MjAsNyBAQAogCQk4NDlGNzc3NjBFRkVDNjIwMDA5MDg0OUQg
LyogU3Ryb2tlU3R5bGVBcHBsaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NDlGNzc3NTBFRkVDNjIwMDA5MDg0OUQgLyogU3Ryb2tlU3R5bGVBcHBs
aWVyLmggKi87IH07CiAJCTg0QTgxRjNFMEZDN0RGRjAwMDk1NTMwMCAvKiBTb3VyY2VBbHBoYS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRBODFGM0Mw
RkM3REZGMDAwOTU1MzAwIC8qIFNvdXJjZUFscGhhLmggKi87IH07CiAJCTg0QTgxRjQyMEZDN0Uw
MjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3Jh
cGhpYy5oICovOyB9OworCQk4NEIzNDlBMjIyRjg2RTc1MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRD
b25jcmV0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODRCMzQ5QTAyMkY4NkU3NDAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCAqLzsgfTsK
IAkJODRCNkI5NzgxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NEI2Qjk3NjEyMEYx
M0U1MDBCOEVGQUYgLyogU1ZHUGF0aFNlZ0xpc3RTb3VyY2UuaCAqLzsgfTsKIAkJODRDNUIyRkIx
MjE2REM4MTAwODhCNTNBIC8qIFNWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0QzVCMkY5MTIxNkRDODEw
MDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggKi87IH07CiAJCTg0QzY3
ODREMTIxNDgxNDcwMEE5MjkwMiAvKiBTVkdQYXRoQmxlbmRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODRDNjc4NEIxMjE0ODE0NzAwQTkyOTAyIC8q
IFNWR1BhdGhCbGVuZGVyLmggKi87IH07CkBAIC0xMDQwMCw2ICsxMDQwMSw4IEBACiAJCTg0QTgx
RjNGMEZDN0UwMjcwMDk1NTMwMCAvKiBTb3VyY2VHcmFwaGljLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUdyYXBoaWMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NEE4MUY0MDBGQzdFMDI3MDA5NTUzMDAgLyogU291cmNlR3JhcGhpYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VHcmFwaGljLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0QjJCMjRGMDU2QkYxNUYwMEQyQjc3MSAvKiBTU0xL
ZXlHZW5lcmF0b3JNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBTU0xLZXlHZW5lcmF0b3JNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQk4NEIzNDlBMDIyRjg2
RTc0MDBENDdCQ0YgLyogRXZlbnRUYXJnZXRDb25jcmV0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFdmVudFRhcmdldENvbmNyZXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGFyZ2V0Q29u
Y3JldGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NEI2MjY4NDEzMzEzOEY5
MDA5NUE0ODkgLyogRm9udFBsYXRmb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGb250UGxhdGZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODRCNkI5NzUxMjBGMTNFNTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0
U291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODRCNkI5NzYxMjBGMTNF
NTAwQjhFRkFGIC8qIFNWR1BhdGhTZWdMaXN0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yODEzOCw2ICsyODE0MSw4IEBACiAJCQkJRTEyRURCRTkwQjMwOEUwQjAwMjcw
NEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCAqLywKIAkJCQlFMTJFREI3QTBCMzA4QTc4MDAyNzA0QjYg
LyogRXZlbnRUYXJnZXQuaCAqLywKIAkJCQk4NUFGQTc0MjBBQUYyOTg0MDBFODQzMDUgLyogRXZl
bnRUYXJnZXQuaWRsICovLAorCQkJCTg0QjM0OUEzMjJGODZFODIwMEQ0N0JDRiAvKiBFdmVudFRh
cmdldENvbmNyZXRlLmNwcCAqLywKKwkJCQk4NEIzNDlBMDIyRjg2RTc0MDBENDdCQ0YgLyogRXZl
bnRUYXJnZXRDb25jcmV0ZS5oICovLAogCQkJCUNEQ0U1Q0QwMTQ2MzNCQzkwMEQ0N0NDQSAvKiBF
dmVudFRhcmdldEZhY3RvcnkuaW4gKi8sCiAJCQkJOTNEMTk2MzIxRDZDQUI4MjAwRkM3RTQ3IC8q
IEV4Y2VwdGlvbi5oICovLAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRp
b25Db2RlLmggKi8sCkBAIC0yOTc5OSw2ICsyOTgwNCw3IEBACiAJCQkJRTRBOEQyMTYyMjU3OERC
NzAwQTg0NjNDIC8qIEV2ZW50UmVnaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMEZFRjM3MkIx
N0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkVE
QjdCMEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVu
dFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkw
MEJBNzhGQyAvKiBFdmVudFRyYWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAppbmRleCA1ZGZjZGNi
ZmMwNDhiMjJkNGFkNDhlYzg0ODgwNGE1MmVjODc3ZmQyLi5iOGU1OTI5MjI3ODk4N2YzMmRkYWNm
MTZiZjJmNmUyYTc2MjAyZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXJDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlckNhY2hlLmgKQEAgLTIwMSw0ICsyMDEsMjMgQEAgdGVtcGxhdGU8dHlwZW5hbWUg
RE9NQ2xhc3M+IGlubGluZSBKU0M6OkpTVmFsdWUgd3JhcChKU0M6OkpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2EKICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZChsZXhpY2FsR2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QsIFJlZjxET01DbGFzcz4oZG9tT2JqZWN0KSk7CiB9CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIERPTUNsYXNzPiBpbmxpbmUgdm9pZCBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZyYW1l
KiBjYWxsRnJhbWUsIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KQoreworICAgIEpTQzo6SlNPYmpl
Y3QqIG5ld1RhcmdldCA9IGNhbGxGcmFtZS0+bmV3VGFyZ2V0KCkuZ2V0T2JqZWN0KCk7CisgICAg
SlNDOjpKU09iamVjdCogY29uc3RydWN0b3IgPSBjYWxsRnJhbWUtPmpzQ2FsbGVlKCk7CisgICAg
aWYgKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0ID09IGNvbnN0cnVjdG9yKQorICAgICAgICByZXR1
cm47CisKKyAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSB0eXBlbmFtZSBKU0RPTVdyYXBwZXJDb252
ZXJ0ZXJUcmFpdHM8RE9NQ2xhc3M+OjpXcmFwcGVyQ2xhc3M7CisKKyAgICBKU0M6OlZNJiB2bSA9
IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCisgICAgYXV0byogbmV3VGFyZ2V0R2xvYmFsT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihuZXdUYXJnZXQtPmdsb2JhbE9iamVjdCh2bSkpOwor
ICAgIGF1dG8qIGJhc2VTdHJ1Y3R1cmUgPSBnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNsYXNzPih2
bSwgKm5ld1RhcmdldEdsb2JhbE9iamVjdCk7CisgICAgYXV0byogc3ViY2xhc3NTdHJ1Y3R1cmUg
PSBKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlKGxleGljYWxH
bG9iYWxPYmplY3QsIGNvbnN0cnVjdG9yLCBuZXdUYXJnZXQsIGJhc2VTdHJ1Y3R1cmUpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisgICAganNPYmplY3QtPnNldFN0
cnVjdHVyZSh2bSwgc3ViY2xhc3NTdHJ1Y3R1cmUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0
b20uY3BwCmluZGV4IGI0N2FjZjc1Njk1MTkzNzMwNGY4ZjNhMzZmZTU5YWMzNWY2MDYyOGEuLjY4
MjFjYmVkZDBmNGFkN2ExOTBmOGFhM2Q4ZjczNjg5NjFkODZmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRUYXJnZXRDdXN0b20uY3BwCkBAIC00Myw2ICs0
MywxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAorSlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgUmVmPEV2ZW50VGFyZ2V0PiYmIHZhbHVlKQoreworICAgIHJldHVybiBj
cmVhdGVXcmFwcGVyPEV2ZW50VGFyZ2V0PihnbG9iYWxPYmplY3QsIFdURk1vdmUodmFsdWUpKTsK
K30KKwogRXZlbnRUYXJnZXQqIEpTRXZlbnRUYXJnZXQ6OnRvV3JhcHBlZChWTSYgdm0sIEpTVmFs
dWUgdmFsdWUpCiB7CiAgICAgaWYgKHZhbHVlLmluaGVyaXRzPEpTV2luZG93UHJveHk+KHZtKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KaW5kZXggNmQ3MjFhOGRmODc4MjI2NTMzNDdkZTJmODJiYTI1NTIyNWVjNTk3Ni4uMzVkYjRk
MjhjY2Q2OTA3NGZlMWNjNTVhMDRjOGE4MzE4YjhhNTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTczMzMsNyArNzMz
Myw2IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTtcbiIpOwogICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
VU5VU0VEX1BBUkFNKHRocm93U2NvcGUpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDwke2NvbnN0cnVjdG9yQ2xhc3NO
YW1lfSo+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBBU1NFUlQoY2FzdGVkVGhpcyk7XG4iKTsKIApAQCAtNzM1NCw2ICs3
MzUzLDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTtcbiIpIGlmICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0
ZUNvbnRhaW5zKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NvbnN0cnVjdG9yQ2Fs
bFdpdGh9LCAiRXhlY1N0YXRlIik7CiAKICAgICAgICAgICAgIG15ICRJRExUeXBlID0gR2V0SURM
VHlwZSgkaW50ZXJmYWNlLCAkaW50ZXJmYWNlLT50eXBlKTsKKyAgICAgICAgICAgIG15ICRpbXBs
VHlwZSA9IEdldEltcGxDbGFzc05hbWUoJGludGVyZmFjZSk7CiAKICAgICAgICAgICAgIEFkZFRv
SW1wbEluY2x1ZGVzKCJKU0RPTUNvbnZlcnRJbnRlcmZhY2UuaCIpOwogCkBAIC03MzYzLDcgKzcz
NjMsMTIgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBw
dXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpIGlmICRp
bnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRp
b259OwogICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywg
IldURk1vdmUob2JqZWN0KSIpOwogCi0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPCR7SURMVHlwZX0+KCIg
LiBqb2luKCIsICIsIEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzKSAuICIpKTtcbiIp
OworICAgICAgICAgICAgIyBGSVhNRTogdG9KU05ld2x5Q3JlYXRlZCBzaG91bGQgcmV0dXJuIEpT
T2JqZWN0KiBpbnN0ZWFkIG9mIEpTVmFsdWUuCisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDwke0lETFR5cGV9PigiIC4g
am9pbigiLCAiLCBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cykgLiAiKTtcbiIpOwor
ICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgeyB9KTtcbiIpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
e0NvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb259OworICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8JHtpbXBsVHlwZX0+KGxl
eGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpO1xuIik7Cisg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCB7IH0pO1xuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTtcbiIpOwogICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSW5GaWxlc0NvbXBpbGVyLnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KaW5kZXggOTA5
ZThiZTc2MGRiN2ZiOWM3Y2IxYWY3NjA0YTVmOTc5NzBiODExYy4uOTA2Y2IwZTU1MzRiNmU0NWEw
ZDVhMWVmZjA5YmNjM2ZkOGRjMDQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JbkZpbGVzQ29tcGlsZXIucG0KQEAgLTI0Myw2ICsyNDMsMTEgQEAgc3ViIGdl
bmVyYXRlSW50ZXJmYWNlc0hlYWRlcigpCiAgICAgICAgIHByaW50IEYgIiNlbmRpZlxuIjsKICAg
ICB9CiAKKyAgICBpZiAoJG5hbWVzcGFjZSBlcSAiRXZlbnRUYXJnZXQiKSB7CisgICAgICAgIHBy
aW50IEYgIiAgICAke3N1ZmZpeH0gPSAkY291bnQsXG4iOworICAgICAgICAkY291bnQrKzsKKyAg
ICB9CisKICAgICBmb3IgbXkgJGludGVyZmFjZSAoc29ydCBrZXlzICV1bmNvbmRpdGlvbmFsSW50
ZXJmYWNlcykgewogICAgICAgICBwcmludCBGICIgICAgJHtpbnRlcmZhY2V9JHtzdWZmaXh9ID0g
JGNvdW50LFxuIjsKICAgICAgICAgJGNvdW50Kys7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggODc3NTU3MTljOTRkMzBkNmNkZTAwZWViMWE3ZjliNTcyYWI4MmQ5Yy4u
NGQ1ODdjZDQ5ZTgxYWE4ZGRmMjliYmUxNTA1ZGJlMmM3ZjdjNTE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudENvbnN0cnVjdG9yLmNwcApAQCAtMTU5LDcgKzE1OSw2IEBAIHRlbXBsYXRlPD4gRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0
b3I6OmNvbnN0CiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURf
UEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RF
dmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAg
IEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVu
dENvdW50KCkgPCAxKSkKQEAgLTE2OSw3ICsxNjgsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6Y29u
c3QKICAgICBhdXRvIGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8VGVzdEV2
ZW50Q29uc3RydWN0b3I6OkluaXQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT5h
cmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVk
SlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RFdmVudENvbnN0cnVjdG9yOjpjcmVh
dGUoV1RGTW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0RXZlbnRDb25z
dHJ1Y3Rvcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0
KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RFdmVudENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBz
ZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RFdmVudENvbnN0cnVjdG9yPihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEV2ZW50Q29uc3RydWN0
b3JDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRl
eCBkYTA1NTU5ODU1YWEwYzYxYmZjNTIzNTBiYmExNTM0MDE1NTEyMDFmLi4wNzdhOTFlMGUyNzJh
YTg3M2QyMTFkYjExOTdhNWRhMDkwOGZlZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAt
MjU4LDcgKzI1OCw2IEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBK
U1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KEpTCiB7CiAgICAgVk0mIHZtID0g
bGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0
byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcio+KGNhbGxG
cmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGlmIChVTkxJ
S0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQpAQCAtMjcxLDcgKzI3MCwxMSBA
QCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3I6OmNvbnN0cnVjdChKUwogICAgIGF1dG8gc3RyMiA9IGNhbGxGcmFtZS0+YXJn
dW1lbnQoMSkuaXNVbmRlZmluZWQoKSA/ICJkZWZhdWx0U3RyaW5nIl9zIDogY29udmVydDxJRExE
T01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3Vt
ZW50KDEpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1Zh
bHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdEludGVyZmFjZTo6Y3JlYXRlKCpjb250ZXh0
LCBXVEZNb3ZlKHN0cjEpLCBXVEZNb3ZlKHN0cjIpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RJbnRlcmZhY2U+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBX
VEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElE
TEludGVyZmFjZTxUZXN0SW50ZXJmYWNlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRU
aGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1
Y3R1cmVJZk5lZWRlZDxUZXN0SW50ZXJmYWNlPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogdGVt
cGxhdGU8PiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZDQ2M2RkMjE2NGFk
N2I2N2UzY2QzNTA2NmVmMWNkYzAxYThiYjg5Yy4uOTBiNmQzOGFiMWZkYjNjNmJmY2U5NWUzNGJj
YzhiYWRkMzg3ODdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmNwcApAQCAt
OTQsNyArOTQsNiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNU
ZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OgogewogICAgIFZNJiB2bSA9IGxl
eGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8q
IGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0
b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAg
ICBpZiAoVU5MSUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAxKSkKQEAgLTEwNiw3
ICsxMDUsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVz
dE5hbWVkQ29uc3RydWN0b3JOYW1lZENvbnN0cnVjdG9yOjoKICAgICBhdXRvIHN0cjMgPSBjYWxs
RnJhbWUtPmFyZ3VtZW50KDIpLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IGNvbnZlcnQ8SURM
RE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1
bWVudCgyKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROYW1lZENvbnN0cnVjdG9yOjpjcmVhdGVG
b3JKU0NvbnN0cnVjdG9yKFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3RyMiksIFdURk1vdmUoc3Ry
MykpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRl
cmZhY2U8VGVzdE5hbWVkQ29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3Rl
ZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0TmFtZWRD
b25zdHJ1Y3Rvcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8
VGVzdE5hbWVkQ29uc3RydWN0b3I+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNP
YmplY3QoanNWYWx1ZSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9
KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0ZTw+
IEpTVmFsdWUgSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvck5hbWVkQ29uc3RydWN0b3I6OnByb3RvdHlw
ZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROb2RlLmNwcAppbmRleCBhMTQyYzA3MmJmZGNmMjg0M2M0ZTNjNjJjM2QwMjcz
YjhiMmQ2MDlkLi43NjQ5MDZmYTdhZDhiNDUxNWMxNzZmMzVjMjI0MDA3M2ZiYzAzNTAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5vZGUuY3BwCkBAIC0xMDIsMTEgKzEwMiwxMyBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgSlNUZXN0Tm9kZUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHbG9iYQog
ewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93
U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0Tm9kZUNvbnN0cnVj
dG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAg
ICAgYXV0byBvYmplY3QgPSBUZXN0Tm9kZTo6Y3JlYXRlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0Tm9kZT4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRl
c3ROb2RlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3Qo
KSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRl
c3ROb2RlPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUp
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVz
dE5vZGVDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25z
dCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBkMmY3ZTk4
NzFmZTQzZWVkZjQzM2VhOGFjNGFhZTQyMTJhYjMxZDY1Li5hOTg5MzBlMjk1MTQxNzQ1NTFkMTAw
YTlmNzg3NWJjYTBlZWZhMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTk0OCw3ICsxOTQ4LDYgQEAgdGVt
cGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE9iakNvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3QoSlNHbG9iYWwKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0
LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwot
ICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganND
YXN0PEpTVGVzdE9iakNvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBB
U1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRD
b3VudCgpIDwgMikpCkBAIC0xOTYzLDcgKzE5NjIsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QoSlNHbG9i
YWwKICAgICBhdXRvIHRlc3RDYWxsYmFja0Z1bmN0aW9uID0gY29udmVydDxJRExDYWxsYmFja0Z1
bmN0aW9uPEpTVGVzdENhbGxiYWNrRnVuY3Rpb24+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgxKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93
U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxH
bG9iYWxPYmplY3QsIHNjb3BlLCAxLCAidGVzdENhbGxiYWNrRnVuY3Rpb24iLCAiVGVzdE9iamVj
dCIsIG51bGxwdHIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVu
Y29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE9iajo6Y3JlYXRlKGRvY3Vt
ZW50LCB0ZXN0Q2FsbGJhY2sucmVsZWFzZU5vbk51bGwoKSwgdGVzdENhbGxiYWNrRnVuY3Rpb24u
cmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlD
cmVhdGVkPElETEludGVyZmFjZTxUZXN0T2JqPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1Zh
bHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7
CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T2JqPihsZXhpY2FsR2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Zh
bHVlKTsKIH0KIAogdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE9iakNvbnN0cnVjdG9yOjpwcm90
b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAKaW5kZXggMzEyZmExODYwMWM4MmM1OTI5ZjcxMGQ0ODY2ZjYzNWM5ODYwNzRiMC4uZGQ3Y2Q1
NmU3ODI5NWZmMzU2ZmQyNjVlNjNmNWRhMDU5OWQ5YTMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtODEsNjUgKzgxLDc1IEBAIHN0YXRpYyBp
bmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
czEoSlNHbG9iYWxPYmplCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0o
KTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBV
TlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2Fs
bGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIGFycmF5QnVmZmVyID0g
Y29udmVydDxJRExBcnJheUJ1ZmZlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+
dW5jaGVja2VkQXJndW1lbnQoMCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9i
YWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJv
cihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImFycmF5QnVmZmVyIiwgIlRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyIik7IH0pOwogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0
byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKCphcnJheUJ1ZmZl
cik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVy
ZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8g
anNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
PFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3Rh
dGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzMihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURf
UEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkp
OwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIGFycmF5QnVmZmVyVmlldyA9IGNv
bnZlcnQ8SURMQXJyYXlCdWZmZXJWaWV3PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1l
LT51bmNoZWNrZWRBcmd1bWVudCgwKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVy
cm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOyB9
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
OwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZShh
cnJheUJ1ZmZlclZpZXcucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCks
IFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxP
YmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAg
ICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
PihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBj
b25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyhKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgVk0mIHZtID0g
bGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0
byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3Ry
dWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsK
ICAgICBhdXRvIGJsb2IgPSBjb252ZXJ0PElETEludGVyZmFjZTxCbG9iPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCksIFtdKEpTQzo6SlNHbG9i
YWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsg
dGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImJs
b2IiLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMiLCBudWxscHRyLCAiQmxvYiIpOyB9KTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwog
ICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYmxv
Yik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTTmV3bHlDcmVhdGVkPElETEludGVy
ZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAq
Y2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8g
anNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
PFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKIH0KIAogc3Rh
dGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzNChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBj
YWxsRnJhbWUpCiB7CiAgICAgVk0mIHZtID0gbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKTsKICAg
ICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBVTlVTRURf
UEFSQU0odGhyb3dTY29wZSk7CiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkp
OwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURM
RE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1
bWVudCgwKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpj
cmVhdGUoV1RGTW92ZShzdHJpbmcpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNO
ZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShv
YmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZh
Y2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1YmNs
YXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxH
bG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOworICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpT
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM1KEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xv
YmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRU
aGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDb25zdHJ1Y3Rvcio+KGNh
bGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8g
bG9uZ0FyZ3MgPSBjb252ZXJ0VmFyaWFkaWNBcmd1bWVudHM8SURMTG9uZz4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYWxsRnJhbWUsIDApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yczo6Y3JlYXRlKFdURk1vdmUobG9uZ0FyZ3MpKTsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5
Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1
ZSkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0ZTw+IEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc0NvbnN0cnVjdG9y
Ojpjb25zdHJ1Y3QoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCmluZGV4IDZhODk1NDA5YzFmZTg2OTUyNjYxNWI0
MzgyYWFiMGI4NWIxMzc4MjguLmE5YzYxNDZjOGEwNzVlYjAzZDI0YTcyZWRhM2Q1N2VjMjdkZjkw
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZS5jcHAKQEAgLTgwLDI2ICs4MCwzMCBAQCBzdGF0aWMgaW5saW5lIEVu
Y29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2UxKAogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3QtPnZtKCk7CiAgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgVU5VU0VEX1BB
UkFNKHRocm93U2NvcGUpOwogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZUNvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5q
c0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBzZXF1ZW5jZU9m
U3RyaW5ncyA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCkuaXNVbmRlZmluZWQoKSA/IENvbnZlcnRl
cjxJRExTZXF1ZW5jZTxJRExET01TdHJpbmc+Pjo6UmV0dXJuVHlwZXsgfSA6IGNvbnZlcnQ8SURM
U2VxdWVuY2U8SURMRE9NU3RyaW5nPj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+
dW5jaGVja2VkQXJndW1lbnQoMCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENv
bnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTo6Y3JlYXRlKFdURk1vdmUoc2VxdWVuY2VPZlN0cmluZ3Mp
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJm
YWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKSk7
CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2U+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwogfQogCiBzdGF0aWMgaW5saW5lIEVuY29kZWRKU1Zh
bHVlIGNvbnN0cnVjdEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UyKEpT
R2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
IHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2VDb25zdHJ1Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUo
KSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwogICAgIGF1dG8gc3RyaW5nID0gY29udmVydDxJ
RExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUtPnVuY2hlY2tlZEFy
Z3VtZW50KDApKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRK
U1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNX
aXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3ZlKHN0cmluZykpOwotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0
b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dp
dGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRl
ZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4obGV4aWNhbEdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1
ZSk7CiB9CiAKIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlQ29uc3RydWN0b3I6OmNvbnN0cnVjdChK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCmluZGV4IGIxNTY3
NTAwNDNmODk5N2FkNDA4NGYyNzU4NTA1OGQyMGIwY2JiOGEuLjI0MDliYzE4YTVmNmY3YWVjZWZl
MTI3NGQzZDE4MzYxMWQ5ZTFhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnQuY3BwCkBAIC0xNjAsNyArMTYwLDYgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudENvbnN0cnVjdG9yOjoK
IHsKICAgICBWTSYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJv
d1Njb3BlKTsKICAgICBhdXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdFByb21pc2VSZWpl
Y3Rpb25FdmVudENvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NF
UlQoY2FzdGVkVGhpcyk7CiAgICAgaWYgKFVOTElLRUxZKGNhbGxGcmFtZS0+YXJndW1lbnRDb3Vu
dCgpIDwgMikpCkBAIC0xNzAsNyArMTY5LDEwIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnRDb25zdHJ1Y3Rvcjo6CiAg
ICAgYXV0byBldmVudEluaXREaWN0ID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFRlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnQ6OkluaXQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51
bmNoZWNrZWRBcmd1bWVudCgxKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnQ6OmNyZWF0ZSgqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUodHlw
ZSksIFdURk1vdmUoZXZlbnRJbml0RGljdCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1v
dmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50
ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
KmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4obGV4aWNh
bEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CisgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNWYWx1ZSk7CiB9CiAKIHRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RQcm9taXNlUmVqZWN0
aW9uRXZlbnRDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAK
aW5kZXggY2FlODFjOWUyOGZkMjJlMDNhN2M3MWVjOWI5NWYwZWU4OTUzZjYxNy4uM2Q2YzIwOWZi
MzMxMmQ4ZTQ3ZjQxMDU1MDc5NDM3Yzg0NTI1Nzg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCkBA
IC0xNDgsNyArMTQ4LDYgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0cKIHsKICAgICBWTSYgdm0g
PSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKICAgICBh
dXRvKiBjYXN0ZWRUaGlzID0ganNDYXN0PEpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3IqPihjYWxs
RnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBpZiAoVU5M
SUtFTFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAzKSkKQEAgLTE2MCw3ICsxNTksMTAg
QEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdFR5cGVkZWZz
Q29uc3RydWN0b3I6OmNvbnN0cnVjdChKU0cKICAgICBhdXRvIHRlc3RDYWxsYmFja0ludGVyZmFj
ZSA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tJbnRlcmZhY2U8SlNUZXN0Q2FsbGJhY2tJbnRlcmZhY2U+
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgyKSwg
KmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRN
dXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAyLCAidGVzdENh
bGxiYWNrSW50ZXJmYWNlIiwgIlRlc3RUeXBlZGVmcyIsIG51bGxwdHIpOyB9KTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8g
b2JqZWN0ID0gVGVzdFR5cGVkZWZzOjpjcmVhdGUoV1RGTW92ZShoZWxsbyksIHRlc3RDYWxsYmFj
a0Z1bmN0aW9uLnJlbGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0ludGVyZmFjZS5yZWxlYXNl
Tm9uTnVsbCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVmcz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVk
VGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSkpOworICAgIGF1dG8ganNWYWx1
ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVmcz4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSk7CisgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0VHlwZWRlZnM+KGxleGlj
YWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOworICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVmFsdWUpOwogfQogCiB0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0VHlwZWRlZnNDb25z
dHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKaW5k
ZXggNjZmZGRjMWNhOTM2YjVhODhiMGQ1NDdlMTJjZTJmYzc2MTg2YzMxOS4uY2QwZGUwODgxYzQw
MDFmZWRjN2Q4ZDY3NDAyNjgxYWIxOGQ2NGQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
Y3BwCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXRDb25jcmV0ZS5oIgog
I2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxIdG1sRWxlbWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgpAQCAtNTgsNiArNTksMTEg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEV2ZW50
VGFyZ2V0KTsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhKTsKIAorUmVmPEV2ZW50VGFyZ2V0PiBFdmVudFRhcmdldDo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIEV2ZW50VGFyZ2V0Q29uY3Jl
dGU6OmNyZWF0ZShjb250ZXh0KTsKK30KKwogYm9vbCBFdmVudFRhcmdldDo6aXNOb2RlKCkgY29u
c3QKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IDcy
MGEzM2JhODQ5NzEzOWMwYzQzZmQzMTMzMmU2ODg2ODI4M2VhMDIuLjZiYzk5YjE4NDgwYTkxMGJi
NjEwYzZiNGYzMzk4MmQyZjA5MTAzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC01
NCw2ICs1NCw4IEBAIHB1YmxpYzoKIGNsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdy
YXBwYWJsZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldCk7CiBwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxFdmVudFRhcmdldD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKTsKKwogICAgIHZvaWQgcmVmKCkgeyByZWZFdmVudFRhcmdldCgpOyB9CiAgICAgdm9p
ZCBkZXJlZigpIHsgZGVyZWZFdmVudFRhcmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaWRsCmluZGV4IGU1ZjE3OWQ1MWQxZjU5NTY3ZTE0ZDliNWM3OWU4NTE1YjNjODUwZmMuLmMx
N2VkZWYzZWY5NGQ3YzkwMDJjNzRiYTRkNTZiOTdiZGIxMWE3YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmlkbApAQCAtMTksNiArMTksOCBAQAogICovCiAKIFsKKyAgICBDb25zdHJ1Y3Rv
ciwKKyAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAg
Q3VzdG9tVG9KU09iamVjdCwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJc0lt
bXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdE9uUHJvdG90eXBlLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0Q29uY3JldGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlZDIyNGJlYjk3YTQ0OGFl
ZDQ1NTI5ZDY4NmQxMDcwZjExNTE4NjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29u
Y3JldGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoRXZlbnRUYXJnZXRDb25jcmV0ZSk7CisKK1JlZjxFdmVudFRhcmdldENvbmNyZXRlPiBF
dmVudFRhcmdldENvbmNyZXRlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFdmVudFRhcmdldENvbmNyZXRlKGNvbnRl
eHQpKTsKK30KKworRXZlbnRUYXJnZXRDb25jcmV0ZTo6RXZlbnRUYXJnZXRDb25jcmV0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXIoJmNvbnRleHQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldENvbmNyZXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzMDQzYjkxOTQzZTNj
MmQyYmY1ZGQ2NjE3ZmI4MjUwNTU3N2RiNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRDb25jcmV0ZS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4u
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0SW50ZXJmYWNlcy5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRXZlbnRUYXJnZXRDb25jcmV0ZSBm
aW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50VGFyZ2V0Q29uY3JldGU+LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZl
ciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldENvbmNyZXRlKTsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPEV2ZW50VGFyZ2V0Q29uY3JldGU+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jik7CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNp
bmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRXZlbnRUYXJn
ZXRDb25jcmV0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICBFdmVudFRhcmdldElu
dGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rp
b25PYnNlcnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisKKyAgICB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IGZpbmFsIHsgZGVyZWYoKTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9tYWtlX2V2ZW50X2ZhY3RvcnkucGwKaW5kZXggMTM3YzIxMjU1ZjU3YmFjYzU0
YjdmYzg3Y2QzYTZiMjA4ZDFlOTIyYS4uMWI5MjE3NzQ4YjNlMzhmNDI0OTMzMzUxNzRkZTEwYjQ2
NWU4ZmRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfZXZlbnRfZmFjdG9y
eS5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsCkBAIC0x
MDQsNiArMTA0LDggQEAgc3ViIGdlbmVyYXRlSW1wbGVtZW50YXRpb24oKQogICAgICAgICBwcmlu
dCBGICJKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0KiBzdGF0ZSwgSlNET01H
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgJHtuYW1lc3BhY2V9JiBpbXBsKVxuIjsKICAgICAg
ICAgcHJpbnQgRiAie1xuIjsKICAgICAgICAgcHJpbnQgRiAiICAgIHN3aXRjaCAoaW1wbC4ke2lu
dGVyZmFjZU1ldGhvZE5hbWV9KCkpIHtcbiI7CisgICAgICAgIHByaW50IEYgIiAgICBjYXNlIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTpcbiI7CisgICAgICAgIHByaW50IEYgIiAgICAgICAgYnJl
YWs7XG4iOwogICAgIH0KIAogICAgIG15ICVnZW5lcmF0ZWRJbnRlcmZhY2VOYW1lcyA9ICgpOwpA
QCAtMTM5LDggKzE0MSw3IEBAIHN1YiBnZW5lcmF0ZUltcGxlbWVudGF0aW9uKCkKICAgICBpZiAo
JGZhY3RvcnlGdW5jdGlvbiBlcSAidG9OZXdseUNyZWF0ZWQiKSB7CiAgICAgICAgIHByaW50IEYg
IiAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjwkbmFtZXNwYWNlPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpO1xuIjsKICAgICB9IGVsc2UgewotICAgICAgICBwcmludCBGICIgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7XG4iOwotICAgICAgICBwcmludCBGICIgICAgcmV0dXJuIEpTQzo6anNO
dWxsKCk7XG4iOworICAgICAgICBwcmludCBGICIgICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2Jh
bE9iamVjdCwgaW1wbCk7XG4iOwogICAgIH0KICAgICBwcmludCBGICJ9XG4iOwogICAgIHByaW50
IEYgIlxuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBlY2QzMmZjZTAzNGFjOThlNTVhNTAyNjkyZWJkYzBlODkxNzNlYzJl
Li5lNGVhYzM5NTYyYzQyNDQzNDViY2MyZTFhNmI3ZmVhODAwNDI4ZWRlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjAtMDItMTUgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRhcmdldCBjb25zdHJ1Y3RvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MzEzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9kb20tY29uc3RydWN0
b3JzLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisKIDIwMjAtMDItMTIgIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2Uu
akBhcHBsZS5jb20+CiAKICAgICAgICAgW01hYyB3azIgXSBmYXN0L2RvbS9hdHRyX2RlYWRfZG9j
Lmh0bWwgaXMgZmxha3kgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDk1MzBkYjE5ZjVlNTUxYmI3MWY0YTgxYWIwMDliMjc0YjliZmQ5ZmYuLmQ4ZTIyMjk2ZDllYTkx
ZmNiNTExYzZhYWU2MWEyYjM1YTA2NzExYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAyLTE1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2Fs
ZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZlbnRUYXJnZXQgY29uc3RydWN0
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDMx
MworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3JzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1z
dWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFy
Z2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAyLTEyICBSb3NzYW5hIE1v
bnRlcmlzbyAgPHJtb250ZXJpc29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIE1v
dmUgZ3JpZC1pdGVtLWF1dG8tbWFyZ2lucy1hbGlnbm1lbnQgdGVzdHMgdG8gV1BUIGZvbGRlcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCBmZDFhNTk3NmQzOWExNzgwOGZjN2Y3Y2E0YTM3OTVlYzI0OGY0N2IwLi41OWRhZDAz
ZGVlOTZkOWE2MWIxZDE5MmU0YWRhMDU3MGFiYjZiOWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDYgQEAg
UEFTUyBUcnlBbGxvY2F0ZSgnQ2hhcmFjdGVyRGF0YScpIGlzICdleGNlcHRpb24nCiBQQVNTIFRy
eUFsbG9jYXRlKCdDREFUQVNlY3Rpb24nKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0
ZSgnRG9jdW1lbnRUeXBlJykgaXMgJ2V4Y2VwdGlvbicKIFBBU1MgVHJ5QWxsb2NhdGUoJ0VsZW1l
bnQnKSBpcyAnZXhjZXB0aW9uJwotUEFTUyBUcnlBbGxvY2F0ZSgnRXZlbnRUYXJnZXQnKSBpcyAn
ZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxvY2F0ZSgnSFRNTERvY3VtZW50JykgaXMgJ2V4Y2VwdGlv
bicKIFBBU1MgVHJ5QWxsb2NhdGUoJ05vZGUnKSBpcyAnZXhjZXB0aW9uJwogUEFTUyBUcnlBbGxv
Y2F0ZSgnUHJvY2Vzc2luZ0luc3RydWN0aW9uJykgaXMgJ2V4Y2VwdGlvbicKQEAgLTEzMSw2ICsx
MzAsOSBAQCBQQVNTIFRyeUFsbG9jYXRlKCdEb2N1bWVudCcpIGlzICdbb2JqZWN0IERvY3VtZW50
XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnW29iamVjdCBEb2N1
bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAn
W29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKIFBBU1MgVHJ5QWxsb2NhdGUoJ0RvY3VtZW50RnJh
Z21lbnQnKSBpcyAnW29iamVjdCBEb2N1bWVudEZyYWdtZW50XScKK1BBU1MgVHJ5QWxsb2NhdGUo
J0V2ZW50VGFyZ2V0JykgaXMgJ1tvYmplY3QgRXZlbnRUYXJnZXRdJworUEFTUyBUcnlBbGxvY2F0
ZSgnRXZlbnRUYXJnZXQnKSBpcyAnW29iamVjdCBFdmVudFRhcmdldF0nCitQQVNTIFRyeUFsbG9j
YXRlKCdFdmVudFRhcmdldCcpIGlzICdbb2JqZWN0IEV2ZW50VGFyZ2V0XScKIFBBU1MgVHJ5QWxs
b2NhdGUoJ1JhbmdlJykgaXMgJ1tvYmplY3QgUmFuZ2VdJwogUEFTUyBUcnlBbGxvY2F0ZSgnUmFu
Z2UnKSBpcyAnW29iamVjdCBSYW5nZV0nCiBQQVNTIFRyeUFsbG9jYXRlKCdSYW5nZScpIGlzICdb
b2JqZWN0IFJhbmdlXScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25z
dHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbS1jb25zdHJ1Y3RvcnMuaHRt
bAppbmRleCA0YjdhZTc1NTY1NTkyYTgyYjVkM2MyMjhhYzgyYTZhMmQ2ZjE2N2VjLi5iNDAxMDU2
ODAyYjVjMGY5YTdiYzBjNTg0YTYyNzRiMTA2ZGUwYTIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9kb20tY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vZG9tLWNvbnN0cnVjdG9ycy5odG1sCkBAIC0xOCw3ICsxOCw2IEBAIHZhciBvYmplY3RzX2V4
Y2VwdGlvbiA9IFsKICAgICAnQ0RBVEFTZWN0aW9uJywKICAgICAnRG9jdW1lbnRUeXBlJywKICAg
ICAnRWxlbWVudCcsCi0gICAgJ0V2ZW50VGFyZ2V0JywKICAgICAnSFRNTERvY3VtZW50JywKICAg
ICAnTm9kZScsCiAgICAgJ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbicsCkBAIC0xMzIsNiArMTMxLDcg
QEAgdmFyIG9iamVjdHNfY29uc3RydWN0b3IgPSBbCiAgICAgJ0RPTVBhcnNlcicsCiAgICAgJ0Rv
Y3VtZW50JywKICAgICAnRG9jdW1lbnRGcmFnbWVudCcsCisgICAgJ0V2ZW50VGFyZ2V0JywKICAg
ICAnUmFuZ2UnLAogICAgICdUZXh0JywKICAgICAnWE1MSHR0cFJlcXVlc3QnLApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJJREwvZWNt
YXNjcmlwdC1iaW5kaW5nL2NvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcv
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBiYzMxMjZkOGI2MTg2MTdhM2UwYmY1MTI4
ZmQ0NjQ0MTVlNzk3YTMwLi5kYzYwNGQyZDQzNDQwZTlhMDAyZmZhZWFmOWJjYzY2MWQ2NTc4NmQy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYklETC9lY21hc2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYklETC9lY21h
c2NyaXB0LWJpbmRpbmcvY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxNCBA
QAogUEFTUyBSZWFsbSBmb3IgY29uc3RydWN0ZWQgb2JqZWN0cyAKIFBBU1MgTm9ybWFsIGNvbnN0
cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgCiBQQVNTIE5vcm1hbCBjb25zdHJ1Y3RvciBpbiBjaGls
ZCB3aW5kb3cgCi1GQUlMIENvbnN0cnVjdG9yIGluIGNoaWxkIHdpbmRvdyB3aXRoIG5vcm1hbCBO
ZXdUYXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVj
dCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBE
T01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBDb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IHdp
dGggbm9ybWFsIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIgYnV0IGdvdCBvYmplY3Qg
IltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgU3ViY2xhc3MgY29uc3RydWN0b3Ig
aW4gcGFyZW50IHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBvYmplY3QgIltvYmplY3Qg
T2JqZWN0XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKLUZB
SUwgU3ViY2xhc3MgY29uc3RydWN0b3IgaW4gY2hpbGQgd2luZG93IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBE
T01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBwYXJlbnQg
d2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIGNoaWxkIHdpbmRvdyBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgT2JqZWN0XSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3Qg
RE9NUGFyc2VyUHJvdG90eXBlXSIKLUZBSUwgU3ViY2xhc3MgY29uc3RydWN0b3IgaW4gY2hpbGQg
d2luZG93IHdpdGggcGFyZW50IGNsYXNzIGluIHBhcmVudCB3aW5kb3cgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IE9iamVjdF0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0
IERPTVBhcnNlclByb3RvdHlwZV0iCi1GQUlMIENvbnN0cnVjdG9yIGluIGNoaWxkIHdpbmRvdyB3
aXRoIGJhZCBOZXdUYXJnZXQgZnJvbSBwYXJlbnQgd2luZG93IGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAi
W29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgotRkFJTCBDb25zdHJ1Y3RvciBpbiBwYXJlbnQg
d2luZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIGNoaWxkIHdpbmRvdyBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIgYnV0IGdvdCBv
YmplY3QgIltvYmplY3QgRE9NUGFyc2VyUHJvdG90eXBlXSIKK1BBU1MgQ29uc3RydWN0b3IgaW4g
Y2hpbGQgd2luZG93IHdpdGggbm9ybWFsIE5ld1RhcmdldCBmcm9tIHBhcmVudCB3aW5kb3cgCitQ
QVNTIENvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBub3JtYWwgTmV3VGFyZ2V0IGZy
b20gY2hpbGQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2lu
ZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cgCitQQVNTIFN1
YmNsYXNzIGNvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBwYXJlbnQgY2xhc3MgaW4g
Y2hpbGQgd2luZG93IAorUEFTUyBTdWJjbGFzcyBjb25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cg
d2l0aCBwYXJlbnQgY2xhc3MgaW4gcGFyZW50IHdpbmRvdyAKK1BBU1MgQ29uc3RydWN0b3IgaW4g
Y2hpbGQgd2luZG93IHdpdGggYmFkIE5ld1RhcmdldCBmcm9tIHBhcmVudCB3aW5kb3cgCitQQVNT
IENvbnN0cnVjdG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBiYWQgTmV3VGFyZ2V0IGZyb20gY2hp
bGQgd2luZG93IAogRkFJTCBDb25zdHJ1Y3RvciBpbiBwYXJlbnQgd2luZG93IHdpdGggYmFkIE5l
d1RhcmdldCBmcm9tIHBhcmVudCB3aW5kb3cgdGhhdCdzIGEgYm91bmQgY2hpbGQgd2luZG93IGZ1
bmN0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQ
cm90b3R5cGVdIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBET01QYXJzZXJQcm90b3R5cGVdIgog
RkFJTCBDb25zdHJ1Y3RvciBpbiBjaGlsZCB3aW5kb3cgd2l0aCBiYWQgTmV3VGFyZ2V0IGZyb20g
Y2hpbGQgd2luZG93IHRoYXQncyBhIGJvdW5kIHBhcmVudCB3aW5kb3cgZnVuY3Rpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iIGJ1
dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCiBGQUlMIENvbnN0cnVj
dG9yIGluIHBhcmVudCB3aW5kb3cgd2l0aCBiYWQgTmV3VGFyZ2V0IGZyb20gcGFyZW50IHdpbmRv
dyB0aGF0J3MgYSBwcm94eSBmb3IgYSBjaGlsZCB3aW5kb3cgZnVuY3Rpb24gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iIGJ1dCBnb3Qg
b2JqZWN0ICJbb2JqZWN0IERPTVBhcnNlclByb3RvdHlwZV0iCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtc3Vi
Y2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNzZXMtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA3MTE5MGUzYWQ3MDc2YmQxNGEzODdjOWJjYWI1NmJh
Mjk1YTRmZWE1Li41ZWYwMGJhZjllNDJjYjljYWZlZmRlNTYxNTFjYTkyNjk3YjMzZjk5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvRXZlbnQtc3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVu
dC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTQxLDExICs0MSwxMSBA
QCBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpCiBQQVNT
IENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKIFBBU1MgQ29t
cG9zaXRpb25FdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykg
CiBQQVNTIENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRl
ZmF1bHQgdmFsdWVzKSAKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1
bWVudCkgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNz
ZWRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChu
dWxsIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
U3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3Rv
ciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCi1GQUlMIFN1YmNsYXNzZWRFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQg
d2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorUEFTUyBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKK1BB
U1MgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAorUEFT
UyBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAorUEFTUyBTdWJj
bGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKK1BBU1MgU3ViY2xhc3Nl
ZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKK1BBU1Mg
U3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZh
bHVlcykgCiBQQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKHZpZXcgYXJndW1lbnQgd2l0aCB3cm9u
ZyB0eXBlKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS1leHBlY3RlZC50eHQKaW5kZXgg
YmYwOGZjNzY4YTI3OGMwMWJiN2RlYmI1OGNhYjIwZjY2NTQ2MzFmZi4uNzUzZTQ2NGYzMzFiM2U2
M2ExYmEyMGE2ZDRkNjg4Y2M0MTNmODgzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVj
dGlibGUuYW55LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtY29uc3RydWN0aWJsZS5hbnkt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIEEgY29uc3RydWN0ZWQgRXZlbnRU
YXJnZXQgY2FuIGJlIHVzZWQgYXMgZXhwZWN0ZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRhcmdldCgpJykKLUZBSUwgRXZlbnRUYXJnZXQgY2Fu
IGJlIHN1YmNsYXNzZWQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J3N1cGVyKC4uLmFyZ3MpJykKK1BBU1MgQSBjb25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUg
dXNlZCBhcyBleHBlY3RlZCAKK1BBU1MgRXZlbnRUYXJnZXQgY2FuIGJlIHN1YmNsYXNzZWQgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudFRhcmdldC1jb25zdHJ1Y3RpYmxlLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5k
ZXggYmYwOGZjNzY4YTI3OGMwMWJiN2RlYmI1OGNhYjIwZjY2NTQ2MzFmZi4uNzUzZTQ2NGYzMzFi
M2U2M2ExYmEyMGE2ZDRkNjg4Y2M0MTNmODgzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0
cnVjdGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWNvbnN0cnVj
dGlibGUuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgQSBj
b25zdHJ1Y3RlZCBFdmVudFRhcmdldCBjYW4gYmUgdXNlZCBhcyBleHBlY3RlZCBmdW5jdGlvbiBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKQotRkFJ
TCBFdmVudFRhcmdldCBjYW4gYmUgc3ViY2xhc3NlZCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1
Y3RvciAoZXZhbHVhdGluZyAnc3VwZXIoLi4uYXJncyknKQorUEFTUyBBIGNvbnN0cnVjdGVkIEV2
ZW50VGFyZ2V0IGNhbiBiZSB1c2VkIGFzIGV4cGVjdGVkIAorUEFTUyBFdmVudFRhcmdldCBjYW4g
YmUgc3ViY2xhc3NlZCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDUx
ZmRlOGMyZTkxMDM5M2Y2MDFiYzY2MzBjNTkxYWEwMzE2ZjZhZWIuLjI0Mzg2NGRmYzk2YTVjZmUz
NzMzOGNkNzAyMzk2OGE4ZTk5YTZjYTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2lu
ZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1Y3RvcnMg
ZnJvbSBhbm90aGVyIGdsb2JhbDogRXZlbnRUYXJnZXQgZnVuY3Rpb24gaXMgbm90IGEgY29uc3Ry
dWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBvdGhlcldpbmRvd1tjb25zdHJ1Y3Rvck5hbWVdKCknKQor
RkFJTCB3aW5kb3cuZXZlbnQgZm9yIGNvbnN0cnVjdG9ycyBmcm9tIGFub3RoZXIgZ2xvYmFsOiBF
dmVudFRhcmdldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQg
YnV0IGdvdCAob2JqZWN0KSBvYmplY3QgIltvYmplY3QgRXZlbnRdIgogRkFJTCB3aW5kb3cuZXZl
bnQgZm9yIGNvbnN0cnVjdG9ycyBmcm9tIGFub3RoZXIgZ2xvYmFsOiBYTUxIdHRwUmVxdWVzdCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAob2Jq
ZWN0KSBvYmplY3QgIltvYmplY3QgRXZlbnRdIgogUEFTUyB3aW5kb3cuZXZlbnQgYW5kIGVsZW1l
bnQgZnJvbSBhbm90aGVyIGRvY3VtZW50IAogRkFJTCB3aW5kb3cuZXZlbnQgYW5kIG1vdmluZyBh
biBlbGVtZW50IHBvc3QtZGlzcGF0Y2ggYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkg
b2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CmluZGV4IGY0NDU5M2FkZDYxZjkwZjA5ZTAxNGQwYmM3MDA2YzBkYTEzNzA3ZDguLjZi
MzA5Yzg5NTliZTYwNmZjYjVlYzZhMzEwMDVmZTEzYzY0N2MxYWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MTMzLDE0ICsxMzMsMTQgQEAgUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamUKIFBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50
TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFdmVudFRh
cmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywg
RXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGRpc3BhdGNoRXZlbnQoRXZlbnQpIAotRkFJ
TCBFdmVudFRhcmdldCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudFRhcmdl
dCgpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBp
cyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZB
SUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVudFRhcmdldCgpIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxp
bmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0pIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5n
ICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBF
dmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0p
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5
cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBF
dmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2Vw
dGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3Qg
IlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25l
dyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2ZW50
VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJy
b3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRU
YXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hF
dmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVF
cnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVu
dFRhcmdldCgpJykiCitQQVNTIEV2ZW50VGFyZ2V0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgbmV3IEV2ZW50VGFyZ2V0KCkgCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRXZlbnRU
YXJnZXQoKSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJnZXQoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExp
c3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3Rl
bmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2Jq
ZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRUYXJn
ZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5n
LCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1v
dmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3Rd
LFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBu
ZXcgRXZlbnRUYXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZl
bnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBj
YWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBFdmVudFRhcmdldCgpIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEV2ZW50TGlzdGVuZXIg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
IFBBU1MgQWJvcnRDb250cm9sbGVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFib3J0Q29udHJvbGxlciBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93
LWV4cGVjdGVkLnR4dAppbmRleCA2ZWQyYzRkYjdmZGNhODZhOTk3ZmIxMjJmZjQ5ODgxYmQxNWQ1
Y2RjLi5kMTU1Y2M1MDBjMDhhN2UyOTNkMDllMDVkMWNmMTZhOTc4OGFjNzZlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJu
ZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0x
NTgsMTQgKzE1OCwxNCBAQCBQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZQogUEFTUyBFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRM
aXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBF
dmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAKIFBBU1MgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hFdmVudChFdmVudCkgCi1GQUlM
IEV2ZW50VGFyZ2V0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEV2ZW50VGFyZ2V0
KCkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9i
amVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlz
IG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJ
TCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50VGFyZ2V0KCkgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgRXZlbnRUYXJnZXQoKScpIgotRkFJTCBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IG5ldyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0
ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9i
amVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4
Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGlu
ZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmpl
Y3RdLFtvYmplY3QgT2JqZWN0XSkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4
Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIlR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBFdmVudFRhcmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IEV2
ZW50VGFyZ2V0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVudExpc3RlbmVyKERP
TVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSki
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlw
ZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2
ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92
ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
VHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IEV2ZW50VGFyZ2V0KCknKSIKLUZBSUwgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgRXZlbnRU
YXJnZXQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlR5cGVFcnJv
cjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBFdmVudFRh
cmdldCgpJykiCi1GQUlMIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2
ZW50KEV2ZW50KSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiVHlwZUVy
cm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IEV2ZW50
VGFyZ2V0KCknKSIKK1BBU1MgRXZlbnRUYXJnZXQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBuZXcgRXZlbnRUYXJnZXQoKSAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBFdmVudFRh
cmdldCgpIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdldCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlz
dGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmpl
Y3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBFdmVudFRhcmdl
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcs
IEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92
ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplY3RdKSBvbiBuZXcgRXZlbnRUYXJnZXQoKSB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5l
dyBFdmVudFRhcmdldCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudChFdmVu
dCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbmV3IEV2ZW50VGFyZ2V0KCkgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRXZlbnRMaXN0ZW5lciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQt
c3ViY2xhc3Nlcy1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1z
dWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDcxMTkwZTNhZDcwNzZiZDE0YTM4N2M5YmNhYjU2YmEyOTVhNGZlYTUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVu
dC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw1MSArMCwwIEBACi0KLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKLVBB
U1MgRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIEV2ZW50IGNv
bnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5
IGFyZ3VtZW50KSAKLVBBU1MgRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVs
dCB2YWx1ZXMpIAotUEFTUyBFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVm
YXVsdCB2YWx1ZXMpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChubyBhcmd1bWVudCkgCi1Q
QVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1bWVudCkgCi1QQVNTIFVJRXZl
bnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9y
IChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIFVJRXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdp
dGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBVSUV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3
aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1QQVNTIEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKG5v
IGFyZ3VtZW50KSAKLVBBU1MgRm9jdXNFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3Vt
ZW50KSAKLVBBU1MgRm9jdXNFdmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNT
IEZvY3VzRXZlbnQgY29uc3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgRm9jdXNFdmVu
dCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIEZvY3Vz
RXZlbnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBB
U1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBNb3VzZUV2ZW50
IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBNb3VzZUV2ZW50IGNvbnN0
cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAoZW1w
dHkgYXJndW1lbnQpIAotUEFTUyBNb3VzZUV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRo
IGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgTW91c2VFdmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQg
d2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChu
byBhcmd1bWVudCkgCi1QQVNTIFdoZWVsRXZlbnQgY29uc3RydWN0b3IgKHVuZGVmaW5lZCBhcmd1
bWVudCkgCi1QQVNTIFdoZWVsRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIAotUEFT
UyBXaGVlbEV2ZW50IGNvbnN0cnVjdG9yIChlbXB0eSBhcmd1bWVudCkgCi1QQVNTIFdoZWVsRXZl
bnQgY29uc3RydWN0b3IgKGFyZ3VtZW50IHdpdGggZGVmYXVsdCB2YWx1ZXMpIAotUEFTUyBXaGVl
bEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZhbHVlcykgCi1Q
QVNTIEtleWJvYXJkRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSAKLVBBU1MgS2V5Ym9h
cmRFdmVudCBjb25zdHJ1Y3RvciAodW5kZWZpbmVkIGFyZ3VtZW50KSAKLVBBU1MgS2V5Ym9hcmRF
dmVudCBjb25zdHJ1Y3RvciAobnVsbCBhcmd1bWVudCkgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29u
c3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSAKLVBBU1MgS2V5Ym9hcmRFdmVudCBjb25zdHJ1Y3Rv
ciAoYXJndW1lbnQgd2l0aCBkZWZhdWx0IHZhbHVlcykgCi1QQVNTIEtleWJvYXJkRXZlbnQgY29u
c3RydWN0b3IgKGFyZ3VtZW50IHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgQ29tcG9z
aXRpb25FdmVudCBjb25zdHJ1Y3RvciAobm8gYXJndW1lbnQpIAotUEFTUyBDb21wb3NpdGlvbkV2
ZW50IGNvbnN0cnVjdG9yICh1bmRlZmluZWQgYXJndW1lbnQpIAotUEFTUyBDb21wb3NpdGlvbkV2
ZW50IGNvbnN0cnVjdG9yIChudWxsIGFyZ3VtZW50KSAKLVBBU1MgQ29tcG9zaXRpb25FdmVudCBj
b25zdHJ1Y3RvciAoZW1wdHkgYXJndW1lbnQpIAotUEFTUyBDb21wb3NpdGlvbkV2ZW50IGNvbnN0
cnVjdG9yIChhcmd1bWVudCB3aXRoIGRlZmF1bHQgdmFsdWVzKSAKLVBBU1MgQ29tcG9zaXRpb25F
dmVudCBjb25zdHJ1Y3RvciAoYXJndW1lbnQgd2l0aCBub24tZGVmYXVsdCB2YWx1ZXMpIAotRkFJ
TCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG5vIGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9y
ICh1bmRlZmluZWQgYXJndW1lbnQpIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29uc3RydWN0b3IgKG51bGwgYXJndW1lbnQpIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTdWJjbGFzc2VkRXZlbnQgY29u
c3RydWN0b3IgKGVtcHR5IGFyZ3VtZW50KSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgU3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIGRl
ZmF1bHQgdmFsdWVzKSBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
U3ViY2xhc3NlZEV2ZW50IGNvbnN0cnVjdG9yIChhcmd1bWVudCB3aXRoIG5vbi1kZWZhdWx0IHZh
bHVlcykgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1QQVNTIFVJRXZlbnQg
Y29uc3RydWN0b3IgKHZpZXcgYXJndW1lbnQgd2l0aCB3cm9uZyB0eXBlKSAKLQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>