<?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>161409</bug_id>
          
          <creation_ts>2016-08-30 14:56:53 -0700</creation_ts>
          <short_desc>[JSC] Implement parsing of Async Functions</short_desc>
          <delta_ts>2016-09-23 15:26:53 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>156147</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caitlin Potter (:caitp)">caitp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1224726</commentid>
    <comment_count>0</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-08-30 14:56:53 -0700</bug_when>
    <thetext>[JSC] Implement parsing of Async Functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224730</commentid>
    <comment_count>1</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-08-30 15:01:08 -0700</bug_when>
    <thetext>TODO:

- Put async function parsing behind compile-time flag (the runtime flag approach in 156147 was probably not worth it)
- Fix bug 161408 so that test FIXME can be uncommented
- Fix module parsing errors re: AWAIT keyword (Scope objects no longer know if they&apos;re parsing a module or not, have not yet introduced a fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224734</commentid>
    <comment_count>2</comment_count>
      <attachid>287437</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-08-30 15:04:18 -0700</bug_when>
    <thetext>Created attachment 287437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224735</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-30 15:06:19 -0700</bug_when>
    <thetext>Attachment 287437 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/Keywords.table:10:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224748</commentid>
    <comment_count>4</comment_count>
      <attachid>287442</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-08-30 15:38:00 -0700</bug_when>
    <thetext>Created attachment 287442
Patch

Get rid of the xcodeproj changes, since the new files aren&apos;t included in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224758</commentid>
    <comment_count>5</comment_count>
      <attachid>287444</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-08-30 16:02:54 -0700</bug_when>
    <thetext>Created attachment 287444
Async Function Parsing v1

Fix modules test failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227286</commentid>
    <comment_count>6</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-07 12:21:54 -0700</bug_when>
    <thetext>So, experimenting with this a bit, I&apos;m finding that those &quot;expensive branches&quot; identified by Yusuke Suzuki can be (mostly) mitigated in the benchmarks by moving their contents to never-inlined functions. I guess this makes the on-stack allocation for the more commonly executed code smaller, and means the only extra work the &quot;commonly executed&quot; code has to do is the interned string comparison (testing if a particular string is &quot;async&quot; or not), which should be pretty cheap.

The biggest one of these in the jQuery benchmark is, according to Instruments.app, the one in parseStatement(). Uninlining these rare branches might be a good way to go, but I&apos;d appreciate a second set of eyes measuring that solution using different tools and settings as well.

Some benchmark runs (just with jquery) with 4 VM runs and 10 inner runs:

```
Collected 40 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

1)
                         Baseline                  Patched                                      

jquery               6.76557+-0.13436    ?     6.89083+-0.08124       ? might be 1.0185x slower

&lt;geometric&gt;          6.76557+-0.13436    ?     6.89083+-0.08124       ? might be 1.0185x slower

2)
                         Baseline                  Patched                                      

jquery               7.06592+-0.09167          7.03025+-0.07808       

&lt;geometric&gt;          7.06592+-0.09167          7.03025+-0.07808         might be 1.0051x faster
```

So, I dunno, that seems like an improvement over the existing regression to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227333</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-07 13:31:00 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; So, experimenting with this a bit, I&apos;m finding that those &quot;expensive
&gt; branches&quot; identified by Yusuke Suzuki can be (mostly) mitigated in the
&gt; benchmarks by moving their contents to never-inlined functions. I guess this
&gt; makes the on-stack allocation for the more commonly executed code smaller,
&gt; and means the only extra work the &quot;commonly executed&quot; code has to do is the
&gt; interned string comparison (testing if a particular string is &quot;async&quot; or
&gt; not), which should be pretty cheap.
&gt; 
&gt; The biggest one of these in the jQuery benchmark is, according to
&gt; Instruments.app, the one in parseStatement(). Uninlining these rare branches
&gt; might be a good way to go, but I&apos;d appreciate a second set of eyes measuring
&gt; that solution using different tools and settings as well.
&gt; 
&gt; Some benchmark runs (just with jquery) with 4 VM runs and 10 inner runs:
&gt; 
&gt; ```
&gt; Collected 40 samples per benchmark/VM, with 4 VM invocations per benchmark.
&gt; Emitted a call to
&gt; gc() between sample measurements. Used 1 benchmark iteration per VM
&gt; invocation for warm-up. Used
&gt; the jsc-specific preciseTime() function to get microsecond-level timing.
&gt; Reporting benchmark
&gt; execution times with 95% confidence intervals in milliseconds.
&gt; 
&gt; 1)
&gt;                          Baseline                  Patched                  
&gt; 
&gt; 
&gt; jquery               6.76557+-0.13436    ?     6.89083+-0.08124       ?
&gt; might be 1.0185x slower
&gt; 
&gt; &lt;geometric&gt;          6.76557+-0.13436    ?     6.89083+-0.08124       ?
&gt; might be 1.0185x slower
&gt; 
&gt; 2)
&gt;                          Baseline                  Patched                  
&gt; 
&gt; 
&gt; jquery               7.06592+-0.09167          7.03025+-0.07808       
&gt; 
&gt; &lt;geometric&gt;          7.06592+-0.09167          7.03025+-0.07808        
&gt; might be 1.0051x faster
&gt; ```
&gt; 
&gt; So, I dunno, that seems like an improvement over the existing regression to
&gt; me.

Great! Did you already upload the updated patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227373</commentid>
    <comment_count>8</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-07 15:11:44 -0700</bug_when>
    <thetext>no, but the change is pretty minor, so im not sure if it has the benefit i imagine it does. I&apos;ll put it up in a sec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227376</commentid>
    <comment_count>9</comment_count>
      <attachid>288192</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-07 15:15:28 -0700</bug_when>
    <thetext>Created attachment 288192
Async Function Parsing v2

Patch to try to reduce codeload regression a bit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227804</commentid>
    <comment_count>10</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-08 14:16:47 -0700</bug_when>
    <thetext>Ping: have you tried this and seen similar results re: the perf regression on jQuery tending to be significantly lower than it was originally? I&apos;d like to establish that the perf is acceptable before adding the runtime portions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227807</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-08 14:18:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Ping: have you tried this and seen similar results re: the perf regression
&gt; on jQuery tending to be significantly lower than it was originally? I&apos;d like
&gt; to establish that the perf is acceptable before adding the runtime portions

Last night, I tried the patch in my Linux box (64bit), and I&apos;ve got 1~1.5% regression in octane jquery and closure.
Today, I&apos;ll re-check it in my OS X laptop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227812</commentid>
    <comment_count>12</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-08 14:23:11 -0700</bug_when>
    <thetext>That still sounds pretty bad, if not worse than it was originally measured to be. I think I will keep looking for improvements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228021</commentid>
    <comment_count>13</comment_count>
      <attachid>288192</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-08 20:20:52 -0700</bug_when>
    <thetext>Comment on attachment 288192
Async Function Parsing v2

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

&gt; JSTests/stress/async-await-syntax.js:1
&gt; +// Copyright (C) 2016 the V8 project authors. All rights reserved.

Careful, lack of license is not acceptable for WebKit. I hope it&apos;s unintentional? Can you get it fixed to BSD, like other Chromium project stuff?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228029</commentid>
    <comment_count>14</comment_count>
      <attachid>288384</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-08 20:36:33 -0700</bug_when>
    <thetext>Created attachment 288384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228271</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-09 11:49:22 -0700</bug_when>
    <thetext>I took the benchmark on my OS X laptop last night.

shell&gt; Tools/Scripts/run-jsc-benchmarks baseline:WebKitBuild/async-master/Release/jsc patched:WebKitBuild/async/Release/jsc --outer=30 --octane --benchmark=&apos;closure|jquery&apos;

Generating benchmark report at /Users/yusukesuzuki/dev/WebKit/baseline_patched_Octane_dandelion_20160909_1144_report.txt
And raw data at /Users/yusukesuzuki/dev/WebKit/baseline_patched_Octane_dandelion_20160909_1144.json

Benchmark report for Octane on dandelion (MacBookPro10,1).

VMs tested:
&quot;baseline&quot; at /Users/yusukesuzuki/dev/WebKit/WebKitBuild/async-master/Release/jsc
&quot;patched&quot; at /Users/yusukesuzuki/dev/WebKit/WebKitBuild/async/Release/jsc

Collected 30 samples per benchmark/VM, with 30 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

                         baseline                  patched                                      

closure              0.59315+-0.00124          0.59265+-0.00138       
jquery               7.91025+-0.02773    ?     7.91560+-0.03665       ?

&lt;geometric&gt;          2.16606+-0.00448          2.16585+-0.00537         might be 1.0001x faster

It seems that the performance is neutral.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228278</commentid>
    <comment_count>16</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-09 12:00:20 -0700</bug_when>
    <thetext>Do you have any ideas what might be the result of the poor performance on the linux runs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228281</commentid>
    <comment_count>17</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-09 12:01:41 -0700</bug_when>
    <thetext>er, the cause of the poor linux perf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228331</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-09 14:09:25 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; er, the cause of the poor linux perf.

OK, I&apos;ve retaken the performance on my Linux box with rebooting.

Generating benchmark report at /home/yusukesuzuki/dev/WebKit/baseline_patch_Octane_hanayamata_20160910_0605_report.txt
And raw data at /home/yusukesuzuki/dev/WebKit/baseline_patch_Octane_hanayamata_20160910_0605.json

Benchmark report for Octane on hanayamata.

VMs tested:
&quot;baseline&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/async-master/Release/bin/jsc
&quot;patch&quot; at /home/yusukesuzuki/dev/WebKit/WebKitBuild/async/Release/bin/jsc

Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark. Emitted a call to
gc() between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark
execution times with 95% confidence intervals in milliseconds.

                         baseline                   patch                                       

closure              0.62470+-0.01647          0.62386+-0.00330       
jquery               8.14041+-0.09801    ?     8.17138+-0.04920       ?

&lt;geometric&gt;          2.25454+-0.02681    ?     2.25780+-0.00850       ? might be 1.0014x slower

Seems good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228351</commentid>
    <comment_count>19</comment_count>
      <attachid>288384</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-09 14:40:23 -0700</bug_when>
    <thetext>Comment on attachment 288384
Patch

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

Could you hide async / await parsing feature behind compile time / run time flag?

&gt; Source/JavaScriptCore/ChangeLog:7
&gt; +

Could you note ChangeLog?

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:2980
&gt; +    ASSERT(func-&gt;metadata()-&gt;parseMode() == SourceParseMode::ArrowFunctionMode || func-&gt;metadata()-&gt;parseMode() == SourceParseMode::AsyncArrowFunctionMode);

Let&apos;s use SourceParseModeSet here.

&gt; Source/JavaScriptCore/parser/Parser.cpp:264
&gt; +        if (parseMode == SourceParseMode::GeneratorBodyMode || isAsyncFunctionBodyParseMode(parseMode))

Let&apos;s use SourceParseModeSet even if there is only one candidate. See the reason why https://bugs.webkit.org/show_bug.cgi?id=156147#c132.

&gt; Source/JavaScriptCore/parser/Parser.cpp:269
&gt; +        if (oneOfSourceParseModes&lt;SourceParseMode::ArrowFunctionMode, SourceParseMode::AsyncArrowFunctionMode&gt;(parseMode) &amp;&amp; !hasError()) {

Could you change this oneOfSourceParseModes to one done in https://trac.webkit.org/changeset/201523 (SourceParseModeSet) ?

&gt; Source/JavaScriptCore/parser/Parser.cpp:315
&gt; +    if (oneOfSourceParseModes&lt;SourceParseMode::GeneratorWrapperFunctionMode&gt;(parseMode) || isAsyncFunctionWrapperParseMode(parseMode)) {

Ditto

&gt; Source/JavaScriptCore/parser/Parser.cpp:559
&gt; +    info.parameterCount = 4; // generator, state, value, resume mode

We no longer need this code since createGeneratorParameters automatically set info.parameterCount.
And keep in mind that the updated generator takes 5th argument, @generatorFrame.

&gt; Source/JavaScriptCore/parser/Parser.cpp:629
&gt; +        // FIXME: These branch causes 1% regression in octane code-load jquery.

Since we already solved this, let&apos;s drop it.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1748
&gt; +        // FIXME: These branch causes 1% regression in octane code-load jquery.

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1946
&gt; +    RELEASE_ASSERT(!(oneOfSourceParseModes&lt;SourceParseMode::ProgramMode, SourceParseMode::ModuleAnalyzeMode, SourceParseMode::ModuleEvaluateMode&gt;(mode)));

Ditto

&gt; Source/JavaScriptCore/parser/Parser.cpp:1950
&gt; +    if (UNLIKELY((oneOfSourceParseModes&lt;SourceParseMode::ArrowFunctionMode, SourceParseMode::AsyncArrowFunctionMode&gt;(mode)))) {

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2086
&gt; +            if (UNLIKELY((oneOfSourceParseModes&lt;SourceParseMode::ArrowFunctionMode, SourceParseMode::AsyncArrowFunctionMode&gt;(mode))))

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2129
&gt; +    if (UNLIKELY((oneOfSourceParseModes&lt;SourceParseMode::ArrowFunctionMode, SourceParseMode::AsyncArrowFunctionMode&gt;(mode)))) {

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2179
&gt; +        if (!(functionDefinitionType == FunctionDefinitionType::Expression &amp;&amp; oneOfSourceParseModes&lt;SourceParseMode::NormalFunctionMode, SourceParseMode::AsyncFunctionMode&gt;(mode)))

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2294
&gt; +        RELEASE_ASSERT((oneOfSourceParseModes&lt;SourceParseMode::NormalFunctionMode, SourceParseMode::MethodMode, SourceParseMode::ArrowFunctionMode, SourceParseMode::GeneratorBodyMode, SourceParseMode::GeneratorWrapperFunctionMode&gt;(mode)) || isAsyncFunctionWrapperParseMode(mode));

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2722
&gt; +        // FIXME: These branch causes 1% regression in octane code-load jquery.

Since it is already solved, we can drop this FIXME.

&gt; Source/JavaScriptCore/parser/Parser.cpp:3353
&gt; +    // FIXME: These branch causes 1% regression in octane code-load jquery.

Ditto.

&gt; Source/JavaScriptCore/parser/Parser.cpp:3512
&gt; +    return context.createYield(location, argument, delegate, divotStart, argumentStart, lastTokenEndPosition());

How about using AwaitNode here and emit the similar code in code generation phase?

&gt; Source/JavaScriptCore/parser/Parser.cpp:4117
&gt; +        // FIXME: These branch causes 1% regression in octane code-load jquery.

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:76
&gt; +static ALWAYS_INLINE bool oneOfSourceParseModes(SourceParseMode mode)

Change to SourceParseModeSet version.

&gt; Source/JavaScriptCore/parser/ParserModes.h:83
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:100
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:110
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:117
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:125
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:132
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:142
&gt; +    return oneOfSourceParseModes&lt;

Ditto.

&gt; Source/JavaScriptCore/parser/ParserModes.h:149
&gt; +    return oneOfSourceParseModes&lt;SourceParseMode::ProgramMode&gt;(parseMode);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228382</commentid>
    <comment_count>20</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-09 16:53:01 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Comment on attachment 288384 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=288384&amp;action=review
&gt; 
&gt; Could you hide async / await parsing feature behind compile time / run time
&gt; flag?

I&apos;ll get around to addressing the review comments on Monday. But, before I leave this for the weekend, question re: your overall comments.

1) If using the compile-time flag option, is there any way I can keep tests added in this patch running and passing? I haven&apos;t really found a way to do this.

2) If a runtime flag approach is used, I don&apos;t think the runtime flag approach from the other bug is a good way to go, since it means adding flags all over the place when it&apos;s not realistically needed. A single global boolean in runtime/Options.cpp would probably make more sense, and would avoid changes all over the place for storing parser flags in various places where the parser might need to be entered again. Does that seem reasonable, or is the RuntimeFlags class the absolute preferred way to go?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228448</commentid>
    <comment_count>21</comment_count>
      <attachid>288477</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-09 19:29:26 -0700</bug_when>
    <thetext>Created attachment 288477
Async Function Parsing v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228449</commentid>
    <comment_count>22</comment_count>
      <attachid>288477</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-09 19:30:26 -0700</bug_when>
    <thetext>Comment on attachment 288477
Async Function Parsing v3

Most of the review addressed, just waiting on an answer to the questions before adding the flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228557</commentid>
    <comment_count>23</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-10 16:53:37 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Comment on attachment 288477 [details]
&gt; Async Function Parsing v3
&gt; 
&gt; Most of the review addressed, just waiting on an answer to the questions
&gt; before adding the flag

Runtime flag based on Options.{h, cpp} is ok to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228604</commentid>
    <comment_count>24</comment_count>
      <attachid>288528</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-11 08:15:44 -0700</bug_when>
    <thetext>Created attachment 288528
Async Function Parsing v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228605</commentid>
    <comment_count>25</comment_count>
      <attachid>288528</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-11 08:17:04 -0700</bug_when>
    <thetext>Comment on attachment 288528
Async Function Parsing v4

Added new version with Options::useAsyncFunctions() to hide the feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228606</commentid>
    <comment_count>26</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-11 08:46:43 -0700</bug_when>
    <thetext>with the flag, I am again seeing pretty poor results on the benchmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228756</commentid>
    <comment_count>27</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-12 09:11:34 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; with the flag, I am again seeing pretty poor results on the benchmarks.

I&apos;ve tried giving the Parser a local copy of the Options value, and rearranged branches which rely on it a bit, seems to help a bit locally, but maybe it&apos;s not really needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229876</commentid>
    <comment_count>28</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-14 19:43:13 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; with the flag, I am again seeing pretty poor results on the benchmarks.
&gt; 
&gt; I&apos;ve tried giving the Parser a local copy of the Options value, and
&gt; rearranged branches which rely on it a bit, seems to help a bit locally, but
&gt; maybe it&apos;s not really needed.

Oh... So compile time flag is OK. Thank you for trying!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230305</commentid>
    <comment_count>29</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-15 21:01:17 -0700</bug_when>
    <thetext>I&apos;ll try to do that next week... I guess all I can do for the test is add a //@ skip line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230311</commentid>
    <comment_count>30</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-15 21:40:13 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; I&apos;ll try to do that next week... I guess all I can do for the test is add a
&gt; //@ skip line?

Yup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231434</commentid>
    <comment_count>31</comment_count>
      <attachid>289286</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-19 17:02:18 -0700</bug_when>
    <thetext>Created attachment 289286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231440</commentid>
    <comment_count>32</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-19 17:04:25 -0700</bug_when>
    <thetext>I&apos;ve changed this to use a feature flag, and am again seeing neutral, or effectively neutral parser performance. This seems like a good thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231447</commentid>
    <comment_count>33</comment_count>
      <attachid>289289</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-19 17:14:25 -0700</bug_when>
    <thetext>Created attachment 289289
Async Function Parsing v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231492</commentid>
    <comment_count>34</comment_count>
      <attachid>289289</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-19 20:02:44 -0700</bug_when>
    <thetext>Comment on attachment 289289
Async Function Parsing v5

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

r=me with comments.

&gt; Source/JavaScriptCore/parser/Parser.cpp:3174
&gt; +            ExpressionErrorClassifier classifier(this);

Is this necessary? parseAssignmentExpression(context) has ExpressionErrorClassifier inside it.

&gt; Source/JavaScriptCore/parser/Parser.cpp:3522
&gt; +    // AwaitExpression desugared to YieldExpression

This comment is not necessary.

&gt; Source/JavaScriptCore/parser/Parser.h:320
&gt; +    }

What is the purpose of this `isModule()`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232046</commentid>
    <comment_count>35</comment_count>
      <attachid>289446</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 05:42:31 -0700</bug_when>
    <thetext>Created attachment 289446
Async Function Parsing v6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232047</commentid>
    <comment_count>36</comment_count>
      <attachid>289289</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 05:44:26 -0700</bug_when>
    <thetext>Comment on attachment 289289
Async Function Parsing v5

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

I&apos;ve uploaded the patch instead of manually committing, I&apos;d like someone to sign off on the changes to build-jsc, just in case it&apos;s not quite right (and I haven&apos;t tested the cmake build for it at all)

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:3174
&gt;&gt; +            ExpressionErrorClassifier classifier(this);
&gt; 
&gt; Is this necessary? parseAssignmentExpression(context) has ExpressionErrorClassifier inside it.

Acknowledged

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:3522
&gt;&gt; +    // AwaitExpression desugared to YieldExpression
&gt; 
&gt; This comment is not necessary.

Acknowledged

&gt;&gt; Source/JavaScriptCore/parser/Parser.h:320
&gt;&gt; +    }
&gt; 
&gt; What is the purpose of this `isModule()`?

m_moduleScopeData used to be a member of Scope, so this made sense back then. I&apos;ve gotten rid of this method, and just check if the one in the parser is null or not instead.

This seems to fix a bug where modules allow &quot;await&quot; as an identifier in nested functions (which was incorrect per https://tc39.github.io/ecma262/#prod-FutureReservedWord)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232048</commentid>
    <comment_count>37</comment_count>
      <attachid>289447</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 05:54:21 -0700</bug_when>
    <thetext>Created attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232060</commentid>
    <comment_count>38</comment_count>
      <attachid>289447</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 07:13:31 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

Attachment 289447 did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/2118470

New failing tests:
imported/w3c/web-platform-tests/media-source/mediasource-duration.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232061</commentid>
    <comment_count>39</comment_count>
      <attachid>289449</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 07:13:36 -0700</bug_when>
    <thetext>Created attachment 289449
Archive of layout-test-results from ews117 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-yosemite  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232208</commentid>
    <comment_count>40</comment_count>
      <attachid>289289</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-21 15:34:39 -0700</bug_when>
    <thetext>Comment on attachment 289289
Async Function Parsing v5

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

&gt;&gt;&gt; Source/JavaScriptCore/parser/Parser.h:320
&gt;&gt;&gt; +    }
&gt;&gt; 
&gt;&gt; What is the purpose of this `isModule()`?
&gt; 
&gt; m_moduleScopeData used to be a member of Scope, so this made sense back then. I&apos;ve gotten rid of this method, and just check if the one in the parser is null or not instead.
&gt; 
&gt; This seems to fix a bug where modules allow &quot;await&quot; as an identifier in nested functions (which was incorrect per https://tc39.github.io/ecma262/#prod-FutureReservedWord)

Nice. Make sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232220</commentid>
    <comment_count>41</comment_count>
      <attachid>289447</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-21 16:16:18 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

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

r=me, with nits.

&gt; Source/JavaScriptCore/ChangeLog:87
&gt; +        * runtime/CommonIdentifiers.h:

Could you update this ChangeLog by using Tools/Scripts/webkit-patch upload --update-changelogs?

&gt; Source/JavaScriptCore/parser/Parser.h:1560
&gt; +        // FIXME: `m_moduleScopeData.get() != nullptr` is not a valid method of determining if parser is parsing a Module.

Could you open a bug for this and note the URL here?
And I think this can be easily fixed since we already have this information: JSParserCommentMode {Classic, Module}!
This flag is named like this since currently it is only used for controlling comment mode. When you use this information here, you need to rename this mode to something different one (maybe, JSParserScriptMode?).

&gt; Source/JavaScriptCore/parser/Parser.h:1568
&gt; +        // FIXME: `m_moduleScopeData.get() != nullptr` is not a valid method of determining if parser is parsing a Module.

Ditto.

&gt; Tools/Scripts/build-jsc:211
&gt; +            if ($featureEnabled != $_-&gt;{default}) {

For string, we need to use ne instead of !=. This causes warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232225</commentid>
    <comment_count>42</comment_count>
      <attachid>289447</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-21 16:30:32 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

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

&gt;&gt; Tools/Scripts/build-jsc:211
&gt;&gt; +            if ($featureEnabled != $_-&gt;{default}) {
&gt; 
&gt; For string, we need to use ne instead of !=. This causes warnings.

Not just warnings, incorrect behavior! Using != causes it to do a numeric comparison, not a string one. For example, (&quot;ON&quot; != &quot;OFF&quot;) is false because both strings have a numeric value of 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232229</commentid>
    <comment_count>43</comment_count>
      <attachid>289488</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 16:32:35 -0700</bug_when>
    <thetext>Created attachment 289488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232232</commentid>
    <comment_count>44</comment_count>
      <attachid>289489</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 16:35:24 -0700</bug_when>
    <thetext>Created attachment 289489
Async Function Parsing v7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232237</commentid>
    <comment_count>45</comment_count>
      <attachid>289489</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-21 16:36:42 -0700</bug_when>
    <thetext>Comment on attachment 289489
Async Function Parsing v7

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

&gt; Tools/Scripts/build-jsc:206
&gt; +            if ($featureEnabled != $_-&gt;{default}) {

ne</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232239</commentid>
    <comment_count>46</comment_count>
      <attachid>289447</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 16:37:46 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:87
&gt;&gt; +        * runtime/CommonIdentifiers.h:
&gt; 
&gt; Could you update this ChangeLog by using Tools/Scripts/webkit-patch upload --update-changelogs?

Done

&gt;&gt; Source/JavaScriptCore/parser/Parser.h:1560
&gt;&gt; +        // FIXME: `m_moduleScopeData.get() != nullptr` is not a valid method of determining if parser is parsing a Module.
&gt; 
&gt; Could you open a bug for this and note the URL here?
&gt; And I think this can be easily fixed since we already have this information: JSParserCommentMode {Classic, Module}!
&gt; This flag is named like this since currently it is only used for controlling comment mode. When you use this information here, you need to rename this mode to something different one (maybe, JSParserScriptMode?).

For the uses in this patch, I think this actually doesn&apos;t matter here, because nested functions will never be re-parsed if `isDisallowedIdentifierAwait()` triggers an error (which it always should here).

Maybe the FIXMEs are better to just be removed.

&gt;&gt;&gt; Tools/Scripts/build-jsc:211
&gt;&gt;&gt; +            if ($featureEnabled != $_-&gt;{default}) {
&gt;&gt; 
&gt;&gt; For string, we need to use ne instead of !=. This causes warnings.
&gt; 
&gt; Not just warnings, incorrect behavior! Using != causes it to do a numeric comparison, not a string one. For example, (&quot;ON&quot; != &quot;OFF&quot;) is false because both strings have a numeric value of 0.

Done --- Right, this was sloppily written entirely and has been fixed up. Note, the behaviour is different from build-webkit, but I don&apos;t think it should really matter. Thanks for the look and testing on cmake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232241</commentid>
    <comment_count>47</comment_count>
      <attachid>289447</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-21 16:48:36 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

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

&gt;&gt;&gt;&gt; Tools/Scripts/build-jsc:211
&gt;&gt;&gt;&gt; +            if ($featureEnabled != $_-&gt;{default}) {
&gt;&gt;&gt; 
&gt;&gt;&gt; For string, we need to use ne instead of !=. This causes warnings.
&gt;&gt; 
&gt;&gt; Not just warnings, incorrect behavior! Using != causes it to do a numeric comparison, not a string one. For example, (&quot;ON&quot; != &quot;OFF&quot;) is false because both strings have a numeric value of 0.
&gt; 
&gt; Done --- Right, this was sloppily written entirely and has been fixed up. Note, the behaviour is different from build-webkit, but I don&apos;t think it should really matter. Thanks for the look and testing on cmake.

Oops, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232248</commentid>
    <comment_count>48</comment_count>
      <attachid>289447</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-21 17:02:34 -0700</bug_when>
    <thetext>Comment on attachment 289447
Async Function Parsing v6 + Copy-edit the build-jsc help message changes

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

&gt;&gt;&gt; Source/JavaScriptCore/parser/Parser.h:1560
&gt;&gt;&gt; +        // FIXME: `m_moduleScopeData.get() != nullptr` is not a valid method of determining if parser is parsing a Module.
&gt;&gt; 
&gt;&gt; Could you open a bug for this and note the URL here?
&gt;&gt; And I think this can be easily fixed since we already have this information: JSParserCommentMode {Classic, Module}!
&gt;&gt; This flag is named like this since currently it is only used for controlling comment mode. When you use this information here, you need to rename this mode to something different one (maybe, JSParserScriptMode?).
&gt; 
&gt; For the uses in this patch, I think this actually doesn&apos;t matter here, because nested functions will never be re-parsed if `isDisallowedIdentifierAwait()` triggers an error (which it always should here).
&gt; 
&gt; Maybe the FIXMEs are better to just be removed.

Yeah, in this patch, it works and doesn&apos;t matter.
But I think relying on this fact looks a bit dangerous since it is not this function that throws an actual syntax error.
The name of this function is generic. So we may use this function for the other purpose.
Consider the following case,

if (!isDisallowedIdentifierAwait(xxx))
    fail();
// pass

In the above case, the first syntax checking succeeds, but the second actual parsing will fail.
I think using JSParserScriptMode is less tricky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232259</commentid>
    <comment_count>49</comment_count>
      <attachid>289499</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 18:18:58 -0700</bug_when>
    <thetext>Created attachment 289499
Async Function Parsing v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232261</commentid>
    <comment_count>50</comment_count>
      <attachid>289499</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 18:20:43 -0700</bug_when>
    <thetext>Comment on attachment 289499
Async Function Parsing v8

Updated with JSParserCommentMode renamed to JSParserScriptMode, m_commentMode renamed to m_scriptMode, and commentMode methods/variables renamed to scriptMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232262</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-21 18:22:04 -0700</bug_when>
    <thetext>Attachment 289499 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232264</commentid>
    <comment_count>52</comment_count>
      <attachid>289501</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 18:29:27 -0700</bug_when>
    <thetext>Created attachment 289501
Async Function Parsing v8 + fix ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232266</commentid>
    <comment_count>53</comment_count>
      <attachid>289502</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-21 18:37:42 -0700</bug_when>
    <thetext>Created attachment 289502
Async Function Parsing v8 + fix ChangeLog + finish renaming variables/methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232279</commentid>
    <comment_count>54</comment_count>
      <attachid>289502</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 20:00:04 -0700</bug_when>
    <thetext>Comment on attachment 289502
Async Function Parsing v8 + fix ChangeLog + finish renaming variables/methods

Attachment 289502 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/2122226

New failing tests:
fast/images/object-data-url-case-insensitivity.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232280</commentid>
    <comment_count>55</comment_count>
      <attachid>289508</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 20:00:08 -0700</bug_when>
    <thetext>Created attachment 289508
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232305</commentid>
    <comment_count>56</comment_count>
      <attachid>289502</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-21 21:55:02 -0700</bug_when>
    <thetext>Comment on attachment 289502
Async Function Parsing v8 + fix ChangeLog + finish renaming variables/methods

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

&gt; Source/JavaScriptCore/ChangeLog:87
&gt; +        * runtime/CommonIdentifiers.h:

ChangeLog seems duplicated. Please drop the above one :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232308</commentid>
    <comment_count>57</comment_count>
      <attachid>289502</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 22:05:40 -0700</bug_when>
    <thetext>Comment on attachment 289502
Async Function Parsing v8 + fix ChangeLog + finish renaming variables/methods

Attachment 289502 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/2122909

New failing tests:
fast/images/move-image-to-new-document.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232309</commentid>
    <comment_count>58</comment_count>
      <attachid>289519</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-09-21 22:05:44 -0700</bug_when>
    <thetext>Created attachment 289519
Archive of layout-test-results from ews101 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-yosemite  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232837</commentid>
    <comment_count>59</comment_count>
      <attachid>289680</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 06:29:08 -0700</bug_when>
    <thetext>Created attachment 289680
Async Function Parsing v8 + rebased and given another EWS try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232982</commentid>
    <comment_count>60</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 13:57:53 -0700</bug_when>
    <thetext>As requested, a followup run benchmark:

```
                         Baseline                 WithPatch                                     

closure              0.51188+-0.02331          0.50381+-0.01643         might be 1.0160x faster
jquery               6.63200+-0.04502    ?     6.64141+-0.04629       ?

&lt;geometric&gt;          1.82306+-0.02974          1.81769+-0.02420         might be 1.0030x faster
```

The WithPatch VM is built with --asyncfunction-syntax, indicating that even with these changes, it&apos;s still essentially a non-issue for the parser.

New patch with fixed Source/JavaScriptCore/ChangeLog uploaded momentarily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232983</commentid>
    <comment_count>61</comment_count>
      <attachid>289706</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 13:59:20 -0700</bug_when>
    <thetext>Created attachment 289706
Async Function Parsing v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232988</commentid>
    <comment_count>62</comment_count>
      <attachid>289707</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 14:11:11 -0700</bug_when>
    <thetext>Created attachment 289707
Async Function Parsing v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232997</commentid>
    <comment_count>63</comment_count>
      <attachid>289708</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 14:34:02 -0700</bug_when>
    <thetext>Created attachment 289708
Async Function Parsing v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233003</commentid>
    <comment_count>64</comment_count>
      <attachid>289710</attachid>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-09-23 14:51:36 -0700</bug_when>
    <thetext>Created attachment 289710
Async Function Parsing v8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233004</commentid>
    <comment_count>65</comment_count>
      <attachid>289710</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-23 14:54:21 -0700</bug_when>
    <thetext>Comment on attachment 289710
Async Function Parsing v8

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233015</commentid>
    <comment_count>66</comment_count>
      <attachid>289710</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-23 15:26:45 -0700</bug_when>
    <thetext>Comment on attachment 289710
Async Function Parsing v8

Clearing flags on attachment: 289710

Committed r206333: &lt;http://trac.webkit.org/changeset/206333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233016</commentid>
    <comment_count>67</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-23 15:26:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287437</attachid>
            <date>2016-08-30 15:04:18 -0700</date>
            <delta_ts>2016-08-30 15:37:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161409-20160830180206.patch</filename>
            <type>text/plain</type>
            <size>143706</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZjJiNWU3ODA2YzBlZWY5NzBmNmIwMzU3OGI2NWNhMDc2ZmE2ODU5Li4zNjcxZTMwZDE2NTI1ZjBi
OTE5MjEzOWVhZmMwMzRlN2ZhY2E1MDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTcgQEAKKzIwMTYtMDgtMzAgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9V
bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAgICAgICog
Ynl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6Qnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAgKiBwYXJz
ZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBc3luY0Z1
bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL0tleXdvcmRzLnRhYmxlOgorICAgICAgICAq
IHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rp
b25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5
bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lvbik6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QpOgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNz
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRv
a2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29w
ZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3Bl
Ojppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc01vZHVs
ZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29w
ZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0Fz
eW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25F
cnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Np
b25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFz
c2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI6
OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3NpYmxlUGF0dGVybik6IERl
bGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6CisgICAgICAgIChKU0M6Om9u
ZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNG
dW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25C
b2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzUHJvZ3JhbVBhcnNl
TW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUpOgorICAg
ICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hl
Y2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBc3luY0Z1bmN0aW9u
Qm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUZ1bmN0aW9uRXhwcik6
IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Bc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKEpTQzo6QXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yOjpBc3luY0Z1
bmN0aW9uQ29uc3RydWN0b3IpOgorICAgICAgICAoSlNDOjpBc3luY0Z1bmN0aW9uQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6Y2FsbEFzeW5jRnVuY3Rpb25Db25z
dHJ1Y3Rvcik6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rv
cik6CisgICAgICAgIChKU0M6OkFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Z2V0Q2FsbERhdGEp
OgorICAgICAgICAoSlNDOjpBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERh
dGEpOgorICAgICAgICAqIHJ1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5jcHA6IEFkZGVk
LgorICAgICAgICAoSlNDOjpBc3luY0Z1bmN0aW9uUHJvdG90eXBlOjpBc3luY0Z1bmN0aW9uUHJv
dG90eXBlKToKKyAgICAgICAgKEpTQzo6QXN5bmNGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oOiBBZGRl
ZC4KKyAgICAgICAgKEpTQzo6QXN5bmNGdW5jdGlvblByb3RvdHlwZTo6Y3JlYXRlKToKKyAgICAg
ICAgKEpTQzo6QXN5bmNGdW5jdGlvblByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAg
ICAgKiBydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmg6CisgICAgICAgICogcnVudGltZS9GdW5j
dGlvbkNvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0FzeW5jRnVuY3Rpb24uY3Bw
OiBBZGRlZC4KKyAgICAgICAgKEpTQzo6SlNBc3luY0Z1bmN0aW9uOjpKU0FzeW5jRnVuY3Rpb24p
OgorICAgICAgICAoSlNDOjpKU0FzeW5jRnVuY3Rpb246OmNyZWF0ZUltcGwpOgorICAgICAgICAo
SlNDOjpKU0FzeW5jRnVuY3Rpb246OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkpTQXN5bmNGdW5j
dGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCk6CisgICAg
ICAgICogcnVudGltZS9KU0FzeW5jRnVuY3Rpb24uaDogQWRkZWQuCisgICAgICAgIChKU0M6OkpT
QXN5bmNGdW5jdGlvbjo6YWxsb2NhdGlvblNpemUpOgorICAgICAgICAoSlNDOjpKU0FzeW5jRnVu
Y3Rpb246OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojph
c3luY0Z1bmN0aW9uUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFz
eW5jRnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJy
YXlQcm90b3R5cGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cmVn
RXhwU3RydWN0dXJlKTogRGVsZXRlZC4KKwogMjAxNi0wOC0yOSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0gUmVzcG9uc2UgY2xvbmluZyBz
aG91bGQgc3RydWN0dXJlQ2xvbmUgd2hlbiB0ZWVpbmcgUmVzcG9uc2Ugc3RyZWFtCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzNmU1YTcwY2RjMmZhMGM3YmMwZjk1NzkwZTg3YjQ0
ZjIzMjE1ZGUuLmFjYTQ1MGU3NzM5ZWE3YmFkYmIzMmFiMDg3YWQwYTcwODZlMmM3YTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjA0LDYgKzEyMDQsMTIgQEAKIAkJNTNGNkJG
NkQxQzNGMDYwQTAwRjQxRTVEIC8qIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGNkJGNkMx
QzNGMDYwQTAwRjQxRTVEIC8qIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUzRkEyQUUx
MUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUzRkEyQUUwMUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0
cnVjdHVyZVdhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1M0ZBMkFFMzFDRjM4MDM5MDAyMjcxMUQgLyogTExJbnRQcm90b3R5cGVM
b2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRkEyQUUyMUNGMzgwMzkwMDIyNzExRCAvKiBMTElu
dFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuY3BwICovOyB9OworCQk1
QkFGQTZERTFENzQ3QjVBMDA1M0IzRTggLyogSlNBc3luY0Z1bmN0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QkFGQTZERDFENzQ3QjUxMDA1M0Iz
RTggLyogSlNBc3luY0Z1bmN0aW9uLmggKi87IH07CisJCTVCQUZBNkUwMUQ3NDdEQUEwMDUzQjNF
OCAvKiBKU0FzeW5jRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUJBRkE2REYxRDc0N0RBQTAwNTNCM0U4IC8qIEpTQXN5bmNGdW5jdGlv
bi5jcHAgKi87IH07CisJCTVCQUZBNkUzMUQ3NDg5QkEwMDUzQjNFOCAvKiBBc3luY0Z1bmN0aW9u
Q29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUJBRkE2RTExRDc0ODlCQTAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rv
ci5jcHAgKi87IH07CisJCTVCQUZBNkU0MUQ3NDg5QkEwMDUzQjNFOCAvKiBBc3luY0Z1bmN0aW9u
Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVCQUZBNkUyMUQ3NDg5QkEwMDUzQjNFOCAvKiBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3Iu
aCAqLzsgfTsKKwkJNUJBRkE2RTcxRDc0OEM5MzAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Qcm90
b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUJBRkE2RTUxRDc0OEM5MzAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUuY3BwICov
OyB9OworCQk1QkFGQTZFODFENzQ4QzkzMDA1M0IzRTggLyogQXN5bmNGdW5jdGlvblByb3RvdHlw
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUJBRkE2
RTYxRDc0OEM5MzAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaCAqLzsgfTsKIAkJ
NUQ1RDhBRDEwRTBEMEVCRTAwRjlDNjkyIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RDVEOEFEMDBFMEQwRUJFMDBGOUM2
OTIgLyogbGliZWRpdC5keWxpYiAqLzsgfTsKIAkJNURCQjE1MUIxMzFEMEIzMTAwNTZBRDM2IC8q
IHRlc3RhcGkuanMgaW4gQ29weSBTdXBwb3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEQ4NTc3NDBBNDY5NkM4MDAzMjE0NkMgLyogdGVzdGFwaS5qcyAqLzsg
fTsKIAkJNURCQjE1MjUxMzFEMEJENzAwNTZBRDM2IC8qIG1pbmlkb20uanMgaW4gQ29weSBTdXBw
b3J0IFNjcmlwdCAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDEyMTEwRDBB
NDg3ODg3MDA0ODAyNTUgLyogbWluaWRvbS5qcyAqLzsgfTsKQEAgLTMzOTgsNiArMzQwNCwxMiBA
QAogCQk1M0ZBMkFFMDFDRjM3RjNGMDAyMjcxMUQgLyogTExJbnRQcm90b3R5cGVMb2FkQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1M0ZBMkFFMjFDRjM4MDM5MDAyMjcxMUQgLyogTExJbnRQ
cm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5M0Q0M0ND
QTBCQkUwNkQ4OUM1OTcwNyAvKiBNYXBEYXRhSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXBEYXRhSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1QkFGQTZERDFENzQ3QjUxMDA1M0IzRTggLyogSlNBc3luY0Z1bmN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQXN5bmNGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1QkFGQTZERjFENzQ3REFBMDA1M0IzRTggLyogSlNBc3luY0Z1bmN0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXN5bmNGdW5jdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVCQUZBNkUxMUQ3NDg5QkEwMDUzQjNFOCAvKiBBc3lu
Y0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNUJBRkE2RTIxRDc0ODlCQTAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Db25zdHJ1
Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0Z1bmN0aW9uQ29u
c3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUJBRkE2RTUxRDc0OEM5
MzAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXN5bmNGdW5jdGlvblByb3RvdHlwZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTVCQUZBNkU2MUQ3NDhDOTMwMDUzQjNFOCAvKiBBc3luY0Z1
bmN0aW9uUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5j
RnVuY3Rpb25Qcm90b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUQ1RDhB
RDAwRTBEMEVCRTAwRjlDNjkyIC8qIGxpYmVkaXQuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFt
ZSA9IGxpYmVkaXQuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJlZGl0LmR5bGliOyBzb3VyY2VU
cmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk1REFGRDZDQjE0NkI2ODYzMDBGQkVGQjQgLyogSlND
LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEpTQy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUREREY0NDYxNEZFRTcyMjAwQjRGQjREIC8qIExMSW50RGVzaXJlZE9mZnNl
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnREZXNpcmVkT2Zmc2V0
cy5oOyBwYXRoID0gTExJbnRPZmZzZXRzL0xMSW50RGVzaXJlZE9mZnNldHMuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTU2NTYsNiArNTY2OCwxMCBAQAogCQkJCUY2
OTJBODREMDI1NTU5N0QwMUZGNjBGNyAvKiBBcnJheVByb3RvdHlwZS5jcHAgKi8sCiAJCQkJRjY5
MkE4NEUwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90eXBlLmggKi8sCiAJCQkJMEZCN0Yz
OEExNUVEOEUzODAwRjE2N0IyIC8qIEFycmF5U3RvcmFnZS5oICovLAorCQkJCTVCQUZBNkUxMUQ3
NDg5QkEwMDUzQjNFOCAvKiBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwICovLAorCQkJCTVC
QUZBNkUyMUQ3NDg5QkEwMDUzQjNFOCAvKiBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuaCAqLywK
KwkJCQk1QkFGQTZFNTFENzQ4QzkzMDA1M0IzRTggLyogQXN5bmNGdW5jdGlvblByb3RvdHlwZS5j
cHAgKi8sCisJCQkJNUJBRkE2RTYxRDc0OEM5MzAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Qcm90
b3R5cGUuaCAqLywKIAkJCQk1MjY3OEY4QzFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xv
Y2F0aW9uLmNwcCAqLywKIAkJCQk1MjY3OEY4RDFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9j
a0xvY2F0aW9uLmggKi8sCiAJCQkJMTQ3QjgzQUEwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRU
cmFuc2l0aW9uT3B0aW1pemVyLmggKi8sCkBAIC01ODIwLDcgKzU4MzYsNiBAQAogCQkJCTcwREMz
RTA4MUIyREYyQzcwMDA1NDI5OSAvKiBJdGVyYXRvclByb3RvdHlwZS5oICovLAogCQkJCTkzQURG
Q0U2MENDQkQ3QUMwMEQzMEIwOCAvKiBKU0FycmF5LmNwcCAqLywKIAkJCQk5Mzg3NzJFNTAzOEJG
RTE5MDA4NjM1Q0UgLyogSlNBcnJheS5oICovLAotCQkJCTUzOUZCOEI5MUM5OURBN0MwMDk0MEZB
MSAvKiBKU0FycmF5SW5saW5lcy5oICovLAogCQkJCTBGMkI2NkI0MTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0FycmF5QnVmZmVyLmNwcCAqLywKIAkJCQkwRjJCNjZCNTE3QjZCNUFCMDBBN0FFM0YgLyog
SlNBcnJheUJ1ZmZlci5oICovLAogCQkJCTBGMkI2NkI2MTdCNkI1QUIwMEE3QUUzRiAvKiBKU0Fy
cmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwICovLApAQCAtNTgzMCw2ICs1ODQ1LDkgQEAKIAkJCQkw
RjJCNjZCQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZpZXcuY3BwICovLAogCQkJ
CTBGMkI2NkJCMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlldy5oICovLAogCQkJ
CTBGMkI2NkJDMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCAq
LywKKwkJCQk1MzlGQjhCOTFDOTlEQTdDMDA5NDBGQTEgLyogSlNBcnJheUlubGluZXMuaCAqLywK
KwkJCQk1QkFGQTZERjFENzQ3REFBMDA1M0IzRTggLyogSlNBc3luY0Z1bmN0aW9uLmNwcCAqLywK
KwkJCQk1QkFGQTZERDFENzQ3QjUxMDA1M0IzRTggLyogSlNBc3luY0Z1bmN0aW9uLmggKi8sCiAJ
CQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJ
CQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAogCQkJ
CTY1N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgKi8sCkBAIC01ODk4LDYg
KzU5MTYsOCBAQAogCQkJCUE3NERFRjkwMTgyRDk5MTQwMDUyMkMyMiAvKiBKU01hcEl0ZXJhdG9y
LmggKi8sCiAJCQkJRTNEMjM5QzYxQjgyOUMxQzAwQkJFRjY3IC8qIEpTTW9kdWxlRW52aXJvbm1l
bnQuY3BwICovLAogCQkJCUUzRDIzOUM3MUI4MjlDMUMwMEJCRUY2NyAvKiBKU01vZHVsZUVudmly
b25tZW50LmggKi8sCisJCQkJMTg3OTUxMDYxNEM1NDBGRkI1NjFDMTI0IC8qIEpTTW9kdWxlTG9h
ZGVyLmNwcCAqLywKKwkJCQk3N0IyNUNCMkMzMDk0QTkyQTM4RTFEQjMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCAqLywKIAkJCQlFMzE4Q0JCRTFCOEFFRjUxMDBBMjkyOUQgLyogSlNNb2R1bGVOYW1lc3Bh
Y2VPYmplY3QuY3BwICovLAogCQkJCUUzMThDQkJGMUI4QUVGNTEwMEEyOTI5RCAvKiBKU01vZHVs
ZU5hbWVzcGFjZU9iamVjdC5oICovLAogCQkJCUUzOURBNEE0MUI3RThCN0MwMDg0RjMzQSAvKiBK
U01vZHVsZVJlY29yZC5jcHAgKi8sCkBAIC02MTc1LDggKzYxOTUsNiBAQAogCQkJCTcwOUZCODY2
MUFFMzM1QzYwMDM5RDA2OSAvKiBXZWFrU2V0UHJvdG90eXBlLmggKi8sCiAJCQkJQTdEQ0I3Nzkx
MkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5oICovLAogCQkJCUMyQjZENzUyMThBMzM3
OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJbmxpbmVzLmggKi8sCi0JCQkJNzdCMjVDQjJDMzA5
NEE5MkEzOEUxREIzIC8qIEpTTW9kdWxlTG9hZGVyLmggKi8sCi0JCQkJMTg3OTUxMDYxNEM1NDBG
RkI1NjFDMTI0IC8qIEpTTW9kdWxlTG9hZGVyLmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gcnVu
dGltZTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC03NzI5LDYgKzc3NDcsNyBAQAog
CQkJCUE1OTNDRjdGMTg0MDM2MkMwMEJGQ0UyNyAvKiBJbnNwZWN0b3JBZ2VudEJhc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1OTNDRjg3MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JBZ2Vu
dFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUVBNzEwRTE5RjZERjgxMDA5OEY1RUMg
LyogSW5zcGVjdG9yQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1QkFGQTZFODFENzQ4QzkzMDA1M0IzRTggLyogQXN5bmNGdW5jdGlvblByb3RvdHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2MjMxRTkxOEQxODA0MjAwQzAzRkRBIC8qIEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcyBpbiBIZWFkZXJzICovLAogCQkJCUE1OTNDRjdEMTg0MDM2MDMw
MEJGQ0UyNyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTUzMjQzODgxODU2ODMzNTAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC03OTYyLDYgKzc5ODEsNyBAQAogCQkJCTk2OUEwNzJBMEVE
MUNFNjkwMEYxRjY4MSAvKiBMYWJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTYwMDk3QTYwRUJB
QkI1ODAwN0E3Mjk3IC8qIExhYmVsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjU0Njc3
MTRGNTlCNUMwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNUJBRkE2RTQxRDc0ODlCQTAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25Db25zdHJ1
Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQjAxQkQ1OTk0RTAwRjQ1NzVDIC8qIGxh
enl3cml0ZXIucHkgaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzMTBFMTZGNUNEMDBCMzQ0NjAg
LyogTGV4ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzRjQwRTkzMUQ1QTRBQjMwMDk5QTFCNiAv
KiBXQVNNQjNJUkdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTExLDYgKzgxMzEsNyBA
QAogCQkJCTE0N0I4NDYzMEU2REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRjYwQUMyMTY3NDBGODMwMDAyOTc3OSAvKiBSZWR1Y2VXaGl0ZXNw
YWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzM2MzdBNjFCNjMyMjAyMDBFRTA4NDAgLyogUmVm
bGVjdE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUJBRkE2REUxRDc0N0I1QTAwNTNCM0U4
IC8qIEpTQXN5bmNGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2QjczMjMxQkRBMDhF
RjAwMzMxQjg0IC8qIFJlZmxlY3RPYmplY3QubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkE3
QThFQzE4QjQxM0M4MDA1MjM3MUQgLyogUmVnLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjlENEMw
RDFDM0UxQzExMDA2Q0Q5ODQgLyogRlRMRXhjZXB0aW9uVGFyZ2V0LmggaW4gSGVhZGVycyAqLywK
QEAgLTkwNTksNiArOTA4MCw3IEBACiAJCQkJMEYyQjlDRTYxOUQwQkE3RDAwQjFEMUI1IC8qIERG
R09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYy
QjlDRTgxOUQwQkE3RDAwQjFEMUI1IC8qIERGR09iamVjdE1hdGVyaWFsaXphdGlvbkRhdGEuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJODZFQzlEQ0YxMzI4REY4MjAwMkIyQUQ3IC8qIERGR09wZXJh
dGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUJBRkE2RTcxRDc0OEM5MzAwNTNCM0U4IC8q
IEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTk4RUQ2NzQx
QkVENzBBQzAwREQ4MDE3IC8qIFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBN0Q4OUNGRDE3QTBCOENDMDA3NzNBRDggLyogREZHT1NSQXZhaWxhYmlsaXR5
QW5hbHlzaXNQaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ4MkU1NjE0MURBRjA4MDAx
NzlDOTQgLyogREZHT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05MzU1LDYgKzkzNzcs
NyBAQAogCQkJCURDMDE4NDFBMUQxMEMxOEMwMDU3QjA1MyAvKiBKSVRXb3JrbGlzdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5OTI4RkYzQjE4QUM0QUVDMDBCOENGMTIgLyogSlNSZXBsYXlJbnB1
dHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ4NzRBRTUxNUVCREU0QTAwMkUzNTg3IC8qIEpT
U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNUJBRkE2RTAxRDc0N0RBQTAwNTNCM0U4IC8q
IEpTQXN5bmNGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0MwQzRBRDE2ODEwNjdF
MDAxNzAxMUQgLyogSlNTY3JpcHRSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5MTlEMTAx
NTdGMzMyOTAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJREMxN0U4MTcxQzlDOTFENjAwOEE2QUIzIC8qIFNoYWRvd0NoaWNrZW4uY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC05NjAwLDYgKzk2MjMsNyBAQAogCQkJCUE3Q0EzQUUzMTdEQTQx
QUUwMDY1MzhBRiAvKiBXZWFrTWFwQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYzMzhERjkxQkU5NkFBODAwMTNDODhGIC8qIEIzQ0NhbGxWYWx1ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBN0NBM0FFQjE3REE1MTY4MDA2NTM4QUYgLyogV2Vha01hcERhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNUJBRkE2RTMxRDc0ODlCQTAwNTNCM0U4IC8qIEFzeW5jRnVuY3Rpb25D
b25zdHJ1Y3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0Y0MEU5NzFENUE3QkVDMDA5OUEx
QjYgLyogV0FTTU1vZHVsZVBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0NBM0FFNTE3
REE0MUFFMDA2NTM4QUYgLyogV2Vha01hcFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxNEU4NEZBMDE0RUUxQUNDMDBENkQ1RDQgLyogV2Vha1NldC5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCmluZGV4IDA1NGQ2M2RmNTlhNzg0NzU1YjliYWU3ZmVk
MmNkNzZiNTgwYzAyOWMuLmYwMjhkNDg4MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1YTc2OGNkMzM0NzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcApAQCAtODksNiArODksNyBAQCBVbmxpbmtlZEZ1
bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdAogICAgICwgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0
U3RhcnRPZmZzZXQoKSArIG5vZGUtPnNvdXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFy
YW1ldGVyQ291bnQobm9kZS0+cGFyYW1ldGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkK
KyAgICAsIG1fc291cmNlUGFyc2VNb2RlKG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0lu
U3RyaWN0Q29udGV4dChub2RlLT5pc0luU3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0
dXJlZFZhcmlhYmxlcyhmYWxzZSkKICAgICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBV
bmxpbmtlZEJ1aWx0aW5GdW5jdGlvbikKQEAgLTk4LDcgKzk5LDYgQEAgVW5saW5rZWRGdW5jdGlv
bkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3QKICAgICAsIG1fY29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1l
bnRNb2RlKSkKICAgICAsIG1fc3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2Rl
LT5zdXBlckJpbmRpbmcoKSkpCiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2Rl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUo
bm9kZS0+aWRlbnQoKSkKICAgICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAs
IG1faW5mZXJyZWROYW1lKG5vZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTEyLDcgKzExMiw2IEBA
IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShW
TSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5k
aW5nID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAg
IEFTU0VSVChtX2Rlcml2ZWRDb250ZXh0VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVy
aXZlZENvbnRleHRUeXBlKSk7Ci0gICAgQVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihub2RlLT5wYXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29w
ZVREWlZhcmlhYmxlcy5zd2FwKHBhcmVudFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlLmgKaW5kZXggMWUzY2JhZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUz
Mi4uODlhYWI4YWJmNzE3MWU4ZDQ5OGNiNWFjMzE4NzQyZGM3MzA1NzA4MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlLmgKQEAgLTE1NSw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1f
dHlwZVByb2ZpbGluZ0VuZE9mZnNldDsKICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50Owog
ICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJj
ZVBhcnNlTW9kZTsKICAgICB1bnNpZ25lZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1
bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVp
bHRpbkZ1bmN0aW9uIDogMTsKQEAgLTE2NCw3ICsxNjUsNiBAQCBwcml2YXRlOgogICAgIHVuc2ln
bmVkIG1fY29tbWVudE1vZGU6IDE7IC8vIEpTUGFyc2VyQ29tbWVudE1vZGUKICAgICB1bnNpZ25l
ZCBtX3N1cGVyQmluZGluZyA6IDE7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGU6
IDI7Ci0gICAgdW5zaWduZWQgbV9zb3VyY2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJzZU1v
ZGUKIAogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlu
a2VkQ29kZUJsb2NrRm9yQ2FsbDsKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNv
ZGVCbG9jaz4gbV91bmxpbmtlZENvZGVCbG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
aW5kZXggNzJkMjc4YmM5ZjM4OWMyNTk4YWEyZjQ2M2IxYTViYTA4N2ViOTQwMy4uNDk1YWNiYWIx
ZWZjMmUyOTdhMDQzMTEzNDcwNTc1ZDYzYjM5NDdmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI5
NzUsMTcgKzI5NzUsMTQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdG
dW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3Rl
cklEKiBkc3QsIEFycm93RnVuY0V4cHJOb2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5t
ZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25N
b2RlKTsKKyAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNl
UGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1v
ZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAgIGVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAg
ICByZXR1cm4gZHN0OwogfQogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d01ldGhvZERlZmluaXRpb24oUmVnaXN0ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9kZSog
ZnVuYykKIHsKLSAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291
cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8IGZ1
bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9k
ZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OlNldHRlck1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2Rl
KCkgPT0gU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRob2RQ
YXJzZU1vZGUoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3RnVu
Y3Rpb25FeHByZXNzaW9uQ29tbW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJu
IGRzdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVp
bGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXgg
MWMxMTNiYWUxNGQ1NmQ3ODA5YTEwZGZiOWM1ZjYzNzg2MDBiNzAwMS4uZTUxYWE4NWQyZDI2MGUw
ODUwOTdhM2JkY2M5M2VjYmIxYzBiMjViYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmgKQEAgLTM4Miw2ICszODIsMTcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBc3luY0Z1bmN0
aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291cmNlUGFyc2VNb2RlIHBhcnNl
TW9kZSkKKyAgICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAgICAgU291cmNlQ29kZSBzb3Vy
Y2UgPSBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rpb25JbmZvLnN0YXJ0T2Zmc2V0
LCBmdW5jdGlvbkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24oKSA/IGZ1
bmN0aW9uSW5mby5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZvLmVuZE9mZnNldCwgZnVuY3Rp
b25JbmZvLnN0YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlcnNTdGFydENvbHVtbik7Cisg
ICAgICAgICAgICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVu
Y0V4cHJOb2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5
LCBzb3VyY2UpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJvZHktPnNldExvYyhmdW5jdGlv
bkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZz
ZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgICAgICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24s
IGZ1bmN0aW9uSW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZU1ldGhv
ZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8pCiAgICAgewogICAgICAgICBN
ZXRob2REZWZpbml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBNZXRob2RE
ZWZpbml0aW9uTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5uYW1lLCBmdW5jdGlvbkluZm8u
Ym9keSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMu
dGFibGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCmluZGV4
IDQ1ODJkMDBhYWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVkMmEuLjY1ZDcxOGUyYTg4MDA4
MDEyMjRjYjAwMmUwZTQ0ZGFhYzBkNDcwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9LZXl3b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1ZQkJVFJVRVRPS0VOCiBmYWxz
ZQkJRkFMU0VUT0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQJCUFXQUlUCiBicmVhawkJQlJFQUsK
IGNhc2UJCUNBU0UKIGNhdGNoCQlDQVRDSApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwCmluZGV4IDI2MTc0NWExOTAzMTdkZTc1OTEyZTNhOTIzZmE5ZjI4ODc0ODYzZDYuLjQ0
NDI4ODI1YjYzNWU3ZjgzNTg3M2RmOTY0YTBkNDdhZDgzOTllMDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50
aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBh
cyBhICIsIF9fVkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRU
b2tlbkZsYWcpIFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3Jk
ICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWls
KCJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJ
ZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CkBAIC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAg
IHNjb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFy
c2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlv
blBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbkJvZHlNb2RlICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVy
LT5pc1JlcGFyc2luZ0Z1bmN0aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKQorICAgICAgICBpZiAocGFyc2VNb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUgfHwgaXNBc3luY0Z1bmN0aW9uQm9keVBh
cnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gY3JlYXRlR2Vu
ZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQpOwog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1bmN0aW9uUGFy
YW1ldGVycyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAgICAgICAgaWYg
KHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlICYmICFoYXNF
cnJvcigpKSB7CisgICAgICAgIGlmIChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlPihwYXJzZU1vZGUpICYmICFoYXNFcnJvcigpKSB7CiAgICAgICAgICAgICAvLyBUaGUg
b25seSB3YXkgd2UgY291bGQgaGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBy
dW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2go
QVJST1dGVU5DVElPTikpOwogICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYg
QEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXIm
IGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxl
bWVudHMgPSBudWxscHRyOwogICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBl
YXJseSBpcyBpZiB3ZSByZXBhcnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sg
c3BhY2UuCiAgICAgaWYgKCFoYXNFcnJvcigpKSB7Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUocGFyc2VNb2RlKSkKKyAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3lu
Y0Z1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAo
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMo
Y29udGV4dCk7CiAgICAgICAgIGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkp
CiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgcGFyc2VNb2RlKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFy
c2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkK
LSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25T
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICB9CisgICAgICAgIGVsc2Ug
aWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5n
ID0gY29uc3VtZShFT0ZUT0spOwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQ
YXJzZU1vCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAg
ICB2YXJEZWNsYXJhdGlvbnMubWFya1ZhcmlhYmxlQXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBp
ZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSkgeworICAgIGlmIChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpH
ZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlPihwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkgewogICAgICAgICBpZiAoc2NvcGUtPnVzZWRW
YXJpYWJsZXNDb250YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKSkK
ICAgICAgICAgICAgIGNvbnRleHQucHJvcGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAgfQpAQCAt
MzU0LDIxICszNTYsMTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2lu
ZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25Q
YXJhbWV0ZXJzKCkKIHsKLSAgICBib29sIGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsK
LSAgICBib29sIGlzSWRlbnQgPSBtYXRjaChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFpc09wZW5Q
YXJlbiAmJiAhaXNJZGVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9vbCBpc0Fy
cm93RnVuY3Rpb24gPSBmYWxzZTsKLSAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOwotICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkgewotICAg
ICAgICBuZXh0KCk7Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJ
T04pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBhcmVuKTsK
KyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7CisgICAg
ICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRjaChDTE9T
RVBBUkVOKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0
aW9uID0gbWF0Y2goQVJST1dGVU5DVElPTik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBib29sIFBh
cnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAgICAgICAg
ICAgdW5zaWduZWQgcGFyYW1ldGVyc0NvdW50ID0gMDsKICAgICAgICAgICAgIGlzQXJyb3dGdW5j
dGlvbiA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhDaGVja2Vy
LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBjb25zdW1l
KENMT1NFUEFSRU4pICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgICAgICAgICAgICAgIAor
CiAgICAgICAgICAgICBwb3BTY29wZShmYWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVlZHNGcmVl
VmFyaWFibGVJbmZvKTsKICAgICAgICAgfQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVB
cnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwogICAg
IH0KLSAgICAgICAgCi0gICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKLSAgICAgICAgCi0gICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlmIChtYXRj
aFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOworICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJv
d0Z1bmN0aW9uOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KQEAgLTU0MCw2ICs1MzksNTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2Vu
ZXJhdG8KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwg
U291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5jdGlvbldy
YXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50cyA9IGNv
bnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7
CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0OworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7CisKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAg
aW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIGNy
ZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3VudCk7Cisg
ICAgaW5mby5zdGFydE9mZnNldCA9IHBhcmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0YXJ0TGlu
ZSA9IHRva2VuTGluZSgpOworICAgIGluZm8ucGFyYW1ldGVyQ291bnQgPSA0OyAvLyBnZW5lcmF0
b3IsIHN0YXRlLCB2YWx1ZSwgcmVzdW1lIG1vZGUKKyAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQ
YXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOwor
ICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUodGhp
cywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3luY0Z1bmN0aW9uQm9keVNjb3BlLT5zZXRTb3Vy
Y2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOworICAgICAgICBTeW50YXhDaGVja2VyIGFzeW5j
RnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Cisg
ICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgICAgIGZh
aWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxl
bWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFz
eW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZh
bHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQsIG1vZGUpLCAiQ2Fu
bm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgICAgIHBvcFNjb3Bl
KGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUlu
Zm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uTWV0YWRh
dGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgdG9rZW5Db2x1
bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtX3N1cGVyQmluZGlu
ZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQYXJzZU1vZGUsIGlzQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5kTGluZSA9IHRva2VuTGluZSgpOworICAgIGlu
Zm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPyB0b2tlbkxvY2F0
aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8ucGFyYW1l
dGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47CisKKyAgICBhdXRvIGZ1bmN0aW9uRXhwciA9
IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgaW5mbywgaW5u
ZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVtZW50ID0gY29udGV4dC5jcmVhdGVFeHByU3Rh
dGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9uRXhwciwgc3RhcnQsIG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVu
dHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4gc291cmNlRWxlbWVudHM7Cit9CisKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVk
KiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewogICAgIC8vIFRoZSBncmFtbWFyIGlzIGRvY3Vt
ZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAog
ICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVuZGVyIGEgZ2VuZXJhdG9yIGNvbnRleHQsIG1h
dGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxkIiByZXR1cm5zIGBmYWxzZWAuCiAgICAgICAg
ICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBlbnRlciBwYXJzZVZhcmlhYmxlRGVjbGFyYXRp
b24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRoZSBjb250ZXh0IG9mIHBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8gcmFpc2UgY29uc2lzdGVudCBlcnJvcnMgYmV0
d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIuCi0gICAgICAgICAgICBpZiAoIShtYXRjaChJ
REVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkpICYmICFtYXRjaChPUEVOQlJBQ0Up
ICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkg
fHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkgfHwgbWF0Y2goQVdBSVQpKSAmJiAhbWF0Y2go
T1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQogICAgICAgICAgICAgICAgIHNob3Vs
ZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9CkBAIC01ODIsNiArNjI2LDIwIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJh
dGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJREVOVDoKKyAgICAgICAg
Ly8gRklYTUU6IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29k
ZS1sb2FkIGpxdWVyeS4KKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVu
dCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgIC8vIEVhZ2Vy
bHkgcGFyc2UgYXMgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLiBUaGlzIGlzIHRoZSB1bmNvbW1v
biBjYXNlLAorICAgICAgICAgICAgLy8gYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgcGFyc2VkIGFz
IGFuIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLgorICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQ
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0
b3IoKSkpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbihjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQorICAg
ICAgICBGQUxMVEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAg
ICAgICAgLy8gVGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3Rh
dGVtZW50cwogICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5v
cm1hbCBzdGF0ZW1lbnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVE
ZWNsCiAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZh
aWxJZlRydWUobWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlw
ZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6
Q29uc3REZWNsYXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMg
YW4gaWRlbnRpZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2Vu
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtp
bmQoZGVjbGFyYXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29u
KCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0x
MDExLDYgKzEwNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVj
dHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0
ZXJuLCBFcnJvckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFp
bElmVHJ1ZUlmU3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJv
cGVydHlOYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dl
ZElkZW50aWZpZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMg
YSAiLCBkZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5l
clBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBl
LCAqcHJvcGVydHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNh
dGVJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpA
QCAtMTA3OSw2ICsxMTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVz
dHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAg
IGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBp
biBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2go
TEVUKSAmJiAoa2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBr
aW5kID09IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNl
ICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsK
KyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCht
X3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1Zh
cmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNv
bigpKTsKICAgICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtp
bmQsIGV4cG9ydFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0Nv
bnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJy
ZWFrOwpAQCAtMTYzMSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlv
blR5cGU6OlZhckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElP
TjogewotICAgICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFs
c2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24g
ZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3Ig
YXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50
U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9u
IGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxl
c3MgaXQncwotICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBp
dCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAg
ICAgICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUg
YSBibG9jayBzdGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxp
a2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgp
IHsKLSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQot
ICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRl
biBhczoKLSAgICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAg
IC8vICAgICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAg
IC8vIH0KLSAgICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBw
dXNoU2NvcGUoKSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2Nv
cGUoKTsKLSAgICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25z
KCk7Ci0gICAgICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7Ci0gICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAg
ICAgICAgICAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0
aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAg
ICAgICAgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBz
dGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJl
ZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVt
ZW50cygpOwotICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVs
ZW1lbnRzLCBmdW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVh
dGVCbG9ja1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZp
cm9ubWVudCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwot
ICAgICAgICAgICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0Zy
ZWVWYXJpYWJsZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAv
LyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2Rl
LiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5n
IGJlaGF2aW9yLgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2Vy
IHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0
YXRlbWVudERlcHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9u
RGVjbGFyYXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkg
YWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2Rl
Iik7CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQg
PSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTkgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBl
bmQgb2YgYSBzZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNh
c2UgSURFTlQ6CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jl
c3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGlmIChVTkxJS0VMWSgq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7Cisg
ICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xl
eGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgICAgICAgICAgY29uc3QgYm9vbCBpc0Fz
eW5jID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQor
ICAgICAgICBGQUxMVEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsK
ICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZhbHNl
OwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNvbnRl
eHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiArMTc4
Myw1MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRl
Y2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmljdE1v
ZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9j
a3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxz
ZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBk
ZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBh
dCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3VycmVudFNjb3BlKCkt
PmlzRnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMu
MyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjaworICAg
ICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhNYW5h
Z2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAgICAgcmV0dXJuIHBh
cnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICByZXR1cm4gcGFy
c2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAgIC8vIEFueSBmdW5j
dGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3Ig
dW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBh
biBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBpdCBh
cyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50Lgor
ICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgorICAgIC8v
IGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0K
KyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24g
YSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAgICAv
LyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwor
ICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+cHJl
dmVudFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOworCisgICAgVHJlZVN0
YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5jdGlv
biA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNlCisgICAgICAg
IGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAg
cHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZh
bGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAgICBU
cmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVs
ZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1
bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tT
dGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQ
b3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQo
KSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBwb3BT
Y29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZv
cm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVGb3JtYWxQYXJhbWV0ZXJM
aXN0IGxpc3QsIHVuc2lnbmVkJiBwYXJhbWV0ZXJDb3VudCkKIHsKICNkZWZpbmUgZmFpbElmRHVw
bGljYXRlSWZWaW9sYXRpb24oKSBcCkBAIC0xNzY1LDYgKzE4NTEsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1l
dGVycyhUcmVlQgogICAgICAgICAKICAgICAgICAgaWYgKG1hdGNoKERPVERPVERPVCkpIHsKICAg
ICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSghbV9wYXJz
ZXJTdGF0ZS5hbGxvd0F3YWl0ICYmIG1hdGNoKEFXQUlUKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFz
IGEgcGFyYW1ldGVyIG5hbWUgaW4gYW4gYXN5bmMgZnVuY3Rpb24iKTsKICAgICAgICAgICAgIFRy
ZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBkZXN0cnVjdHVyaW5nUGF0dGVybiA9IHBhcnNlRGVzdHJ1
Y3R1cmluZ1BhdHRlcm4oY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9Q
YXJhbWV0ZXJzLCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgJmR1cGxpY2F0ZVBhcmFtZXRlciwg
Jmhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7
CiAgICAgICAgICAgICBwYXJhbWV0ZXIgPSBjb250ZXh0LmNyZWF0ZVJlc3RQYXJhbWV0ZXIoZGVz
dHJ1Y3R1cmluZ1BhdHRlcm4sIHBhcmFtZXRlckNvdW50KTsKQEAgLTE4MjksNiArMTkxNiwxNCBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9k
ZSBtb2RlKQogICAgICAgICByZXR1cm4gImdlbmVyYXRvciBmdW5jdGlvbiI7CiAgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgogICAgICAgICByZXR1cm4gImFycm93
IGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6
CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZToKKyAgICAg
ICAgcmV0dXJuICJhc3luYyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBtZXRob2QiOworICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZToKKyAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZToKKyAgICAgICAgcmV0dXJuICJh
c3luYyBhcnJvdyBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1N
b2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMTg0MSwxMiArMTkz
NiwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBh
cnNlTW9kZSBtb2RlKQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXIsIGNsYXNzIEZ1bmN0aW9uSW5mb1R5cGU+IHR5cGVuYW1lIFRyZWVC
dWlsZGVyOjpGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIG1vZGUs
IEZ1bmN0aW9uSW5mb1R5cGUmIGZ1bmN0aW9uSW5mbykKIHsKLSAgICBSRUxFQVNFX0FTU0VSVCht
b2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJz
ZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlICYmIG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpNb2R1
bGVFdmFsdWF0ZU1vZGUpOworICAgIFJFTEVBU0VfQVNTRVJUKCEob25lT2ZTb3VyY2VQYXJzZU1v
ZGVzPFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlPihtb2RlKSkp
OwogICAgIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlckxpc3QgPSBjb250ZXh0LmNy
ZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNl
UGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25Q
YXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMpOwogICAgIAotICAgIGlm
IChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKLSAgICAgICAg
aWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICBpZiAoVU5MSUtF
TFkoKG9uZU9mU291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25N
b2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU+KG1vZGUpKSkpIHsK
KyAgICAgICAgaWYgKCFtYXRjaFNwZWNJZGVudGlmaWVyKCkgJiYgIW1hdGNoKE9QRU5QQVJFTikp
IHsKICAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJF
eHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKICAgICAgICAgfSBl
bHNlIHsKQEAgLTE5MzcsNyArMjAzMiw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAg
ICBTY29wZVJlZiBwYXJlbnRTY29wZSA9IGN1cnJlbnRTY29wZSgpOwogCi0gICAgYm9vbCB1cHBl
clNjb3BlSXNHZW5lcmF0b3IgPSBjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKTsKKyAgICBi
b29sIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lID0gaXNEaXNhbGxvd2VkSWRlbnRpZmll
ckF3YWl0KG1fdG9rZW4pOworICAgIGNvbnN0IGNoYXIqIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rp
b25OYW1lUmVhc29uID0gaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPyBkaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0UmVhc29uKCkgOiBudWxscHRyOworCiAgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dFNvdXJjZVBhcnNlTW9kZShtb2RlKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRFeHBlY3RlZFN1
cGVyQmluZGluZyhleHBlY3RlZFN1cGVyQmluZGluZyk7CkBAIC0xOTc5LDcgKzIwNzYsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICAgICAgQVNTRVJUKGVuZExvY2F0aW9uLnN0
YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZTsKLSAgICAgICAg
ICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpCisgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkoKG9uZU9mU291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bk1vZGU+KG1vZGUpKSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hl
ZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpAQCAt
MjAyMiw3ICsyMTE5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFN5bnRheENo
ZWNrZXIgc3ludGF4Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkp
OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkg
eworICAgIGlmIChVTkxJS0VMWSgob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
TW9kZT4obW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigp
OwogICAgICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CiAgICAgICAg
IHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIwMzcsNyArMjEzNCw4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFBhcnNlIGZvcm1h
bCBwYXJhbWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4gb3JkZXIgdG8g
YmFuIFlpZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8vIGluIEFycm93Rm9ybWFsUGFyYW1l
dGVycywgcGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1h
bnRpY3MtZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2NvcGU6Ok1heWJlUGFyc2VBc0dlbmVy
YXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29wZSwgdXBwZXJTY29wZUlz
R2VuZXJhdG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JT
Y29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVudFNjb3BlLT5pc0dlbmVy
YXRvcigpKTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2Fp
dChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9k
ZSkpOwogICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwg
bW9kZSwgZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAg
ICAgIH0KQEAgLTIwNjksMjEgKzIxNjcsMjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAg
ICAgICAgLy8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAgICAgIC8vICAgICBmdW5jdGlvbiAq
IEJpbmRpbmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNbWWllbGRdICkg
eyBHZW5lcmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVu
Y3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9m
IGdlbmVyYXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rp
b25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0g
ZmFsc2U7CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRl
eHQgb2YgZ2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZh
bHNlOworICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVm
aW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgb25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJjZVBh
cnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rp
b25Nb2RlPihtb2RlKSkpCisgICAgICAgICAgICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1cHBl
clNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAgICAgICAgIGlmIChyZXF1aXJlbWVudHMgIT0g
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgICAgICBBU1NFUlRf
V0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6
Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGZ1bmN0aW9uSW5mby5u
YW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBzaWRlLiIpOwogICAgICAg
ICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIodXBwZXJTY29wZUlzR2VuZXJhdG9yKSkgewog
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVuY3Rp
b25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlzYWxsb3dlZEF3
YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVl
KGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFy
YXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBk
ZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlv
bk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbldy
YXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5pdGlv
blR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikKKyAgICAgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBuYW1l
ZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAgIGlm
ICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRy
dWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5uYW1l
KSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIiciLCBmdW5jdGlvbklu
Zm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgfSBlbHNlIGlm
IChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZCkgewotICAg
ICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFp
bCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAg
ICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsICJG
dW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0
aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwor
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tl
eXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAg
ICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0yMTAxLDggKzIyMDYsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAog
ICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwg
ZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgeworICAg
ICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3Rh
dGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CisgICAgICAg
ICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlv
bkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAn
eycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKICAgICAgICAgCkBAIC0yMTQ5LDkgKzIyNTcsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRheENo
ZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBleHBl
Y3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRl
ckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKG1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGdlbmVy
YXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgIGdlbmVyYXRvckJvZHlT
Y29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1v
ZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uV3Jh
cHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAgICAgICAgaW5uZXJQYXJzZU1vZGUgPSBtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICAgICAg
ICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAg
ICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAg
ICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5u
ZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldENvbnN0cnVjdG9y
S2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUt
PnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKIApAQCAtMjE3
MCw3ICsyMjg0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAg
ICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVpcmVtZW50cyAhPSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQpIHsKICAgICAgICAgQVNTRVJUKGZ1bmN0aW9u
SW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgbW9k
ZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IG1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgUkVMRUFT
RV9BU1NFUlQoKG9uZU9mU291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1
bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLCBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLCBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU+KG1vZGUpKSB8fCBp
c0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqZnVuY3Rpb25JbmZv
Lm5hbWUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQg
ZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUobV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqZnVuY3Rpb25JbmZvLm5hbWUsICInIiwg
ZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFt
ZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgIH0KQEAgLTIyODUsNiArMjM5OSw2MCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25EZWNsYQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhw
b3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNU
b2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gZnVuY3Rpb25JbmZvOworICAgIFNvdXJjZVBhcnNl
TW9kZSBwYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAg
IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1
aXJlbWVudHM6Ok5hbWVkOworICAgIGlmIChkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID09IERl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpIHsKKyAgICAgICAgLy8gVW5k
ZXIgdGhlICJleHBvcnQgZGVmYXVsdCIgY29udGV4dCwgZnVuY3Rpb24gZGVjbGFyYXRpb24gZG9l
cyBub3QgcmVxdWlyZSB0aGUgZnVuY3Rpb24gbmFtZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8g
ICAgIEV4cG9ydERlY2xhcmF0aW9uOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAv
LyAgICAgICAgIGV4cG9ydCBkZWZhdWx0IEhvaXN0YWJsZURlY2xhcmF0aW9uW35ZaWVsZCwgK0Rl
ZmF1bHRdCisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vCisgICAgICAgIC8vICAg
ICBIb2lzdGFibGVEZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAg
ICAgRnVuY3Rpb25EZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQorICAgICAgICAvLyAgICAg
ICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uWz9ZaWVsZCwgP0RlZmF1bHRdCisgICAgICAgIC8vCisg
ICAgICAgIC8vICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAg
ICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBbK0RlZmF1bHRdIGZ1bmN0aW9u
ICggRm9ybWFsUGFyYW1ldGVyc1t+WWllbGRdICkgeyBGdW5jdGlvbkJvZHlbfllpZWxkXSB9Cisg
ICAgICAgIC8vCisgICAgICAgIC8vICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbltZaWVsZCwgRGVm
YXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZh
dWx0XSBmdW5jdGlvbiAqICggRm9ybWFsUGFyYW1ldGVyc1srWWllbGRdICkgeyBHZW5lcmF0b3JC
b2R5IH0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSB1c2UgIipkZWZh
dWx0KiIgYXMgdGhpcyBmdW5jdGlvbiBkZWNsYXJhdGlvbidzIG5hbWUuCisgICAgICAgIHJlcXVp
cmVtZW50cyA9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZTsKKyAgICAgICAgZnVuY3Rp
b25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3RhckRl
ZmF1bHRQcml2YXRlTmFtZSgpOworICAgIH0KKworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCByZXF1aXJlbWVudHMsIHBhcnNlTW9kZSwgdHJ1ZSwgQ29uc3RydWN0
b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGZ1bmN0aW9uSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24pKSwg
IkNhbm5vdCBwYXJzZSB0aGlzIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoZnVu
Y3Rpb25JbmZvLm5hbWUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5h
bWUiKTsKKworICAgIHN0ZDo6cGFpcjxEZWNsYXJhdGlvblJlc3VsdE1hc2ssIFNjb3BlUmVmPiBm
dW5jdGlvbkRlY2xhcmF0aW9uID0gZGVjbGFyZUZ1bmN0aW9uKGZ1bmN0aW9uSW5mby5uYW1lKTsK
KyAgICBEZWNsYXJhdGlvblJlc3VsdE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBmdW5jdGlvbkRl
Y2xhcmF0aW9uLmZpcnN0OworICAgIGZhaWxJZlRydWVJZlN0cmljdChkZWNsYXJhdGlvblJlc3Vs
dCAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIkNhbm5vdCBkZWNsYXJl
IGFuIGFzeW5jIGZ1bmN0aW9uIG5hbWVkICciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAi
JyBpbiBzdHJpY3QgbW9kZSIpOworICAgIGlmIChkZWNsYXJhdGlvblJlc3VsdCAmIERlY2xhcmF0
aW9uUmVzdWx0OjpJbnZhbGlkRHVwbGljYXRlRGVjbGFyYXRpb24pCisgICAgICAgIGludGVybmFs
RmFpbFdpdGhNZXNzYWdlKGZhbHNlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZnVuY3Rpb24g
dGhhdCBzaGFkb3dzIGEgbGV0L2NvbnN0L2NsYXNzL2Z1bmN0aW9uIHZhcmlhYmxlICciLCBmdW5j
dGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOworICAgIGlmIChleHBv
cnRUeXBlID09IEV4cG9ydFR5cGU6OkV4cG9ydGVkKSB7CisgICAgICAgIHNlbWFudGljRmFpbElm
RmFsc2UoZXhwb3J0TmFtZSgqZnVuY3Rpb25JbmZvLm5hbWUpLCAiQ2Fubm90IGV4cG9ydCBhIGR1
cGxpY2F0ZSBmdW5jdGlvbiBuYW1lOiAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIici
KTsKKyAgICAgICAgbV9tb2R1bGVTY29wZURhdGEtPmV4cG9ydEJpbmRpbmcoKmZ1bmN0aW9uSW5m
by5uYW1lKTsKKyAgICB9CisKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3Jl
YXRlRnVuY0RlY2xTdGF0ZW1lbnQobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgaWYgKFRy
ZWVCdWlsZGVyOjpDcmVhdGVzQVNUKQorICAgICAgICBmdW5jdGlvbkRlY2xhcmF0aW9uLnNlY29u
ZC0+YXBwZW5kRnVuY3Rpb24oZ2V0TWV0YWRhdGEoZnVuY3Rpb25JbmZvKSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VD
bGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBFeHBvcnRUeXBlIGV4cG9ydFR5
cGUsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCkK
IHsKICAgICBBU1NFUlQobWF0Y2goQ0xBU1NUT0tFTikpOwpAQCAtMjQwMSw4ICsyNTY5LDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgIGJvb2wgaXNHZXR0ZXIgPSBmYWxzZTsK
ICAgICAgICAgYm9vbCBpc1NldHRlciA9IGZhbHNlOwogICAgICAgICBib29sIGlzR2VuZXJhdG9y
ID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3luY01ldGhvZCA9IGZhbHNlOwogICAgICAgICBp
ZiAoY29uc3VtZShUSU1FUykpCiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IHRydWU7CisKK3Bh
cnNlTWV0aG9kOgogICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgICAgIG5h
bWVkS2V5d29yZDoKICAgICAgICAgY2FzZSBTVFJJTkc6CkBAIC0yNDExLDEyICsyNTgyLDE3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBJREVOVDoKKyAgICAgICAgY2FzZSBBV0FJVDoKICAgICAg
ICAgICAgIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBBU1NFUlQo
aWRlbnQpOwogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRv
ciAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRj
aChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKKyAg
ICAgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKG1hdGNoSWRl
bnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBt
YXRjaChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkpKSB7CiAgICAgICAgICAgICAgICAg
aXNHZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5nZXQ7CiAgICAgICAgICAgICAgICAg
aXNTZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5zZXQ7CisgICAgICAgICAgICAgICAg
aWYgKFVOTElLRUxZKCFpc0FzeW5jTWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmFz
eW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAgICAgICAgICAgICAgICAg
ICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBwYXJzZU1l
dGhvZDsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBET1VCTEU6CkBAIC0yNDQ4LDcgKzI2MjQsMTIgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gbWV0aG9kSW5mbzsKICAgICAgICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9ICFpc1N0YXRp
Y01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsKICAgICAgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1v
ZGU7Ci0gICAgICAgICAgICBpZiAoaXNHZW5lcmF0b3IpIHsKKyAgICAgICAgICAgIGlmIChpc0Fz
eW5jTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
OworICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5h
bWVkICdwcm90b3R5cGUnIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCpp
ZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgIkNhbm5vdCBkZWNsYXJl
IGFuIGFzeW5jIG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3InIik7CisgICAgICAgICAgICB9IGVs
c2UgaWYgKGlzR2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZh
bHNlOwogICAgICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZTsKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNs
YXJlIGEgZ2VuZXJhdG9yIG5hbWVkICdwcm90b3R5cGUnIik7CkBAIC0yNTMxLDYgKzI3MTIsMTAg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckwKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4
cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0
ZW1lbnQobG9jYXRpb24sIGV4cHJlc3Npb24sIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmUpOwogICAgICAgICB9CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2Vz
IDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGlmIChV
TkxJS0VMWShtYXRjaChBV0FJVCkpKQorICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlz
RGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFz
IGEgbGFiZWwgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKKwogICAgICAg
ICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAg
ICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CiAgICAgICAgIG5leHQo
KTsKQEAgLTI3MjcsNyArMjkxMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlw
ZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgICAg
IGZhaWxJZkZhbHNlKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+
YXMpLCAiRXhwZWN0ZWQgJ2FzJyBiZWZvcmUgaW1wb3J0ZWQgYmluZGluZyBuYW1lIik7CiAgICAg
ICAgIG5leHQoKTsKIAotICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFy
aWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaFNwZWNJZGVudGlmaWVyKCksICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9y
IHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rv
a2VuOwogICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAg
bmV4dCgpOwpAQCAtMjc0OSw3ICsyOTM0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKIAog
ICAgICAgICBpZiAobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
cykpIHsKICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIG1hdGNoT3JGYWlsKElERU5U
LCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7
CisgICAgICAgICAgICBmYWlsSWZGYWxzZShtYXRjaFNwZWNJZGVudGlmaWVyKCksICJFeHBlY3Rl
ZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKICAgICAgICAg
ICAgIGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgICAgIGxvY2FsTmFtZSA9IG1f
dG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjc2MCw3ICsyOTQ1
LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICBjYXNlIEltcG9ydFNwZWNpZmllclR5
cGU6OkRlZmF1bHRJbXBvcnQ6IHsKICAgICAgICAgLy8gSW1wb3J0ZWREZWZhdWx0QmluZGluZyA6
CiAgICAgICAgIC8vIEltcG9ydGVkQmluZGluZwotICAgICAgICBBU1NFUlQobWF0Y2goSURFTlQp
KTsKKyAgICAgICAgQVNTRVJUKG1hdGNoU3BlY0lkZW50aWZpZXIoKSk7CiAgICAgICAgIGxvY2Fs
TmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CiAgICAgICAgIGltcG9ydGVkTmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5kZWZh
dWx0S2V5d29yZDsKQEAgLTI3NjksNiArMjk1NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJU
CiAgICAgfQogICAgIH0KIAorICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2NhbE5hbWVUb2tlbi5t
X3R5cGUgPT0gQVdBSVQsICJDYW5ub3QgdXNlICdhd2FpdCcgYXMgYW4gaW1wb3J0ZWQgYmluZGlu
ZyBuYW1lIik7CiAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGxvY2FsTmFtZVRva2VuLm1fdHlwZSAm
IEtleXdvcmRUb2tlbkZsYWcsICJDYW5ub3QgdXNlIGtleXdvcmQgYXMgaW1wb3J0ZWQgYmluZGlu
ZyBuYW1lIik7CiAgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0ID0g
ZGVjbGFyZVZhcmlhYmxlKGxvY2FsTmFtZSwgRGVjbGFyYXRpb25UeXBlOjpDb25zdERlY2xhcmF0
aW9uLCAoc3BlY2lmaWVyVHlwZSA9PSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpOYW1lc3BhY2VJbXBv
cnQpID8gRGVjbGFyYXRpb25JbXBvcnRUeXBlOjpJbXBvcnRlZE5hbWVzcGFjZSA6IERlY2xhcmF0
aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWQpOwogICAgIGlmIChkZWNsYXJhdGlvblJlc3VsdCAhPSBE
ZWNsYXJhdGlvblJlc3VsdDo6VmFsaWQpIHsKQEAgLTI3OTksNyArMjk4NSw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VJbXBvcnREZWNsYXJhCiAgICAgfQogCiAgICAgYm9vbCBpc0ZpbmlzaGVkUGFyc2luZ0ltcG9y
dCA9IGZhbHNlOwotICAgIGlmIChtYXRjaChJREVOVCkpIHsKKyAgICBpZiAobWF0Y2hTcGVjSWRl
bnRpZmllcigpKSB7CiAgICAgICAgIC8vIEltcG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAg
ICAvLyBJbXBvcnRlZEJpbmRpbmcKICAgICAgICAgYXV0byBzcGVjaWZpZXIgPSBwYXJzZUltcG9y
dENsYXVzZUl0ZW0oY29udGV4dCwgSW1wb3J0U3BlY2lmaWVyVHlwZTo6RGVmYXVsdEltcG9ydCk7
CkBAIC0yOTA5LDYgKzMwOTUsMTYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgICAgICBib29sIGlzRnVuY3Rpb25PckNsYXNz
RGVjbGFyYXRpb24gPSBmYWxzZTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbG9jYWxOYW1l
ID0gbnVsbHB0cjsKKyAgICAgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb25FeHBvcnQgPSBmYWxzZTsK
KworICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5hc3luYykpKSB7CisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0g
Y3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAo
VU5MSUtFTFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkK
KyAgICAgICAgICAgICAgICBpc0FzeW5jRnVuY3Rpb25FeHBvcnQgPSB0cnVlOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAg
ICAgICAgfQogCiAgICAgICAgIGJvb2wgc3RhcnRzV2l0aEZ1bmN0aW9uID0gbWF0Y2goRlVOQ1RJ
T04pOwogICAgICAgICBpZiAoc3RhcnRzV2l0aEZ1bmN0aW9uIHx8IG1hdGNoKENMQVNTVE9LRU4p
KSB7CkBAIC0yOTMzLDYgKzMxMjksMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAg
ICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgp
OwogICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwogICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpO
b3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbkV4cG9ydCkgeworICAgICAgICAg
ICAgICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOworICAgICAgICAgICAgICAgIERlcHRoTWFu
YWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgICAgICAgICAgICAg
bV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3lu
Y0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwogICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goQ0xBU1NUT0tFTikpOwogICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRU
eXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVs
dCk7CkBAIC0yOTQ3LDYgKzMxNDgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAg
ICAgICAgLy8KICAgICAgICAgICAgIC8vIEluIHRoZSBhYm92ZSBleGFtcGxlLCAqZGVmYXVsdCog
aXMgdGhlIGludmlzaWJsZSB2YXJpYWJsZSB0byB0aGUgdXNlcnMuCiAgICAgICAgICAgICAvLyBX
ZSB1c2UgdGhlIHByaXZhdGUgc3ltYm9sIHRvIHJlcHJlc2VudCB0aGUgbmFtZSBvZiB0aGlzIHZh
cmlhYmxlLgorICAgICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllciBjbGFzc2lmaWVy
KHRoaXMpOwogICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CiAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOwogICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gZXhwcmVzc2lvbiA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zMDQ0LDcgKzMyNDYsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRXhwb3J0RGVjbGFyYQogICAgICAgICBjYXNlIEZVTkNUSU9OOiB7CiAgICAgICAgICAgICBE
ZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgICAgICAg
ICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7Ci0gICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0
aW9uRGVjbGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6RXhwb3J0ZWQpOworICAgICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMzA1Myw5ICszMjU1LDE2IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHBvcnREZWNsYXJhCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVy
dHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJl
dlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5jdGlvbicga2V5d29yZCBmb2xsb3dpbmcgJ2Fz
eW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5nIGxpbmUgdGVybWluYXRvciIpOworICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQs
IEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgZWl0aGVyIGEgZGVj
bGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1lbnQiKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UocmVzdWx0LCAiQ2Fubm90IHBhcnNlIHRo
ZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVFeHBvcnRMb2Nh
bERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCByZXN1bHQpOwogICAgIH0KQEAgLTMxMTcsMzQg
KzMzMjYsNDYgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICBBU1NFUlQoIWhhc0Vycm9y
KCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKworICAgIGlmIChtYXRjaChZ
SUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRv
cigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQpOworCiAg
ICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICBKU1Rv
a2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICBpbnQgaW5pdGlhbEFz
c2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50OwogICAgIGludCBp
bml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50OwogICAgIGJvb2wg
bWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNoKE9QRU5CUkFDRSkgfHwgbWF0Y2goT1BFTkJS
QUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBi
b29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSBtYXRjaChPUEVOUEFSRU4pIHx8IG1hdGNo
KElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBoZXJlIHNp
bmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5d29yZC4KKyAgICAvLyBXaGV0
aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRlZCBieSBpc0Fycm93RnVuY3Rp
b25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJZGVudGlmaWVyT3JLZXl3b3JkID0gaXNJZGVu
dGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgbWF5YmVWYWxpZEFycm93RnVuY3Rp
b25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVyT3JLZXl3b3JkOwogICAgIFNh
dmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBzaXplX3QgdXNlZFZh
cmlhYmxlc1NpemUgPSAwOwotICAgIGlmICh3YXNPcGVuUGFyZW4pIHsKKworICAgIC8vIEZJWE1F
OiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBq
cXVlcnkuCisgICAgaWYgKHdhc09wZW5QYXJlbiB8fCAod2FzSWRlbnRpZmllck9yS2V5d29yZCAm
JiBVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMpKSkgewogICAgICAgICB1c2VkVmFyaWFibGVzU2l6ZSA9IGN1cnJlbnRTY29wZSgpLT5j
dXJyZW50VXNlZFZhcmlhYmxlc1NpemUoKTsKICAgICAgICAgY3VycmVudFNjb3BlKCktPnB1c2hV
c2VkVmFyaWFibGVTZXQoKTsKICAgICB9CiAKLSAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJ
RUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCi0gICAgICAg
IHJldHVybiBwYXJzZVlpZWxkRXhwcmVzc2lvbihjb250ZXh0KTsKLQogICAgIFRyZWVFeHByZXNz
aW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogCi0gICAgaWYg
KGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgJiYgIW1hdGNoKEVPRlRPSykpIHsKKyAgICBpZiAo
bWF5YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgewogICAgICAg
ICBib29sIGlzQXJyb3dGdW5jdGlvblRva2VuID0gbWF0Y2goQVJST1dGVU5DVElPTik7CiAgICAg
ICAgIGlmICghbGhzIHx8IGlzQXJyb3dGdW5jdGlvblRva2VuKSB7CiAgICAgICAgICAgICBTYXZl
UG9pbnRXaXRoRXJyb3IgZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dEZvckVycm9yKCk7CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7Cisg
ICAgICAgICAgICBib29sIGlzQXN5bmNBcnJvdyA9IGZhbHNlOworICAgICAgICAgICAgaWYgKFVO
TElLRUxZKGNsYXNzaWZpZXIuaW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSkp
IHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYykpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAg
ICAgICAgICBpc0FzeW5jQXJyb3cgPSAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkpIHsK
LSAgICAgICAgICAgICAgICBpZiAod2FzT3BlblBhcmVuKQorICAgICAgICAgICAgICAgIGlmICh3
YXNPcGVuUGFyZW4gfHwgaXNBc3luY0Fycm93KQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50
U2NvcGUoKS0+cmV2ZXJ0VG9QcmV2aW91c1VzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlc1NpemUp
OwotICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNv
bnRleHQpOworICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKGNvbnRleHQsIGlzQXN5bmNBcnJvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50V2l0aEVycm9yKGVycm9yUmVzdG9yYXRpb25TYXZlUG9pbnQpOwogICAg
ICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblRva2VuKQpAQCAtMzI2OCw2ICszNDg5LDIzIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlWWllbGRFeHByZXNzCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sK
KyAgICAvLyBBd2FpdEV4cHJlc3Npb24gZGVzdWdhcmVkIHRvIFlpZWxkRXhwcmVzc2lvbgorICAg
IEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFTU0VSVChjdXJyZW50U2NvcGUoKS0+aXNBc3lu
Y0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNl
UGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2Fp
dCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5leHQoKTsKKyAgICBKU1RleHRQb3NpdGlvbiBh
cmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgVHJlZUV4cHJlc3Npb24g
YXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxz
ZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBhd2FpdCBleHByZXNzaW9uIik7CisgICAgY29u
c3QgYm9vbCBkZWxlZ2F0ZSA9IGZhbHNlOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVlpZWxk
KGxvY2F0aW9uLCBhcmd1bWVudCwgZGVsZWdhdGUsIGRpdm90U3RhcnQsIGFyZ3VtZW50U3RhcnQs
IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRl
eHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBA
IC0zMzgwLDIyICszNjE4LDI2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVBy
b3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgYm9vbCB3
YXNJZGVudCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKICAgICBib29s
IGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNlOworICAgIGJvb2wgaXNBc3luY01ldGhvZCA9IGZhbHNl
OwogICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOwor
CitwYXJzZVByb3BlcnR5OgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBuYW1l
ZFByb3BlcnR5OgogICAgIGNhc2UgSURFTlQ6CisgICAgY2FzZSBBV0FJVDoKICAgICAgICAgd2Fz
SWRlbnQgPSB0cnVlOwogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIFNUUklORzogewog
ICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owog
ICAgICAgICB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgp
OwotICAgICAgICBpZiAoY29tcGxldGUgfHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAo
KmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+c2V0KSkpCisgICAgICAgIGlmIChjb21wbGV0ZSB8fCAod2FzSWRlbnQgJiYg
IWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Z2V0IHx8ICpp
ZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFzeW5jKSkpCiAgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhl
ckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG5l
eHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzIHwgVHJlZUJ1
aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKIAotICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYm
IG1hdGNoKENPTE9OKSkgeworICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0
aG9kICYmIG1hdGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAg
VHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb25PclByb3BhZ2F0
ZUVycm9yQ2xhc3MoY29udGV4dCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fu
bm90IHBhcnNlIGV4cHJlc3Npb24gZm9yIHByb3BlcnR5IGRlY2xhcmF0aW9uIik7CkBAIC0zNDA0
LDExICszNjQ2LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBw
YXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAg
ICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlz
R2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7
CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eShpZGVudCwgbWV0aG9k
LCBQcm9wZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21w
bGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0K
LSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMg
Zm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBp
c0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIp
OwogCiAgICAgICAgIGZhaWxJZkZhbHNlKHdhc0lkZW50LCAiRXhwZWN0ZWQgYW4gaWRlbnRpZmll
ciBhcyBwcm9wZXJ0eSBuYW1lIik7CiAKQEAgLTM0MzAsNyArMzY3MiwxMSBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cm9wZXJ0eShUcmVlQgogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6R2V0dGVyOwog
ICAgICAgICBlbHNlIGlmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KQogICAg
ICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6U2V0dGVyOwotICAgICAgICBlbHNlCisgICAg
ICAgIGVsc2UgaWYgKFVOTElLRUxZKCFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAq
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICBpc0Fz
eW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobV9sZXhlci0+cHJldlRl
cm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBmb2xsb3dpbmcga2V5d29yZCAn
YXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBhcnNlUHJvcGVydHk7CisgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhICc6JyBmb2xsb3dpbmcg
dGhlIHByb3BlcnR5IG5hbWUgJyIsIGlkZW50LT5pbXBsKCksICInIik7CiAgICAgICAgIHJldHVy
biBwYXJzZUdldHRlclNldHRlcihjb250ZXh0LCBjb21wbGV0ZSwgdHlwZSwgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBpc0NsYXNzUHJvcGVydHkpOwog
ICAgIH0KQEAgLTM0NDEsMTEgKzM2ODcsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAog
ICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgY29uc3QgSWRlbnRp
ZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmlj
SWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAg
ICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBp
c0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRo
b2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAg
ICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5
Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJv
cGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBl
Y3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRy
dWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMg
Zm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhw
ZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24g
bm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDYwLDExICsz
NzA2LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rp
b25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFt
ZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhv
ZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51
bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVy
dHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4o
UHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0
eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xh
c3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwg
IkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFp
bElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRo
ZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04s
ICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVz
c2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTM0Nzks
MTMgKzM3MjUsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3Ip
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRo
b2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFt
ZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJh
dG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291
cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUg
PSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6
IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJz
ZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVk
LCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9k
KSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3
NTEsNiArMzk5NywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25l
ZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rp
b25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAg
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5v
dCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBl
bmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
VGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQs
IHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRN
b2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsK
QEAgLTM4MzgsMTMgKzQwOTgsMTcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAg
ICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQorICAg
IGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9u
OgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwog
ICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owog
ICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAg
ICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dGVU5DVElPTikpKQor
ICAgICAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9j
dGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goRlVOQ1RJ
T04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICppZGVudCA9PSBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5hc3luYykpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VBc3luY0Z1bmN0aW9u
RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQog
ICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJs
ZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBt
X3BhcnNlclN0YXRlLmxhc3RJZGVudGlmaWVyID0gaWRlbnQ7CkBAIC00MDIxLDYgKzQyODUsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3Rl
ZFRva2VuKCk7CiAgICAgfQogCisgICAgYm9vbCBiYXNlSXNBc3luY0tleXdvcmQgPSBmYWxzZTsK
ICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgU2NvcGVSZWYgY2xvc2VzdE9yZGluYXJ5
RnVuY3Rpb25TY29wZSA9IGNsb3Nlc3RQYXJlbnRPcmRpbmFyeUZ1bmN0aW9uTm9uTGV4aWNhbFNj
b3BlKCk7CiAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVu
Y3Rpb24oKSB8fCAoY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29wZS0+aXNFdmFsQ29udGV4dCgp
ICYmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmV4cGVjdGVkU3VwZXJCaW5kaW5nKCkg
PT0gU3VwZXJCaW5kaW5nOjpOZWVkZWQpLCAic3VwZXIgaXMgbm90IHZhbGlkIGluIHRoaXMgY29u
dGV4dCIpOwpAQCAtNDAzOCw4ICs0MzAzLDIwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAg
ICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uU3VwZXJCaW5kaW5nID09
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCAic3VwZXIgaXMgbm90IHZhbGlkIGluIHRoaXMgY29u
dGV4dCIpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICghYmFzZUlz
TmV3VGFyZ2V0KQorICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkgeworICAgICAgICAv
LyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2Rl
LWxvYWQganF1ZXJ5LgorICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBtYXRjaENvbnRleHR1
YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKICAgICAgICAgYmFzZSA9IHBh
cnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGJhc2Us
ICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChVTkxJS0VMWShp
c0FzeW5jICYmIGNvbnRleHQuaXNSZXNvbHZlKGJhc2UpICYmICFtX2xleGVyLT5wcmV2VGVybWlu
YXRvcigpKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAg
ICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24p
OworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGZhaWxJ
ZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CiAgICAgd2hpbGUg
KHRydWUpIHsKQEAgLTQwNzQsNiArNDM1MSw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAg
ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJl
c3Npb25FbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICAgICAgICAgIFRyZWVB
cmd1bWVudHMgYXJndW1lbnRzID0gcGFyc2VBcmd1bWVudHMoY29udGV4dCk7CisgICAgICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKGJhc2VJc0FzeW5jS2V5d29yZCAmJiAoIWFyZ3VtZW50cyB8fCBt
YXRjaChBUlJPV0ZVTkNUSU9OKSkpKQorICAgICAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5
RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKICAgICAg
ICAgICAgICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1
bWVudHMiKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAg
ICAgICAgICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7
CkBAIC00MTMyLDcgKzQ0MTEsNyBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9j
YXRpb24gbG9jYXRpb247CiAKQEAgLTQxNDAsNyArNDQxOSw5IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvCiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJz
ZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1
cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rp
b25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0
aW9uIGV4cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0Fz
eW5jID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1v
ZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHBy
ZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8p
OwogfQpAQCAtNDE4NCw2ICs0NDY1LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAg
Ym9vbCBtb2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxz
ZTsKICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisgICAgLy8gRklYTUU6IFRoZXNl
IGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2FkIGpxdWVyeS4K
KyAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJlbnRGdW5jdGlvblNjb3BlKCkt
PmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICByZXR1cm4gcGFyc2VBd2FpdEV4
cHJlc3Npb24oY29udGV4dCk7CisKICAgICB3aGlsZSAoaXNVbmFyeU9wKG1fdG9rZW4ubV90eXBl
KSkgewogICAgICAgICBpZiAoc3RyaWN0TW9kZSgpKSB7CiAgICAgICAgICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CkBAIC00MzY1LDYgKzQ2NTEsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+OjpwcmludFVuZXhwZWN0ZWRUb2tlblRl
eHQoVwogICAgICAgICBvdXQucHJpbnQoIkludmFsaWQgcHJpdmF0ZSBuYW1lICciLCBnZXRUb2tl
bigpLCAiJyIpOwogICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKKyAgICBjYXNlIEFXQUlU
OgogICAgIGNhc2UgSURFTlQ6CiAgICAgICAgIG91dC5wcmludCgiVW5leHBlY3RlZCBpZGVudGlm
aWVyICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MGUxMzkxYjVmZDAzZGQ1ZTc3OGI4ZmRiNTkyM2Fh
Nzk4YWVkMTIzLi4xOGJlNzMxYTRiZGRiMWQ0OTA2NDQwZjg4ZWVjYzEzM2U1ODIxMTkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTEzNSw3ICsxMzUsNyBAQCBzdHJ1
Y3QgU2NvcGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlKTsKIAogcHVibGljOgot
ICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9uLCBib29sIGlzR2VuZXJhdG9y
LCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uKQorICAgIFNjb3BlKGNvbnN0
IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9uLCBib29sIGlzR2VuZXJhdG9yLCBib29sIHN0cmljdE1v
ZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uLCBib29sIGlzQXN5bmNGdW5jdGlvbikKICAgICAgICAg
OiBtX3ZtKHZtKQogICAgICAgICAsIG1fc2hhZG93c0FyZ3VtZW50cyhmYWxzZSkKICAgICAgICAg
LCBtX3VzZXNFdmFsKGZhbHNlKQpAQCAtMTUwLDYgKzE1MCw4IEBAIHB1YmxpYzoKICAgICAgICAg
LCBtX2lzR2VuZXJhdG9yQm91bmRhcnkoZmFsc2UpCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rp
b24oaXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnko
ZmFsc2UpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24oaXNBc3luY0Z1bmN0aW9uKQorICAg
ICAgICAsIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCiAgICAgICAgICwgbV9pc0xl
eGljYWxTY29wZShmYWxzZSkKICAgICAgICAgLCBtX2lzRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkK
ICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKHRydWUpCkBAIC0xODEsNiArMTgzLDggQEAg
cHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShvdGhlci5tX2lzR2VuZXJh
dG9yQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb24ob3RoZXIubV9pc0Fycm93
RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lz
QXJyb3dGdW5jdGlvbkJvdW5kYXJ5KQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uKG90aGVy
Lm1faXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnko
b3RoZXIubV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBtX2lzTGV4aWNhbFNj
b3BlKG90aGVyLm1faXNMZXhpY2FsU2NvcGUpCiAgICAgICAgICwgbV9pc0Z1bmN0aW9uQm91bmRh
cnkob3RoZXIubV9pc0Z1bmN0aW9uQm91bmRhcnkpCiAgICAgICAgICwgbV9pc1ZhbGlkU3RyaWN0
TW9kZShvdGhlci5tX2lzVmFsaWRTdHJpY3RNb2RlKQpAQCAtMjM4LDYgKzI0MiwxNCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRTb3VyY2VQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAg
ICAgewogICAgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fy
cm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICAgICAgc2V0SXNB
c3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6CiAgICAgICAgICAgICBzZXRJ
c0dlbmVyYXRvcigpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNTcsNiArMjY5LDE1IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigpOwogICAgICAgICAgICAgYnJl
YWs7CiAKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOgor
ICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICAg
ICAgc2V0SXNBc3luY0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZToKKyAgICAgICAgICAg
IHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBicmVhazsKKwogICAgICAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAgLTI2OCw2ICsyODksOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBpc0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzRnVuY3Rpb25Cb3Vu
ZGFyeTsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX2lzR2VuZXJh
dG9yOyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvckJvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9p
c0dlbmVyYXRvckJvdW5kYXJ5OyB9CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb24oKSBjb25zdCB7
IHJldHVybiBtX2lzQXN5bmNGdW5jdGlvbjsgfQorICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uQm91
bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAKICAg
ICBib29sIGhhc0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXJndW1lbnRzOyB9CiAK
QEAgLTI5MSw2ICszMTQsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9sZXhpY2FsVmFy
aWFibGVzOwogICAgIH0KIAorICAgIGJvb2wgaXNNb2R1bGUoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZvaWQgY29tcHV0ZUxleGljYWxseUNhcHR1
cmVkVmFyaWFibGVzQW5kUHVyZ2VDYW5kaWRhdGVzKCkKICAgICB7CiAgICAgICAgIC8vIEJlY2F1
c2UgdmFyaWFibGVzIG1heSBiZSBkZWZpbmVkIGF0IGFueSB0aW1lIGluIHRoZSByYW5nZSBvZiBh
IGxleGljYWwgc2NvcGUsIHdlIG11c3QKQEAgLTcxMCw2ICs3MzgsMzQgQEAgcHJpdmF0ZToKICAg
ICAgICAgbV9pc0Fycm93RnVuY3Rpb24gPSB0cnVlOwogICAgIH0KIAorICAgIHZvaWQgc2V0SXNB
c3luY0Fycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7
CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dElzQXN5bmNGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAg
ICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5
bmNGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAgICAg
ICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRy
dWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkgPSB0cnVlOworICAgIH0KKwor
ICAgIHZvaWQgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCkKKyAgICB7CisgICAgICAgIHNl
dElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAg
ICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnkgPSB0cnVlOworICAgIH0KKwogICAgIGNvbnN0IFZNKiBtX3ZtOwogICAgIGJvb2wg
bV9zaGFkb3dzQXJndW1lbnRzOwogICAgIGJvb2wgbV91c2VzRXZhbDsKQEAgLTcyNCw2ICs3ODAs
OCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0dlbmVyYXRvckJvdW5kYXJ5OwogICAgIGJvb2wg
bV9pc0Fycm93RnVuY3Rpb247CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5Owor
ICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb247CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5OwogICAgIGJvb2wgbV9pc0xleGljYWxTY29wZTsKICAgICBib29sIG1faXNGdW5jdGlv
bkJvdW5kYXJ5OwogICAgIGJvb2wgbV9pc1ZhbGlkU3RyaWN0TW9kZTsKQEAgLTg4Niw4ICs5NDQs
OSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBlbnVtIEV4cHJlc3Npb25FcnJvckNsYXNzIHsK
LSAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nLAotICAgICAgICBFcnJvckluZGljYXRlc1Bh
dHRlcm4KKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nID0gMCwKKyAgICAgICAgRXJyb3JJ
bmRpY2F0ZXNQYXR0ZXJuLAorICAgICAgICBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlv
bgogICAgIH07CiAKICAgICBzdHJ1Y3QgRXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllciB7CkBAIC05
MTEsNiArOTcwLDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmlj
YXRpb247CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9u
RXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgICAgIHsKKyAg
ICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKKyAgICAgICAgfQorCiAgICAgICAg
IHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRD
bGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGlmIChtX2NsYXNzICE9IG9sZENsYXNzaWZpY2F0aW9uKQpAQCAt
OTIwLDExICs5ODQsMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICB2b2lkIHByb3BhZ2F0ZUV4cHJl
c3Npb25FcnJvckNsYXNzKCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMg
JiYgbV9jbGFzcyAhPSBFcnJvckluZGljYXRlc05vdGhpbmcpCisgICAgICAgICAgICBpZiAobV9w
cmV2aW91cykKICAgICAgICAgICAgICAgICBtX3ByZXZpb3VzLT5tX2NsYXNzID0gbV9jbGFzczsK
ICAgICAgICAgfQogCiAgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc1BhdHRlcm47IH0KKyAgICAgICAg
Ym9vbCBpbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb247IH0KIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIEV4cHJlc3Npb25FcnJvckNsYXNzIG1fY2xhc3M7CkBAIC05MzgsNiAr
MTAwMywxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9leHByZXNzaW9uRXJyb3JDbGFzc2lm
aWVyLT5jbGFzc2lmeUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CiAgICAgfQogCisg
ICAgQUxXQVlTX0lOTElORSB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVz
c2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgeworICAgICAgICBpZiAobV9leHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQorICAgICAgICAgICAgbV9leHByZXNzaW9uRXJyb3JDbGFz
c2lmaWVyLT5mb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKKyAg
ICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihF
eHByZXNzaW9uRXJyb3JDbGFzcyBvbGRDbGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xh
c3MgY2xhc3NpZmljYXRpb24pCiAgICAgewogICAgICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JD
bGFzc2lmaWVyKQpAQCAtOTU5LDYgKzEwMzAsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJu
IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvVmFyaWFibGVzOwogICAgIH0KIAorICAg
IEFMV0FZU19JTkxJTkUgY29uc3QgY2hhciogZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQo
RGVjbGFyYXRpb25UeXBlIHR5cGUpCisgICAgeworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAg
ICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uOgorICAgICAgICAgICAg
cmV0dXJuICJ2YXJpYWJsZSBuYW1lIjsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6Okxl
dERlY2xhcmF0aW9uOgorICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJh
dGlvbjoKKyAgICAgICAgICAgIHJldHVybiAibGV4aWNhbCB2YXJpYWJsZSBuYW1lIjsKKyAgICAg
ICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1
cm4gImludmFsaWQiOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgQXNzaWdubWVudENvbnRl
eHQgYXNzaWdubWVudENvbnRleHRGcm9tRGVjbGFyYXRpb25UeXBlKERlY2xhcmF0aW9uVHlwZSB0
eXBlKQogICAgIHsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC05NzEsNiArMTA1NSwxMiBA
QCBwcml2YXRlOgogCiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXZhbE9yQXJndW1lbnRzKGNv
bnN0IElkZW50aWZpZXIqIGlkZW50KSB7IHJldHVybiBpc0V2YWxPckFyZ3VtZW50c0lkZW50aWZp
ZXIobV92bSwgaWRlbnQpOyB9CiAKKyAgICBTY29wZVJlZiB1cHBlclNjb3BlKGludCBuKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKG1fc2NvcGVTdGFjay5zaXplKCkgPj0gc2l6ZV90KDEgKyBuKSk7
CisgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3BlU3RhY2suc2l6
ZSgpIC0gMSAtIG4pOworICAgIH0KKwogICAgIFNjb3BlUmVmIGN1cnJlbnRTY29wZSgpCiAgICAg
ewogICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNp
emUoKSAtIDEpOwpAQCAtMTAyNywxMyArMTExNywxNSBAQCBwcml2YXRlOgogICAgICAgICBib29s
IGlzU3RyaWN0ID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKICAg
ICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5j
RnVuY3Rpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKCFtX3Njb3BlU3RhY2suaXNFbXB0eSgpKSB7
CiAgICAgICAgICAgICBpc1N0cmljdCA9IG1fc2NvcGVTdGFjay5sYXN0KCkuc3RyaWN0TW9kZSgp
OwogICAgICAgICAgICAgaXNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNGdW5jdGlv
bigpOwogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzR2Vu
ZXJhdG9yKCk7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFz
dCgpLmlzQXJyb3dGdW5jdGlvbigpOworICAgICAgICAgICAgaXNBc3luY0Z1bmN0aW9uID0gbV9z
Y29wZVN0YWNrLmxhc3QoKS5pc0FzeW5jRnVuY3Rpb24oKTsKICAgICAgICAgfQotICAgICAgICBt
X3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJh
dG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgbV9zY29wZVN0YWNrLmNv
bnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3Qs
IGlzQXJyb3dGdW5jdGlvbiwgaXNBc3luY0Z1bmN0aW9uKTsKICAgICAgICAgcmV0dXJuIGN1cnJl
bnRTY29wZSgpOwogICAgIH0KIApAQCAtMTM0NiwyMSArMTQzOCwyNCBAQCBwcml2YXRlOgogICAg
IC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLWdlbmVy
YXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycwog
ICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKGJvb2wgaW5HZW5lcmF0
b3IpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IGlzTEVUTWFza2VkQXNJ
REVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJhdG9yKTsKKyAgICAgICAgcmV0
dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkg
fHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOwogICAgIH0KIAogICAgIEFMV0FZ
U19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKCkKICAgICB7Ci0gICAgICAgIHJldHVy
biBtYXRjaFNwZWNJZGVudGlmaWVyKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKKyAg
ICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRB
c0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJh
dG9yKCkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVt
ZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYs
IFNvdXJjZUVsZW1lbnRzTW9kZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU291cmNlRWxlbWVudHMgcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b24sIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImLCBjb25z
dCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0
aCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
U3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKICAgICBlbnVtIGNsYXNzIEV4cG9y
dFR5cGUgeyBFeHBvcnRlZCwgTm90RXhwb3J0ZWQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVy
JiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0
ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0
OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYsIGJvb2wg
aXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQp
OworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFz
eW5jRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRU
eXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwg
RGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZURvV2hp
bGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwpAQCAt
MTM4Nyw2ICsxNDgyLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZ
U19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVF
eHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VB
d2FpdEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhw
cmVzc2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3ICsxNDkwLDE4IEBAIHByaXZh
dGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4
cHJlc3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Np
b24gcGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VGdW5jdGlv
bkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRzKFRyZWVCdWlsZGVyJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNz
aW9uIHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVudFR5cGUmKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVC
dWlsZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwg
Y29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvcik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0
aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBi
b29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVy
JiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlzQ2xhc3NQcm9wZXJ0eSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlv
bkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBTeW50YXhDaGVja2VyJiwgY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBm
dW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBT
dXBlckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBib29sIHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0
LCB1bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxv
b3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3Qo
VHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJu
JiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9z
aXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0LCBEZWNsYXJhdGlvblR5cGUs
IEV4cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RIYXZlSW5pdGlhbGl6ZXIpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
QXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVC
aW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBl
LCBjb25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVudENvbnRleHQsIGNvbnN0IElk
ZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQXNz
aWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVzc2lvbiYsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gcGFyc2VC
aW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1
cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlm
aWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNzaWdubWVudENvbnRleHQgYmlu
ZGluZ0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1NTksMjEgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwoKTsKICAgICB9CiAKKyAgICBi
b29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBKU1Rva2VuJiB0b2tlbikKKyAg
ICB7CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0
YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5
KCkgfHwgY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkgfHwgIW1fcGFyc2VyU3RhdGUuYWxsb3dB
d2FpdCk7CisgICAgfQorCisgICAgY29uc3QgY2hhciogZGlzYWxsb3dlZElkZW50aWZpZXJBd2Fp
dFJlYXNvbigpCisgICAgeworICAgICAgICBpZiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8
fCBjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkKKyAgICAgICAgICAg
IHJldHVybiAiaW4gYW4gYXN5bmMgZnVuY3Rpb24iOworICAgICAgICBpZiAoY3VycmVudFNjb3Bl
KCktPmlzTW9kdWxlKCkpCisgICAgICAgICAgICByZXR1cm4gImluIGEgbW9kdWxlIjsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNlUGhhc2UgeyBQYXJhbWV0ZXJz
LCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAgICAgICAgaW50IGFzc2lnbm1l
bnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU4Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIEZ1
bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBGdW5jdGlvblBhcnNlUGhhc2U6
OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50aWZpZXIgeyBudWxs
cHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgeyBudWxs
cHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUgfTsKICAgICB9OwogCiAgICAg
Ly8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBwcm9iYWJseSBzaG91bGQgYmUg
dXNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9k
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAppbmRleCA5
ZmQ3Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2Li4zMmFjZmYxODIyZTNmMGUx
ZGM5NDU3NzYxZTU5M2RjYmZhMzMxY2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJNb2Rlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFBhcnNlck1vZGVzX2gK
ICNkZWZpbmUgUGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAiQ29uc3RydWN0QWJpbGl0eS5oIgog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00Myw4MCArNDQs
MTE3IEBAIGVudW0gRGVidWdnZXJNb2RlIHsgRGVidWdnZXJPZmYsIERlYnVnZ2VyT24gfTsKIAog
ZW51bSBjbGFzcyBGdW5jdGlvbk1vZGUgeyBGdW5jdGlvbkV4cHJlc3Npb24sIEZ1bmN0aW9uRGVj
bGFyYXRpb24sIE1ldGhvZERlZmluaXRpb24gfTsKIAotZW51bSBjbGFzcyBTb3VyY2VQYXJzZU1v
ZGUgOiB1aW50OF90IHsKLSAgICBOb3JtYWxGdW5jdGlvbk1vZGUsCi0gICAgR2VuZXJhdG9yQm9k
eU1vZGUsCi0gICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKLSAgICBHZXR0ZXJNb2Rl
LAotICAgIFNldHRlck1vZGUsCi0gICAgTWV0aG9kTW9kZSwKLSAgICBBcnJvd0Z1bmN0aW9uTW9k
ZSwKLSAgICBQcm9ncmFtTW9kZSwKLSAgICBNb2R1bGVBbmFseXplTW9kZSwKLSAgICBNb2R1bGVF
dmFsdWF0ZU1vZGUKK2VudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDE2X3QgeworICAg
IE5vcm1hbEZ1bmN0aW9uTW9kZSAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDAxLAorICAg
IEdlbmVyYXRvckJvZHlNb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDEwLAorICAg
IEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgID0gMGIwMDAwMDAwMDAwMDAwMTAwLAorICAg
IEdldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAxMDAwLAorICAg
IFNldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDEwMDAwLAorICAg
IE1ldGhvZE1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMTAwMDAwLAorICAg
IEFycm93RnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAxMDAwMDAwLAorICAg
IEFzeW5jRnVuY3Rpb25Cb2R5TW9kZSAgICAgICAgID0gMGIwMDAwMDAwMDEwMDAwMDAwLAorICAg
IEFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICAgID0gMGIwMDAwMDAwMTAwMDAwMDAwLAorICAg
IEFzeW5jRnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAxMDAwMDAwMDAwLAorICAg
IEFzeW5jTWV0aG9kTW9kZSAgICAgICAgICAgICAgID0gMGIwMDAwMDEwMDAwMDAwMDAwLAorICAg
IEFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgID0gMGIwMDAwMTAwMDAwMDAwMDAwLAorICAg
IFByb2dyYW1Nb2RlICAgICAgICAgICAgICAgICAgID0gMGIwMDAxMDAwMDAwMDAwMDAwLAorICAg
IE1vZHVsZUFuYWx5emVNb2RlICAgICAgICAgICAgID0gMGIwMDEwMDAwMDAwMDAwMDAwLAorICAg
IE1vZHVsZUV2YWx1YXRlTW9kZSAgICAgICAgICAgID0gMGIwMTAwMDAwMDAwMDAwMDAwLAogfTsK
IAotaW5saW5lIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VN
b2RlKQordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlIG1vZGUsIFNvdXJjZVBhcnNlTW9kZS4uLiBy
ZXN0Pgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2RlcyB7CisgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpIHwgTWVyZ2VTb3VyY2VQ
YXJzZU1vZGVzPHJlc3QuLi4+Ojp2YWx1ZTsKK307CisKK3RlbXBsYXRlPFNvdXJjZVBhcnNlTW9k
ZSBtb2RlPgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2Rlczxtb2RlPiB7CisgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpOworfTsK
KwordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlLi4uIG1vZGVzPgorc3RhdGljIEFMV0FZU19JTkxJ
TkUgYm9vbCBvbmVPZlNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VNb2RlIG1vZGUpCiB7Ci0g
ICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2Rl
OgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgJiBNZXJnZVNv
dXJjZVBhcnNlTW9kZXM8bW9kZXMuLi4+Ojp2YWx1ZTsKIH0KIAotaW5saW5lIGJvb2wgaXNNb2R1
bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK0FMV0FZU19JTkxJTkUgYm9v
bCBpc0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCiB7Ci0gICAg
c3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5h
bHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBw
ZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1v
ZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOwogfQogCi1pbmxpbmUgYm9vbCBpc1Byb2dyYW1Q
YXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK0FMV0FZU19JTkxJTkUgYm9vbCBp
c0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKIHsKLSAg
ICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFt
TW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JC
b2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0
aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIG9uZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRo
b2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUs
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU+KHBh
cnNlTW9kZSk7Cit9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jQXJyb3dGdW5jdGlvblBh
cnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQoreworICAgIHJldHVybiBvbmVPZlNv
dXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1
cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlPihwYXJzZU1v
ZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9k
ZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQoreworICAgIHJldHVybiBvbmVPZlNvdXJjZVBh
cnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2Rl
LAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlPihw
YXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNZXRob2RQYXJzZU1vZGUoU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1v
ZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1v
ZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1v
ZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlPihwYXJzZU1vZGUp
OworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VN
b2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lO
TElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQor
eworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpQcm9n
cmFtTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBDb25zdHJ1Y3RBYmlsaXR5
IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkK
K3sKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25N
b2RlKQorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0eTo6Q2FuQ29uc3RydWN0OworCisg
ICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5vdENvbnN0cnVjdDsKIH0KIAogaW5saW5l
IGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0IElkZW50aWZpZXImIG5hbWUsIEZ1bmN0
aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYzYWNlZjc5YzY5Y2QyOGY4MjNjMmE3ZTgw
Li5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFhNTJlNjYxZDY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTgzLDYgKzgzLDcgQEAgZW51
bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLAogICAgIFNVUEVS
LAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAsCiAgICAgQ0xPU0VCUkFDRSwKICAgICBP
UEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRh
eENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5o
CmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEyNzdmYTJkODI2ODYuLjI4MThiZjdi
YTRkZTBlMjcxNTY3NTJkZDZjYzNiZmQzYTM1ZTQxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xODQsNiArMTg0LDcgQEAgcHVibGljOgog
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVlpZWxkKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4
cHJlc3Npb25UeXBlLCBib29sLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBZaWVsZEV4cHI7IH0K
ICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhDaGVja2VyPiYsIFZhcmlhYmxlRW52aXJv
bm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUsIFByb3BlcnR5TGlzdCwgUHJv
cGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwg
aW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCB1bnNpZ25lZCwgU291cmNl
UGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rpb25Db2RlRmVhdHVyZXMgPSBOb0lubmVy
QXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVy
biBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRob2REZWZpbml0
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTBkMTUyZWMyN2Y4OWRhYzliNDUzZTg4MDliNjUyNDg1Y2E1YzE1MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rp
b25Db25zdHJ1Y3Rvci5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBDYWl0bGluIFBvdHRlciA8Y2FpdHBAaWdhbGlhLmNvbT4uCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IuaCIKKwor
I2luY2x1ZGUgIkFzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaCIKKyNpbmNsdWRlICJGdW5jdGlvbkNv
bnN0cnVjdG9yLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsK
KworU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEFzeW5jRnVuY3Rpb25D
b25zdHJ1Y3Rvcik7CisKK2NvbnN0IENsYXNzSW5mbyBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIkFzeW5jRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3RvcikgfTsKKworQXN5bmNGdW5j
dGlvbkNvbnN0cnVjdG9yOjpBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKKyAgICA6IEludGVybmFsRnVuY3Rpb24odm0sIHN0cnVjdHVyZSkKK3sK
K30KKwordm9pZCBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgQXN5bmNGdW5jdGlvblByb3RvdHlwZSogcHJvdG90eXBlKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCAiQXN5bmNGdW5jdGlvbiIpOworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHByb3RvdHlwZSwgRG9udEVu
dW0gfCBEb250RGVsZXRlIHwgUmVhZE9ubHkpOworCisgICAgLy8gTnVtYmVyIG9mIGFyZ3VtZW50
cyBmb3IgY29uc3RydWN0b3IKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigxKSwgUmVhZE9ubHkgfCBEb250RGVsZXRl
IHwgRG9udEVudW0pOworfQorCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBj
YWxsQXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBBcmdM
aXN0IGFyZ3MoZXhlYyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RGdW5j
dGlvbihleGVjLCBhc0ludGVybmFsRnVuY3Rpb24oZXhlYy0+Y2FsbGVlKCkpLT5nbG9iYWxPYmpl
Y3QoKSwgYXJncywgRnVuY3Rpb25Db25zdHJ1Y3Rpb25Nb2RlOjpBc3luYykpOworfQorCitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RBc3luY0Z1bmN0aW9uQ29u
c3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEFyZ0xpc3QgYXJncyhleGVjKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNvbnN0cnVjdEZ1bmN0aW9uKGV4ZWMsIGFzSW50ZXJu
YWxGdW5jdGlvbihleGVjLT5jYWxsZWUoKSktPmdsb2JhbE9iamVjdCgpLCBhcmdzLCBGdW5jdGlv
bkNvbnN0cnVjdGlvbk1vZGU6OkFzeW5jKSk7Cit9CisKK0NhbGxUeXBlIEFzeW5jRnVuY3Rpb25D
b25zdHJ1Y3Rvcjo6Z2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmIGNhbGxEYXRhKQorewor
ICAgIGNhbGxEYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNhbGxBc3luY0Z1bmN0aW9uQ29uc3RydWN0
b3I7CisgICAgcmV0dXJuIENhbGxUeXBlOjpIb3N0OworfQorCitDb25zdHJ1Y3RUeXBlIEFzeW5j
RnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3RE
YXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9u
ID0gY29uc3RydWN0QXN5bmNGdW5jdGlvbkNvbnN0cnVjdG9yOworICAgIHJldHVybiBDb25zdHJ1
Y3RUeXBlOjpIb3N0OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmIxZjBlMTA2ZWU2NzEzNmU5MjcwMWQ2OGMzOWQ5NWIyZmM0ODY1NQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Q
cm90b3R5cGUuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
Q2FpdGxpbiBQb3R0ZXIgPGNhaXRwQGlnYWxpYS5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQXN5bmNGdW5jdGlvblByb3RvdHlwZS5oIgorCisjaW5jbHVk
ZSAiQnVpbHRpbkV4ZWN1dGFibGVzLmgiCisjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisjaW5j
bHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU1N0cmluZy5oIgorI2lu
Y2x1ZGUgIkpTU3RyaW5nQnVpbGRlci5oIgorI2luY2x1ZGUgIkxleGVyLmgiCisKK25hbWVzcGFj
ZSBKU0MgeworCitjb25zdCBDbGFzc0luZm8gQXN5bmNGdW5jdGlvblByb3RvdHlwZTo6c19pbmZv
ID0geyAiQXN5bmNGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoQXN5bmNGdW5jdGlvblByb3RvdHlwZSkgfTsKKworQXN5bmNGdW5jdGlvblByb3Rv
dHlwZTo6QXN5bmNGdW5jdGlvblByb3RvdHlwZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQorICAgIDogSlNDOjpKU05vbkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCit7Cit9CisKK3Zv
aWQgQXN5bmNGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7
CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxl
bmd0aCwganNOdW1iZXIoMCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKKyAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+dG9TdHJp
bmdUYWdTeW1ib2wsIGpzU3RyaW5nKCZ2bSwgIkFzeW5jRnVuY3Rpb24iKSwgRG9udEVudW0gfCBS
ZWFkT25seSk7CisgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZSh0aGlzKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg3Y2M1YzZiY2RmYmZk
MmQ3ZjMwYjBhOTI0MzliMzAwYjc1NDUxOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FzeW5jRnVuY3Rpb25Qcm90b3R5cGUuaApAQCAtMCwwICsxLDYw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IENhaXRsaW4gUG90dGVyIDxjYWl0cEBpZ2Fs
aWEuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBc3luY0Z1bmN0aW9uUHJvdG90eXBlX2gKKyNk
ZWZpbmUgQXN5bmNGdW5jdGlvblByb3RvdHlwZV9oCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgor
CituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgQXN5bmNGdW5jdGlvblByb3RvdHlwZSA6IHB1Ymxp
YyBKU05vbkZpbmFsT2JqZWN0IHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTTm9uRmluYWxPYmpl
Y3QgQmFzZTsKKworICAgIERFQ0xBUkVfSU5GTzsKKworICAgIHN0YXRpYyBBc3luY0Z1bmN0aW9u
UHJvdG90eXBlKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7Cisg
ICAgICAgIEFzeW5jRnVuY3Rpb25Qcm90b3R5cGUqIHByb3RvdHlwZSA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPEFzeW5jRnVuY3Rpb25Qcm90b3R5cGU+KHZtLmhlYXApKSBBc3luY0Z1bmN0
aW9uUHJvdG90eXBlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBwcm90b3R5cGUtPmZpbmlzaENy
ZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIHByb3RvdHlwZTsKKyAgICB9CisKKyAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVy
ZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYpOworCitwcml2YXRlOgorICAgIEFzeW5jRnVuY3Rpb25Qcm90b3R5
cGUoVk0mLCBTdHJ1Y3R1cmUqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYg
Ly8gQXN5bmNGdW5jdGlvblByb3RvdHlwZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA0MDUxMjYyZGE1MWJjYmRhYjc3NWNm
NjFiMGMwY2JjMGZmNTcxMWYxLi43Mzg5ZjllY2VjZTVmODhhMzhmNDYyN2QyMzg3ZDYyMTdiOTY1
ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgIG1hY3JvKGFyZ3VtZW50cykgXAogICAg
IG1hY3JvKGFzKSBcCiAgICAgbWFjcm8oYXNzaWduKSBcCisgICAgbWFjcm8oYXN5bmMpIFwKICAg
ICBtYWNybyhiYWNrKSBcCiAgICAgbWFjcm8oYmluZCkgXAogICAgIG1hY3JvKGJsdXIpIFwKQEAg
LTI3MSw2ICsyNzIsNyBAQAogICAgIG1hY3JvKHllYXIpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9J
REVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFjcm8pIFwKKyAgICBtYWNybyhhd2FpdCkgXAogICAg
IG1hY3JvKGJyZWFrKSBcCiAgICAgbWFjcm8oY2FzZSkgXAogICAgIG1hY3JvKGNhdGNoKSBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9y
LmgKaW5kZXggNjNiYzQwOGM0YjAxN2Q4ZDU0YjRlZmZkY2FkZDA5ZjcwZDEzZDUxZi4uNzcwMDM2
ZWNkMDhjMmI2ZDAzMWU3MWRmYzM5Mjg3OWI2YTljM2FjOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaApAQCAtNTksNiArNTks
NyBAQCBwcml2YXRlOgogZW51bSBjbGFzcyBGdW5jdGlvbkNvbnN0cnVjdGlvbk1vZGUgewogICAg
IEZ1bmN0aW9uLAogICAgIEdlbmVyYXRvciwKKyAgICBBc3luYywKIH07CiAKIEpTT2JqZWN0KiBj
b25zdHJ1Y3RGdW5jdGlvbihFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IEFyZ0xp
c3QmLCBjb25zdCBJZGVudGlmaWVyJiBmdW5jdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCBjb25zdCBXVEY6OlRleHRQb3NpdGlvbiYsIEZ1bmN0aW9uQ29uc3RydWN0aW9uTW9kZSA9
IEZ1bmN0aW9uQ29uc3RydWN0aW9uTW9kZTo6RnVuY3Rpb24sIEpTVmFsdWUgbmV3VGFyZ2V0ID0g
SlNWYWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXN5bmNGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FzeW5j
RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmY2E1MmQxMzBlMDEyY2U3NjA5ZTgwNTAxY2NiZTU2
OTA2NDVmMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FzeW5jRnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQ2FpdGxpbiBQb3R0ZXIgPGNhaXRwQGlnYWxpYS5jb20+LgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBc3luY0Z1bmN0aW9uLmgiCisKKyNpbmNs
dWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1Zh
bHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25Jbmxp
bmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIK
KyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY29uc3QgQ2xhc3NJbmZvIEpT
QXN5bmNGdW5jdGlvbjo6c19pbmZvID0geyAiQXN5bmNGdW5jdGlvbiIsICAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXN5bmNGdW5jdGlvbikgfTsKKworSlNB
c3luY0Z1bmN0aW9uOjpKU0FzeW5jRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwg
c2NvcGUsIHNjb3BlLT5nbG9iYWxPYmplY3QoKS0+YXN5bmNGdW5jdGlvblN0cnVjdHVyZSgpKQor
eworfQorCitKU0FzeW5jRnVuY3Rpb24qIEpTQXN5bmNGdW5jdGlvbjo6Y3JlYXRlSW1wbChWTSYg
dm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUpCit7Cisg
ICAgSlNBc3luY0Z1bmN0aW9uKiBhc3luY0Z1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8SlNBc3luY0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBc3luY0Z1bmN0aW9uKHZtLCBleGVj
dXRhYmxlLCBzY29wZSk7CisgICAgQVNTRVJUKGFzeW5jRnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5n
bG9iYWxPYmplY3QoKSk7CisgICAgYXN5bmNGdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOwor
ICAgIHJldHVybiBhc3luY0Z1bmN0aW9uOworfQorCitKU0FzeW5jRnVuY3Rpb24qIEpTQXN5bmNG
dW5jdGlvbjo6Y3JlYXRlKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBK
U1Njb3BlKiBzY29wZSkKK3sKKyAgICBKU0FzeW5jRnVuY3Rpb24qIGFzeW5jRnVuY3Rpb24gPSBj
cmVhdGVJbXBsKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgZXhlY3V0YWJsZS0+c2luZ2xl
dG9uRnVuY3Rpb24oKS0+bm90aWZ5V3JpdGUodm0sIGFzeW5jRnVuY3Rpb24sICJBbGxvY2F0aW5n
IGFuIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgcmV0dXJuIGFzeW5jRnVuY3Rpb247Cit9CisKK0pT
QXN5bmNGdW5jdGlvbiogSlNBc3luY0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
LCBKU1Njb3BlKiBzY29wZSkKK3sKKyAgICByZXR1cm4gY3JlYXRlSW1wbCh2bSwgZXhlY3V0YWJs
ZSwgc2NvcGUpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FzeW5jRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXN5bmNGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZjVkYzAzOWFkODBjZDQ2NTE1NDIzYjgxNzI2
MjEyYjdkZTUxMGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FzeW5jRnVuY3Rpb24uaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IENhaXRsaW4gUG90dGVyIDxjYWl0cEBpZ2FsaWEuY29tPi4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBKU0FzeW5jRnVuY3Rpb25faAorI2RlZmluZSBKU0FzeW5jRnVuY3Rpb25faAorCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNBc3lu
Y0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworICAgIGZyaWVuZCBjbGFzcyBKSVQ7Cisg
ICAgZnJpZW5kIGNsYXNzIFZNOworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNl
OworCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3Ry
dWN0dXJlRmxhZ3M7CisKKyAgICBERUNMQVJFX0VYUE9SVF9JTkZPOworCisgICAgc3RhdGljIEpT
QXN5bmNGdW5jdGlvbiogY3JlYXRlKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSop
OworICAgIHN0YXRpYyBKU0FzeW5jRnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxs
b2NhdGlvbldhdGNocG9pbnQoVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7CisK
KyAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRpb25TaXplKHNpemVfdCBpbmxpbmVDYXBhY2l0eSkK
KyAgICB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoaW5saW5lQ2FwYWNpdHksICFpbmxpbmVDYXBh
Y2l0eSk7CisgICAgICAgIHJldHVybiBzaXplb2YoSlNBc3luY0Z1bmN0aW9uKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFT
U0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBKU0FzeW5jRnVuY3Rp
b24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7CisKKyAgICBzdGF0aWMgSlNB
c3luY0Z1bmN0aW9uKiBjcmVhdGVJbXBsKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29w
ZSopOworfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBKU0FzeW5jRnVuY3Rp
b25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IGM3ZmFkMzAzOWNmMDU2ZTUxZGRhZjc4MWE2NDEzODQ1MDA2NTE4NDYuLmVmYzZj
Nzg3NjNhMmVjZDAyNTZhNzgyZTg0YWM4YmFjZWJmZGUzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTMzLDYgKzMzLDggQEAK
ICNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiQXJyYXlJdGVyYXRvclBy
b3RvdHlwZS5oIgogI2luY2x1ZGUgIkFycmF5UHJvdG90eXBlLmgiCisjaW5jbHVkZSAiQXN5bmNG
dW5jdGlvbkNvbnN0cnVjdG9yLmgiCisjaW5jbHVkZSAiQXN5bmNGdW5jdGlvblByb3RvdHlwZS5o
IgogI2luY2x1ZGUgIkJvb2xlYW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkJvb2xlYW5Qcm90
b3R5cGUuaCIKICNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIKQEAgLTYzLDYgKzY1LDcgQEAKICNp
bmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVj
dG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgorI2luY2x1ZGUgIkpT
QXN5bmNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKQEAgLTYw
Nyw2ICs2MTAsMTEgQEAgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmMKICAgICBtX2dlbmVyYXRvclBy
b3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PmNvbnN0cnVjdG9yLCBtX2dlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLmdldCgpLCBEb250RW51
bSk7CiAgICAgbV9nZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbV9nZW5lcmF0b3JQcm90
b3R5cGUuZ2V0KCksIERvbnRFbnVtKTsKICAgICAKKyAgICBtX2FzeW5jRnVuY3Rpb25Qcm90b3R5
cGUuc2V0KHZtLCB0aGlzLCBBc3luY0Z1bmN0aW9uUHJvdG90eXBlOjpjcmVhdGUodm0sIEFzeW5j
RnVuY3Rpb25Qcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSkpKTsKKyAgICBBc3luY0Z1bmN0aW9uQ29uc3RydWN0b3IqIGFzeW5jRnVu
Y3Rpb25Db25zdHJ1Y3RvciA9IEFzeW5jRnVuY3Rpb25Db25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBB
c3luY0Z1bmN0aW9uQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgZnVuY3Rp
b25Db25zdHJ1Y3RvciksIG1fYXN5bmNGdW5jdGlvblByb3RvdHlwZS5nZXQoKSk7CisgICAgbV9h
c3luY0Z1bmN0aW9uUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0u
cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIGFzeW5jRnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9u
dEVudW0gfCBSZWFkT25seSk7CisgICAgbV9hc3luY0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgSlNBc3luY0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fYXN5bmNG
dW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworCiAgICAgbV9vYmplY3RQcm90b3R5cGUtPnB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rvciwg
b2JqZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5w
dXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0
b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2FycmF5UHJvdG90eXBl
LT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGY1NjcxMTYwZjJjZjhjMGMzNmNk
NTc4MzZiZTJjNDRiMGVmMzlkOWUuLmQwYzM4M2VlN2VhMzhhNzRiNzAwNWYyMDgwYTlkZjk1MzAz
ZTQ4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaApAQCAtNTcsNiArNTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQXJyYXlDb25z
dHJ1Y3RvcjsKIGNsYXNzIEFycmF5UHJvdG90eXBlOworY2xhc3MgQXN5bmNGdW5jdGlvblByb3Rv
dHlwZTsKIGNsYXNzIEJvb2xlYW5Qcm90b3R5cGU7CiBjbGFzcyBDb25zb2xlQ2xpZW50OwogY2xh
c3MgRGVidWdnZXI7CkBAIC0yNTcsNiArMjU4LDcgQEAgcHVibGljOgogICAgIFdyaXRlQmFycmll
cjxPYmplY3RQcm90b3R5cGU+IG1fb2JqZWN0UHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxG
dW5jdGlvblByb3RvdHlwZT4gbV9mdW5jdGlvblByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8
QXJyYXlQcm90b3R5cGU+IG1fYXJyYXlQcm90b3R5cGU7CisgICAgV3JpdGVCYXJyaWVyPEFzeW5j
RnVuY3Rpb25Qcm90b3R5cGU+IG1fYXN5bmNGdW5jdGlvblByb3RvdHlwZTsKICAgICBXcml0ZUJh
cnJpZXI8UmVnRXhwUHJvdG90eXBlPiBtX3JlZ0V4cFByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJp
ZXI8SXRlcmF0b3JQcm90b3R5cGU+IG1faXRlcmF0b3JQcm90b3R5cGU7CiAgICAgV3JpdGVCYXJy
aWVyPEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlPiBtX2dlbmVyYXRvckZ1bmN0aW9uUHJvdG90
eXBlOwpAQCAtMjk5LDYgKzMwMSw3IEBAIHB1YmxpYzoKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVO
YW1lU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwU3RydWN0
dXJlOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXN5bmNGdW5jdGlvblN0cnVjdHVy
ZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2dlbmVyYXRvckZ1bmN0aW9uU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZG9sbGFyVk1TdHJ1Y3R1cmU7CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9pdGVyYXRvclJlc3VsdE9iamVjdFN0cnVjdHVy
ZTsKQEAgLTUwNCw2ICs1MDcsNyBAQCBwdWJsaWM6CiAgICAgT2JqZWN0UHJvdG90eXBlKiBvYmpl
Y3RQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFByb3RvdHlwZS5nZXQoKTsgfQog
ICAgIEZ1bmN0aW9uUHJvdG90eXBlKiBmdW5jdGlvblByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCk7IH0KICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQ
cm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX2FycmF5UHJvdG90eXBlLmdldCgpOyB9CisgICAg
QXN5bmNGdW5jdGlvblByb3RvdHlwZSogYXN5bmNGdW5jdGlvblByb3RvdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fYXN5bmNGdW5jdGlvblByb3RvdHlwZS5nZXQoKTsgfQogICAgIEpTT2JqZWN0KiBi
b29sZWFuUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9ib29sZWFuT2JqZWN0U3RydWN0dXJl
LnByb3RvdHlwZSh0aGlzKTsgfQogICAgIFN0cmluZ1Byb3RvdHlwZSogc3RyaW5nUHJvdG90eXBl
KCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmdQcm90b3R5cGUuZ2V0KCk7IH0KICAgICBTeW1ib2xQ
cm90b3R5cGUqIHN5bWJvbFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3ltYm9sUHJvdG90
eXBlLmdldCgpOyB9CkBAIC01NzIsNiArNTc2LDcgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSog
cHJpdmF0ZU5hbWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGVOYW1lU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBtYXBTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX21hcFN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogcmVnRXhwU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9yZWdFeHBTdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1
cmUqIGFzeW5jRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2FzeW5jRnVuY3Rp
b25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGdlbmVyYXRvckZ1bmN0aW9uU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9nZW5lcmF0b3JGdW5jdGlvblN0cnVjdHVyZS5nZXQo
KTsgfQogICAgIFN0cnVjdHVyZSogc2V0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zZXRT
dHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3ODE2
NWU3MzFjMjFlZDk2NTBmYzE4MjFkNmRmMDM5NTFjYzFhNGQ4Li4zMWJmYTU3OTk4MmFkMDExMTE5
ZGIyNGEwNjBiNzMxZmUyZTM0MmYyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysg
Yi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA4LTMwICBDYWl0bGlu
IFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBh
cnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHN0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanM6IEFkZGVkLgor
CiAyMDE2LTA4LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtKU0NdIEltcHJvdmUgQXJpdGhBYnMgd2l0aCBwb2x5bW9ycGhpYyBpbnB1dApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0cy9z
dHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ZmQ1YWU5NjY1NWQzZDM4
OWM1ZTdkMDg0MTU0MzExOGIzOTMyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVz
cy9hc3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyNzYgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitm
dW5jdGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2Ny
aXB0KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAi
ICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAi
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQsIG1lc3NhZ2Up
IHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYg
KCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJyb3Ig
bm90IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworCisgICAg
aWYgKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3IpICE9PSBtZXNz
YWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJv
cikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9CisKKyhmdW5j
dGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0
U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2ApOwor
ICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoKSB7
IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9
PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyB4
ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMgZnVuY3Rpb24g
YXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3lu
YyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsg
YXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0
U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAwKCkgeyBhd2Fp
dCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9
IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBm
b28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkg
eyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0
ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7
IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdh
aXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1
bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10o
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgo
YCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7IGF3
YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBh
c3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIDAoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3lu
Y0ZuID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNl
IHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0g
YXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlv
biogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rp
b24gdGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRleHREYXRhID0g
WworICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7ICIsIHN1ZmZp
eDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyRnVuY0V4
cHIgPSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7
ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIg
PSBjbGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljIG91
dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRlclN0YXRpY0dl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xh
c3Mgb3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNz
IHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRlclN0YXRpY0dl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFy
IG91dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9
IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIgPSBhc3luYyBm
dW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBv
dXRlckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRlckFzeW5jTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0
ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0g
Y2xhc3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZm
aXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgYXN5
bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsg
cHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5j
TWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAgdmFyIHRlc3RE
YXRhID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAg
IGBsZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0IGFzeW5jID0g
MTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9IHJldHVybiBh
c3luYygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsgcmV0dXJuIGFz
eW5jKCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJu
IGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7
IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3
YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9
YCwKKyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7
IH1gLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJu
IGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQpIHsgcmV0dXJu
IGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2YXIgYXdhaXQg
PSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoYXdh
aXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9uIGF3YWl0KCkg
e30pYCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0RGF0YSkgewor
ICAgICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAgICBsZXQgc2Ny
aXB0ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7CisgICAgICAgICAg
ICB0ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmlj
dCI7ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAgfQorfSkoKTsKKworCisoZnVuY3Rpb24g
dGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0ID0gJ3Rl
c3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7
IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+
ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBNZXRob2REZWZp
bml0aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0cmljdGlvbnMK
KyAgICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9i
amVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJv
cihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWAp
OworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRo
b2QnKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFz
eW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRo
b2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIGFzeW5j
R2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJu
IHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9IGF3YWl0IDEp
ID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKHgg
PSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxk
ID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRv
cigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93
Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0g
eWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBhc3lu
YyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMge307
IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBz
dGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2
YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtgKTsKKworICAg
IC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChh
c3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZv
bzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzkgKCkgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
Wydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2Zv
bzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOCdd
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMWAp
OworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOworICAgIHRlc3RT
eW50YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhF
cnJvcigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFz
eW5jYGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZv
bzI4YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZv
bzMxYC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBz
dGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAgICAg
ICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdFRv
cExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
ICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0Jzsg
fTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsn
bWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFz
eW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24qIGFz
eW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0
b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2
YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
KHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYyh4ID0gYXdh
aXQgMSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIg
YXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNB
cnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJy
b3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBl
eHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNz
IEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMo
eCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1
ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlv
biBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkg
eyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFz
eW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZvbzEyID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEzICgp
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9v
MTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNb
J2ZvbzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yMmAgPT4gMSkn
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIzYCBmb28y
NCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9v
MjVgICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3lu
Y2Bmb28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0
IjsgKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJv
cignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7CisKKyAgICAv
LyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMgdGhhdCBtYXkg
aGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZv
bzMzID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRo
b2QnKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsg
J29kJ10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJndW1lbnRzKSB7
fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFz
eW5jIG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287442</attachid>
            <date>2016-08-30 15:38:00 -0700</date>
            <delta_ts>2016-08-30 16:02:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161409-20160830183548.patch</filename>
            <type>text/plain</type>
            <size>111742</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODA5YmU2NDBiNWM3ZWE5MTBiYzRjMmU1OTc0YzkwZWZiY2FkMGNmLi44MDJiYTk5MGI0MzJjNWUx
MDM0YzU3OTFjNmQ0ZjRlYjU3NTE4NzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NyBAQAorMjAxNi0wOC0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAgICAg
ICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAgKiBw
YXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBc3lu
Y0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL0tleXdvcmRzLnRhYmxlOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVu
Y3Rpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMpOgorICAg
ICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3Rl
ZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpT
Y29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFyc2VNb2RlKToK
KyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNj
b3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc01v
ZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpT
Y29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJ
c0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJl
c3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JD
bGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6
U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3NpYmxlUGF0dGVybik6
IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6CisgICAgICAgIChKU0M6
Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVuY3Rpb25QYXJzZU1v
ZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAo
SlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5
bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rp
b25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJzZU1vZGUpOgorICAg
ICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzUHJvZ3JhbVBh
cnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUpOgor
ICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBc3luY0Z1bmN0
aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUZ1bmN0aW9uRXhw
cik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorCiAy
MDE2LTA4LTMwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRy
b2R1Y2UgdGhlIFRocm93U2NvcGUgYW5kIGZvcmNlIGV2ZXJ5IHRocm93IHNpdGUgdG8gaW5zdGFu
dGlhdGUgYSBUaHJvd1Njb3BlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKaW5kZXggMDU0ZDYz
ZGY1OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uZjAyOGQ0ODgwYzk1NzI2ODZkMzgy
YzUzOWFkZDVhNzY4Y2QzMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCkBAIC04OSw2
ICs4OSw3IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgLCBtX3R5cGVQcm9maWxpbmdF
bmRPZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9kZS0+c291cmNlKCkubGVuZ3Ro
KCkgLSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5wYXJhbWV0ZXJDb3VudCgpKQog
ICAgICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJzZU1vZGUobm9kZS0+cGFyc2VN
b2RlKCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0
KCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0
aW5GdW5jdGlvbihraW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKQpAQCAtOTgsNyArOTks
NiBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV9jb21tZW50TW9kZShzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQogICAgICwgbV9zdXBlckJpbmRpbmcoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSkKICAgICAsIG1fZGVyaXZlZENv
bnRleHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKQotICAg
ICwgbV9zb3VyY2VQYXJzZU1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9k
ZSgpKSkKICAgICAsIG1fbmFtZShub2RlLT5pZGVudCgpKQogICAgICwgbV9lY21hTmFtZShub2Rl
LT5lY21hTmFtZSgpKQogICAgICwgbV9pbmZlcnJlZE5hbWUobm9kZS0+aW5mZXJyZWROYW1lKCkp
CkBAIC0xMTIsNyArMTEyLDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICBBU1NFUlQo
bV9jb21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKTsKICAg
ICBBU1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1
cGVyQmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENvbnRleHRUeXBlID09IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsKLSAgICBBU1NFUlQobV9zb3Vy
Y2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7
CiAKICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAocGFyZW50U2NvcGVURFpWYXJp
YWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAxZTNjYmFmZmVjMjg4N2M3OTYw
N2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi44OWFhYjhhYmY3MTcxZThkNDk4Y2I1YWMzMTg3NDJkYzcz
MDU3MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMTU1LDYgKzE1NSw3IEBAIHByaXZh
dGU6CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0OwogICAgIHVuc2lnbmVk
IG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7CisgICAgU291
cmNlUGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVuc2lnbmVkIG1faXNJblN0cmlj
dENvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMgOiAxOwog
ICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwpAQCAtMTY0LDcgKzE2NSw2IEBA
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8gSlNQYXJzZXJDb21t
ZW50TW9kZQogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKICAgICB1bnNpZ25lZCBt
X2Rlcml2ZWRDb250ZXh0VHlwZTogMjsKLSAgICB1bnNpZ25lZCBtX3NvdXJjZVBhcnNlTW9kZSA6
IDQ7IC8vIFNvdXJjZVBhcnNlTW9kZQogCiAgICAgV3JpdGVCYXJyaWVyPFVubGlua2VkRnVuY3Rp
b25Db2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDYWxsOwogICAgIFdyaXRlQmFycmll
cjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ29uc3Ry
dWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCA3MmQyNzhiYzlmMzg5YzI1OThhYTJmNDYzYjFhNWJh
MDg3ZWI5NDAzLi40OTVhY2JhYjFlZmMyZTI5N2EwNDMxMTM0NzA1NzVkNjNiMzk0N2YwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcApAQCAtMjk3NSwxNyArMjk3NSwxNCBAQCBSZWdpc3RlcklEKiBCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1
bmNFeAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rp
b25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5jRXhwck5vZGUqIGZ1bmMpCiB7
Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpOworICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5w
YXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlIHx8IGZ1bmMt
Pm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1
bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CiAKIFJlZ2lzdGVySUQqIEJ5dGVj
b2RlR2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbihSZWdpc3RlcklEKiBkc3QsIE1l
dGhvZERlZmluaXRpb25Ob2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgp
LT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNl
UGFyc2VNb2RlOjpHZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNl
TW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5t
ZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUpOwor
ICAgIEFTU0VSVChpc01ldGhvZFBhcnNlTW9kZShmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUo
KSkpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRh
ZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3
MDAxLi5lNTFhYTg1ZDJkMjYwZTA4NTA5N2EzYmRjYzkzZWNiYjFjMGIyNWJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzgyLDYgKzM4MiwxNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5v
ZGUqIGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAg
ICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5j
dGlvbkluZm8uc3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbigpID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbklu
Zm8uZW5kT2Zmc2V0LCBmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1l
dGVyc1N0YXJ0Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3
IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFt
ZSwgZnVuY3Rpb25JbmZvLmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8u
Ym9keS0+c2V0TG9jKGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5l
LCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1
bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNz
aW9uTm9kZSogY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5m
bykKICAgICB7CiAgICAgICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1f
cGFyc2VyQXJlbmEpIE1ldGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZv
Lm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
S2V5d29yZHMudGFibGUKaW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkx
ZWQyYS4uMmY3ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0
cnVlCQlUUlVFVE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAg
ICAgICBBV0FJVAogYnJlYWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCAyNjE3NDVhMTkwMzE3ZGU3NTkx
MmUzYTkyM2ZhOWYyODg3NDg2M2Q2Li40NDQyODgyNWI2MzVlN2Y4MzU4NzNkZjk2NGEwZDQ3YWQ4
Mzk5ZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2
ICs3NCw4IEBACiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQg
d29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAo
bV90b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFp
bCgiQ2Fubm90IHVzZSB0aGUga2V5d29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZB
X0FSR1NfXyk7IFwKKyAgICBpZiAoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4p
KSBcCisgICAgICAgIHNlbWFudGljRmFpbCgiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZB
X0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdo
aWxlICgwKQogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3Ry
aW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxl
ZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBzY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAg
ICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNv
bmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6
OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNl
OworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BF
TkJSQUNFKTsKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAg
ICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAg
IGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAg
ICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2Rl
IHx8IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAgICAg
IG1fcGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVuY3Rp
b25JbmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9wYXJh
bWV0ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBmdW5j
dGlvbkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAob25lT2ZTb3Vy
Y2VQYXJzZU1vZGVzPFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZT4ocGFyc2VNb2RlKSAmJiAhaGFzRXJyb3Io
KSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUgYW4gZXJyb3Ig
d2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4KICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAgICAgICAgIG5l
eHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAg
U291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAvLyBUaGUgb25s
eSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBhIGZ1bmN0aW9u
IGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJyb3IoKSkgewot
ICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgIGlmIChp
c0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKGNvbnRleHQs
IHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNrRm9yU3RyaWN0
TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQog
ICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHBy
ZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNlIGlmIChpc01v
ZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBw
YXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudHMg
PSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JT
dHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVt
ZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsK
LSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291cmNlRWxlbWVu
dHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tG
b3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNlRWxlbWVudHMg
PSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CiAgICAg
fQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAgLTMxMCw3ICsz
MTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRp
ZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYgZW50cnkgOiBj
YXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtWYXJpYWJsZUFz
Q2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAob25lT2ZTb3VyY2VQYXJz
ZU1vZGVzPFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZT4ocGFy
c2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpIHsK
ICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+cHJvcGVydHlO
YW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250ZXh0LnByb3BhZ2F0ZUFy
Z3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBAIHZvaWQgUGFyc2VyPExl
eGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRz
LCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0gICAgYm9vbCBpc09wZW5Q
YXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50ID0gbWF0Y2goSURFTlQp
OwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Ci0gICAgU2F2ZVBv
aW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKLSAgICAgICAg
Ci0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpc0Fycm93RnVu
Y3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2UgewotICAgICAgICBSRUxF
QVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNl
OwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAgICAgICAgIG5leHQoKTsK
ICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwpAQCAt
MzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9u
UGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtZXRlcnNDb3VudCA9IDA7
CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoc3lu
dGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCksIHBh
cmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBtYXRjaChBUlJPV0ZVTkNU
SU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9wU2NvcGUoZmFrZVNjb3Bl
LCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAgICAgICAgIH0KKyAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0
dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAgIHJldHVybiBpc0Fycm93
RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CisgICAgICAgIFNh
dmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZV
TkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CkBAIC01NDAsNiArNTM5
LDUxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50
cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIGJvb2wgaXNBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQoreworICAg
IEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpOworICAg
IGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisK
KyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBK
U1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgdW5zaWduZWQgc3Rh
cnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0g
bV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJhbWV0ZXJzKGNvbnRleHQs
IGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZzZXQgPSBwYXJhbWV0ZXJz
U3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLnBhcmFt
ZXRlckNvdW50ID0gNDsgLy8gZ2VuZXJhdG9yLCBzdGF0ZSwgdmFsdWUsIHJlc3VtZSBtb2RlCisg
ICAgU291cmNlUGFyc2VNb2RlIGlubmVyUGFyc2VNb2RlID0gcGFyc2VNb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICA/IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUKKyAgICAgICAgOiBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZTsKKyAgICB7CisgICAgICAgIEF1dG9Qb3BTY29wZVJlZiBh
c3luY0Z1bmN0aW9uQm9keVNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICAgICAgYXN5bmNG
dW5jdGlvbkJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKKyAg
ICAgICAgU3ludGF4Q2hlY2tlciBhc3luY0Z1bmN0aW9uQ29udGV4dChjb25zdF9jYXN0PFZNKj4o
bV92bSksIG1fbGV4ZXIuZ2V0KCkpOworICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24pCisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJzZUFycm93RnVuY3Rpb25TaW5n
bGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGFzeW5jRnVuY3Rpb25Db250ZXh0KSwgIkNh
bm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhc3luYyBhcnJvdyBmdW5jdGlvbiIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGFzeW5jRnVu
Y3Rpb25Db250ZXh0LCBtb2RlKSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhc3luYyBmdW5j
dGlvbiIpOworICAgICAgICBwb3BTY29wZShhc3luY0Z1bmN0aW9uQm9keVNjb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICB9CisgICAgaW5mby5ib2R5ID0gY29u
dGV4dC5jcmVhdGVGdW5jdGlvbk1ldGFkYXRhKHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24o
KSwgc3RhcnRDb2x1bW4sIHRva2VuQ29sdW1uKCksIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5j
dGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIENvbnN0cnVjdG9y
S2luZDo6Tm9uZSwgbV9zdXBlckJpbmRpbmcsIGluZm8ucGFyYW1ldGVyQ291bnQsIGlubmVyUGFy
c2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbik7CisKKyAgICBpbmZvLmVuZExp
bmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLmVuZE9mZnNldCA9IGlzQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uID8gdG9rZW5Mb2NhdGlvbigpLmVuZE9mZnNldCA6IG1fdG9rZW4ubV9kYXRh
Lm9mZnNldDsKKyAgICBpbmZvLnBhcmFtZXRlcnNTdGFydENvbHVtbiA9IHN0YXJ0Q29sdW1uOwor
CisgICAgYXV0byBmdW5jdGlvbkV4cHIgPSBjb250ZXh0LmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5
KHN0YXJ0TG9jYXRpb24sIGluZm8sIGlubmVyUGFyc2VNb2RlKTsKKyAgICBhdXRvIHN0YXRlbWVu
dCA9IGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChzdGFydExvY2F0aW9uLCBmdW5jdGlvbkV4
cHIsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOworICAgIGNvbnRleHQuYXBw
ZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBzdGF0ZW1lbnQpOworCisgICAgcmV0dXJuIHNv
dXJjZUVsZW1lbnRzOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKIHsKICAg
ICAvLyBUaGUgZ3JhbW1hciBpcyBkb2N1bWVudGVkIGhlcmU6CkBAIC01NjIsNyArNjA2LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAgICAgIC8vIEZvciBleGFtcGxlLCB1bmRl
ciBhIGdlbmVyYXRvciBjb250ZXh0LCBtYXRjaFNwZWNJZGVudGlmaWVyKCkgZm9yICJ5aWVsZCIg
cmV0dXJucyBgZmFsc2VgLgogICAgICAgICAgICAgLy8gQnV0IHdlIHdvdWxkIGxpa2UgdG8gZW50
ZXIgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uIGFuZCByYWlzZSBhbiBlcnJvciB1bmRlciB0aGUg
Y29udGV4dCBvZiBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24KICAgICAgICAgICAgIC8vIHRvIHJh
aXNlIGNvbnNpc3RlbnQgZXJyb3JzIGJldHdlZW4gInZhciIsICJjb25zdCIgYW5kICJsZXQiLgot
ICAgICAgICAgICAgaWYgKCEobWF0Y2goSURFTlQpIHx8IG1hdGNoKExFVCkgfHwgbWF0Y2goWUlF
TEQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQorICAgICAg
ICAgICAgaWYgKCEobWF0Y2goSURFTlQpIHx8IG1hdGNoKExFVCkgfHwgbWF0Y2goWUlFTEQpIHx8
IG1hdGNoKEFXQUlUKSkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VU
KSkKICAgICAgICAgICAgICAgICBzaG91bGRQYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gPSBmYWxz
ZTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICAgICAgfQpA
QCAtNTgyLDYgKzYyNiwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICByZXN1
bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgSURFTlQ6CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDEl
IHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGlmIChVTkxJ
S0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMp
KSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBjb3Vs
ZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAg
ICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikg
JiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBBV0FJ
VDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBjb252ZW5pZW50IHBs
YWNlIHRvIG5vdGljZSBsYWJlbGVkIHN0YXRlbWVudHMKICAgICAgICAgLy8gKGV2ZW4gdGhvdWdo
IHdlIGFsc28gcGFyc2UgdGhlbSBhcyBub3JtYWwgc3RhdGVtZW50cykKQEAgLTY5MCw2ICs3NDgs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVjbAogICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRp
ZmllcigpKSB7CiAgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0
aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9u
VHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24pLCAKICAgICAgICAgICAg
ICAgICAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2Fs
RGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRl
Y2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKGRlY2xhcmF0aW9uVHlwZSksICIgIiwgZGlzYWxs
b3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9u
IHZhclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBKU1Rva2VuTG9j
YXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgaWRl
bnRTdGFydCA9IHZhclN0YXJ0OwpAQCAtMTAxMSw2ICsxMDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNsYXNzaWZ5RXhwcmVzc2lv
bkVycm9yKEVycm9ySW5kaWNhdGVzUGF0dGVybiwgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChpc0V2YWxPckFyZ3VtZW50
cywgIkNhbm5vdCBtb2RpZnkgJyIsIHByb3BlcnR5TmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3Qg
bW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoaWRlbnRpZmllclRva2Vu
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxl
S2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsK
ICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0ZXJuID0gY3JlYXRlQmluZGluZ1BhdHRlcm4o
Y29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKnByb3BlcnR5TmFtZSwgaWRlbnRpZmllclRva2Vu
LCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRlbnRpZmllcik7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEwNzksNiArMTEzOSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFy
YW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQog
ICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tp
bmQ6OkRlc3RydWN0dXJlVG9MZXQgfHwga2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1
Y3R1cmVUb0NvbnN0KSwgIkNhbid0IHVzZSAnbGV0JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9y
IGEgTGV4aWNhbERlY2xhcmF0aW9uIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBh
ICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJpYWJsZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2Fs
bG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CiAgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVC
aW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEu
aWRlbnQsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAg
ICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKQEAgLTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICByZXN1bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFy
YXRpb24oY29udGV4dCwgRGVjbGFyYXRpb25UeXBlOjpWYXJEZWNsYXJhdGlvbik7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgRlVOQ1RJT046IHsKLSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkp
IHsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGlu
c2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7
Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgewotICAgICAg
ICAgICAgICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxv
Y2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MKLSAgICAgICAgICAgICAgICAvLyBpbiBh
biBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ug
d2lsbCBtYWdpY2FsbHkKLSAgICAgICAgICAgICAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYv
ZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgotICAgICAgICAgICAg
ICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgotICAgICAg
ICAgICAgICAgIC8vIGZ1bmN0aW9uIGEoKSB7Ci0gICAgICAgICAgICAgICAgLy8gICAgIGlmIChj
b25kKSBmdW5jdGlvbiBmb28oKSB7IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAg
ICAgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rp
b24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9v
KCkgeyB9IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgQXV0b1BvcFNj
b3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgICAgICAgICAgICAgIGJs
b2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29w
ZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOwotICAgICAgICAgICAgICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwotICAgICAgICAgICAgICAgIGludCBzdGFy
dCA9IHRva2VuTGluZSgpOwotCi0gICAgICAgICAgICAgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlv
biA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKLSAgICAgICAgICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOwotICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAi
RXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3RhdGVtZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29y
ZCIpOwotICAgICAgICAgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9
IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0
LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgZnVuY3Rpb24pOwotICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJj
ZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2Nv
cGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VG
dW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKLSAgICAgICAgICAgICAgICBwb3BTY29wZShibG9ja1Nj
b3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMg
aWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAg
ICAgICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KLSAgICAgICAgICAgICAgICAvLyBG
SVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTgxMwotICAg
ICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7Ci0gICAgICAgICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rp
b24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2gg
c3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMg
PSBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0
YXRlbWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFNFTUlDT0xPTjogewpA
QCAtMTcxOSw2ICsxNzQ1LDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIC8v
IFRoZXNlIHRva2VucyBpbXBseSB0aGUgZW5kIG9mIGEgc2V0IG9mIHNvdXJjZSBlbGVtZW50cwog
ICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIElERU5UOgorICAgICAgICAvLyBGSVhNRTogVGhl
c2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5
LgorICAgICAgICBpZiAoVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9
IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYg
KG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAg
ICAgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICAgICAgcmVz
dWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMs
IHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50
KHNhdmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBB
V0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIGJvb2wgYWxsb3dGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQgPSBmYWxzZTsKICAgICAgICAgcmVzdWx0ID0gcGFyc2VFeHByZXNz
aW9uT3JMYWJlbFN0YXRlbWVudChjb250ZXh0LCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0
YXRlbWVudCk7CkBAIC0xNzQ0LDYgKzE3ODMsNTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRl
Y2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMsIGJv
b2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIHNl
bWFudGljRmFpbElmVHJ1ZShzdHJpY3RNb2RlKCksICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJl
IG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmlj
dCBtb2RlIik7CisgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlv
bkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5z
aWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsK
KyAgICBpZiAoIWN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAgLy8gV2Ug
b25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3Ro
ZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKKyAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZpb3IuCisg
ICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU1ODEzCisgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnRE
ZXB0aCk7CisgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICBpZiAoaXNBc3lu
YykKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKKyAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsK
KyAgICB9CisKKyAgICAvLyBBbnkgZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24ndCBpbiBh
IGJsb2NrIGlzIGEgc3ludGF4IGVycm9yIHVubGVzcyBpdCdzCisgICAgLy8gaW4gYW4gaWYvZWxz
ZSBzdGF0ZW1lbnQuIElmIGl0J3MgaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQsIHdlIHdpbGwgbWFn
aWNhbGx5CisgICAgLy8gdHJlYXQgaXQgYXMgaWYgdGhlIGlmL2Vsc2Ugc3RhdGVtZW50IGlzIGlu
c2lkZSBhIGJsb2NrIHN0YXRlbWVudC4KKyAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlrZSBhICJ2
YXIiLiBGb3IgZXhhbXBsZToKKyAgICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAgICBpZiAo
Y29uZCkgZnVuY3Rpb24gZm9vKCkgeyB9CisgICAgLy8gfQorICAgIC8vIHdpbGwgYmUgcmV3cml0
dGVuIGFzOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSB7IGZ1
bmN0aW9uIGZvbygpIHsgfSB9CisgICAgLy8gfQorICAgIEF1dG9Qb3BTY29wZVJlZiBibG9ja1Nj
b3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBibG9ja1Njb3BlLT5zZXRJc0xleGljYWxTY29w
ZSgpOworICAgIGJsb2NrU2NvcGUtPnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKKyAgICBKU1Rv
a2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBpbnQgc3RhcnQgPSB0
b2tlbkxpbmUoKTsKKworICAgIFRyZWVTdGF0ZW1lbnQgZnVuY3Rpb24gPSAwOworICAgIGlmICgh
aXNBc3luYykKKyAgICAgICAgZnVuY3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29u
dGV4dCk7CisgICAgZWxzZQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlQXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uKGNvbnRleHQpOworICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgZmFpbElmRmFs
c2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1
bmN0aW9uJyBrZXl3b3JkIik7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRz
ID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOworICAgIGNvbnRleHQuYXBwZW5kU3Rh
dGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7CisgICAgVHJlZVN0YXRlbWVudCByZXN1
bHQgPSBjb250ZXh0LmNyZWF0ZUJsb2NrU3RhdGVtZW50KGxvY2F0aW9uLCBzb3VyY2VFbGVtZW50
cywgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSwgY3VycmVudFNjb3BlKCktPmZp
bmFsaXplTGV4aWNhbEVudmlyb25tZW50KCksIGN1cnJlbnRTY29wZSgpLT50YWtlRnVuY3Rpb25E
ZWNsYXJhdGlvbnMoKSk7CisgICAgcG9wU2NvcGUoYmxvY2tTY29wZSwgVHJlZUJ1aWxkZXI6Ok5l
ZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBsaXN0LCB1bnNpZ25lZCYgcGFyYW1ldGVyQ291
bnQpCiB7CiAjZGVmaW5lIGZhaWxJZkR1cGxpY2F0ZUlmVmlvbGF0aW9uKCkgXApAQCAtMTc2NSw2
ICsxODUxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUIKICAgICAgICAgCiAgICAgICAgIGlm
IChtYXRjaChET1RET1RET1QpKSB7CiAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBz
ZW1hbnRpY0ZhaWxJZlRydWUoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCAmJiBtYXRjaChBV0FJ
VCksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIHBhcmFtZXRlciBuYW1lIGluIGFuIGFzeW5jIGZ1
bmN0aW9uIik7CiAgICAgICAgICAgICBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gZGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gPSBwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRleHQsIERlc3RydWN0
dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvUGFyYW1ldGVycywgRXhwb3J0VHlwZTo6Tm90RXhwb3J0
ZWQsICZkdXBsaWNhdGVQYXJhbWV0ZXIsICZoYXNEZXN0cnVjdHVyaW5nUGF0dGVybik7CiAgICAg
ICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcGFyYW1ldGVyID0gY29udGV4
dC5jcmVhdGVSZXN0UGFyYW1ldGVyKGRlc3RydWN0dXJpbmdQYXR0ZXJuLCBwYXJhbWV0ZXJDb3Vu
dCk7CkBAIC0xODI5LDYgKzE5MTYsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuICJnZW5lcmF0
b3IgZnVuY3Rpb24iOwogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9k
ZToKICAgICAgICAgcmV0dXJuICJhcnJvdyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgZnVuY3Rpb24iOworICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgIHJldHVybiAi
YXN5bmMgbWV0aG9kIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uQm9keU1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bk1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgYXJyb3cgZnVuY3Rpb24iOwogICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
TW9kdWxlQW5hbHl6ZU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1
YXRlTW9kZToKQEAgLTE4NDEsMTIgKzE5MzYsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyLCBjbGFzcyBGdW5jdGlv
bkluZm9UeXBlPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6Rm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIFNvdXJjZVBhcnNlTW9kZSBtb2RlLCBGdW5jdGlvbkluZm9UeXBlJiBmdW5jdGlvbkluZm8p
CiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQobW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1N
b2RlICYmIG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSAmJiBtb2Rl
ICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKTsKKyAgICBSRUxFQVNFX0FT
U0VSVCghKG9uZU9mU291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1v
ZHVsZUV2YWx1YXRlTW9kZT4obW9kZSkpKTsKICAgICBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBw
YXJhbWV0ZXJMaXN0ID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCk7CiAgICAg
U2V0Rm9yU2NvcGU8RnVuY3Rpb25QYXJzZVBoYXNlPiBmdW5jdGlvblBhcnNlUGhhc2VQb2lzb25l
cihtX3BhcnNlclN0YXRlLmZ1bmN0aW9uUGFyc2VQaGFzZSwgRnVuY3Rpb25QYXJzZVBoYXNlOjpQ
YXJhbWV0ZXJzKTsKICAgICAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93
RnVuY3Rpb25Nb2RlKSB7Ci0gICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVO
UEFSRU4pKSB7CisgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNl
UGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Nb2RlPihtb2RlKSkpKSB7CisgICAgICAgIGlmICghbWF0Y2hTcGVjSWRlbnRpZmll
cigpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVE
dWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAg
ICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQg
cGFyYW1ldGVyIik7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0xOTM3LDcgKzIwMzIsOSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgU2NvcGVSZWYgcGFyZW50U2NvcGUgPSBjdXJyZW50
U2NvcGUoKTsKIAotICAgIGJvb2wgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gY3VycmVudFNjb3Bl
KCktPmlzR2VuZXJhdG9yKCk7CisgICAgYm9vbCBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFt
ZSA9IGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKTsKKyAgICBjb25zdCBjaGFy
KiBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbiA9IGlzRGlzYWxsb3dlZEF3YWl0
RnVuY3Rpb25OYW1lID8gZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpIDogbnVsbHB0
cjsKKwogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgp
KTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUobW9kZSk7CiAgICAgZnVu
Y3Rpb25TY29wZS0+c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmcoZXhwZWN0ZWRTdXBlckJpbmRpbmcp
OwpAQCAtMTk3OSw3ICsyMDc2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAg
ICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1
bmN0aW9uQm9keVR5cGU7Ci0gICAgICAgICAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJj
ZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlPihtb2RlKSkpKQogICAgICAgICAgICAgICAg
IGZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAg
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRh
cmRGdW5jdGlvbkJvZHlCbG9jazsKQEAgLTIwMjIsNyArMjExOSw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAKICAgICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNrZXIoY29uc3RfY2FzdDxW
TSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtFTFkoKG9uZU9mU291cmNl
UGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU+KG1vZGUpKSkpIHsKICAgICAgICAgc3RhcnRM
b2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKICAgICAgICAgZnVuY3Rpb25JbmZvLnN0YXJ0TGlu
ZSA9IHRva2VuTGluZSgpOwogICAgICAgICBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBA
IC0yMDM3LDcgKzIxMzQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB7CiAg
ICAgICAgICAgICAvLyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVycyB3aXRoIFsrWWllbGRdIHBhcmFt
ZXRlcml6YXRpb24sIGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4cHJlc3Npb25zCiAgICAgICAgICAg
ICAvLyBpbiBBcnJvd0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBFUzYgI3NlYy1hcnJvdy1mdW5jdGlv
bi1kZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycy4KLSAgICAgICAgICAg
IFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1
bmN0aW9uU2NvcGUsIHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7CisgICAgICAgICAgICBTY29wZTo6
TWF5YmVQYXJzZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5jdGlvblNj
b3BlLCBwYXJlbnRTY29wZS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgICAgICBTZXRGb3JTY29w
ZTxib29sPiBvdmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNB
c3luY0Z1bmN0aW9uUGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25Q
YXJhbWV0ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAgICAgICAgICAg
ICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICB9CkBAIC0yMDY5LDIxICsyMTY3LDI4IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIC8vIEdlbmVyYXRvckV4cHJlc3Npb24gOgog
ICAgICAgICAvLyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVsZF1vcHQgKCBG
b3JtYWxQYXJhbWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAgICAgIC8vCi0g
ICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5aWVs
ZCIgZXZlbiBpbiB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCi0gICAgICAgIGlmIChmdW5jdGlv
bkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYg
bW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAg
IHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICAvLyBUaGUgbmFtZSBvZiBG
dW5jdGlvbkV4cHJlc3Npb24gYW5kIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQg
InlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KKyAgICAgICAgYm9vbCB1
cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgaWYgKCEoZnVuY3Rpb25EZWZp
bml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIG9uZU9m
U291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZT4obW9kZSkpKQorICAgICAgICAgICAgdXBw
ZXJTY29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29wZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAg
ICAgICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1l
ZCkgewogICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBG
dW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldo
ZW4gc3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8g
aW5pdGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRo
ZSBjYWxsZXIgc2lkZS4iKTsKICAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVw
cGVyU2NvcGVJc0dlbmVyYXRvcikpIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFt
ZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUu
bGFzdEZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSW5mby5uYW1lOworICAgICAgICAgICAgICAgIGlm
IChVTkxJS0VMWShpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAg
ICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0
aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQ
YXJzZU1vZGUobW9kZSksICJDYW5ub3QgZGVjbGFyZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIs
IGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uKTsKKyAgICAgICAgICAgICAgICBl
bHNlIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFX
QUlUKSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6
OkV4cHJlc3Npb24pCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRl
Y2xhcmUgYXN5bmMgZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyIpOwogICAgICAgICAgICAgICAgIG5l
eHQoKTsKICAgICAgICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAg
ICAgICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFy
ZUNhbGxlZShmdW5jdGlvbkluZm8ubmFtZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0
cmljdE1vZGUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFs
aWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUi
KTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJl
cXVpcmVtZW50czo6TmFtZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVO
KSAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAg
ICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZl
IGEgbmFtZSIpOworICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAg
ICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBu
YW1lIik7CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1l
bnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIik7CiAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjEwMSw4ICsyMjA2LDExIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0
ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0
ZUVycm9yKCk7CisgICAgICAgIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJy
aWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25Q
YXJzZU1vZGUobW9kZSkpOworICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3lu
dGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVy
cm9yKCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFD
RSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CiAgICAgICAgIApAQCAtMjE0OSw5ICsyMjU3
LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBzeW50YXhDaGVja2VyLCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIGNvbnN0cnVjdG9yS2luZCwgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5
cGUsIGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJDb3VudCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlm
IChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkg
eworICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0
aW9uTW9kZSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAg
ICAgIEF1dG9Qb3BTY29wZVJlZiBnZW5lcmF0b3JCb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkp
OwotICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsKKyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlu
bmVyUGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAg
ICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAg
ICAgIGlubmVyUGFyc2VNb2RlID0gbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbk1vZGUKKyAgICAgICAgICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uQm9keU1vZGUKKyAgICAgICAgICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbkJvZHlNb2RlOworICAgICAgICB9CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29w
ZS0+c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9y
Qm9keVNjb3BlLT5zZXRDb25zdHJ1Y3RvcktpbmQoQ29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAg
ICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3Rl
ZFN1cGVyQmluZGluZyk7CiAKQEAgLTIxNzAsNyArMjI4NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkCiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4
ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUo
KSAmJiByZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7
CiAgICAgICAgIEFTU0VSVChmdW5jdGlvbkluZm8ubmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNT
RVJUKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9
PSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JC
b2R5TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0
aW9uTW9kZSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8
U291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TWV0
aG9kTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlPihtb2RlKSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZSht
b2RlKSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
cmd1bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5p
bXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
ICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlz
IG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0y
Mjg1LDYgKzIzOTksNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVCht
YXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgp
OworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0
aW9uSW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWly
ZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFy
YXRpb25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnRE
ZWZhdWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQs
IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUu
CisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAg
Ly8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFi
bGVEZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgor
ICAgICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERl
ZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/
RGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQs
ID9EZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlv
bltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAg
ICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsg
RnVuY3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJh
dG9yRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgor
ICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRl
cnNbK1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIElu
IHRoaXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRp
b24ncyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVu
dHM6Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBw
YXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3RO
ZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5p
dGlvblR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlv
biIpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24g
c3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRp
b25SZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5j
dGlvbihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xh
cmF0aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVl
SWZTdHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0
cmljdE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVu
Y3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVj
bGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xh
cmF0aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBk
ZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9m
dW5jdGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkg
eworICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5u
YW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0
aW9uSW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5l
eHBvcnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRl
bWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBm
dW5jdGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAg
ZnVuY3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1
bmN0aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29u
dGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4p
KTsKQEAgLTI0MDEsOCArMjU2OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAg
ICBib29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsK
ICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNN
ZXRob2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAg
aXNHZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZU1ldGhvZDoKICAgICAgICAgc3dpdGNoIChtX3Rv
a2VuLm1fdHlwZSkgewogICAgICAgICBuYW1lZEtleXdvcmQ6CiAgICAgICAgIGNhc2UgU1RSSU5H
OgpAQCAtMjQxMSwxMiArMjU4MiwxNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAg
ICAgICAgbmV4dCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSURFTlQ6Cisg
ICAgICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgICAgICBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICAgICAgQVNTRVJUKGlkZW50KTsKICAgICAgICAgICAgIG5leHQoKTsKLSAg
ICAgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgp
IHx8IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRjaChJTlRFR0VSKSB8fCBt
YXRjaChPUEVOQlJBQ0tFVCkpKSB7CisgICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFp
c0FzeW5jTWV0aG9kICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJ
TkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNL
RVQpKSkgewogICAgICAgICAgICAgICAgIGlzR2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFt
ZXMuZ2V0OwogICAgICAgICAgICAgICAgIGlzU2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFt
ZXMuc2V0OworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBc3luY01ldGhvZCAmJiAq
aWRlbnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgIGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRE9VQkxFOgpAQCAtMjQ0
OCw3ICsyNjI0LDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87CiAgICAgICAgICAgICBib29s
IGlzQ29uc3RydWN0b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYgKmlkZW50ID09IHByb3BlcnR5TmFt
ZXMuY29uc3RydWN0b3I7CiAgICAgICAgICAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0g
U291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOwotICAgICAgICAgICAgaWYgKGlzR2VuZXJhdG9y
KSB7CisgICAgICAgICAgICBpZiAoaXNBc3luY01ldGhvZCkgeworICAgICAgICAgICAgICAgIGlz
Q29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwYXJzZU1vZGUgPSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBk
ZWNsYXJlIGFuIGFzeW5jIG1ldGhvZCBuYW1lZCAncHJvdG90eXBlJyIpOworICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29u
c3RydWN0b3IsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ2NvbnN0cnVj
dG9yJyIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVyYXRvcikgewogICAgICAgICAg
ICAgICAgIGlzQ29uc3RydWN0b3IgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBwYXJzZU1vZGUg
PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU7CiAgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhIGdlbmVyYXRvciBuYW1lZCAncHJvdG90eXBl
JyIpOwpAQCAtMjUzMSw2ICsyNzEyLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMCiAgICAg
ICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KGxvY2F0aW9uLCBleHByZXNzaW9uLCBzdGFy
dCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKICAgICAgICAgfQorICAgICAgICAvLyBG
SVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxv
YWQganF1ZXJ5LgorICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tl
biksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXRSZWFzb24oKSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQ
b3NpdGlvbigpOwogICAgICAgICBuZXh0KCk7CkBAIC0yNzI3LDcgKzI5MTIsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZp
ZXIgUGFyc2VyPExleGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3
b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9y
dGVkIGJpbmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZh
aWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhw
ZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAg
ICAgIGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NDksNyArMjkzNCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNw
ZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdv
cmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3Ig
dGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hT
cGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0
IGRlY2xhcmF0aW9uIik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAg
ICAgICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAg
IG5leHQoKTsKQEAgLTI3NjAsNyArMjk0NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAg
ICAgY2FzZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8v
IEltcG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAg
ICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVu
dGlmaWVyKCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxv
Y2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAm
bV92bS0+cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzY5LDYgKzI5NTQsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBv
cnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0Zh
aWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdh
aXQnIGFzIGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1
ZShsb2NhbE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBr
ZXl3b3JkIGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0
TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xh
cmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3Bl
Y2lmaWVyVHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1w
b3J0ZWROYW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBp
ZiAoZGVjbGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0y
Nzk5LDcgKzI5ODUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJv
b2wgaXNGaW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQp
KSB7CisgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRl
ZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1
dG8gc3BlY2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNp
ZmllclR5cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjkwOSw2ICszMDk1LDE2IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VFeHBvcnREZWNsYXJhCiAgICAgICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICAg
ICAgYm9vbCBpc0Z1bmN0aW9uT3JDbGFzc0RlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGxvY2FsTmFtZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgaXNBc3lu
Y0Z1bmN0aW9uRXhwb3J0ID0gZmFsc2U7CisKKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29u
dGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAg
ICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAg
bmV4dCgpOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9s
ZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpCisgICAgICAgICAgICAgICAgaXNBc3luY0Z1bmN0aW9u
RXhwb3J0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KIAogICAgICAgICBib29sIHN0YXJ0c1dp
dGhGdW5jdGlvbiA9IG1hdGNoKEZVTkNUSU9OKTsKICAgICAgICAgaWYgKHN0YXJ0c1dpdGhGdW5j
dGlvbiB8fCBtYXRjaChDTEFTU1RPS0VOKSkgewpAQCAtMjkzMyw2ICszMTI5LDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVu
dERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERl
cHRoID0gMTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENv
bnRleHQ6OkV4cG9ydERlZmF1bHQpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0FzeW5jRnVu
Y3Rpb25FeHBvcnQpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsK
KyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4
cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnRE
ZWZhdWx0KTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKG1h
dGNoKENMQVNTVE9LRU4pKTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUNsYXNzRGVj
bGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVm
YXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwpAQCAtMjk0Nyw2ICszMTQ4LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBJbiB0aGUg
YWJvdmUgZXhhbXBsZSwgKmRlZmF1bHQqIGlzIHRoZSBpbnZpc2libGUgdmFyaWFibGUgdG8gdGhl
IHVzZXJzLgogICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSBwcml2YXRlIHN5bWJvbCB0byByZXBy
ZXNlbnQgdGhlIG5hbWUgb2YgdGhpcyB2YXJpYWJsZS4KKyAgICAgICAgICAgIEV4cHJlc3Npb25F
cnJvckNsYXNzaWZpZXIgY2xhc3NpZmllcih0aGlzKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRp
b24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNz
aW9uIGV4cHJlc3Npb24gPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAt
MzA0NCw3ICszMjQ2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgY2FzZSBG
VU5DVElPTjogewogICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0
YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwotICAgICAg
ICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5
cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJh
dGlvbihjb250ZXh0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTMwNTMs
OSArMzI1NSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgYnJlYWs7
CiAKICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKKyAgICAgICAgICAg
ICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRjaChG
VU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVuY3Rp
b24nIGtleXdvcmQgZm9sbG93aW5nICdhc3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGluZyBs
aW5lIHRlcm1pbmF0b3IiKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3Nh
Z2UoIkV4cGVjdGVkIGVpdGhlciBhIGRlY2xhcmF0aW9uIG9yIGEgdmFyaWFibGUgc3RhdGVtZW50
Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCiAgICAgICAgIGZhaWxJZkZhbHNl
KHJlc3VsdCwgIkNhbm5vdCBwYXJzZSB0aGUgZGVjbGFyYXRpb24iKTsKICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRXhwb3J0TG9jYWxEZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwgcmVz
dWx0KTsKICAgICB9CkBAIC0zMTE3LDM0ICszMzI2LDQ2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdu
bWVuCiAgICAgQVNTRVJUKCFoYXNFcnJvcigpKTsKICAgICAKICAgICBmYWlsSWZTdGFja092ZXJm
bG93KCk7CisKKyAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCisgICAgICAgIHJldHVybiBwYXJzZVlpZWxk
RXhwcmVzc2lvbihjb250ZXh0KTsKKwogICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CiAgICAgaW50IGluaXRpYWxBc3NpZ25tZW50Q291bnQgPSBtX3BhcnNlclN0YXRlLmFz
c2lnbm1lbnRDb3VudDsKICAgICBpbnQgaW5pdGlhbE5vbkxIU0NvdW50ID0gbV9wYXJzZXJTdGF0
ZS5ub25MSFNDb3VudDsKICAgICBib29sIG1heWJlQXNzaWdubWVudFBhdHRlcm4gPSBtYXRjaChP
UEVOQlJBQ0UpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKTsKICAgICBib29sIHdhc09wZW5QYXJlbiA9
IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc1ZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0g
bWF0Y2goT1BFTlBBUkVOKSB8fCBtYXRjaChJREVOVCk7CisgICAgLy8gRG8gbm90IHVzZSBtYXRj
aFNwZWNJZGVudGlmaWVyKCkgaGVyZSBzaW5jZSBpdCBpcyBzbG93ZXIgdGhhbiBpc0lkZW50aWZp
ZXJPcktleXdvcmQuCisgICAgLy8gV2hldGhlciBzcGVjIGlkZW50aWZpZXIgaXMgd2lsbCBiZSB2
YWxpZGF0ZWQgYnkgaXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpLgorICAgIGJvb2wgd2FzSWRl
bnRpZmllck9yS2V5d29yZCA9IGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKTsKKyAgICBi
b29sIG1heWJlVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSB3YXNPcGVuUGFyZW4gfHwgd2FzSWRl
bnRpZmllck9yS2V5d29yZDsKICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBv
aW50KCk7CiAgICAgc2l6ZV90IHVzZWRWYXJpYWJsZXNTaXplID0gMDsKLSAgICBpZiAod2FzT3Bl
blBhcmVuKSB7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNz
aW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgIGlmICh3YXNPcGVuUGFyZW4gfHwg
KHdhc0lkZW50aWZpZXJPcktleXdvcmQgJiYgVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKICAgICAgICAgdXNlZFZhcmlhYmxl
c1NpemUgPSBjdXJyZW50U2NvcGUoKS0+Y3VycmVudFVzZWRWYXJpYWJsZXNTaXplKCk7CiAgICAg
ICAgIGN1cnJlbnRTY29wZSgpLT5wdXNoVXNlZFZhcmlhYmxlU2V0KCk7CiAgICAgfQogCi0gICAg
aWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCkt
PmlzR2VuZXJhdG9yKCkpKQotICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24oY29u
dGV4dCk7Ci0KICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVz
c2lvbihjb250ZXh0KTsKIAotICAgIGlmIChpc1ZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFt
YXRjaChFT0ZUT0spKSB7CisgICAgaWYgKG1heWJlVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgJiYg
IW1hdGNoKEVPRlRPSykpIHsKICAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Ub2tlbiA9IG1h
dGNoKEFSUk9XRlVOQ1RJT04pOwogICAgICAgICBpZiAoIWxocyB8fCBpc0Fycm93RnVuY3Rpb25U
b2tlbikgewogICAgICAgICAgICAgU2F2ZVBvaW50V2l0aEVycm9yIGVycm9yUmVzdG9yYXRpb25T
YXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnRGb3JFcnJvcigpOwogICAgICAgICAgICAgcmVzdG9y
ZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgYm9vbCBpc0FzeW5jQXJyb3cgPSBm
YWxzZTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShjbGFzc2lmaWVyLmluZGljYXRlc1Bvc3Np
YmxlQXN5bmNBcnJvd0Z1bmN0aW9uKCkpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNo
Q29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKTsKKyAgICAgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgaXNBc3luY0Fycm93ID0gIW1fbGV4ZXIt
PnByZXZUZXJtaW5hdG9yKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoaXNBcnJv
d0Z1bmN0aW9uUGFyYW1ldGVycygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJl
bikKKyAgICAgICAgICAgICAgICBpZiAod2FzT3BlblBhcmVuIHx8IGlzQXN5bmNBcnJvdykKICAg
ICAgICAgICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnJldmVydFRvUHJldmlvdXNVc2VkVmFy
aWFibGVzKHVzZWRWYXJpYWJsZXNTaXplKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0LCBpc0FzeW5jQXJyb3cpOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludFdpdGhFcnJvcihlcnJvclJl
c3RvcmF0aW9uU2F2ZVBvaW50KTsKICAgICAgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Ub2tl
bikKQEAgLTMyNjgsNiArMzQ4OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVlpZWxkRXhwcmVzcwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgLy8gQXdhaXRFeHByZXNzaW9uIGRlc3VnYXJl
ZCB0byBZaWVsZEV4cHJlc3Npb24KKyAgICBBU1NFUlQobWF0Y2goQVdBSVQpKTsKKyAgICBBU1NF
UlQoY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbigpKTsKKyAgICBmYWlsSWZUcnVlKG1f
cGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlID09IEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFy
YW1ldGVycywgIkNhbm5vdCB1c2UgYXdhaXQgZXhwcmVzc2lvbiB3aXRoaW4gcGFyYW1ldGVycyIp
OworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpT
VGV4dFBvc2l0aW9uIGRpdm90U3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBuZXh0
KCk7CisgICAgSlNUZXh0UG9zaXRpb24gYXJndW1lbnRTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOworICAgIFRyZWVFeHByZXNzaW9uIGFyZ3VtZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Npb24o
Y29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoYXJndW1lbnQsICJGYWlsZWQgdG8gcGFyc2UgYXdh
aXQgZXhwcmVzc2lvbiIpOworICAgIGNvbnN0IGJvb2wgZGVsZWdhdGUgPSBmYWxzZTsKKyAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVZaWVsZChsb2NhdGlvbiwgYXJndW1lbnQsIGRlbGVnYXRlLCBk
aXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKK30KKwor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4MCwyMiArMzYxOCwyNiBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQgPSBmYWxzZTsKICAgICBib29sIGlzR2Vu
ZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNzUHJvcGVydHkgPSBmYWxzZTsKKyAgICBi
b29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAgICAg
ICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgorICAg
IGNhc2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKLSAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJ
ZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5n
ZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkpKQorICAgICAgICBpZiAo
Y29tcGxldGUgfHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0
IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpKQogICAgICAgICAgICAg
bmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdu
b3JlUmVzZXJ2ZWRXb3JkcyB8IFRyZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3Jkcyk7CiAKLSAg
ICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiBtYXRjaChDT0xPTikpIHsKKyAgICAgICAgaWYgKCFp
c0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiBtYXRjaChDT0xPTikpIHsKICAgICAgICAg
ICAgIG5leHQoKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2ln
bm1lbnRFeHByZXNzaW9uT3JQcm9wYWdhdGVFcnJvckNsYXNzKGNvbnRleHQpOwogICAgICAgICAg
ICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIGZvciBwcm9wZXJ0
eSBkZWNsYXJhdGlvbiIpOwpAQCAtMzQwNCwxMSArMzY0NiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eShUcmVlQgogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKLSAg
ICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVu
dCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5
TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAg
ICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUHJvcGVydHkoaWRlbnQsIG1ldGhvZCwgUHJvcGVydHlOb2RlOjpDb25zdGFudCwgUHJvcGVy
dHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0Ns
YXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3Is
ICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZh
aWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50
aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBmYWlsSWZGYWxzZSh3YXNJZGVu
dCwgIkV4cGVjdGVkIGFuIGlkZW50aWZpZXIgYXMgcHJvcGVydHkgbmFtZSIpOwogCkBAIC0zNDMw
LDcgKzM2NzIsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgICAgIHR5cGUg
PSBQcm9wZXJ0eU5vZGU6OkdldHRlcjsKICAgICAgICAgZWxzZSBpZiAoKmlkZW50ID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPnNldCkKICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6OlNl
dHRlcjsKLSAgICAgICAgZWxzZQorICAgICAgICBlbHNlIGlmIChVTkxJS0VMWSghaXNHZW5lcmF0
b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFz
eW5jKSkgeworICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAgICAgICBm
YWlsSWZUcnVlKG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCBhIHByb3BlcnR5
IG5hbWUgZm9sbG93aW5nIGtleXdvcmQgJ2FzeW5jJyIpOworICAgICAgICAgICAgZ290byBwYXJz
ZVByb3BlcnR5OworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgi
RXhwZWN0ZWQgYSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+aW1w
bCgpLCAiJyIpOwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwgY29t
cGxldGUsIHR5cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICB9CkBAIC0zNDQxLDExICszNjg3LDExIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsK
ICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gbV9wYXJzZXJBcmVuYS5pZGVu
dGlmaWVyQXJlbmEoKS5tYWtlTnVtZXJpY0lkZW50aWZpZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0p
LCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5
TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0byBt
ZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0b3Is
IGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KCZpZGVudCwgbWV0aG9kLCBQcm9wZXJ0
eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6OlVua25vd24sIGNvbXBsZXRlLCBTdXBlckJp
bmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBmYWls
SWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQg
bGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRob2Qs
ICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6JyBhZnRlciBwcm9wZXJ0eSBuYW1lIik7
CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9u
KGNvbnRleHQpOwpAQCAtMzQ2MCwxMSArMzcwNiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVl
QgogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFQlJBQ0tFVCwgIl0iLCAiZW5k
IiwgImNvbXB1dGVkIHByb3BlcnR5IG5hbWUiKTsKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBB
UkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNv
bnRleHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0b3Ip
OworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQs
ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0b3IsIGlzQXN5
bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSwgbWV0aG9kLCBzdGF0aWNf
Y2FzdDxQcm9wZXJ0eU5vZGU6OlR5cGU+KFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQgfCBQcm9wZXJ0
eU5vZGU6OkNvbXB1dGVkKSwgUHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUsIFN1
cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAg
IGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1
bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01l
dGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAg
ICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5h
bWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJl
c3Npb24oY29udGV4dCk7CkBAIC0zNDc5LDEzICszNzI1LDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KFRyZWVCCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVBy
b3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRo
b2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVl
QnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dl
bmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRo
b2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0g
dG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9k
SW5mbzsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwotICAgIFNvdXJjZVBhcnNl
TW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKKyAgICBT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNHZW5lcmF0b3IgPyBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgOiBpc0FzeW5jTWV0aG9kID8gU291cmNlUGFy
c2VNb2RlOjpBc3luY01ldGhvZE1vZGUgOiBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7CiAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJl
cXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIEZ1bmN0
aW9uRGVmaW5pdGlvblR5cGU6Ok1ldGhvZCkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7
CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihtZXRob2RMb2NhdGlv
biwgbWV0aG9kSW5mbyk7CiB9CkBAIC0zNzUxLDYgKzM5OTcsMjAgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkV4cHIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNT
RVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
ZnVuY3Rpb25JbmZvOworICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPm51bGxJZGVudGlmaWVyOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgcGFyc2VN
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uSW5mbywgRnVuY3Rpb25EZWZpbml0aW9u
VHlwZTo6RXhwcmVzc2lvbiksICJDYW5ub3QgcGFyc2UgYXN5bmMgZnVuY3Rpb24gZXhwcmVzc2lv
biIpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVu
Y3Rpb25JbmZvKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3RyaW5n
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCB0eXBlbmFtZSBMZXhlclR5cGU6OlJhd1N0cmluZ3NC
dWlsZE1vZGUgcmF3U3RyaW5nc0J1aWxkTW9kZSwgYm9vbCYgZWxlbWVudElzVGFpbCkKIHsKICAg
ICBpZiAoIWlzVGVtcGxhdGVIZWFkKSB7CkBAIC0zODM4LDEzICs0MDk4LDE3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlCiAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+c2V0SW5uZXJBcnJv
d0Z1bmN0aW9uVXNlc1RoaXMoKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlVGhpc0V4
cHIobG9jYXRpb24pOwogICAgIH0KKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6IHsK
ICAgICBpZGVudGlmaWVyRXhwcmVzc2lvbjoKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQg
PSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKFVOTElLRUxZ
KG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkKKyAgICAgICAgLy8gRklYTUU6IFRoZXNlIGJyYW5jaCBj
YXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2FkIGpxdWVyeS4KKyAgICAgICAg
aWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KSAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKQorICAgICAgICAgICAg
cmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGlm
IChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBj
dXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2
YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0SWRlbnRpZmllciA9IGlk
ZW50OwpAQCAtNDAyMSw2ICs0Mjg1LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAg
ICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAorICAgIGJvb2wgYmFz
ZUlzQXN5bmNLZXl3b3JkID0gZmFsc2U7CiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAg
IFNjb3BlUmVmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3Jk
aW5hcnlGdW5jdGlvbk5vbkxleGljYWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZh
bHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0
aW9uU2NvcGUtPmlzRXZhbENvbnRleHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3Bl
LT5leHBlY3RlZFN1cGVyQmluZGluZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVy
IGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKQEAgLTQwMzgsOCArNDMwMywyMCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShmdW5jdGlvblN1cGVyQmluZGluZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVy
IGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQotICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNl
SXNOZXdUYXJnZXQpIHsKKyAgICAgICAgLy8gRklYTUU6IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUg
cmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2FkIGpxdWVyeS4KKyAgICAgICAgY29uc3QgYm9v
bCBpc0FzeW5jID0gbWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
c3luYyk7CiAgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOwor
ICAgICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIp
OworICAgICAgICBpZiAoVU5MSUtFTFkoaXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2ZShiYXNl
KSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpIHsKKyAgICAgICAgICAgIGlmIChtYXRj
aFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBBc3luY0Fycm93RnVuY3Rp
b24KKyAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5k
aWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGJhc2VJc0FzeW5jS2V5d29yZCA9IHRydWU7CisgICAg
ICAgIH0KKyAgICB9CiAKICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOwogICAgIHdoaWxlICh0cnVlKSB7CkBAIC00MDc0LDYgKzQzNTEsOCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24o
KTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFyZ3VtZW50cyA9IHBhcnNlQXJndW1l
bnRzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShiYXNlSXNBc3luY0tl
eXdvcmQgJiYgKCFhcmd1bWVudHMgfHwgbWF0Y2goQVJST1dGVU5DVElPTikpKSkKKyAgICAgICAg
ICAgICAgICAgICAgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvckluZGljYXRlc0Fz
eW5jQXJyb3dGdW5jdGlvbik7CiAgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoYXJndW1lbnRz
LCAiQ2Fubm90IHBhcnNlIGNhbGwgYXJndW1lbnRzIik7CiAgICAgICAgICAgICAgICAgaWYgKGJh
c2VJc1N1cGVyKSB7CiAgICAgICAgICAgICAgICAgICAgIFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUg
PSBjdXJyZW50RnVuY3Rpb25TY29wZSgpOwpAQCAtNDEzMiw3ICs0NDExLDcgQEAgZW5kTWVtYmVy
RXhwcmVzc2lvbjoKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlz
QXN5bmMpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOwogCkBAIC00MTQwLDcgKzQ0
MTksOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3RpbwogICAgIGxvY2F0aW9uID0gdG9rZW5Mb2Nh
dGlvbigpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBp
bmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgZmFp
bElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVt
ZW50czo6VW5uYW1lZCwgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgdHJ1ZSwg
Q29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24pKSwg
IkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisKKyAgICBTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlID0gaXNBc3luYyA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU7CisgICAg
ZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVp
cmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKIAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFycm93RnVu
Y3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKIH0KQEAgLTQxODQsNiArNDQ2NSwxMSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAgIGJvb2wgbW9kaWZpZXNFeHByID0gZmFsc2U7CiAgICAg
Ym9vbCByZXF1aXJlc0xFeHByID0gZmFsc2U7CiAgICAgdW5zaWduZWQgbGFzdE9wZXJhdG9yID0g
MDsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4g
b2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSAm
JiBjdXJyZW50RnVuY3Rpb25TY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKSkKKyAg
ICAgICAgcmV0dXJuIHBhcnNlQXdhaXRFeHByZXNzaW9uKGNvbnRleHQpOworCiAgICAgd2hpbGUg
KGlzVW5hcnlPcChtX3Rva2VuLm1fdHlwZSkpIHsKICAgICAgICAgaWYgKHN0cmljdE1vZGUoKSkg
ewogICAgICAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewpAQCAtNDM2NSw2ICs0NjUx
LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdm9pZCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KFcKICAgICAgICAgb3V0LnByaW50KCJJbnZhbGlk
IHByaXZhdGUgbmFtZSAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIElERU5UOgogICAgICAgICBvdXQu
cHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRpZmllciAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNTBlMTM5
MWI1ZmQwM2RkNWU3NzhiOGZkYjU5MjNhYTc5OGFlZDEyMy4uMThiZTczMWE0YmRkYjFkNDkwNjQ0
MGY4OGVlY2MxMzNlNTgyMTE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CkBAIC0xMzUsNyArMTM1LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY29wZSk7CiAKIHB1YmxpYzoKLSAgICBTY29wZShjb25zdCBWTSogdm0sIGJvb2wgaXNG
dW5jdGlvbiwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBib29sIGlzQXJyb3dG
dW5jdGlvbikKKyAgICBTY29wZShjb25zdCBWTSogdm0sIGJvb2wgaXNGdW5jdGlvbiwgYm9vbCBp
c0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbiwgYm9vbCBp
c0FzeW5jRnVuY3Rpb24pCiAgICAgICAgIDogbV92bSh2bSkKICAgICAgICAgLCBtX3NoYWRvd3NB
cmd1bWVudHMoZmFsc2UpCiAgICAgICAgICwgbV91c2VzRXZhbChmYWxzZSkKQEAgLTE1MCw2ICsx
NTAsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KGZhbHNlKQog
ICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uKGlzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBt
X2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0
aW9uKGlzQXN5bmNGdW5jdGlvbikKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5
KGZhbHNlKQogICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUoZmFsc2UpCiAgICAgICAgICwgbV9p
c0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCiAgICAgICAgICwgbV9pc1ZhbGlkU3RyaWN0TW9kZSh0
cnVlKQpAQCAtMTgxLDYgKzE4Myw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lzR2VuZXJhdG9y
Qm91bmRhcnkob3RoZXIubV9pc0dlbmVyYXRvckJvdW5kYXJ5KQogICAgICAgICAsIG1faXNBcnJv
d0Z1bmN0aW9uKG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1faXNBcnJvd0Z1
bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeSkKKyAgICAgICAg
LCBtX2lzQXN5bmNGdW5jdGlvbihvdGhlci5tX2lzQXN5bmNGdW5jdGlvbikKKyAgICAgICAgLCBt
X2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkp
CiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShvdGhlci5tX2lzTGV4aWNhbFNjb3BlKQogICAg
ICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNGdW5jdGlvbkJvdW5kYXJ5KQog
ICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUob3RoZXIubV9pc1ZhbGlkU3RyaWN0TW9kZSkK
QEAgLTIzOCw2ICsyNDIsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U291cmNlUGFyc2VNb2Rl
KFNvdXJjZVBhcnNlTW9kZSBtb2RlKQogICAgIHsKICAgICAgICAgc3dpdGNoIChtb2RlKSB7Cisg
ICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZToK
KyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpOworICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5
TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpOworICAgICAg
ICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJv
ZHlNb2RlOgogICAgICAgICAgICAgc2V0SXNHZW5lcmF0b3IoKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMjU3LDYgKzI2OSwxNSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBzZXRJc0Fycm93RnVu
Y3Rpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNGdW5jdGlvbigpOworICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbk1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpOworICAg
ICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1N
b2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6CiAg
ICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0yNjgs
NiArMjg5LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNGdW5jdGlvbkJvdW5kYXJ5KCkgY29uc3Qg
eyByZXR1cm4gbV9pc0Z1bmN0aW9uQm91bmRhcnk7IH0KICAgICBib29sIGlzR2VuZXJhdG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvcjsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3JCb3Vu
ZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3JCb3VuZGFyeTsgfQorICAgIGJvb2wg
aXNBc3luY0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0FzeW5jRnVuY3Rpb247IH0KKyAg
ICBib29sIGlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0FzeW5j
RnVuY3Rpb25Cb3VuZGFyeTsgfQogCiAgICAgYm9vbCBoYXNBcmd1bWVudHMoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0FyZ3VtZW50czsgfQogCkBAIC0yOTEsNiArMzE0LDExIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIG1fbGV4aWNhbFZhcmlhYmxlczsKICAgICB9CiAKKyAgICBib29sIGlzTW9k
dWxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2
b2lkIGNvbXB1dGVMZXhpY2FsbHlDYXB0dXJlZFZhcmlhYmxlc0FuZFB1cmdlQ2FuZGlkYXRlcygp
CiAgICAgewogICAgICAgICAvLyBCZWNhdXNlIHZhcmlhYmxlcyBtYXkgYmUgZGVmaW5lZCBhdCBh
bnkgdGltZSBpbiB0aGUgcmFuZ2Ugb2YgYSBsZXhpY2FsIHNjb3BlLCB3ZSBtdXN0CkBAIC03MTAs
NiArNzM4LDM0IEBAIHByaXZhdGU6CiAgICAgICAgIG1faXNBcnJvd0Z1bmN0aW9uID0gdHJ1ZTsK
ICAgICB9CiAKKyAgICB2b2lkIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIHNldElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRy
dWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgc2V0SXNGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb25Cb2R5KCkKKyAgICB7CisgICAgICAg
IHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9oYXNBcmd1bWVudHMgPSBmYWxzZTsKKyAgICAg
ICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9o
YXNBcmd1bWVudHMgPSBmYWxzZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOwor
ICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisKICAgICBj
b25zdCBWTSogbV92bTsKICAgICBib29sIG1fc2hhZG93c0FyZ3VtZW50czsKICAgICBib29sIG1f
dXNlc0V2YWw7CkBAIC03MjQsNiArNzgwLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNHZW5l
cmF0b3JCb3VuZGFyeTsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uOwogICAgIGJvb2wgbV9p
c0Fycm93RnVuY3Rpb25Cb3VuZGFyeTsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9uOworICAg
IGJvb2wgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29sIG1faXNMZXhpY2FsU2Nv
cGU7CiAgICAgYm9vbCBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29sIG1faXNWYWxpZFN0
cmljdE1vZGU7CkBAIC04ODYsOCArOTQ0LDkgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgZW51
bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7Ci0gICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGluZywK
LSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuCisgICAgICAgIEVycm9ySW5kaWNhdGVzTm90
aGluZyA9IDAsCisgICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybiwKKyAgICAgICAgRXJyb3JJ
bmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24KICAgICB9OwogCiAgICAgc3RydWN0IEV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXIgewpAQCAtOTExLDYgKzk3MCwxMSBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOwogICAgICAgICB9CiAKKyAgICAgICAgdm9p
ZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNz
aWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmljYXRp
b247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3Io
RXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNs
YXNzIGNsYXNzaWZpY2F0aW9uKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAobV9jbGFzcyAh
PSBvbGRDbGFzc2lmaWNhdGlvbikKQEAgLTkyMCwxMSArOTg0LDEyIEBAIHByaXZhdGU6CiAKICAg
ICAgICAgdm9pZCBwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcygpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChtX3ByZXZpb3VzICYmIG1fY2xhc3MgIT0gRXJyb3JJbmRpY2F0ZXNOb3Ro
aW5nKQorICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMpCiAgICAgICAgICAgICAgICAgbV9wcmV2
aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7CiAgICAgICAgIH0KIAogICAgICAgICBib29sIGluZGlj
YXRlc1Bvc3NpYmxlUGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0gRXJyb3JJbmRp
Y2F0ZXNQYXR0ZXJuOyB9CisgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93
RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzQXN5bmNB
cnJvd0Z1bmN0aW9uOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBFeHByZXNzaW9uRXJyb3JD
bGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYgKzEwMDMsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Y2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xh
c3NpZmljYXRpb24pOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBmb3JjZUNsYXNz
aWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQor
ICAgIHsKKyAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikKKyAgICAgICAg
ICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25F
cnJvcihjbGFzc2lmaWNhdGlvbik7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHJl
Y2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmlj
YXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAgIHsKICAgICAg
ICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikKQEAgLTk1OSw2ICsxMDMwLDE5IEBA
IHByaXZhdGU6CiAgICAgICAgIHJldHVybiBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVU
b1ZhcmlhYmxlczsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IGNoYXIqIGRlY2xh
cmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKERlY2xhcmF0aW9uVHlwZSB0eXBlKQorICAgIHsKKyAg
ICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpWYXJE
ZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAidmFyaWFibGUgbmFtZSI7CisgICAgICAg
IGNhc2UgRGVjbGFyYXRpb25UeXBlOjpMZXREZWNsYXJhdGlvbjoKKyAgICAgICAgY2FzZSBEZWNs
YXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb246CisgICAgICAgICAgICByZXR1cm4gImxleGlj
YWwgdmFyaWFibGUgbmFtZSI7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuICJpbnZhbGlkIjsKKyAgICB9CisKICAgICBBTFdB
WVNfSU5MSU5FIEFzc2lnbm1lbnRDb250ZXh0IGFzc2lnbm1lbnRDb250ZXh0RnJvbURlY2xhcmF0
aW9uVHlwZShEZWNsYXJhdGlvblR5cGUgdHlwZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodHlw
ZSkgewpAQCAtOTcxLDYgKzEwNTUsMTIgQEAgcHJpdmF0ZToKIAogICAgIEFMV0FZU19JTkxJTkUg
Ym9vbCBpc0V2YWxPckFyZ3VtZW50cyhjb25zdCBJZGVudGlmaWVyKiBpZGVudCkgeyByZXR1cm4g
aXNFdmFsT3JBcmd1bWVudHNJZGVudGlmaWVyKG1fdm0sIGlkZW50KTsgfQogCisgICAgU2NvcGVS
ZWYgdXBwZXJTY29wZShpbnQgbikKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3Njb3BlU3RhY2su
c2l6ZSgpID49IHNpemVfdCgxICsgbikpOworICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2Nv
cGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEgLSBuKTsKKyAgICB9CisKICAgICBTY29w
ZVJlZiBjdXJyZW50U2NvcGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Nj
b3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXplKCkgLSAxKTsKQEAgLTEwMjcsMTMgKzExMTcsMTUg
QEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc1N0cmljdCA9IGZhbHNlOwogICAgICAgICBib29s
IGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFs
c2U7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmICgh
bV9zY29wZVN0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaXNTdHJpY3QgPSBtX3Njb3Bl
U3RhY2subGFzdCgpLnN0cmljdE1vZGUoKTsKICAgICAgICAgICAgIGlzRnVuY3Rpb24gPSBtX3Nj
b3BlU3RhY2subGFzdCgpLmlzRnVuY3Rpb24oKTsKICAgICAgICAgICAgIGlzR2VuZXJhdG9yID0g
bV9zY29wZVN0YWNrLmxhc3QoKS5pc0dlbmVyYXRvcigpOwogICAgICAgICAgICAgaXNBcnJvd0Z1
bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAg
ICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNBc3luY0Z1bmN0aW9u
KCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZCht
X3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbik7
CisgICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlv
biwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24sIGlzQXN5bmNGdW5jdGlv
bik7CiAgICAgICAgIHJldHVybiBjdXJyZW50U2NvcGUoKTsKICAgICB9CiAKQEAgLTEzNDYsMjEg
KzE0MzgsMjQgQEAgcHJpdmF0ZToKICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9y
Zy9lY21hLTI2Mi82LjAvI3NlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtc3RhdGlj
LXNlbWFudGljcy1lYXJseS1lcnJvcnMKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVj
SWRlbnRpZmllcihib29sIGluR2VuZXJhdG9yKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdGNo
KElERU5UKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChp
bkdlbmVyYXRvcik7CisgICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0Y2goQVdBSVQp
IHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJh
dG9yKTsKICAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmll
cigpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2hTcGVjSWRlbnRpZmllcihjdXJyZW50U2Nv
cGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0
Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5U
KGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRz
KFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXN5bmNGdW5j
dGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlUGFyc2VNb2RlLCBib29sIGlz
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudExp
c3RJdGVtKFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElk
ZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0g
MCk7CiAgICAgZW51bSBjbGFzcyBFeHBvcnRUeXBlIHsgRXhwb3J0ZWQsIE5vdEV4cG9ydGVkIH07
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xh
c3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RF
eHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENv
bnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlw
ZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0g
RGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rp
b25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxk
ZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVm
YXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlwZSA9IEV4
cG9ydFR5cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlV2hpbGVTdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ4Miw3IEBAIHByaXZhdGU6CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9u
IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmlu
YXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5RXhwcmVzc2lvbihU
cmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZU1lbWJl
ckV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihU
cmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVpbGRlciYpOwpAQCAt
MTM5NCwxNyArMTQ5MCwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0T2JqZWN0TGl0ZXJh
bChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9u
IHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3VtZW50cyBwYXJzZUFy
Z3VtZW50cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRyZWVCdWlsZGVyJiwg
QXJndW1lbnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJv
cGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKLSAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRo
b2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJv
b2wgaXNHZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3Qg
SWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0
aG9kKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJz
ZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5
cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCwg
Ym9vbCBpc0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWls
ZGVyJiwgU3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlvbkJvZHlUeXBlLCB1
bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXIm
LCBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBlbnVtIFZhckRlY2xh
cmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0
IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMs
IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBs
YXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlv
biYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0
Q29udGV4dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBmb3JMb29wQ29uc3RE
b2VzTm90SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9k
eVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwgYm9vbCBpc0FzeW5j
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVz
dHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZXN0
cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYsIEpTVG9rZW4sIEFz
c2lnbm1lbnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllcik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3Ry
dWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiwgVHJl
ZUV4cHJlc3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURl
c3RydWN0dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVu
dGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRl
cm4sIEFzc2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpOwpAQCAtMTQ2
Miw2ICsxNTU5LDIxIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9lcnJvck1lc3NhZ2Uu
aXNOdWxsKCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQo
Y29uc3QgSlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICByZXR1cm4gdG9rZW4ubV90eXBl
ID09IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29wZSgp
LT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIHx8IGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgp
IHx8ICFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQpOworICAgIH0KKworICAgIGNvbnN0IGNoYXIq
IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKQorICAgIHsKKyAgICAgICAgaWYgKCFt
X3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlv
bkJvdW5kYXJ5KCkpCisgICAgICAgICAgICByZXR1cm4gImluIGFuIGFzeW5jIGZ1bmN0aW9uIjsK
KyAgICAgICAgaWYgKGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgpKQorICAgICAgICAgICAgcmV0
dXJuICJpbiBhIG1vZHVsZSI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGVudW0gY2xhc3MgRnVuY3Rp
b25QYXJzZVBoYXNlIHsgUGFyYW1ldGVycywgQm9keSB9OwogICAgIHN0cnVjdCBQYXJzZXJTdGF0
ZSB7CiAgICAgICAgIGludCBhc3NpZ25tZW50Q291bnQgeyAwIH07CkBAIC0xNDcwLDYgKzE1ODIs
NyBAQCBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblBhcnNlUGhhc2UgZnVuY3Rpb25QYXJzZVBo
YXNlIHsgRnVuY3Rpb25QYXJzZVBoYXNlOjpCb2R5IH07CiAgICAgICAgIGNvbnN0IElkZW50aWZp
ZXIqIGxhc3RJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBsYXN0RnVuY3Rpb25OYW1lIHsgbnVsbHB0ciB9OworICAgICAgICBib29sIGFsbG93QXdhaXQg
eyB0cnVlIH07CiAgICAgfTsKIAogICAgIC8vIElmIHlvdSdyZSB1c2luZyB0aGlzIGRpcmVjdGx5
LCB5b3UgcHJvYmFibHkgc2hvdWxkIGJlIHVzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJlYWE4ZGE0YmYyNzgzMzkzMWViNGJk
Y2Y4OWE0Ni4uMzJhY2ZmMTgyMmUzZjBlMWRjOTQ1Nzc2MWU1OTNkY2JmYTMzMWNkZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaApAQCAtMjcsNiArMjcsNyBA
QAogI2lmbmRlZiBQYXJzZXJNb2Rlc19oCiAjZGVmaW5lIFBhcnNlck1vZGVzX2gKIAorI2luY2x1
ZGUgIkNvbnN0cnVjdEFiaWxpdHkuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtNDMsODAgKzQ0LDExNyBAQCBlbnVtIERlYnVnZ2VyTW9kZSB7IERlYnVn
Z2VyT2ZmLCBEZWJ1Z2dlck9uIH07CiAKIGVudW0gY2xhc3MgRnVuY3Rpb25Nb2RlIHsgRnVuY3Rp
b25FeHByZXNzaW9uLCBGdW5jdGlvbkRlY2xhcmF0aW9uLCBNZXRob2REZWZpbml0aW9uIH07CiAK
LWVudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDhfdCB7Ci0gICAgTm9ybWFsRnVuY3Rp
b25Nb2RlLAotICAgIEdlbmVyYXRvckJvZHlNb2RlLAotICAgIEdlbmVyYXRvcldyYXBwZXJGdW5j
dGlvbk1vZGUsCi0gICAgR2V0dGVyTW9kZSwKLSAgICBTZXR0ZXJNb2RlLAotICAgIE1ldGhvZE1v
ZGUsCi0gICAgQXJyb3dGdW5jdGlvbk1vZGUsCi0gICAgUHJvZ3JhbU1vZGUsCi0gICAgTW9kdWxl
QW5hbHl6ZU1vZGUsCi0gICAgTW9kdWxlRXZhbHVhdGVNb2RlCitlbnVtIGNsYXNzIFNvdXJjZVBh
cnNlTW9kZSA6IHVpbnQxNl90IHsKKyAgICBOb3JtYWxGdW5jdGlvbk1vZGUgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMDAwMSwKKyAgICBHZW5lcmF0b3JCb2R5TW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMDAxMCwKKyAgICBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlICA9
IDBiMDAwMDAwMDAwMDAwMDEwMCwKKyAgICBHZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMTAwMCwKKyAgICBTZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAxMDAwMCwKKyAgICBNZXRob2RNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDEwMDAwMCwKKyAgICBBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMTAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uQm9keU1vZGUgICAgICAgICA9
IDBiMDAwMDAwMDAxMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAgICA9
IDBiMDAwMDAwMDEwMDAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMTAwMDAwMDAwMCwKKyAgICBBc3luY01ldGhvZE1vZGUgICAgICAgICAgICAgICA9
IDBiMDAwMDAxMDAwMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Nb2RlICAgICAgICA9
IDBiMDAwMDEwMDAwMDAwMDAwMCwKKyAgICBQcm9ncmFtTW9kZSAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMTAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVBbmFseXplTW9kZSAgICAgICAgICAgICA9
IDBiMDAxMDAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVFdmFsdWF0ZU1vZGUgICAgICAgICAgICA9
IDBiMDEwMDAwMDAwMDAwMDAwMCwKIH07CiAKLWlubGluZSBib29sIGlzRnVuY3Rpb25QYXJzZU1v
ZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3RlbXBsYXRlPFNvdXJjZVBhcnNlTW9kZSBt
b2RlLCBTb3VyY2VQYXJzZU1vZGUuLi4gcmVzdD4KK3N0cnVjdCBNZXJnZVNvdXJjZVBhcnNlTW9k
ZXMgeworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihtb2RlKSB8IE1lcmdlU291cmNlUGFyc2VNb2RlczxyZXN0Li4uPjo6dmFsdWU7Cit9Owor
Cit0ZW1wbGF0ZTxTb3VyY2VQYXJzZU1vZGUgbW9kZT4KK3N0cnVjdCBNZXJnZVNvdXJjZVBhcnNl
TW9kZXM8bW9kZT4geworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihtb2RlKTsKK307CisKK3RlbXBsYXRlPFNvdXJjZVBhcnNlTW9kZS4uLiBt
b2Rlcz4KK3N0YXRpYyBBTFdBWVNfSU5MSU5FIGJvb2wgb25lT2ZTb3VyY2VQYXJzZU1vZGVzKFNv
dXJjZVBhcnNlTW9kZSBtb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
dHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9k
dWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRl
TW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KG1vZGUpICYgTWVyZ2VTb3VyY2VQYXJzZU1vZGVzPG1vZGVzLi4uPjo6dmFsdWU7
CiB9CiAKLWlubGluZSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGUgcGFyc2VNb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
dHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJz
ZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkdldHRlck1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9k
ZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jRnVuY3Rpb25Cb2R5TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0
aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsCisgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKIH0K
IAotaW5saW5lIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUpCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0g
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1
bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVN
b2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBvbmVPZlNvdXJjZVBh
cnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2Rl
LAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJv
b2wgaXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZU19J
TkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUpCit7CisgICAgcmV0dXJuIG9uZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlz
QXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sK
KyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBi
b29sIGlzTWV0aG9kUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAg
cmV0dXJuIG9uZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpH
ZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Okdl
dHRlck1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzTW9k
dWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAgcmV0dXJuIG9u
ZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFs
eXplTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU+KHBh
cnNlTW9kZSk7Cit9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUoU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1v
ZGVzPFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZ
U19JTkxJTkUgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKKyAgICAgICAgcmV0dXJuIENvbnN0cnVjdEFi
aWxpdHk6OkNhbkNvbnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5u
b3RDb25zdHJ1Y3Q7CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShjb25z
dCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1ZDc2
M2FjZWY3OWM2OWNkMjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMwMjQx
YTUyZTY2MWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCkBAIC04Myw2ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9LRU4s
CiAgICAgRVhURU5EUywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0UgPSAw
LAogICAgIENMT1NFQlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCAxYzBkMThlZDg3MWE3MjE0ODBmZWE4MjEy
MDhhMjc3ZmEyZDgyNjg2Li4yODE4YmY3YmE0ZGUwZTI3MTU2NzUyZGQ2Y2MzYmZkM2EzNWU0MTEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAt
MTg0LDYgKzE4NCw3IEBAIHB1YmxpYzoKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGlu
dCkgeyByZXR1cm4gWWllbGRFeHByOyB9CiAgICAgQ2xhc3NFeHByZXNzaW9uIGNyZWF0ZUNsYXNz
RXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJDbGFzc0luZm88U3ludGF4
Q2hlY2tlcj4mLCBWYXJpYWJsZUVudmlyb25tZW50JiwgRXhwcmVzc2lvblR5cGUsIEV4cHJlc3Np
b25UeXBlLCBQcm9wZXJ0eUxpc3QsIFByb3BlcnR5TGlzdCkgeyByZXR1cm4gQ2xhc3NFeHByOyB9
CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJu
IEZ1bmN0aW9uRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5j
dGlvbk1ldGFkYXRhKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVy
QmluZGluZywgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCwgSW5uZXJBcnJvd0Z1bmN0
aW9uQ29kZUZlYXR1cmVzID0gTm9Jbm5lckFycm93RnVuY3Rpb25GZWF0dXJlcykgeyByZXR1cm4g
RnVuY3Rpb25Cb2R5UmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgRXhwcmVzc2lv
blR5cGUgY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4
cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBjYmMwZmY1NzExZjEuLjcz
ODlmOWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMTA5LDYgKzEw
OSw3IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8oYXMpIFwKICAgICBtYWNy
byhhc3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3JvKGJhY2spIFwKICAgICBt
YWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYgKzI3Miw3IEBACiAgICAg
bWFjcm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJTX0VBQ0hfS0VZV09S
RChtYWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8oYnJlYWspIFwKICAgICBt
YWNybyhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hh
bmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzgxNjVlNzMxYzIxZWQ5NjUwZmMxODIx
ZDZkZjAzOTUxY2MxYTRkOC4uZDIwYzczNmIwN2VlMTVmZDYyYmJhMWQyNmE2Nzk4N2I3NjkzNDky
MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxNi0wOC0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYx
NDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RTeW50YXgp
OgorICAgICAgICAodGVzdFN5bnRheEVycm9yKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5j
QXdhaXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAodGVzdFRvcExldmVs
QXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNB
d2FpdFN5bnRheFN0cmljdE1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5
bnRheFN0cmljdE1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2Fp
dFN5bnRheC5hc3luYyk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2FpdFN5bnRheC5mb28p
OgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVzdFN5
bnRheEVycm9yKToKKwogMjAxNi0wOC0yOSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFw
cGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbXByb3ZlIEFyaXRoQWJzIHdpdGggcG9seW1vcnBo
aWMgaW5wdXQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5q
cyBiL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2Zk
NWFlOTY2NTVkM2QzODljNWU3ZDA4NDE1NDMxMThiMzkzMjhhCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCkBAIC0wLDAgKzEsMjc2IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKworZnVuY3Rpb24gdGVzdFN5bnRheChzY3JpcHQpIHsKKyAgICB0cnkgeworICAg
ICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgaWYgKGVy
cm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiAr
IHNjcmlwdCArICJgIik7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0U3ludGF4RXJyb3Ioc2Ny
aXB0LCBtZXNzYWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAg
ICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7Cisg
ICAgfQorICAgIGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQg
c3ludGF4IGVycm9yIG5vdCB0aHJvd25cbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsg
ImAiKTsKKworICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gInN0cmluZyIgJiYgU3RyaW5nKGVy
cm9yKSAhPT0gbWVzc2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIg
KyBTdHJpbmcoZXJyb3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIp
OworfQorCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUo
KSB7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdh
aXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
IHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0Zu
ID0gYXN5bmMgKCkgPT4gYXdhaXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYGFz
eW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGB2
YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOwor
ICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07
YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10o
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgJ21l
dGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5
bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0g
YXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNG
biA9IGFzeW5jKHsgZm9vID0gMSB9ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGBm
dW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3ludGF4
KGBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOwor
CisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
KCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdhaXQg
J3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9
IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydt
ZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMg
bWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3Qi
OyBjbGFzcyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMg
eyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7CisgICAgdGVz
dFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9ID0g
e30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3Ry
aWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSko
KTsKKworKGZ1bmN0aW9uIHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4KCkgeworICAgIHZhciBj
b250ZXh0RGF0YSA9IFsKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiBvdXRlckZ1bmN0aW9u
KCkgeyAiLCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiogb3V0
ZXJHZW5lcmF0b3IoKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZh
ciBvdXRlckZ1bmNFeHByID0gZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJHZW5FeHByID0gZnVuY3Rpb24qKCkgeyAiLCBzdWZmaXg6
ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBvdXRlck1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyT2JqZWN0ID0geyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAor
ICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBvdXRlck1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3Mg
QyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyAq
b3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7
IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7ICpvdXRlckdl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xh
c3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyAq
b3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7
IHByZWZpeDogInZhciBvdXRlckFycm93ID0gKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiYXN5bmMgZnVuY3Rpb24gb3V0ZXJBc3luY0Z1bmN0aW9uKCkgeyAi
LCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Z1bmNF
eHByID0gYXN5bmMgZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBw
cmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Fycm93RnVuYyA9IGFzeW5jICgpID0+IHsgIiwgc3VmZml4
OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMg
b3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IGFzeW5jIG91dGVyQXN5bmNNZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01ldGhv
ZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0
ZXJDbGFzcyB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgYXN5bmMgb3V0
ZXJTdGF0aWNBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgXTsKKwor
ICAgIHZhciB0ZXN0RGF0YSA9IFsKKyAgICAgICAgYHZhciBhc3luYyA9IDE7IHJldHVybiBhc3lu
YztgLAorICAgICAgICBgbGV0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBj
b25zdCBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgZnVuY3Rpb24gYXN5bmMo
KSB7fSByZXR1cm4gYXN5bmMoKTtgLAorICAgICAgICBgdmFyIGFzeW5jID0gYXN5bmMgPT4gYXN5
bmM7IHJldHVybiBhc3luYygpO2AsCisgICAgICAgIGBmdW5jdGlvbiBmb28oKSB7IHZhciBhd2Fp
dCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiBmb28oYXdhaXQpIHsg
cmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oKSB7IHZhciBhd2FpdCA9
IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiogZm9vKGF3YWl0KSB7IHJl
dHVybiBhd2FpdDsgfWAsCisgICAgICAgIGB2YXIgZiA9ICgpID0+IHsgdmFyIGF3YWl0ID0gMTsg
cmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoKSB7IHZhciBhd2Fp
dCA9IDE7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9kKGF3
YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZCgp
IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0g
eyAqbWV0aG9kKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisKKyAgICAgICAgYChmdW5j
dGlvbiBhd2FpdCgpIHt9KWAsCisgICAgXTsKKworICAgIGZvciAobGV0IGNvbnRleHQgb2YgY29u
dGV4dERhdGEpIHsKKyAgICAgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0RGF0YSkgeworICAgICAg
ICAgICAgbGV0IHNjcmlwdCA9IGNvbnRleHQucHJlZml4ICsgdGVzdCArIGNvbnRleHQuc3VmZml4
OworICAgICAgICAgICAgdGVzdFN5bnRheChzY3JpcHQpOworICAgICAgICAgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyAke3NjcmlwdH1gKTsKKyAgICAgICAgfQorICAgIH0KK30pKCk7CisK
KworKGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgewor
ICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgp
IHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZh
ciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0g
YXN5bmMgKCkgPT4geyB2YXIgYXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRo
TmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5
bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5j
dGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICAvLyBGSVhN
RTogTWV0aG9kRGVmaW5pdGlvbnMgZG8gbm90IGFwcGx5IFN0cmljdEZvcm1hbFBhcmFtZXRlcnMg
cmVzdHJpY3Rpb25zCisgICAgLy8gICAgICAgIGluIHNsb3BweSBtb2RlIChodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA4KQorICAgIC8vdGVzdFN5bnRheEVycm9y
KGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgLy90
ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCdd
KGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0g
eyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZh
ciBvdXRlck9iamVjdCA9IHsgYXN5bmMgMChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7fWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhv
ZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgKmFzeW5j
R2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0g
eyBhc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVy
biB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2Fp
dCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5j
KHggPSBhd2FpdCAxKSA9PiB4O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFz
eW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiog
b3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4gMTsg
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2
YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBj
bGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90
eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIg
ZXh0ZW5kcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgp
KCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5
bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
Yy5mb285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luY1snZm9vMTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5
bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2Zv
bzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28y
MSddICgpID0+IDFgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yMmAgPT4gMSki
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yM2AgZm9vMjQgPT4gMSkiKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yNWAgKCkgPT4gMSkiKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoIihhc3luY2Bmb28yNmAuYmFyMjcgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoIihhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoIihhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSkiKTsKKworICAgIC8vIGFzc2VydCB0aGF0
IGVycm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5
bmMgZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiBhc3luYygpIHt9Cisg
ICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworfSkoKTsKKworKGZ1
bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
IGF3YWl0KCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIgYXdh
aXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihhd2Fp
dCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0Jztg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGF3YWl0KSB7fWApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEs
IGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVy
T2JqZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsKKwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uKigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5j
IGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9
O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMg
KmFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyBmdW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJl
dHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0g
YXN5bmMoeCA9IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH0g
fTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0
ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVy
YXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7
IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3Rv
cigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7
fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJv
dG90eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFz
cyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30g
fWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMo
KSA9PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUg
RmVycmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAo
YXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb280
KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3lu
YyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vOSAoKSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28x
MSBmb28xMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5
bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTcnXSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMjEn
XSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNg
Zm9vMjJgID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3lu
Y2Bmb28yM2AgZm9vMjQgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0
IjsgKGFzeW5jYGZvbzI1YCAoKSA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBz
dHJpY3QiOyAoYXN5bmNgZm9vMjZgLmJhcjI3ID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9y
KCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSknKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAx
KScpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNh
bGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAg
ICAgYXN5bmMoeyBmb28zMyA9IDEgfSlgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShl
dmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyAnbWV0aG9kJyhldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKGV2YWwpIHt9IH1gKTsKKworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGFyZ3VtZW50cykg
e30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5
bmMgWydtZXRoJyArICdvZCddKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoYXJndW1lbnRzKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAw
KGFyZ3VtZW50cykge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBPID0geyBhc3luYyBtZXRob2QoZHVwZSwgZHVwZSkge30gfWApOworfSkoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287444</attachid>
            <date>2016-08-30 16:02:54 -0700</date>
            <delta_ts>2016-09-07 15:15:20 -0700</delta_ts>
            <desc>Async Function Parsing v1</desc>
            <filename>bug-161409-20160830190042.patch</filename>
            <type>text/plain</type>
            <size>116178</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODA5YmU2NDBiNWM3ZWE5MTBiYzRjMmU1OTc0YzkwZWZiY2FkMGNmLi5iYTc5YTczYjU4NjM1NjAx
ZjU5M2U1YTkwNTAzMDRlNTVlNjdiZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzEgQEAKKzIwMTYtMDgtMzAgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnl0ZWNv
ZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICog
cGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5
bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAg
ICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1
bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKToKKyAg
ICAgICAgKEpTQzo6c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MpOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudCk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydENsYXVzZUl0ZW0pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlvbik6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0aW9uKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlc3Npb24p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwcmludFVuZXhwZWN0
ZWRUb2tlblRleHQpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6
U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJjZVBhcnNlTW9kZSk6
CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpT
Y29wZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNN
b2R1bGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb24pOgor
ICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6
U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0
SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNz
aW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpwcm9wYWdhdGVFeHBy
ZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9y
Q2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24pOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwdXNoU2NvcGUp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lkZW50aWZpZXIpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbik6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZVBhdHRlcm4p
OiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgorICAgICAgICAoSlND
OjpvbmVPZlNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1bmN0aW9uUGFyc2VN
b2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAg
KEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0Fz
eW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0
aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc1Byb2dyYW1Q
YXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKToK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICogcGFyc2VyL1N5bnRh
eENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXN5bmNGdW5j
dGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVGdW5jdGlvbkV4
cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKwor
MjAxNi0wOC0zMCAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZEZ1
bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAgICAgICogYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVp
bGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBc3luY0Z1bmN0aW9uQm9k
eSk6CisgICAgICAgICogcGFyc2VyL0tleXdvcmRzLnRhYmxlOgorICAgICAgICAqIHBhcnNlci9Q
YXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0
ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlv
blNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpz
dHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2VuVGV4dCk6
CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29wZTo6U2NvcGUp
OgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFyc2VNb2RlKToKKyAgICAgICAgKEpT
Qzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5j
RnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc01vZHVsZSk6CisgICAg
ICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNB
c3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNz
aWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNs
YXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpp
bmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnVw
cGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzR2Vu
ZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3NpYmxlUGF0dGVybik6IERlbGV0ZWQuCisg
ICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6CisgICAgICAgIChKU0M6Om9uZU9mU291cmNl
UGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5j
QXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNGdW5jdGlvbldy
YXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VN
b2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzUHJvZ3JhbVBhcnNlTW9kZSk6Cisg
ICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUpOgorICAgICAgICAqIHBh
cnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgor
ICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBc3luY0Z1bmN0aW9uQm9keSk6Cisg
ICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQu
CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorCiAyMDE2LTA4LTMwICBN
YXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgdGhlIFRo
cm93U2NvcGUgYW5kIGZvcmNlIGV2ZXJ5IHRocm93IHNpdGUgdG8gaW5zdGFudGlhdGUgYSBUaHJv
d1Njb3BlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKaW5kZXggMDU0ZDYzZGY1OWE3ODQ3NTVi
OWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uZjAyOGQ0ODgwYzk1NzI2ODZkMzgyYzUzOWFkZDVhNzY4
Y2QzMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCkBAIC04OSw2ICs4OSw3IEBAIFVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSog
dm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgLCBtX3R5cGVQcm9maWxpbmdFbmRPZmZzZXQobm9k
ZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9kZS0+c291cmNlKCkubGVuZ3RoKCkgLSAxKQogICAg
ICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5wYXJhbWV0ZXJDb3VudCgpKQogICAgICwgbV9mZWF0
dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJzZU1vZGUobm9kZS0+cGFyc2VNb2RlKCkpCiAgICAg
LCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0KCkpCiAgICAgLCBt
X2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihr
aW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKQpAQCAtOTgsNyArOTksNiBAQCBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV9jb21tZW50TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oY29tbWVudE1vZGUpKQogICAgICwgbV9zdXBlckJpbmRpbmcoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSkKICAgICAsIG1fZGVyaXZlZENvbnRleHRUeXBlKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKQotICAgICwgbV9zb3VyY2VQ
YXJzZU1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSkKICAgICAs
IG1fbmFtZShub2RlLT5pZGVudCgpKQogICAgICwgbV9lY21hTmFtZShub2RlLT5lY21hTmFtZSgp
KQogICAgICwgbV9pbmZlcnJlZE5hbWUobm9kZS0+aW5mZXJyZWROYW1lKCkpCkBAIC0xMTIsNyAr
MTEyLDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICBBU1NFUlQobV9jb21tZW50TW9k
ZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKTsKICAgICBBU1NFUlQobV9z
dXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygp
KSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENvbnRleHRUeXBlID09IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsKLSAgICBBU1NFUlQobV9zb3VyY2VQYXJzZU1vZGUg
PT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7CiAKICAgICBtX3Bh
cmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAocGFyZW50U2NvcGVURFpWYXJpYWJsZXMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rp
b25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAxZTNjYmFmZmVjMjg4N2M3OTYwN2Q0ZDA3NzgzMTQz
NTZhMTgwZTMyLi44OWFhYjhhYmY3MTcxZThkNDk4Y2I1YWMzMTg3NDJkYzczMDU3MDgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMTU1LDYgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgdW5z
aWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0OwogICAgIHVuc2lnbmVkIG1fcGFyYW1ldGVy
Q291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7CisgICAgU291cmNlUGFyc2VNb2Rl
IG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVuc2lnbmVkIG1faXNJblN0cmljdENvbnRleHQgOiAx
OwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMgOiAxOwogICAgIHVuc2lnbmVk
IG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwpAQCAtMTY0LDcgKzE2NSw2IEBAIHByaXZhdGU6CiAg
ICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8gSlNQYXJzZXJDb21tZW50TW9kZQogICAg
IHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKICAgICB1bnNpZ25lZCBtX2Rlcml2ZWRDb250
ZXh0VHlwZTogMjsKLSAgICB1bnNpZ25lZCBtX3NvdXJjZVBhcnNlTW9kZSA6IDQ7IC8vIFNvdXJj
ZVBhcnNlTW9kZQogCiAgICAgV3JpdGVCYXJyaWVyPFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+
IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDYWxsOwogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1
bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ29uc3RydWN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmNwcAppbmRleCA3MmQyNzhiYzlmMzg5YzI1OThhYTJmNDYzYjFhNWJhMDg3ZWI5NDAzLi40
OTVhY2JhYjFlZmMyZTI5N2EwNDMxMTM0NzA1NzVkNjNiMzk0N2YwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cApAQCAtMjk3NSwxNyArMjk3NSwxNCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeAogCiBSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9u
KFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5jRXhwck5vZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJU
KGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dG
dW5jdGlvbk1vZGUpOworICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlIHx8IGZ1bmMtPm1ldGFkYXRhKCkt
PnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSk7
CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRh
KCkpOwogICAgIHJldHVybiBkc3Q7CiB9CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbihSZWdpc3RlcklEKiBkc3QsIE1ldGhvZERlZmluaXRp
b25Ob2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUo
KSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUKLSAgICAg
ICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpH
ZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNv
dXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5w
YXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUpOworICAgIEFTU0VSVChp
c01ldGhvZFBhcnNlTW9kZShmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSkpOwogICAgIGVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAg
ICByZXR1cm4gZHN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3MDAxLi5lNTFhYTg1
ZDJkMjYwZTA4NTA5N2EzYmRjYzkzZWNiYjFjMGIyNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzgyLDYgKzM4MiwxNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFz
eW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJzZU1v
ZGUgcGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3VyY2VD
b2RlIHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8uc3Rh
cnRPZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
bigpID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0
LCBmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0Q29s
dW1uKTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25J
bmZvLmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0TG9j
KGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlvbi5z
dGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhwcihs
b2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSogY3Jl
YXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7CiAg
ICAgICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IE1ldGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0
aW9uSW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9L
ZXl3b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFi
bGUKaW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3ZGZj
NTVjMGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVFVE9L
RU4KIGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJVAog
YnJlYWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCAyNjE3NDVhMTkwMzE3ZGU3NTkxMmUzYTkyM2ZhOWYy
ODg3NDg2M2Q2Li5jZjc0YjkwMjgwYmFjYWQwNjQ4ZTE1YjgyOTdjOWMwMWZkODM4YjY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAg
ICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0
VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5
cGUgJiBLZXl3b3JkVG9rZW5GbGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVz
ZSB0aGUga2V5d29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwK
KyAgICBpZiAoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAg
IHNlbWFudGljRmFpbCgiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAi
LCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1
c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJj
ZVBhcnNlTW8KICAgICBzY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29w
ZTxGdW5jdGlvblBhcnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2Vy
U3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0g
ICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wg
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAg
ICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKHBh
cnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IGlzQXN5bmNG
dW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAgICAgIG1fcGFyYW1ldGVy
cyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVuY3Rpb25JbmZvLnBhcmFt
ZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gcGFy
c2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBmdW5jdGlvbkluZm8pOwog
Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAob25lT2ZTb3VyY2VQYXJzZU1vZGVz
PFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNBcnJvd0Z1bmN0aW9uTW9kZT4ocGFyc2VNb2RlKSAmJiAhaGFzRXJyb3IoKSkgewogICAgICAg
ICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUgYW4gZXJyb3Igd2lsZSByZXBhcnNp
bmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4KICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI4
MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25z
dCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgU291cmNlRWxlbWVu
dHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAvLyBUaGUgb25seSB3YXkgd2UgY2Fu
IGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBhIGZ1bmN0aW9uIGFuZCB3ZSBydW4g
b3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJyb3IoKSkgewotICAgICAgICBpZiAo
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgIGlmIChpc0FzeW5jRnVuY3Rp
b25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSwg
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAg
ICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQogICAgICAgICAgICAg
c291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNv
dXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNlIGlmIChpc01vZHVsZVBhcnNlTW9k
ZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZU1vZHVsZVNv
dXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJG
dW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVy
YXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNl
U291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgfQor
ICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdl
bmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2Rl
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJj
ZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CiAgICAgfQogCiAgICAgYm9v
bCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAgLTMxMCw3ICszMTIsNyBAQCBTdHJp
bmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVl
TmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYgZW50cnkgOiBjYXB0dXJlZFZhcmlh
YmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtWYXJpYWJsZUFzQ2FwdHVyZWQoZW50
cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZT4ocGFyc2VNb2RlKSB8fCBp
c0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpIHsKICAgICAgICAgaWYg
KHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1l
bnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250ZXh0LnByb3BhZ2F0ZUFyZ3VtZW50c1VzZSgp
OwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBAIHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRp
ZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNB
cnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0gICAgYm9vbCBpc09wZW5QYXJlbiA9IG1hdGNo
KE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50ID0gbWF0Y2goSURFTlQpOwotICAgIAotICAg
IGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Ci0gICAgU2F2ZVBvaW50IHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKLSAgICAgICAgCi0gICAgaWYgKGlz
SWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtYXRj
aChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FTU0VSVChp
c09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgU2F2ZVBv
aW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICAgICAg
bmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAg
IGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwpAQCAtMzgwLDE0ICszNzEs
MjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygp
CiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtZXRlcnNDb3VudCA9IDA7CiAgICAgICAgICAg
ICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwg
c3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCksIHBhcmFtZXRlcnNDb3Vu
dCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICAg
ICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9wU2NvcGUoZmFrZVNjb3BlLCBzeW50YXhDaGVj
a2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAgICAgICAgIH0KKyAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dG
dW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAgIHJldHVybiBpc0Fycm93RnVuY3Rpb247CisK
KyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZl
QXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsK
KyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKKyAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAg
cmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CkBAIC01NDAsNiArNTM5LDUxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQoreworICAgIEFTU0VSVChpc0Fz
eW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpOworICAgIGF1dG8gc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisKKyAgICB1bnNpZ25l
ZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBKU1Rva2VuTG9jYXRp
b24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2Nh
dGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xv
Y2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRp
ZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJhbWV0ZXJzKGNvbnRleHQsIGluZm8ucGFyYW1l
dGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZzZXQgPSBwYXJhbWV0ZXJzU3RhcnQ7CisgICAg
aW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLnBhcmFtZXRlckNvdW50ID0g
NDsgLy8gZ2VuZXJhdG9yLCBzdGF0ZSwgdmFsdWUsIHJlc3VtZSBtb2RlCisgICAgU291cmNlUGFy
c2VNb2RlIGlubmVyUGFyc2VNb2RlID0gcGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uQm9keU1vZGUKKyAgICAgICAgOiBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rp
b25Cb2R5TW9kZTsKKyAgICB7CisgICAgICAgIEF1dG9Qb3BTY29wZVJlZiBhc3luY0Z1bmN0aW9u
Qm9keVNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICAgICAgYXN5bmNGdW5jdGlvbkJvZHlT
Y29wZS0+c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKKyAgICAgICAgU3ludGF4
Q2hlY2tlciBhc3luY0Z1bmN0aW9uQ29udGV4dChjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4
ZXIuZ2V0KCkpOworICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisg
ICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9u
Qm9keVNvdXJjZUVsZW1lbnRzKGFzeW5jRnVuY3Rpb25Db250ZXh0KSwgIkNhbm5vdCBwYXJzZSB0
aGUgYm9keSBvZiBhc3luYyBhcnJvdyBmdW5jdGlvbiIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGFzeW5jRnVuY3Rpb25Db250ZXh0
LCBtb2RlKSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhc3luYyBmdW5jdGlvbiIpOworICAg
ICAgICBwb3BTY29wZShhc3luY0Z1bmN0aW9uQm9keVNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNG
cmVlVmFyaWFibGVJbmZvKTsKKyAgICB9CisgICAgaW5mby5ib2R5ID0gY29udGV4dC5jcmVhdGVG
dW5jdGlvbk1ldGFkYXRhKHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1
bW4sIHRva2VuQ29sdW1uKCksIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
bV9zdXBlckJpbmRpbmcsIGluZm8ucGFyYW1ldGVyQ291bnQsIGlubmVyUGFyc2VNb2RlLCBpc0Fy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbik7CisKKyAgICBpbmZvLmVuZExpbmUgPSB0b2tlbkxp
bmUoKTsKKyAgICBpbmZvLmVuZE9mZnNldCA9IGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
ID8gdG9rZW5Mb2NhdGlvbigpLmVuZE9mZnNldCA6IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAg
ICBpbmZvLnBhcmFtZXRlcnNTdGFydENvbHVtbiA9IHN0YXJ0Q29sdW1uOworCisgICAgYXV0byBm
dW5jdGlvbkV4cHIgPSBjb250ZXh0LmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRp
b24sIGluZm8sIGlubmVyUGFyc2VNb2RlKTsKKyAgICBhdXRvIHN0YXRlbWVudCA9IGNvbnRleHQu
Y3JlYXRlRXhwclN0YXRlbWVudChzdGFydExvY2F0aW9uLCBmdW5jdGlvbkV4cHIsIHN0YXJ0LCBt
X2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOworICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50
KHNvdXJjZUVsZW1lbnRzLCBzdGF0ZW1lbnQpOworCisgICAgcmV0dXJuIHNvdXJjZUVsZW1lbnRz
OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dExpc3RJdGVtKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0
aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKIHsKICAgICAvLyBUaGUgZ3Jh
bW1hciBpcyBkb2N1bWVudGVkIGhlcmU6CkBAIC01NjIsNyArNjA2LDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudExpc3QKICAgICAgICAgICAgIC8vIEZvciBleGFtcGxlLCB1bmRlciBhIGdlbmVyYXRv
ciBjb250ZXh0LCBtYXRjaFNwZWNJZGVudGlmaWVyKCkgZm9yICJ5aWVsZCIgcmV0dXJucyBgZmFs
c2VgLgogICAgICAgICAgICAgLy8gQnV0IHdlIHdvdWxkIGxpa2UgdG8gZW50ZXIgcGFyc2VWYXJp
YWJsZURlY2xhcmF0aW9uIGFuZCByYWlzZSBhbiBlcnJvciB1bmRlciB0aGUgY29udGV4dCBvZiBw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb24KICAgICAgICAgICAgIC8vIHRvIHJhaXNlIGNvbnNpc3Rl
bnQgZXJyb3JzIGJldHdlZW4gInZhciIsICJjb25zdCIgYW5kICJsZXQiLgotICAgICAgICAgICAg
aWYgKCEobWF0Y2goSURFTlQpIHx8IG1hdGNoKExFVCkgfHwgbWF0Y2goWUlFTEQpKSAmJiAhbWF0
Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQorICAgICAgICAgICAgaWYgKCEo
bWF0Y2goSURFTlQpIHx8IG1hdGNoKExFVCkgfHwgbWF0Y2goWUlFTEQpIHx8IG1hdGNoKEFXQUlU
KSkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKICAgICAgICAg
ICAgICAgICBzaG91bGRQYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gPSBmYWxzZTsKICAgICAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICAgICAgfQpAQCAtNTgyLDYgKzYy
NiwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICByZXN1bHQgPSBwYXJzZUZ1
bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSURF
TlQ6CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24g
aW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tl
bi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAg
ICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBp
cyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtl
bmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAgICAgICAgICAgIFNh
dmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQo
KTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXIt
PnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3lu
Y0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7Cisg
ICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNl
IFlJRUxEOiB7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBjb252ZW5pZW50IHBsYWNlIHRvIG5vdGlj
ZSBsYWJlbGVkIHN0YXRlbWVudHMKICAgICAgICAgLy8gKGV2ZW4gdGhvdWdoIHdlIGFsc28gcGFy
c2UgdGhlbSBhcyBub3JtYWwgc3RhdGVtZW50cykKQEAgLTY5MCw2ICs3NDgsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhcmlhYmxlRGVjbAogICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CiAg
ICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0aW9uVHlwZSA9PSBE
ZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNs
YXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24pLCAKICAgICAgICAgICAgICAgICAiQ2FuJ3Qg
dXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24i
KTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlY2xhcmF0aW9uVHlw
ZVRvVmFyaWFibGVLaW5kKGRlY2xhcmF0aW9uVHlwZSksICIgIiwgZGlzYWxsb3dlZElkZW50aWZp
ZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHZhclN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gdmFyU3Rh
cnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgaWRlbnRTdGFydCA9IHZh
clN0YXJ0OwpAQCAtMTAxMSw2ICsxMDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9y
SW5kaWNhdGVzUGF0dGVybiwgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChpc0V2YWxPckFyZ3VtZW50cywgIkNhbm5vdCBt
b2RpZnkgJyIsIHByb3BlcnR5TmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoaWRlbnRpZmllclRva2VuKSwgIkNhbid0IHVz
ZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2lu
ZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAg
ICAgICAgICAgaW5uZXJQYXR0ZXJuID0gY3JlYXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2lu
ZCwgZXhwb3J0VHlwZSwgKnByb3BlcnR5TmFtZSwgaWRlbnRpZmllclRva2VuLCBiaW5kaW5nQ29u
dGV4dCwgZHVwbGljYXRlSWRlbnRpZmllcik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfSBlbHNlIHsKQEAgLTEwNzksNiArMTEzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURl
CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFyYW1ldGVyIHBhdHRl
cm4gb3IgYSAnKScgaW4gcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQogICAgICAgICBmYWls
SWZUcnVlKG1hdGNoKExFVCkgJiYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0
dXJlVG9MZXQgfHwga2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0NvbnN0
KSwgIkNhbid0IHVzZSAnbGV0JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4aWNhbERl
Y2xhcmF0aW9uIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlc3RydWN0
dXJpbmdLaW5kVG9WYXJpYWJsZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXRSZWFzb24oKSk7CiAgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVy
bihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIG1fdG9r
ZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgbmV4dCgp
OwogICAgICAgICBicmVhazsKQEAgLTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZQogICAgICAgICByZXN1bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oY29udGV4
dCwgRGVjbGFyYXRpb25UeXBlOjpWYXJEZWNsYXJhdGlvbik7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgRlVOQ1RJT046IHsKLSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkpIHsKLSAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVu
dCwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9jayBz
dGF0ZW1lbnRzIG9yIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7Ci0gICAgICAgICAg
ICBpZiAoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgewotICAgICAgICAgICAgICAgIC8v
IEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50
YXggZXJyb3IgdW5sZXNzIGl0J3MKLSAgICAgICAgICAgICAgICAvLyBpbiBhbiBpZi9lbHNlIHN0
YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2Fs
bHkKLSAgICAgICAgICAgICAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1l
bnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgotICAgICAgICAgICAgICAgIC8vIHRvIHRo
ZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgotICAgICAgICAgICAgICAgIC8v
IGZ1bmN0aW9uIGEoKSB7Ci0gICAgICAgICAgICAgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlv
biBmb28oKSB7IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgLy8gd2ls
bCBiZSByZXdyaXR0ZW4gYXM6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAg
ICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KLSAg
ICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2Nr
U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgICAgICAgICAgICAgIGJsb2NrU2NvcGUtPnNl
dElzTGV4aWNhbFNjb3BlKCk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+cHJldmVudFZh
ckRlY2xhcmF0aW9ucygpOwotICAgICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwotICAgICAgICAgICAgICAgIGludCBzdGFydCA9IHRva2VuTGlu
ZSgpOwotCi0gICAgICAgICAgICAgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IHBhcnNlRnVu
Y3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKLSAgICAgICAgICAgICAgICBwcm9wYWdhdGVFcnJv
cigpOwotICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQgdmFs
aWQgZnVuY3Rpb24gc3RhdGVtZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOwotICAgICAg
ICAgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3Jl
YXRlU291cmNlRWxlbWVudHMoKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZFN0YXRl
bWVudChzb3VyY2VFbGVtZW50cywgZnVuY3Rpb24pOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9
IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBz
dGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxp
emVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xh
cmF0aW9ucygpKTsKLSAgICAgICAgICAgICAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgLy8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4g
ZnVuY3Rpb24gbW9kZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAgICAgICAgICAgICAv
LyB0byBob2lzdGluZyBiZWhhdmlvci4KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTgxMwotICAgICAgICAgICAgICAg
IERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7Ci0gICAgICAg
ICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0g
cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgfQotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rpb24gZGVjbGFyYXRp
b25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2ggc3RhdGVtZW50cyBp
biBzdHJpY3QgbW9kZSIpOworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBmYWxzZTsKKyAg
ICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQs
IGlzQXN5bmMsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFNFTUlDT0xPTjogewpAQCAtMTcxOSw2ICsx
NzQ1LDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIC8vIFRoZXNlIHRva2Vu
cyBpbXBseSB0aGUgZW5kIG9mIGEgc2V0IG9mIHNvdXJjZSBlbGVtZW50cwogICAgICAgICByZXR1
cm4gMDsKICAgICBjYXNlIElERU5UOgorICAgICAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNh
dXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgICAgICBp
ZiAoVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PmFzeW5jKSkgeworICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQ
b2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKG1hdGNoKEZVTkNU
SU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgICAgIGNv
bnN0IGJvb2wgaXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VG
dW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFsbG93
c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7
CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBBV0FJVDoKICAgICBj
YXNlIFlJRUxEOiB7CiAgICAgICAgIGJvb2wgYWxsb3dGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0
ZW1lbnQgPSBmYWxzZTsKICAgICAgICAgcmVzdWx0ID0gcGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0
YXRlbWVudChjb250ZXh0LCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CkBA
IC0xNzQ0LDYgKzE3ODMsNTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIHNlbWFudGljRmFpbElm
VHJ1ZShzdHJpY3RNb2RlKCksICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dl
ZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7Cisg
ICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50
LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0
YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKKyAgICBpZiAoIWN1
cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAgLy8gV2Ugb25seSBpbXBsZW1l
bnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3RoZXJ3aXNlLCB3ZSBm
YWxsIGJhY2sKKyAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZpb3IuCisgICAgICAgIC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCisgICAg
ICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAg
ICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICBpZiAoaXNBc3luYykKKyAgICAgICAg
ICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICAg
ICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICB9CisKKyAg
ICAvLyBBbnkgZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24ndCBpbiBhIGJsb2NrIGlzIGEg
c3ludGF4IGVycm9yIHVubGVzcyBpdCdzCisgICAgLy8gaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQu
IElmIGl0J3MgaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQsIHdlIHdpbGwgbWFnaWNhbGx5CisgICAg
Ly8gdHJlYXQgaXQgYXMgaWYgdGhlIGlmL2Vsc2Ugc3RhdGVtZW50IGlzIGluc2lkZSBhIGJsb2Nr
IHN0YXRlbWVudC4KKyAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlrZSBhICJ2YXIiLiBGb3IgZXhh
bXBsZToKKyAgICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAgICBpZiAoY29uZCkgZnVuY3Rp
b24gZm9vKCkgeyB9CisgICAgLy8gfQorICAgIC8vIHdpbGwgYmUgcmV3cml0dGVuIGFzOgorICAg
IC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSB7IGZ1bmN0aW9uIGZvbygp
IHsgfSB9CisgICAgLy8gfQorICAgIEF1dG9Qb3BTY29wZVJlZiBibG9ja1Njb3BlKHRoaXMsIHB1
c2hTY29wZSgpKTsKKyAgICBibG9ja1Njb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOworICAgIGJs
b2NrU2NvcGUtPnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKKyAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBpbnQgc3RhcnQgPSB0b2tlbkxpbmUoKTsK
KworICAgIFRyZWVTdGF0ZW1lbnQgZnVuY3Rpb24gPSAwOworICAgIGlmICghaXNBc3luYykKKyAg
ICAgICAgZnVuY3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAg
ZWxzZQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNv
bnRleHQpOworICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24s
ICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3
b3JkIik7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5j
cmVhdGVTb3VyY2VFbGVtZW50cygpOworICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJj
ZUVsZW1lbnRzLCBmdW5jdGlvbik7CisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0
LmNyZWF0ZUJsb2NrU3RhdGVtZW50KGxvY2F0aW9uLCBzb3VyY2VFbGVtZW50cywgc3RhcnQsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSwgY3VycmVudFNjb3BlKCktPmZpbmFsaXplTGV4aWNh
bEVudmlyb25tZW50KCksIGN1cnJlbnRTY29wZSgpLT50YWtlRnVuY3Rpb25EZWNsYXJhdGlvbnMo
KSk7CisgICAgcG9wU2NvcGUoYmxvY2tTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlRm9y
bWFsUGFyYW1ldGVyTGlzdCBsaXN0LCB1bnNpZ25lZCYgcGFyYW1ldGVyQ291bnQpCiB7CiAjZGVm
aW5lIGZhaWxJZkR1cGxpY2F0ZUlmVmlvbGF0aW9uKCkgXApAQCAtMTc2NSw2ICsxODUxLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUIKICAgICAgICAgCiAgICAgICAgIGlmIChtYXRjaChET1RE
T1RET1QpKSB7CiAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCAmJiBtYXRjaChBV0FJVCksICJDYW4ndCB1
c2UgJ2F3YWl0JyBhcyBhIHBhcmFtZXRlciBuYW1lIGluIGFuIGFzeW5jIGZ1bmN0aW9uIik7CiAg
ICAgICAgICAgICBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gZGVzdHJ1Y3R1cmluZ1BhdHRlcm4g
PSBwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kOjpE
ZXN0cnVjdHVyZVRvUGFyYW1ldGVycywgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsICZkdXBsaWNh
dGVQYXJhbWV0ZXIsICZoYXNEZXN0cnVjdHVyaW5nUGF0dGVybik7CiAgICAgICAgICAgICBwcm9w
YWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcGFyYW1ldGVyID0gY29udGV4dC5jcmVhdGVSZXN0
UGFyYW1ldGVyKGRlc3RydWN0dXJpbmdQYXR0ZXJuLCBwYXJhbWV0ZXJDb3VudCk7CkBAIC0xODI5
LDYgKzE5MTYsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShT
b3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuICJnZW5lcmF0b3IgZnVuY3Rpb24i
OwogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKICAgICAgICAg
cmV0dXJuICJhcnJvdyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9k
eU1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgbWV0aG9k
IjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6
CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAg
ICAgIHJldHVybiAiYXN5bmMgYXJyb3cgZnVuY3Rpb24iOwogICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpQcm9ncmFtTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6
ZU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAg
LTE4NDEsMTIgKzE5MzYsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyLCBjbGFzcyBGdW5jdGlvbkluZm9UeXBlPiB0
eXBlbmFtZSBUcmVlQnVpbGRlcjo6Rm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBh
cnNlTW9kZSBtb2RlLCBGdW5jdGlvbkluZm9UeXBlJiBmdW5jdGlvbkluZm8pCiB7Ci0gICAgUkVM
RUFTRV9BU1NFUlQobW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlICYmIG1vZGUg
IT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghKG9uZU9m
U291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTb3VyY2VQYXJz
ZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRl
TW9kZT4obW9kZSkpKTsKICAgICBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJhbWV0ZXJMaXN0
ID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCk7CiAgICAgU2V0Rm9yU2NvcGU8
RnVuY3Rpb25QYXJzZVBoYXNlPiBmdW5jdGlvblBhcnNlUGhhc2VQb2lzb25lcihtX3BhcnNlclN0
YXRlLmZ1bmN0aW9uUGFyc2VQaGFzZSwgRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzKTsK
ICAgICAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
KSB7Ci0gICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7Cisg
ICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2Rl
Pihtb2RlKSkpKSB7CisgICAgICAgIGlmICghbWF0Y2hTcGVjSWRlbnRpZmllcigpICYmICFtYXRj
aChPUEVOUEFSRU4pKSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQo
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7
CiAgICAgICAgIH0gZWxzZSB7CkBAIC0xOTM3LDcgKzIwMzIsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZAogCiAgICAgU2NvcGVSZWYgcGFyZW50U2NvcGUgPSBjdXJyZW50U2NvcGUoKTsKIAot
ICAgIGJvb2wgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gY3VycmVudFNjb3BlKCktPmlzR2VuZXJh
dG9yKCk7CisgICAgYm9vbCBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA9IGlzRGlzYWxs
b3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKTsKKyAgICBjb25zdCBjaGFyKiBpc0Rpc2FsbG93
ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbiA9IGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1l
ID8gZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpIDogbnVsbHB0cjsKKwogICAgIEF1
dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKICAgICBmdW5j
dGlvblNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUobW9kZSk7CiAgICAgZnVuY3Rpb25TY29wZS0+
c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmcoZXhwZWN0ZWRTdXBlckJpbmRpbmcpOwpAQCAtMTk3OSw3
ICsyMDc2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgICAgIEFTU0VSVChl
bmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5
cGU7Ci0gICAgICAgICAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rp
b25Nb2RlKQorICAgICAgICAgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8
U291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlPihtb2RlKSkpKQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9k
eVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJv
ZHlCbG9jazsKQEAgLTIwMjIsNyArMjExOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAK
ICAgICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNrZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBt
X2xleGVyLmdldCgpKTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dG
dW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtFTFkoKG9uZU9mU291cmNlUGFyc2VNb2RlczxT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbk1vZGU+KG1vZGUpKSkpIHsKICAgICAgICAgc3RhcnRMb2NhdGlvbiA9IHRv
a2VuTG9jYXRpb24oKTsKICAgICAgICAgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSA9IHRva2VuTGlu
ZSgpOwogICAgICAgICBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBAIC0yMDM3LDcgKzIx
MzQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB7CiAgICAgICAgICAgICAv
LyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVycyB3aXRoIFsrWWllbGRdIHBhcmFtZXRlcml6YXRpb24s
IGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4cHJlc3Npb25zCiAgICAgICAgICAgICAvLyBpbiBBcnJv
d0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBFUzYgI3NlYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0aW9u
cy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycy4KLSAgICAgICAgICAgIFNjb3BlOjpNYXli
ZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUs
IHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7CisgICAgICAgICAgICBTY29wZTo6TWF5YmVQYXJzZUFz
R2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5jdGlvblNjb3BlLCBwYXJlbnRT
Y29wZS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBvdmVy
cmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1bmN0aW9u
UGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKHN5
bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAgICAgICAgICAgICBwcm9wYWdhdGVF
cnJvcigpOwogICAgICAgICB9CkBAIC0yMDY5LDIxICsyMTY3LDI4IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAgICAgICAgIC8vIEdlbmVyYXRvckV4cHJlc3Npb24gOgogICAgICAgICAvLyAg
ICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVsZF1vcHQgKCBGb3JtYWxQYXJhbWV0
ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAgICAgIC8vCi0gICAgICAgIC8vIFRo
ZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5aWVsZCIgZXZlbiBpbiB0
aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCi0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb25U
eXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgbW9kZSA9PSBTb3Vy
Y2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgIHVwcGVyU2NvcGVJ
c0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4cHJl
c3Npb24gYW5kIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVu
IGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KKyAgICAgICAgYm9vbCB1cHBlclNjb3BlSXNH
ZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgaWYgKCEoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9
PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIG9uZU9mU291cmNlUGFyc2VN
b2RlczxTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uTW9kZT4obW9kZSkpKQorICAgICAgICAgICAgdXBwZXJTY29wZUlzR2Vu
ZXJhdG9yID0gdXBwZXJTY29wZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAgICBpZiAocmVx
dWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkgewogICAgICAg
ICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5hbWVS
ZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4gc3BlY2lmeWlu
ZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBm
dW5jdGlvbkluZm8ubmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBjYWxsZXIgc2lk
ZS4iKTsKICAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVyU2NvcGVJc0dl
bmVyYXRvcikpIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9IG1fdG9rZW4u
bV9kYXRhLmlkZW50OwogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFzdEZ1bmN0aW9u
TmFtZSA9IGZ1bmN0aW9uSW5mby5uYW1lOworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShp
c0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlv
blR5cGU6OkRlY2xhcmF0aW9uIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9k
ZSksICJDYW5ub3QgZGVjbGFyZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIsIGlzRGlzYWxsb3dl
ZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChpc0Fz
eW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlUKSAmJiBmdW5j
dGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24p
CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xhcmUgYXN5bmMg
ZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyIpOwogICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAg
ICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAgICAgICAgICAgICAg
ICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZUNhbGxlZShmdW5j
dGlvbkluZm8ubmFtZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICIn
IiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAg
ICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6
TmFtZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09
IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwor
ICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVu
Y3Rpb25Nb2RlLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAg
ICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbk1vZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2
ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7
CiAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjEwMSw4ICsyMjA2LDExIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAKICAgICAgICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKHN5bnRheENo
ZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2Fp
dChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9k
ZSkpOworICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwg
bW9kZSwgZnVuY3Rpb25JbmZvKTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBib2R5Iik7CiAgICAgICAgIApAQCAtMjE0OSw5ICsyMjU3LDE1IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9uQm9keShjb250
ZXh0LCBzeW50YXhDaGVja2VyLCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVtbiwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVj
dG9yS2luZCwgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5cGUsIGZ1bmN0aW9u
SW5mby5wYXJhbWV0ZXJDb3VudCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlmIChtb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmICht
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSB8fCBp
c0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAgICAgIEF1dG9Qb3BT
Y29wZVJlZiBnZW5lcmF0b3JCb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgICAgICBn
ZW5lcmF0b3JCb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlKTsKKyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlubmVyUGFyc2VNb2Rl
ID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAgICAgaWYgKGlzQXN5
bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAgICAgIGlubmVyUGFy
c2VNb2RlID0gbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUK
KyAgICAgICAgICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9k
eU1vZGUKKyAgICAgICAgICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJv
ZHlNb2RlOworICAgICAgICB9CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNl
UGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5z
ZXRDb25zdHJ1Y3RvcktpbmQoQ29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAgICAgICAgZ2VuZXJh
dG9yQm9keVNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1cGVyQmluZGlu
Zyk7CiAKQEAgLTIxNzAsNyArMjI4NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
Y29udGV4dC5zZXRFbmRPZmZzZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRP
ZmZzZXQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiByZXF1aXJl
bWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgIEFT
U0VSVChmdW5jdGlvbkluZm8ubmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6Ok1ldGhvZE1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rp
b25Nb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSB8fCBt
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSk7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwgU291
cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JCb2R5TW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2Rl
Pihtb2RlKSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSk7CiAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0g
KmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlz
IG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0aW9uSW5m
by5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlk
IGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg1LDYgKzIzOTks
NjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4
dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElP
TikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAg
IHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQo
KTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAg
ICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0
aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzID0gRnVu
Y3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KSB7Cisg
ICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0aW9uIGRl
Y2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisgICAgICAgIC8v
CisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8gICAgICAgICAu
Li4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVEZWNsYXJhdGlv
blt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLwor
ICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAg
ICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAg
ICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQor
ICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZaWVsZCwgRGVm
YXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZh
dWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rpb25Cb2R5
W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJhdG9yRGVjbGFyYXRp
b25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAg
ICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lpZWxkXSAp
IHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwg
d2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBuYW1lLgor
ICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmU7Cisg
ICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1vZGUsIHRy
dWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRl
Y2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIpOworICAgIGZh
aWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50cyBt
dXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1bHRNYXNr
LCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlvbihmdW5jdGlv
bkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0
ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZGVj
bGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICJD
YW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25JbmZvLm5h
bWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRpb25SZXN1
bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9uKQorICAg
ICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFz
eW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJp
YWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsK
KyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgeworICAgICAgICBz
ZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwgIkNhbm5v
dCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9uSW5mby5uYW1l
LT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBvcnRCaW5kaW5n
KCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQg
PSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5jdGlvbkluZm8p
OworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVuY3Rpb25EZWNs
YXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9uSW5mbykp
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0
VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVm
YXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsKQEAgLTI0MDEs
OCArMjU2OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBib29sIGlzR2V0
dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9v
bCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxz
ZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAgaXNHZW5lcmF0b3Ig
PSB0cnVlOworCitwYXJzZU1ldGhvZDoKICAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkg
ewogICAgICAgICBuYW1lZEtleXdvcmQ6CiAgICAgICAgIGNhc2UgU1RSSU5HOgpAQCAtMjQxMSwx
MiArMjU4MiwxNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgbmV4dCgp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSURFTlQ6CisgICAgICAgIGNhc2Ug
QVdBSVQ6CiAgICAgICAgICAgICBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAg
ICAgICAgQVNTRVJUKGlkZW50KTsKICAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIGlm
ICghaXNHZW5lcmF0b3IgJiYgKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNU
UklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRjaChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJB
Q0tFVCkpKSB7CisgICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0aG9k
ICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNo
KERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgewogICAg
ICAgICAgICAgICAgIGlzR2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFtZXMuZ2V0OwogICAg
ICAgICAgICAgICAgIGlzU2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFtZXMuc2V0OworICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBc3luY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJv
cGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAg
IGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRE9VQkxFOgpAQCAtMjQ0OCw3ICsyNjI0LDEy
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87CiAgICAgICAgICAgICBib29sIGlzQ29uc3RydWN0
b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYgKmlkZW50ID09IHByb3BlcnR5TmFtZXMuY29uc3RydWN0
b3I7CiAgICAgICAgICAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VN
b2RlOjpNZXRob2RNb2RlOwotICAgICAgICAgICAgaWYgKGlzR2VuZXJhdG9yKSB7CisgICAgICAg
ICAgICBpZiAoaXNBc3luY01ldGhvZCkgeworICAgICAgICAgICAgICAgIGlzQ29uc3RydWN0b3Ig
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFz
eW5jIG1ldGhvZCBuYW1lZCAncHJvdG90eXBlJyIpOworICAgICAgICAgICAgICAgIHNlbWFudGlj
RmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsICJD
YW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ2NvbnN0cnVjdG9yJyIpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVyYXRvcikgewogICAgICAgICAgICAgICAgIGlzQ29u
c3RydWN0b3IgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBwYXJzZU1vZGUgPSBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU7CiAgICAgICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
ICJDYW5ub3QgZGVjbGFyZSBhIGdlbmVyYXRvciBuYW1lZCAncHJvdG90eXBlJyIpOwpAQCAtMjUz
MSw2ICsyNzEyLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMCiAgICAgICAgICAgICAgICAg
ZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVFeHByU3RhdGVtZW50KGxvY2F0aW9uLCBleHByZXNzaW9uLCBzdGFydCwgbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5saW5lKTsKICAgICAgICAgfQorICAgICAgICAvLyBGSVhNRTogVGhlc2Ug
YnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5Lgor
ICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAgIHNlbWFudGlj
RmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1
c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24o
KSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5p
ZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOwog
ICAgICAgICBuZXh0KCk7CkBAIC0yNzI3LDcgKzI5MTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExl
eGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVkIGJpbmRpbmcg
bmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJF
eHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJp
YWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgIGxvY2FsTmFt
ZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRl
bnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NDksNyArMjkzNCw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJz
ZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJv
cGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBtYXRj
aE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBk
ZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmll
cigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9u
Iik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgICAgICBs
b2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5leHQoKTsKQEAg
LTI3NjAsNyArMjk0NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgY2FzZSBJbXBv
cnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIEltcG9ydGVkRGVm
YXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAgICAgQVNTRVJU
KG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlmaWVyKCkpOwog
ICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1f
dG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92bS0+cHJvcGVy
dHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzY5LDYgKzI5NTQsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIg
UGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9j
YWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQnIGFzIGFuIGlt
cG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2NhbE5hbWVU
b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3b3JkIGFzIGlt
cG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJh
dGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0aW9uVHlwZTo6
Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lmaWVyVHlwZTo6
TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWROYW1lc3Bh
Y2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAoZGVjbGFyYXRp
b25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yNzk5LDcgKzI5ODUs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wgaXNGaW5pc2hl
ZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7CisgICAgaWYg
KG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5k
aW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8gc3BlY2lmaWVy
ID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmllclR5cGU6OkRl
ZmF1bHRJbXBvcnQpOwpAQCAtMjkwOSw2ICszMDk1LDE2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNs
YXJhCiAgICAgICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICAgICAgYm9vbCBpc0Z1
bmN0aW9uT3JDbGFzc0RlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgIGNvbnN0IElkZW50aWZp
ZXIqIGxvY2FsTmFtZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uRXhw
b3J0ID0gZmFsc2U7CisKKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29udGV4dHVhbEtleXdv
cmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAgICAgU2F2ZVBvaW50
IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRl
cm1pbmF0b3IoKSkpCisgICAgICAgICAgICAgICAgaXNBc3luY0Z1bmN0aW9uRXhwb3J0ID0gdHJ1
ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVQb2ludCk7CisgICAgICAgIH0KIAogICAgICAgICBib29sIHN0YXJ0c1dpdGhGdW5jdGlvbiA9
IG1hdGNoKEZVTkNUSU9OKTsKICAgICAgICAgaWYgKHN0YXJ0c1dpdGhGdW5jdGlvbiB8fCBtYXRj
aChDTEFTU1RPS0VOKSkgewpAQCAtMjkzMyw2ICszMTI5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnRE
ZWNsYXJhCiAgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0
YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKICAg
ICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCwg
RXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OkV4cG9y
dERlZmF1bHQpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0FzeW5jRnVuY3Rpb25FeHBvcnQp
IHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICAgICAgICAg
ICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAg
ICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5v
dEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9L
RU4pKTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUNsYXNzRGVjbGFyYXRpb24oY29u
dGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6
OkV4cG9ydERlZmF1bHQpOwpAQCAtMjk0Nyw2ICszMTQ4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERl
Y2xhcmEKICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBJbiB0aGUgYWJvdmUgZXhhbXBs
ZSwgKmRlZmF1bHQqIGlzIHRoZSBpbnZpc2libGUgdmFyaWFibGUgdG8gdGhlIHVzZXJzLgogICAg
ICAgICAgICAgLy8gV2UgdXNlIHRoZSBwcml2YXRlIHN5bWJvbCB0byByZXByZXNlbnQgdGhlIG5h
bWUgb2YgdGhpcyB2YXJpYWJsZS4KKyAgICAgICAgICAgIEV4cHJlc3Npb25FcnJvckNsYXNzaWZp
ZXIgY2xhc3NpZmllcih0aGlzKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIGV4cHJlc3Np
b24gPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAtMzA1Myw5ICszMjU1
LDE2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICBicmVhazsKIAogICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29udGV4dHVhbEtl
eXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNoKEZVTkNUSU9O
KSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5jdGlvbicga2V5
d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5nIGxpbmUgdGVy
bWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhw
ZWN0ZWQgZWl0aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1lbnQiKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UocmVzdWx0
LCAiQ2Fubm90IHBhcnNlIHRoZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVFeHBvcnRMb2NhbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCByZXN1bHQpOwog
ICAgIH0KQEAgLTMxMTcsMzQgKzMzMjYsNDYgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAg
ICBBU1NFUlQoIWhhc0Vycm9yKCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsK
KworICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRT
Y29wZSgpLT5pc0dlbmVyYXRvcigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNz
aW9uKGNvbnRleHQpOworCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
ICAgICBpbnQgaW5pdGlhbEFzc2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVu
dENvdW50OwogICAgIGludCBpbml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0YXRlLm5vbkxI
U0NvdW50OwogICAgIGJvb2wgbWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNoKE9QRU5CUkFD
RSkgfHwgbWF0Y2goT1BFTkJSQUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2go
T1BFTlBBUkVOKTsKLSAgICBib29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSBtYXRjaChP
UEVOUEFSRU4pIHx8IG1hdGNoKElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lk
ZW50aWZpZXIoKSBoZXJlIHNpbmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5
d29yZC4KKyAgICAvLyBXaGV0aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRl
ZCBieSBpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJZGVudGlmaWVy
T3JLZXl3b3JkID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgbWF5
YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVy
T3JLZXl3b3JkOwogICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
ICAgICBzaXplX3QgdXNlZFZhcmlhYmxlc1NpemUgPSAwOwotICAgIGlmICh3YXNPcGVuUGFyZW4p
IHsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4g
b2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgaWYgKHdhc09wZW5QYXJlbiB8fCAod2FzSWRl
bnRpZmllck9yS2V5d29yZCAmJiBVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgewogICAgICAgICB1c2VkVmFyaWFibGVzU2l6ZSA9
IGN1cnJlbnRTY29wZSgpLT5jdXJyZW50VXNlZFZhcmlhYmxlc1NpemUoKTsKICAgICAgICAgY3Vy
cmVudFNjb3BlKCktPnB1c2hVc2VkVmFyaWFibGVTZXQoKTsKICAgICB9CiAKLSAgICBpZiAobWF0
Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5l
cmF0b3IoKSkpCi0gICAgICAgIHJldHVybiBwYXJzZVlpZWxkRXhwcmVzc2lvbihjb250ZXh0KTsK
LQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNv
bnRleHQpOwogCi0gICAgaWYgKGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgJiYgIW1hdGNoKEVP
RlRPSykpIHsKKyAgICBpZiAobWF5YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2go
RU9GVE9LKSkgewogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvblRva2VuID0gbWF0Y2goQVJS
T1dGVU5DVElPTik7CiAgICAgICAgIGlmICghbGhzIHx8IGlzQXJyb3dGdW5jdGlvblRva2VuKSB7
CiAgICAgICAgICAgICBTYXZlUG9pbnRXaXRoRXJyb3IgZXJyb3JSZXN0b3JhdGlvblNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludEZvckVycm9yKCk7CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBib29sIGlzQXN5bmNBcnJvdyA9IGZhbHNlOwor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNsYXNzaWZpZXIuaW5kaWNhdGVzUG9zc2libGVBc3lu
Y0Fycm93RnVuY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2hDb250ZXh0
dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpOworICAgICAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgICAgICBpc0FzeW5jQXJyb3cgPSAhbV9sZXhlci0+cHJldlRl
cm1pbmF0b3IoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChpc0Fycm93RnVuY3Rp
b25QYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAod2FzT3BlblBhcmVuKQorICAg
ICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgaXNBc3luY0Fycm93KQogICAgICAgICAg
ICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+cmV2ZXJ0VG9QcmV2aW91c1VzZWRWYXJpYWJsZXMo
dXNlZFZhcmlhYmxlc1NpemUpOwotICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUFycm93RnVu
Y3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUFy
cm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQsIGlzQXN5bmNBcnJvdyk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50V2l0aEVycm9yKGVycm9yUmVzdG9yYXRp
b25TYXZlUG9pbnQpOwogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblRva2VuKQpAQCAt
MzI2OCw2ICszNDg5LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlWWllbGRFeHByZXNzCiB9CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKK3sKKyAgICAvLyBBd2FpdEV4cHJlc3Npb24gZGVzdWdhcmVkIHRvIFlp
ZWxkRXhwcmVzc2lvbgorICAgIEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFTU0VSVChjdXJy
ZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUobV9wYXJzZXJT
dGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJz
LCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7CisgICAg
SlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9z
aXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5leHQoKTsKKyAg
ICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7Cisg
ICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihjb250ZXh0
KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBhd2FpdCBleHBy
ZXNzaW9uIik7CisgICAgY29uc3QgYm9vbCBkZWxlZ2F0ZSA9IGZhbHNlOworICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVlpZWxkKGxvY2F0aW9uLCBhcmd1bWVudCwgZGVsZWdhdGUsIGRpdm90U3Rh
cnQsIGFyZ3VtZW50U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworfQorCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CkBAIC0zMzgwLDIyICszNjE4LDI2IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KFRyZWVCCiAgICAgYm9vbCB3YXNJZGVudCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW5lcmF0b3Ig
PSBmYWxzZTsKICAgICBib29sIGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNlOworICAgIGJvb2wgaXNB
c3luY01ldGhvZCA9IGZhbHNlOwogICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgaXNH
ZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZVByb3BlcnR5OgogICAgIHN3aXRjaCAobV90b2tlbi5t
X3R5cGUpIHsKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURFTlQ6CisgICAgY2FzZSBB
V0FJVDoKICAgICAgICAgd2FzSWRlbnQgPSB0cnVlOwogICAgICAgICBGQUxMVEhST1VHSDsKICAg
ICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9r
ZW4ubV9kYXRhLmlkZW50OwogICAgICAgICB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zm
c2V0ID0gdG9rZW5TdGFydCgpOwotICAgICAgICBpZiAoY29tcGxldGUgfHwgKHdhc0lkZW50ICYm
ICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmdldCB8fCAq
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCisgICAgICAgIGlmIChjb21wbGV0
ZSB8fCAod2FzSWRlbnQgJiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+Z2V0IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQgfHwgKmlk
ZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpCiAgICAgICAgICAgICBuZXh0RXhw
ZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNl
cnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKIAotICAgICAgICBp
ZiAoIWlzR2VuZXJhdG9yICYmIG1hdGNoKENPTE9OKSkgeworICAgICAgICBpZiAoIWlzR2VuZXJh
dG9yICYmICFpc0FzeW5jTWV0aG9kICYmIG1hdGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4
dCgpOwogICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb25PclByb3BhZ2F0ZUVycm9yQ2xhc3MoY29udGV4dCk7CiAgICAgICAgICAgICBmYWls
SWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24gZm9yIHByb3BlcnR5IGRlY2xh
cmF0aW9uIik7CkBAIC0zNDA0LDExICszNjQ2LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVC
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewotICAgICAgICAg
ICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dl
bmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2Qo
Y29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAg
IHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9w
ZXJ0eShpZGVudCwgbWV0aG9kLCBQcm9wZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6
Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9w
ZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVj
dGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1
ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBm
b3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGZhaWxJZkZhbHNlKHdhc0lkZW50LCAiRXhw
ZWN0ZWQgYW4gaWRlbnRpZmllciBhcyBwcm9wZXJ0eSBuYW1lIik7CiAKQEAgLTM0MzAsNyArMzY3
MiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAgICAgICAgdHlwZSA9IFByb3Bl
cnR5Tm9kZTo6R2V0dGVyOwogICAgICAgICBlbHNlIGlmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+c2V0KQogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6U2V0dGVyOwot
ICAgICAgICBlbHNlCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKCFpc0dlbmVyYXRvciAmJiAh
aXNBc3luY01ldGhvZCAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7
CisgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgIGZhaWxJZlRy
dWUobV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBm
b2xsb3dpbmcga2V5d29yZCAnYXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBhcnNlUHJvcGVy
dHk7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3Rl
ZCBhICc6JyBmb2xsb3dpbmcgdGhlIHByb3BlcnR5IG5hbWUgJyIsIGlkZW50LT5pbXBsKCksICIn
Iik7CiAgICAgICAgIHJldHVybiBwYXJzZUdldHRlclNldHRlcihjb250ZXh0LCBjb21wbGV0ZSwg
dHlwZSwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBp
c0NsYXNzUHJvcGVydHkpOwogICAgIH0KQEAgLTM0NDEsMTEgKzM2ODcsMTEgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJB
cmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3Bl
cnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2Qo
Y29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9
IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3lu
Y01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6
Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6
TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUo
aXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7
CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVj
dGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1l
T3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAg
ICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4
dCk7CkBAIC0zNDYwLDExICszNzA2LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAg
ICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29t
cHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7
Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwg
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAg
ICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0t
PnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhv
ZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFBy
b3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6
Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5k
aW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElm
VHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxp
c3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAi
RXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwog
ICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihj
b250ZXh0KTsKQEAgLTM0NzksMTMgKzM3MjUsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlN
ZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUs
IGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9y
LCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwog
ICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1l
bnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1
cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZp
bml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRo
b2RJbmZvKTsKIH0KQEAgLTM3NTEsNiArMzk5NywyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhw
cgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1
bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0
Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsK
KyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlv
bkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVs
bElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZh
bHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpF
eHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7Cisg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbklu
Zm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJv
b2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9k
ZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICgh
aXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4MzgsMTMgKzQwOTgsMTcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rp
b25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2Nh
dGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlk
ZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2Vu
U3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9r
ZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5M
b2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2go
QVJST1dGVU5DVElPTikpKQorICAgICAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAx
JSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgICAgICBpZiAoVU5M
SUtFTFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICpp
ZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpCisgICAgICAgICAgICByZXR1cm4g
cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgaWYgKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGN1cnJlbnRT
Y29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAq
aWRlbnQpOwogICAgICAgICBtX3BhcnNlclN0YXRlLmxhc3RJZGVudGlmaWVyID0gaWRlbnQ7CkBA
IC00MDIxLDYgKzQyODUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAg
ZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgfQogCisgICAgYm9vbCBiYXNlSXNBc3lu
Y0tleXdvcmQgPSBmYWxzZTsKICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgU2NvcGVS
ZWYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29wZSA9IGNsb3Nlc3RQYXJlbnRPcmRpbmFyeUZ1
bmN0aW9uTm9uTGV4aWNhbFNjb3BlKCk7CiAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3Vy
cmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSB8fCAoY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29w
ZS0+aXNFdmFsQ29udGV4dCgpICYmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmV4cGVj
dGVkU3VwZXJCaW5kaW5nKCkgPT0gU3VwZXJCaW5kaW5nOjpOZWVkZWQpLCAic3VwZXIgaXMgbm90
IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwpAQCAtNDAzOCw4ICs0MzAzLDIwIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0
aW9uU3VwZXJCaW5kaW5nID09IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCAic3VwZXIgaXMgbm90
IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAg
fSBlbHNlIGlmICghYmFzZUlzTmV3VGFyZ2V0KQorICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1Rh
cmdldCkgeworICAgICAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNz
aW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgICAgICBjb25zdCBib29sIGlzQXN5
bmMgPSBtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsK
ICAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAg
IGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAg
ICAgIGlmIChVTkxJS0VMWShpc0FzeW5jICYmIGNvbnRleHQuaXNSZXNvbHZlKGJhc2UpICYmICFt
X2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lk
ZW50aWZpZXIoKSkgeworICAgICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAg
ICAgICAgICAgICAgIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNB
c3luY0Fycm93RnVuY3Rpb24pOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KIAogICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNz
aW9uIik7CiAgICAgd2hpbGUgKHRydWUpIHsKQEAgLTQwNzQsNiArNDM1MSw4IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEpT
VGV4dFBvc2l0aW9uIGV4cHJlc3Npb25FbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwogICAg
ICAgICAgICAgICAgIFRyZWVBcmd1bWVudHMgYXJndW1lbnRzID0gcGFyc2VBcmd1bWVudHMoY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGJhc2VJc0FzeW5jS2V5d29yZCAm
JiAoIWFyZ3VtZW50cyB8fCBtYXRjaChBUlJPV0ZVTkNUSU9OKSkpKQorICAgICAgICAgICAgICAg
ICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJv
d0Z1bmN0aW9uKTsKICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5u
b3QgcGFyc2UgY2FsbCBhcmd1bWVudHMiKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3Vw
ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJl
bnRGdW5jdGlvblNjb3BlKCk7CkBAIC00MTMyLDcgKzQ0MTEsNyBAQCBlbmRNZW1iZXJFeHByZXNz
aW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykK
IHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CiAKQEAgLTQxNDAsNyArNDQxOSw5IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvCiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7
CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFt
ZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpV
bm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90
IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRz
OjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJC
aW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRl
ZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24g
ZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGluZm8pOwogfQpAQCAtNDE4NCw2ICs0NDY1LDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
VW5hcnlFeHByZXNzCiAgICAgYm9vbCBtb2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJl
cXVpcmVzTEV4cHIgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisg
ICAgLy8gRklYTUU6IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUg
Y29kZS1sb2FkIGpxdWVyeS4KKyAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJl
bnRGdW5jdGlvblNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICBy
ZXR1cm4gcGFyc2VBd2FpdEV4cHJlc3Npb24oY29udGV4dCk7CisKICAgICB3aGlsZSAoaXNVbmFy
eU9wKG1fdG9rZW4ubV90eXBlKSkgewogICAgICAgICBpZiAoc3RyaWN0TW9kZSgpKSB7CiAgICAg
ICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00MzY1LDYgKzQ2NTEsNyBAQCB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpwcmlu
dFVuZXhwZWN0ZWRUb2tlblRleHQoVwogICAgICAgICBvdXQucHJpbnQoIkludmFsaWQgcHJpdmF0
ZSBuYW1lICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAgICByZXR1cm47CiAgICAgICAgICAg
ICAKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6CiAgICAgICAgIG91dC5wcmludCgi
VW5leHBlY3RlZCBpZGVudGlmaWVyICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MGUxMzkxYjVmZDAz
ZGQ1ZTc3OGI4ZmRiNTkyM2FhNzk4YWVkMTIzLi4xOGJlNzMxYTRiZGRiMWQ0OTA2NDQwZjg4ZWVj
YzEzM2U1ODIxMTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTEz
NSw3ICsxMzUsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNj
b3BlKTsKIAogcHVibGljOgotICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9u
LCBib29sIGlzR2VuZXJhdG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9u
KQorICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9uLCBib29sIGlzR2VuZXJh
dG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uLCBib29sIGlzQXN5bmNG
dW5jdGlvbikKICAgICAgICAgOiBtX3ZtKHZtKQogICAgICAgICAsIG1fc2hhZG93c0FyZ3VtZW50
cyhmYWxzZSkKICAgICAgICAgLCBtX3VzZXNFdmFsKGZhbHNlKQpAQCAtMTUwLDYgKzE1MCw4IEBA
IHB1YmxpYzoKICAgICAgICAgLCBtX2lzR2VuZXJhdG9yQm91bmRhcnkoZmFsc2UpCiAgICAgICAg
ICwgbV9pc0Fycm93RnVuY3Rpb24oaXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1faXNBcnJv
d0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24oaXNB
c3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoZmFsc2Up
CiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShmYWxzZSkKICAgICAgICAgLCBtX2lzRnVuY3Rp
b25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKHRydWUpCkBA
IC0xODEsNiArMTgzLDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFy
eShvdGhlci5tX2lzR2VuZXJhdG9yQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rp
b24ob3RoZXIubV9pc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25C
b3VuZGFyeShvdGhlci5tX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KQorICAgICAgICAsIG1faXNB
c3luY0Z1bmN0aW9uKG90aGVyLm1faXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1faXNBc3lu
Y0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAg
ICAgLCBtX2lzTGV4aWNhbFNjb3BlKG90aGVyLm1faXNMZXhpY2FsU2NvcGUpCiAgICAgICAgICwg
bV9pc0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Z1bmN0aW9uQm91bmRhcnkpCiAgICAgICAg
ICwgbV9pc1ZhbGlkU3RyaWN0TW9kZShvdGhlci5tX2lzVmFsaWRTdHJpY3RNb2RlKQpAQCAtMjM4
LDYgKzI0MiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VyY2VQYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIG1vZGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICAgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgICAg
ICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgor
ICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBi
cmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6
CiAgICAgICAgICAgICBzZXRJc0dlbmVyYXRvcigpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0y
NTcsNiArMjY5LDE1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigp
OwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jRnVuY3Rpb25Nb2RlOgorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRo
b2RNb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAg
ICBicmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAg
ICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAgICAgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAgLTI2OCw2ICsyODks
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7IHJldHVy
biBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3IoKSBjb25zdCB7
IHJldHVybiBtX2lzR2VuZXJhdG9yOyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvckJvdW5kYXJ5KCkg
Y29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvckJvdW5kYXJ5OyB9CisgICAgYm9vbCBpc0FzeW5j
RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNGdW5jdGlvbjsgfQorICAgIGJvb2wg
aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNGdW5jdGlv
bkJvdW5kYXJ5OyB9CiAKICAgICBib29sIGhhc0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzQXJndW1lbnRzOyB9CiAKQEAgLTI5MSw2ICszMTQsMTEgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9sZXhpY2FsVmFyaWFibGVzOwogICAgIH0KIAorICAgIGJvb2wgaXNNb2R1bGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHZvaWQgY29t
cHV0ZUxleGljYWxseUNhcHR1cmVkVmFyaWFibGVzQW5kUHVyZ2VDYW5kaWRhdGVzKCkKICAgICB7
CiAgICAgICAgIC8vIEJlY2F1c2UgdmFyaWFibGVzIG1heSBiZSBkZWZpbmVkIGF0IGFueSB0aW1l
IGluIHRoZSByYW5nZSBvZiBhIGxleGljYWwgc2NvcGUsIHdlIG11c3QKQEAgLTcxMCw2ICs3Mzgs
MzQgQEAgcHJpdmF0ZToKICAgICAgICAgbV9pc0Fycm93RnVuY3Rpb24gPSB0cnVlOwogICAgIH0K
IAorICAgIHZvaWQgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgc2V0
SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAg
ICB9CisKKyAgICB2b2lkIHNldElzQXN5bmNGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJ
c0Z1bmN0aW9uKCk7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisK
KyAgICB2b2lkIHNldElzQXN5bmNGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNG
dW5jdGlvbigpOworICAgICAgICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAgICAgICBtX2lz
QXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkg
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCkK
KyAgICB7CisgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2hhc0FyZ3Vt
ZW50cyA9IGZhbHNlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgICAg
IG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkgPSB0cnVlOworICAgIH0KKwogICAgIGNvbnN0IFZN
KiBtX3ZtOwogICAgIGJvb2wgbV9zaGFkb3dzQXJndW1lbnRzOwogICAgIGJvb2wgbV91c2VzRXZh
bDsKQEAgLTcyNCw2ICs3ODAsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0dlbmVyYXRvckJv
dW5kYXJ5OwogICAgIGJvb2wgbV9pc0Fycm93RnVuY3Rpb247CiAgICAgYm9vbCBtX2lzQXJyb3dG
dW5jdGlvbkJvdW5kYXJ5OworICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb247CisgICAgYm9vbCBt
X2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5OwogICAgIGJvb2wgbV9pc0xleGljYWxTY29wZTsKICAg
ICBib29sIG1faXNGdW5jdGlvbkJvdW5kYXJ5OwogICAgIGJvb2wgbV9pc1ZhbGlkU3RyaWN0TW9k
ZTsKQEAgLTg4Niw4ICs5NDQsOSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBlbnVtIEV4cHJl
c3Npb25FcnJvckNsYXNzIHsKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nLAotICAgICAg
ICBFcnJvckluZGljYXRlc1BhdHRlcm4KKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nID0g
MCwKKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLAorICAgICAgICBFcnJvckluZGljYXRl
c0FzeW5jQXJyb3dGdW5jdGlvbgogICAgIH07CiAKICAgICBzdHJ1Y3QgRXhwcmVzc2lvbkVycm9y
Q2xhc3NpZmllciB7CkBAIC05MTEsNiArOTcwLDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBt
X2NsYXNzID0gY2xhc3NpZmljYXRpb247CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIGZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRp
b24pCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKKyAg
ICAgICAgfQorCiAgICAgICAgIHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNz
aW9uRXJyb3JDbGFzcyBvbGRDbGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xh
c3NpZmljYXRpb24pCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChtX2NsYXNzICE9IG9sZENs
YXNzaWZpY2F0aW9uKQpAQCAtOTIwLDExICs5ODQsMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICB2
b2lkIHByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKCkKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKG1fcHJldmlvdXMgJiYgbV9jbGFzcyAhPSBFcnJvckluZGljYXRlc05vdGhpbmcpCisg
ICAgICAgICAgICBpZiAobV9wcmV2aW91cykKICAgICAgICAgICAgICAgICBtX3ByZXZpb3VzLT5t
X2NsYXNzID0gbV9jbGFzczsKICAgICAgICAgfQogCiAgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9z
c2libGVQYXR0ZXJuKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc1Bh
dHRlcm47IH0KKyAgICAgICAgYm9vbCBpbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVu
Y3Rpb247IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEV4cHJlc3Npb25FcnJvckNsYXNzIG1f
Y2xhc3M7CkBAIC05MzgsNiArMTAwMywxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9leHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5jbGFzc2lmeUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNh
dGlvbik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGZvcmNlQ2xhc3NpZnlFeHBy
ZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgewor
ICAgICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQorICAgICAgICAgICAgbV9l
eHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5mb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNs
YXNzaWZpY2F0aW9uKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgcmVjbGFzc2lm
eUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRDbGFzc2lmaWNhdGlvbiwg
RXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAgewogICAgICAgICBpZiAo
bV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQpAQCAtOTU5LDYgKzEwMzAsMTkgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvVmFyaWFi
bGVzOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgY29uc3QgY2hhciogZGVjbGFyYXRpb25U
eXBlVG9WYXJpYWJsZUtpbmQoRGVjbGFyYXRpb25UeXBlIHR5cGUpCisgICAgeworICAgICAgICBz
d2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0
aW9uOgorICAgICAgICAgICAgcmV0dXJuICJ2YXJpYWJsZSBuYW1lIjsKKyAgICAgICAgY2FzZSBE
ZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uOgorICAgICAgICBjYXNlIERlY2xhcmF0aW9u
VHlwZTo6Q29uc3REZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAibGV4aWNhbCB2YXJp
YWJsZSBuYW1lIjsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICByZXR1cm4gImludmFsaWQiOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJ
TkUgQXNzaWdubWVudENvbnRleHQgYXNzaWdubWVudENvbnRleHRGcm9tRGVjbGFyYXRpb25UeXBl
KERlY2xhcmF0aW9uVHlwZSB0eXBlKQogICAgIHsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CkBA
IC05NzEsNiArMTA1NSwxMiBAQCBwcml2YXRlOgogCiAgICAgQUxXQVlTX0lOTElORSBib29sIGlz
RXZhbE9yQXJndW1lbnRzKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KSB7IHJldHVybiBpc0V2YWxP
ckFyZ3VtZW50c0lkZW50aWZpZXIobV92bSwgaWRlbnQpOyB9CiAKKyAgICBTY29wZVJlZiB1cHBl
clNjb3BlKGludCBuKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fc2NvcGVTdGFjay5zaXplKCkg
Pj0gc2l6ZV90KDEgKyBuKSk7CisgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNr
LCBtX3Njb3BlU3RhY2suc2l6ZSgpIC0gMSAtIG4pOworICAgIH0KKwogICAgIFNjb3BlUmVmIGN1
cnJlbnRTY29wZSgpCiAgICAgewogICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFj
aywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEpOwpAQCAtMTAyNywxMyArMTExNywxNSBAQCBwcml2
YXRlOgogICAgICAgICBib29sIGlzU3RyaWN0ID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNHZW5l
cmF0b3IgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAg
ICAgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKCFtX3Njb3Bl
U3RhY2suaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpc1N0cmljdCA9IG1fc2NvcGVTdGFjay5s
YXN0KCkuc3RyaWN0TW9kZSgpOwogICAgICAgICAgICAgaXNGdW5jdGlvbiA9IG1fc2NvcGVTdGFj
ay5sYXN0KCkuaXNGdW5jdGlvbigpOwogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSBtX3Njb3Bl
U3RhY2subGFzdCgpLmlzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24g
PSBtX3Njb3BlU3RhY2subGFzdCgpLmlzQXJyb3dGdW5jdGlvbigpOworICAgICAgICAgICAgaXNB
c3luY0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0FzeW5jRnVuY3Rpb24oKTsKICAg
ICAgICAgfQotICAgICAgICBtX3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlz
RnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9uKTsKKyAgICAg
ICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dl
bmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbiwgaXNBc3luY0Z1bmN0aW9uKTsKICAg
ICAgICAgcmV0dXJuIGN1cnJlbnRTY29wZSgpOwogICAgIH0KIApAQCAtMTM0NiwyMSArMTQzOCwy
NCBAQCBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEt
MjYyLzYuMC8jc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50
aWNzLWVhcmx5LWVycm9ycwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlm
aWVyKGJvb2wgaW5HZW5lcmF0b3IpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQp
IHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJh
dG9yKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNM
RVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOwog
ICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBtYXRjaFNwZWNJZGVudGlmaWVyKGN1cnJlbnRTY29wZSgpLT5p
c0dlbmVyYXRvcigpKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJ
VCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVu
dFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VBc3luY0Z1bmN0aW9uU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50TGlzdEl0ZW0o
VHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmll
ciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKICAg
ICBlbnVtIGNsYXNzIEV4cG9ydFR5cGUgeyBFeHBvcnRlZCwgTm90RXhwb3J0ZWQgfTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xh
cmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVk
LCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6
U3RhbmRhcmQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhw
b3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJh
dGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChU
cmVlQnVpbGRlciYsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4
cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29u
dGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0
aW9uKFRyZWVCdWlsZGVyJiwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlw
ZTo6Tm90RXhwb3J0ZWQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZURvV2hpbGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChU
cmVlQnVpbGRlciYpOwpAQCAtMTM4Nyw2ICsxNDgyLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VD
b25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUV4cHJlc3Npb24gcGFyc2VBd2FpdEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3
ICsxNDkwLDE4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJl
c3Npb24gcGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VB
c3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRz
KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVu
dFR5cGUmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBw
YXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVl
QnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dl
bmVyYXRvcik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVy
U2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5z
aWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlz
Q2xhc3NQcm9wZXJ0eSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBT
eW50YXhDaGVja2VyJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwg
Q29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVk
LCBTb3VyY2VQYXJzZU1vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBib29sIHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVG
b3JtYWxQYXJhbWV0ZXJMaXN0LCB1bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFi
bGVEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURl
c3RydWN0dXJpbmdQYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0
aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0
U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0
LCBEZWNsYXJhdGlvblR5cGUsIEV4cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RI
YXZlSW5pdGlhbGl6ZXIpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVy
aW5nUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJp
bmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVu
dENvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gY3JlYXRlQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVz
c2lvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gcGFyc2VCaW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIq
KiBkdXBsaWNhdGVJZGVudGlmaWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNz
aWdubWVudENvbnRleHQgYmluZGluZ0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1
NTksMjEgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwo
KTsKICAgICB9CiAKKyAgICBib29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBK
U1Rva2VuJiB0b2tlbikKKyAgICB7CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdB
SVQgJiYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5
bmNGdW5jdGlvbkJvdW5kYXJ5KCkgfHwgY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkgfHwgIW1f
cGFyc2VyU3RhdGUuYWxsb3dBd2FpdCk7CisgICAgfQorCisgICAgY29uc3QgY2hhciogZGlzYWxs
b3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpCisgICAgeworICAgICAgICBpZiAoIW1fcGFyc2Vy
U3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRh
cnkoKSkKKyAgICAgICAgICAgIHJldHVybiAiaW4gYW4gYXN5bmMgZnVuY3Rpb24iOworICAgICAg
ICBpZiAoY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkpCisgICAgICAgICAgICByZXR1cm4gImlu
IGEgbW9kdWxlIjsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNl
UGhhc2UgeyBQYXJhbWV0ZXJzLCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAg
ICAgICAgaW50IGFzc2lnbm1lbnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU4Miw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBG
dW5jdGlvblBhcnNlUGhhc2U6OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFz
dElkZW50aWZpZXIgeyBudWxscHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RG
dW5jdGlvbk5hbWUgeyBudWxscHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUg
fTsKICAgICB9OwogCiAgICAgLy8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBw
cm9iYWJseSBzaG91bGQgYmUgdXNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyTW9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyTW9kZXMuaAppbmRleCA5ZmQ3Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2
Li4zMmFjZmYxODIyZTNmMGUxZGM5NDU3NzYxZTU5M2RjYmZhMzMxY2RmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZu
ZGVmIFBhcnNlck1vZGVzX2gKICNkZWZpbmUgUGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAiQ29u
c3RydWN0QWJpbGl0eS5oIgogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNlIEpT
QyB7CkBAIC00Myw4MCArNDQsMTE3IEBAIGVudW0gRGVidWdnZXJNb2RlIHsgRGVidWdnZXJPZmYs
IERlYnVnZ2VyT24gfTsKIAogZW51bSBjbGFzcyBGdW5jdGlvbk1vZGUgeyBGdW5jdGlvbkV4cHJl
c3Npb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIE1ldGhvZERlZmluaXRpb24gfTsKIAotZW51bSBj
bGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50OF90IHsKLSAgICBOb3JtYWxGdW5jdGlvbk1vZGUs
Ci0gICAgR2VuZXJhdG9yQm9keU1vZGUsCi0gICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZSwKLSAgICBHZXR0ZXJNb2RlLAotICAgIFNldHRlck1vZGUsCi0gICAgTWV0aG9kTW9kZSwKLSAg
ICBBcnJvd0Z1bmN0aW9uTW9kZSwKLSAgICBQcm9ncmFtTW9kZSwKLSAgICBNb2R1bGVBbmFseXpl
TW9kZSwKLSAgICBNb2R1bGVFdmFsdWF0ZU1vZGUKK2VudW0gY2xhc3MgU291cmNlUGFyc2VNb2Rl
IDogdWludDE2X3QgeworICAgIE5vcm1hbEZ1bmN0aW9uTW9kZSAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAwMDAwMDAxLAorICAgIEdlbmVyYXRvckJvZHlNb2RlICAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAwMDAwMDEwLAorICAgIEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgID0gMGIwMDAw
MDAwMDAwMDAwMTAwLAorICAgIEdldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAwMDAxMDAwLAorICAgIFNldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAwMDEwMDAwLAorICAgIE1ldGhvZE1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAwMTAwMDAwLAorICAgIEFycm93RnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAw
MDAwMDAxMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Cb2R5TW9kZSAgICAgICAgID0gMGIwMDAw
MDAwMDEwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICAgID0gMGIwMDAw
MDAwMTAwMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAw
MDAxMDAwMDAwMDAwLAorICAgIEFzeW5jTWV0aG9kTW9kZSAgICAgICAgICAgICAgID0gMGIwMDAw
MDEwMDAwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgID0gMGIwMDAw
MTAwMDAwMDAwMDAwLAorICAgIFByb2dyYW1Nb2RlICAgICAgICAgICAgICAgICAgID0gMGIwMDAx
MDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUFuYWx5emVNb2RlICAgICAgICAgICAgID0gMGIwMDEw
MDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUV2YWx1YXRlTW9kZSAgICAgICAgICAgID0gMGIwMTAw
MDAwMDAwMDAwMDAwLAogfTsKIAotaW5saW5lIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlKQordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlIG1vZGUsIFNv
dXJjZVBhcnNlTW9kZS4uLiByZXN0Pgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2RlcyB7Cisg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1v
ZGUpIHwgTWVyZ2VTb3VyY2VQYXJzZU1vZGVzPHJlc3QuLi4+Ojp2YWx1ZTsKK307CisKK3RlbXBs
YXRlPFNvdXJjZVBhcnNlTW9kZSBtb2RlPgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2Rlczxt
b2RlPiB7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KG1vZGUpOworfTsKKwordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlLi4uIG1vZGVzPgor
c3RhdGljIEFMV0FZU19JTkxJTkUgYm9vbCBvbmVPZlNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFy
c2VNb2RlIG1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dG
dW5jdGlvbk1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFs
eXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4obW9kZSkgJiBNZXJnZVNvdXJjZVBhcnNlTW9kZXM8bW9kZXMuLi4+Ojp2YWx1ZTsKIH0KIAot
aW5saW5lIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkK
K0FMV0FZU19JTkxJTkUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1v
ZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dG
dW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6R2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5j
dGlvbkJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2Rl
LAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOwogfQogCi1pbmxp
bmUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK0FM
V0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSkKIHsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0
dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5
emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG9uZU9mU291cmNlUGFyc2VNb2Rl
czwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsCisgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uQm9keU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0Fz
eW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorewor
ICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBi
b29sIGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNl
TW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNN
ZXRob2RNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1
bmN0aW9uQm9keVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQoreworICAgIHJl
dHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbkJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNN
ZXRob2RQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4g
b25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
cldyYXBwZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9k
ZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRo
b2RNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJz
ZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3Vy
Y2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2Rl
LAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZT4ocGFyc2VNb2Rl
KTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGUgcGFyc2VNb2RlKQoreworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291
cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElO
RSBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0eTo6
Q2FuQ29uc3RydWN0OworCisgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5vdENvbnN0
cnVjdDsKIH0KIAogaW5saW5lIGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0IElkZW50
aWZpZXImIG5hbWUsIEZ1bmN0aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYzYWNlZjc5
YzY5Y2QyOGY4MjNjMmE3ZTgwLi5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFhNTJlNjYx
ZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAg
LTgzLDYgKzgzLDcgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwKICAgICBF
WFRFTkRTLAogICAgIFNVUEVSLAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAsCiAgICAg
Q0xPU0VCUkFDRSwKICAgICBPUEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEyNzdm
YTJkODI2ODYuLjI4MThiZjdiYTRkZTBlMjcxNTY3NTJkZDZjYzNiZmQzYTM1ZTQxMTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xODQsNiAr
MTg0LDcgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVlpZWxkKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBib29sLCBpbnQsIGludCwgaW50KSB7IHJl
dHVybiBZaWVsZEV4cHI7IH0KICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHByKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhDaGVja2Vy
PiYsIFZhcmlhYmxlRW52aXJvbm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUs
IFByb3BlcnR5TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rp
b25FeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNr
ZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uTWV0
YWRhdGEoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50
LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5n
LCB1bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rpb25Db2Rl
RmVhdHVyZXMgPSBOb0lubmVyQXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBGdW5jdGlv
bkJvZHlSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4
Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBj
cmVhdGVNZXRob2REZWZpbml0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNl
ckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
aW5kZXggNDA1MTI2MmRhNTFiY2JkYWI3NzVjZjYxYjBjMGNiYzBmZjU3MTFmMS4uNzM4OWY5ZWNl
Y2U1Zjg4YTM4ZjQ2MjdkMjM4N2Q2MjE3Yjk2NWZmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0xMDksNiArMTA5LDcgQEAK
ICAgICBtYWNybyhhcmd1bWVudHMpIFwKICAgICBtYWNybyhhcykgXAogICAgIG1hY3JvKGFzc2ln
bikgXAorICAgIG1hY3JvKGFzeW5jKSBcCiAgICAgbWFjcm8oYmFjaykgXAogICAgIG1hY3JvKGJp
bmQpIFwKICAgICBtYWNybyhibHVyKSBcCkBAIC0yNzEsNiArMjcyLDcgQEAKICAgICBtYWNybyh5
ZWFyKQogCiAjZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1hY3Jv
KSBcCisgICAgbWFjcm8oYXdhaXQpIFwKICAgICBtYWNybyhicmVhaykgXAogICAgIG1hY3JvKGNh
c2UpIFwKICAgICBtYWNybyhjYXRjaCkgXApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cg
Yi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3ODE2NWU3MzFjMjFlZDk2NTBmYzE4MjFkNmRmMDM5
NTFjYzFhNGQ4Li40NjE3MWZhYTY4MDRhYzIzOGMyYTI2MzMzM2Q0YzljYmUwZjZkNzc2IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM5IEBACisyMDE2LTA4LTMwICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9h
c3luYy1hd2FpdC1zeW50YXguanM6IEFkZGVkLgorICAgICAgICAodGVzdFN5bnRheCk6CisgICAg
ICAgICh0ZXN0U3ludGF4RXJyb3IpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5
bnRheFNsb3BweU1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3
YWl0U3ludGF4U2xvcHB5TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3lu
dGF4U3RyaWN0TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3Ry
aWN0TW9kZS50ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4
LmFzeW5jKToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6CisgICAg
ICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4RXJy
b3IpOgorCisyMDE2LTA4LTMwICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9hc3lu
Yy1hd2FpdC1zeW50YXguanM6IEFkZGVkLgorICAgICAgICAodGVzdFN5bnRheCk6CisgICAgICAg
ICh0ZXN0U3ludGF4RXJyb3IpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRh
eFNsb3BweU1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0
U3ludGF4U2xvcHB5TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4
U3RyaWN0TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0
TW9kZS50ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmFz
eW5jKToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6CisgICAgICAg
ICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4RXJyb3Ip
OgorCiAyMDE2LTA4LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtKU0NdIEltcHJvdmUgQXJpdGhBYnMgd2l0aCBwb2x5bW9ycGhpYyBpbnB1dApk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0
cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ZmQ1YWU5NjY1NWQz
ZDM4OWM1ZTdkMDg0MTU0MzExOGIzOTMyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0
cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyNzYgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
CitmdW5jdGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwo
c2NyaXB0KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IgaW5zdGFu
Y2VvZiBTeW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9y
OiAiICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsg
ImAiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQsIG1lc3Nh
Z2UpIHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2Ny
aXB0KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAg
aWYgKCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJy
b3Igbm90IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworCisg
ICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3IpICE9PSBt
ZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhl
cnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9CisKKyhm
dW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0
ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2Ap
OworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUo
KSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyAo
KSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3lu
YyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMgZnVuY3Rp
b24gYXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBh
c3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9
IHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5
bnRheChgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQg
MTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsg
YXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAwKCkgeyBh
d2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZv
byA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMo
eyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9u
KiBnKCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlv
biB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3lu
dGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0
IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFz
eW5jIGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgo
YCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7
CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4g
YXdhaXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGFzeW5j
IGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29k
J10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZh
ciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50
YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMg
eyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3lu
dGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIDAo
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBh
c3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9v
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBm
ID0gYXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5j
dGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVu
Y3Rpb24gdGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRleHREYXRh
ID0gWworICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7ICIsIHN1
ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdlbmVyYXRv
cigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyRnVu
Y0V4cHIgPSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZp
eDogInZhciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3Qg
PSB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsg
cHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4
cHIgPSBjbGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGlj
IG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBw
cmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRlclN0YXRp
Y0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
Y2xhc3Mgb3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0aG9kKCkg
eyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNs
YXNzIHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRlclN0YXRp
Y0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
dmFyIG91dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBw
cmVmaXg6ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDog
IiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIgPSBhc3lu
YyBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZh
ciBvdXRlckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0s
CisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRlckFzeW5j
TWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIg
b3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwg
c3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHBy
ID0gY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsg
YXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAg
IHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0Fz
eW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAgdmFyIHRl
c3REYXRhID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAg
ICAgIGBsZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0IGFzeW5j
ID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9IHJldHVy
biBhc3luYygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsgcmV0dXJu
IGFzeW5jKCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0
dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdh
aXQ7IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJu
IGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0
OyB9YCwKKyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdh
aXQ7IH1gLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0
dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQpIHsgcmV0
dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2YXIgYXdh
aXQgPSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2Qo
YXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9uIGF3YWl0
KCkge30pYCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0RGF0YSkg
eworICAgICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAgICBsZXQg
c2NyaXB0ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7CisgICAgICAg
ICAgICB0ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAgfQorfSkoKTsKKworCisoZnVuY3Rp
b24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0ID0g
J3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9
PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0
KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQp
ID0+ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGFzeW5j
RnVuY3Rpb25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBNZXRob2RE
ZWZpbml0aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0cmljdGlv
bnMKKyAgICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRl
ck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhF
cnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30g
fWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdt
ZXRob2QnKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2Jq
ZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFy
IGFzeW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JN
ZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIGFz
eW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0
dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9IGF3YWl0
IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9k
KHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlp
ZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVy
YXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fy
cm93Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4
ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBh
c3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMg
e307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMg
eyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtgKTsKKwor
ICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YChhc3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
LmZvbzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzkgKCkg
PT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFz
eW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNb
J2ZvbzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28x
OCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTknXSBmb28y
MCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4g
MWApOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOworICAgIHRl
c3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRlc3RTeW50
YXhFcnJvcigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigi
KGFzeW5jYGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5j
YGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5j
YGZvbzMxYC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFy
ZSBzdGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlv
bnMKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAg
ICAgICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVz
dFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFz
eW5jICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0
JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5j
IFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7
IGFzeW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkg
e31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24q
IGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5l
cmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYyh4ID0g
YXdhaXQgMSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRv
cigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2
YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5
bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5j
QXJyb3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBD
MiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7
fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNs
YXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5
bmMoeCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydz
IGJ1ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5j
dGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9u
KCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
KGFzeW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZvbzEyID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEz
ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1sn
Zm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5
bmNbJ2ZvbzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgpID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yMmAgPT4g
MSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIzYCBm
b28yNCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNg
Zm9vMjVgICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChh
c3luY2Bmb28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RTeW50YXhF
cnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7CisKKyAg
ICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMgdGhhdCBt
YXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7
IGZvbzMzID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBPID0geyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwpIHt9IH1g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdt
ZXRob2QnKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIE8gPSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgn
ICsgJ29kJ10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJndW1lbnRz
KSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jIG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9KSgpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288192</attachid>
            <date>2016-09-07 15:15:28 -0700</date>
            <delta_ts>2016-09-08 20:36:24 -0700</delta_ts>
            <desc>Async Function Parsing v2</desc>
            <filename>bug-161409-20160907181302.patch</filename>
            <type>text/plain</type>
            <size>112080</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1MTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ODA5YmU2NDBiNWM3ZWE5MTBiYzRjMmU1OTc0YzkwZWZiY2FkMGNmLi44OTIyZmNhMGRhYWFhM2Q4
ZTc4MWEzN2U2YzdkODM2ZmQ2ZDY5MGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OCBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAgICAg
ICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAgKiBw
YXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBc3lu
Y0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL0tleXdvcmRzLnRhYmxlOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVu
Y3Rpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
Rm9ybWFsUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVy
cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxT
dGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRD
bGF1c2VJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0
RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBv
cnREZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFz
c2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXdhaXRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9w
ZXJ0eU1ldGhvZCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5j
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VNZW1iZXJFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VVbmFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlNjb3BlOjpTY29wZSk6CisgICAgICAgIChKU0M6OlNjb3Bl
OjpzZXRTb3VyY2VQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0
aW9uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzTW9kdWxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldElz
QXN5bmNBcnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5j
dGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb25Cb2R5KToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6Zm9yY2VDbGFzc2lmeUV4
cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xh
c3NpZmllcjo6cHJvcGFnYXRlRXhwcmVzc2lvbkVycm9yQ2xhc3MpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3NpYmxlQXN5bmNB
cnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpmb3JjZUNsYXNzaWZ5RXhwcmVz
c2lvbkVycm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkZWNsYXJhdGlvblR5cGVUb1Zhcmlh
YmxlS2luZCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6dXBwZXJTY29wZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6cHVzaFNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjptYXRjaFNwZWNJ
ZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjppc0Rpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRS
ZWFzb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNHZW5lcmF0b3JCb3VuZGFyeSk6IERlbGV0
ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5k
aWNhdGVzUG9zc2libGVQYXR0ZXJuKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
TW9kZXMuaDoKKyAgICAgICAgKEpTQzo6b25lT2ZTb3VyY2VQYXJzZU1vZGVzKToKKyAgICAgICAg
KEpTQzo6aXNGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNGdW5jdGlv
blBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNBcnJvd0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZSk6CisgICAg
ICAgIChKU0M6OmlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c01ldGhvZFBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTW9kdWxlUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNQcm9ncmFtUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0
QWJpbGl0eUZvclBhcnNlTW9kZSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vucy5oOgor
ICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENo
ZWNrZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hl
Y2tlcjo6Y3JlYXRlRnVuY3Rpb25FeHByKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0Nv
bW1vbklkZW50aWZpZXJzLmg6CisKIDIwMTYtMDgtMzAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSB0aGUgVGhyb3dTY29wZSBhbmQgZm9yY2UgZXZl
cnkgdGhyb3cgc2l0ZSB0byBpbnN0YW50aWF0ZSBhIFRocm93U2NvcGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlLmNwcAppbmRleCAwNTRkNjNkZjU5YTc4NDc1NWI5YmFlN2ZlZDJjZDc2YjU4MGMwMjlj
Li5mMDI4ZDQ4ODBjOTU3MjY4NmQzODJjNTM5YWRkNWE3NjhjZDMzNDcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZS5jcHAKQEAgLTg5LDYgKzg5LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QK
ICAgICAsIG1fdHlwZVByb2ZpbGluZ0VuZE9mZnNldChub2RlLT5zdGFydFN0YXJ0T2Zmc2V0KCkg
KyBub2RlLT5zb3VyY2UoKS5sZW5ndGgoKSAtIDEpCiAgICAgLCBtX3BhcmFtZXRlckNvdW50KG5v
ZGUtPnBhcmFtZXRlckNvdW50KCkpCiAgICAgLCBtX2ZlYXR1cmVzKDApCisgICAgLCBtX3NvdXJj
ZVBhcnNlTW9kZShub2RlLT5wYXJzZU1vZGUoKSkKICAgICAsIG1faXNJblN0cmljdENvbnRleHQo
bm9kZS0+aXNJblN0cmljdENvbnRleHQoKSkKICAgICAsIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMo
ZmFsc2UpCiAgICAgLCBtX2lzQnVpbHRpbkZ1bmN0aW9uKGtpbmQgPT0gVW5saW5rZWRCdWlsdGlu
RnVuY3Rpb24pCkBAIC05OCw3ICs5OSw2IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpV
bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAg
LCBtX2NvbW1lbnRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkpCiAgICAg
LCBtX3N1cGVyQmluZGluZyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+c3VwZXJCaW5kaW5n
KCkpKQogICAgICwgbV9kZXJpdmVkQ29udGV4dFR5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRl
cml2ZWRDb250ZXh0VHlwZSkpCi0gICAgLCBtX3NvdXJjZVBhcnNlTW9kZShzdGF0aWNfY2FzdDx1
bnNpZ25lZD4obm9kZS0+cGFyc2VNb2RlKCkpKQogICAgICwgbV9uYW1lKG5vZGUtPmlkZW50KCkp
CiAgICAgLCBtX2VjbWFOYW1lKG5vZGUtPmVjbWFOYW1lKCkpCiAgICAgLCBtX2luZmVycmVkTmFt
ZShub2RlLT5pbmZlcnJlZE5hbWUoKSkKQEAgLTExMiw3ICsxMTIsNiBAQCBVbmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdAogICAgIEFTU0VSVChtX2NvbW1lbnRNb2RlID09IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihjb21tZW50TW9kZSkpOwogICAgIEFTU0VSVChtX3N1cGVyQmluZGluZyA9PSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4obm9kZS0+c3VwZXJCaW5kaW5nKCkpKTsKICAgICBBU1NFUlQobV9kZXJp
dmVkQ29udGV4dFR5cGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlcml2ZWRDb250ZXh0VHlw
ZSkpOwotICAgIEFTU0VSVChtX3NvdXJjZVBhcnNlTW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4obm9kZS0+cGFyc2VNb2RlKCkpKTsKIAogICAgIG1fcGFyZW50U2NvcGVURFpWYXJpYWJsZXMu
c3dhcChwYXJlbnRTY29wZVREWlZhcmlhYmxlcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCmlu
ZGV4IDFlM2NiYWZmZWMyODg3Yzc5NjA3ZDRkMDc3ODMxNDM1NmExODBlMzIuLjg5YWFiOGFiZjcx
NzFlOGQ0OThjYjVhYzMxODc0MmRjNzMwNTcwODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oCkBA
IC0xNTUsNiArMTU1LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3R5cGVQcm9maWxpbmdF
bmRPZmZzZXQ7CiAgICAgdW5zaWduZWQgbV9wYXJhbWV0ZXJDb3VudDsKICAgICBDb2RlRmVhdHVy
ZXMgbV9mZWF0dXJlczsKKyAgICBTb3VyY2VQYXJzZU1vZGUgbV9zb3VyY2VQYXJzZU1vZGU7CiAg
ICAgdW5zaWduZWQgbV9pc0luU3RyaWN0Q29udGV4dCA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXND
YXB0dXJlZFZhcmlhYmxlcyA6IDE7CiAgICAgdW5zaWduZWQgbV9pc0J1aWx0aW5GdW5jdGlvbiA6
IDE7CkBAIC0xNjQsNyArMTY1LDYgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2NvbW1lbnRN
b2RlOiAxOyAvLyBKU1BhcnNlckNvbW1lbnRNb2RlCiAgICAgdW5zaWduZWQgbV9zdXBlckJpbmRp
bmcgOiAxOwogICAgIHVuc2lnbmVkIG1fZGVyaXZlZENvbnRleHRUeXBlOiAyOwotICAgIHVuc2ln
bmVkIG1fc291cmNlUGFyc2VNb2RlIDogNDsgLy8gU291cmNlUGFyc2VNb2RlCiAKICAgICBXcml0
ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVCbG9ja0Zv
ckNhbGw7CiAgICAgV3JpdGVCYXJyaWVyPFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+IG1fdW5s
aW5rZWRDb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDcyZDI3OGJj
OWYzODljMjU5OGFhMmY0NjNiMWE1YmEwODdlYjk0MDMuLjQ5NWFjYmFiMWVmYzJlMjk3YTA0MzEx
MzQ3MDU3NWQ2M2IzOTQ3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yOTc1LDE3ICsyOTc1LDE0
IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHByZXNz
aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBBcnJv
d0Z1bmNFeHByTm9kZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFy
c2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSk7CisgICAgQVNT
RVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGUgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKTsKICAgICBlbWl0TmV3RnVuY3Rpb25F
eHByZXNzaW9uQ29tbW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsK
IH0KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0
aW9uKFJlZ2lzdGVySUQqIGRzdCwgTWV0aG9kRGVmaW5pdGlvbk5vZGUqIGZ1bmMpCiB7Ci0gICAg
QVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgp
LT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUKLSAgICAgICAgfHwg
ZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJN
b2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBh
cnNlTW9kZTo6TWV0aG9kTW9kZSk7CisgICAgQVNTRVJUKGlzTWV0aG9kUGFyc2VNb2RlKGZ1bmMt
Pm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpKSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lv
bkNvbW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IDFjMTEzYmFlMTRkNTZk
NzgwOWExMGRmYjljNWY2Mzc4NjAwYjcwMDEuLmU1MWFhODVkMmQyNjBlMDg1MDk3YTNiZGNjOTNl
Y2JiMWMwYjI1YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CkBAIC0zODIsNiArMzgyLDE3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAg
ICB9CiAKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1
aWxkZXI+JiBmdW5jdGlvbkluZm8sIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCisgICAgewor
ICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uQm9keU1vZGUpIHsKKyAgICAgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gbV9zb3VyY2VD
b2RlLT5zdWJFeHByZXNzaW9uKGZ1bmN0aW9uSW5mby5zdGFydE9mZnNldCwgZnVuY3Rpb25JbmZv
LmJvZHktPmlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKCkgPyBmdW5jdGlvbkluZm8uZW5k
T2Zmc2V0IC0gMSA6IGZ1bmN0aW9uSW5mby5lbmRPZmZzZXQsIGZ1bmN0aW9uSW5mby5zdGFydExp
bmUsIGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJzU3RhcnRDb2x1bW4pOworICAgICAgICAgICAgRnVu
Y0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2Nh
dGlvbiwgKmZ1bmN0aW9uSW5mby5uYW1lLCBmdW5jdGlvbkluZm8uYm9keSwgc291cmNlKTsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uSW5mby5ib2R5LT5zZXRMb2MoZnVuY3Rpb25JbmZvLnN0YXJ0TGlu
ZSwgZnVuY3Rpb25JbmZvLmVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5s
aW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8p
OworICAgIH0KKwogICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVNZXRob2REZWZpbml0aW9uKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxB
U1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvKQogICAgIHsKICAgICAgICAgTWV0aG9kRGVmaW5pdGlv
bk5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgTWV0aG9kRGVmaW5pdGlvbk5vZGUo
bG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25JbmZvLmJvZHksCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQppbmRleCA0NTgyZDAwYWFlOTdl
ZDE1M2VjZjk5YWY4ZGI5NmE3NTYxOTFlZDJhLi4yZjdkZmM1NWMwZGE4YzAzMWQ2NjQzMjEzNmU3
NDg4OGJiYmNmOTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tl
eXdvcmRzLnRhYmxlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMu
dGFibGUKQEAgLTcsNiArNyw3IEBAIHRydWUJCVRSVUVUT0tFTgogZmFsc2UJCUZBTFNFVE9LRU4K
IAogIyBLZXl3b3Jkcy4KK2F3YWl0ICAgICAgIEFXQUlUCiBicmVhawkJQlJFQUsKIGNhc2UJCUNB
U0UKIGNhdGNoCQlDQVRDSApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmlu
ZGV4IDI2MTc0NWExOTAzMTdkZTc1OTEyZTNhOTIzZmE5ZjI4ODc0ODYzZDYuLmEwMjE3MzczMWRj
YTk3YjkyZDUwNTc5ZDliNTY0NWZjODQwNDU4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50aWNGYWlsKCJD
YW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9f
VkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRUb2tlbkZsYWcp
IFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3JkICciLCBnZXRU
b2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rpc2FsbG93ZWRJ
ZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWlsKCJDYW4ndCB1
c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBA
IC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIo
Y29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIHNjb3BlLT5z
ZXRJc0xleGljYWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4g
ZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhh
c2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bkJvZHlNb2RlICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVyLT5pc1JlcGFy
c2luZ0Z1bmN0aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+
IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvckJvZHlNb2RlKQorICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yQm9keU1vZGUgfHwgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShw
YXJzZU1vZGUpKQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gY3JlYXRlR2VuZXJhdG9yUGFy
YW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhj
b250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAgICAgICAgaWYgKHBhcnNlTW9k
ZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlICYmICFoYXNFcnJvcigpKSB7
CisgICAgICAgIGlmIChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlPihw
YXJzZU1vZGUpICYmICFoYXNFcnJvcigpKSB7CiAgICAgICAgICAgICAvLyBUaGUgb25seSB3YXkg
d2UgY291bGQgaGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBydW4gb3V0IG9m
IHN0YWNrIHNwYWNlLgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2goQVJST1dGVU5D
VElPTikpOwogICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYgQEAgU3RyaW5n
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5h
bWUsIFNvdXJjZVBhcnNlTW8KICAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBu
dWxscHRyOwogICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBlYXJseSBpcyBp
ZiB3ZSByZXBhcnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sgc3BhY2UuCiAg
ICAgaWYgKCFoYXNFcnJvcigpKSB7Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbikKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFy
c2VNb2RlKSkKKyAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3luY0Z1bmN0aW9u
U291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbiwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAoaXNBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24pCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNl
QXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoY29udGV4dCk7
CiAgICAgICAgIGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkpCiAgICAgICAg
ICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMoY29udGV4dCwg
cGFyc2VNb2RlKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFyc2VNb2RlID09
IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkKLSAgICAgICAg
ICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVt
ZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHBhcnNl
TW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCisg
ICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5nID0gY29uc3Vt
ZShFT0ZUT0spOwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAg
ICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAgICB2YXJEZWNs
YXJhdGlvbnMubWFya1ZhcmlhYmxlQXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBpZiAocGFyc2VN
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgewor
ICAgIGlmIChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlPihwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQ
YXJzZU1vZGUocGFyc2VNb2RlKSkgewogICAgICAgICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXND
b250YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAg
ICAgIGNvbnRleHQucHJvcGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICsz
NTYsMTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VF
bGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJz
KCkKIHsKLSAgICBib29sIGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29s
IGlzSWRlbnQgPSBtYXRjaChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAh
aXNJZGVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rp
b24gPSBmYWxzZTsKLSAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOwotICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0
KCk7Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAo
bWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wg
aXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkg
ewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0
Y2goQVJST1dGVU5DVElPTik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhl
clR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWdu
ZWQgcGFyYW1ldGVyc0NvdW50ID0gMDsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZv
cm1hbFBhcmFtZXRlckxpc3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFS
RU4pICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAg
ICAgICBwb3BTY29wZShmYWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJ
bmZvKTsKICAgICAgICAgfQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAg
ICAgCi0gICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAg
ICAgCi0gICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVu
dGlmaWVyKCkpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dG
dW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50
KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9u
OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KQEAgLTU0MCw2ICs1MzksNTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0K
IAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVu
Y3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxl
bWVudHNNb2RlIG1vZGUpCit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUocGFyc2VNb2RlKSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3Jl
YXRlU291cmNlRWxlbWVudHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50
IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAg
IGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisK
KyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1l
ID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVy
YXRvclBhcmFtZXRlcnMoY29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5z
dGFydE9mZnNldCA9IHBhcmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2Vu
TGluZSgpOworICAgIGluZm8ucGFyYW1ldGVyQ291bnQgPSA0OyAvLyBnZW5lcmF0b3IsIHN0YXRl
LCB2YWx1ZSwgcmVzdW1lIG1vZGUKKyAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUg
PSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlCisg
ICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAg
ICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOworICAgIHsKKyAg
ICAgICAgQXV0b1BvcFNjb3BlUmVmIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOworICAgICAgICBhc3luY0Z1bmN0aW9uQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1v
ZGUoaW5uZXJQYXJzZU1vZGUpOworICAgICAgICBTeW50YXhDaGVja2VyIGFzeW5jRnVuY3Rpb25D
b250ZXh0KGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisgICAgICAgIGlm
IChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgICAgIGZhaWxJZkZhbHNl
KHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoYXN5
bmNGdW5jdGlvbkNvbnRleHQpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGFycm93
IGZ1bmN0aW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNl
U291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQsIG1vZGUpLCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgICAgIHBvcFNjb3BlKGFzeW5jRnVu
Y3Rpb25Cb2R5U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAg
IH0KKyAgICBpbmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoc3RhcnRM
b2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgdG9rZW5Db2x1bW4oKSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtX3N1cGVyQmluZGluZywgaW5mby5w
YXJhbWV0ZXJDb3VudCwgaW5uZXJQYXJzZU1vZGUsIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNz
aW9uKTsKKworICAgIGluZm8uZW5kTGluZSA9IHRva2VuTGluZSgpOworICAgIGluZm8uZW5kT2Zm
c2V0ID0gaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPyB0b2tlbkxvY2F0aW9uKCkuZW5k
T2Zmc2V0IDogbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8ucGFyYW1ldGVyc1N0YXJ0
Q29sdW1uID0gc3RhcnRDb2x1bW47CisKKyAgICBhdXRvIGZ1bmN0aW9uRXhwciA9IGNvbnRleHQu
Y3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgaW5mbywgaW5uZXJQYXJzZU1v
ZGUpOworICAgIGF1dG8gc3RhdGVtZW50ID0gY29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KHN0
YXJ0TG9jYXRpb24sIGZ1bmN0aW9uRXhwciwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24u
bGluZSk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIHN0YXRl
bWVudCk7CisKKyAgICByZXR1cm4gc291cmNlRWxlbWVudHM7Cit9CisKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoKQogewogICAgIC8vIFRoZSBncmFtbWFyIGlzIGRvY3VtZW50ZWQgaGVy
ZToKQEAgLTU2Miw3ICs2MDYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICAg
ICAgLy8gRm9yIGV4YW1wbGUsIHVuZGVyIGEgZ2VuZXJhdG9yIGNvbnRleHQsIG1hdGNoU3BlY0lk
ZW50aWZpZXIoKSBmb3IgInlpZWxkIiByZXR1cm5zIGBmYWxzZWAuCiAgICAgICAgICAgICAvLyBC
dXQgd2Ugd291bGQgbGlrZSB0byBlbnRlciBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gYW5kIHJh
aXNlIGFuIGVycm9yIHVuZGVyIHRoZSBjb250ZXh0IG9mIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlv
bgogICAgICAgICAgICAgLy8gdG8gcmFpc2UgY29uc2lzdGVudCBlcnJvcnMgYmV0d2VlbiAidmFy
IiwgImNvbnN0IiBhbmQgImxldCIuCi0gICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwg
bWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRj
aChPUEVOQlJBQ0tFVCkpCisgICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2go
TEVUKSB8fCBtYXRjaChZSUVMRCkgfHwgbWF0Y2goQVdBSVQpKSAmJiAhbWF0Y2goT1BFTkJSQUNF
KSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQogICAgICAgICAgICAgICAgIHNob3VsZFBhcnNlVmFy
aWFibGVEZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlUG9pbnQpOwogICAgICAgICB9CkBAIC01ODIsNiArNjI2LDIwIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0
ZW1lbnRMaXN0CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJREVOVDoKKyAgICAgICAgLy8gRklYTUU6
IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2FkIGpx
dWVyeS4KKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgIC8vIEVhZ2VybHkgcGFyc2Ug
YXMgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLiBUaGlzIGlzIHRoZSB1bmNvbW1vbiBjYXNlLAor
ICAgICAgICAgICAgLy8gYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgcGFyc2VkIGFzIGFuIEFzeW5j
RnVuY3Rpb25FeHByZXNzaW9uLgorICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKFVO
TElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpIHsK
KyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihj
b250ZXh0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQorICAgICAgICBGQUxM
VEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgLy8g
VGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVtZW50cwog
ICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1hbCBzdGF0
ZW1lbnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsCiAgICAg
ICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJZlRydWUo
bWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVj
bGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNs
YXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRp
ZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgc2VtYW50
aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0
IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoZGVjbGFy
YXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAg
ICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
ICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYgKzEw
NzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0
dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBFcnJv
ckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlm
U3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVydHlOYW1l
LT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZp
ZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBkZXN0
cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxvd2VkSWRl
bnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4g
PSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVy
dHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlm
aWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTA3OSw2
ICsxMTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxXaXRo
TWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0
ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAo
a2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5kID09IERl
c3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQnIGFz
IGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAg
c2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwg
IkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2lu
ZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAg
ICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9y
dFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1
cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFrOwpAQCAt
MTYzMSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5cGU6OlZh
ckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjogewotICAg
ICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyZW50
QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRp
b25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRv
cCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcGUoKS0+
aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0
aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQncwot
ICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFu
IGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAgICAgIC8v
IHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBz
dGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFy
Ii4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAg
ICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAgICAgICAg
ICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoKLSAg
ICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAgICBp
ZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8vIH0KLSAg
ICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUo
KSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKLSAg
ICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0gICAg
ICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Ci0g
ICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAgICAgICAg
ICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAgICAgICAg
ZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQg
YWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNvdXJjZUVs
ZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwot
ICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBm
dW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0
YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBv
c2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgp
LCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAgICAgICAg
ICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJs
ZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBvbmx5
IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndp
c2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9y
LgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVu
dERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERl
cHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBp
bnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7CisgICAg
ICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1
bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dz
RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQgb2YgYSBz
ZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgSURFTlQ6
CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4g
b2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5t
X2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF5YmVQYXJzZUFz
eW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChjb250ZXh0LCByZXN1bHQsIHBhcmVudEFs
bG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkpKQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIEZBTExUSFJPVUdIOworICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBZSUVMRDog
ewogICAgICAgICBib29sIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50ID0gZmFs
c2U7CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQoY29u
dGV4dCwgYWxsb3dGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOwpAQCAtMTc0NCw2ICsx
Nzc1LDY4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVl
QnVpbGRlciYgY29udGV4dCwgYm9vbCBpc0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9u
RGVjbGFyYXRpb25Bc1N0YXRlbWVudCkKK3sKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUoc3RyaWN0
TW9kZSgpLCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJs
b2NrcyBvciBzd2l0Y2ggc3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOworICAgIGZhaWxJZkZh
bHNlKHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9u
IGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9jayBzdGF0ZW1lbnRzIG9y
IGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7CisgICAgaWYgKCFjdXJyZW50U2NvcGUo
KS0+aXNGdW5jdGlvbigpKSB7CisgICAgICAgIC8vIFdlIG9ubHkgaW1wbGVtZW50IGFubmV4IEIu
My4zIGlmIHdlJ3JlIGluIGZ1bmN0aW9uIG1vZGUuIE90aGVyd2lzZSwgd2UgZmFsbCBiYWNrCisg
ICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9yLgorICAgICAgICAvLyBGSVhNRTogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTgxMworICAgICAgICBEZXB0aE1h
bmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgICAgICBtX3N0YXRl
bWVudERlcHRoID0gMTsKKyAgICAgICAgaWYgKGlzQXN5bmMpCisgICAgICAgICAgICByZXR1cm4g
cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgIHJldHVybiBw
YXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgfQorCisgICAgLy8gQW55IGZ1
bmN0aW9uIGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJv
ciB1bmxlc3MgaXQncworICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGlu
IGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQorICAgIC8vIHRyZWF0IGl0
IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0ZW1lbnQu
CisgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6CisgICAg
Ly8gZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsg
fQorICAgIC8vIH0KKyAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoKKyAgICAvLyBmdW5jdGlv
biBhKCkgeworICAgIC8vICAgICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQorICAg
IC8vIH0KKyAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7
CisgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKKyAgICBibG9ja1Njb3BlLT5w
cmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7CisKKyAgICBUcmVl
U3RhdGVtZW50IGZ1bmN0aW9uID0gMDsKKyAgICBpZiAoIWlzQXN5bmMpCisgICAgICAgIGZ1bmN0
aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIGVsc2UKKyAgICAg
ICAgZnVuY3Rpb24gPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAg
ICBwcm9wYWdhdGVFcnJvcigpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQg
dmFsaWQgZnVuY3Rpb24gc3RhdGVtZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOworICAg
IFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNl
RWxlbWVudHMoKTsKKyAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywg
ZnVuY3Rpb24pOworICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9j
a1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVu
ZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVu
dCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOworICAgIHBv
cFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46Om1heWJl
UGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIFRyZWVTdGF0ZW1lbnQmIHJlc3VsdCwgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgQVNTRVJUKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyk7CisgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9
IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIG5leHQoKTsKKyAgICBpZiAobWF0Y2goRlVOQ1RJT04p
ICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgIGNvbnN0IGJvb2wgaXNB
c3luYyA9IHRydWU7CisgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0
YXRlbWVudChjb250ZXh0LCBpc0FzeW5jLCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9u
QXNTdGF0ZW1lbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBsaXN0LCB1bnNpZ25lZCYgcGFyYW1ldGVyQ291bnQp
CiB7CiAjZGVmaW5lIGZhaWxJZkR1cGxpY2F0ZUlmVmlvbGF0aW9uKCkgXApAQCAtMTc2NSw2ICsx
ODU4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUIKICAgICAgICAgCiAgICAgICAgIGlmICht
YXRjaChET1RET1RET1QpKSB7CiAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBzZW1h
bnRpY0ZhaWxJZlRydWUoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCAmJiBtYXRjaChBV0FJVCks
ICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIHBhcmFtZXRlciBuYW1lIGluIGFuIGFzeW5jIGZ1bmN0
aW9uIik7CiAgICAgICAgICAgICBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gZGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gPSBwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRleHQsIERlc3RydWN0dXJp
bmdLaW5kOjpEZXN0cnVjdHVyZVRvUGFyYW1ldGVycywgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQs
ICZkdXBsaWNhdGVQYXJhbWV0ZXIsICZoYXNEZXN0cnVjdHVyaW5nUGF0dGVybik7CiAgICAgICAg
ICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcGFyYW1ldGVyID0gY29udGV4dC5j
cmVhdGVSZXN0UGFyYW1ldGVyKGRlc3RydWN0dXJpbmdQYXR0ZXJuLCBwYXJhbWV0ZXJDb3VudCk7
CkBAIC0xODI5LDYgKzE5MjMsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuICJnZW5lcmF0b3Ig
ZnVuY3Rpb24iOwogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToK
ICAgICAgICAgcmV0dXJuICJhcnJvdyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uQm9keU1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgZnVuY3Rpb24iOworICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgIHJldHVybiAiYXN5
bmMgbWV0aG9kIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keU1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1v
ZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgYXJyb3cgZnVuY3Rpb24iOwogICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9k
dWxlQW5hbHl6ZU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRl
TW9kZToKQEAgLTE4NDEsMTIgKzE5NDMsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyLCBjbGFzcyBGdW5jdGlvbklu
Zm9UeXBlPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6Rm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IFNvdXJjZVBhcnNlTW9kZSBtb2RlLCBGdW5jdGlvbkluZm9UeXBlJiBmdW5jdGlvbkluZm8pCiB7
Ci0gICAgUkVMRUFTRV9BU1NFUlQobW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2Rl
ICYmIG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSAmJiBtb2RlICE9
IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKTsKKyAgICBSRUxFQVNFX0FTU0VS
VCghKG9uZU9mU291cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBT
b3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUV2YWx1YXRlTW9kZT4obW9kZSkpKTsKICAgICBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJh
bWV0ZXJMaXN0ID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCk7CiAgICAgU2V0
Rm9yU2NvcGU8RnVuY3Rpb25QYXJzZVBoYXNlPiBmdW5jdGlvblBhcnNlUGhhc2VQb2lzb25lciht
X3BhcnNlclN0YXRlLmZ1bmN0aW9uUGFyc2VQaGFzZSwgRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJh
bWV0ZXJzKTsKICAgICAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlKSB7Ci0gICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlPihtb2RlKSkpKSB7CisgICAgICAgIGlmICghbWF0Y2hTcGVjSWRlbnRpZmllcigp
ICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAg
ICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFy
YW1ldGVyIik7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0xOTM3LDcgKzIwMzksOSBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogCiAgICAgU2NvcGVSZWYgcGFyZW50U2NvcGUgPSBjdXJyZW50U2Nv
cGUoKTsKIAotICAgIGJvb2wgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gY3VycmVudFNjb3BlKCkt
PmlzR2VuZXJhdG9yKCk7CisgICAgYm9vbCBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA9
IGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKTsKKyAgICBjb25zdCBjaGFyKiBp
c0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbiA9IGlzRGlzYWxsb3dlZEF3YWl0RnVu
Y3Rpb25OYW1lID8gZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpIDogbnVsbHB0cjsK
KwogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
ICAgICBmdW5jdGlvblNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUobW9kZSk7CiAgICAgZnVuY3Rp
b25TY29wZS0+c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmcoZXhwZWN0ZWRTdXBlckJpbmRpbmcpOwpA
QCAtMTk3OSw3ICsyMDgzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgICAg
IEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRP
ZmZzZXQpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0
aW9uQm9keVR5cGU7Ci0gICAgICAgICAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBh
cnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlPihtb2RlKSkpKQogICAgICAgICAgICAgICAgIGZ1
bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRG
dW5jdGlvbkJvZHlCbG9jazsKQEAgLTIwMjIsNyArMjEyNiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkCiAKICAgICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNrZXIoY29uc3RfY2FzdDxWTSo+
KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtFTFkoKG9uZU9mU291cmNlUGFy
c2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU+KG1vZGUpKSkpIHsKICAgICAgICAgc3RhcnRMb2Nh
dGlvbiA9IHRva2VuTG9jYXRpb24oKTsKICAgICAgICAgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSA9
IHRva2VuTGluZSgpOwogICAgICAgICBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBAIC0y
MDM3LDcgKzIxNDEsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB7CiAgICAg
ICAgICAgICAvLyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVycyB3aXRoIFsrWWllbGRdIHBhcmFtZXRl
cml6YXRpb24sIGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4cHJlc3Npb25zCiAgICAgICAgICAgICAv
LyBpbiBBcnJvd0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBFUzYgI3NlYy1hcnJvdy1mdW5jdGlvbi1k
ZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycy4KLSAgICAgICAgICAgIFNj
b3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0
aW9uU2NvcGUsIHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7CisgICAgICAgICAgICBTY29wZTo6TWF5
YmVQYXJzZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5jdGlvblNjb3Bl
LCBwYXJlbnRTY29wZS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxi
b29sPiBvdmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3lu
Y0Z1bmN0aW9uUGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJh
bWV0ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAgICAgICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOwogICAgICAgICB9CkBAIC0yMDY5LDIxICsyMTc0LDI4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIC8vIEdlbmVyYXRvckV4cHJlc3Npb24gOgogICAg
ICAgICAvLyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVsZF1vcHQgKCBGb3Jt
YWxQYXJhbWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAgICAgIC8vCi0gICAg
ICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5aWVsZCIg
ZXZlbiBpbiB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCi0gICAgICAgIGlmIChmdW5jdGlvbkRl
ZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgbW9k
ZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgIHVw
cGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICAvLyBUaGUgbmFtZSBvZiBGdW5j
dGlvbkV4cHJlc3Npb24gYW5kIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlp
ZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KKyAgICAgICAgYm9vbCB1cHBl
clNjb3BlSXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgaWYgKCEoZnVuY3Rpb25EZWZpbml0
aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIG9uZU9mU291
cmNlUGFyc2VNb2RlczxTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZT4obW9kZSkpKQorICAgICAgICAgICAgdXBwZXJT
Y29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29wZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAg
ICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkg
ewogICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4g
c3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5p
dGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBj
YWxsZXIgc2lkZS4iKTsKICAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVy
U2NvcGVJc0dlbmVyYXRvcikpIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFz
dEZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSW5mby5uYW1lOworICAgICAgICAgICAgICAgIGlmIChV
TkxJS0VMWShpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9u
RGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUobW9kZSksICJDYW5ub3QgZGVjbGFyZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIsIGlz
RGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uKTsKKyAgICAgICAgICAgICAgICBlbHNl
IGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlU
KSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4
cHJlc3Npb24pCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xh
cmUgYXN5bmMgZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyIpOwogICAgICAgICAgICAgICAgIG5leHQo
KTsKICAgICAgICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAgICAg
ICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZUNh
bGxlZShmdW5jdGlvbkluZm8ubmFtZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmlj
dE1vZGUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
ICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVp
cmVtZW50czo6TmFtZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAm
JiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAg
ICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEg
bmFtZSIpOworICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1l
Iik7CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRz
IG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CiAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjEwMSw4ICsyMjEzLDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0ZUVy
cm9yKCk7CisgICAgICAgIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRl
QWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJz
ZU1vZGUobW9kZSkpOworICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4
Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9y
KCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwg
IkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CiAgICAgICAgIApAQCAtMjE0OSw5ICsyMjY0LDE1
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9u
Qm9keShjb250ZXh0LCBzeW50YXhDaGVja2VyLCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVtbiwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCwgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5cGUs
IGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJDb3VudCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlmICht
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgewor
ICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAgICAg
IEF1dG9Qb3BTY29wZVJlZiBnZW5lcmF0b3JCb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwot
ICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsKKyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlubmVy
UGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAgICAg
aWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAgICAg
IGlubmVyUGFyc2VNb2RlID0gbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbk1vZGUKKyAgICAgICAgICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uQm9keU1vZGUKKyAgICAgICAgICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbkJvZHlNb2RlOworICAgICAgICB9CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+
c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9yQm9k
eVNjb3BlLT5zZXRDb25zdHJ1Y3RvcktpbmQoQ29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAgICAg
ICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1
cGVyQmluZGluZyk7CiAKQEAgLTIxNzAsNyArMjI5MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAm
JiByZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAg
ICAgICAgIEFTU0VSVChmdW5jdGlvbkluZm8ubmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJU
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKChvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291
cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZSwgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JCb2R5TW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlPihtb2RlKSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2Rl
KSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1
bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBs
KCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1
bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5v
dCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg1
LDYgKzI0MDYsNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZh
dWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVChtYXRj
aChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwor
ICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9u
SW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpB
c3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1l
bnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRp
b25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZh
dWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1
bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisg
ICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8g
ICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVE
ZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgorICAg
ICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1
bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVm
YXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9E
ZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZ
aWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAg
ICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVu
Y3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJhdG9y
RGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAg
ICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNb
K1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIEluIHRo
aXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24n
cyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6
Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMt
PmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJz
ZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVk
ZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlv
blR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIp
OworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3Rh
dGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25S
ZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlv
bihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0
aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZT
dHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmlj
dE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rp
b25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFy
YXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0
aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNs
YXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5j
dGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0
IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgewor
ICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1l
KSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9u
SW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBv
cnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVu
dCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5j
dGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVu
Y3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0
aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4
dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xh
cmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsK
QEAgLTI0MDEsOCArMjU3NiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBi
b29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAg
ICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNNZXRo
b2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAgaXNH
ZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZU1ldGhvZDoKICAgICAgICAgc3dpdGNoIChtX3Rva2Vu
Lm1fdHlwZSkgewogICAgICAgICBuYW1lZEtleXdvcmQ6CiAgICAgICAgIGNhc2UgU1RSSU5HOgpA
QCAtMjQxMSwxMiArMjU4OSwxNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAg
ICAgbmV4dCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSURFTlQ6CisgICAg
ICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgICAgICBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OwogICAgICAgICAgICAgQVNTRVJUKGlkZW50KTsKICAgICAgICAgICAgIG5leHQoKTsKLSAgICAg
ICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8
IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRjaChJTlRFR0VSKSB8fCBtYXRj
aChPUEVOQlJBQ0tFVCkpKSB7CisgICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFpc0Fz
eW5jTWV0aG9kICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcp
IHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQp
KSkgewogICAgICAgICAgICAgICAgIGlzR2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFtZXMu
Z2V0OwogICAgICAgICAgICAgICAgIGlzU2V0dGVyID0gKmlkZW50ID09IHByb3BlcnR5TmFtZXMu
c2V0OworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBc3luY01ldGhvZCAmJiAqaWRl
bnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgICAgIGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRE9VQkxFOgpAQCAtMjQ0OCw3
ICsyNjMxLDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87CiAgICAgICAgICAgICBib29sIGlz
Q29uc3RydWN0b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYgKmlkZW50ID09IHByb3BlcnR5TmFtZXMu
Y29uc3RydWN0b3I7CiAgICAgICAgICAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291
cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOwotICAgICAgICAgICAgaWYgKGlzR2VuZXJhdG9yKSB7
CisgICAgICAgICAgICBpZiAoaXNBc3luY01ldGhvZCkgeworICAgICAgICAgICAgICAgIGlzQ29u
c3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwYXJzZU1vZGUgPSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jTWV0aG9kTW9kZTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNs
YXJlIGFuIGFzeW5jIG1ldGhvZCBuYW1lZCAncHJvdG90eXBlJyIpOworICAgICAgICAgICAgICAg
IHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3Ry
dWN0b3IsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ2NvbnN0cnVjdG9y
JyIpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0dlbmVyYXRvcikgewogICAgICAgICAgICAg
ICAgIGlzQ29uc3RydWN0b3IgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBwYXJzZU1vZGUgPSBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU7CiAgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhIGdlbmVyYXRvciBuYW1lZCAncHJvdG90eXBlJyIp
OwpAQCAtMjUzMSw2ICsyNzE5LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMCiAgICAgICAg
ICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgICAgICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KGxvY2F0aW9uLCBleHByZXNzaW9uLCBzdGFydCwg
bV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKICAgICAgICAgfQorICAgICAgICAvLyBGSVhN
RTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQg
anF1ZXJ5LgorICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAg
IHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiks
ICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdh
aXRSZWFzb24oKSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3Np
dGlvbigpOwogICAgICAgICBuZXh0KCk7CkBAIC0yNzI3LDcgKzI5MTksNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIg
UGFyc2VyPExleGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3Jk
KG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVk
IGJpbmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwo
SURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRp
b24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0
ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAg
IGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5t
X2RhdGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NDksNyArMjk0MSw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNp
ZmllciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQo
bV92bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAg
ICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhl
IGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVj
SWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRl
Y2xhcmF0aW9uIik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAg
ICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5l
eHQoKTsKQEAgLTI3NjAsNyArMjk1Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
dHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAg
Y2FzZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIElt
cG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAg
ICAgQVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlm
aWVyKCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2Fs
TmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92
bS0+cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzY5LDYgKzI5NjEsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRT
cGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQn
IGFzIGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShs
b2NhbE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3
b3JkIGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFz
ayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0
aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lm
aWVyVHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0
ZWROYW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAo
ZGVjbGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yNzk5
LDcgKzI5OTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wg
aXNGaW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7
CisgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRlZERl
ZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8g
c3BlY2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmll
clR5cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjkwOSw2ICszMTAyLDE2IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHBvcnREZWNsYXJhCiAgICAgICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICAgICAg
Ym9vbCBpc0Z1bmN0aW9uT3JDbGFzc0RlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvY2FsTmFtZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1
bmN0aW9uRXhwb3J0ID0gZmFsc2U7CisKKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29udGV4
dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAgICAg
U2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhl
ci0+cHJldlRlcm1pbmF0b3IoKSkpCisgICAgICAgICAgICAgICAgaXNBc3luY0Z1bmN0aW9uRXhw
b3J0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KIAogICAgICAgICBib29sIHN0YXJ0c1dpdGhG
dW5jdGlvbiA9IG1hdGNoKEZVTkNUSU9OKTsKICAgICAgICAgaWYgKHN0YXJ0c1dpdGhGdW5jdGlv
biB8fCBtYXRjaChDTEFTU1RPS0VOKSkgewpAQCAtMjkzMyw2ICszMTM2LDExIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERl
cHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRo
ID0gMTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24o
Y29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRl
eHQ6OkV4cG9ydERlZmF1bHQpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0FzeW5jRnVuY3Rp
b25FeHBvcnQpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAg
ICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9y
dFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZh
dWx0KTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNo
KENMQVNTVE9LRU4pKTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUNsYXNzRGVjbGFy
YXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVs
dENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwpAQCAtMjk0Nyw2ICszMTU1LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBJbiB0aGUgYWJv
dmUgZXhhbXBsZSwgKmRlZmF1bHQqIGlzIHRoZSBpbnZpc2libGUgdmFyaWFibGUgdG8gdGhlIHVz
ZXJzLgogICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSBwcml2YXRlIHN5bWJvbCB0byByZXByZXNl
bnQgdGhlIG5hbWUgb2YgdGhpcyB2YXJpYWJsZS4KKyAgICAgICAgICAgIEV4cHJlc3Npb25FcnJv
ckNsYXNzaWZpZXIgY2xhc3NpZmllcih0aGlzKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24g
c3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNzaW9u
IGV4cHJlc3Npb24gPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAtMzA1
Myw5ICszMjYyLDE2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICBicmVh
azsKIAogICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoQ29u
dGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgeworICAgICAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNo
KEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5j
dGlvbicga2V5d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5n
IGxpbmUgdGVybWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGZhaWxXaXRoTWVz
c2FnZSgiRXhwZWN0ZWQgZWl0aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1l
bnQiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFs
c2UocmVzdWx0LCAiQ2Fubm90IHBhcnNlIHRoZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVFeHBvcnRMb2NhbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCBy
ZXN1bHQpOwogICAgIH0KQEAgLTMxMTcsMzQgKzMzMzMsNDYgQEAgdGVtcGxhdGUgPHR5cGVuYW1l
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3Np
Z25tZW4KICAgICBBU1NFUlQoIWhhc0Vycm9yKCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3Zl
cmZsb3coKTsKKworICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5U
KGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWll
bGRFeHByZXNzaW9uKGNvbnRleHQpOworCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2Nh
dGlvbigpKTsKICAgICBpbnQgaW5pdGlhbEFzc2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUu
YXNzaWdubWVudENvdW50OwogICAgIGludCBpbml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0
YXRlLm5vbkxIU0NvdW50OwogICAgIGJvb2wgbWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNo
KE9QRU5CUkFDRSkgfHwgbWF0Y2goT1BFTkJSQUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVu
ID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQg
PSBtYXRjaChPUEVOUEFSRU4pIHx8IG1hdGNoKElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1h
dGNoU3BlY0lkZW50aWZpZXIoKSBoZXJlIHNpbmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRp
Zmllck9yS2V5d29yZC4KKyAgICAvLyBXaGV0aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJl
IHZhbGlkYXRlZCBieSBpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJ
ZGVudGlmaWVyT3JLZXl3b3JkID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAg
IGJvb2wgbWF5YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJ
ZGVudGlmaWVyT3JLZXl3b3JkOwogICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKICAgICBzaXplX3QgdXNlZFZhcmlhYmxlc1NpemUgPSAwOwotICAgIGlmICh3YXNP
cGVuUGFyZW4pIHsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jl
c3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAgaWYgKHdhc09wZW5QYXJlbiB8
fCAod2FzSWRlbnRpZmllck9yS2V5d29yZCAmJiBVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRl
bnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSkgewogICAgICAgICB1c2VkVmFyaWFi
bGVzU2l6ZSA9IGN1cnJlbnRTY29wZSgpLT5jdXJyZW50VXNlZFZhcmlhYmxlc1NpemUoKTsKICAg
ICAgICAgY3VycmVudFNjb3BlKCktPnB1c2hVc2VkVmFyaWFibGVTZXQoKTsKICAgICB9CiAKLSAg
ICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUo
KS0+aXNHZW5lcmF0b3IoKSkpCi0gICAgICAgIHJldHVybiBwYXJzZVlpZWxkRXhwcmVzc2lvbihj
b250ZXh0KTsKLQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogCi0gICAgaWYgKGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgJiYg
IW1hdGNoKEVPRlRPSykpIHsKKyAgICBpZiAobWF5YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCAm
JiAhbWF0Y2goRU9GVE9LKSkgewogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvblRva2VuID0g
bWF0Y2goQVJST1dGVU5DVElPTik7CiAgICAgICAgIGlmICghbGhzIHx8IGlzQXJyb3dGdW5jdGlv
blRva2VuKSB7CiAgICAgICAgICAgICBTYXZlUG9pbnRXaXRoRXJyb3IgZXJyb3JSZXN0b3JhdGlv
blNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludEZvckVycm9yKCk7CiAgICAgICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBib29sIGlzQXN5bmNBcnJvdyA9
IGZhbHNlOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNsYXNzaWZpZXIuaW5kaWNhdGVzUG9z
c2libGVBc3luY0Fycm93RnVuY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0
Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpOworICAgICAg
ICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBpc0FzeW5jQXJyb3cgPSAhbV9sZXhl
ci0+cHJldlRlcm1pbmF0b3IoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChpc0Fy
cm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAod2FzT3BlblBh
cmVuKQorICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgaXNBc3luY0Fycm93KQog
ICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+cmV2ZXJ0VG9QcmV2aW91c1VzZWRW
YXJpYWJsZXModXNlZFZhcmlhYmxlc1NpemUpOwotICAgICAgICAgICAgICAgIHJldHVybiBwYXJz
ZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAgICAgICAgIHJldHVy
biBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQsIGlzQXN5bmNBcnJvdyk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50V2l0aEVycm9yKGVycm9y
UmVzdG9yYXRpb25TYXZlUG9pbnQpOwogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblRv
a2VuKQpAQCAtMzI2OCw2ICszNDk2LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlWWllbGRFeHByZXNzCiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhwcmVzc2lv
bihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICAvLyBBd2FpdEV4cHJlc3Npb24gZGVzdWdh
cmVkIHRvIFlpZWxkRXhwcmVzc2lvbgorICAgIEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFT
U0VSVChjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUo
bV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQ
YXJhbWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJz
Iik7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAg
SlNUZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5l
eHQoKTsKKyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lv
bihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBh
d2FpdCBleHByZXNzaW9uIik7CisgICAgY29uc3QgYm9vbCBkZWxlZ2F0ZSA9IGZhbHNlOworICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVlpZWxkKGxvY2F0aW9uLCBhcmd1bWVudCwgZGVsZWdhdGUs
IGRpdm90U3RhcnQsIGFyZ3VtZW50U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworfQor
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25hbEV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0zMzgwLDIyICszNjI1LDI2IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByb3BlcnR5KFRyZWVCCiAgICAgYm9vbCB3YXNJZGVudCA9IGZhbHNlOwogICAgIGJvb2wgaXNH
ZW5lcmF0b3IgPSBmYWxzZTsKICAgICBib29sIGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNlOworICAg
IGJvb2wgaXNBc3luY01ldGhvZCA9IGZhbHNlOwogICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAg
ICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZVByb3BlcnR5OgogICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURFTlQ6Cisg
ICAgY2FzZSBBV0FJVDoKICAgICAgICAgd2FzSWRlbnQgPSB0cnVlOwogICAgICAgICBGQUxMVEhS
T1VHSDsKICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICB1bnNpZ25lZCBnZXR0ZXJPclNldHRl
clN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwotICAgICAgICBpZiAoY29tcGxldGUgfHwgKHdh
c0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCisgICAgICAgIGlm
IChjb21wbGV0ZSB8fCAod2FzSWRlbnQgJiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+Z2V0IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5z
ZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpCiAgICAgICAgICAg
ICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJ
Z25vcmVSZXNlcnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKIAot
ICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIG1hdGNoKENPTE9OKSkgeworICAgICAgICBpZiAo
IWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0aG9kICYmIG1hdGNoKENPTE9OKSkgewogICAgICAg
ICAgICAgbmV4dCgpOwogICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb25PclByb3BhZ2F0ZUVycm9yQ2xhc3MoY29udGV4dCk7CiAgICAgICAg
ICAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24gZm9yIHByb3Bl
cnR5IGRlY2xhcmF0aW9uIik7CkBAIC0zNDA0LDExICszNjUzLDExIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiAgICAgICAgIH0KIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewot
ICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsIGlk
ZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAg
ICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVQcm9wZXJ0eShpZGVudCwgbWV0aG9kLCBQcm9wZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9w
ZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlz
Q2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRv
ciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAg
ZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJl
bnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGZhaWxJZkZhbHNlKHdhc0lk
ZW50LCAiRXhwZWN0ZWQgYW4gaWRlbnRpZmllciBhcyBwcm9wZXJ0eSBuYW1lIik7CiAKQEAgLTM0
MzAsNyArMzY3OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0
eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAgICAgICAgdHlw
ZSA9IFByb3BlcnR5Tm9kZTo6R2V0dGVyOwogICAgICAgICBlbHNlIGlmICgqaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+c2V0KQogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6
U2V0dGVyOwotICAgICAgICBlbHNlCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKCFpc0dlbmVy
YXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMpKSB7CisgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAg
IGZhaWxJZlRydWUobV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVy
dHkgbmFtZSBmb2xsb3dpbmcga2V5d29yZCAnYXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBh
cnNlUHJvcGVydHk7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhICc6JyBmb2xsb3dpbmcgdGhlIHByb3BlcnR5IG5hbWUgJyIsIGlkZW50LT5p
bXBsKCksICInIik7CiAgICAgICAgIHJldHVybiBwYXJzZUdldHRlclNldHRlcihjb250ZXh0LCBj
b21wbGV0ZSwgdHlwZSwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBpc0NsYXNzUHJvcGVydHkpOwogICAgIH0KQEAgLTM0NDEsMTEgKzM2OTQsMTEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkg
ewogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlk
ZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92
bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRv
ciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3Bl
cnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVy
QmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZh
aWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVu
dCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhv
ZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAg
ICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUi
KTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Np
b24oY29udGV4dCk7CkBAIC0zNDYwLDExICszNzEzLDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRy
ZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJl
bmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVO
UEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2Qo
Y29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRv
cik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4
dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNB
c3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRp
Y19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3Bl
cnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwg
U3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAg
ICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFy
Z3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5j
TWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAg
ICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkg
bmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbihjb250ZXh0KTsKQEAgLTM0NzksMTMgKzM3MzIsMTMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVy
dHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1l
dGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlz
R2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1l
dGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQg
PSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRo
b2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAg
IFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsK
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2Qi
KTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0
aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3NTEsNiArNDAwNCwyMCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2Vu
U3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlO
YW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJz
ZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRp
b25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBm
dW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJp
bmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5n
c0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewog
ICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4MzgsMTQgKzQxMDUsMTggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFy
cm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlz
RXhwcihsb2NhdGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDog
ewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFy
dCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtF
TFkobWF0Y2goQVJST1dGVU5DVElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElP
TikpCiAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgLy8gRklYTUU6IFRoZXNlIGJyYW5j
aCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2FkIGpxdWVyeS4KKyAgICAg
ICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0
b3IoKSAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKQorICAgICAgICAg
ICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAg
IGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+
ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX3BhcnNlclN0YXRlLmxhc3RJZGVudGlmaWVyID0g
aWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sICpp
ZGVudCwgc3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOwpAQCAtNDAyMSw2ICs0MjkyLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0
ZWRUb2tlbigpOwogICAgIH0KIAorICAgIGJvb2wgYmFzZUlzQXN5bmNLZXl3b3JkID0gZmFsc2U7
CiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgIFNjb3BlUmVmIGNsb3Nlc3RPcmRpbmFy
eUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3JkaW5hcnlGdW5jdGlvbk5vbkxleGljYWxT
Y29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1
bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmlzRXZhbENvbnRleHQo
KSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5leHBlY3RlZFN1cGVyQmluZGluZygp
ID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNv
bnRleHQiKTsKQEAgLTQwMzgsOCArNDMxMCwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwog
ICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvblN1cGVyQmluZGluZyA9
PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNv
bnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoIWJhc2VJ
c05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpIHsKKyAgICAgICAg
Ly8gRklYTUU6IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29k
ZS1sb2FkIGpxdWVyeS4KKyAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gbWF0Y2hDb250ZXh0
dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyk7CiAgICAgICAgIGJhc2UgPSBw
YXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShiYXNl
LCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoVU5MSUtFTFko
aXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1p
bmF0b3IoKSkpIHsKKyAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAg
ICAgICAgICAgICAgICAvLyBBc3luY0Fycm93RnVuY3Rpb24KKyAgICAgICAgICAgICAgICBmb3Jj
ZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9u
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGJhc2VJc0FzeW5jS2V5d29yZCA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CiAKICAgICBmYWls
SWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOwogICAgIHdoaWxl
ICh0cnVlKSB7CkBAIC00MDc0LDYgKzQzNTgsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHBy
ZXNzaW9uRW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVl
QXJndW1lbnRzIGFyZ3VtZW50cyA9IHBhcnNlQXJndW1lbnRzKGNvbnRleHQpOworICAgICAgICAg
ICAgICAgIGlmIChVTkxJS0VMWShiYXNlSXNBc3luY0tleXdvcmQgJiYgKCFhcmd1bWVudHMgfHwg
bWF0Y2goQVJST1dGVU5DVElPTikpKSkKKyAgICAgICAgICAgICAgICAgICAgZm9yY2VDbGFzc2lm
eUV4cHJlc3Npb25FcnJvcihFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlvbik7CiAgICAg
ICAgICAgICAgICAgZmFpbElmRmFsc2UoYXJndW1lbnRzLCAiQ2Fubm90IHBhcnNlIGNhbGwgYXJn
dW1lbnRzIik7CiAgICAgICAgICAgICAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgICAg
ICAgICAgICAgIFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUgPSBjdXJyZW50RnVuY3Rpb25TY29wZSgp
OwpAQCAtNDEzMiw3ICs0NDE4LDcgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMpCiB7CiAgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uOwogCkBAIC00MTQwLDcgKzQ0MjYsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3RpbwogICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVy
dHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25J
bmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBT
dXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0
aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5j
dGlvbiBleHByZXNzaW9uIik7CisKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNB
c3luYyA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSA6IFNvdXJjZVBh
cnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VN
b2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVk
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhw
cmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKIAog
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZv
KTsKIH0KQEAgLTQxODQsNiArNDQ3MiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAg
IGJvb2wgbW9kaWZpZXNFeHByID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlc0xFeHByID0gZmFs
c2U7CiAgICAgdW5zaWduZWQgbGFzdE9wZXJhdG9yID0gMDsKKworICAgIC8vIEZJWE1FOiBUaGVz
ZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnku
CisgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSAmJiBjdXJyZW50RnVuY3Rpb25TY29wZSgp
LT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlQXdhaXRF
eHByZXNzaW9uKGNvbnRleHQpOworCiAgICAgd2hpbGUgKGlzVW5hcnlPcChtX3Rva2VuLm1fdHlw
ZSkpIHsKICAgICAgICAgaWYgKHN0cmljdE1vZGUoKSkgewogICAgICAgICAgICAgc3dpdGNoICht
X3Rva2VuLm1fdHlwZSkgewpAQCAtNDM2NSw2ICs0NjU4LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4gdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5U
ZXh0KFcKICAgICAgICAgb3V0LnByaW50KCJJbnZhbGlkIHByaXZhdGUgbmFtZSAnIiwgZ2V0VG9r
ZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCisgICAgY2FzZSBBV0FJ
VDoKICAgICBjYXNlIElERU5UOgogICAgICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNTBlMTM5MWI1ZmQwM2RkNWU3NzhiOGZkYjU5MjNh
YTc5OGFlZDEyMy4uMWE4ZmFmYWYyZjgwZWU2ZDA2Yjg0MjVjMTM5MjZkZDNjZjEwYmI3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0xMzUsNyArMTM1LDcgQEAgc3Ry
dWN0IFNjb3BlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZSk7CiAKIHB1YmxpYzoK
LSAgICBTY29wZShjb25zdCBWTSogdm0sIGJvb2wgaXNGdW5jdGlvbiwgYm9vbCBpc0dlbmVyYXRv
ciwgYm9vbCBzdHJpY3RNb2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbikKKyAgICBTY29wZShjb25z
dCBWTSogdm0sIGJvb2wgaXNGdW5jdGlvbiwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RN
b2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbiwgYm9vbCBpc0FzeW5jRnVuY3Rpb24pCiAgICAgICAg
IDogbV92bSh2bSkKICAgICAgICAgLCBtX3NoYWRvd3NBcmd1bWVudHMoZmFsc2UpCiAgICAgICAg
ICwgbV91c2VzRXZhbChmYWxzZSkKQEAgLTE1MCw2ICsxNTAsOCBAQCBwdWJsaWM6CiAgICAgICAg
ICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0
aW9uKGlzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5
KGZhbHNlKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uKGlzQXN5bmNGdW5jdGlvbikKKyAg
ICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNM
ZXhpY2FsU2NvcGUoZmFsc2UpCiAgICAgICAgICwgbV9pc0Z1bmN0aW9uQm91bmRhcnkoZmFsc2Up
CiAgICAgICAgICwgbV9pc1ZhbGlkU3RyaWN0TW9kZSh0cnVlKQpAQCAtMTgxLDYgKzE4Myw4IEBA
IHB1YmxpYzoKICAgICAgICAgLCBtX2lzR2VuZXJhdG9yQm91bmRhcnkob3RoZXIubV9pc0dlbmVy
YXRvckJvdW5kYXJ5KQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uKG90aGVyLm1faXNBcnJv
d0Z1bmN0aW9uKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9p
c0Fycm93RnVuY3Rpb25Cb3VuZGFyeSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihvdGhl
ci5tX2lzQXN5bmNGdW5jdGlvbikKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5
KG90aGVyLm1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0xleGljYWxT
Y29wZShvdGhlci5tX2lzTGV4aWNhbFNjb3BlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5k
YXJ5KG90aGVyLm1faXNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNWYWxpZFN0cmlj
dE1vZGUob3RoZXIubV9pc1ZhbGlkU3RyaWN0TW9kZSkKQEAgLTIzOCw2ICsyNDIsMTQgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2RlKQog
ICAgIHsKICAgICAgICAgc3dpdGNoIChtb2RlKSB7CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNB
cnJvd0Z1bmN0aW9uQm9keSgpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgICAgIHNldElz
QXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgogICAgICAgICAgICAgc2V0
SXNHZW5lcmF0b3IoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI2OSwxNSBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJy
ZWFrOwogCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToK
KyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZToKKyAgICAgICAg
ICAgIHNldElzQXN5bmNGdW5jdGlvbigpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAgICAgICAg
ICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAg
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgogICAgICAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6CiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0yNjgsNiArMjg5LDggQEAgcHVibGljOgogICAg
IGJvb2wgaXNGdW5jdGlvbkJvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0Z1bmN0aW9uQm91
bmRhcnk7IH0KICAgICBib29sIGlzR2VuZXJhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0dlbmVy
YXRvcjsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3JCb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNHZW5lcmF0b3JCb3VuZGFyeTsgfQorICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9pc0FzeW5jRnVuY3Rpb247IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsgfQogCiAg
ICAgYm9vbCBoYXNBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX2hhc0FyZ3VtZW50czsgfQog
CkBAIC0yOTEsNiArMzE0LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fbGV4aWNhbFZh
cmlhYmxlczsKICAgICB9CiAKKyAgICBib29sIGlzTW9kdWxlKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICB2b2lkIGNvbXB1dGVMZXhpY2FsbHlDYXB0
dXJlZFZhcmlhYmxlc0FuZFB1cmdlQ2FuZGlkYXRlcygpCiAgICAgewogICAgICAgICAvLyBCZWNh
dXNlIHZhcmlhYmxlcyBtYXkgYmUgZGVmaW5lZCBhdCBhbnkgdGltZSBpbiB0aGUgcmFuZ2Ugb2Yg
YSBsZXhpY2FsIHNjb3BlLCB3ZSBtdXN0CkBAIC03MTAsNiArNzM4LDM0IEBAIHByaXZhdGU6CiAg
ICAgICAgIG1faXNBcnJvd0Z1bmN0aW9uID0gdHJ1ZTsKICAgICB9CiAKKyAgICB2b2lkIHNldElz
QXN5bmNBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigp
OworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBz
ZXRJc0FzeW5jRnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAg
ICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0Fz
eW5jRnVuY3Rpb25Cb2R5KCkKKyAgICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAg
ICAgbV9oYXNBcmd1bWVudHMgPSBmYWxzZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0
cnVlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisK
KyAgICB2b2lkIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBz
ZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9oYXNBcmd1bWVudHMgPSBmYWxzZTsKKyAg
ICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlv
bkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisKICAgICBjb25zdCBWTSogbV92bTsKICAgICBib29s
IG1fc2hhZG93c0FyZ3VtZW50czsKICAgICBib29sIG1fdXNlc0V2YWw7CkBAIC03MjQsNiArNzgw
LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNHZW5lcmF0b3JCb3VuZGFyeTsKICAgICBib29s
IG1faXNBcnJvd0Z1bmN0aW9uOwogICAgIGJvb2wgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeTsK
KyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9uOworICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb25C
b3VuZGFyeTsKICAgICBib29sIG1faXNMZXhpY2FsU2NvcGU7CiAgICAgYm9vbCBtX2lzRnVuY3Rp
b25Cb3VuZGFyeTsKICAgICBib29sIG1faXNWYWxpZFN0cmljdE1vZGU7CkBAIC04ODYsOCArOTQ0
LDkgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgZW51bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7
Ci0gICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGluZywKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQ
YXR0ZXJuCisgICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGluZyA9IDAsCisgICAgICAgIEVycm9y
SW5kaWNhdGVzUGF0dGVybiwKKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rp
b24KICAgICB9OwogCiAgICAgc3RydWN0IEV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIgewpAQCAt
OTExLDYgKzk3MCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZp
Y2F0aW9uOwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lv
bkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAgICAgICB7Cisg
ICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmljYXRpb247CisgICAgICAgIH0KKwogICAgICAg
ICB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xk
Q2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAg
ICAgICB7CiAgICAgICAgICAgICBpZiAobV9jbGFzcyAhPSBvbGRDbGFzc2lmaWNhdGlvbikKQEAg
LTkyMCwxMSArOTg0LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgdm9pZCBwcm9wYWdhdGVFeHBy
ZXNzaW9uRXJyb3JDbGFzcygpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX3ByZXZpb3Vz
ICYmIG1fY2xhc3MgIT0gRXJyb3JJbmRpY2F0ZXNOb3RoaW5nKQorICAgICAgICAgICAgaWYgKG1f
cHJldmlvdXMpCiAgICAgICAgICAgICAgICAgbV9wcmV2aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7
CiAgICAgICAgIH0KIAogICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxlUGF0dGVybigpIGNv
bnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuOyB9CisgICAgICAg
IGJvb2wgaW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uOyB9CiAKICAgICBw
cml2YXRlOgogICAgICAgICBFeHByZXNzaW9uRXJyb3JDbGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYg
KzEwMDMsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3Np
Zmllci0+Y2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOwogICAgIH0KIAor
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJl
c3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXhw
cmVzc2lvbkVycm9yQ2xhc3NpZmllcikKKyAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xh
c3NpZmllci0+Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7Cisg
ICAgfQorCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3Io
RXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNs
YXNzIGNsYXNzaWZpY2F0aW9uKQogICAgIHsKICAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9y
Q2xhc3NpZmllcikKQEAgLTk1OSw2ICsxMDMwLDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVy
biBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1ZhcmlhYmxlczsKICAgICB9CiAKKyAg
ICBBTFdBWVNfSU5MSU5FIGNvbnN0IGNoYXIqIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5k
KERlY2xhcmF0aW9uVHlwZSB0eXBlKQorICAgIHsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7Cisg
ICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpWYXJEZWNsYXJhdGlvbjoKKyAgICAgICAgICAg
IHJldHVybiAidmFyaWFibGUgbmFtZSI7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpM
ZXREZWNsYXJhdGlvbjoKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFy
YXRpb246CisgICAgICAgICAgICByZXR1cm4gImxleGljYWwgdmFyaWFibGUgbmFtZSI7CisgICAg
ICAgIH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuICJpbnZhbGlkIjsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIEFzc2lnbm1lbnRDb250
ZXh0IGFzc2lnbm1lbnRDb250ZXh0RnJvbURlY2xhcmF0aW9uVHlwZShEZWNsYXJhdGlvblR5cGUg
dHlwZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodHlwZSkgewpAQCAtOTcxLDYgKzEwNTUsMTIg
QEAgcHJpdmF0ZToKIAogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V2YWxPckFyZ3VtZW50cyhj
b25zdCBJZGVudGlmaWVyKiBpZGVudCkgeyByZXR1cm4gaXNFdmFsT3JBcmd1bWVudHNJZGVudGlm
aWVyKG1fdm0sIGlkZW50KTsgfQogCisgICAgU2NvcGVSZWYgdXBwZXJTY29wZShpbnQgbikKKyAg
ICB7CisgICAgICAgIEFTU0VSVChtX3Njb3BlU3RhY2suc2l6ZSgpID49IHNpemVfdCgxICsgbikp
OworICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNp
emUoKSAtIDEgLSBuKTsKKyAgICB9CisKICAgICBTY29wZVJlZiBjdXJyZW50U2NvcGUoKQogICAg
IHsKICAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5z
aXplKCkgLSAxKTsKQEAgLTEwMjcsMTMgKzExMTcsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgYm9v
bCBpc1N0cmljdCA9IGZhbHNlOwogICAgICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAg
ICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3lu
Y0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmICghbV9zY29wZVN0YWNrLmlzRW1wdHkoKSkg
ewogICAgICAgICAgICAgaXNTdHJpY3QgPSBtX3Njb3BlU3RhY2subGFzdCgpLnN0cmljdE1vZGUo
KTsKICAgICAgICAgICAgIGlzRnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzRnVuY3Rp
b24oKTsKICAgICAgICAgICAgIGlzR2VuZXJhdG9yID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0dl
bmVyYXRvcigpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxh
c3QoKS5pc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1f
c2NvcGVTdGFjay5sYXN0KCkuaXNBc3luY0Z1bmN0aW9uKCk7CiAgICAgICAgIH0KLSAgICAgICAg
bV9zY29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVy
YXRvciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbik7CisgICAgICAgIG1fc2NvcGVTdGFjay5j
b25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0
LCBpc0Fycm93RnVuY3Rpb24sIGlzQXN5bmNGdW5jdGlvbik7CiAgICAgICAgIHJldHVybiBjdXJy
ZW50U2NvcGUoKTsKICAgICB9CiAKQEAgLTEzNDYsMjEgKzE0MzgsMjUgQEAgcHJpdmF0ZToKICAg
ICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1nZW5l
cmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMK
ICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmllcihib29sIGluR2VuZXJh
dG9yKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBpc0xFVE1hc2tlZEFz
SURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CisgICAgICAgIHJl
dHVybiBtYXRjaChJREVOVCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgp
IHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJhdG9yKTsKICAgICB9CiAKICAgICBBTFdB
WVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1
cm4gbWF0Y2hTcGVjSWRlbnRpZmllcihjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7Cisg
ICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2Vk
QXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVy
YXRvcigpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXIm
LCBTb3VyY2VFbGVtZW50c01vZGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVC
dWlsZGVyJiwgU291cmNlUGFyc2VNb2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNz
aW9uLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiwgY29u
c3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVu
c2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CiAgICAgZW51bSBjbGFzcyBFeHBv
cnRUeXBlIHsgRXhwb3J0ZWQsIE5vdEV4cG9ydGVkIH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRl
ciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZh
dWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRl
Y2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9y
dGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4
dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29s
IGlzQXN5bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0
VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlv
bkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
U3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJv
b2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xh
cmF0aW9uKFRyZWVCdWlsZGVyJiwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0
VHlwZTo6Tm90RXhwb3J0ZWQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZURvV2hpbGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYpOwpAQCAtMTM4Nyw2ICsxNDgzLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFy
c2VDb25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlF
eHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUg
VHJlZUV4cHJlc3Npb24gcGFyc2VBd2FpdEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0
LDE3ICsxNDkxLDE4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRy
ZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5M
SU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4
cHJlc3Npb24gcGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFy
c2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1l
bnRzKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1
bWVudFR5cGUmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0
eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBp
c0dlbmVyYXRvcik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVu
dGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2Qp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0
dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwg
dW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29s
IGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXIm
LCBTeW50YXhDaGVja2VyJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFy
dCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2ln
bmVkLCBTb3VyY2VQYXJzZU1vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBib29sIHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRy
ZWVGb3JtYWxQYXJhbWV0ZXJMaXN0LCB1bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRp
b25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFy
aWFibGVEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJl
ZURlc3RydWN0dXJpbmdQYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJ
bml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBp
bml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250
ZXh0LCBEZWNsYXJhdGlvblR5cGUsIEV4cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNO
b3RIYXZlSW5pdGlhbGl6ZXIpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxk
ZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVj
dHVyaW5nUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0
dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdu
bWVudENvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gY3JlYXRlQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhw
cmVzc2lvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1
Y3R1cmluZ1BhdHRlcm4gcGFyc2VCaW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRl
ciYgY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZp
ZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwg
QXNzaWdubWVudENvbnRleHQgYmluZGluZ0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYg
KzE1NjAsMjEgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051
bGwoKTsKICAgICB9CiAKKyAgICBib29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25z
dCBKU1Rva2VuJiB0b2tlbikKKyAgICB7CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0g
QVdBSVQgJiYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlz
QXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkgfHwgY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkgfHwg
IW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCk7CisgICAgfQorCisgICAgY29uc3QgY2hhciogZGlz
YWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpCisgICAgeworICAgICAgICBpZiAoIW1fcGFy
c2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91
bmRhcnkoKSkKKyAgICAgICAgICAgIHJldHVybiAiaW4gYW4gYXN5bmMgZnVuY3Rpb24iOworICAg
ICAgICBpZiAoY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkpCisgICAgICAgICAgICByZXR1cm4g
ImluIGEgbW9kdWxlIjsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBh
cnNlUGhhc2UgeyBQYXJhbWV0ZXJzLCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsK
ICAgICAgICAgaW50IGFzc2lnbm1lbnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU4Myw3IEBA
IHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2Ug
eyBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciog
bGFzdElkZW50aWZpZXIgeyBudWxscHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxh
c3RGdW5jdGlvbk5hbWUgeyBudWxscHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRy
dWUgfTsKICAgICB9OwogCiAgICAgLy8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlv
dSBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyTW9kZXMuaAppbmRleCA5ZmQ3Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5
YTQ2Li4zMmFjZmYxODIyZTNmMGUxZGM5NDU3NzYxZTU5M2RjYmZhMzMxY2RmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAj
aWZuZGVmIFBhcnNlck1vZGVzX2gKICNkZWZpbmUgUGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAi
Q29uc3RydWN0QWJpbGl0eS5oIgogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNl
IEpTQyB7CkBAIC00Myw4MCArNDQsMTE3IEBAIGVudW0gRGVidWdnZXJNb2RlIHsgRGVidWdnZXJP
ZmYsIERlYnVnZ2VyT24gfTsKIAogZW51bSBjbGFzcyBGdW5jdGlvbk1vZGUgeyBGdW5jdGlvbkV4
cHJlc3Npb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIE1ldGhvZERlZmluaXRpb24gfTsKIAotZW51
bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50OF90IHsKLSAgICBOb3JtYWxGdW5jdGlvbk1v
ZGUsCi0gICAgR2VuZXJhdG9yQm9keU1vZGUsCi0gICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSwKLSAgICBHZXR0ZXJNb2RlLAotICAgIFNldHRlck1vZGUsCi0gICAgTWV0aG9kTW9kZSwK
LSAgICBBcnJvd0Z1bmN0aW9uTW9kZSwKLSAgICBQcm9ncmFtTW9kZSwKLSAgICBNb2R1bGVBbmFs
eXplTW9kZSwKLSAgICBNb2R1bGVFdmFsdWF0ZU1vZGUKK2VudW0gY2xhc3MgU291cmNlUGFyc2VN
b2RlIDogdWludDE2X3QgeworICAgIE5vcm1hbEZ1bmN0aW9uTW9kZSAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAwMDAwMDAxLAorICAgIEdlbmVyYXRvckJvZHlNb2RlICAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAwMDAwMDEwLAorICAgIEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgID0gMGIw
MDAwMDAwMDAwMDAwMTAwLAorICAgIEdldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAwMDAxMDAwLAorICAgIFNldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAwMDEwMDAwLAorICAgIE1ldGhvZE1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAwMTAwMDAwLAorICAgIEFycm93RnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIw
MDAwMDAwMDAxMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Cb2R5TW9kZSAgICAgICAgID0gMGIw
MDAwMDAwMDEwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICAgID0gMGIw
MDAwMDAwMTAwMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIw
MDAwMDAxMDAwMDAwMDAwLAorICAgIEFzeW5jTWV0aG9kTW9kZSAgICAgICAgICAgICAgID0gMGIw
MDAwMDEwMDAwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgID0gMGIw
MDAwMTAwMDAwMDAwMDAwLAorICAgIFByb2dyYW1Nb2RlICAgICAgICAgICAgICAgICAgID0gMGIw
MDAxMDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUFuYWx5emVNb2RlICAgICAgICAgICAgID0gMGIw
MDEwMDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUV2YWx1YXRlTW9kZSAgICAgICAgICAgID0gMGIw
MTAwMDAwMDAwMDAwMDAwLAogfTsKIAotaW5saW5lIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlIG1vZGUs
IFNvdXJjZVBhcnNlTW9kZS4uLiByZXN0Pgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2RlcyB7
CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KG1vZGUpIHwgTWVyZ2VTb3VyY2VQYXJzZU1vZGVzPHJlc3QuLi4+Ojp2YWx1ZTsKK307CisKK3Rl
bXBsYXRlPFNvdXJjZVBhcnNlTW9kZSBtb2RlPgorc3RydWN0IE1lcmdlU291cmNlUGFyc2VNb2Rl
czxtb2RlPiB7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KG1vZGUpOworfTsKKwordGVtcGxhdGU8U291cmNlUGFyc2VNb2RlLi4uIG1vZGVz
Pgorc3RhdGljIEFMV0FZU19JTkxJTkUgYm9vbCBvbmVPZlNvdXJjZVBhcnNlTW9kZXMoU291cmNl
UGFyc2VNb2RlIG1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVy
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVB
bmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2Rl
OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4obW9kZSkgJiBNZXJnZVNvdXJjZVBhcnNlTW9kZXM8bW9kZXMuLi4+Ojp2YWx1ZTsKIH0K
IAotaW5saW5lIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVy
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9k
ZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLAorICAgICAg
ICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6R2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbkJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25N
b2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOwogfQogCi1p
bmxpbmUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkK
K0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VN
b2RlIHBhcnNlTW9kZSkKIHsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFu
YWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG9uZU9mU291cmNlUGFyc2VN
b2RlczwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uQm9keU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBp
c0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQor
eworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElO
RSBib29sIGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3lu
Y0Z1bmN0aW9uQm9keVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQoreworICAg
IHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNGdW5jdGlvbkJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wg
aXNNZXRob2RQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1
cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvcldyYXBwZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVy
TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNN
ZXRob2RNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQ
YXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZT
b3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVN
b2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZT4ocGFyc2VN
b2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlKQoreworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNlTW9kZXM8
U291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lO
TElORSBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNl
TW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0
eTo6Q2FuQ29uc3RydWN0OworCisgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5vdENv
bnN0cnVjdDsKIH0KIAogaW5saW5lIGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0IElk
ZW50aWZpZXImIG5hbWUsIEZ1bmN0aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYzYWNl
Zjc5YzY5Y2QyOGY4MjNjMmE3ZTgwLi5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFhNTJl
NjYxZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgK
QEAgLTgzLDYgKzgzLDcgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwKICAg
ICBFWFRFTkRTLAogICAgIFNVUEVSLAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAsCiAg
ICAgQ0xPU0VCUkFDRSwKICAgICBPUEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEy
NzdmYTJkODI2ODYuLjI4MThiZjdiYTRkZTBlMjcxNTY3NTJkZDZjYzNiZmQzYTM1ZTQxMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xODQs
NiArMTg0LDcgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVlpZWxkKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBib29sLCBpbnQsIGludCwgaW50KSB7
IHJldHVybiBZaWVsZEV4cHI7IH0KICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhDaGVj
a2VyPiYsIFZhcmlhYmxlRW52aXJvbm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5
cGUsIFByb3BlcnR5TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENo
ZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9u
TWV0YWRhdGEoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
aW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5k
aW5nLCB1bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rpb25D
b2RlRmVhdHVyZXMgPSBOb0lubmVyQXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBGdW5j
dGlvbkJvZHlSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9u
RXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3lu
dGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVNZXRob2REZWZpbml0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKaW5kZXggNDA1MTI2MmRhNTFiY2JkYWI3NzVjZjYxYjBjMGNiYzBmZjU3MTFmMS4uNzM4OWY5
ZWNlY2U1Zjg4YTM4ZjQ2MjdkMjM4N2Q2MjE3Yjk2NWZmYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0xMDksNiArMTA5LDcg
QEAKICAgICBtYWNybyhhcmd1bWVudHMpIFwKICAgICBtYWNybyhhcykgXAogICAgIG1hY3JvKGFz
c2lnbikgXAorICAgIG1hY3JvKGFzeW5jKSBcCiAgICAgbWFjcm8oYmFjaykgXAogICAgIG1hY3Jv
KGJpbmQpIFwKICAgICBtYWNybyhibHVyKSBcCkBAIC0yNzEsNiArMjcyLDcgQEAKICAgICBtYWNy
byh5ZWFyKQogCiAjZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1h
Y3JvKSBcCisgICAgbWFjcm8oYXdhaXQpIFwKICAgICBtYWNybyhicmVhaykgXAogICAgIG1hY3Jv
KGNhc2UpIFwKICAgICBtYWNybyhjYXRjaCkgXApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VM
b2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3ODE2NWU3MzFjMjFlZDk2NTBmYzE4MjFkNmRm
MDM5NTFjYzFhNGQ4Li4wMjU5NTI2NzBmZmZmMDc3NzhjNjA0ZWUzNGE5ZTgzNzg3YzFlNjg4IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDE2LTA5LTA3ICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVz
cy9hc3luYy1hd2FpdC1zeW50YXguanM6IEFkZGVkLgorICAgICAgICAodGVzdFN5bnRheCk6Cisg
ICAgICAgICh0ZXN0U3ludGF4RXJyb3IpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2Fp
dFN5bnRheFNsb3BweU1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3lu
Y0F3YWl0U3ludGF4U2xvcHB5TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0
U3ludGF4U3RyaWN0TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4
U3RyaWN0TW9kZS50ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3lu
dGF4LmFzeW5jKToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6Cisg
ICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4
RXJyb3IpOgorCiAyMDE2LTA4LTI5ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtKU0NdIEltcHJvdmUgQXJpdGhBYnMgd2l0aCBwb2x5bW9ycGhpYyBp
bnB1dApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIv
SlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ZmQ1YWU5
NjY1NWQzZDM4OWM1ZTdkMDg0MTU0MzExOGIzOTMyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyNzYgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorCitmdW5jdGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAg
IGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3Ig
aW5zdGFuY2VvZiBTeW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2Ny
aXB0ICsgImAiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQs
IG1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2
YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9
CisgICAgaWYgKCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50
YXggZXJyb3Igbm90IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIp
OworCisgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3Ip
ICE9PSBtZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0
cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9
CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsK
KyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAx
OyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0
aE5hbWUoKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBh
c3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4g
PSBhc3luYyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMg
ZnVuY3Rpb24gYXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBP
ID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2
YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7
CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07
YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsg
YXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9k
JygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAw
KCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3lu
Yyh7IGZvbyA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0g
YXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0
aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1
bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhm
dW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7
IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNG
biA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RT
eW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVz
dCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IHggPT4gYXdhaXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7
IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtg
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgn
ICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRl
c3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0g
fTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRo
b2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNs
YXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFz
eW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7
IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3lu
dGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkg
PT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7
IHZhciBmID0gYXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3Qi
OyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOwor
CisoZnVuY3Rpb24gdGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRl
eHREYXRhID0gWworICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7
ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdl
bmVyYXRvcigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyRnVuY0V4cHIgPSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7
IHByZWZpeDogInZhciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9
OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9k
KCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJP
YmplY3QgPSB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAg
ICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9k
KCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJD
bGFzc0V4cHIgPSBjbGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9
OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsg
c3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRl
clN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9
OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBv
dXRlckNsYXNzIHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9
OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRl
clN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1
ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIg
PSBhc3luYyBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZp
eDogInZhciBvdXRlckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIg
fTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRl
ckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgp
IHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xh
c3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkg
eyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNs
YXNzIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0
YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAg
dmFyIHRlc3REYXRhID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2As
CisgICAgICAgIGBsZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0
IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9
IHJldHVybiBhc3luYygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsg
cmV0dXJuIGFzeW5jKCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0g
MTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1
cm4gYXdhaXQ7IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsg
cmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJu
IGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1
cm4gYXdhaXQ7IH1gLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0g
MTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQp
IHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2
YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICpt
ZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9u
IGF3YWl0KCkge30pYCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0
RGF0YSkgeworICAgICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAg
ICBsZXQgc2NyaXB0ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7Cisg
ICAgICAgICAgICB0ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAgfQorfSkoKTsKKworCiso
ZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3
YWl0ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3lu
YyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YHZhciBhc3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1l
KGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAo
YXdhaXQpID0+ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9u
IGFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBN
ZXRob2REZWZpbml0aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0
cmljdGlvbnMKKyAgICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZh
ciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RT
eW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwg
YSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFz
eW5jICdtZXRob2QnKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91
dGVyT2JqZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJv
cihgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkg
e30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5l
cmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFz
eW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEp
IHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9
IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMg
bWV0aG9kKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFz
eW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRl
ckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBh
c3luY0Fycm93Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFz
eW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNz
IEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNs
YXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUo
KSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRl
bmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtg
KTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
KGFzeW5jLmZvbzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZv
bzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmNbJ2ZvbzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygp
Wydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTkn
XSBmb28yMCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10g
KCkgPT4gMWApOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOwor
ICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRl
c3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhF
cnJvcigiKGFzeW5jYGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigi
KGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigi
KGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJy
b3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBm
dW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAg
ICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rp
b24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdh
aXQoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNG
biA9IGFzeW5jICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9
ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFz
eW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1
bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7
IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkg
e30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmpl
Y3QgPSB7IGFzeW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rp
b24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVu
Y3Rpb24qIGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5
bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsK
KworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJu
IHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3lu
Yyh4ID0gYXdhaXQgMSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2Ap
OworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdl
bmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9y
KCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2
YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFy
IGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkg
e30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBj
bGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5
cGUoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMg
e307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7
CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+
ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJy
ZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3lu
YyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7
IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1
bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZv
bzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygp
LmZvbzEzICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmNbJ2ZvbzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgp
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28y
MmAgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZv
bzIzYCBmb28yNCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAo
YXN5bmNgZm9vMjVgICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmlj
dCI7IChhc3luY2Bmb28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1
c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RT
eW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7
CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMg
dGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAgICBh
c3luYyh7IGZvbzMzID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwp
IHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFz
eW5jICdtZXRob2QnKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBb
J21ldGgnICsgJ29kJ10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJn
dW1lbnRzKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9KSgpOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288384</attachid>
            <date>2016-09-08 20:36:33 -0700</date>
            <delta_ts>2016-09-09 19:29:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161409-20160908233405.patch</filename>
            <type>text/plain</type>
            <size>112243</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZjNmYmRjOTRkMDFlY2MzZjQ1MWM1OTYyNzc1N2JkZmQ5ZmNiYjQyLi41ZmIxYjhlNjI2ZDFiNjkw
MGNjNWNkN2FjZTMxODM4ZjBjMzRjOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OCBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAgICAg
ICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAgKiBw
YXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBc3lu
Y0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL0tleXdvcmRzLnRhYmxlOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVu
Y3Rpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
Rm9ybWFsUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVy
cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxT
dGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRD
bGF1c2VJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0
RGVjbGFyYXRpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBv
cnREZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFz
c2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXdhaXRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9w
ZXJ0eU1ldGhvZCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5j
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VNZW1iZXJFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VVbmFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4
ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlNjb3BlOjpTY29wZSk6CisgICAgICAgIChKU0M6OlNjb3Bl
OjpzZXRTb3VyY2VQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0
aW9uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzTW9kdWxlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldElz
QXN5bmNBcnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5j
dGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb25Cb2R5KToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6Zm9yY2VDbGFzc2lmeUV4
cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xh
c3NpZmllcjo6cHJvcGFnYXRlRXhwcmVzc2lvbkVycm9yQ2xhc3MpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3NpYmxlQXN5bmNB
cnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpmb3JjZUNsYXNzaWZ5RXhwcmVz
c2lvbkVycm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkZWNsYXJhdGlvblR5cGVUb1Zhcmlh
YmxlS2luZCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6dXBwZXJTY29wZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6cHVzaFNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjptYXRjaFNwZWNJ
ZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjppc0Rpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRS
ZWFzb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNHZW5lcmF0b3JCb3VuZGFyeSk6IERlbGV0
ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5k
aWNhdGVzUG9zc2libGVQYXR0ZXJuKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
TW9kZXMuaDoKKyAgICAgICAgKEpTQzo6b25lT2ZTb3VyY2VQYXJzZU1vZGVzKToKKyAgICAgICAg
KEpTQzo6aXNGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNGdW5jdGlv
blBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNBcnJvd0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZSk6CisgICAg
ICAgIChKU0M6OmlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c01ldGhvZFBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTW9kdWxlUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNQcm9ncmFtUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0
QWJpbGl0eUZvclBhcnNlTW9kZSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vucy5oOgor
ICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENo
ZWNrZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hl
Y2tlcjo6Y3JlYXRlRnVuY3Rpb25FeHByKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0Nv
bW1vbklkZW50aWZpZXJzLmg6CisKIDIwMTYtMDktMDcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBDYXRjaFNjb3BlIGFuZCBmb3JjZSBhbGwgZXhjZXB0aW9u
IGNoZWNrcyB0byBiZSB2aWEgVGhyb3dTY29wZSBvciBDYXRjaFNjb3BlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZS5jcHAKaW5kZXggMDU0ZDYzZGY1OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5
Yy4uZjAyOGQ0ODgwYzk1NzI2ODZkMzgyYzUzOWFkZDVhNzY4Y2QzMzQ3MCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCkBAIC04OSw2ICs4OSw3IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRh
YmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0
CiAgICAgLCBtX3R5cGVQcm9maWxpbmdFbmRPZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgp
ICsgbm9kZS0+c291cmNlKCkubGVuZ3RoKCkgLSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChu
b2RlLT5wYXJhbWV0ZXJDb3VudCgpKQogICAgICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9zb3Vy
Y2VQYXJzZU1vZGUobm9kZS0+cGFyc2VNb2RlKCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0
KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0KCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVz
KGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihraW5kID09IFVubGlua2VkQnVpbHRp
bkZ1bmN0aW9uKQpAQCAtOTgsNyArOTksNiBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAg
ICwgbV9jb21tZW50TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQogICAg
ICwgbV9zdXBlckJpbmRpbmcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGlu
ZygpKSkKICAgICAsIG1fZGVyaXZlZENvbnRleHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihk
ZXJpdmVkQ29udGV4dFR5cGUpKQotICAgICwgbV9zb3VyY2VQYXJzZU1vZGUoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSkKICAgICAsIG1fbmFtZShub2RlLT5pZGVudCgp
KQogICAgICwgbV9lY21hTmFtZShub2RlLT5lY21hTmFtZSgpKQogICAgICwgbV9pbmZlcnJlZE5h
bWUobm9kZS0+aW5mZXJyZWROYW1lKCkpCkBAIC0xMTIsNyArMTEyLDYgQEAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3QKICAgICBBU1NFUlQobV9jb21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oY29tbWVudE1vZGUpKTsKICAgICBBU1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVy
aXZlZENvbnRleHRUeXBlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5
cGUpKTsKLSAgICBBU1NFUlQobV9zb3VyY2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7CiAKICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVz
LnN3YXAocGFyZW50U2NvcGVURFpWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApp
bmRleCAxZTNjYmFmZmVjMjg4N2M3OTYwN2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi44OWFhYjhhYmY3
MTcxZThkNDk4Y2I1YWMzMTg3NDJkYzczMDU3MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApA
QCAtMTU1LDYgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5n
RW5kT2Zmc2V0OwogICAgIHVuc2lnbmVkIG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1
cmVzIG1fZmVhdHVyZXM7CisgICAgU291cmNlUGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwog
ICAgIHVuc2lnbmVkIG1faXNJblN0cmljdENvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFz
Q2FwdHVyZWRWYXJpYWJsZXMgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24g
OiAxOwpAQCAtMTY0LDcgKzE2NSw2IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb21tZW50
TW9kZTogMTsgLy8gSlNQYXJzZXJDb21tZW50TW9kZQogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5k
aW5nIDogMTsKICAgICB1bnNpZ25lZCBtX2Rlcml2ZWRDb250ZXh0VHlwZTogMjsKLSAgICB1bnNp
Z25lZCBtX3NvdXJjZVBhcnNlTW9kZSA6IDQ7IC8vIFNvdXJjZVBhcnNlTW9kZQogCiAgICAgV3Jp
dGVCYXJyaWVyPFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tG
b3JDYWxsOwogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3Vu
bGlua2VkQ29kZUJsb2NrRm9yQ29uc3RydWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCAyMDA5NTQz
Njg0ZDYwZTExMGIzYmU4OWIwM2ExMWQwMjg1ZTEzMWMyLi4xZjJlMTczNTU0NDMyNmUzMzZhMTY3
OWQxOGY0ZTc0Y2NhMTlkNmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjk3NywxNyArMjk3Nywx
NCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVz
c2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJy
b3dGdW5jRXhwck5vZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBh
cnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpOworICAgIEFT
U0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9u
RXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7
CiB9CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5p
dGlvbihSZWdpc3RlcklEKiBkc3QsIE1ldGhvZERlZmluaXRpb25Ob2RlKiBmdW5jKQogewotICAg
IEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEo
KS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlCi0gICAgICAgIHx8
IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVy
TW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQ
YXJzZU1vZGU6Ok1ldGhvZE1vZGUpOworICAgIEFTU0VSVChpc01ldGhvZFBhcnNlTW9kZShmdW5j
LT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSkpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Np
b25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2
ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3MDAxLi5lNTFhYTg1ZDJkMjYwZTA4NTA5N2EzYmRjYzkz
ZWNiYjFjMGIyNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FT
VEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aApAQCAtMzgyLDYgKzM4MiwxNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorICAgIHsK
KyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IG1fc291cmNl
Q29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8uc3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5m
by5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbigpID8gZnVuY3Rpb25JbmZvLmVu
ZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0LCBmdW5jdGlvbkluZm8uc3RhcnRM
aW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1
bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9j
YXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25JbmZvLmJvZHksIHNvdXJjZSk7Cisg
ICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0TG9jKGZ1bmN0aW9uSW5mby5zdGFydExp
bmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24u
bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVuY3Rpb25JbmZv
KTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7CiAgICAgICAgIE1ldGhvZERlZmluaXRp
b25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIE1ldGhvZERlZmluaXRpb25Ob2Rl
KGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKaW5kZXggNDU4MmQwMGFhZTk3
ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZl
NzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9L
ZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRz
LnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVFVE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VO
CiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJVAogYnJlYWsJCUJSRUFLCiBjYXNlCQlD
QVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApp
bmRleCAyNjE3NDVhMTkwMzE3ZGU3NTkxMmUzYTkyM2ZhOWYyODg3NDg2M2Q2Li5hMDIxNzM3MzFk
Y2E5N2I5MmQ1MDU3OWQ5YjU2NDVmYzg0MDQ1ODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFudGljRmFpbCgi
Q2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBf
X1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFn
KSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29yZCAnIiwgZ2V0
VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNEaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFpbCgiQ2FuJ3Qg
dXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmll
ckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpA
QCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVy
KGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBzY29wZS0+
c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhhc2U+
IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBo
YXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhlci0+aXNSZXBh
cnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVy
PiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUo
cGFyc2VNb2RlKSkKICAgICAgICAgICAgIG1fcGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBh
cmFtZXRlcnMoY29udGV4dCwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMo
Y29udGV4dCwgcGFyc2VNb2RlLCBmdW5jdGlvbkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkg
eworICAgICAgICBpZiAob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZT4o
cGFyc2VNb2RlKSAmJiAhaGFzRXJyb3IoKSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5
IHdlIGNvdWxkIGhhdmUgYW4gZXJyb3Igd2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBv
ZiBzdGFjayBzcGFjZS4KICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVO
Q1RJT04pKTsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmlu
ZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVO
YW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0g
bnVsbHB0cjsKICAgICAvLyBUaGUgb25seSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMg
aWYgd2UgcmVwYXJzZSBhIGZ1bmN0aW9uIGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgog
ICAgIGlmICghaGFzRXJyb3IoKSkgewotICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24pCisgICAgICAgIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBh
cnNlTW9kZSkpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlv
blNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24sIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJz
ZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQp
OwogICAgICAgICBlbHNlIGlmIChpc01vZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAg
ICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQs
IHBhcnNlTW9kZSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAg
ICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxl
bWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4
dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJz
ZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQor
ICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENo
ZWNrRm9yU3RyaWN0TW9kZSk7CiAgICAgfQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1
bWUoRU9GVE9LKTsKQEAgLTMxMCw3ICszMTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwog
ICAgIGZvciAoYXV0byYgZW50cnkgOiBjYXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVj
bGFyYXRpb25zLm1hcmtWYXJpYWJsZUFzQ2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNl
TW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsK
KyAgICBpZiAob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZT4ocGFyc2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVy
UGFyc2VNb2RlKHBhcnNlTW9kZSkpIHsKICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVz
Q29udGFpbnMobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAg
ICAgICBjb250ZXh0LnByb3BhZ2F0ZUFyZ3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSAr
MzU2LDEwIEBAIHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNl
RWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVy
cygpCiB7Ci0gICAgYm9vbCBpc09wZW5QYXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9v
bCBpc0lkZW50ID0gbWF0Y2goSURFTlQpOwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYg
IWlzSWRlbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uID0gZmFsc2U7Ci0gICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKLSAgICAgICAgCi0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4
dCgpOwotICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAg
ICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYg
KG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikp
IHsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1h
dGNoKEFSUk9XRlVOQ1RJT04pOwpAQCAtMzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2ln
bmVkIHBhcmFtZXRlcnNDb3VudCA9IDA7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBw
YXJzZUZvcm1hbFBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVG
b3JtYWxQYXJhbWV0ZXJMaXN0KCksIHBhcmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBB
UkVOKSAmJiBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAg
ICAgICAgcG9wU2NvcGUoZmFrZVNjb3BlLCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxl
SW5mbyk7CiAgICAgICAgIH0KKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAg
ICAgIAotICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAg
ICAgIAotICAgIHJldHVybiBpc0Fycm93RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRl
bnRpZmllcigpKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0g
Y3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93
RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2lu
dChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlv
bjsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+CkBAIC01NDAsNiArNTM5LDUxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1
bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVs
ZW1lbnRzTW9kZSBtb2RlKQoreworICAgIEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFy
c2VNb2RlKHBhcnNlTW9kZSkpOworICAgIGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNy
ZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFy
dCA9IHRva2VuU3RhcnQoKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAg
ICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0Owor
CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFt
ZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5l
cmF0b3JQYXJhbWV0ZXJzKGNvbnRleHQsIGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8u
c3RhcnRPZmZzZXQgPSBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICBpbmZvLnBhcmFtZXRlckNvdW50ID0gNDsgLy8gZ2VuZXJhdG9yLCBzdGF0
ZSwgdmFsdWUsIHJlc3VtZSBtb2RlCisgICAgU291cmNlUGFyc2VNb2RlIGlubmVyUGFyc2VNb2Rl
ID0gcGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQor
ICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUKKyAg
ICAgICAgOiBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZTsKKyAgICB7Cisg
ICAgICAgIEF1dG9Qb3BTY29wZVJlZiBhc3luY0Z1bmN0aW9uQm9keVNjb3BlKHRoaXMsIHB1c2hT
Y29wZSgpKTsKKyAgICAgICAgYXN5bmNGdW5jdGlvbkJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VN
b2RlKGlubmVyUGFyc2VNb2RlKTsKKyAgICAgICAgU3ludGF4Q2hlY2tlciBhc3luY0Z1bmN0aW9u
Q29udGV4dChjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOworICAgICAgICBp
ZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgICAgICBmYWlsSWZGYWxz
ZShwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGFz
eW5jRnVuY3Rpb25Db250ZXh0KSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhc3luYyBhcnJv
dyBmdW5jdGlvbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJz
ZVNvdXJjZUVsZW1lbnRzKGFzeW5jRnVuY3Rpb25Db250ZXh0LCBtb2RlKSwgIkNhbm5vdCBwYXJz
ZSB0aGUgYm9keSBvZiBhc3luYyBmdW5jdGlvbiIpOworICAgICAgICBwb3BTY29wZShhc3luY0Z1
bmN0aW9uQm9keVNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAg
ICB9CisgICAgaW5mby5ib2R5ID0gY29udGV4dC5jcmVhdGVGdW5jdGlvbk1ldGFkYXRhKHN0YXJ0
TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIHRva2VuQ29sdW1uKCksIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBz
dHJpY3RNb2RlKCksIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbV9zdXBlckJpbmRpbmcsIGluZm8u
cGFyYW1ldGVyQ291bnQsIGlubmVyUGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbik7CisKKyAgICBpbmZvLmVuZExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLmVuZE9m
ZnNldCA9IGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uID8gdG9rZW5Mb2NhdGlvbigpLmVu
ZE9mZnNldCA6IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLnBhcmFtZXRlcnNTdGFy
dENvbHVtbiA9IHN0YXJ0Q29sdW1uOworCisgICAgYXV0byBmdW5jdGlvbkV4cHIgPSBjb250ZXh0
LmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIGluZm8sIGlubmVyUGFyc2VN
b2RlKTsKKyAgICBhdXRvIHN0YXRlbWVudCA9IGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChz
dGFydExvY2F0aW9uLCBmdW5jdGlvbkV4cHIsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmUpOworICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBzdGF0
ZW1lbnQpOworCisgICAgcmV0dXJuIHNvdXJjZUVsZW1lbnRzOworfQorCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCkKIHsKICAgICAvLyBUaGUgZ3JhbW1hciBpcyBkb2N1bWVudGVkIGhl
cmU6CkBAIC01NjIsNyArNjA2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAg
ICAgIC8vIEZvciBleGFtcGxlLCB1bmRlciBhIGdlbmVyYXRvciBjb250ZXh0LCBtYXRjaFNwZWNJ
ZGVudGlmaWVyKCkgZm9yICJ5aWVsZCIgcmV0dXJucyBgZmFsc2VgLgogICAgICAgICAgICAgLy8g
QnV0IHdlIHdvdWxkIGxpa2UgdG8gZW50ZXIgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uIGFuZCBy
YWlzZSBhbiBlcnJvciB1bmRlciB0aGUgY29udGV4dCBvZiBwYXJzZVZhcmlhYmxlRGVjbGFyYXRp
b24KICAgICAgICAgICAgIC8vIHRvIHJhaXNlIGNvbnNpc3RlbnQgZXJyb3JzIGJldHdlZW4gInZh
ciIsICJjb25zdCIgYW5kICJsZXQiLgotICAgICAgICAgICAgaWYgKCEobWF0Y2goSURFTlQpIHx8
IG1hdGNoKExFVCkgfHwgbWF0Y2goWUlFTEQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0
Y2goT1BFTkJSQUNLRVQpKQorICAgICAgICAgICAgaWYgKCEobWF0Y2goSURFTlQpIHx8IG1hdGNo
KExFVCkgfHwgbWF0Y2goWUlFTEQpIHx8IG1hdGNoKEFXQUlUKSkgJiYgIW1hdGNoKE9QRU5CUkFD
RSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKICAgICAgICAgICAgICAgICBzaG91bGRQYXJzZVZh
cmlhYmxlRGVjbGFyYXRpb24gPSBmYWxzZTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZVBvaW50KTsKICAgICAgICAgfQpAQCAtNTgyLDYgKzYyNiwyMCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3Rh
dGVtZW50TGlzdAogICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29u
dGV4dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSURFTlQ6CisgICAgICAgIC8vIEZJWE1F
OiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBq
cXVlcnkuCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNl
IGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwK
KyAgICAgICAgICAgIC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAgICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7
CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
Y29udGV4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFM
TFRIUk9VR0g7CisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIC8v
IFRoaXMgaXMgYSBjb252ZW5pZW50IHBsYWNlIHRvIG5vdGljZSBsYWJlbGVkIHN0YXRlbWVudHMK
ICAgICAgICAgLy8gKGV2ZW4gdGhvdWdoIHdlIGFsc28gcGFyc2UgdGhlbSBhcyBub3JtYWwgc3Rh
dGVtZW50cykKQEAgLTY5MCw2ICs3NDgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVjbAogICAg
ICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICBmYWlsSWZUcnVl
KG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkxldERl
Y2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVj
bGFyYXRpb24pLCAKICAgICAgICAgICAgICAgICAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50
aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4n
dCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKGRlY2xh
cmF0aW9uVHlwZSksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAg
ICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHZhclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOwogICAgICAgICAgICAgaWRlbnRTdGFydCA9IHZhclN0YXJ0OwpAQCAtMTAxMSw2ICsx
MDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1Bh
dHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzUGF0dGVybiwgRXJy
b3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJ
ZlN0cmljdChpc0V2YWxPckFyZ3VtZW50cywgIkNhbm5vdCBtb2RpZnkgJyIsIHByb3BlcnR5TmFt
ZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXQoaWRlbnRpZmllclRva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVz
dHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElk
ZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0ZXJu
ID0gY3JlYXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKnByb3Bl
cnR5TmFtZSwgaWRlbnRpZmllclRva2VuLCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRlbnRp
Zmllcik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEwNzks
NiArMTEzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJp
bmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFyYW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFyYW1l
dGVyIGxpc3QiKTsKICAgICAgICAgfQogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYg
KGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9MZXQgfHwga2luZCA9PSBE
ZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0NvbnN0KSwgIkNhbid0IHVzZSAnbGV0JyBh
cyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4aWNhbERlY2xhcmF0aW9uIik7CisgICAgICAg
IHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiks
ICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJpYWJsZUtp
bmROYW1lKGtpbmQpLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CiAg
ICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBv
cnRUeXBlLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0LCBk
dXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKQEAg
LTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICByZXN1
bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oY29udGV4dCwgRGVjbGFyYXRpb25UeXBlOjpW
YXJEZWNsYXJhdGlvbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRlVOQ1RJT046IHsKLSAg
ICAgICAgaWYgKCFzdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmVu
dEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xhcmF0
aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRoZSB0
b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3BlKCkt
PmlzRnVuY3Rpb24oKSkgewotICAgICAgICAgICAgICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJh
dGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MK
LSAgICAgICAgICAgICAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBh
biBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKLSAgICAgICAgICAgICAgICAv
LyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sg
c3RhdGVtZW50LgotICAgICAgICAgICAgICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZh
ciIuIEZvciBleGFtcGxlOgotICAgICAgICAgICAgICAgIC8vIGZ1bmN0aW9uIGEoKSB7Ci0gICAg
ICAgICAgICAgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KLSAgICAgICAg
ICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6Ci0g
ICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAgICAg
aWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0g
ICAgICAgICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3Bl
KCkpOwotICAgICAgICAgICAgICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7Ci0g
ICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOwotICAg
ICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwot
ICAgICAgICAgICAgICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOwotCi0gICAgICAgICAgICAg
ICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKLSAgICAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwotICAgICAgICAgICAgICAg
IGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3RhdGVtZW50
IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOwotICAgICAgICAgICAgICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsK
LSAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywg
ZnVuY3Rpb24pOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tT
dGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQ
b3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQo
KSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKLSAgICAgICAg
ICAgICAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ugb25s
eSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3RoZXJ3
aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAgICAgICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlv
ci4KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NTgxMwotICAgICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1l
bnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZW1lbnRE
ZXB0aCA9IDE7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0
aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQg
aW5zaWRlIGJsb2NrcyBvciBzd2l0Y2ggc3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOworICAg
ICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VG
dW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFsbG93
c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBjYXNlIFNFTUlDT0xPTjogewpAQCAtMTcxOSw2ICsxNzQ1LDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlCiAgICAgICAgIC8vIFRoZXNlIHRva2VucyBpbXBseSB0aGUgZW5kIG9mIGEg
c2V0IG9mIHNvdXJjZSBlbGVtZW50cwogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIElERU5U
OgorICAgICAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGlu
IG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgICAgICBpZiAoVU5MSUtFTFkoKm1fdG9rZW4u
bV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jICYmIG1heWJlUGFyc2VB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgcmVzdWx0LCBwYXJlbnRB
bGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpKSkKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBGQUxMVEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6
IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZh
bHNlOwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNv
bnRleHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiAr
MTc3NSw2OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmlj
dE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBi
bG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZG
YWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlv
biBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBv
ciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3VycmVudFNjb3Bl
KCktPmlzRnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBC
LjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjawor
ICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhN
YW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0
ZW1lbnREZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAgICAgcmV0dXJu
IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICByZXR1cm4g
cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAgIC8vIEFueSBm
dW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJy
b3IgdW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBp
biBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBp
dCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50
LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgorICAg
IC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7
IH0KKyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rp
b24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAg
ICAvLyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkp
OworICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+
cHJldmVudFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOworCisgICAgVHJl
ZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5j
dGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNlCisgICAg
ICAgIGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Cisg
ICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVk
IHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAg
ICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJj
ZUVsZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMs
IGZ1bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxv
Y2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5F
bmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1l
bnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBw
b3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjptYXli
ZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIEFTU0VSVCgqbV90b2tlbi5tX2RhdGEuaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgIFNhdmVQb2ludCBzYXZlUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgaWYgKG1hdGNoKEZVTkNUSU9O
KSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICBjb25zdCBib29sIGlz
QXN5bmMgPSB0cnVlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25T
dGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlv
bkFzU3RhdGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJlc3RvcmVT
YXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3RlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4
dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlzdCwgdW5zaWduZWQmIHBhcmFtZXRlckNvdW50
KQogewogI2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xhdGlvbigpIFwKQEAgLTE3NjUsNiAr
MTg1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAgICAgICAgIAogICAgICAgICBpZiAo
bWF0Y2goRE9URE9URE9UKSkgewogICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgJiYgbWF0Y2goQVdBSVQp
LCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5j
dGlvbiIpOwogICAgICAgICAgICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRlc3RydWN0dXJp
bmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBEZXN0cnVjdHVy
aW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVk
LCAmZHVwbGljYXRlUGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOwogICAgICAg
ICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHBhcmFtZXRlciA9IGNvbnRleHQu
Y3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1ldGVyQ291bnQp
OwpAQCAtMTgyOSw2ICsxOTIzLDE0IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiAiZ2VuZXJhdG9y
IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6
CiAgICAgICAgIHJldHVybiAiYXJyb3cgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbkJvZHlNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGZ1bmN0aW9uIjsKKyAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICByZXR1cm4gImFz
eW5jIG1ldGhvZCI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25N
b2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGFycm93IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1v
ZHVsZUFuYWx5emVNb2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0
ZU1vZGU6CkBAIC0xODQxLDEyICsxOTQzLDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlciwgY2xhc3MgRnVuY3Rpb25J
bmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rpb25JbmZvKQog
ewotICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUgJiYgbW9kZSAh
PSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSk7CisgICAgUkVMRUFTRV9BU1NF
UlQoIShvbmVPZlNvdXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSwg
U291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1
bGVFdmFsdWF0ZU1vZGU+KG1vZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFy
YW1ldGVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNl
dEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIo
bV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFy
YW1ldGVycyk7CiAgICAgCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZSkgewotICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBB
UkVOKSkgeworICAgIGlmIChVTkxJS0VMWSgob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNvdXJjZVBh
cnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZT4obW9kZSkpKSkgeworICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50aWZpZXIo
KSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVl
VG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAg
ICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBh
cmFtZXRlciIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTkzNyw3ICsyMDM5LDkgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNj
b3BlKCk7CiAKLSAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgp
LT5pc0dlbmVyYXRvcigpOworICAgIGJvb2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUg
PSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbik7CisgICAgY29uc3QgY2hhciog
aXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRBd2FpdEZ1
bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7
CisKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7
CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAgIGZ1bmN0
aW9uU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsK
QEAgLTE5NzksNyArMjA4Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAg
ICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0
T2Zmc2V0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5j
dGlvbkJvZHlUeXBlOwotICAgICAgICAgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSgob25lT2ZTb3VyY2VQ
YXJzZU1vZGVzPFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZT4obW9kZSkpKSkKICAgICAgICAgICAgICAgICBm
dW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dFeHByZXNzaW9uID8gIEFy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CiAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJk
RnVuY3Rpb25Cb2R5QmxvY2s7CkBAIC0yMDIyLDcgKzIxMjYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZAogCiAgICAgU3ludGF4Q2hlY2tlciBzeW50YXhDaGVja2VyKGNvbnN0X2Nhc3Q8Vk0q
PihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CiAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKFVOTElLRUxZKChvbmVPZlNvdXJjZVBh
cnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlPihtb2RlKSkpKSB7CiAgICAgICAgIHN0YXJ0TG9j
YXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgICAgIGZ1bmN0aW9uSW5mby5zdGFydExpbmUg
PSB0b2tlbkxpbmUoKTsKICAgICAgICAgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwpAQCAt
MjAzNyw3ICsyMTQxLDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgewogICAg
ICAgICAgICAgLy8gUGFyc2UgZm9ybWFsIHBhcmFtZXRlcnMgd2l0aCBbK1lpZWxkXSBwYXJhbWV0
ZXJpemF0aW9uLCBpbiBvcmRlciB0byBiYW4gWWllbGRFeHByZXNzaW9ucwogICAgICAgICAgICAg
Ly8gaW4gQXJyb3dGb3JtYWxQYXJhbWV0ZXJzLCBwZXIgRVM2ICNzZWMtYXJyb3ctZnVuY3Rpb24t
ZGVmaW5pdGlvbnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMuCi0gICAgICAgICAgICBT
Y29wZTo6TWF5YmVQYXJzZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5j
dGlvblNjb3BlLCB1cHBlclNjb3BlSXNHZW5lcmF0b3IpOworICAgICAgICAgICAgU2NvcGU6Ok1h
eWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29w
ZSwgcGFyZW50U2NvcGUtPmlzR2VuZXJhdG9yKCkpOworICAgICAgICAgICAgU2V0Rm9yU2NvcGU8
Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlzQXN5
bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgICAgICBwYXJzZUZ1bmN0aW9uUGFy
YW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOwogICAgICAgICAgICAg
cHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgfQpAQCAtMjA2OSwyMSArMjE3NCwyOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICAvLyBHZW5lcmF0b3JFeHByZXNzaW9uIDoKICAg
ICAgICAgLy8gICAgIGZ1bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXJbWWllbGRdb3B0ICggRm9y
bWFsUGFyYW1ldGVyc1tZaWVsZF0gKSB7IEdlbmVyYXRvckJvZHkgfQogICAgICAgICAvLwotICAg
ICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQi
IGV2ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgotICAgICAgICBpZiAoZnVuY3Rpb25E
ZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIG1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICB1
cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVu
Y3Rpb25FeHByZXNzaW9uIGFuZCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5
aWVsZCIgZXZlbiBpbiB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCisgICAgICAgIGJvb2wgdXBw
ZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIGlmICghKGZ1bmN0aW9uRGVmaW5p
dGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBvbmVPZlNv
dXJjZVBhcnNlTW9kZXM8U291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU+KG1vZGUpKSkKKyAgICAgICAgICAgIHVwcGVy
U2NvcGVJc0dlbmVyYXRvciA9IHVwcGVyU2NvcGUoMSktPmlzR2VuZXJhdG9yKCk7CiAKICAgICAg
ICAgaWYgKHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQp
IHsKICAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShyZXF1aXJlbWVudHMgPT0gRnVu
Y3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lICYmICFmdW5jdGlvbkluZm8ubmFtZSksICJXaGVu
IHNwZWNpZnlpbmcgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCB3ZSBuZWVkIHRvIGlu
aXRpYWxpemUgZnVuY3Rpb25JbmZvLm5hbWUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUg
Y2FsbGVyIHNpZGUuIik7CiAgICAgICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcih1cHBl
clNjb3BlSXNHZW5lcmF0b3IpKSB7CiAgICAgICAgICAgICAgICAgZnVuY3Rpb25JbmZvLm5hbWUg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgICAgICBtX3BhcnNlclN0YXRlLmxh
c3RGdW5jdGlvbk5hbWUgPSBmdW5jdGlvbkluZm8ubmFtZTsKKyAgICAgICAgICAgICAgICBpZiAo
VU5MSUtFTFkoaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUpKQorICAgICAgICAgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlv
bkRlZmluaXRpb25UeXBlOjpEZWNsYXJhdGlvbiB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFy
c2VNb2RlKG1vZGUpLCAiQ2Fubm90IGRlY2xhcmUgZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyAiLCBp
c0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbik7CisgICAgICAgICAgICAgICAgZWxz
ZSBpZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSAmJiBtYXRjaChBV0FJ
VCkgJiYgZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpF
eHByZXNzaW9uKQorICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkNhbm5vdCBkZWNs
YXJlIGFzeW5jIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCciKTsKICAgICAgICAgICAgICAgICBuZXh0
KCk7CiAgICAgICAgICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKICAgICAg
ICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVD
YWxsZWUoZnVuY3Rpb25JbmZvLm5hbWUpICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRTdHJp
Y3RNb2RlLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlk
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7
CiAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5hbWVSZXF1
aXJlbWVudHM6Ok5hbWVkKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikg
JiYgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAg
ICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBh
IG5hbWUiKTsKKyAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAg
ICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFt
ZSIpOworICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobW9kZSA9PSBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50
cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOwogICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIxMDEsOCArMjIxMywxMSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGlmIChsb2FkQ2FjaGVkRnVuY3Rpb24oKSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVy
cyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOwotICAgICAgICBwcm9wYWdhdGVF
cnJvcigpOworICAgICAgICB7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBvdmVycmlk
ZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1bmN0aW9uUGFy
c2VNb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKHN5bnRh
eENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CisgICAgICAgICAgICBwcm9wYWdhdGVFcnJv
cigpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0Us
ICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwogICAgICAgICAKQEAgLTIxNDksOSArMjI2NCwx
NSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICByZXR1cm4gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgc3ludGF4Q2hlY2tlciwgc3RhcnRMb2NhdGlvbiwgc3RhcnRDb2x1bW4s
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQsIGV4cGVjdGVkU3VwZXJCaW5kaW5nLCBmdW5jdGlvbkJvZHlUeXBl
LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQsIG1vZGUpOwogICAgIH07CiAKLSAgICBpZiAo
bW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsK
KyAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSkgewogICAgICAg
ICBBdXRvUG9wU2NvcGVSZWYgZ2VuZXJhdG9yQm9keVNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
LSAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSk7CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBpbm5l
clBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU7CisgICAgICAg
IGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CisgICAgICAgICAg
ICBpbm5lclBhcnNlTW9kZSA9IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlCisgICAgICAgICAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlCisgICAgICAgICAgICAgICAgOiBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Cb2R5TW9kZTsKKyAgICAgICAgfQorICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUt
PnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7CiAgICAgICAgIGdlbmVyYXRvckJv
ZHlTY29wZS0+c2V0Q29uc3RydWN0b3JLaW5kKENvbnN0cnVjdG9yS2luZDo6Tm9uZSk7CiAgICAg
ICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmcoZXhwZWN0ZWRT
dXBlckJpbmRpbmcpOwogCkBAIC0yMTcwLDcgKzIyOTEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGZ1bmN0aW9uSW5mby5ib2R5LCBtX2xleGVy
LT5jdXJyZW50T2Zmc2V0KCkpOwogICAgIGlmIChmdW5jdGlvblNjb3BlLT5zdHJpY3RNb2RlKCkg
JiYgcmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkgewog
ICAgICAgICBBU1NFUlQoZnVuY3Rpb25JbmZvLm5hbWUpOwotICAgICAgICBSRUxFQVNFX0FTU0VS
VChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCgob25lT2ZTb3VyY2VQYXJzZU1vZGVzPFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhv
ZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZT4obW9kZSkpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9k
ZSkpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJn
dW1lbnRzID09ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1w
bCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CiAg
ICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICpm
dW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBu
b3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CiAgICAgfQpAQCAtMjI4
NSw2ICsyNDA2LDYwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBFeHBvcnRUeXBlIGV4cG9ydFR5cGUsIERlY2xhcmF0aW9uRGVm
YXVsdENvbnRleHQgZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0
Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsK
KyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlv
bkluZm87CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzIHJlcXVpcmVt
ZW50cyA9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6TmFtZWQ7CisgICAgaWYgKGRlY2xhcmF0
aW9uRGVmYXVsdENvbnRleHQgPT0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVm
YXVsdCkgeworICAgICAgICAvLyBVbmRlciB0aGUgImV4cG9ydCBkZWZhdWx0IiBjb250ZXh0LCBm
dW5jdGlvbiBkZWNsYXJhdGlvbiBkb2VzIG5vdCByZXF1aXJlIHRoZSBmdW5jdGlvbiBuYW1lLgor
ICAgICAgICAvLworICAgICAgICAvLyAgICAgRXhwb3J0RGVjbGFyYXRpb246CisgICAgICAgIC8v
ICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgZXhwb3J0IGRlZmF1bHQgSG9pc3RhYmxl
RGVjbGFyYXRpb25bfllpZWxkLCArRGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gICAgIEhvaXN0YWJsZURlY2xhcmF0aW9uW1lpZWxkLCBEZWZh
dWx0XToKKyAgICAgICAgLy8gICAgICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uWz9ZaWVsZCwgP0Rl
ZmF1bHRdCisgICAgICAgIC8vICAgICAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bP1lpZWxkLCA/
RGVmYXVsdF0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25b
WWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAg
ICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzW35ZaWVsZF0gKSB7IEZ1
bmN0aW9uQm9keVt+WWllbGRdIH0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEdlbmVyYXRv
ckRlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAg
ICAgICAgLy8gICAgICAgICBbK0RlZmF1bHRdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJz
WytZaWVsZF0gKSB7IEdlbmVyYXRvckJvZHkgfQorICAgICAgICAvLworICAgICAgICAvLyBJbiB0
aGlzIGNhc2UsIHdlIHVzZSAiKmRlZmF1bHQqIiBhcyB0aGlzIGZ1bmN0aW9uIGRlY2xhcmF0aW9u
J3MgbmFtZS4KKyAgICAgICAgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRz
OjpOb25lOworICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CisgICAgfQorCisgICAg
ZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIHJlcXVpcmVtZW50cywgcGFy
c2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRp
b25UeXBlOjpEZWNsYXJhdGlvbikpLCAiQ2Fubm90IHBhcnNlIHRoaXMgYXN5bmMgZnVuY3Rpb24i
KTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbkluZm8ubmFtZSwgIkFzeW5jIGZ1bmN0aW9uIHN0
YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworCisgICAgc3RkOjpwYWlyPERlY2xhcmF0aW9u
UmVzdWx0TWFzaywgU2NvcGVSZWY+IGZ1bmN0aW9uRGVjbGFyYXRpb24gPSBkZWNsYXJlRnVuY3Rp
b24oZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJh
dGlvblJlc3VsdCA9IGZ1bmN0aW9uRGVjbGFyYXRpb24uZmlyc3Q7CisgICAgZmFpbElmVHJ1ZUlm
U3RyaWN0KGRlY2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRTdHJp
Y3RNb2RlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZnVuY3Rpb24gbmFtZWQgJyIsIGZ1bmN0
aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CisgICAgaWYgKGRlY2xh
cmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWREdXBsaWNhdGVEZWNsYXJh
dGlvbikKKyAgICAgICAgaW50ZXJuYWxGYWlsV2l0aE1lc3NhZ2UoZmFsc2UsICJDYW5ub3QgZGVj
bGFyZSBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IHNoYWRvd3MgYSBsZXQvY29uc3QvY2xhc3MvZnVu
Y3Rpb24gdmFyaWFibGUgJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmlj
dCBtb2RlIik7CisgICAgaWYgKGV4cG9ydFR5cGUgPT0gRXhwb3J0VHlwZTo6RXhwb3J0ZWQpIHsK
KyAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShleHBvcnROYW1lKCpmdW5jdGlvbkluZm8ubmFt
ZSksICJDYW5ub3QgZXhwb3J0IGEgZHVwbGljYXRlIGZ1bmN0aW9uIG5hbWU6ICciLCBmdW5jdGlv
bkluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOworICAgICAgICBtX21vZHVsZVNjb3BlRGF0YS0+ZXhw
b3J0QmluZGluZygqZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIH0KKworICAgIFRyZWVTdGF0ZW1l
bnQgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgZnVu
Y3Rpb25JbmZvKTsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNyZWF0ZXNBU1QpCisgICAgICAgIGZ1
bmN0aW9uRGVjbGFyYXRpb24uc2Vjb25kLT5hcHBlbmRGdW5jdGlvbihnZXRNZXRhZGF0YShmdW5j
dGlvbkluZm8pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNs
YXJhdGlvbkRlZmF1bHRDb250ZXh0KQogewogICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7
CkBAIC0yNDAxLDggKzI1NzYsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
Q2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAg
Ym9vbCBpc0dldHRlciA9IGZhbHNlOwogICAgICAgICBib29sIGlzU2V0dGVyID0gZmFsc2U7CiAg
ICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5jTWV0
aG9kID0gZmFsc2U7CiAgICAgICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgICAgIGlz
R2VuZXJhdG9yID0gdHJ1ZTsKKworcGFyc2VNZXRob2Q6CiAgICAgICAgIHN3aXRjaCAobV90b2tl
bi5tX3R5cGUpIHsKICAgICAgICAgbmFtZWRLZXl3b3JkOgogICAgICAgICBjYXNlIFNUUklORzoK
QEAgLTI0MTEsMTIgKzI1ODksMTcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
Q2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAg
ICAgIG5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElERU5UOgorICAg
ICAgICBjYXNlIEFXQUlUOgogICAgICAgICAgICAgaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKICAgICAgICAgICAgIEFTU0VSVChpZGVudCk7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8
fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0
Y2goT1BFTkJSQUNLRVQpKSkgeworICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAhaXNB
c3luY01ldGhvZCAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5H
KSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VU
KSkpIHsKICAgICAgICAgICAgICAgICBpc0dldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVz
LmdldDsKICAgICAgICAgICAgICAgICBpc1NldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVz
LnNldDsKKyAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQXN5bmNNZXRob2QgJiYgKmlk
ZW50ID09IHByb3BlcnR5TmFtZXMuYXN5bmMgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkp
KSB7CisgICAgICAgICAgICAgICAgICAgIGlzQXN5bmNNZXRob2QgPSB0cnVlOworICAgICAgICAg
ICAgICAgICAgICBnb3RvIHBhcnNlTWV0aG9kOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIERPVUJMRToKQEAgLTI0NDgs
NyArMjYzMSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgICAgICAgICAgYm9vbCBp
c0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5hbWVz
LmNvbnN0cnVjdG9yOwogICAgICAgICAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNv
dXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKLSAgICAgICAgICAgIGlmIChpc0dlbmVyYXRvcikg
eworICAgICAgICAgICAgaWYgKGlzQXN5bmNNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpc0Nv
bnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFy
c2VNb2RlOjpBc3luY01ldGhvZE1vZGU7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZU
cnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsICJDYW5ub3QgZGVj
bGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZSciKTsKKyAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0
cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdjb25zdHJ1Y3Rv
ciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNHZW5lcmF0b3IpIHsKICAgICAgICAgICAg
ICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOwogICAgICAgICAg
ICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3IgbmFtZWQgJ3Byb3RvdHlwZSci
KTsKQEAgLTI1MzEsNiArMjcxOSwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTAogICAgICAg
ICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChsb2NhdGlvbiwgZXhwcmVzc2lvbiwgc3RhcnQs
IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CiAgICAgICAgIH0KKyAgICAgICAgLy8gRklY
TUU6IFRoZXNlIGJyYW5jaCBjYXVzZXMgMSUgcmVncmVzc2lvbiBpbiBvY3RhbmUgY29kZS1sb2Fk
IGpxdWVyeS4KKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4p
LCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBsYWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3
YWl0UmVhc29uKCkpOworCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9z
aXRpb24oKTsKICAgICAgICAgbmV4dCgpOwpAQCAtMjcyNyw3ICsyOTE5LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVy
IFBhcnNlcjxMZXhlclQKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5d29y
ZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcyksICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBvcnRl
ZCBiaW5kaW5nIG5hbWUiKTsKICAgICAgICAgbmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JGYWls
KElERU5ULCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0
aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVj
dGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAg
ICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4u
bV9kYXRhLmlkZW50OwogICAgICAgICBuZXh0KCk7CkBAIC0yNzQ5LDcgKzI5NDEsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVj
aWZpZXIgUGFyc2VyPExleGVyVAogCiAgICAgICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3b3Jk
KG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSkgewogICAgICAgICAgICAgbmV4dCgpOwotICAgICAg
ICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRo
ZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3Bl
Y0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBk
ZWNsYXJhdGlvbiIpOwogICAgICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAg
ICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBu
ZXh0KCk7CkBAIC0yNzYwLDcgKzI5NTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAg
IGNhc2UgSW1wb3J0U3BlY2lmaWVyVHlwZTo6RGVmYXVsdEltcG9ydDogewogICAgICAgICAvLyBJ
bXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0gICAg
ICAgIEFTU0VSVChtYXRjaChJREVOVCkpOworICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRlbnRp
ZmllcigpKTsKICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBsb2Nh
bE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0gJm1f
dm0tPnByb3BlcnR5TmFtZXMtPmRlZmF1bHRLZXl3b3JkOwpAQCAtMjc2OSw2ICsyOTYxLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0
U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICB9CiAgICAgfQogCisgICAgc2VtYW50aWNGYWls
SWZUcnVlKGxvY2FsTmFtZVRva2VuLm1fdHlwZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3YWl0
JyBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRydWUo
bG9jYWxOYW1lVG9rZW4ubV90eXBlICYgS2V5d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Uga2V5
d29yZCBhcyBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3VsdE1h
c2sgZGVjbGFyYXRpb25SZXN1bHQgPSBkZWNsYXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNsYXJh
dGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24sIChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNwZWNp
ZmllclR5cGU6Ok5hbWVzcGFjZUltcG9ydCkgPyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9y
dGVkTmFtZXNwYWNlIDogRGVjbGFyYXRpb25JbXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAgaWYg
KGRlY2xhcmF0aW9uUmVzdWx0ICE9IERlY2xhcmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAtMjc5
OSw3ICsyOTkyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmEKICAgICB9CiAKICAgICBib29s
IGlzRmluaXNoZWRQYXJzaW5nSW1wb3J0ID0gZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5UKSkg
eworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0ZWRE
ZWZhdWx0QmluZGluZyA6CiAgICAgICAgIC8vIEltcG9ydGVkQmluZGluZwogICAgICAgICBhdXRv
IHNwZWNpZmllciA9IHBhcnNlSW1wb3J0Q2xhdXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVjaWZp
ZXJUeXBlOjpEZWZhdWx0SW1wb3J0KTsKQEAgLTI5MDksNiArMzEwMiwxNiBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RXhwb3J0RGVjbGFyYQogICAgICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgICAg
IGJvb2wgaXNGdW5jdGlvbk9yQ2xhc3NEZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICAgICBjb25z
dCBJZGVudGlmaWVyKiBsb2NhbE5hbWUgPSBudWxscHRyOworICAgICAgICBib29sIGlzQXN5bmNG
dW5jdGlvbkV4cG9ydCA9IGZhbHNlOworCisgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKKyAgICAgICAgICAg
IFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4
ZXItPnByZXZUZXJtaW5hdG9yKCkpKQorICAgICAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbkV4
cG9ydCA9IHRydWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CiAKICAgICAgICAgYm9vbCBzdGFydHNXaXRo
RnVuY3Rpb24gPSBtYXRjaChGVU5DVElPTik7CiAgICAgICAgIGlmIChzdGFydHNXaXRoRnVuY3Rp
b24gfHwgbWF0Y2goQ0xBU1NUT0tFTikpIHsKQEAgLTI5MzMsNiArMzEzNiwxMSBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnRE
ZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgICAgICAgICAgICAgbV9zdGF0ZW1lbnREZXB0
aCA9IDE7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250
ZXh0OjpFeHBvcnREZWZhdWx0KTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNBc3luY0Z1bmN0
aW9uRXhwb3J0KSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7Cisg
ICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERl
cHRoKTsKKyAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKKyAgICAgICAgICAg
ICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBv
cnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVm
YXVsdCk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFTU0VSVChtYXRj
aChDTEFTU1RPS0VOKSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VDbGFzc0RlY2xh
cmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKQEAgLTI5NDcsNiArMzE1NSw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gSW4gdGhlIGFi
b3ZlIGV4YW1wbGUsICpkZWZhdWx0KiBpcyB0aGUgaW52aXNpYmxlIHZhcmlhYmxlIHRvIHRoZSB1
c2Vycy4KICAgICAgICAgICAgIC8vIFdlIHVzZSB0aGUgcHJpdmF0ZSBzeW1ib2wgdG8gcmVwcmVz
ZW50IHRoZSBuYW1lIG9mIHRoaXMgdmFyaWFibGUuCisgICAgICAgICAgICBFeHByZXNzaW9uRXJy
b3JDbGFzc2lmaWVyIGNsYXNzaWZpZXIodGhpcyk7CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lv
biBleHByZXNzaW9uID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTMw
NTMsOSArMzI2MiwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgYnJl
YWs7CiAKICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENv
bnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKKyAgICAgICAg
ICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRj
aChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVu
Y3Rpb24nIGtleXdvcmQgZm9sbG93aW5nICdhc3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGlu
ZyBsaW5lIHRlcm1pbmF0b3IiKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5j
RnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmYWlsV2l0aE1l
c3NhZ2UoIkV4cGVjdGVkIGVpdGhlciBhIGRlY2xhcmF0aW9uIG9yIGEgdmFyaWFibGUgc3RhdGVt
ZW50Iik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCiAgICAgICAgIGZhaWxJZkZh
bHNlKHJlc3VsdCwgIkNhbm5vdCBwYXJzZSB0aGUgZGVjbGFyYXRpb24iKTsKICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRXhwb3J0TG9jYWxEZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwg
cmVzdWx0KTsKICAgICB9CkBAIC0zMTE3LDM0ICszMzMzLDQ2IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNz
aWdubWVuCiAgICAgQVNTRVJUKCFoYXNFcnJvcigpKTsKICAgICAKICAgICBmYWlsSWZTdGFja092
ZXJmbG93KCk7CisKKyAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVO
VChjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCisgICAgICAgIHJldHVybiBwYXJzZVlp
ZWxkRXhwcmVzc2lvbihjb250ZXh0KTsKKwogICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9r
ZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgaW50IGluaXRpYWxBc3NpZ25tZW50Q291bnQgPSBtX3BhcnNlclN0YXRl
LmFzc2lnbm1lbnRDb3VudDsKICAgICBpbnQgaW5pdGlhbE5vbkxIU0NvdW50ID0gbV9wYXJzZXJT
dGF0ZS5ub25MSFNDb3VudDsKICAgICBib29sIG1heWJlQXNzaWdubWVudFBhdHRlcm4gPSBtYXRj
aChPUEVOQlJBQ0UpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKTsKICAgICBib29sIHdhc09wZW5QYXJl
biA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc1ZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0
ID0gbWF0Y2goT1BFTlBBUkVOKSB8fCBtYXRjaChJREVOVCk7CisgICAgLy8gRG8gbm90IHVzZSBt
YXRjaFNwZWNJZGVudGlmaWVyKCkgaGVyZSBzaW5jZSBpdCBpcyBzbG93ZXIgdGhhbiBpc0lkZW50
aWZpZXJPcktleXdvcmQuCisgICAgLy8gV2hldGhlciBzcGVjIGlkZW50aWZpZXIgaXMgd2lsbCBi
ZSB2YWxpZGF0ZWQgYnkgaXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpLgorICAgIGJvb2wgd2Fz
SWRlbnRpZmllck9yS2V5d29yZCA9IGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKTsKKyAg
ICBib29sIG1heWJlVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSB3YXNPcGVuUGFyZW4gfHwgd2Fz
SWRlbnRpZmllck9yS2V5d29yZDsKICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CiAgICAgc2l6ZV90IHVzZWRWYXJpYWJsZXNTaXplID0gMDsKLSAgICBpZiAod2Fz
T3BlblBhcmVuKSB7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgYnJhbmNoIGNhdXNlcyAxJSByZWdy
ZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5LgorICAgIGlmICh3YXNPcGVuUGFyZW4g
fHwgKHdhc0lkZW50aWZpZXJPcktleXdvcmQgJiYgVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlk
ZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKICAgICAgICAgdXNlZFZhcmlh
Ymxlc1NpemUgPSBjdXJyZW50U2NvcGUoKS0+Y3VycmVudFVzZWRWYXJpYWJsZXNTaXplKCk7CiAg
ICAgICAgIGN1cnJlbnRTY29wZSgpLT5wdXNoVXNlZFZhcmlhYmxlU2V0KCk7CiAgICAgfQogCi0g
ICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3Bl
KCktPmlzR2VuZXJhdG9yKCkpKQotICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24o
Y29udGV4dCk7Ci0KICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhw
cmVzc2lvbihjb250ZXh0KTsKIAotICAgIGlmIChpc1ZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYm
ICFtYXRjaChFT0ZUT0spKSB7CisgICAgaWYgKG1heWJlVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQg
JiYgIW1hdGNoKEVPRlRPSykpIHsKICAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Ub2tlbiA9
IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwogICAgICAgICBpZiAoIWxocyB8fCBpc0Fycm93RnVuY3Rp
b25Ub2tlbikgewogICAgICAgICAgICAgU2F2ZVBvaW50V2l0aEVycm9yIGVycm9yUmVzdG9yYXRp
b25TYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnRGb3JFcnJvcigpOwogICAgICAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgYm9vbCBpc0FzeW5jQXJyb3cg
PSBmYWxzZTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShjbGFzc2lmaWVyLmluZGljYXRlc1Bv
c3NpYmxlQXN5bmNBcnJvd0Z1bmN0aW9uKCkpKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1h
dGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgaXNBc3luY0Fycm93ID0gIW1fbGV4
ZXItPnByZXZUZXJtaW5hdG9yKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoaXNB
cnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdhc09wZW5Q
YXJlbikKKyAgICAgICAgICAgICAgICBpZiAod2FzT3BlblBhcmVuIHx8IGlzQXN5bmNBcnJvdykK
ICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnJldmVydFRvUHJldmlvdXNVc2Vk
VmFyaWFibGVzKHVzZWRWYXJpYWJsZXNTaXplKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gcGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0LCBpc0FzeW5jQXJyb3cpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludFdpdGhFcnJvcihlcnJv
clJlc3RvcmF0aW9uU2F2ZVBvaW50KTsKICAgICAgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25U
b2tlbikKQEAgLTMyNjgsNiArMzQ5NiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVlpZWxkRXhwcmVzcwogfQog
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgLy8gQXdhaXRFeHByZXNzaW9uIGRlc3Vn
YXJlZCB0byBZaWVsZEV4cHJlc3Npb24KKyAgICBBU1NFUlQobWF0Y2goQVdBSVQpKTsKKyAgICBB
U1NFUlQoY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbigpKTsKKyAgICBmYWlsSWZUcnVl
KG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlID09IEZ1bmN0aW9uUGFyc2VQaGFzZTo6
UGFyYW1ldGVycywgIkNhbm5vdCB1c2UgYXdhaXQgZXhwcmVzc2lvbiB3aXRoaW4gcGFyYW1ldGVy
cyIpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAg
IEpTVGV4dFBvc2l0aW9uIGRpdm90U3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBu
ZXh0KCk7CisgICAgSlNUZXh0UG9zaXRpb24gYXJndW1lbnRTdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOworICAgIFRyZWVFeHByZXNzaW9uIGFyZ3VtZW50ID0gcGFyc2VVbmFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoYXJndW1lbnQsICJGYWlsZWQgdG8gcGFyc2Ug
YXdhaXQgZXhwcmVzc2lvbiIpOworICAgIGNvbnN0IGJvb2wgZGVsZWdhdGUgPSBmYWxzZTsKKyAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVZaWVsZChsb2NhdGlvbiwgYXJndW1lbnQsIGRlbGVnYXRl
LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKK30K
KwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ29uZGl0aW9uYWxF
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4MCwyMiArMzYyNSwyNiBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQgPSBmYWxzZTsKICAgICBib29sIGlz
R2VuZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNzUHJvcGVydHkgPSBmYWxzZTsKKyAg
ICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAg
ICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2gg
KG1fdG9rZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgor
ICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRI
Uk9VR0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKLSAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3
YXNJZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5nZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkpKQorICAgICAgICBp
ZiAoY29tcGxldGUgfHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
c2V0IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpKQogICAgICAgICAg
ICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOwog
ICAgICAgICBlbHNlCiAgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdz
SWdub3JlUmVzZXJ2ZWRXb3JkcyB8IFRyZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3Jkcyk7CiAK
LSAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiBtYXRjaChDT0xPTikpIHsKKyAgICAgICAgaWYg
KCFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiBtYXRjaChDT0xPTikpIHsKICAgICAg
ICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFz
c2lnbm1lbnRFeHByZXNzaW9uT3JQcm9wYWdhdGVFcnJvckNsYXNzKGNvbnRleHQpOwogICAgICAg
ICAgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIGZvciBwcm9w
ZXJ0eSBkZWNsYXJhdGlvbiIpOwpAQCAtMzQwNCwxMSArMzY1MywxMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9w
ZXJ0eShUcmVlQgogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsK
LSAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBp
ZGVudCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAg
ICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlUHJvcGVydHkoaWRlbnQsIG1ldGhvZCwgUHJvcGVydHlOb2RlOjpDb25zdGFudCwgUHJv
cGVydHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBp
c0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0
b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAg
IGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFy
ZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBmYWlsSWZGYWxzZSh3YXNJ
ZGVudCwgIkV4cGVjdGVkIGFuIGlkZW50aWZpZXIgYXMgcHJvcGVydHkgbmFtZSIpOwogCkBAIC0z
NDMwLDcgKzM2NzksMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVy
dHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgICAgIHR5
cGUgPSBQcm9wZXJ0eU5vZGU6OkdldHRlcjsKICAgICAgICAgZWxzZSBpZiAoKmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPnNldCkKICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6
OlNldHRlcjsKLSAgICAgICAgZWxzZQorICAgICAgICBlbHNlIGlmIChVTkxJS0VMWSghaXNHZW5l
cmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PmFzeW5jKSkgeworICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAgICAg
ICBmYWlsSWZUcnVlKG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCBhIHByb3Bl
cnR5IG5hbWUgZm9sbG93aW5nIGtleXdvcmQgJ2FzeW5jJyIpOworICAgICAgICAgICAgZ290byBw
YXJzZVByb3BlcnR5OworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2Fn
ZSgiRXhwZWN0ZWQgYSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+
aW1wbCgpLCAiJyIpOwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwg
Y29tcGxldGUsIHR5cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICB9CkBAIC0zNDQxLDExICszNjk0LDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gbV9wYXJzZXJBcmVuYS5p
ZGVudGlmaWVyQXJlbmEoKS5tYWtlTnVtZXJpY0lkZW50aWZpZXIoY29uc3RfY2FzdDxWTSo+KG1f
dm0pLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0
byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0
b3IsIGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KCZpZGVudCwgbWV0aG9kLCBQcm9w
ZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6OlVua25vd24sIGNvbXBsZXRlLCBTdXBl
ckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBm
YWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1l
bnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRo
b2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAg
ICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6JyBhZnRlciBwcm9wZXJ0eSBuYW1l
Iik7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNz
aW9uKGNvbnRleHQpOwpAQCAtMzQ2MCwxMSArMzcxMywxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShU
cmVlQgogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFQlJBQ0tFVCwgIl0iLCAi
ZW5kIiwgImNvbXB1dGVkIHByb3BlcnR5IG5hbWUiKTsKIAogICAgICAgICBpZiAobWF0Y2goT1BF
TlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9k
KGNvbnRleHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0
b3IpOworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRl
eHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0b3IsIGlz
QXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSwgbWV0aG9kLCBzdGF0
aWNfY2FzdDxQcm9wZXJ0eU5vZGU6OlR5cGU+KFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQgfCBQcm9w
ZXJ0eU5vZGU6OkNvbXB1dGVkKSwgUHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUs
IFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAg
ICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBh
cmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3lu
Y01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAog
ICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5
IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDc5LDEzICszNzMyLDEzIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBt
ZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBp
c0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBt
ZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0
aG9kSW5mbzsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwotICAgIFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKKyAg
ICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNHZW5lcmF0b3IgPyBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgOiBpc0FzeW5jTWV0aG9kID8gU291cmNl
UGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUgOiBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7
CiAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIEZ1
bmN0aW9uRGVmaW5pdGlvblR5cGU6Ok1ldGhvZCkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihtZXRob2RMb2Nh
dGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0zNzUxLDYgKzQwMDQsMjAgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkV4cHIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tl
blN0YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gZnVuY3Rpb25JbmZvOworICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgcGFy
c2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uSW5mbywgRnVuY3Rpb25EZWZpbml0
aW9uVHlwZTo6RXhwcmVzc2lvbiksICJDYW5ub3QgcGFyc2UgYXN5bmMgZnVuY3Rpb24gZXhwcmVz
c2lvbiIpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwg
ZnVuY3Rpb25JbmZvKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3Ry
aW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCB0eXBlbmFtZSBMZXhlclR5cGU6OlJhd1N0cmlu
Z3NCdWlsZE1vZGUgcmF3U3RyaW5nc0J1aWxkTW9kZSwgYm9vbCYgZWxlbWVudElzVGFpbCkKIHsK
ICAgICBpZiAoIWlzVGVtcGxhdGVIZWFkKSB7CkBAIC0zODM4LDE0ICs0MTA1LDE4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+c2V0SW5uZXJB
cnJvd0Z1bmN0aW9uVXNlc1RoaXMoKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlVGhp
c0V4cHIobG9jYXRpb24pOwogICAgIH0KKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6
IHsKICAgICBpZGVudGlmaWVyRXhwcmVzc2lvbjoKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKFVOTElL
RUxZKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkKKyAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJ
T04pKQogICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIC8vIEZJWE1FOiBUaGVzZSBicmFu
Y2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNvZGUtbG9hZCBqcXVlcnkuCisgICAg
ICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5h
dG9yKCkgJiYgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkKKyAgICAgICAg
ICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAg
ICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMt
PmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0SWRlbnRpZmllciA9
IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCAq
aWRlbnQsIHN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKQEAgLTQwMjEsNiArNDI5Miw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVj
dGVkVG9rZW4oKTsKICAgICB9CiAKKyAgICBib29sIGJhc2VJc0FzeW5jS2V5d29yZCA9IGZhbHNl
OwogICAgIGlmIChiYXNlSXNTdXBlcikgewogICAgICAgICBTY29wZVJlZiBjbG9zZXN0T3JkaW5h
cnlGdW5jdGlvblNjb3BlID0gY2xvc2VzdFBhcmVudE9yZGluYXJ5RnVuY3Rpb25Ob25MZXhpY2Fs
U2NvcGUoKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShjdXJyZW50U2NvcGUoKS0+aXNG
dW5jdGlvbigpIHx8IChjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5pc0V2YWxDb250ZXh0
KCkgJiYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29wZS0+ZXhwZWN0ZWRTdXBlckJpbmRpbmco
KSA9PSBTdXBlckJpbmRpbmc6Ok5lZWRlZCksICJzdXBlciBpcyBub3QgdmFsaWQgaW4gdGhpcyBj
b250ZXh0Iik7CkBAIC00MDM4LDggKzQzMTAsMjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMK
ICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoZnVuY3Rpb25TdXBlckJpbmRpbmcg
PT0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsICJzdXBlciBpcyBub3QgdmFsaWQgaW4gdGhpcyBj
b250ZXh0Iik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKCFiYXNl
SXNOZXdUYXJnZXQpCisgICAgfSBlbHNlIGlmICghYmFzZUlzTmV3VGFyZ2V0KSB7CisgICAgICAg
IC8vIEZJWE1FOiBUaGVzZSBicmFuY2ggY2F1c2VzIDElIHJlZ3Jlc3Npb24gaW4gb2N0YW5lIGNv
ZGUtbG9hZCBqcXVlcnkuCisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IG1hdGNoQ29udGV4
dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOwogICAgICAgICBiYXNlID0g
cGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UoYmFz
ZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGlzQXN5bmMgJiYgY29udGV4dC5pc1Jlc29sdmUoYmFzZSkgJiYgIW1fbGV4ZXItPnByZXZUZXJt
aW5hdG9yKCkpKSB7CisgICAgICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7Cisg
ICAgICAgICAgICAgICAgLy8gQXN5bmNBcnJvd0Z1bmN0aW9uCisgICAgICAgICAgICAgICAgZm9y
Y2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlv
bik7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBiYXNlSXNBc3luY0tleXdvcmQgPSB0cnVlOworICAgICAgICB9CisgICAgfQogCiAgICAgZmFp
bElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKICAgICB3aGls
ZSAodHJ1ZSkgewpAQCAtNDA3NCw2ICs0MzU4LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMK
ICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhw
cmVzc2lvbkVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICAgVHJl
ZUFyZ3VtZW50cyBhcmd1bWVudHMgPSBwYXJzZUFyZ3VtZW50cyhjb250ZXh0KTsKKyAgICAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkoYmFzZUlzQXN5bmNLZXl3b3JkICYmICghYXJndW1lbnRzIHx8
IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkpCisgICAgICAgICAgICAgICAgICAgIGZvcmNlQ2xhc3Np
ZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOwogICAg
ICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGFyZ3VtZW50cywgIkNhbm5vdCBwYXJzZSBjYWxsIGFy
Z3VtZW50cyIpOwogICAgICAgICAgICAgICAgIGlmIChiYXNlSXNTdXBlcikgewogICAgICAgICAg
ICAgICAgICAgICBTY29wZVJlZiBmdW5jdGlvblNjb3BlID0gY3VycmVudEZ1bmN0aW9uU2NvcGUo
KTsKQEAgLTQxMzIsNyArNDQxOCw3IEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCwgYm9vbCBpc0FzeW5jKQogewogICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbjsKIApAQCAtNDE0MCw3ICs0NDI2LDkgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW8KICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKICAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9u
SW5mbyhjb250ZXh0LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQsIFNvdXJjZVBh
cnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5j
dGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVu
Y3Rpb24gZXhwcmVzc2lvbiIpOworCisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlz
QXN5bmMgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgOiBTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQsIHBhcnNl
TW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4
cHJlc3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CiAK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5m
byk7CiB9CkBAIC00MTg0LDYgKzQ0NzIsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VVbmFyeUV4cHJlc3MKICAg
ICBib29sIG1vZGlmaWVzRXhwciA9IGZhbHNlOwogICAgIGJvb2wgcmVxdWlyZXNMRXhwciA9IGZh
bHNlOwogICAgIHVuc2lnbmVkIGxhc3RPcGVyYXRvciA9IDA7CisKKyAgICAvLyBGSVhNRTogVGhl
c2UgYnJhbmNoIGNhdXNlcyAxJSByZWdyZXNzaW9uIGluIG9jdGFuZSBjb2RlLWxvYWQganF1ZXJ5
LgorICAgIGlmIChVTkxJS0VMWShtYXRjaChBV0FJVCkgJiYgY3VycmVudEZ1bmN0aW9uU2NvcGUo
KS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkpCisgICAgICAgIHJldHVybiBwYXJzZUF3YWl0
RXhwcmVzc2lvbihjb250ZXh0KTsKKwogICAgIHdoaWxlIChpc1VuYXJ5T3AobV90b2tlbi5tX3R5
cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjUsNiArNDY1OCw3IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2Vu
VGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRlIG5hbWUgJyIsIGdldFRv
a2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAorICAgIGNhc2UgQVdB
SVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNkZDVlNzc4YjhmZGI1OTIz
YWE3OThhZWQxMjMuLjFhOGZhZmFmMmY4MGVlNmQwNmI4NDI1YzEzOTI2ZGQzY2YxMGJiN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0
cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGUpOwogCiBwdWJsaWM6
Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0
b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24pCisgICAgU2NvcGUoY29u
c3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0
TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1bmN0aW9uKQogICAgICAg
ICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRzKGZhbHNlKQogICAgICAg
ICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAgcHVibGljOgogICAgICAg
ICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5j
dGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFy
eShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0FzeW5jRnVuY3Rpb24pCisg
ICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lz
TGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KGZhbHNl
KQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAgLTE4MSw2ICsxODMsOCBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KG90aGVyLm1faXNHZW5l
cmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihvdGhlci5tX2lzQXJy
b3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1f
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24ob3Ro
ZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFy
eShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNMZXhpY2Fs
U2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBtX2lzRnVuY3Rpb25Cb3Vu
ZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJp
Y3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgsNiArMjQyLDE0IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkK
ICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5j
QXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJ
c0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKICAgICAgICAgICAgIHNl
dElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1Nyw2ICsyNjksMTUgQEAg
cHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBi
cmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6
CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAg
ICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICAg
ICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAg
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICAgICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNGdW5jdGlvbkJv
dW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5l
cmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBt
X2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb25C
b3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7IH0KIAog
ICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBcmd1bWVudHM7IH0K
IApAQCAtMjkxLDYgKzMxNCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2xleGljYWxW
YXJpYWJsZXM7CiAgICAgfQogCisgICAgYm9vbCBpc01vZHVsZSgpIGNvbnN0CisgICAgeworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgdm9pZCBjb21wdXRlTGV4aWNhbGx5Q2Fw
dHVyZWRWYXJpYWJsZXNBbmRQdXJnZUNhbmRpZGF0ZXMoKQogICAgIHsKICAgICAgICAgLy8gQmVj
YXVzZSB2YXJpYWJsZXMgbWF5IGJlIGRlZmluZWQgYXQgYW55IHRpbWUgaW4gdGhlIHJhbmdlIG9m
IGEgbGV4aWNhbCBzY29wZSwgd2UgbXVzdApAQCAtNzEwLDYgKzczOCwzNCBAQCBwcml2YXRlOgog
ICAgICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAgICAgfQogCisgICAgdm9pZCBzZXRJ
c0FzeW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24o
KTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQg
c2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAg
ICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNB
c3luY0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAg
ICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0g
dHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQor
CisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAg
c2V0SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7Cisg
ICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rp
b25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29uc3QgVk0qIG1fdm07CiAgICAgYm9v
bCBtX3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3VzZXNFdmFsOwpAQCAtNzI0LDYgKzc4
MCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJhdG9yQm91bmRhcnk7CiAgICAgYm9v
bCBtX2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnk7
CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3BlOwogICAgIGJvb2wgbV9pc0Z1bmN0
aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJpY3RNb2RlOwpAQCAtODg2LDggKzk0
NCw5IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIGVudW0gRXhwcmVzc2lvbkVycm9yQ2xhc3Mg
ewotICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcsCi0gICAgICAgIEVycm9ySW5kaWNhdGVz
UGF0dGVybgorICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcgPSAwLAorICAgICAgICBFcnJv
ckluZGljYXRlc1BhdHRlcm4sCisgICAgICAgIEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0
aW9uCiAgICAgfTsKIAogICAgIHN0cnVjdCBFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyIHsKQEAg
LTkxMSw2ICs5NzAsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lm
aWNhdGlvbjsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Np
b25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICAgICAgewor
ICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOworICAgICAgICB9CisKICAgICAg
ICAgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIG9s
ZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKG1fY2xhc3MgIT0gb2xkQ2xhc3NpZmljYXRpb24pCkBA
IC05MjAsMTEgKzk4NCwxMiBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQgcHJvcGFnYXRlRXhw
cmVzc2lvbkVycm9yQ2xhc3MoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAobV9wcmV2aW91
cyAmJiBtX2NsYXNzICE9IEVycm9ySW5kaWNhdGVzTm90aGluZykKKyAgICAgICAgICAgIGlmICht
X3ByZXZpb3VzKQogICAgICAgICAgICAgICAgIG1fcHJldmlvdXMtPm1fY2xhc3MgPSBtX2NsYXNz
OwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBpbmRpY2F0ZXNQb3NzaWJsZVBhdHRlcm4oKSBj
b25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzUGF0dGVybjsgfQorICAgICAg
ICBib29sIGluZGljYXRlc1Bvc3NpYmxlQXN5bmNBcnJvd0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlvbjsgfQogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3MgbV9jbGFzczsKQEAgLTkzOCw2
ICsxMDAzLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNsYXNz
aWZpZXItPmNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKICAgICB9CiAK
KyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHBy
ZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICB7CisgICAgICAgIGlmIChtX2V4
cHJlc3Npb25FcnJvckNsYXNzaWZpZXIpCisgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNs
YXNzaWZpZXItPmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOwor
ICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9y
KEV4cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JD
bGFzcyBjbGFzc2lmaWNhdGlvbikKICAgICB7CiAgICAgICAgIGlmIChtX2V4cHJlc3Npb25FcnJv
ckNsYXNzaWZpZXIpCkBAIC05NTksNiArMTAzMCwxOSBAQCBwcml2YXRlOgogICAgICAgICByZXR1
cm4gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9WYXJpYWJsZXM7CiAgICAgfQogCisg
ICAgQUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBkZWNsYXJhdGlvblR5cGVUb1ZhcmlhYmxlS2lu
ZChEZWNsYXJhdGlvblR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIHN3aXRjaCAodHlwZSkgewor
ICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRpb246CisgICAgICAgICAg
ICByZXR1cm4gInZhcmlhYmxlIG5hbWUiOworICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6
TGV0RGVjbGFyYXRpb246CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpDb25zdERlY2xh
cmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuICJsZXhpY2FsIHZhcmlhYmxlIG5hbWUiOworICAg
ICAgICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiAiaW52YWxpZCI7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSBBc3NpZ25tZW50Q29u
dGV4dCBhc3NpZ25tZW50Q29udGV4dEZyb21EZWNsYXJhdGlvblR5cGUoRGVjbGFyYXRpb25UeXBl
IHR5cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTk3MSw2ICsxMDU1LDEy
IEBAIHByaXZhdGU6CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFdmFsT3JBcmd1bWVudHMo
Y29uc3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGlzRXZhbE9yQXJndW1lbnRzSWRlbnRp
ZmllcihtX3ZtLCBpZGVudCk7IH0KIAorICAgIFNjb3BlUmVmIHVwcGVyU2NvcGUoaW50IG4pCisg
ICAgeworICAgICAgICBBU1NFUlQobV9zY29wZVN0YWNrLnNpemUoKSA+PSBzaXplX3QoMSArIG4p
KTsKKyAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5z
aXplKCkgLSAxIC0gbik7CisgICAgfQorCiAgICAgU2NvcGVSZWYgY3VycmVudFNjb3BlKCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3BlU3RhY2su
c2l6ZSgpIC0gMSk7CkBAIC0xMDI3LDEzICsxMTE3LDE1IEBAIHByaXZhdGU6CiAgICAgICAgIGJv
b2wgaXNTdHJpY3QgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOwog
ICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5
bmNGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoIW1fc2NvcGVTdGFjay5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIGlzU3RyaWN0ID0gbV9zY29wZVN0YWNrLmxhc3QoKS5zdHJpY3RNb2Rl
KCk7CiAgICAgICAgICAgICBpc0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Z1bmN0
aW9uKCk7CiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNH
ZW5lcmF0b3IoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5s
YXN0KCkuaXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBpc0FzeW5jRnVuY3Rpb24gPSBt
X3Njb3BlU3RhY2subGFzdCgpLmlzQXN5bmNGdW5jdGlvbigpOwogICAgICAgICB9Ci0gICAgICAg
IG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlvbiwgaXNHZW5l
cmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24pOworICAgICAgICBtX3Njb3BlU3RhY2su
Y29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmlj
dCwgaXNBcnJvd0Z1bmN0aW9uLCBpc0FzeW5jRnVuY3Rpb24pOwogICAgICAgICByZXR1cm4gY3Vy
cmVudFNjb3BlKCk7CiAgICAgfQogCkBAIC0xMzQ2LDIxICsxNDM4LDI1IEBAIHByaXZhdGU6CiAg
ICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3Jz
CiAgICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoYm9vbCBpbkdlbmVy
YXRvcikKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgaXNMRVRNYXNrZWRB
c0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOworICAgICAgICBy
ZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQo
KSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CiAgICAgfQogCiAgICAgQUxX
QVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1hdGNoU3BlY0lkZW50aWZpZXIoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOwor
ICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tl
ZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5l
cmF0b3IoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVs
ZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgcGFyc2VHZW5lcmF0b3JGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiwgU291cmNlRWxlbWVudHNNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVl
QnVpbGRlciYsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYsIGNv
bnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOwogICAgIGVudW0gY2xhc3MgRXhw
b3J0VHlwZSB7IEV4cG9ydGVkLCBOb3RFeHBvcnRlZCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxk
ZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVm
YXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25E
ZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBv
cnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRl
eHQ6OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgYm9v
bCBpc0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVu
dCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9y
dFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRp
b25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBi
b29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlVmFyaWFibGVEZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlwZSA9IEV4cG9y
dFR5cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlV2hpbGVTdGF0ZW1l
bnQoVHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ4Myw3IEBAIHByaXZhdGU6CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBh
cnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5RXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZU1lbWJlckV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVpbGRlciYpOwpAQCAtMTM5
NCwxNyArMTQ5MSwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0T2JqZWN0TGl0ZXJhbChU
cmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVF
eHByZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBh
cnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3VtZW50cyBwYXJzZUFyZ3Vt
ZW50cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRyZWVCdWlsZGVyJiwgQXJn
dW1lbnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVy
dHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKLSAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2Qo
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wg
aXNHZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9k
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdl
dHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUs
IHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCwgYm9v
bCBpc0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVy
JiwgU3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlvbkJvZHlUeXBlLCB1bnNp
Z25lZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImLCBU
cmVlRm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBlbnVtIFZhckRlY2xhcmF0
aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0IH07
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZh
cmlhYmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRy
ZWVEZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0
SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYg
aW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29u
dGV4dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBmb3JMb29wQ29uc3REb2Vz
Tm90SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNv
dXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwgYm9vbCBpc0FzeW5jKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1
Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZXN0cnVj
dHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYsIEpTVG9rZW4sIEFzc2ln
bm1lbnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllcik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiwgVHJlZUV4
cHJlc3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3Ry
dWN0dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlm
aWVyKiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4s
IEFzc2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpOwpAQCAtMTQ2Miw2
ICsxNTYwLDIxIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9lcnJvck1lc3NhZ2UuaXNO
dWxsKCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoY29u
c3QgSlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICByZXR1cm4gdG9rZW4ubV90eXBlID09
IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5p
c0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIHx8IGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgpIHx8
ICFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQpOworICAgIH0KKworICAgIGNvbnN0IGNoYXIqIGRp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3Bh
cnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5KCkpCisgICAgICAgICAgICByZXR1cm4gImluIGFuIGFzeW5jIGZ1bmN0aW9uIjsKKyAg
ICAgICAgaWYgKGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgpKQorICAgICAgICAgICAgcmV0dXJu
ICJpbiBhIG1vZHVsZSI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGVudW0gY2xhc3MgRnVuY3Rpb25Q
YXJzZVBoYXNlIHsgUGFyYW1ldGVycywgQm9keSB9OwogICAgIHN0cnVjdCBQYXJzZXJTdGF0ZSB7
CiAgICAgICAgIGludCBhc3NpZ25tZW50Q291bnQgeyAwIH07CkBAIC0xNDcwLDYgKzE1ODMsNyBA
QCBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblBhcnNlUGhhc2UgZnVuY3Rpb25QYXJzZVBoYXNl
IHsgRnVuY3Rpb25QYXJzZVBoYXNlOjpCb2R5IH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIq
IGxhc3RJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBs
YXN0RnVuY3Rpb25OYW1lIHsgbnVsbHB0ciB9OworICAgICAgICBib29sIGFsbG93QXdhaXQgeyB0
cnVlIH07CiAgICAgfTsKIAogICAgIC8vIElmIHlvdSdyZSB1c2luZyB0aGlzIGRpcmVjdGx5LCB5
b3UgcHJvYmFibHkgc2hvdWxkIGJlIHVzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJlYWE4ZGE0YmYyNzgzMzkzMWViNGJkY2Y4
OWE0Ni4uMzJhY2ZmMTgyMmUzZjBlMWRjOTQ1Nzc2MWU1OTNkY2JmYTMzMWNkZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaApAQCAtMjcsNiArMjcsNyBAQAog
I2lmbmRlZiBQYXJzZXJNb2Rlc19oCiAjZGVmaW5lIFBhcnNlck1vZGVzX2gKIAorI2luY2x1ZGUg
IkNvbnN0cnVjdEFiaWxpdHkuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDMsODAgKzQ0LDExNyBAQCBlbnVtIERlYnVnZ2VyTW9kZSB7IERlYnVnZ2Vy
T2ZmLCBEZWJ1Z2dlck9uIH07CiAKIGVudW0gY2xhc3MgRnVuY3Rpb25Nb2RlIHsgRnVuY3Rpb25F
eHByZXNzaW9uLCBGdW5jdGlvbkRlY2xhcmF0aW9uLCBNZXRob2REZWZpbml0aW9uIH07CiAKLWVu
dW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDhfdCB7Ci0gICAgTm9ybWFsRnVuY3Rpb25N
b2RlLAotICAgIEdlbmVyYXRvckJvZHlNb2RlLAotICAgIEdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUsCi0gICAgR2V0dGVyTW9kZSwKLSAgICBTZXR0ZXJNb2RlLAotICAgIE1ldGhvZE1vZGUs
Ci0gICAgQXJyb3dGdW5jdGlvbk1vZGUsCi0gICAgUHJvZ3JhbU1vZGUsCi0gICAgTW9kdWxlQW5h
bHl6ZU1vZGUsCi0gICAgTW9kdWxlRXZhbHVhdGVNb2RlCitlbnVtIGNsYXNzIFNvdXJjZVBhcnNl
TW9kZSA6IHVpbnQxNl90IHsKKyAgICBOb3JtYWxGdW5jdGlvbk1vZGUgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMDAwMDAwMSwKKyAgICBHZW5lcmF0b3JCb2R5TW9kZSAgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMDAwMDAxMCwKKyAgICBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlICA9IDBi
MDAwMDAwMDAwMDAwMDEwMCwKKyAgICBHZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMDAwMTAwMCwKKyAgICBTZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMDAxMDAwMCwKKyAgICBNZXRob2RNb2RlICAgICAgICAgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMDEwMDAwMCwKKyAgICBBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9IDBi
MDAwMDAwMDAwMTAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uQm9keU1vZGUgICAgICAgICA9IDBi
MDAwMDAwMDAxMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAgICA9IDBi
MDAwMDAwMDEwMDAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9IDBi
MDAwMDAwMTAwMDAwMDAwMCwKKyAgICBBc3luY01ldGhvZE1vZGUgICAgICAgICAgICAgICA9IDBi
MDAwMDAxMDAwMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Nb2RlICAgICAgICA9IDBi
MDAwMDEwMDAwMDAwMDAwMCwKKyAgICBQcm9ncmFtTW9kZSAgICAgICAgICAgICAgICAgICA9IDBi
MDAwMTAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVBbmFseXplTW9kZSAgICAgICAgICAgICA9IDBi
MDAxMDAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVFdmFsdWF0ZU1vZGUgICAgICAgICAgICA9IDBi
MDEwMDAwMDAwMDAwMDAwMCwKIH07CiAKLWlubGluZSBib29sIGlzRnVuY3Rpb25QYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3RlbXBsYXRlPFNvdXJjZVBhcnNlTW9kZSBtb2Rl
LCBTb3VyY2VQYXJzZU1vZGUuLi4gcmVzdD4KK3N0cnVjdCBNZXJnZVNvdXJjZVBhcnNlTW9kZXMg
eworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihtb2RlKSB8IE1lcmdlU291cmNlUGFyc2VNb2RlczxyZXN0Li4uPjo6dmFsdWU7Cit9OworCit0
ZW1wbGF0ZTxTb3VyY2VQYXJzZU1vZGUgbW9kZT4KK3N0cnVjdCBNZXJnZVNvdXJjZVBhcnNlTW9k
ZXM8bW9kZT4geworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihtb2RlKTsKK307CisKK3RlbXBsYXRlPFNvdXJjZVBhcnNlTW9kZS4uLiBtb2Rl
cz4KK3N0YXRpYyBBTFdBWVNfSU5MSU5FIGJvb2wgb25lT2ZTb3VyY2VQYXJzZU1vZGVzKFNvdXJj
ZVBhcnNlTW9kZSBtb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRl
ck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9k
ZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KG1vZGUpICYgTWVyZ2VTb3VyY2VQYXJzZU1vZGVzPG1vZGVzLi4uPjo6dmFsdWU7CiB9
CiAKLWlubGluZSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUpCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1v
ZGUgcGFyc2VNb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRl
ck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1v
ZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkdldHRlck1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Cb2R5TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9u
TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsCisgICAgICAg
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKIH0KIAot
aW5saW5lIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUp
CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNl
TW9kZSBwYXJzZU1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVB
bmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2Rl
OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBvbmVPZlNvdXJjZVBhcnNl
TW9kZXM8CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbkJvZHlNb2RlPihwYXJzZU1vZGUpOworfQorCitBTFdBWVNfSU5MSU5FIGJvb2wg
aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkK
K3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZU19JTkxJ
TkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUpCit7CisgICAgcmV0dXJuIG9uZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5
bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAg
ICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVzPAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Cb2R5TW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29s
IGlzTWV0aG9kUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAgcmV0
dXJuIG9uZU9mU291cmNlUGFyc2VNb2RlczwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRl
ck1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
TWV0aG9kTW9kZT4ocGFyc2VNb2RlKTsKK30KKworQUxXQVlTX0lOTElORSBib29sIGlzTW9kdWxl
UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAgcmV0dXJuIG9uZU9m
U291cmNlUGFyc2VNb2RlczwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXpl
TW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU+KHBhcnNl
TW9kZSk7Cit9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSkKK3sKKyAgICByZXR1cm4gb25lT2ZTb3VyY2VQYXJzZU1vZGVz
PFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU+KHBhcnNlTW9kZSk7Cit9CisKK0FMV0FZU19J
TkxJTkUgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNvdXJj
ZVBhcnNlTW9kZSBwYXJzZU1vZGUpCit7CisgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKKyAgICAgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxp
dHk6OkNhbkNvbnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RD
b25zdHJ1Y3Q7CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShjb25zdCBJ
ZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1ZDc2M2Fj
ZWY3OWM2OWNkMjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMwMjQxYTUy
ZTY2MWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CkBAIC04Myw2ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9LRU4sCiAg
ICAgRVhURU5EUywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0UgPSAwLAog
ICAgIENMT1NFQlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCAxYzBkMThlZDg3MWE3MjE0ODBmZWE4MjEyMDhh
Mjc3ZmEyZDgyNjg2Li4yODE4YmY3YmE0ZGUwZTI3MTU2NzUyZGQ2Y2MzYmZkM2EzNWU0MTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTg0
LDYgKzE4NCw3IEBAIHB1YmxpYzoKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGludCkg
eyByZXR1cm4gWWllbGRFeHByOyB9CiAgICAgQ2xhc3NFeHByZXNzaW9uIGNyZWF0ZUNsYXNzRXhw
cihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJDbGFzc0luZm88U3ludGF4Q2hl
Y2tlcj4mLCBWYXJpYWJsZUVudmlyb25tZW50JiwgRXhwcmVzc2lvblR5cGUsIEV4cHJlc3Npb25U
eXBlLCBQcm9wZXJ0eUxpc3QsIFByb3BlcnR5TGlzdCkgeyByZXR1cm4gQ2xhc3NFeHByOyB9CiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1
bmN0aW9uRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhD
aGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlv
bk1ldGFkYXRhKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmlu
ZGluZywgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCwgSW5uZXJBcnJvd0Z1bmN0aW9u
Q29kZUZlYXR1cmVzID0gTm9Jbm5lckFycm93RnVuY3Rpb25GZWF0dXJlcykgeyByZXR1cm4gRnVu
Y3Rpb25Cb2R5UmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5
bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBjYmMwZmY1NzExZjEuLjczODlm
OWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMTA5LDYgKzEwOSw3
IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8oYXMpIFwKICAgICBtYWNybyhh
c3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3JvKGJhY2spIFwKICAgICBtYWNy
byhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYgKzI3Miw3IEBACiAgICAgbWFj
cm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJTX0VBQ0hfS0VZV09SRCht
YWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8oYnJlYWspIFwKICAgICBtYWNy
byhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdl
TG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWI5OTJjZWUwY2U2NmU1MGZhZWYzNmY0Njdl
MjdlMWY0ODhlNTk1Mi4uNjI5YmQxN2Y5NGNmYjYyYzU0OGQwZmJkMGQ4ZjI2ZmQ5NjQ2MWVlZiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJl
c3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RTeW50YXgpOgor
ICAgICAgICAodGVzdFN5bnRheEVycm9yKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdh
aXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5
bmNBd2FpdFN5bnRheFNsb3BweU1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2Fp
dFN5bnRheFN0cmljdE1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRh
eFN0cmljdE1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2FpdFN5
bnRheC5hc3luYyk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2FpdFN5bnRheC5mb28pOgor
ICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVzdFN5bnRh
eEVycm9yKToKKwogMjAxNi0wOS0wNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBQcm94eU9iamVjdCdzIHN0cnVjdHVyZSBzaG91bGQgbm90IGhhdmUgT2JqZWN0
UHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUgYW5kIGl0IHNob3VsZCBub3QgaGF2ZSBzcGVjaWFs
IGJlaGF2aW9yIGZvciBpbnRlcmNlcHRpbmcgIl9fcHJvdG9fXyIKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qcyBiL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3
YWl0LXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGE1ZGMyMWRmYjJjODkyYjBiOTJlYWQyZTlkYjM0
MDI0N2Q5MTJlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQt
c3ludGF4LmpzCkBAIC0wLDAgKzEsMjc3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4
IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
ZnVuY3Rpb24gdGVzdFN5bnRheChzY3JpcHQpIHsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNj
cmlwdCk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgaWYgKGVycm9yIGluc3RhbmNl
b2YgU3ludGF4RXJyb3IpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjog
IiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJg
Iik7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0U3ludGF4RXJyb3Ioc2NyaXB0LCBtZXNzYWdl
KSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlw
dCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlm
ICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgc3ludGF4IGVycm9y
IG5vdCB0aHJvd25cbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKKworICAg
IGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gInN0cmluZyIgJiYgU3RyaW5nKGVycm9yKSAhPT0gbWVz
c2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJy
b3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworfQorCisoZnVu
Y3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVz
dFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdhaXQgMTsgfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKCkg
eyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkg
PT4gYXdhaXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMg
eCA9PiBhd2FpdCB4ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYGFzeW5jIGZ1bmN0aW9u
IGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5
bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7
IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50
YXgoYHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRl
c3RTeW50YXgoYHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAg
IHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7
IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3
YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgMCgpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28g
PSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jKHsg
Zm9vID0gMSB9ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGBmdW5jdGlvbiogZygp
IHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGBmdW5jdGlvbiog
ZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rpb24g
dGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAx
OyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3lu
YyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdhaXQgJ3Rlc3QnO2ApOwor
ICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyB4ID0+IGF3
YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBhc3luYyBm
dW5jdGlvbiBhc3luY0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCdd
KCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIg
TyA9IHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBh
d2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsg
YXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0g
fTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAwKCkg
eyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5
bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9ID0ge30pID0+IGZvbztg
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9
IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rp
b24qIGcoKSB7IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSkoKTsKKworKGZ1bmN0
aW9uIHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4KCkgeworICAgIHZhciBjb250ZXh0RGF0YSA9
IFsKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiBvdXRlckZ1bmN0aW9uKCkgeyAiLCBzdWZm
aXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3Io
KSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckZ1bmNF
eHByID0gZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJ2YXIgb3V0ZXJHZW5FeHByID0gZnVuY3Rpb24qKCkgeyAiLCBzdWZmaXg6ICIgfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBvdXRlck1ldGhvZCgpIHsgIiwg
c3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0g
eyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHBy
ZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBvdXRlck1ldGhvZCgpIHsgIiwg
c3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHBy
ID0gY2xhc3MgQyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyBv
dXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyAqb3V0ZXJTdGF0aWNH
ZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogImNs
YXNzIG91dGVyQ2xhc3MgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7ICpvdXRlckdlbk1ldGhvZCgpIHsg
Iiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFz
cyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyAqb3V0ZXJTdGF0aWNH
ZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZh
ciBvdXRlckFycm93ID0gKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAiYXN5bmMgZnVuY3Rpb24gb3V0ZXJBc3luY0Z1bmN0aW9uKCkgeyAiLCBzdWZmaXg6ICIg
fSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Z1bmNFeHByID0gYXN5bmMg
ZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIg
b3V0ZXJBc3luY0Fycm93RnVuYyA9IGFzeW5jICgpID0+IHsgIiwgc3VmZml4OiAiIH07IiB9LAor
ICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgb3V0ZXJBc3luY01l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1
ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9
IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IGFz
eW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7
IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3lu
Y01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgXTsKKworICAgIHZhciB0ZXN0
RGF0YSA9IFsKKyAgICAgICAgYHZhciBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAg
ICBgbGV0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBjb25zdCBhc3luYyA9
IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgZnVuY3Rpb24gYXN5bmMoKSB7fSByZXR1cm4g
YXN5bmMoKTtgLAorICAgICAgICBgdmFyIGFzeW5jID0gYXN5bmMgPT4gYXN5bmM7IHJldHVybiBh
c3luYygpO2AsCisgICAgICAgIGBmdW5jdGlvbiBmb28oKSB7IHZhciBhd2FpdCA9IDE7IHJldHVy
biBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0
OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBh
d2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiogZm9vKGF3YWl0KSB7IHJldHVybiBhd2FpdDsg
fWAsCisgICAgICAgIGB2YXIgZiA9ICgpID0+IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0
OyB9YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoKSB7IHZhciBhd2FpdCA9IDE7IHJldHVy
biBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9kKGF3YWl0KSB7IHJldHVy
biBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZCgpIHsgdmFyIGF3YWl0
ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKGF3
YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisKKyAgICAgICAgYChmdW5jdGlvbiBhd2FpdCgp
IHt9KWAsCisgICAgXTsKKworICAgIGZvciAobGV0IGNvbnRleHQgb2YgY29udGV4dERhdGEpIHsK
KyAgICAgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0RGF0YSkgeworICAgICAgICAgICAgbGV0IHNj
cmlwdCA9IGNvbnRleHQucHJlZml4ICsgdGVzdCArIGNvbnRleHQuc3VmZml4OworICAgICAgICAg
ICAgdGVzdFN5bnRheChzY3JpcHQpOworICAgICAgICAgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyAke3NjcmlwdH1gKTsKKyAgICAgICAgfQorICAgIH0KK30pKCk7CisKKworKGZ1bmN0aW9u
IHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgeworICAgIHRlc3RTeW50
YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgpIHt9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZhciBhd2FpdCA9ICd0
ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4g
eyB2YXIgYXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5
bmNGbiA9IGFzeW5jIGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZShhd2FpdCkg
e31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKGF3YWl0KSA9
PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBhc3luY0Z1
bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICAvLyBGSVhNRTogTWV0aG9kRGVm
aW5pdGlvbnMgZG8gbm90IGFwcGx5IFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgcmVzdHJpY3Rpb25z
CisgICAgLy8gICAgICAgIGluIHNsb3BweSBtb2RlIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYxNDA4KQorICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJP
YmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJy
b3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGEsIGEpIHt9IH1g
KTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAnbWV0
aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVj
dCA9IHsgYXN5bmMgMChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7fWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgKmFzeW5jR2VuZXJhdG9yTWV0
aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyBhc3lu
Y0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIg
YXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJldHVy
biB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5jKHggPSBhd2FpdCAx
KSA9PiB4O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCh4
ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBm
dW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVs
ZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0
b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4gMTsgfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJv
d0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBm
dW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh7eCA9
IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHsgYXN5
bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9
OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsg
c3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihg
dmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAg
ICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5m
b283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5mb285ICgpID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMCA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
Y1snZm9vMTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydm
b28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTgn
XSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzE5J10gZm9vMjAg
PT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28yMSddICgpID0+IDFg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yMmAgPT4gMSkiKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoIihhc3luY2Bmb28yM2AgZm9vMjQgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoIihhc3luY2Bmb28yNWAgKCkgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihh
c3luY2Bmb28yNmAuYmFyMjcgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bm
b28yOGAuYmFyMjkgZm9vMzAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bm
b28zMWAuYmFyMzIgKCkgPT4gMSkiKTsKKworICAgIC8vIGFzc2VydCB0aGF0IGVycm9ycyBhcmUg
c3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5bmMgZnVuY3Rpb25z
CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAg
ICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRlc3RU
b3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3lu
YyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIgYXdhaXQgPSAndGVzdCc7
IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0g
YXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihhd2FpdCkge31gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5j
dGlvbiB3aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0JztgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uKGF3YWl0KSB7fWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBb
J21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEsIGEpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBh
c3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsKKworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uKiBh
c3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBPID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgKmFzeW5jR2VuZXJh
dG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlv
bih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMoeCA9IGF3
YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH0gfTtgKTsKKworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3Io
KSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFy
IGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5j
QXJyb3dGbiA9IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fy
cm93Rm4gPSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7fTsgY2xhc3MgQzIg
ZXh0ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30g
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFz
cyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMoKSA9PiAoKGFzeW5j
KHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUgRmVycmVpcm8ncyBi
dWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rp
b24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb280KCkgeyB9ID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigp
IHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vOSAoKSA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMCA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMyAo
KSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2Zv
bzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5j
Wydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IChhc3luY1snZm9vMTcnXSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMjEnXSAoKSA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjJgID0+IDEp
Jyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yM2AgZm9v
MjQgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZv
bzI1YCAoKSA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5
bmNgZm9vMjZgLmJhcjI3ID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmlj
dCI7IChhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAxKScpOworCisgICAg
Ly8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5
IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAgICAgYXN5bmMoeyBm
b28zMyA9IDEgfSlgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
TyA9IHsgYXN5bmMgbWV0aG9kKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShldmFsKSB7fSB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0
aG9kJyhldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBPID0geyBhc3luYyAwKGV2YWwpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGFyZ3VtZW50cykge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyAr
ICdvZCddKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKGFyZ3VtZW50cykg
e30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBh
c3luYyBtZXRob2QoZHVwZSwgZHVwZSkge30gfWApOworfSkoKTsKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288477</attachid>
            <date>2016-09-09 19:29:26 -0700</date>
            <delta_ts>2016-09-11 08:15:33 -0700</delta_ts>
            <desc>Async Function Parsing v3</desc>
            <filename>bug-161409-20160909222656.patch</filename>
            <type>text/plain</type>
            <size>116476</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZjNmYmRjOTRkMDFlY2MzZjQ1MWM1OTYyNzc1N2JkZmQ5ZmNiYjQyLi4zMjUyMzFiMGY0ZDc1NTNm
ZWIxOGI3ODFiMjhiMGJkY2U1OTRmNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgQ2F0Y2hTY29wZSBhbmQgZm9yY2UgYWxsIGV4Y2VwdGlvbiBjaGVja3MgdG8g
YmUgdmlhIFRocm93U2NvcGUgb3IgQ2F0Y2hTY29wZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3Bw
CmluZGV4IDA1NGQ2M2RmNTlhNzg0NzU1YjliYWU3ZmVkMmNkNzZiNTgwYzAyOWMuLmYwMjhkNDg4
MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1YTc2OGNkMzM0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcApAQCAtODksNiArODksNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV90
eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5vZGUtPnNv
dXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+cGFyYW1l
dGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFyc2VNb2Rl
KG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2RlLT5pc0lu
U3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxzZSkKICAg
ICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5jdGlvbikK
QEAgLTk4LDcgKzk5LDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICAsIG1fY29tbWVu
dE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSkKICAgICAsIG1fc3VwZXJC
aW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpCiAgICAg
LCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRl
eHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAgICAsIG1f
ZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5vZGUtPmlu
ZmVycmVkTmFtZSgpKQpAQCAtMTEyLDcgKzExMiw2IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRh
YmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0
CiAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1l
bnRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRDb250ZXh0
VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7Ci0gICAg
QVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5w
YXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2FwKHBhcmVu
dFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXggMWUzY2Jh
ZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUzMi4uODlhYWI4YWJmNzE3MWU4ZDQ5OGNi
NWFjMzE4NzQyZGM3MzA1NzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTE1NSw2ICsx
NTUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9mZnNldDsK
ICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1
cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1bnNpZ25l
ZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFy
aWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsKQEAgLTE2
NCw3ICsxNjUsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29tbWVudE1vZGU6IDE7IC8v
IEpTUGFyc2VyQ29tbWVudE1vZGUKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6IDE7CiAg
ICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGU6IDI7Ci0gICAgdW5zaWduZWQgbV9zb3Vy
Y2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJzZU1vZGUKIAogICAgIFdyaXRlQmFycmllcjxV
bmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ2FsbDsKICAg
ICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVC
bG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMjAwOTU0MzY4NGQ2MGUxMTBi
M2JlODliMDNhMTFkMDI4NWUxMzFjMi4uMWYyZTE3MzU1NDQzMjZlMzM2YTE2NzlkMThmNGU3NGNj
YTE5ZDZmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI5NzcsMTcgKzI5NzcsMTQgQEAgUmVnaXN0
ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0
ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEFycm93RnVuY0V4cHJO
b2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlKTsKKyAgICBBU1NFUlQoZnVuYy0+
bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25D
b21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQogCiBSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24oUmVnaXN0
ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9kZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVu
Yy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRh
ZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUKLSAgICAg
ICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpN
ZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRob2RQYXJzZU1vZGUoZnVuYy0+bWV0YWRhdGEo
KS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRz
dCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBiY2Rh
YTI3MmNiOTUwODU4NjA4Y2EyYTc1N2Y3YzQ2NGU0NzZkZmY1Li41NmE0NGI1MmZhNDYwYzBlNGRi
YzExZTliYjM4MTY0ZjdlZGE5OWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zNDYyLDYgKzM0NjIsMTggQEAgUmVn
aXN0ZXJJRCogWWllbGRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRNb3ZlKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHZhbHVlLmdldCgpKTsKIH0KIAorLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEF3YWl0RXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gYXJnID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGdl
bmVyYXRvci5lbWl0Tm9kZShhcmcuZ2V0KCksIGFyZ3VtZW50KCkpOworICAgIFJlZlB0cjxSZWdp
c3RlcklEPiB2YWx1ZSA9IGdlbmVyYXRvci5lbWl0WWllbGQoYXJnLmdldCgpKTsKKyAgICBpZiAo
ZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRp
b24oZHN0KSwgdmFsdWUuZ2V0KCkpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
dm9pZCBDbGFzc0RlY2xOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3MDAxLi5m
ZGJkMmY0ODQyMjg5OTBhNDA3NTBhZjc3NWMxMjNjZjBmYmM5ZjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzY3LDYgKzM2NywxNCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KIAorICAgIEF3YWl0RXhwck5vZGUqIGNyZWF0
ZUF3YWl0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBh
cmd1bWVudCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlv
biYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCisgICAgeworICAgICAgICBBU1NF
UlQoYXJndW1lbnQpOworICAgICAgICBBd2FpdEV4cHJOb2RlKiBub2RlID0gbmV3IChtX3BhcnNl
ckFyZW5hKSBBd2FpdEV4cHJOb2RlKGxvY2F0aW9uLCBhcmd1bWVudCk7CisgICAgICAgIHNldEV4
Y2VwdGlvbkxvY2F0aW9uKG5vZGUsIHN0YXJ0LCBkaXZvdCwgZW5kKTsKKyAgICAgICAgcmV0dXJu
IG5vZGU7CisgICAgfQorCiAgICAgQ2xhc3NFeHByTm9kZSogY3JlYXRlQ2xhc3NFeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxBU1RCdWls
ZGVyPiYgY2xhc3NJbmZvLCBWYXJpYWJsZUVudmlyb25tZW50JiBjbGFzc0Vudmlyb25tZW50LCBF
eHByZXNzaW9uTm9kZSogY29uc3RydWN0b3IsCiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBwYXJl
bnRDbGFzcywgUHJvcGVydHlMaXN0Tm9kZSogaW5zdGFuY2VNZXRob2RzLCBQcm9wZXJ0eUxpc3RO
b2RlKiBzdGF0aWNNZXRob2RzKQogICAgIHsKQEAgLTM4Miw2ICszOTAsMTcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSkKKyAgICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAgICAgU291
cmNlQ29kZSBzb3VyY2UgPSBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rpb25JbmZv
LnN0YXJ0T2Zmc2V0LCBmdW5jdGlvbkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24oKSA/IGZ1bmN0aW9uSW5mby5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZvLmVuZE9m
ZnNldCwgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlcnNTdGFy
dENvbHVtbik7CisgICAgICAgICAgICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJz
ZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0
aW9uSW5mby5ib2R5LCBzb3VyY2UpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJvZHktPnNl
dExvYyhmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwgbG9jYXRp
b24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lvbk5vZGUq
IGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8pCiAgICAg
ewogICAgICAgICBNZXRob2REZWZpbml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBNZXRob2REZWZpbml0aW9uTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5uYW1lLCBm
dW5jdGlvbkluZm8uYm9keSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvS2V5d29yZHMudGFibGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRz
LnRhYmxlCmluZGV4IDQ1ODJkMDBhYWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVkMmEuLjJm
N2RmYzU1YzBkYThjMDMxZDY2NDMyMTM2ZTc0ODg4YmJiY2Y5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1ZQkJVFJV
RVRPS0VOCiBmYWxzZQkJRkFMU0VUT0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQgICAgICAgQVdB
SVQKIGJyZWFrCQlCUkVBSwogY2FzZQkJQ0FTRQogY2F0Y2gJCUNBVENICmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDY5YjQ0MjhlODc5
Y2E4MDBlOWNhMWI4N2IzNjJhMjM3MDg4NzdiYzYuLmMxZDU0N2JjN2Y5MDFjMDZjNjUzOTg2Mjg5
ZDM1YjU0NTIwNTAzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oCkBAIC05MzgsNiArOTM4LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IHsKICAgICB9CiAKKyAgICBpbmxpbmUgQXdhaXRFeHByTm9kZTo6QXdhaXRFeHByTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpCisg
ICAgICAgIDogRXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCisgICAgICAgICwgbV9hcmd1bWVudChh
cmd1bWVudCkKKyAgICB7CisgICAgfQorCiAgICAgaW5saW5lIENsYXNzRGVjbE5vZGU6OkNsYXNz
RGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUq
IGNsYXNzRGVjbGFyYXRpb24pCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAg
ICAgICAgLCBtX2NsYXNzRGVjbGFyYXRpb24oY2xhc3NEZWNsYXJhdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA1OGUyNzQ1M2RkMDA1Mzc2NzAzYmQzODM3OTViNGEw
MTEzNWY4NjA0Li5iMGM0OTdhMGVlYjU3NzhkMGVlZmY3ZjI1NDdiMzgyZjE0ZDk2YTVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0yMDA3LDYgKzIwMDcsMTggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbV9kZWxlZ2F0ZTsKICAgICB9OwogCisgICAgY2xh
c3MgQXdhaXRFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRo
cm93YWJsZUV4cHJlc3Npb25EYXRhIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEF3YWl0RXhwck5v
ZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50KTsKKwor
ICAgICAgICBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2FyZ3Vt
ZW50OyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisgICAgICAg
IEV4cHJlc3Npb25Ob2RlKiBtX2FyZ3VtZW50OworICAgIH07CisKICAgICBjbGFzcyBDbGFzc0V4
cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVmFyaWFibGVFbnZp
cm9ubWVudE5vZGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdXNpbmcgUGFyc2VyQXJlbmFEZWxl
dGFibGU6Om9wZXJhdG9yIG5ldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cAppbmRleCAyNjE3NDVhMTkwMzE3ZGU3NTkxMmUzYTkyM2ZhOWYyODg3NDg2M2Q2Li4wNTg5NTAz
MWEwOWZmZDVjZGQ1ZDVjOGYwN2JmMzgzYjc4ZjUzZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFudGljRmFp
bCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAi
LCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5G
bGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29yZCAnIiwg
Z2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNEaXNhbGxv
d2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fu
J3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlu
bmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBzY29w
ZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhh
c2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJz
ZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhlci0+aXNS
ZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKFNvdXJjZVBhcnNlTW9kZVNldChT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpIHx8
IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAgICAgIG1f
cGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVuY3Rpb25J
bmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9wYXJhbWV0
ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBmdW5jdGlv
bkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAoU291cmNlUGFyc2VN
b2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAhaGFzRXJy
b3IoKSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUgYW4gZXJy
b3Igd2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4KICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAgICAgICAg
IG5leHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAg
ICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAvLyBUaGUg
b25seSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBhIGZ1bmN0
aW9uIGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJyb3IoKSkg
ewotICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgIGlm
IChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAgICAgICAg
ICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNrRm9yU3Ry
aWN0TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
KQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVF
eHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNlIGlmIChp
c01vZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMg
PSBwYXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNlRWxlbWVu
dHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tG
b3JTdHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzb3VyY2VF
bGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2Rl
KTsKLSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291cmNlRWxl
bWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNlRWxlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CiAg
ICAgfQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAgLTMxMCw3
ICszMTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRl
bnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYgZW50cnkg
OiBjYXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtWYXJpYWJs
ZUFzQ2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoU291cmNlUGFyc2VN
b2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29u
dGFpbnMocGFyc2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNl
TW9kZSkpIHsKICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+
cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250ZXh0LnBy
b3BhZ2F0ZUFyZ3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBAIHZvaWQg
UGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJj
ZUVsZW1lbnRzLCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0gICAgYm9v
bCBpc09wZW5QYXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50ID0gbWF0
Y2goSURFTlQpOwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Ci0g
ICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
LSAgICAgICAgCi0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBp
c0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBSRUxFQVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVT
YXZlUG9pbnQoKTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlv
biA9IGZhbHNlOwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJ
T04pOwpAQCAtMzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJv
d0Z1bmN0aW9uUGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtZXRlcnND
b3VudCA9IDA7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMoc3ludGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJM
aXN0KCksIHBhcmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBtYXRjaChB
UlJPV0ZVTkNUSU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9wU2NvcGUo
ZmFrZVNjb3BlLCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAgICAgICAg
IH0KKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAg
ICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAgIHJldHVy
biBpc0Fycm93RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7Cisg
ICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBtYXRj
aChBUlJPV0ZVTkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CkBAIC01
NDAsNiArNTM5LDUwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIGJv
b2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
KQoreworICAgIEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9k
ZSkpOworICAgIGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1l
bnRzKCk7CisKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQo
KTsKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwor
ICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgdW5z
aWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlvbk5hbWVT
dGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJhbWV0ZXJz
KGNvbnRleHQsIGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZzZXQgPSBw
YXJhbWV0ZXJzU3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBT
b3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbkJvZHlNb2RlOworICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGFzeW5j
RnVuY3Rpb25Cb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3luY0Z1bmN0
aW9uQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOworICAgICAg
ICBTeW50YXhDaGVja2VyIGFzeW5jRnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0qPihtX3Zt
KSwgbV9sZXhlci5nZXQoKSk7CisgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbikKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4
cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAiQ2Fubm90
IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlv
bkNvbnRleHQsIG1vZGUpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1bmN0aW9u
Iik7CisgICAgICAgIHBvcFNjb3BlKGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVCdWlsZGVy
OjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBjb250ZXh0
LmNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBz
dGFydENvbHVtbiwgdG9rZW5Db2x1bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBtX3N1cGVyQmluZGluZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQYXJzZU1v
ZGUsIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5kTGluZSA9
IHRva2VuTGluZSgpOworICAgIGluZm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24gPyB0b2tlbkxvY2F0aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2RhdGEub2Zm
c2V0OworICAgIGluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47CisKKyAg
ICBhdXRvIGZ1bmN0aW9uRXhwciA9IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgaW5mbywgaW5uZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVtZW50ID0g
Y29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9uRXhwciwg
c3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5hcHBlbmRT
dGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4gc291cmNl
RWxlbWVudHM7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIq
JiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewogICAgIC8v
IFRoZSBncmFtbWFyIGlzIGRvY3VtZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDUsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVuZGVyIGEg
Z2VuZXJhdG9yIGNvbnRleHQsIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxkIiByZXR1
cm5zIGBmYWxzZWAuCiAgICAgICAgICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBlbnRlciBw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRoZSBjb250
ZXh0IG9mIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8gcmFpc2Ug
Y29uc2lzdGVudCBlcnJvcnMgYmV0d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIuCi0gICAg
ICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkp
ICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAgICAgICAg
ICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkgfHwgbWF0
Y2goQVdBSVQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQog
ICAgICAgICAgICAgICAgIHNob3VsZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZhbHNlOwog
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9CkBAIC01
ODIsNiArNjI1LDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBJREVOVDoKKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgIC8vIEVhZ2VybHkg
cGFyc2UgYXMgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLiBUaGlzIGlzIHRoZSB1bmNvbW1vbiBj
YXNlLAorICAgICAgICAgICAgLy8gYnV0IGNvdWxkIGJlIG1pc3Rha2VubHkgcGFyc2VkIGFzIGFu
IEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLgorICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAg
aWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KSkpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbihjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQorICAgICAg
ICBGQUxMVEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAg
ICAgLy8gVGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVt
ZW50cwogICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1h
bCBzdGF0ZW1lbnRzKQpAQCAtNjkwLDYgKzc0Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNs
CiAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJ
ZlRydWUobWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6
TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29u
c3REZWNsYXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4g
aWRlbnRpZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAg
c2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwg
IkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQo
ZGVjbGFyYXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkp
OwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDEx
LDYgKzEwNjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVy
aW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJu
LCBFcnJvckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElm
VHJ1ZUlmU3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVy
dHlOYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElk
ZW50aWZpZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAi
LCBkZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxv
d2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBh
dHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAq
cHJvcGVydHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJ
ZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAt
MTA3OSw2ICsxMTM3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1
Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBw
YXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVU
KSAmJiAoa2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5k
ID09IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICds
ZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rv
a2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1Zhcmlh
YmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigp
KTsKICAgICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQs
IGV4cG9ydFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRl
eHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFr
OwpAQCAtMTYzMSw0MyArMTY5MCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAg
IHJlc3VsdCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5
cGU6OlZhckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjog
ewotICAgICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2Uo
cGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVj
bGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQg
dGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2Nv
cGUoKS0+aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRl
Y2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3Mg
aXQncwotICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdz
IGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAg
ICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBi
bG9jayBzdGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2Ug
YSAidmFyIi4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsK
LSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAg
ICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBh
czoKLSAgICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8v
ICAgICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8v
IH0KLSAgICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNo
U2NvcGUoKSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUo
KTsKLSAgICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7
Ci0gICAgICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7Ci0gICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAg
ICAgICAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0
ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50
cygpOwotICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1l
bnRzLCBmdW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVC
bG9ja1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9u
bWVudCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAg
ICAgICAgICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVW
YXJpYWJsZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBX
ZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBP
dGhlcndpc2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJl
aGF2aW9yLgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0
YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRl
bWVudERlcHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxs
b3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7
CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBw
YXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50
QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDMsMTAgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQg
b2YgYSBzZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2Ug
SURFTlQ6CisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvblN0YXRlbWVudChjb250ZXh0LCByZXN1bHQsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFy
YXRpb25Bc1N0YXRlbWVudCkpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIEZBTExUSFJP
VUdIOworICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBZSUVMRDogewogICAgICAgICBib29sIGFs
bG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50ID0gZmFsc2U7CiAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQoY29udGV4dCwgYWxsb3dGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOwpAQCAtMTc0NCw2ICsxNzcyLDY4IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnQoVHJlCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwg
Ym9vbCBpc0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRl
bWVudCkKK3sKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUoc3RyaWN0TW9kZSgpLCAiRnVuY3Rpb24g
ZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2ggc3Rh
dGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOworICAgIGZhaWxJZkZhbHNlKHBhcmVudEFsbG93c0Z1
bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUg
b25seSBhbGxvd2VkIGluc2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRoZSB0b3AgbGV2ZWwg
b2YgYSBwcm9ncmFtIik7CisgICAgaWYgKCFjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7
CisgICAgICAgIC8vIFdlIG9ubHkgaW1wbGVtZW50IGFubmV4IEIuMy4zIGlmIHdlJ3JlIGluIGZ1
bmN0aW9uIG1vZGUuIE90aGVyd2lzZSwgd2UgZmFsbCBiYWNrCisgICAgICAgIC8vIHRvIGhvaXN0
aW5nIGJlaGF2aW9yLgorICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NTgxMworICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVw
dGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKKyAg
ICAgICAgaWYgKGlzQXN5bmMpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VBc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb24oY29udGV4dCk7CisgICAgfQorCisgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0aW9u
IHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQncworICAg
IC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVt
ZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQorICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNl
IHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0ZW1lbnQuCisgICAgLy8gdG8gdGhlIHZl
cnkgdG9wIGxpa2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6CisgICAgLy8gZnVuY3Rpb24gYSgpIHsK
KyAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQorICAgIC8vIH0KKyAgICAv
LyB3aWxsIGJlIHJld3JpdHRlbiBhczoKKyAgICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAg
ICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQorICAgIC8vIH0KKyAgICBBdXRvUG9w
U2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgYmxvY2tTY29wZS0+
c2V0SXNMZXhpY2FsU2NvcGUoKTsKKyAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRp
b25zKCk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Cisg
ICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7CisKKyAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9u
ID0gMDsKKyAgICBpZiAoIWlzQXN5bmMpCisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlv
bkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIGVsc2UKKyAgICAgICAgZnVuY3Rpb24gPSBwYXJz
ZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBwcm9wYWdhdGVFcnJvcigp
OworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3Rh
dGVtZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOworICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKKyAgICBj
b250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgZnVuY3Rpb24pOworICAgIFRy
ZWVTdGF0ZW1lbnQgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0YXRlbWVudChsb2NhdGlv
biwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1
cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgpLCBjdXJyZW50U2NvcGUo
KS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOworICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUs
IFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46Om1heWJlUGFyc2VBc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVTdGF0ZW1lbnQm
IHJlc3VsdCwgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQp
Cit7CisgICAgQVNTRVJUKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hc3luYyk7CisgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgp
OworICAgIG5leHQoKTsKKyAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2
VGVybWluYXRvcigpKSB7CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IHRydWU7CisgICAg
ICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChjb250ZXh0LCBp
c0FzeW5jLCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBsaXN0LCB1bnNpZ25lZCYgcGFyYW1ldGVyQ291bnQpCiB7CiAjZGVmaW5lIGZhaWxJ
ZkR1cGxpY2F0ZUlmVmlvbGF0aW9uKCkgXApAQCAtMTc2NSw2ICsxODU1LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBh
cmFtZXRlcnMoVHJlZUIKICAgICAgICAgCiAgICAgICAgIGlmIChtYXRjaChET1RET1RET1QpKSB7
CiAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoIW1f
cGFyc2VyU3RhdGUuYWxsb3dBd2FpdCAmJiBtYXRjaChBV0FJVCksICJDYW4ndCB1c2UgJ2F3YWl0
JyBhcyBhIHBhcmFtZXRlciBuYW1lIGluIGFuIGFzeW5jIGZ1bmN0aW9uIik7CiAgICAgICAgICAg
ICBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gZGVzdHJ1Y3R1cmluZ1BhdHRlcm4gPSBwYXJzZURl
c3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVy
ZVRvUGFyYW1ldGVycywgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsICZkdXBsaWNhdGVQYXJhbWV0
ZXIsICZoYXNEZXN0cnVjdHVyaW5nUGF0dGVybik7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJv
cigpOwogICAgICAgICAgICAgcGFyYW1ldGVyID0gY29udGV4dC5jcmVhdGVSZXN0UGFyYW1ldGVy
KGRlc3RydWN0dXJpbmdQYXR0ZXJuLCBwYXJhbWV0ZXJDb3VudCk7CkBAIC0xODI5LDYgKzE5MjAs
MTQgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShTb3VyY2VQYXJz
ZU1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuICJnZW5lcmF0b3IgZnVuY3Rpb24iOwogICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKICAgICAgICAgcmV0dXJuICJh
cnJvdyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25N
b2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6Cisg
ICAgICAgIHJldHVybiAiYXN5bmMgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgIHJldHVybiAiYXN5bmMgbWV0aG9kIjsKKyAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAgICAgIHJldHVy
biAiYXN5bmMgYXJyb3cgZnVuY3Rpb24iOwogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9n
cmFtTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6CiAg
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAgLTE4NDEsMTIg
KzE5NDAsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShTb3Vy
Y2VQYXJzZU1vZGUgbW9kZSkKIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyLCBjbGFzcyBGdW5jdGlvbkluZm9UeXBlPiB0eXBlbmFtZSBU
cmVlQnVpbGRlcjo6Rm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvblBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBt
b2RlLCBGdW5jdGlvbkluZm9UeXBlJiBmdW5jdGlvbkluZm8pCiB7Ci0gICAgUkVMRUFTRV9BU1NF
UlQobW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlICYmIG1vZGUgIT0gU291cmNl
UGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6
TW9kdWxlRXZhbHVhdGVNb2RlKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghKFNvdXJjZVBhcnNlTW9k
ZVNldChTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUFuYWx5emVNb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSkuY29udGFp
bnMobW9kZSkpKTsKICAgICBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJhbWV0ZXJMaXN0ID0g
Y29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCk7CiAgICAgU2V0Rm9yU2NvcGU8RnVu
Y3Rpb25QYXJzZVBoYXNlPiBmdW5jdGlvblBhcnNlUGhhc2VQb2lzb25lcihtX3BhcnNlclN0YXRl
LmZ1bmN0aW9uUGFyc2VQaGFzZSwgRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzKTsKICAg
ICAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlKSB7
Ci0gICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAg
aWYgKFVOTElLRUxZKChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250
YWlucyhtb2RlKSkpKSB7CisgICAgICAgIGlmICghbWF0Y2hTcGVjSWRlbnRpZmllcigpICYmICFt
YXRjaChPUEVOUEFSRU4pKSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdv
cmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVy
Iik7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0xOTM3LDcgKzIwMzYsOSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZAogCiAgICAgU2NvcGVSZWYgcGFyZW50U2NvcGUgPSBjdXJyZW50U2NvcGUoKTsK
IAotICAgIGJvb2wgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gY3VycmVudFNjb3BlKCktPmlzR2Vu
ZXJhdG9yKCk7CisgICAgYm9vbCBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA9IGlzRGlz
YWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKTsKKyAgICBjb25zdCBjaGFyKiBpc0Rpc2Fs
bG93ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbiA9IGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25O
YW1lID8gZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpIDogbnVsbHB0cjsKKwogICAg
IEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKICAgICBm
dW5jdGlvblNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUobW9kZSk7CiAgICAgZnVuY3Rpb25TY29w
ZS0+c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmcoZXhwZWN0ZWRTdXBlckJpbmRpbmcpOwpAQCAtMTk3
OSw3ICsyMDgwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgICAgIEFTU0VS
VChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQp
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9k
eVR5cGU7Ci0gICAgICAgICAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlKQorICAgICAgICAgICAgaWYgKFVOTElLRUxZKFNvdXJjZVBhcnNlTW9kZVNldChT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpKSkKICAgICAgICAgICAgICAgICBmdW5j
dGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dFeHByZXNzaW9uID8gIEFycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVu
Y3Rpb25Cb2R5QmxvY2s7CkBAIC0yMDIyLDcgKzIxMjMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogCiAgICAgU3ludGF4Q2hlY2tlciBzeW50YXhDaGVja2VyKGNvbnN0X2Nhc3Q8Vk0qPiht
X3ZtKSwgbV9sZXhlci5nZXQoKSk7CiAKLSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKFVOTElLRUxZKChTb3VyY2VQYXJzZU1vZGVT
ZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpKSB7CiAgICAgICAgIHN0YXJ0
TG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgICAgIGZ1bmN0aW9uSW5mby5zdGFydExp
bmUgPSB0b2tlbkxpbmUoKTsKICAgICAgICAgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwpA
QCAtMjAzNyw3ICsyMTM4LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgewog
ICAgICAgICAgICAgLy8gUGFyc2UgZm9ybWFsIHBhcmFtZXRlcnMgd2l0aCBbK1lpZWxkXSBwYXJh
bWV0ZXJpemF0aW9uLCBpbiBvcmRlciB0byBiYW4gWWllbGRFeHByZXNzaW9ucwogICAgICAgICAg
ICAgLy8gaW4gQXJyb3dGb3JtYWxQYXJhbWV0ZXJzLCBwZXIgRVM2ICNzZWMtYXJyb3ctZnVuY3Rp
b24tZGVmaW5pdGlvbnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMuCi0gICAgICAgICAg
ICBTY29wZTo6TWF5YmVQYXJzZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihm
dW5jdGlvblNjb3BlLCB1cHBlclNjb3BlSXNHZW5lcmF0b3IpOworICAgICAgICAgICAgU2NvcGU6
Ok1heWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25T
Y29wZSwgcGFyZW50U2NvcGUtPmlzR2VuZXJhdG9yKCkpOworICAgICAgICAgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlz
QXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgICAgICBwYXJzZUZ1bmN0aW9u
UGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOwogICAgICAgICAg
ICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgfQpAQCAtMjA2OSwyMSArMjE3MSwyOCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICAvLyBHZW5lcmF0b3JFeHByZXNzaW9uIDoK
ICAgICAgICAgLy8gICAgIGZ1bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXJbWWllbGRdb3B0ICgg
Rm9ybWFsUGFyYW1ldGVyc1tZaWVsZF0gKSB7IEdlbmVyYXRvckJvZHkgfQogICAgICAgICAvLwot
ICAgICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWll
bGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgotICAgICAgICBpZiAoZnVuY3Rp
b25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYm
IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAg
ICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgLy8gVGhlIG5hbWUgb2Yg
RnVuY3Rpb25FeHByZXNzaW9uIGFuZCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0
ICJ5aWVsZCIgZXZlbiBpbiB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCisgICAgICAgIGJvb2wg
dXBwZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIGlmICghKGZ1bmN0aW9uRGVm
aW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBTb3Vy
Y2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpKSkKKyAgICAgICAg
ICAgIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IHVwcGVyU2NvcGUoMSktPmlzR2VuZXJhdG9yKCk7
CiAKICAgICAgICAgaWYgKHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6
OlVubmFtZWQpIHsKICAgICAgICAgICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIShyZXF1aXJlbWVu
dHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lICYmICFmdW5jdGlvbkluZm8ubmFt
ZSksICJXaGVuIHNwZWNpZnlpbmcgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCB3ZSBu
ZWVkIHRvIGluaXRpYWxpemUgZnVuY3Rpb25JbmZvLm5hbWUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1
ZSBpbiB0aGUgY2FsbGVyIHNpZGUuIik7CiAgICAgICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRp
Zmllcih1cHBlclNjb3BlSXNHZW5lcmF0b3IpKSB7CiAgICAgICAgICAgICAgICAgZnVuY3Rpb25J
bmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgICAgICBtX3BhcnNl
clN0YXRlLmxhc3RGdW5jdGlvbk5hbWUgPSBmdW5jdGlvbkluZm8ubmFtZTsKKyAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUpKQorICAgICAg
ICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9
PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpEZWNsYXJhdGlvbiB8fCBpc0FzeW5jRnVuY3Rpb25X
cmFwcGVyUGFyc2VNb2RlKG1vZGUpLCAiQ2Fubm90IGRlY2xhcmUgZnVuY3Rpb24gbmFtZWQgJ2F3
YWl0JyAiLCBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZVJlYXNvbik7CisgICAgICAgICAg
ICAgICAgZWxzZSBpZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSAmJiBt
YXRjaChBV0FJVCkgJiYgZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRp
b25UeXBlOjpFeHByZXNzaW9uKQorICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkNh
bm5vdCBkZWNsYXJlIGFzeW5jIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCciKTsKICAgICAgICAgICAg
ICAgICBuZXh0KCk7CiAgICAgICAgICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSkKICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUt
PmRlY2xhcmVDYWxsZWUoZnVuY3Rpb25JbmZvLm5hbWUpICYgRGVjbGFyYXRpb25SZXN1bHQ6Oklu
dmFsaWRTdHJpY3RNb2RlLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5v
dCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmlj
dCBtb2RlIik7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlv
bk5hbWVSZXF1aXJlbWVudHM6Ok5hbWVkKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9Q
RU5QQVJFTikgJiYgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkK
LSAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11
c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkg
eworICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBo
YXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobW9k
ZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAiQXN5bmMgZnVuY3Rpb24g
c3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRU
b2tlbigpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIxMDEsOCArMjIxMCwx
MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGlmIChsb2FkQ2FjaGVkRnVu
Y3Rpb24oKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwYXJzZUZ1bmN0aW9u
UGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOwotICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOworICAgICAgICB7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxib29s
PiBvdmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1
bmN0aW9uUGFyc2VNb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0
ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CisgICAgICAgICAgICBwcm9w
YWdhdGVFcnJvcigpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBtYXRjaE9yRmFpbChP
UEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwogICAgICAgICAKQEAgLTIxNDks
OSArMjI2MSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICByZXR1cm4gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgc3ludGF4Q2hlY2tlciwgc3RhcnRMb2NhdGlvbiwgc3Rh
cnRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1l
dGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIGV4cGVjdGVkU3VwZXJCaW5kaW5nLCBmdW5jdGlv
bkJvZHlUeXBlLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQsIG1vZGUpOwogICAgIH07CiAK
LSAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpIHsKKyAgICBpZiAobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBw
ZXJGdW5jdGlvbk1vZGUgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSkg
ewogICAgICAgICBBdXRvUG9wU2NvcGVSZWYgZ2VuZXJhdG9yQm9keVNjb3BlKHRoaXMsIHB1c2hT
Y29wZSgpKTsKLSAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSk7CisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZSBpbm5lclBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU7
CisgICAgICAgIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7Cisg
ICAgICAgICAgICBpbm5lclBhcnNlTW9kZSA9IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlCisgICAgICAgICAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlCisgICAgICAgICAgICAgICAgOiBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZTsKKyAgICAgICAgfQorICAgICAgICBnZW5lcmF0b3JC
b2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7CiAgICAgICAgIGdl
bmVyYXRvckJvZHlTY29wZS0+c2V0Q29uc3RydWN0b3JLaW5kKENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSk7CiAgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0RXhwZWN0ZWRTdXBlckJpbmRpbmco
ZXhwZWN0ZWRTdXBlckJpbmRpbmcpOwogCkBAIC0yMTcwLDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGZ1bmN0aW9uSW5mby5ib2R5
LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgIGlmIChmdW5jdGlvblNjb3BlLT5zdHJp
Y3RNb2RlKCkgJiYgcmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5u
YW1lZCkgewogICAgICAgICBBU1NFUlQoZnVuY3Rpb25JbmZvLm5hbWUpOwotICAgICAgICBSRUxF
QVNFX0FTU0VSVChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlIHx8
IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlIHx8IG1vZGUgPT0gU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yQm9keU1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBw
ZXJGdW5jdGlvbk1vZGUpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChTb3VyY2VQYXJzZU1vZGVT
ZXQoU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6
TWV0aG9kTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFw
cGVyRnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVy
UGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqZnVuY3Rpb25JbmZvLm5hbWUsICInIiwgZnVuY3Rpb25J
bmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJp
Y3QgbW9kZSIpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1l
cy0+ZXZhbCA9PSAqZnVuY3Rpb25JbmZvLm5hbWUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmlt
cGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwog
ICAgIH0KQEAgLTIyODUsNiArMjQwMyw2MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogfQog
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25E
ZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBE
ZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCit7Cisg
ICAgQVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0
b2tlblN0YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4gZnVuY3Rpb25JbmZvOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAgIEZ1bmN0aW9uTmFtZVJlcXVpcmVt
ZW50cyByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5hbWVkOworICAg
IGlmIChkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID09IERlY2xhcmF0aW9uRGVmYXVsdENvbnRl
eHQ6OkV4cG9ydERlZmF1bHQpIHsKKyAgICAgICAgLy8gVW5kZXIgdGhlICJleHBvcnQgZGVmYXVs
dCIgY29udGV4dCwgZnVuY3Rpb24gZGVjbGFyYXRpb24gZG9lcyBub3QgcmVxdWlyZSB0aGUgZnVu
Y3Rpb24gbmFtZS4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEV4cG9ydERlY2xhcmF0aW9u
OgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAgIGV4cG9ydCBkZWZh
dWx0IEhvaXN0YWJsZURlY2xhcmF0aW9uW35ZaWVsZCwgK0RlZmF1bHRdCisgICAgICAgIC8vICAg
ICAgICAgLi4uCisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBIb2lzdGFibGVEZWNsYXJhdGlv
bltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgRnVuY3Rpb25EZWNsYXJhdGlv
bls/WWllbGQsID9EZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIEdlbmVyYXRvckRlY2xhcmF0
aW9uWz9ZaWVsZCwgP0RlZmF1bHRdCisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBGdW5jdGlv
bkRlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAg
ICAgICAgLy8gICAgICAgICBbK0RlZmF1bHRdIGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVyc1t+
WWllbGRdICkgeyBGdW5jdGlvbkJvZHlbfllpZWxkXSB9CisgICAgICAgIC8vCisgICAgICAgIC8v
ICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAg
ICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAqICggRm9y
bWFsUGFyYW1ldGVyc1srWWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0KKyAgICAgICAgLy8KKyAg
ICAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSB1c2UgIipkZWZhdWx0KiIgYXMgdGhpcyBmdW5jdGlv
biBkZWNsYXJhdGlvbidzIG5hbWUuCisgICAgICAgIHJlcXVpcmVtZW50cyA9IEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6Tm9uZTsKKyAgICAgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+
cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpOwor
ICAgIH0KKworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCByZXF1
aXJlbWVudHMsIHBhcnNlTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJp
bmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uSW5mbywgRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGFz
eW5jIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoZnVuY3Rpb25JbmZvLm5hbWUsICJBc3lu
YyBmdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKworICAgIHN0ZDo6cGFp
cjxEZWNsYXJhdGlvblJlc3VsdE1hc2ssIFNjb3BlUmVmPiBmdW5jdGlvbkRlY2xhcmF0aW9uID0g
ZGVjbGFyZUZ1bmN0aW9uKGZ1bmN0aW9uSW5mby5uYW1lKTsKKyAgICBEZWNsYXJhdGlvblJlc3Vs
dE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBmdW5jdGlvbkRlY2xhcmF0aW9uLmZpcnN0OworICAg
IGZhaWxJZlRydWVJZlN0cmljdChkZWNsYXJhdGlvblJlc3VsdCAmIERlY2xhcmF0aW9uUmVzdWx0
OjpJbnZhbGlkU3RyaWN0TW9kZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIG5h
bWVkICciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwor
ICAgIGlmIChkZWNsYXJhdGlvblJlc3VsdCAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkRHVw
bGljYXRlRGVjbGFyYXRpb24pCisgICAgICAgIGludGVybmFsRmFpbFdpdGhNZXNzYWdlKGZhbHNl
LCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZnVuY3Rpb24gdGhhdCBzaGFkb3dzIGEgbGV0L2Nv
bnN0L2NsYXNzL2Z1bmN0aW9uIHZhcmlhYmxlICciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgp
LCAiJyBpbiBzdHJpY3QgbW9kZSIpOworICAgIGlmIChleHBvcnRUeXBlID09IEV4cG9ydFR5cGU6
OkV4cG9ydGVkKSB7CisgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UoZXhwb3J0TmFtZSgqZnVu
Y3Rpb25JbmZvLm5hbWUpLCAiQ2Fubm90IGV4cG9ydCBhIGR1cGxpY2F0ZSBmdW5jdGlvbiBuYW1l
OiAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIiciKTsKKyAgICAgICAgbV9tb2R1bGVT
Y29wZURhdGEtPmV4cG9ydEJpbmRpbmcoKmZ1bmN0aW9uSW5mby5uYW1lKTsKKyAgICB9CisKKyAg
ICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlRnVuY0RlY2xTdGF0ZW1lbnQo
bG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgaWYgKFRyZWVCdWlsZGVyOjpDcmVhdGVzQVNU
KQorICAgICAgICBmdW5jdGlvbkRlY2xhcmF0aW9uLnNlY29uZC0+YXBwZW5kRnVuY3Rpb24oZ2V0
TWV0YWRhdGEoZnVuY3Rpb25JbmZvKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBFeHBvcnRUeXBlIGV4cG9ydFR5cGUsIERlY2xhcmF0aW9uRGVmYXVs
dENvbnRleHQgZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCkKIHsKICAgICBBU1NFUlQobWF0Y2go
Q0xBU1NUT0tFTikpOwpAQCAtMjQwMSw4ICsyNTczLDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFz
cyhUCiAgICAgICAgIGJvb2wgaXNHZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc1NldHRl
ciA9IGZhbHNlOwogICAgICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIGJv
b2wgaXNBc3luY01ldGhvZCA9IGZhbHNlOwogICAgICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAg
ICAgICAgICAgICBpc0dlbmVyYXRvciA9IHRydWU7CisKK3BhcnNlTWV0aG9kOgogICAgICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgICAgIG5hbWVkS2V5d29yZDoKICAgICAgICAg
Y2FzZSBTVFJJTkc6CkBAIC0yNDExLDEyICsyNTg2LDE3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFz
cyhUCiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBJREVOVDoKKyAgICAgICAgY2FzZSBBV0FJVDoKICAgICAgICAgICAgIGlkZW50ID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBBU1NFUlQoaWRlbnQpOwogICAgICAgICAgICAg
bmV4dCgpOwotICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAobWF0Y2hJZGVudGlmaWVy
T3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElO
VEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKKyAgICAgICAgICAgIGlmICghaXNHZW5l
cmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8
IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRjaChJTlRFR0VSKSB8fCBtYXRj
aChPUEVOQlJBQ0tFVCkpKSB7CiAgICAgICAgICAgICAgICAgaXNHZXR0ZXIgPSAqaWRlbnQgPT0g
cHJvcGVydHlOYW1lcy5nZXQ7CiAgICAgICAgICAgICAgICAgaXNTZXR0ZXIgPSAqaWRlbnQgPT0g
cHJvcGVydHlOYW1lcy5zZXQ7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FzeW5j
TWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmFzeW5jICYmICFtX2xleGVyLT5wcmV2
VGVybWluYXRvcigpKSkgeworICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBET1VC
TEU6CkBAIC0yNDQ4LDcgKzI2MjgsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAg
ICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKICAgICAg
ICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAmJiAqaWRlbnQgPT0g
cHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsKICAgICAgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7Ci0gICAgICAgICAgICBpZiAo
aXNHZW5lcmF0b3IpIHsKKyAgICAgICAgICAgIGlmIChpc0FzeW5jTWV0aG9kKSB7CisgICAgICAg
ICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAgICAgICAgIHBhcnNlTW9k
ZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOworICAgICAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdwcm90b3R5cGUnIik7Cisg
ICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvciwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIG1ldGhvZCBuYW1l
ZCAnY29uc3RydWN0b3InIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzR2VuZXJhdG9yKSB7
CiAgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAgICAgICAgICAgICAg
IHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZTsKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNsYXJlIGEgZ2VuZXJhdG9yIG5hbWVk
ICdwcm90b3R5cGUnIik7CkBAIC0yNTMxLDYgKzI3MTYsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Np
b25PckwKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQobG9jYXRpb24sIGV4cHJl
c3Npb24sIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOwogICAgICAgICB9CisK
KyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAgICAgICBzZW1hbnRp
Y0ZhaWxJZlRydWUoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pLCAiQ2FuJ3Qg
dXNlICdhd2FpdCcgYXMgYSBsYWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29u
KCkpOworCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsK
ICAgICAgICAgbmV4dCgpOwpAQCAtMjcyNyw3ICsyOTE2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxM
ZXhlclQKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hcyksICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBvcnRlZCBiaW5kaW5n
IG5hbWUiKTsKICAgICAgICAgbmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JGYWlsKElERU5ULCAi
RXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7Cisg
ICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFy
aWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAgICBsb2NhbE5h
bWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICBuZXh0KCk7CkBAIC0yNzQ5LDcgKzI5MzgsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFy
c2VyPExleGVyVAogCiAgICAgICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzKSkgewogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgbWF0
Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQg
ZGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZp
ZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlv
biIpOwogICAgICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICAgICAg
bG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBuZXh0KCk7CkBA
IC0yNzYwLDcgKzI5NDksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1l
IFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIGNhc2UgSW1w
b3J0U3BlY2lmaWVyVHlwZTo6RGVmYXVsdEltcG9ydDogewogICAgICAgICAvLyBJbXBvcnRlZERl
ZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0gICAgICAgIEFTU0VS
VChtYXRjaChJREVOVCkpOworICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRlbnRpZmllcigpKTsK
ICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBsb2NhbE5hbWUgPSBt
X3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPmRlZmF1bHRLZXl3b3JkOwpAQCAtMjc2OSw2ICsyOTU4LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVy
IFBhcnNlcjxMZXhlclQKICAgICB9CiAgICAgfQogCisgICAgc2VtYW50aWNGYWlsSWZUcnVlKGxv
Y2FsTmFtZVRva2VuLm1fdHlwZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBhbiBp
bXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1l
VG9rZW4ubV90eXBlICYgS2V5d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Uga2V5d29yZCBhcyBp
bXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3VsdE1hc2sgZGVjbGFy
YXRpb25SZXN1bHQgPSBkZWNsYXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNsYXJhdGlvblR5cGU6
OkNvbnN0RGVjbGFyYXRpb24sIChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNwZWNpZmllclR5cGU6
Ok5hbWVzcGFjZUltcG9ydCkgPyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkTmFtZXNw
YWNlIDogRGVjbGFyYXRpb25JbXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAgaWYgKGRlY2xhcmF0
aW9uUmVzdWx0ICE9IERlY2xhcmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAtMjc5OSw3ICsyOTg5
LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmEKICAgICB9CiAKICAgICBib29sIGlzRmluaXNo
ZWRQYXJzaW5nSW1wb3J0ID0gZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgIGlm
IChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0ZWREZWZhdWx0Qmlu
ZGluZyA6CiAgICAgICAgIC8vIEltcG9ydGVkQmluZGluZwogICAgICAgICBhdXRvIHNwZWNpZmll
ciA9IHBhcnNlSW1wb3J0Q2xhdXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVjaWZpZXJUeXBlOjpE
ZWZhdWx0SW1wb3J0KTsKQEAgLTI5MDksNiArMzA5OSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVj
bGFyYQogICAgICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgICAgIGJvb2wgaXNG
dW5jdGlvbk9yQ2xhc3NEZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICAgICBjb25zdCBJZGVudGlm
aWVyKiBsb2NhbE5hbWUgPSBudWxscHRyOworICAgICAgICBib29sIGlzQXN5bmNGdW5jdGlvbkV4
cG9ydCA9IGZhbHNlOworCisgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENvbnRleHR1YWxLZXl3
b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKKyAgICAgICAgICAgIFNhdmVQb2lu
dCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZU
ZXJtaW5hdG9yKCkpKQorICAgICAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbkV4cG9ydCA9IHRy
dWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlUG9pbnQpOworICAgICAgICB9CiAKICAgICAgICAgYm9vbCBzdGFydHNXaXRoRnVuY3Rpb24g
PSBtYXRjaChGVU5DVElPTik7CiAgICAgICAgIGlmIChzdGFydHNXaXRoRnVuY3Rpb24gfHwgbWF0
Y2goQ0xBU1NUT0tFTikpIHsKQEAgLTI5MzMsNiArMzEzMywxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0
RGVjbGFyYQogICAgICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9z
dGF0ZW1lbnREZXB0aCk7CiAgICAgICAgICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7CiAg
ICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQs
IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBv
cnREZWZhdWx0KTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNBc3luY0Z1bmN0aW9uRXhwb3J0
KSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgICAgICAg
ICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAg
ICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKKyAgICAgICAgICAgICAgICByZXN1
bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpO
b3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CiAg
ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChDTEFTU1RP
S0VOKSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VDbGFzc0RlY2xhcmF0aW9uKGNv
bnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0
OjpFeHBvcnREZWZhdWx0KTsKQEAgLTI5NDcsNiArMzE1Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnRE
ZWNsYXJhCiAgICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gSW4gdGhlIGFib3ZlIGV4YW1w
bGUsICpkZWZhdWx0KiBpcyB0aGUgaW52aXNpYmxlIHZhcmlhYmxlIHRvIHRoZSB1c2Vycy4KICAg
ICAgICAgICAgIC8vIFdlIHVzZSB0aGUgcHJpdmF0ZSBzeW1ib2wgdG8gcmVwcmVzZW50IHRoZSBu
YW1lIG9mIHRoaXMgdmFyaWFibGUuCisgICAgICAgICAgICBFeHByZXNzaW9uRXJyb3JDbGFzc2lm
aWVyIGNsYXNzaWZpZXIodGhpcyk7CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBleHByZXNz
aW9uID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTMwNTMsOSArMzI1
OSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgYnJlYWs7CiAKICAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENvbnRleHR1YWxL
ZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpIHsKKyAgICAgICAgICAgICAgICBu
ZXh0KCk7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRjaChGVU5DVElP
TikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVuY3Rpb24nIGtl
eXdvcmQgZm9sbG93aW5nICdhc3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGluZyBsaW5lIHRl
cm1pbmF0b3IiKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25E
ZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGVpdGhlciBhIGRlY2xhcmF0aW9uIG9yIGEgdmFyaWFibGUgc3RhdGVtZW50Iik7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorCiAgICAgICAgIGZhaWxJZkZhbHNlKHJlc3Vs
dCwgIkNhbm5vdCBwYXJzZSB0aGUgZGVjbGFyYXRpb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlRXhwb3J0TG9jYWxEZWNsYXJhdGlvbihleHBvcnRMb2NhdGlvbiwgcmVzdWx0KTsK
ICAgICB9CkBAIC0zMTE3LDM0ICszMzMwLDQ1IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAg
ICAgQVNTRVJUKCFoYXNFcnJvcigpKTsKICAgICAKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7
CisKKyAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50
U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCisgICAgICAgIHJldHVybiBwYXJzZVlpZWxkRXhwcmVz
c2lvbihjb250ZXh0KTsKKwogICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBv
c2l0aW9uKCk7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7
CiAgICAgaW50IGluaXRpYWxBc3NpZ25tZW50Q291bnQgPSBtX3BhcnNlclN0YXRlLmFzc2lnbm1l
bnRDb3VudDsKICAgICBpbnQgaW5pdGlhbE5vbkxIU0NvdW50ID0gbV9wYXJzZXJTdGF0ZS5ub25M
SFNDb3VudDsKICAgICBib29sIG1heWJlQXNzaWdubWVudFBhdHRlcm4gPSBtYXRjaChPUEVOQlJB
Q0UpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKTsKICAgICBib29sIHdhc09wZW5QYXJlbiA9IG1hdGNo
KE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc1ZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0gbWF0Y2go
T1BFTlBBUkVOKSB8fCBtYXRjaChJREVOVCk7CisgICAgLy8gRG8gbm90IHVzZSBtYXRjaFNwZWNJ
ZGVudGlmaWVyKCkgaGVyZSBzaW5jZSBpdCBpcyBzbG93ZXIgdGhhbiBpc0lkZW50aWZpZXJPcktl
eXdvcmQuCisgICAgLy8gV2hldGhlciBzcGVjIGlkZW50aWZpZXIgaXMgd2lsbCBiZSB2YWxpZGF0
ZWQgYnkgaXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpLgorICAgIGJvb2wgd2FzSWRlbnRpZmll
ck9yS2V5d29yZCA9IGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKTsKKyAgICBib29sIG1h
eWJlVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSB3YXNPcGVuUGFyZW4gfHwgd2FzSWRlbnRpZmll
ck9yS2V5d29yZDsKICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7
CiAgICAgc2l6ZV90IHVzZWRWYXJpYWJsZXNTaXplID0gMDsKLSAgICBpZiAod2FzT3BlblBhcmVu
KSB7CisKKyAgICBpZiAod2FzT3BlblBhcmVuIHx8ICh3YXNJZGVudGlmaWVyT3JLZXl3b3JkICYm
IFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
c3luYykpKSB7CiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3BlKCktPmN1
cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+cHVzaFVz
ZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlF
TERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKLSAgICAgICAg
cmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQpOwotCiAgICAgVHJlZUV4cHJlc3Np
b24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAKLSAgICBpZiAo
aXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgeworICAgIGlmICht
YXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRjaChFT0ZUT0spKSB7CiAgICAgICAg
IGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKICAgICAg
ICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4pIHsKICAgICAgICAgICAgIFNhdmVQ
b2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAg
ICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoVU5M
SUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpKSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKSkgewot
ICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisgICAgICAgICAgICAgICAgaWYgKHdh
c09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRT
Y29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxlcyh1c2VkVmFyaWFibGVzU2l6ZSk7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
c3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCk7CiAgICAg
ICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBAIC0zMjY4LDYgKzM0OTIsMjIgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIC8vIEF3YWl0RXhwcmVzc2lvbiBkZXN1Z2FyZWQgdG8gWWllbGRFeHByZXNzaW9uCisgICAg
QVNTRVJUKG1hdGNoKEFXQUlUKSk7CisgICAgQVNTRVJUKGN1cnJlbnRTY29wZSgpLT5pc0FzeW5j
RnVuY3Rpb24oKSk7CisgICAgZmFpbElmVHJ1ZShtX3BhcnNlclN0YXRlLmZ1bmN0aW9uUGFyc2VQ
aGFzZSA9PSBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMsICJDYW5ub3QgdXNlIGF3YWl0
IGV4cHJlc3Npb24gd2l0aGluIHBhcmFtZXRlcnMiKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBkaXZvdFN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgbmV4dCgpOworICAgIEpTVGV4dFBvc2l0aW9uIGFy
Z3VtZW50U3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBh
cmd1bWVudCA9IHBhcnNlVW5hcnlFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNl
KGFyZ3VtZW50LCAiRmFpbGVkIHRvIHBhcnNlIGF3YWl0IGV4cHJlc3Npb24iKTsKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVBd2FpdChsb2NhdGlvbiwgYXJndW1lbnQsIGRpdm90U3RhcnQsIGFy
Z3VtZW50U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworfQorCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CkBAIC0zMzgwLDIyICszNjIwLDI2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVC
CiAgICAgYm9vbCB3YXNJZGVudCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxz
ZTsKICAgICBib29sIGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNlOworICAgIGJvb2wgaXNBc3luY01l
dGhvZCA9IGZhbHNlOwogICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgaXNHZW5lcmF0
b3IgPSB0cnVlOworCitwYXJzZVByb3BlcnR5OgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUp
IHsKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURFTlQ6CisgICAgY2FzZSBBV0FJVDoK
ICAgICAgICAgd2FzSWRlbnQgPSB0cnVlOwogICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNl
IFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwogICAgICAgICB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0ID0g
dG9rZW5TdGFydCgpOwotICAgICAgICBpZiAoY29tcGxldGUgfHwgKHdhc0lkZW50ICYmICFpc0dl
bmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCisgICAgICAgIGlmIChjb21wbGV0ZSB8fCAo
d2FzSWRlbnQgJiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+Z2V0IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQgfHwgKmlkZW50ID09
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkpCiAgICAgICAgICAgICBuZXh0RXhwZWN0SWRl
bnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdv
cmRzIHwgVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKIAotICAgICAgICBpZiAoIWlz
R2VuZXJhdG9yICYmIG1hdGNoKENPTE9OKSkgeworICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYm
ICFpc0FzeW5jTWV0aG9kICYmIG1hdGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwog
ICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Np
b25PclByb3BhZ2F0ZUVycm9yQ2xhc3MoY29udGV4dCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24gZm9yIHByb3BlcnR5IGRlY2xhcmF0aW9u
Iik7CkBAIC0zNDA0LDExICszNjQ4LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewotICAgICAgICAgICAgYXV0
byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRv
cik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4
dCwgaWRlbnQsIGlzR2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3Bh
Z2F0ZUVycm9yKCk7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eShp
ZGVudCwgbWV0aG9kLCBQcm9wZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6Oktub3du
RGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7
CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEg
cGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dl
bmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJn
dW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGZhaWxJZkZhbHNlKHdhc0lkZW50LCAiRXhwZWN0ZWQg
YW4gaWRlbnRpZmllciBhcyBwcm9wZXJ0eSBuYW1lIik7CiAKQEAgLTM0MzAsNyArMzY3NCwxMSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9k
ZTo6R2V0dGVyOwogICAgICAgICBlbHNlIGlmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+c2V0KQogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6U2V0dGVyOwotICAgICAg
ICBlbHNlCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKCFpc0dlbmVyYXRvciAmJiAhaXNBc3lu
Y01ldGhvZCAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAg
ICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobV9s
ZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBmb2xsb3dp
bmcga2V5d29yZCAnYXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBhcnNlUHJvcGVydHk7Cisg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhICc6
JyBmb2xsb3dpbmcgdGhlIHByb3BlcnR5IG5hbWUgJyIsIGlkZW50LT5pbXBsKCksICInIik7CiAg
ICAgICAgIHJldHVybiBwYXJzZUdldHRlclNldHRlcihjb250ZXh0LCBjb21wbGV0ZSwgdHlwZSwg
Z2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBpc0NsYXNz
UHJvcGVydHkpOwogICAgIH0KQEAgLTM0NDEsMTEgKzM2ODksMTEgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVy
dHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAg
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgp
Lm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFt
ZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4
dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNl
UHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhv
ZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3Rh
bnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVk
LCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5l
cmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAg
ICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEg
cGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWls
KENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJl
ZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBA
IC0zNDYwLDExICszNzA4LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVBy
b3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhh
bmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQg
cHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAg
ICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0t
PnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAg
ICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAg
ICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5
Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0
ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpO
ZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShp
c0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsK
KyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0
ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVP
ckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAg
ICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0
KTsKQEAgLTM0NzksMTMgKzM3MjcsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qo
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wg
aXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29s
IGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7
CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1l
dGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3Jh
cHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
TWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpV
bm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmlu
ZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9u
VHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZv
KTsKIH0KQEAgLTM3NTEsNiArMzk5OSwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQog
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9u
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVO
Q1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
KyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBu
ZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87
CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50
aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNz
aW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOwor
fQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNU
ZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdT
dHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1w
bGF0ZUhlYWQpIHsKQEAgLTM4MzgsMTQgKzQxMDAsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2Vz
VGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7
CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZp
ZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQ
b3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dG
VU5DVElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCiAgICAgICAgICAg
ICByZXR1cm4gMDsKKworICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goRlVOQ1RJT04pICYmICFt
X2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5hc3luYykpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fcGFyc2VyU3Rh
dGUubGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UmVzb2x2ZShsb2NhdGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7
CkBAIC00MDIxLDYgKzQyODcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAg
ICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgfQogCisgICAgYm9vbCBiYXNlSXNB
c3luY0tleXdvcmQgPSBmYWxzZTsKICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgU2Nv
cGVSZWYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29wZSA9IGNsb3Nlc3RQYXJlbnRPcmRpbmFy
eUZ1bmN0aW9uTm9uTGV4aWNhbFNjb3BlKCk7CiAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2Uo
Y3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSB8fCAoY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25T
Y29wZS0+aXNFdmFsQ29udGV4dCgpICYmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmV4
cGVjdGVkU3VwZXJCaW5kaW5nKCkgPT0gU3VwZXJCaW5kaW5nOjpOZWVkZWQpLCAic3VwZXIgaXMg
bm90IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwpAQCAtNDAzOCw4ICs0MzA1LDE5IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1
bmN0aW9uU3VwZXJCaW5kaW5nID09IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCAic3VwZXIgaXMg
bm90IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0g
ICAgfSBlbHNlIGlmICghYmFzZUlzTmV3VGFyZ2V0KQorICAgIH0gZWxzZSBpZiAoIWJhc2VJc05l
d1RhcmdldCkgeworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBtYXRjaENvbnRleHR1YWxL
ZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKICAgICAgICAgYmFzZSA9IHBhcnNl
UHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGJhc2UsICJD
YW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChVTkxJS0VMWShpc0Fz
eW5jICYmIGNvbnRleHQuaXNSZXNvbHZlKGJhc2UpICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRv
cigpKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAgICAg
ICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNlQ2xh
c3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOwor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYmFz
ZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGZhaWxJZkZh
bHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CiAgICAgd2hpbGUgKHRy
dWUpIHsKQEAgLTQwNzQsNiArNDM1Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Np
b25FbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICAgICAgICAgIFRyZWVBcmd1
bWVudHMgYXJndW1lbnRzID0gcGFyc2VBcmd1bWVudHMoY29udGV4dCk7CisgICAgICAgICAgICAg
ICAgaWYgKFVOTElLRUxZKGJhc2VJc0FzeW5jS2V5d29yZCAmJiAoIWFyZ3VtZW50cyB8fCBtYXRj
aChBUlJPV0ZVTkNUSU9OKSkpKQorICAgICAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhw
cmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKICAgICAgICAg
ICAgICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1bWVu
dHMiKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAgICAg
ICAgICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7CkBA
IC00MTMyLDcgKzQ0MTIsNyBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb247CiAKQEAgLTQxNDAsNyArNDQyMCw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5j
dGlvCiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVy
QmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25E
ZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0FzeW5j
ID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUs
IHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNz
aW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwog
fQpAQCAtNDE4NCw2ICs0NDY2LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAgYm9v
bCBtb2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxzZTsK
ICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisgICAgaWYgKFVOTElLRUxZKG1hdGNo
KEFXQUlUKSAmJiBjdXJyZW50RnVuY3Rpb25TY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFy
eSgpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlQXdhaXRFeHByZXNzaW9uKGNvbnRleHQpOworCiAg
ICAgd2hpbGUgKGlzVW5hcnlPcChtX3Rva2VuLm1fdHlwZSkpIHsKICAgICAgICAgaWYgKHN0cmlj
dE1vZGUoKSkgewogICAgICAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewpAQCAtNDM2
NSw2ICs0NjUxLDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdm9pZCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KFcKICAgICAgICAgb3V0LnByaW50
KCJJbnZhbGlkIHByaXZhdGUgbmFtZSAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIElERU5UOgogICAg
ICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRpZmllciAnIiwgZ2V0VG9rZW4oKSwgIici
KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5k
ZXggNTBlMTM5MWI1ZmQwM2RkNWU3NzhiOGZkYjU5MjNhYTc5OGFlZDEyMy4uMWE4ZmFmYWYyZjgw
ZWU2ZDA2Yjg0MjVjMTM5MjZkZDNjZjEwYmI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY29wZSk7CiAKIHB1YmxpYzoKLSAgICBTY29wZShjb25zdCBWTSogdm0s
IGJvb2wgaXNGdW5jdGlvbiwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBib29s
IGlzQXJyb3dGdW5jdGlvbikKKyAgICBTY29wZShjb25zdCBWTSogdm0sIGJvb2wgaXNGdW5jdGlv
biwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBib29sIGlzQXJyb3dGdW5jdGlv
biwgYm9vbCBpc0FzeW5jRnVuY3Rpb24pCiAgICAgICAgIDogbV92bSh2bSkKICAgICAgICAgLCBt
X3NoYWRvd3NBcmd1bWVudHMoZmFsc2UpCiAgICAgICAgICwgbV91c2VzRXZhbChmYWxzZSkKQEAg
LTE1MCw2ICsxNTAsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5
KGZhbHNlKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uKGlzQXJyb3dGdW5jdGlvbikKICAg
ICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQorICAgICAgICAsIG1faXNB
c3luY0Z1bmN0aW9uKGlzQXN5bmNGdW5jdGlvbikKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlv
bkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUoZmFsc2UpCiAgICAg
ICAgICwgbV9pc0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCiAgICAgICAgICwgbV9pc1ZhbGlkU3Ry
aWN0TW9kZSh0cnVlKQpAQCAtMTgxLDYgKzE4Myw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lz
R2VuZXJhdG9yQm91bmRhcnkob3RoZXIubV9pc0dlbmVyYXRvckJvdW5kYXJ5KQogICAgICAgICAs
IG1faXNBcnJvd0Z1bmN0aW9uKG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1f
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeSkK
KyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihvdGhlci5tX2lzQXN5bmNGdW5jdGlvbikKKyAg
ICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnkpCiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShvdGhlci5tX2lzTGV4aWNhbFNj
b3BlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNGdW5jdGlvbkJv
dW5kYXJ5KQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUob3RoZXIubV9pc1ZhbGlkU3Ry
aWN0TW9kZSkKQEAgLTIzOCw2ICsyNDIsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U291cmNl
UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2RlKQogICAgIHsKICAgICAgICAgc3dpdGNoICht
b2RlKSB7CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25C
b2R5TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpOworICAg
ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVu
Y3Rpb25Cb2R5TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgp
OworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlOgogICAgICAgICAgICAgc2V0SXNHZW5lcmF0b3IoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI2OSwxNSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBzZXRJ
c0Fycm93RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jTWV0aG9kTW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNGdW5jdGlvbigp
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlv
bigpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OlByb2dyYW1Nb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6
ZU1vZGU6CiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6
CkBAIC0yNjgsNiArMjg5LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNGdW5jdGlvbkJvdW5kYXJ5
KCkgY29uc3QgeyByZXR1cm4gbV9pc0Z1bmN0aW9uQm91bmRhcnk7IH0KICAgICBib29sIGlzR2Vu
ZXJhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvcjsgfQogICAgIGJvb2wgaXNHZW5l
cmF0b3JCb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3JCb3VuZGFyeTsgfQor
ICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0FzeW5jRnVuY3Rp
b247IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4g
bV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsgfQogCiAgICAgYm9vbCBoYXNBcmd1bWVudHMoKSBj
b25zdCB7IHJldHVybiBtX2hhc0FyZ3VtZW50czsgfQogCkBAIC0yOTEsNiArMzE0LDExIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIG1fbGV4aWNhbFZhcmlhYmxlczsKICAgICB9CiAKKyAgICBi
b29sIGlzTW9kdWxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKICAgICB2b2lkIGNvbXB1dGVMZXhpY2FsbHlDYXB0dXJlZFZhcmlhYmxlc0FuZFB1cmdlQ2Fu
ZGlkYXRlcygpCiAgICAgewogICAgICAgICAvLyBCZWNhdXNlIHZhcmlhYmxlcyBtYXkgYmUgZGVm
aW5lZCBhdCBhbnkgdGltZSBpbiB0aGUgcmFuZ2Ugb2YgYSBsZXhpY2FsIHNjb3BlLCB3ZSBtdXN0
CkBAIC03MTAsNiArNzM4LDM0IEBAIHByaXZhdGU6CiAgICAgICAgIG1faXNBcnJvd0Z1bmN0aW9u
ID0gdHJ1ZTsKICAgICB9CiAKKyAgICB2b2lkIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNGdW5j
dGlvbiA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb24oKQorICAg
IHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9
IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb25Cb2R5KCkKKyAgICB7
CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9oYXNBcmd1bWVudHMgPSBmYWxz
ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgICAgICBtX2lzQXN5bmNG
dW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5bmNBcnJv
d0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAg
ICAgICAgbV9oYXNBcmd1bWVudHMgPSBmYWxzZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24g
PSB0cnVlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9
CisKICAgICBjb25zdCBWTSogbV92bTsKICAgICBib29sIG1fc2hhZG93c0FyZ3VtZW50czsKICAg
ICBib29sIG1fdXNlc0V2YWw7CkBAIC03MjQsNiArNzgwLDggQEAgcHJpdmF0ZToKICAgICBib29s
IG1faXNHZW5lcmF0b3JCb3VuZGFyeTsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uOwogICAg
IGJvb2wgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeTsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0
aW9uOworICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29sIG1faXNM
ZXhpY2FsU2NvcGU7CiAgICAgYm9vbCBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29sIG1f
aXNWYWxpZFN0cmljdE1vZGU7CkBAIC04ODYsOCArOTQ0LDkgQEAgcHJpdmF0ZToKICAgICB9Owog
CiAgICAgZW51bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7Ci0gICAgICAgIEVycm9ySW5kaWNhdGVz
Tm90aGluZywKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuCisgICAgICAgIEVycm9ySW5k
aWNhdGVzTm90aGluZyA9IDAsCisgICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybiwKKyAgICAg
ICAgRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24KICAgICB9OwogCiAgICAgc3RydWN0
IEV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIgewpAQCAtOTExLDYgKzk3MCwxMSBAQCBwcml2YXRl
OgogICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOwogICAgICAgICB9CiAKKyAg
ICAgICAgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNs
YXNzIGNsYXNzaWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBtX2NsYXNzID0gY2xh
c3NpZmljYXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJlY2xhc3NpZnlFeHByZXNz
aW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Np
b25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
bV9jbGFzcyAhPSBvbGRDbGFzc2lmaWNhdGlvbikKQEAgLTkyMCwxMSArOTg0LDEyIEBAIHByaXZh
dGU6CiAKICAgICAgICAgdm9pZCBwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcygpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGlmIChtX3ByZXZpb3VzICYmIG1fY2xhc3MgIT0gRXJyb3JJbmRp
Y2F0ZXNOb3RoaW5nKQorICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMpCiAgICAgICAgICAgICAg
ICAgbV9wcmV2aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7CiAgICAgICAgIH0KIAogICAgICAgICBi
b29sIGluZGljYXRlc1Bvc3NpYmxlUGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0g
RXJyb3JJbmRpY2F0ZXNQYXR0ZXJuOyB9CisgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVB
c3luY0Fycm93RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNh
dGVzQXN5bmNBcnJvd0Z1bmN0aW9uOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBFeHByZXNz
aW9uRXJyb3JDbGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYgKzEwMDMsMTIgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Y2xhc3NpZnlFeHByZXNzaW9u
RXJyb3IoY2xhc3NpZmljYXRpb24pOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBm
b3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZp
Y2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikK
KyAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Zm9yY2VDbGFzc2lmeUV4
cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xk
Q2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAg
IHsKICAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikKQEAgLTk1OSw2ICsx
MDMwLDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBEZXN0cnVjdHVyaW5nS2luZDo6RGVz
dHJ1Y3R1cmVUb1ZhcmlhYmxlczsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IGNo
YXIqIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKERlY2xhcmF0aW9uVHlwZSB0eXBlKQor
ICAgIHsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25U
eXBlOjpWYXJEZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAidmFyaWFibGUgbmFtZSI7
CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpMZXREZWNsYXJhdGlvbjoKKyAgICAgICAg
Y2FzZSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb246CisgICAgICAgICAgICByZXR1
cm4gImxleGljYWwgdmFyaWFibGUgbmFtZSI7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuICJpbnZhbGlkIjsKKyAgICB9CisK
ICAgICBBTFdBWVNfSU5MSU5FIEFzc2lnbm1lbnRDb250ZXh0IGFzc2lnbm1lbnRDb250ZXh0RnJv
bURlY2xhcmF0aW9uVHlwZShEZWNsYXJhdGlvblR5cGUgdHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAodHlwZSkgewpAQCAtOTcxLDYgKzEwNTUsMTIgQEAgcHJpdmF0ZToKIAogICAgIEFMV0FZ
U19JTkxJTkUgYm9vbCBpc0V2YWxPckFyZ3VtZW50cyhjb25zdCBJZGVudGlmaWVyKiBpZGVudCkg
eyByZXR1cm4gaXNFdmFsT3JBcmd1bWVudHNJZGVudGlmaWVyKG1fdm0sIGlkZW50KTsgfQogCisg
ICAgU2NvcGVSZWYgdXBwZXJTY29wZShpbnQgbikKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3Nj
b3BlU3RhY2suc2l6ZSgpID49IHNpemVfdCgxICsgbikpOworICAgICAgICByZXR1cm4gU2NvcGVS
ZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEgLSBuKTsKKyAgICB9CisK
ICAgICBTY29wZVJlZiBjdXJyZW50U2NvcGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNjb3Bl
UmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXplKCkgLSAxKTsKQEAgLTEwMjcsMTMg
KzExMTcsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc1N0cmljdCA9IGZhbHNlOwogICAg
ICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uID0gZmFsc2U7CiAgICAg
ICAgIGlmICghbV9zY29wZVN0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaXNTdHJpY3Qg
PSBtX3Njb3BlU3RhY2subGFzdCgpLnN0cmljdE1vZGUoKTsKICAgICAgICAgICAgIGlzRnVuY3Rp
b24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzRnVuY3Rpb24oKTsKICAgICAgICAgICAgIGlzR2Vu
ZXJhdG9yID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0dlbmVyYXRvcigpOwogICAgICAgICAgICAg
aXNBcnJvd0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Fycm93RnVuY3Rpb24oKTsK
KyAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNBc3lu
Y0Z1bmN0aW9uKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFu
ZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dG
dW5jdGlvbik7CisgICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwg
aXNGdW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24sIGlzQXN5
bmNGdW5jdGlvbik7CiAgICAgICAgIHJldHVybiBjdXJyZW50U2NvcGUoKTsKICAgICB9CiAKQEAg
LTEzNDYsMjEgKzE0MzgsMjUgQEAgcHJpdmF0ZToKICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5h
dGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlv
bnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wg
bWF0Y2hTcGVjSWRlbnRpZmllcihib29sIGluR2VuZXJhdG9yKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1hdGNoKElERU5UKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2Vk
QXNJREVOVChpbkdlbmVyYXRvcik7CisgICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0
Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5U
KGluR2VuZXJhdG9yKTsKICAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVj
SWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2hTcGVjSWRlbnRpZmllcihj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgIHJldHVybiBtYXRjaChJREVO
VCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNr
ZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKICAgICB9CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUdlbmVyYXRvckZ1
bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
QXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlUGFyc2VNb2Rl
LCBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBTb3VyY2VFbGVtZW50c01vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2
ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYs
IGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoID0gMCk7CiAgICAgZW51bSBjbGFzcyBFeHBvcnRUeXBlIHsgRXhwb3J0ZWQsIE5vdEV4
cG9ydGVkIH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRU
eXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwg
RXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRD
b250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
VHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xh
cmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFy
ZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBt
YXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25E
ZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRGVj
bGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZURvV2hpbGVT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwpAQCAtMTM4
Nyw2ICsxNDgzLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19J
TkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHBy
ZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBd2Fp
dEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVz
c2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXJy
YXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3ICsxNDkxLDE4IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJl
c3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24g
cGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRzKFRyZWVCdWlsZGVyJik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9u
IHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVudFR5cGUmKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWls
ZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvcik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9k
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29s
IGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwg
Ym9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBTeW50YXhDaGVja2VyJiwgY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBTdXBl
ckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBib29sIHBhcnNl
Rm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0LCB1
bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BD
b250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QoVHJl
ZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuJiBs
YXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRp
b24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0LCBEZWNsYXJhdGlvblR5cGUsIEV4
cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RIYXZlSW5pdGlhbGl6ZXIpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXJy
b3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXIm
KTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVCaW5k
aW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBj
b25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVudENvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQXNzaWdu
bWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVzc2lvbiYsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gcGFyc2VCaW5k
aW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmlu
Z0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVy
LCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNzaWdubWVudENvbnRleHQgYmluZGlu
Z0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1NjAsMjEgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwoKTsKICAgICB9CiAKKyAgICBib29s
IGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBKU1Rva2VuJiB0b2tlbikKKyAgICB7
CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0YXRl
LmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkg
fHwgY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkgfHwgIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2Fp
dCk7CisgICAgfQorCisgICAgY29uc3QgY2hhciogZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJl
YXNvbigpCisgICAgeworICAgICAgICBpZiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBj
dXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkKKyAgICAgICAgICAgIHJl
dHVybiAiaW4gYW4gYXN5bmMgZnVuY3Rpb24iOworICAgICAgICBpZiAoY3VycmVudFNjb3BlKCkt
PmlzTW9kdWxlKCkpCisgICAgICAgICAgICByZXR1cm4gImluIGEgbW9kdWxlIjsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNlUGhhc2UgeyBQYXJhbWV0ZXJzLCBC
b2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAgICAgICAgaW50IGFzc2lnbm1lbnRD
b3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU4Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIEZ1bmN0
aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBGdW5jdGlvblBhcnNlUGhhc2U6OkJv
ZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50aWZpZXIgeyBudWxscHRy
IH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgeyBudWxscHRy
IH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUgfTsKICAgICB9OwogCiAgICAgLy8g
SWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBwcm9iYWJseSBzaG91bGQgYmUgdXNp
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAppbmRleCA5ZmQ3
Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2Li4yYWFjNjgyMWFlZDJjOGUwMWI5
OTM1MGU4MDJjMDRhZGZkNGU4MTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJNb2Rlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFBhcnNlck1vZGVzX2gKICNk
ZWZpbmUgUGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAiQ29uc3RydWN0QWJpbGl0eS5oIgogI2lu
Y2x1ZGUgIklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00Myw4MCArNDQsMTMw
IEBAIGVudW0gRGVidWdnZXJNb2RlIHsgRGVidWdnZXJPZmYsIERlYnVnZ2VyT24gfTsKIAogZW51
bSBjbGFzcyBGdW5jdGlvbk1vZGUgeyBGdW5jdGlvbkV4cHJlc3Npb24sIEZ1bmN0aW9uRGVjbGFy
YXRpb24sIE1ldGhvZERlZmluaXRpb24gfTsKIAotZW51bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUg
OiB1aW50OF90IHsKLSAgICBOb3JtYWxGdW5jdGlvbk1vZGUsCi0gICAgR2VuZXJhdG9yQm9keU1v
ZGUsCi0gICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKLSAgICBHZXR0ZXJNb2RlLAot
ICAgIFNldHRlck1vZGUsCi0gICAgTWV0aG9kTW9kZSwKLSAgICBBcnJvd0Z1bmN0aW9uTW9kZSwK
LSAgICBQcm9ncmFtTW9kZSwKLSAgICBNb2R1bGVBbmFseXplTW9kZSwKLSAgICBNb2R1bGVFdmFs
dWF0ZU1vZGUKK2VudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDE2X3QgeworICAgIE5v
cm1hbEZ1bmN0aW9uTW9kZSAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDAxLAorICAgIEdl
bmVyYXRvckJvZHlNb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDEwLAorICAgIEdl
bmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgID0gMGIwMDAwMDAwMDAwMDAwMTAwLAorICAgIEdl
dHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAxMDAwLAorICAgIFNl
dHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDEwMDAwLAorICAgIE1l
dGhvZE1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMTAwMDAwLAorICAgIEFy
cm93RnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAxMDAwMDAwLAorICAgIEFz
eW5jRnVuY3Rpb25Cb2R5TW9kZSAgICAgICAgID0gMGIwMDAwMDAwMDEwMDAwMDAwLAorICAgIEFz
eW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICAgID0gMGIwMDAwMDAwMTAwMDAwMDAwLAorICAgIEFz
eW5jRnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAxMDAwMDAwMDAwLAorICAgIEFz
eW5jTWV0aG9kTW9kZSAgICAgICAgICAgICAgID0gMGIwMDAwMDEwMDAwMDAwMDAwLAorICAgIEFz
eW5jQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgID0gMGIwMDAwMTAwMDAwMDAwMDAwLAorICAgIFBy
b2dyYW1Nb2RlICAgICAgICAgICAgICAgICAgID0gMGIwMDAxMDAwMDAwMDAwMDAwLAorICAgIE1v
ZHVsZUFuYWx5emVNb2RlICAgICAgICAgICAgID0gMGIwMDEwMDAwMDAwMDAwMDAwLAorICAgIE1v
ZHVsZUV2YWx1YXRlTW9kZSAgICAgICAgICAgID0gMGIwMTAwMDAwMDAwMDAwMDAwLAogfTsKIAot
aW5saW5lIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2Rl
KQorY2xhc3MgU291cmNlUGFyc2VNb2RlU2V0IHsgCitwdWJsaWM6IAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIE1vZGVzPiAKKyAgICBTb3VyY2VQYXJzZU1vZGVTZXQoTW9kZXMuLi4gYXJncykg
CisgICAgICAgIDogbV9tYXNrKG1lcmdlU291cmNlUGFyc2VNb2RlcyhhcmdzLi4uKSkgCisgICAg
eyAKKyAgICB9IAorCisgICAgQUxXQVlTX0lOTElORSBib29sIGNvbnRhaW5zKFNvdXJjZVBhcnNl
TW9kZSBtb2RlKSAKKyAgICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KG1vZGUpICYgbV9tYXNrOyAKKyAgICB9IAorCitwcml2YXRlOiAKKyAgICBBTFdBWVNfSU5MSU5F
IHN0YXRpYyB1bnNpZ25lZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VNb2RlIG1v
ZGUpIAorICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSk7
IAorICAgIH0gCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBSZXN0PiAKKyAgICBBTFdBWVNf
SU5MSU5FIHN0YXRpYyB1bnNpZ25lZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VN
b2RlIG1vZGUsIFJlc3QuLi4gcmVzdCkgCisgICAgeyAKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihtb2RlKSB8IG1lcmdlU291cmNlUGFyc2VNb2RlcyhyZXN0Li4uKTsgCisg
ICAgfSAKKworICAgIGNvbnN0IHVuc2lnbmVkIG1fbWFzazsgCit9OyAKKworQUxXQVlTX0lOTElO
RSBib29sIGlzRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7
IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJG
dW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsIAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6Ok1ldGhvZE1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25N
b2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZ
U19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jTWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9k
eU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlz
QXN5bmNBcnJvd0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAor
eyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitB
TFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCgg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitB
TFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFy
c2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNZXRob2RQYXJzZU1vZGUoU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKIHsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFs
dWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFNvdXJjZVBh
cnNlTW9kZVNldCgKKyAgICAgICAgLy8gRklYTUU6IEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1v
ZGUgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgYSBtZXRob2QuCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpHZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUsCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpBc3luY01ldGhvZE1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7CiB9CiAKLWlubGluZSBi
b29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAg
c3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5h
bHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZh
bHNlOwotfQorQUxXQVlTX0lOTElORSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNl
TW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30g
CiAKLWlubGluZSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VN
b2RlKQotewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2Rl
OgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgIHJldHVybiBmYWxzZTsKK0FMV0FZU19JTkxJTkUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1v
ZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsg
Cit9IAorCitBTFdBWVNfSU5MSU5FIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eUZv
clBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgaWYgKHBhcnNl
TW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkgCisgICAgICAgIHJl
dHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5Db25zdHJ1Y3Q7CisKKyAgICByZXR1cm4gQ29uc3Ry
dWN0QWJpbGl0eTo6Q2Fubm90Q29uc3RydWN0OwogfQogCiBpbmxpbmUgYm9vbCBmdW5jdGlvbk5h
bWVJc0luU2NvcGUoY29uc3QgSWRlbnRpZmllciYgbmFtZSwgRnVuY3Rpb25Nb2RlIGZ1bmN0aW9u
TW9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9r
ZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4
IGViMjYzYmIyY2ZiNWQ3NjNhY2VmNzljNjljZDI4ZjgyM2MyYTdlODAuLmQzODk1MzQyMjlkNzk0
OGI2Y2IyZDI4YzQzMDI0MWE1MmU2NjFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJUb2tlbnMuaApAQCAtODMsNiArODMsNyBAQCBlbnVtIEpTVG9rZW5UeXBlIHsK
ICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCiAgICAgU1VQRVIsCisgICAgQVdBSVQsCiAg
ICAgT1BFTkJSQUNFID0gMCwKICAgICBDTE9TRUJSQUNFLAogICAgIE9QRU5QQVJFTiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggMWMwZDE4ZWQ4
NzFhNzIxNDgwZmVhODIxMjA4YTI3N2ZhMmQ4MjY4Ni4uNWFjNjVhYmQwNDU1ZmVmNjc4MWI2NGEw
NzNlYmQ5MjUyYTNjZGViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgICAgICBDbGF1c2VMaXN0
UmVzdWx0LCBDb21tYUV4cHIsIERlc3RydWN0dXJpbmdBc3NpZ25tZW50LAogICAgICAgICBUZW1w
bGF0ZVN0cmluZ1Jlc3VsdCwgVGVtcGxhdGVTdHJpbmdMaXN0UmVzdWx0LAogICAgICAgICBUZW1w
bGF0ZUV4cHJlc3Npb25MaXN0UmVzdWx0LCBUZW1wbGF0ZUV4cHIsCi0gICAgICAgIFRhZ2dlZFRl
bXBsYXRlRXhwciwgWWllbGRFeHByLAorICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxk
RXhwciwgQXdhaXRFeHByLAogICAgICAgICBNb2R1bGVOYW1lUmVzdWx0LAogICAgICAgICBJbXBv
cnRTcGVjaWZpZXJSZXN1bHQsIEltcG9ydFNwZWNpZmllckxpc3RSZXN1bHQsCiAgICAgICAgIEV4
cG9ydFNwZWNpZmllclJlc3VsdCwgRXhwb3J0U3BlY2lmaWVyTGlzdFJlc3VsdApAQCAtMTgyLDgg
KzE4MiwxMCBAQCBwdWJsaWM6CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRW1wdHlMZXRFeHBy
ZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVy
biBBc3NpZ25tZW50RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVlpZWxkKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYpIHsgcmV0dXJuIFlpZWxkRXhwcjsgfQogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZVlpZWxkKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBi
b29sLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBZaWVsZEV4cHI7IH0KKyAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVBd2FpdChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwg
aW50LCBpbnQsIGludCkgeyByZXR1cm4gQXdhaXRFeHByOyB9CiAgICAgQ2xhc3NFeHByZXNzaW9u
IGNyZWF0ZUNsYXNzRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJDbGFz
c0luZm88U3ludGF4Q2hlY2tlcj4mLCBWYXJpYWJsZUVudmlyb25tZW50JiwgRXhwcmVzc2lvblR5
cGUsIEV4cHJlc3Npb25UeXBlLCBQcm9wZXJ0eUxpc3QsIFByb3BlcnR5TGlzdCkgeyByZXR1cm4g
Q2xhc3NFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2Vy
PiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFz
eW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGlu
dCBjcmVhdGVGdW5jdGlvbk1ldGFkYXRhKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3Rv
cktpbmQsIFN1cGVyQmluZGluZywgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCwgSW5u
ZXJBcnJvd0Z1bmN0aW9uQ29kZUZlYXR1cmVzID0gTm9Jbm5lckFycm93RnVuY3Rpb25GZWF0dXJl
cykgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3Jl
YXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVy
biBGdW5jdGlvbkV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25JZGVudGlmaWVycy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBjYmMw
ZmY1NzExZjEuLjczODlmOWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApA
QCAtMTA5LDYgKzEwOSw3IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8oYXMp
IFwKICAgICBtYWNybyhhc3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3JvKGJh
Y2spIFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYgKzI3
Miw3IEBACiAgICAgbWFjcm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJT
X0VBQ0hfS0VZV09SRChtYWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8oYnJl
YWspIFwKICAgICBtYWNybyhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWI5OTJjZWUwY2U2
NmU1MGZhZWYzNmY0NjdlMjdlMWY0ODhlNTk1Mi4uNjI5YmQxN2Y5NGNmYjYyYzU0OGQwZmJkMGQ4
ZjI2ZmQ5NjQ2MWVlZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIg
IDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9m
IEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3RTeW50YXgpOgorICAgICAgICAodGVzdFN5bnRheEVycm9yKToKKyAgICAgICAgKHRlc3RU
b3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAo
dGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUpOgorICAgICAgICAodGVzdFRv
cExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVs
QXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0TmVz
dGVkQXN5bmNBd2FpdFN5bnRheC5hc3luYyk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2Fp
dFN5bnRheC5mb28pOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3Bw
eU1vZGUudGVzdFN5bnRheEVycm9yKToKKwogMjAxNi0wOS0wNiAgU2FhbSBCYXJhdGkgIDxzYmFy
YXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm94eU9iamVjdCdzIHN0cnVjdHVyZSBzaG91bGQg
bm90IGhhdmUgT2JqZWN0UHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUgYW5kIGl0IHNob3VsZCBu
b3QgaGF2ZSBzcGVjaWFsIGJlaGF2aW9yIGZvciBpbnRlcmNlcHRpbmcgIl9fcHJvdG9fXyIKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qcyBiL0pTVGVzdHMv
c3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGE1ZGMyMWRmYjJjODky
YjBiOTJlYWQyZTlkYjM0MDI0N2Q5MTJlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCkBAIC0wLDAgKzEsMjc3IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworZnVuY3Rpb24gdGVzdFN5bnRheChzY3JpcHQpIHsKKyAgICB0cnkgewor
ICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgaWYg
KGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBg
IiArIHNjcmlwdCArICJgIik7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0U3ludGF4RXJyb3Io
c2NyaXB0LCBtZXNzYWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAg
ICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7
CisgICAgfQorICAgIGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0
ZWQgc3ludGF4IGVycm9yIG5vdCB0aHJvd25cbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0
ICsgImAiKTsKKworICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gInN0cmluZyIgJiYgU3RyaW5n
KGVycm9yKSAhPT0gbWVzc2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6
ICIgKyBTdHJpbmcoZXJyb3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAi
YCIpOworfQorCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1v
ZGUoKSB7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsg
YXdhaXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgKCkgPT4gYXdhaXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBh
c3luY0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgo
YGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4
KGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5
bnRheChgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2Ap
OworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9
IH07YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQg
MTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29k
J10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMg
J21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsg
YXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0Zu
ID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5
bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4
KGBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3lu
dGF4KGBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgp
OworCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7
CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFy
IGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdh
aXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVz
dFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMg
WydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKCkgeyBhd2Fp
dCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5
bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyBjbGFzcyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7
CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCco
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNz
IEMgeyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7CisgICAg
dGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9
ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9u
KiBnKCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ug
c3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOwor
fSkoKTsKKworKGZ1bmN0aW9uIHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4KCkgeworICAgIHZh
ciBjb250ZXh0RGF0YSA9IFsKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiBvdXRlckZ1bmN0
aW9uKCkgeyAiLCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiog
b3V0ZXJHZW5lcmF0b3IoKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckZ1bmNFeHByID0gZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJHZW5FeHByID0gZnVuY3Rpb24qKCkgeyAiLCBzdWZm
aXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBvdXRl
ck1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFy
IG91dGVyT2JqZWN0ID0geyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBvdXRl
ck1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFy
IG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xh
c3MgQyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0s
CisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRp
YyAqb3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7ICpvdXRl
ckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
Y2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRp
YyAqb3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogInZhciBvdXRlckFycm93ID0gKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0s
CisgICAgICAgIHsgcHJlZml4OiAiYXN5bmMgZnVuY3Rpb24gb3V0ZXJBc3luY0Z1bmN0aW9uKCkg
eyAiLCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Z1
bmNFeHByID0gYXN5bmMgZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAg
eyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Fycm93RnVuYyA9IGFzeW5jICgpID0+IHsgIiwgc3Vm
Zml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgYXN5
bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsg
cHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IGFzeW5jIG91dGVyQXN5bmNN
ZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBv
dXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mg
b3V0ZXJDbGFzcyB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07
IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgYXN5bmMg
b3V0ZXJTdGF0aWNBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgXTsK
KworICAgIHZhciB0ZXN0RGF0YSA9IFsKKyAgICAgICAgYHZhciBhc3luYyA9IDE7IHJldHVybiBh
c3luYztgLAorICAgICAgICBgbGV0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAg
IGBjb25zdCBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgZnVuY3Rpb24gYXN5
bmMoKSB7fSByZXR1cm4gYXN5bmMoKTtgLAorICAgICAgICBgdmFyIGFzeW5jID0gYXN5bmMgPT4g
YXN5bmM7IHJldHVybiBhc3luYygpO2AsCisgICAgICAgIGBmdW5jdGlvbiBmb28oKSB7IHZhciBh
d2FpdCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiBmb28oYXdhaXQp
IHsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oKSB7IHZhciBhd2Fp
dCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiogZm9vKGF3YWl0KSB7
IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGB2YXIgZiA9ICgpID0+IHsgdmFyIGF3YWl0ID0g
MTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoKSB7IHZhciBh
d2FpdCA9IDE7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9k
KGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhv
ZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBP
ID0geyAqbWV0aG9kKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisKKyAgICAgICAgYChm
dW5jdGlvbiBhd2FpdCgpIHt9KWAsCisgICAgXTsKKworICAgIGZvciAobGV0IGNvbnRleHQgb2Yg
Y29udGV4dERhdGEpIHsKKyAgICAgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0RGF0YSkgeworICAg
ICAgICAgICAgbGV0IHNjcmlwdCA9IGNvbnRleHQucHJlZml4ICsgdGVzdCArIGNvbnRleHQuc3Vm
Zml4OworICAgICAgICAgICAgdGVzdFN5bnRheChzY3JpcHQpOworICAgICAgICAgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyAke3NjcmlwdH1gKTsKKyAgICAgICAgfQorICAgIH0KK30pKCk7
CisKKworKGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkg
eworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2Fp
dCgpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+
IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0Zu
ID0gYXN5bmMgKCkgPT4geyB2YXIgYXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3
aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0g
YXN5bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBm
dW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICAvLyBG
SVhNRTogTWV0aG9kRGVmaW5pdGlvbnMgZG8gbm90IGFwcGx5IFN0cmljdEZvcm1hbFBhcmFtZXRl
cnMgcmVzdHJpY3Rpb25zCisgICAgLy8gICAgICAgIGluIHNsb3BweSBtb2RlIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA4KQorICAgIC8vdGVzdFN5bnRheEVy
cm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAg
Ly90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdv
ZCddKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3Io
YHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgMChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1l
dGhvZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgKmFz
eW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBP
ID0geyBhc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJl
dHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBmKHggPSBh
d2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFz
eW5jKHggPSBhd2FpdCAxKSA9PiB4O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7
IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVz
dFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93
Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlv
biogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4g
MTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkg
eyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93
Rm4gPSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGBjbGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3Rvcigp
IHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJv
dG90eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3Mg
QzIgZXh0ZW5kcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRl
c3RTeW50YXhFcnJvcihgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+
IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChh
c3luYy5mb285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28x
MCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luY1snZm9vMTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClb
J2ZvbzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydm
b28yMSddICgpID0+IDFgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yMmAgPT4g
MSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yM2AgZm9vMjQgPT4gMSkiKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yNWAgKCkgPT4gMSkiKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoIihhc3luY2Bmb28yNmAuYmFyMjcgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoIihhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoIihhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSkiKTsKKworICAgIC8vIGFzc2VydCB0
aGF0IGVycm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4g
YXN5bmMgZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiBhc3luYygpIHt9
CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworfSkoKTsKKwor
KGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uIGF3YWl0KCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IGFzeW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIg
YXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBhc3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihh
d2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5j
Rm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0
JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24g
YXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGF3YWl0KSB7fWApOworCisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEp
IHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2Jq
ZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2Qn
KGEsIGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91
dGVyT2JqZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsK
KworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IGZ1bmN0aW9uKigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFz
eW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBPID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7
fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5
bmMgKmFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9
IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7
IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBm
ID0gYXN5bmMoeCA9IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7
IH0gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiog
b3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdl
bmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRv
cigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3Io
KSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1
Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3Mg
QyB7fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMg
cHJvdG90eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBj
bGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkg
e30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5
bmMoKSA9PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlx
dWUgRmVycmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBm
b280KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzYgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzcgZm9vOCA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vOSAoKSA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28x
MCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5m
b28xMSBmb28xMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAo
YXN5bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTcnXSAoKSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9v
MjEnXSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5
bmNgZm9vMjJgID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChh
c3luY2Bmb28yM2AgZm9vMjQgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jYGZvbzI1YCAoKSA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVz
ZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjZgLmJhcjI3ID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVy
cm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSknKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9
PiAxKScpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9y
IGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAg
ICAgICAgYXN5bmMoeyBmb28zMyA9IDEgfSlgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2Qn
XShldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyAnbWV0aG9kJyhldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKGV2YWwpIHt9IH1gKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGFyZ3VtZW50
cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsg
YXN5bmMgWydtZXRoJyArICdvZCddKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoYXJndW1lbnRzKSB7
fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3lu
YyAwKGFyZ3VtZW50cykge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoZHVwZSwgZHVwZSkge30gfWApOworfSkoKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288528</attachid>
            <date>2016-09-11 08:15:44 -0700</date>
            <delta_ts>2016-09-19 17:02:09 -0700</delta_ts>
            <desc>Async Function Parsing v4</desc>
            <filename>bug-161409-20160911111312.patch</filename>
            <type>text/plain</type>
            <size>118935</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZjNmYmRjOTRkMDFlY2MzZjQ1MWM1OTYyNzc1N2JkZmQ5ZmNiYjQyLi4zMjUyMzFiMGY0ZDc1NTNm
ZWIxOGI3ODFiMjhiMGJkY2U1OTRmNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgQ2F0Y2hTY29wZSBhbmQgZm9yY2UgYWxsIGV4Y2VwdGlvbiBjaGVja3MgdG8g
YmUgdmlhIFRocm93U2NvcGUgb3IgQ2F0Y2hTY29wZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3Bw
CmluZGV4IDA1NGQ2M2RmNTlhNzg0NzU1YjliYWU3ZmVkMmNkNzZiNTgwYzAyOWMuLmYwMjhkNDg4
MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1YTc2OGNkMzM0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcApAQCAtODksNiArODksNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV90
eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5vZGUtPnNv
dXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+cGFyYW1l
dGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFyc2VNb2Rl
KG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2RlLT5pc0lu
U3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxzZSkKICAg
ICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5jdGlvbikK
QEAgLTk4LDcgKzk5LDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICAsIG1fY29tbWVu
dE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSkKICAgICAsIG1fc3VwZXJC
aW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpCiAgICAg
LCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRl
eHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAgICAsIG1f
ZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5vZGUtPmlu
ZmVycmVkTmFtZSgpKQpAQCAtMTEyLDcgKzExMiw2IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRh
YmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0
CiAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1l
bnRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRDb250ZXh0
VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7Ci0gICAg
QVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5w
YXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2FwKHBhcmVu
dFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXggMWUzY2Jh
ZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUzMi4uODlhYWI4YWJmNzE3MWU4ZDQ5OGNi
NWFjMzE4NzQyZGM3MzA1NzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTE1NSw2ICsx
NTUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9mZnNldDsK
ICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1
cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1bnNpZ25l
ZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFy
aWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsKQEAgLTE2
NCw3ICsxNjUsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29tbWVudE1vZGU6IDE7IC8v
IEpTUGFyc2VyQ29tbWVudE1vZGUKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6IDE7CiAg
ICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGU6IDI7Ci0gICAgdW5zaWduZWQgbV9zb3Vy
Y2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJzZU1vZGUKIAogICAgIFdyaXRlQmFycmllcjxV
bmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ2FsbDsKICAg
ICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVC
bG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMjAwOTU0MzY4NGQ2MGUxMTBi
M2JlODliMDNhMTFkMDI4NWUxMzFjMi4uMWYyZTE3MzU1NDQzMjZlMzM2YTE2NzlkMThmNGU3NGNj
YTE5ZDZmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI5NzcsMTcgKzI5NzcsMTQgQEAgUmVnaXN0
ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0
ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEFycm93RnVuY0V4cHJO
b2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlKTsKKyAgICBBU1NFUlQoZnVuYy0+
bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25D
b21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQogCiBSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24oUmVnaXN0
ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9kZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVu
Yy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRh
ZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUKLSAgICAg
ICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpN
ZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRob2RQYXJzZU1vZGUoZnVuYy0+bWV0YWRhdGEo
KS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRz
dCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBiY2Rh
YTI3MmNiOTUwODU4NjA4Y2EyYTc1N2Y3YzQ2NGU0NzZkZmY1Li41NmE0NGI1MmZhNDYwYzBlNGRi
YzExZTliYjM4MTY0ZjdlZGE5OWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zNDYyLDYgKzM0NjIsMTggQEAgUmVn
aXN0ZXJJRCogWWllbGRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRNb3ZlKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHZhbHVlLmdldCgpKTsKIH0KIAorLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEF3YWl0RXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gYXJnID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGdl
bmVyYXRvci5lbWl0Tm9kZShhcmcuZ2V0KCksIGFyZ3VtZW50KCkpOworICAgIFJlZlB0cjxSZWdp
c3RlcklEPiB2YWx1ZSA9IGdlbmVyYXRvci5lbWl0WWllbGQoYXJnLmdldCgpKTsKKyAgICBpZiAo
ZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRp
b24oZHN0KSwgdmFsdWUuZ2V0KCkpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
dm9pZCBDbGFzc0RlY2xOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3MDAxLi5m
ZGJkMmY0ODQyMjg5OTBhNDA3NTBhZjc3NWMxMjNjZjBmYmM5ZjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzY3LDYgKzM2NywxNCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KIAorICAgIEF3YWl0RXhwck5vZGUqIGNyZWF0
ZUF3YWl0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBh
cmd1bWVudCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlv
biYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCisgICAgeworICAgICAgICBBU1NF
UlQoYXJndW1lbnQpOworICAgICAgICBBd2FpdEV4cHJOb2RlKiBub2RlID0gbmV3IChtX3BhcnNl
ckFyZW5hKSBBd2FpdEV4cHJOb2RlKGxvY2F0aW9uLCBhcmd1bWVudCk7CisgICAgICAgIHNldEV4
Y2VwdGlvbkxvY2F0aW9uKG5vZGUsIHN0YXJ0LCBkaXZvdCwgZW5kKTsKKyAgICAgICAgcmV0dXJu
IG5vZGU7CisgICAgfQorCiAgICAgQ2xhc3NFeHByTm9kZSogY3JlYXRlQ2xhc3NFeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxBU1RCdWls
ZGVyPiYgY2xhc3NJbmZvLCBWYXJpYWJsZUVudmlyb25tZW50JiBjbGFzc0Vudmlyb25tZW50LCBF
eHByZXNzaW9uTm9kZSogY29uc3RydWN0b3IsCiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBwYXJl
bnRDbGFzcywgUHJvcGVydHlMaXN0Tm9kZSogaW5zdGFuY2VNZXRob2RzLCBQcm9wZXJ0eUxpc3RO
b2RlKiBzdGF0aWNNZXRob2RzKQogICAgIHsKQEAgLTM4Miw2ICszOTAsMTcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSkKKyAgICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAgICAgU291
cmNlQ29kZSBzb3VyY2UgPSBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rpb25JbmZv
LnN0YXJ0T2Zmc2V0LCBmdW5jdGlvbkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24oKSA/IGZ1bmN0aW9uSW5mby5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZvLmVuZE9m
ZnNldCwgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlcnNTdGFy
dENvbHVtbik7CisgICAgICAgICAgICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJz
ZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0
aW9uSW5mby5ib2R5LCBzb3VyY2UpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJvZHktPnNl
dExvYyhmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwgbG9jYXRp
b24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lvbk5vZGUq
IGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8pCiAgICAg
ewogICAgICAgICBNZXRob2REZWZpbml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBNZXRob2REZWZpbml0aW9uTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5uYW1lLCBm
dW5jdGlvbkluZm8uYm9keSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvS2V5d29yZHMudGFibGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRz
LnRhYmxlCmluZGV4IDQ1ODJkMDBhYWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVkMmEuLjJm
N2RmYzU1YzBkYThjMDMxZDY2NDMyMTM2ZTc0ODg4YmJiY2Y5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1ZQkJVFJV
RVRPS0VOCiBmYWxzZQkJRkFMU0VUT0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQgICAgICAgQVdB
SVQKIGJyZWFrCQlCUkVBSwogY2FzZQkJQ0FTRQogY2F0Y2gJCUNBVENICmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDY5YjQ0MjhlODc5
Y2E4MDBlOWNhMWI4N2IzNjJhMjM3MDg4NzdiYzYuLmMxZDU0N2JjN2Y5MDFjMDZjNjUzOTg2Mjg5
ZDM1YjU0NTIwNTAzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oCkBAIC05MzgsNiArOTM4LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IHsKICAgICB9CiAKKyAgICBpbmxpbmUgQXdhaXRFeHByTm9kZTo6QXdhaXRFeHByTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpCisg
ICAgICAgIDogRXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCisgICAgICAgICwgbV9hcmd1bWVudChh
cmd1bWVudCkKKyAgICB7CisgICAgfQorCiAgICAgaW5saW5lIENsYXNzRGVjbE5vZGU6OkNsYXNz
RGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUq
IGNsYXNzRGVjbGFyYXRpb24pCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAg
ICAgICAgLCBtX2NsYXNzRGVjbGFyYXRpb24oY2xhc3NEZWNsYXJhdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA1OGUyNzQ1M2RkMDA1Mzc2NzAzYmQzODM3OTViNGEw
MTEzNWY4NjA0Li5iMGM0OTdhMGVlYjU3NzhkMGVlZmY3ZjI1NDdiMzgyZjE0ZDk2YTVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0yMDA3LDYgKzIwMDcsMTggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbV9kZWxlZ2F0ZTsKICAgICB9OwogCisgICAgY2xh
c3MgQXdhaXRFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRo
cm93YWJsZUV4cHJlc3Npb25EYXRhIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEF3YWl0RXhwck5v
ZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50KTsKKwor
ICAgICAgICBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2FyZ3Vt
ZW50OyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisgICAgICAg
IEV4cHJlc3Npb25Ob2RlKiBtX2FyZ3VtZW50OworICAgIH07CisKICAgICBjbGFzcyBDbGFzc0V4
cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVmFyaWFibGVFbnZp
cm9ubWVudE5vZGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdXNpbmcgUGFyc2VyQXJlbmFEZWxl
dGFibGU6Om9wZXJhdG9yIG5ldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cAppbmRleCAyNjE3NDVhMTkwMzE3ZGU3NTkxMmUzYTkyM2ZhOWYyODg3NDg2M2Q2Li40MTM2ZjQ0
MjRjNjcyYjBiNzgxZWJkMGVhNDA0OTExYmY5MTUwOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFudGljRmFp
bCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAi
LCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5G
bGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29yZCAnIiwg
Z2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNEaXNhbGxv
d2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fu
J3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlu
bmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBzY29w
ZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhh
c2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJz
ZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhlci0+aXNS
ZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKFNvdXJjZVBhcnNlTW9kZVNldChT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpIHx8
IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAgICAgIG1f
cGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVuY3Rpb25J
bmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9wYXJhbWV0
ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBmdW5jdGlv
bkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAoU291cmNlUGFyc2VN
b2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAhaGFzRXJy
b3IoKSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUgYW4gZXJy
b3Igd2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4KICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAgICAgICAg
IG5leHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAg
ICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAvLyBUaGUg
b25seSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBhIGZ1bmN0
aW9uIGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJyb3IoKSkg
ewotICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgIGlm
IChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAgICAgICAg
ICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNrRm9yU3Ry
aWN0TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
KQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVF
eHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNlIGlmIChp
c01vZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMg
PSBwYXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNlRWxlbWVu
dHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tG
b3JTdHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzb3VyY2VF
bGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2Rl
KTsKLSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291cmNlRWxl
bWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNlRWxlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CiAg
ICAgfQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAgLTMxMCw3
ICszMTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRl
bnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYgZW50cnkg
OiBjYXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtWYXJpYWJs
ZUFzQ2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoU291cmNlUGFyc2VN
b2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29u
dGFpbnMocGFyc2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNl
TW9kZSkpIHsKICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+
cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250ZXh0LnBy
b3BhZ2F0ZUFyZ3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBAIHZvaWQg
UGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJj
ZUVsZW1lbnRzLCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0gICAgYm9v
bCBpc09wZW5QYXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50ID0gbWF0
Y2goSURFTlQpOwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Ci0g
ICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
LSAgICAgICAgCi0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBp
c0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBSRUxFQVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVT
YXZlUG9pbnQoKTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlv
biA9IGZhbHNlOwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJ
T04pOwpAQCAtMzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJv
d0Z1bmN0aW9uUGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtZXRlcnND
b3VudCA9IDA7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMoc3ludGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJM
aXN0KCksIHBhcmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBtYXRjaChB
UlJPV0ZVTkNUSU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9wU2NvcGUo
ZmFrZVNjb3BlLCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAgICAgICAg
IH0KKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAg
ICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAgIHJldHVy
biBpc0Fycm93RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7Cisg
ICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBtYXRj
aChBUlJPV0ZVTkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9CisKKyAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CkBAIC01
NDAsNiArNTM5LDUwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIGJv
b2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
KQoreworICAgIEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9k
ZSkpOworICAgIGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1l
bnRzKCk7CisKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQo
KTsKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwor
ICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgdW5z
aWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlvbk5hbWVT
dGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJhbWV0ZXJz
KGNvbnRleHQsIGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZzZXQgPSBw
YXJhbWV0ZXJzU3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBT
b3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbkJvZHlNb2RlOworICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGFzeW5j
RnVuY3Rpb25Cb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3luY0Z1bmN0
aW9uQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOworICAgICAg
ICBTeW50YXhDaGVja2VyIGFzeW5jRnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0qPihtX3Zt
KSwgbV9sZXhlci5nZXQoKSk7CisgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbikKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4
cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAiQ2Fubm90
IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlv
bkNvbnRleHQsIG1vZGUpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1bmN0aW9u
Iik7CisgICAgICAgIHBvcFNjb3BlKGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVCdWlsZGVy
OjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBjb250ZXh0
LmNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBz
dGFydENvbHVtbiwgdG9rZW5Db2x1bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBtX3N1cGVyQmluZGluZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQYXJzZU1v
ZGUsIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5kTGluZSA9
IHRva2VuTGluZSgpOworICAgIGluZm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24gPyB0b2tlbkxvY2F0aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2RhdGEub2Zm
c2V0OworICAgIGluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47CisKKyAg
ICBhdXRvIGZ1bmN0aW9uRXhwciA9IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgaW5mbywgaW5uZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVtZW50ID0g
Y29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9uRXhwciwg
c3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5hcHBlbmRT
dGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4gc291cmNl
RWxlbWVudHM7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIq
JiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewogICAgIC8v
IFRoZSBncmFtbWFyIGlzIGRvY3VtZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDUsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVuZGVyIGEg
Z2VuZXJhdG9yIGNvbnRleHQsIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxkIiByZXR1
cm5zIGBmYWxzZWAuCiAgICAgICAgICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBlbnRlciBw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRoZSBjb250
ZXh0IG9mIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8gcmFpc2Ug
Y29uc2lzdGVudCBlcnJvcnMgYmV0d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIuCi0gICAg
ICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkp
ICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAgICAgICAg
ICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkgfHwgbWF0
Y2goQVdBSVQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQog
ICAgICAgICAgICAgICAgIHNob3VsZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZhbHNlOwog
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9CkBAIC01
ODIsNiArNjI1LDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBJREVOVDoKKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBPcHRpb25zOjp1c2VBc3luY0Z1bmN0aW9u
cygpKSkgeworICAgICAgICAgICAgLy8gRWFnZXJseSBwYXJzZSBhcyBBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24uIFRoaXMgaXMgdGhlIHVuY29tbW9uIGNhc2UsCisgICAgICAgICAgICAvLyBidXQg
Y291bGQgYmUgbWlzdGFrZW5seSBwYXJzZWQgYXMgYW4gQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24u
CisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goRlVOQ1RJ
T04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAgICAgICAgICAgICAgIHJl
c3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2lu
dChzYXZlUG9pbnQpOworICAgICAgICB9CisgICAgICAgIEZBTExUSFJPVUdIOworICAgIGNhc2Ug
QVdBSVQ6CiAgICAgY2FzZSBZSUVMRDogewogICAgICAgICAvLyBUaGlzIGlzIGEgY29udmVuaWVu
dCBwbGFjZSB0byBub3RpY2UgbGFiZWxlZCBzdGF0ZW1lbnRzCiAgICAgICAgIC8vIChldmVuIHRo
b3VnaCB3ZSBhbHNvIHBhcnNlIHRoZW0gYXMgbm9ybWFsIHN0YXRlbWVudHMpCkBAIC02OTAsNiAr
NzQ2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2wKICAgICAgICAgaWYgKG1hdGNoU3BlY0lk
ZW50aWZpZXIoKSkgewogICAgICAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChMRVQpICYmIChkZWNs
YXJhdGlvblR5cGUgPT0gRGVjbGFyYXRpb25UeXBlOjpMZXREZWNsYXJhdGlvbiB8fCBkZWNsYXJh
dGlvblR5cGUgPT0gRGVjbGFyYXRpb25UeXBlOjpDb25zdERlY2xhcmF0aW9uKSwgCiAgICAgICAg
ICAgICAgICAgIkNhbid0IHVzZSAnbGV0JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4
aWNhbERlY2xhcmF0aW9uIik7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAi
LCBkZWNsYXJhdGlvblR5cGVUb1ZhcmlhYmxlS2luZChkZWNsYXJhdGlvblR5cGUpLCAiICIsIGRp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CiAgICAgICAgICAgICBKU1RleHRQb3Np
dGlvbiB2YXJTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIHZhclN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgICAg
IGlkZW50U3RhcnQgPSB2YXJTdGFydDsKQEAgLTEwMTEsNiArMTA2OCw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjbGFzc2lmeUV4cHJl
c3Npb25FcnJvcihFcnJvckluZGljYXRlc1BhdHRlcm4sIEVycm9ySW5kaWNhdGVzTm90aGluZyk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoaXNFdmFsT3JBcmd1
bWVudHMsICJDYW5ub3QgbW9kaWZ5ICciLCBwcm9wZXJ0eU5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBz
ZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KGlkZW50aWZpZXJU
b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJp
YWJsZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24o
KSk7CiAgICAgICAgICAgICAgICAgICAgIGlubmVyUGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0
ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICpwcm9wZXJ0eU5hbWUsIGlkZW50aWZpZXJU
b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xMDc5LDYgKzExMzcsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBh
IHBhcmFtZXRlciBwYXR0ZXJuIG9yIGEgJyknIGluIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgICAg
IH0KICAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChMRVQpICYmIChraW5kID09IERlc3RydWN0dXJp
bmdLaW5kOjpEZXN0cnVjdHVyZVRvTGV0IHx8IGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRl
c3RydWN0dXJlVG9Db25zdCksICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRpZmllciBuYW1l
IGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUo
aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcg
YXMgYSAiLCBkZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBk
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICBwYXR0ZXJuID0gY3Jl
YXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKm1fdG9rZW4ubV9k
YXRhLmlkZW50LCBtX3Rva2VuLCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRlbnRpZmllcik7
CiAgICAgICAgIG5leHQoKTsKICAgICAgICAgYnJlYWs7CkBAIC0xNjMxLDQzICsxNjkwLDggQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgcmVzdWx0ID0gcGFyc2VWYXJpYWJsZURl
Y2xhcmF0aW9uKGNvbnRleHQsIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRpb24pOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIEZVTkNUSU9OOiB7Ci0gICAgICAgIGlmICghc3RyaWN0TW9k
ZSgpKSB7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dl
ZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3Jh
bSIpOwotICAgICAgICAgICAgaWYgKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkpIHsKLSAg
ICAgICAgICAgICAgICAvLyBBbnkgZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24ndCBpbiBh
IGJsb2NrIGlzIGEgc3ludGF4IGVycm9yIHVubGVzcyBpdCdzCi0gICAgICAgICAgICAgICAgLy8g
aW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQuIElmIGl0J3MgaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQs
IHdlIHdpbGwgbWFnaWNhbGx5Ci0gICAgICAgICAgICAgICAgLy8gdHJlYXQgaXQgYXMgaWYgdGhl
IGlmL2Vsc2Ugc3RhdGVtZW50IGlzIGluc2lkZSBhIGJsb2NrIHN0YXRlbWVudC4KLSAgICAgICAg
ICAgICAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlrZSBhICJ2YXIiLiBGb3IgZXhhbXBsZToKLSAg
ICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAgICBp
ZiAoY29uZCkgZnVuY3Rpb24gZm9vKCkgeyB9Ci0gICAgICAgICAgICAgICAgLy8gfQotICAgICAg
ICAgICAgICAgIC8vIHdpbGwgYmUgcmV3cml0dGVuIGFzOgotICAgICAgICAgICAgICAgIC8vIGZ1
bmN0aW9uIGEoKSB7Ci0gICAgICAgICAgICAgICAgLy8gICAgIGlmIChjb25kKSB7IGZ1bmN0aW9u
IGZvbygpIHsgfSB9Ci0gICAgICAgICAgICAgICAgLy8gfQotICAgICAgICAgICAgICAgIEF1dG9Q
b3BTY29wZVJlZiBibG9ja1Njb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICAgICAgICAgICAg
ICBibG9ja1Njb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOwotICAgICAgICAgICAgICAgIGJsb2Nr
U2NvcGUtPnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKLSAgICAgICAgICAgICAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKLSAgICAgICAgICAgICAgICBpbnQg
c3RhcnQgPSB0b2tlbkxpbmUoKTsKLQotICAgICAgICAgICAgICAgIFRyZWVTdGF0ZW1lbnQgZnVu
Y3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICAg
ICAgcHJvcGFnYXRlRXJyb3IoKTsKLSAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShmdW5jdGlv
biwgIkV4cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtl
eXdvcmQiKTsKLSAgICAgICAgICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVu
dHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7Ci0gICAgICAgICAgICAgICAgY29u
dGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0aW9uKTsKLSAgICAgICAg
ICAgICAgICByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUJsb2NrU3RhdGVtZW50KGxvY2F0aW9uLCBz
b3VyY2VFbGVtZW50cywgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSwgY3VycmVu
dFNjb3BlKCktPmZpbmFsaXplTGV4aWNhbEVudmlyb25tZW50KCksIGN1cnJlbnRTY29wZSgpLT50
YWtlRnVuY3Rpb25EZWNsYXJhdGlvbnMoKSk7Ci0gICAgICAgICAgICAgICAgcG9wU2NvcGUoYmxv
Y2tTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgaW1wbGVtZW50IGFubmV4IEIu
My4zIGlmIHdlJ3JlIGluIGZ1bmN0aW9uIG1vZGUuIE90aGVyd2lzZSwgd2UgZmFsbCBiYWNrCi0g
ICAgICAgICAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZpb3IuCi0gICAgICAgICAgICAgICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMK
LSAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOwotICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwotICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkZ1
bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mgb3Igc3dp
dGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICAgICAgY29uc3QgYm9vbCBpc0Fz
eW5jID0gZmFsc2U7CisgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0
YXRlbWVudChjb250ZXh0LCBpc0FzeW5jLCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9u
QXNTdGF0ZW1lbnQpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBTRU1JQ09MT046
IHsKQEAgLTE3MTksNiArMTc0MywxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAg
ICAvLyBUaGVzZSB0b2tlbnMgaW1wbHkgdGhlIGVuZCBvZiBhIHNldCBvZiBzb3VyY2UgZWxlbWVu
dHMKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBJREVOVDoKKyAgICAgICAgaWYgKFVOTElL
RUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAm
JiBPcHRpb25zOjp1c2VBc3luY0Z1bmN0aW9ucygpICYmIG1heWJlUGFyc2VBc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgcmVzdWx0LCBwYXJlbnRBbGxvd3NGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBG
QUxMVEhST1VHSDsKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAg
Ym9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZhbHNlOwogICAgICAg
ICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNvbnRleHQsIGFsbG93
RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiArMTc3Miw2OCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9u
QXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmljdE1vZGUoKSwgIkZ1
bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mgb3Igc3dp
dGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxzZShwYXJlbnRB
bGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNsYXJhdGlv
bnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0aGUgdG9w
IGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3VycmVudFNjb3BlKCktPmlzRnVuY3Rp
b24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdy
ZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjaworICAgICAgICAvLyB0
byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRl
bWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9
IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICByZXR1cm4gcGFyc2VGdW5jdGlv
bkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAgIC8vIEFueSBmdW5jdGlvbiBkZWNs
YXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0
J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNl
IHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUg
aWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgorICAgIC8vIHRv
IHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgorICAgIC8vIGZ1bmN0aW9u
IGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KKyAgICAvLyB9
CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24gYSgpIHsKKyAg
ICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAgICAvLyB9CisgICAg
QXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGJsb2Nr
U2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRl
Y2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOworCisgICAgVHJlZVN0YXRlbWVudCBm
dW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNl
RnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNlCisgICAgICAgIGZ1bmN0aW9u
ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgcHJvcGFnYXRl
RXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZhbGlkIGZ1bmN0
aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAgICBUcmVlU291cmNl
RWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7
CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0aW9uKTsK
KyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQo
bG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5s
aW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVu
dFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBwb3BTY29wZShibG9j
a1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3Rh
dGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3Rh
dGVtZW50KQoreworICAgIEFTU0VSVCgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+YXN5bmMpOworICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhl
ci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSB0cnVl
OworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29u
dGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2
ZVBvaW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZUZvcm1h
bFBhcmFtZXRlckxpc3QgbGlzdCwgdW5zaWduZWQmIHBhcmFtZXRlckNvdW50KQogewogI2RlZmlu
ZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xhdGlvbigpIFwKQEAgLTE3NjUsNiArMTg1NSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
b3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAgICAgICAgIAogICAgICAgICBpZiAobWF0Y2goRE9URE9U
RE9UKSkgewogICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZU
cnVlKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgJiYgbWF0Y2goQVdBSVQpLCAiQ2FuJ3QgdXNl
ICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIpOwogICAg
ICAgICAgICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRlc3RydWN0dXJpbmdQYXR0ZXJuID0g
cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZDo6RGVz
dHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCAmZHVwbGljYXRl
UGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOwogICAgICAgICAgICAgcHJvcGFn
YXRlRXJyb3IoKTsKICAgICAgICAgICAgIHBhcmFtZXRlciA9IGNvbnRleHQuY3JlYXRlUmVzdFBh
cmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1ldGVyQ291bnQpOwpAQCAtMTgyOSw2
ICsxOTIwLDE0IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291
cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiAiZ2VuZXJhdG9yIGZ1bmN0aW9uIjsK
ICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6CiAgICAgICAgIHJl
dHVybiAiYXJyb3cgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlN
b2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIG1ldGhvZCI7
CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgor
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAg
ICByZXR1cm4gImFzeW5jIGFycm93IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVN
b2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0x
ODQxLDEyICsxOTQwLDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlciwgY2xhc3MgRnVuY3Rpb25JbmZvVHlwZT4gdHlw
ZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VQYXJz
ZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rpb25JbmZvKQogewotICAgIFJFTEVB
U0VfQVNTRVJUKG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSAmJiBtb2RlICE9
IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJz
ZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShTb3VyY2VQ
YXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpNb2R1bGVBbmFseXplTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUp
LmNvbnRhaW5zKG1vZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyYW1ldGVy
TGlzdCA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNldEZvclNj
b3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJz
ZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVy
cyk7CiAgICAgCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSkgewotICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkg
eworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6
QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9k
ZSkuY29udGFpbnMobW9kZSkpKSkgeworICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50aWZpZXIo
KSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVl
VG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAg
ICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBh
cmFtZXRlciIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTkzNyw3ICsyMDM2LDkgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNj
b3BlKCk7CiAKLSAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgp
LT5pc0dlbmVyYXRvcigpOworICAgIGJvb2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUg
PSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbik7CisgICAgY29uc3QgY2hhciog
aXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRBd2FpdEZ1
bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7
CisKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7
CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAgIGZ1bmN0
aW9uU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsK
QEAgLTE5NzksNyArMjA4MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAg
ICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0
T2Zmc2V0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5j
dGlvbkJvZHlUeXBlOwotICAgICAgICAgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShTb3VyY2VQYXJzZU1v
ZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCiAgICAgICAgICAgICAg
ICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/
ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFu
ZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpAQCAtMjAyMiw3ICsyMTIzLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKIAogICAgIFN5bnRheENoZWNrZXIgc3ludGF4Q2hlY2tlcihjb25zdF9jYXN0
PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFy
c2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgewogICAgICAg
ICBzdGFydExvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgICAgICBmdW5jdGlvbkluZm8u
c3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CiAgICAgICAgIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKQEAgLTIwMzcsNyArMjEzOCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
ICAgIHsKICAgICAgICAgICAgIC8vIFBhcnNlIGZvcm1hbCBwYXJhbWV0ZXJzIHdpdGggWytZaWVs
ZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4gb3JkZXIgdG8gYmFuIFlpZWxkRXhwcmVzc2lvbnMKICAg
ICAgICAgICAgIC8vIGluIEFycm93Rm9ybWFsUGFyYW1ldGVycywgcGVyIEVTNiAjc2VjLWFycm93
LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzLgotICAg
ICAgICAgICAgU2NvcGU6Ok1heWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5l
cmF0b3IoZnVuY3Rpb25TY29wZSwgdXBwZXJTY29wZUlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAg
IFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1
bmN0aW9uU2NvcGUsIHBhcmVudFNjb3BlLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgICAgIFNl
dEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdh
aXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9kZSkpOwogICAgICAgICAgICAgcGFyc2VG
dW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKICAg
ICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgIH0KQEAgLTIwNjksMjEgKzIxNzEs
MjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgLy8gR2VuZXJhdG9yRXhwcmVz
c2lvbiA6CiAgICAgICAgIC8vICAgICBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyW1lpZWxk
XW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNbWWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0KICAgICAg
ICAgLy8KLSAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2Nl
cHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KLSAgICAgICAgaWYg
KGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVz
c2lvbiAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAg
ICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIC8vIFRoZSBu
YW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gY2Fu
IGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgorICAgICAg
ICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBpZiAoIShmdW5j
dGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24g
JiYgU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCisg
ICAgICAgICAgICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1cHBlclNjb3BlKDEpLT5pc0dlbmVy
YXRvcigpOwogCiAgICAgICAgIGlmIChyZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWly
ZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCEocmVx
dWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSAmJiAhZnVuY3Rpb25J
bmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9u
ZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGZ1bmN0aW9uSW5mby5uYW1lIHdpdGggdGhlIGRlZmF1
bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBzaWRlLiIpOwogICAgICAgICAgICAgaWYgKG1hdGNoU3Bl
Y0lkZW50aWZpZXIodXBwZXJTY29wZUlzR2VuZXJhdG9yKSkgewogICAgICAgICAgICAgICAgIGZ1
bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICAgICAg
bV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JbmZvLm5hbWU7CisgICAg
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lKSkK
KyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uRGVmaW5pdGlv
blR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24gfHwgaXNBc3luY0Z1
bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0aW9uIG5h
bWVkICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pOworICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9k
ZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25E
ZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsKCJDYW5ub3QgZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnIik7CiAgICAg
ICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWlu
aW5nU2NvcGUpCiAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChmdW5jdGlv
blNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5uYW1lKSAmIERlY2xhcmF0aW9uUmVz
dWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAi
JyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBp
biBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0g
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZCkgewotICAgICAgICAgICAgICAgIGlmICht
YXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlv
bk1vZGUpCi0gICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVt
ZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsICJGdW5jdGlvbiBzdGF0ZW1lbnRz
IG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZU
cnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgIkFzeW5jIGZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4
cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTAxLDgg
KzIyMTAsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBpZiAobG9hZENh
Y2hlZEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcGFyc2VG
dW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKLSAg
ICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgeworICAgICAgICAgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlz
QXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CisgICAgICAgICAgICBwYXJzZUZ1bmN0aW9u
UGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOworICAgICAgICAg
ICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgbWF0Y2hP
ckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9m
IGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKICAgICAgICAgCkBA
IC0yMTQ5LDkgKzIyNjEsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcmV0
dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRheENoZWNrZXIsIHN0YXJ0TG9jYXRp
b24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBleHBlY3RlZFN1cGVyQmluZGluZywg
ZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50LCBtb2RlKTsKICAg
ICB9OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUo
bW9kZSkpIHsKICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGdlbmVyYXRvckJvZHlTY29wZSh0aGlz
LCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNlUGFy
c2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpOworICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJv
ZHlNb2RlOworICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2Rl
KSkgeworICAgICAgICAgICAgaW5uZXJQYXJzZU1vZGUgPSBtb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICAgICAgICAgID8gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICAgICAgICAgIDogU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgICAgIH0KKyAgICAgICAgZ2Vu
ZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwogICAg
ICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldENvbnN0cnVjdG9yS2luZChDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldEV4cGVjdGVkU3VwZXJC
aW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKIApAQCAtMjE3MCw3ICsyMjg4LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChmdW5jdGlvbklu
Zm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICBpZiAoZnVuY3Rpb25TY29w
ZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVu
dHM6OlVubmFtZWQpIHsKICAgICAgICAgQVNTRVJUKGZ1bmN0aW9uSW5mby5uYW1lKTsKLSAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9u
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSB8fCBtb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoU291cmNlUGFy
c2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJz
ZU1vZGU6Ok1ldGhvZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9u
V3JhcHBlclBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1
bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUg
aW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5u
YW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1v
ZGUiKTsKICAgICB9CkBAIC0yMjg1LDYgKzI0MDMsNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVj
bGEKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1
bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0
VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0
KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2Rl
ID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVS
ZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1l
ZDsKKyAgICBpZiAoZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0
IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUg
dGhlIGZ1bmN0aW9uIG5hbWUuCisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNs
YXJhdGlvbjoKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBv
cnQgZGVmYXVsdCBIb2lzdGFibGVEZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAg
ICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVj
bGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVj
bGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JE
ZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAg
RnVuY3Rpb25EZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAg
Li4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFt
ZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAg
ICAgICAvLyAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAg
ICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24g
KiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAg
IC8vCisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMg
ZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0g
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5h
bWUoKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbklu
Zm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBhc3luYyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1l
LCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBz
dGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJh
dGlvbiA9IGRlY2xhcmVGdW5jdGlvbihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRp
b25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJz
dDsKKyAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlv
blJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5j
dGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1v
ZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52
YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2Fn
ZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBh
IGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUt
PmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBv
cnRUeXBlOjpFeHBvcnRlZCkgeworICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5h
bWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rp
b24gbmFtZTogJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1f
bW9kdWxlU2NvcGVEYXRhLT5leHBvcnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAg
fQorCisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3Rh
dGVtZW50KGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3Jl
YXRlc0FTVCkKKyAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0
aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlv
bihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlv
bkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJU
KG1hdGNoKENMQVNTVE9LRU4pKTsKQEAgLTI0MDEsOCArMjU3MywxMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQ2xhc3MoVAogICAgICAgICBib29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wg
aXNTZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAg
ICAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElN
RVMpKQogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZU1ldGhvZDoKICAg
ICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgICAgICBuYW1lZEtleXdvcmQ6CiAg
ICAgICAgIGNhc2UgU1RSSU5HOgpAQCAtMjQxMSwxMiArMjU4NiwxNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQ2xhc3MoVAogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgSURFTlQ6CisgICAgICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgICAgICBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgQVNTRVJUKGlkZW50KTsKICAgICAg
ICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgKG1hdGNoSWRl
bnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBt
YXRjaChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkpKSB7CisgICAgICAgICAgICBpZiAo
IWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0aG9kICYmIChtYXRjaElkZW50aWZpZXJPcktleXdv
cmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikg
fHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgewogICAgICAgICAgICAgICAgIGlzR2V0dGVyID0gKmlk
ZW50ID09IHByb3BlcnR5TmFtZXMuZ2V0OwogICAgICAgICAgICAgICAgIGlzU2V0dGVyID0gKmlk
ZW50ID09IHByb3BlcnR5TmFtZXMuc2V0OworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgh
aXNBc3luY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhl
ci0+cHJldlRlcm1pbmF0b3IoKSAmJiBPcHRpb25zOjp1c2VBc3luY0Z1bmN0aW9ucygpKSkgewor
ICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBET1VCTEU6CkBAIC0yNDQ4LDcgKzI2
MjgsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKICAgICAgICAgICAgIGJvb2wgaXNDb25z
dHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25z
dHJ1Y3RvcjsKICAgICAgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3VyY2VQ
YXJzZU1vZGU6Ok1ldGhvZE1vZGU7Ci0gICAgICAgICAgICBpZiAoaXNHZW5lcmF0b3IpIHsKKyAg
ICAgICAgICAgIGlmIChpc0FzeW5jTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaXNDb25zdHJ1
Y3RvciA9IGZhbHNlOworICAgICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNNZXRob2RNb2RlOworICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgq
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUg
YW4gYXN5bmMgbWV0aG9kIG5hbWVkICdwcm90b3R5cGUnIik7CisgICAgICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rv
ciwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3InIik7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzR2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAg
aXNDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAgICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZTsKICAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgIkNhbm5vdCBkZWNsYXJlIGEgZ2VuZXJhdG9yIG5hbWVkICdwcm90b3R5cGUnIik7CkBA
IC0yNTMxLDYgKzI3MTYsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckwKICAgICAgICAgICAg
ICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQobG9jYXRpb24sIGV4cHJlc3Npb24sIHN0YXJ0LCBtX2xh
c3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKFVOTElL
RUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBs
YWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOworCiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpT
VGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgbmV4dCgpOwpA
QCAtMjcyNyw3ICsyOTE2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFt
ZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICAgICAgZmFp
bElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcyks
ICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICAgICAg
bmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JGYWlsKElERU5ULCAiRXhwZWN0ZWQgYSB2YXJpYWJs
ZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNl
KG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhl
IGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47
CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBuZXh0
KCk7CkBAIC0yNzQ5LDcgKzI5MzgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5
cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogCiAgICAg
ICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSkg
ewogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJF
eHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEg
dmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAgICAgICAg
bG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBuZXh0KCk7CkBAIC0yNzYwLDcgKzI5NDksNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBv
cnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIGNhc2UgSW1wb3J0U3BlY2lmaWVyVHlwZTo6
RGVmYXVsdEltcG9ydDogewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAg
ICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0gICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkpOwor
ICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRlbnRpZmllcigpKTsKICAgICAgICAgbG9jYWxOYW1l
VG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmRlZmF1bHRL
ZXl3b3JkOwpAQCAtMjc2OSw2ICsyOTU4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAg
ICB9CiAgICAgfQogCisgICAgc2VtYW50aWNGYWlsSWZUcnVlKGxvY2FsTmFtZVRva2VuLm1fdHlw
ZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nIG5h
bWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlICYgS2V5
d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Uga2V5d29yZCBhcyBpbXBvcnRlZCBiaW5kaW5nIG5h
bWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3VsdE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBkZWNs
YXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24s
IChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNwZWNpZmllclR5cGU6Ok5hbWVzcGFjZUltcG9ydCkg
PyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkTmFtZXNwYWNlIDogRGVjbGFyYXRpb25J
bXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAgaWYgKGRlY2xhcmF0aW9uUmVzdWx0ICE9IERlY2xh
cmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAtMjc5OSw3ICsyOTg5LDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlt
cG9ydERlY2xhcmEKICAgICB9CiAKICAgICBib29sIGlzRmluaXNoZWRQYXJzaW5nSW1wb3J0ID0g
ZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgIGlmIChtYXRjaFNwZWNJZGVudGlm
aWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0ZWREZWZhdWx0QmluZGluZyA6CiAgICAgICAgIC8v
IEltcG9ydGVkQmluZGluZwogICAgICAgICBhdXRvIHNwZWNpZmllciA9IHBhcnNlSW1wb3J0Q2xh
dXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0KTsKQEAg
LTI5MDksNiArMzA5OSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICBUcmVl
U3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgICAgIGJvb2wgaXNGdW5jdGlvbk9yQ2xhc3NEZWNs
YXJhdGlvbiA9IGZhbHNlOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBsb2NhbE5hbWUgPSBu
dWxscHRyOworICAgICAgICBib29sIGlzQXN5bmNGdW5jdGlvbkV4cG9ydCA9IGZhbHNlOworCisg
ICAgICAgIGlmIChVTkxJS0VMWShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5
TmFtZXMtPmFzeW5jKSAmJiBPcHRpb25zOjp1c2VBc3luY0Z1bmN0aW9ucygpKSkgeworICAgICAg
ICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEZVTkNUSU9OKSAmJiAh
bV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpCisgICAgICAgICAgICAgICAgaXNBc3luY0Z1bmN0
aW9uRXhwb3J0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KIAogICAgICAgICBib29sIHN0YXJ0
c1dpdGhGdW5jdGlvbiA9IG1hdGNoKEZVTkNUSU9OKTsKICAgICAgICAgaWYgKHN0YXJ0c1dpdGhG
dW5jdGlvbiB8fCBtYXRjaChDTEFTU1RPS0VOKSkgewpAQCAtMjkzMyw2ICszMTMzLDExIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRl
bWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgICAgICBtX3N0YXRlbWVu
dERlcHRoID0gMTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVs
dENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0FzeW5j
RnVuY3Rpb25FeHBvcnQpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04p
KTsKKyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVt
ZW50RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQs
IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBv
cnREZWZhdWx0KTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJU
KG1hdGNoKENMQVNTVE9LRU4pKTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUNsYXNz
RGVjbGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwpAQCAtMjk0Nyw2ICszMTUyLDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAvLyBJbiB0
aGUgYWJvdmUgZXhhbXBsZSwgKmRlZmF1bHQqIGlzIHRoZSBpbnZpc2libGUgdmFyaWFibGUgdG8g
dGhlIHVzZXJzLgogICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSBwcml2YXRlIHN5bWJvbCB0byBy
ZXByZXNlbnQgdGhlIG5hbWUgb2YgdGhpcyB2YXJpYWJsZS4KKyAgICAgICAgICAgIEV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXIgY2xhc3NpZmllcih0aGlzKTsKICAgICAgICAgICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9z
aXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIFRyZWVFeHBy
ZXNzaW9uIGV4cHJlc3Npb24gPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpA
QCAtMzA1Myw5ICszMjU5LDE2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAg
ICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaWYgKFVOTElLRUxZKG1h
dGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpICYmIE9wdGlv
bnM6OnVzZUFzeW5jRnVuY3Rpb25zKCkpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgICAgIHNlbWFudGljRmFpbElmRmFsc2UobWF0Y2goRlVOQ1RJT04pICYmICFtX2xl
eGVyLT5wcmV2VGVybWluYXRvcigpLCAiRXhwZWN0ZWQgJ2Z1bmN0aW9uJyBrZXl3b3JkIGZvbGxv
d2luZyAnYXN5bmMnIGtleXdvcmQgd2l0aCBubyBwcmVjZWRpbmcgbGluZSB0ZXJtaW5hdG9yIik7
CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
Y29udGV4dCwgRXhwb3J0VHlwZTo6RXhwb3J0ZWQpOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBlaXRo
ZXIgYSBkZWNsYXJhdGlvbiBvciBhIHZhcmlhYmxlIHN0YXRlbWVudCIpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShyZXN1bHQsICJDYW5ub3Qg
cGFyc2UgdGhlIGRlY2xhcmF0aW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4
cG9ydExvY2FsRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHJlc3VsdCk7CiAgICAgfQpAQCAt
MzExNywzNCArMzMzMCw0NSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIEFTU0VSVCgh
aGFzRXJyb3IoKSk7CiAgICAgCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworCisgICAgaWYg
KG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlz
R2VuZXJhdG9yKCkpKQorICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24oY29udGV4
dCk7CisKICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwog
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBp
bml0aWFsQXNzaWdubWVudENvdW50ID0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQ7CiAg
ICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1fcGFyc2VyU3RhdGUubm9uTEhTQ291bnQ7CiAg
ICAgYm9vbCBtYXliZUFzc2lnbm1lbnRQYXR0ZXJuID0gbWF0Y2goT1BFTkJSQUNFKSB8fCBtYXRj
aChPUEVOQlJBQ0tFVCk7CiAgICAgYm9vbCB3YXNPcGVuUGFyZW4gPSBtYXRjaChPUEVOUEFSRU4p
OwotICAgIGJvb2wgaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IG1hdGNoKE9QRU5QQVJFTikg
fHwgbWF0Y2goSURFTlQpOworICAgIC8vIERvIG5vdCB1c2UgbWF0Y2hTcGVjSWRlbnRpZmllcigp
IGhlcmUgc2luY2UgaXQgaXMgc2xvd2VyIHRoYW4gaXNJZGVudGlmaWVyT3JLZXl3b3JkLgorICAg
IC8vIFdoZXRoZXIgc3BlYyBpZGVudGlmaWVyIGlzIHdpbGwgYmUgdmFsaWRhdGVkIGJ5IGlzQXJy
b3dGdW5jdGlvblBhcmFtZXRlcnMoKS4KKyAgICBib29sIHdhc0lkZW50aWZpZXJPcktleXdvcmQg
PSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbik7CisgICAgYm9vbCBtYXliZVZhbGlkQXJy
b3dGdW5jdGlvblN0YXJ0ID0gd2FzT3BlblBhcmVuIHx8IHdhc0lkZW50aWZpZXJPcktleXdvcmQ7
CiAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIHNpemVf
dCB1c2VkVmFyaWFibGVzU2l6ZSA9IDA7Ci0gICAgaWYgKHdhc09wZW5QYXJlbikgeworCisgICAg
aWYgKHdhc09wZW5QYXJlbiB8fCAod2FzSWRlbnRpZmllck9yS2V5d29yZCAmJiBVTkxJS0VMWSgq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgT3B0
aW9uczo6dXNlQXN5bmNGdW5jdGlvbnMoKSkpKSB7CiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXpl
ID0gY3VycmVudFNjb3BlKCktPmN1cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBj
dXJyZW50U2NvcGUoKS0+cHVzaFVzZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmICht
YXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dl
bmVyYXRvcigpKSkKLSAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQp
OwotCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
Y29udGV4dCk7CiAKLSAgICBpZiAoaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2go
RU9GVE9LKSkgeworICAgIGlmIChtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRj
aChFT0ZUT0spKSB7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChB
UlJPV0ZVTkNUSU9OKTsKICAgICAgICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4p
IHsKICAgICAgICAgICAgIFNhdmVQb2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7
CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFz
eW5jQXJyb3dGdW5jdGlvbigpKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2
VGVybWluYXRvcigpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5j
dGlvblBhcmFtZXRlcnMoKSkgewotICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisg
ICAgICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAg
ICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxl
cyh1c2VkVmFyaWFibGVzU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3Jh
dGlvblNhdmVQb2ludCk7CiAgICAgICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBA
IC0zMjY4LDYgKzM0OTIsMjIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIC8vIEF3YWl0RXhwcmVzc2lvbiBkZXN1Z2FyZWQgdG8g
WWllbGRFeHByZXNzaW9uCisgICAgQVNTRVJUKG1hdGNoKEFXQUlUKSk7CisgICAgQVNTRVJUKGN1
cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb24oKSk7CisgICAgZmFpbElmVHJ1ZShtX3BhcnNl
clN0YXRlLmZ1bmN0aW9uUGFyc2VQaGFzZSA9PSBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRl
cnMsICJDYW5ub3QgdXNlIGF3YWl0IGV4cHJlc3Npb24gd2l0aGluIHBhcmFtZXRlcnMiKTsKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQ
b3NpdGlvbiBkaXZvdFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgbmV4dCgpOwor
ICAgIEpTVGV4dFBvc2l0aW9uIGFyZ3VtZW50U3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
KyAgICBUcmVlRXhwcmVzc2lvbiBhcmd1bWVudCA9IHBhcnNlVW5hcnlFeHByZXNzaW9uKGNvbnRl
eHQpOworICAgIGZhaWxJZkZhbHNlKGFyZ3VtZW50LCAiRmFpbGVkIHRvIHBhcnNlIGF3YWl0IGV4
cHJlc3Npb24iKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBd2FpdChsb2NhdGlvbiwgYXJn
dW1lbnQsIGRpdm90U3RhcnQsIGFyZ3VtZW50U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkp
OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRp
b25hbEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0
aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0zMzgwLDIyICszNjIwLDI2IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgYm9vbCB3YXNJZGVudCA9IGZhbHNlOwogICAgIGJv
b2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKICAgICBib29sIGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNl
OworICAgIGJvb2wgaXNBc3luY01ldGhvZCA9IGZhbHNlOwogICAgIGlmIChjb25zdW1lKFRJTUVT
KSkKICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOworCitwYXJzZVByb3BlcnR5OgogICAgIHN3
aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBuYW1lZFByb3BlcnR5OgogICAgIGNhc2UgSURF
TlQ6CisgICAgY2FzZSBBV0FJVDoKICAgICAgICAgd2FzSWRlbnQgPSB0cnVlOwogICAgICAgICBG
QUxMVEhST1VHSDsKICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICB1bnNpZ25lZCBnZXR0ZXJP
clNldHRlclN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwotICAgICAgICBpZiAoY29tcGxldGUg
fHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5
TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCisgICAg
ICAgIGlmIChjb21wbGV0ZSB8fCAod2FzSWRlbnQgJiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Z2V0IHx8ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5zZXQgfHwgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBPcHRp
b25zOjp1c2VBc3luY0Z1bmN0aW9ucygpKSkpKQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50
aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jk
cyB8IFRyZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3Jkcyk7CiAKLSAgICAgICAgaWYgKCFpc0dl
bmVyYXRvciAmJiBtYXRjaChDT0xPTikpIHsKKyAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAh
aXNBc3luY01ldGhvZCAmJiBtYXRjaChDT0xPTikpIHsKICAgICAgICAgICAgIG5leHQoKTsKICAg
ICAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9u
T3JQcm9wYWdhdGVFcnJvckNsYXNzKGNvbnRleHQpOwogICAgICAgICAgICAgZmFpbElmRmFsc2Uo
bm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIGZvciBwcm9wZXJ0eSBkZWNsYXJhdGlvbiIp
OwpAQCAtMzQwNCwxMSArMzY0OCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAg
ICB9CiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKLSAgICAgICAgICAgIGF1dG8g
bWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3Ip
OworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQs
IGlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdh
dGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoaWRl
bnQsIG1ldGhvZCwgUHJvcGVydHlOb2RlOjpDb25zdGFudCwgUHJvcGVydHlOb2RlOjpLbm93bkRp
cmVjdCwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwog
ICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBh
cmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5l
cmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3Vt
ZW50IGxpc3QiKTsKIAogICAgICAgICBmYWlsSWZGYWxzZSh3YXNJZGVudCwgIkV4cGVjdGVkIGFu
IGlkZW50aWZpZXIgYXMgcHJvcGVydHkgbmFtZSIpOwogCkBAIC0zNDMwLDcgKzM2NzQsMTEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6
OkdldHRlcjsKICAgICAgICAgZWxzZSBpZiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PnNldCkKICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6OlNldHRlcjsKLSAgICAgICAg
ZWxzZQorICAgICAgICBlbHNlIGlmIChVTkxJS0VMWShPcHRpb25zOjp1c2VBc3luY0Z1bmN0aW9u
cygpICYmICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiAhaXNHZW5lcmF0
b3IgJiYgIWlzQXN5bmNNZXRob2QpKSB7CisgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1
ZTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4
cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBmb2xsb3dpbmcga2V5d29yZCAnYXN5bmMnIik7CisgICAg
ICAgICAgICBnb3RvIHBhcnNlUHJvcGVydHk7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhICc6JyBmb2xsb3dpbmcgdGhlIHByb3BlcnR5IG5h
bWUgJyIsIGlkZW50LT5pbXBsKCksICInIik7CiAgICAgICAgIHJldHVybiBwYXJzZUdldHRlclNl
dHRlcihjb250ZXh0LCBjb21wbGV0ZSwgdHlwZSwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
Q29uc3RydWN0b3JLaW5kOjpOb25lLCBpc0NsYXNzUHJvcGVydHkpOwogICAgIH0KQEAgLTM0NDEs
MTEgKzM2ODksMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0
Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBt
X3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25z
dF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhv
ZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7Cisg
ICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlk
ZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVF
cnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50
LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwg
Y29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAg
ICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhl
c2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3Ig
fHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxp
c3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVy
IHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDYwLDExICszNzA4LDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VC
UkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNl
UHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlm
aWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBp
c0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigp
OwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1l
LCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpD
b25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGly
ZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAg
ICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFy
ZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVy
YXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1l
bnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicg
YWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFy
c2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTM0NzksMTMgKzM3MjcsMTMgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVBy
b3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRo
b2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNU
b2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWdu
ZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7
Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpN
ZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/
IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNN
ZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9k
ZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwg
bWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFy
c2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0
aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3NTEsNiArMzk5OSwyMCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdv
cmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAm
bV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFp
bElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1l
bnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVy
QmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBG
dW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25F
eHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRl
cjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmco
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVy
VHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVt
ZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4MzgsMTQgKzQx
MDAsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29w
ZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAg
ICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1Rl
eHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAg
ICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dGVU5DVElPTikpKQorICAgICAgICBpZiAobWF0
Y2goQVJST1dGVU5DVElPTikpCiAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBpZiAo
VU5MSUtFTFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYm
ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBPcHRpb25zOjp1c2VBc3lu
Y0Z1bmN0aW9ucygpKSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRl
bnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9wYXJz
ZXJTdGF0ZS5sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVSZXNvbHZlKGxvY2F0aW9uLCAqaWRlbnQsIHN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKQEAgLTQwMjEsNiArNDI4Nyw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAg
ICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICB9CiAKKyAgICBib29sIGJh
c2VJc0FzeW5jS2V5d29yZCA9IGZhbHNlOwogICAgIGlmIChiYXNlSXNTdXBlcikgewogICAgICAg
ICBTY29wZVJlZiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlID0gY2xvc2VzdFBhcmVudE9y
ZGluYXJ5RnVuY3Rpb25Ob25MZXhpY2FsU2NvcGUoKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZG
YWxzZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpIHx8IChjbG9zZXN0T3JkaW5hcnlGdW5j
dGlvblNjb3BlLT5pc0V2YWxDb250ZXh0KCkgJiYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29w
ZS0+ZXhwZWN0ZWRTdXBlckJpbmRpbmcoKSA9PSBTdXBlckJpbmRpbmc6Ok5lZWRlZCksICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CkBAIC00MDM4LDggKzQzMDUsMTkgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUoZnVuY3Rpb25TdXBlckJpbmRpbmcgPT0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KLSAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpCisgICAgfSBlbHNlIGlmICghYmFz
ZUlzTmV3VGFyZ2V0KSB7CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IE9wdGlvbnM6OnVz
ZUFzeW5jRnVuY3Rpb25zKCkgJiYgbWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5hc3luYyk7CiAgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNv
bnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhw
cmVzc2lvbiIpOworICAgICAgICBpZiAoVU5MSUtFTFkoaXNBc3luYyAmJiBjb250ZXh0LmlzUmVz
b2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkpIHsKKyAgICAgICAgICAg
IGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBBc3luY0Fy
cm93RnVuY3Rpb24KKyAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9y
KEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJhc2VJc0FzeW5jS2V5d29yZCA9IHRy
dWU7CisgICAgICAgIH0KKyAgICB9CiAKICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBh
cnNlIGJhc2UgZXhwcmVzc2lvbiIpOwogICAgIHdoaWxlICh0cnVlKSB7CkBAIC00MDc0LDYgKzQz
NTIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0gbGFzdFRva2VuRW5k
UG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFyZ3VtZW50cyA9IHBh
cnNlQXJndW1lbnRzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShiYXNl
SXNBc3luY0tleXdvcmQgJiYgKCFhcmd1bWVudHMgfHwgbWF0Y2goQVJST1dGVU5DVElPTikpKSkK
KyAgICAgICAgICAgICAgICAgICAgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvcklu
ZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlvbik7CiAgICAgICAgICAgICAgICAgZmFpbElmRmFsc2Uo
YXJndW1lbnRzLCAiQ2Fubm90IHBhcnNlIGNhbGwgYXJndW1lbnRzIik7CiAgICAgICAgICAgICAg
ICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgICAgICAgICAgICAgIFNjb3BlUmVmIGZ1bmN0
aW9uU2NvcGUgPSBjdXJyZW50RnVuY3Rpb25TY29wZSgpOwpAQCAtNDEzMiw3ICs0NDEyLDcgQEAg
ZW5kTWVtYmVyRXhwcmVzc2lvbjoKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
LXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBib29sIGlzQXN5bmMpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOwogCkBAIC00
MTQwLDcgKzQ0MjAsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3RpbwogICAgIGxvY2F0aW9uID0g
dG9rZW5Mb2NhdGlvbigpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5m
bzsKICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7
Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9k
ZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJl
c3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisKKyAg
ICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNBc3luYyA/IFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1v
ZGU7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
TmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNl
IGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKIAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKIH0KQEAgLTQxODQsNiArNDQ2Niwx
MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAgIGJvb2wgbW9kaWZpZXNFeHByID0gZmFs
c2U7CiAgICAgYm9vbCByZXF1aXJlc0xFeHByID0gZmFsc2U7CiAgICAgdW5zaWduZWQgbGFzdE9w
ZXJhdG9yID0gMDsKKworICAgIGlmIChVTkxJS0VMWShtYXRjaChBV0FJVCkgJiYgY3VycmVudEZ1
bmN0aW9uU2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkpCisgICAgICAgIHJldHVy
biBwYXJzZUF3YWl0RXhwcmVzc2lvbihjb250ZXh0KTsKKwogICAgIHdoaWxlIChpc1VuYXJ5T3Ao
bV90b2tlbi5tX3R5cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAgICAg
ICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjUsNiArNDY1MSw3IEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50VW5l
eHBlY3RlZFRva2VuVGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRlIG5h
bWUgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAor
ICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJVbmV4
cGVjdGVkIGlkZW50aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNkZDVl
Nzc4YjhmZGI1OTIzYWE3OThhZWQxMjMuLjFhOGZhZmFmMmY4MGVlNmQwNmI4NDI1YzEzOTI2ZGQz
Y2YxMGJiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1LDcg
KzEzNSw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGUp
OwogCiBwdWJsaWM6Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJv
b2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24pCisg
ICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3Is
IGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1bmN0
aW9uKQogICAgICAgICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRzKGZh
bHNlKQogICAgICAgICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAgcHVi
bGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBt
X2lzQXJyb3dGdW5jdGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVu
Y3Rpb25Cb3VuZGFyeShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0FzeW5j
RnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAg
ICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJv
dW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAgLTE4
MSw2ICsxODMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KG90
aGVyLm1faXNHZW5lcmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihv
dGhlci5tX2lzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5k
YXJ5KG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0FzeW5j
RnVuY3Rpb24ob3RoZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVu
Y3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAs
IG1faXNMZXhpY2FsU2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBtX2lz
RnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBt
X2lzVmFsaWRTdHJpY3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgsNiAr
MjQyLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGUgbW9kZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAg
ICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAg
ICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFr
OworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKICAg
ICAgICAgICAgIHNldElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1Nyw2
ICsyNjksMTUgQEAgcHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAg
ICAgICAgICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbk1vZGU6CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1v
ZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2Rl
OgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICAg
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4IEBA
IHB1YmxpYzoKICAgICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsgcmV0
dXJuIG1faXNHZW5lcmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBjb25z
dCB7IHJldHVybiBtX2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNGdW5j
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBpc0Fz
eW5jRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uQm91
bmRhcnk7IH0KIAogICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNB
cmd1bWVudHM7IH0KIApAQCAtMjkxLDYgKzMxNCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX2xleGljYWxWYXJpYWJsZXM7CiAgICAgfQogCisgICAgYm9vbCBpc01vZHVsZSgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgdm9pZCBjb21wdXRl
TGV4aWNhbGx5Q2FwdHVyZWRWYXJpYWJsZXNBbmRQdXJnZUNhbmRpZGF0ZXMoKQogICAgIHsKICAg
ICAgICAgLy8gQmVjYXVzZSB2YXJpYWJsZXMgbWF5IGJlIGRlZmluZWQgYXQgYW55IHRpbWUgaW4g
dGhlIHJhbmdlIG9mIGEgbGV4aWNhbCBzY29wZSwgd2UgbXVzdApAQCAtNzEwLDYgKzczOCwzNCBA
QCBwcml2YXRlOgogICAgICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAgICAgfQogCisg
ICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Fy
cm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0K
KworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElzRnVu
Y3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAg
IHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0
aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3lu
Y0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRy
dWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKQorICAg
IHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRz
ID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9p
c0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29uc3QgVk0qIG1f
dm07CiAgICAgYm9vbCBtX3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3VzZXNFdmFsOwpA
QCAtNzI0LDYgKzc4MCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJhdG9yQm91bmRh
cnk7CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0
aW9uQm91bmRhcnk7CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBib29sIG1faXNB
c3luY0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3BlOwogICAgIGJv
b2wgbV9pc0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJpY3RNb2RlOwpA
QCAtODg2LDggKzk0NCw5IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIGVudW0gRXhwcmVzc2lv
bkVycm9yQ2xhc3MgewotICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcsCi0gICAgICAgIEVy
cm9ySW5kaWNhdGVzUGF0dGVybgorICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcgPSAwLAor
ICAgICAgICBFcnJvckluZGljYXRlc1BhdHRlcm4sCisgICAgICAgIEVycm9ySW5kaWNhdGVzQXN5
bmNBcnJvd0Z1bmN0aW9uCiAgICAgfTsKIAogICAgIHN0cnVjdCBFeHByZXNzaW9uRXJyb3JDbGFz
c2lmaWVyIHsKQEAgLTkxMSw2ICs5NzAsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fY2xh
c3MgPSBjbGFzc2lmaWNhdGlvbjsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQgZm9yY2VDbGFz
c2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikK
KyAgICAgICAgeworICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOworICAgICAg
ICB9CisKICAgICAgICAgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25F
cnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lm
aWNhdGlvbikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKG1fY2xhc3MgIT0gb2xkQ2xhc3Np
ZmljYXRpb24pCkBAIC05MjAsMTEgKzk4NCwxMiBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQg
cHJvcGFnYXRlRXhwcmVzc2lvbkVycm9yQ2xhc3MoKQogICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAobV9wcmV2aW91cyAmJiBtX2NsYXNzICE9IEVycm9ySW5kaWNhdGVzTm90aGluZykKKyAgICAg
ICAgICAgIGlmIChtX3ByZXZpb3VzKQogICAgICAgICAgICAgICAgIG1fcHJldmlvdXMtPm1fY2xh
c3MgPSBtX2NsYXNzOwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBpbmRpY2F0ZXNQb3NzaWJs
ZVBhdHRlcm4oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzUGF0dGVy
bjsgfQorICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxlQXN5bmNBcnJvd0Z1bmN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlv
bjsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3MgbV9jbGFz
czsKQEAgLTkzOCw2ICsxMDAzLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2V4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXItPmNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9u
KTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Np
b25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICB7CisgICAg
ICAgIGlmIChtX2V4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIpCisgICAgICAgICAgICBtX2V4cHJl
c3Npb25FcnJvckNsYXNzaWZpZXItPmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3Np
ZmljYXRpb24pOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZWNsYXNzaWZ5RXhw
cmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHBy
ZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKICAgICB7CiAgICAgICAgIGlmIChtX2V4
cHJlc3Npb25FcnJvckNsYXNzaWZpZXIpCkBAIC05NTksNiArMTAzMCwxOSBAQCBwcml2YXRlOgog
ICAgICAgICByZXR1cm4gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9WYXJpYWJsZXM7
CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBkZWNsYXJhdGlvblR5cGVU
b1ZhcmlhYmxlS2luZChEZWNsYXJhdGlvblR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIHN3aXRj
aCAodHlwZSkgeworICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRpb246
CisgICAgICAgICAgICByZXR1cm4gInZhcmlhYmxlIG5hbWUiOworICAgICAgICBjYXNlIERlY2xh
cmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb246CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBl
OjpDb25zdERlY2xhcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuICJsZXhpY2FsIHZhcmlhYmxl
IG5hbWUiOworICAgICAgICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiAiaW52YWxpZCI7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSBB
c3NpZ25tZW50Q29udGV4dCBhc3NpZ25tZW50Q29udGV4dEZyb21EZWNsYXJhdGlvblR5cGUoRGVj
bGFyYXRpb25UeXBlIHR5cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTk3
MSw2ICsxMDU1LDEyIEBAIHByaXZhdGU6CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFdmFs
T3JBcmd1bWVudHMoY29uc3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGlzRXZhbE9yQXJn
dW1lbnRzSWRlbnRpZmllcihtX3ZtLCBpZGVudCk7IH0KIAorICAgIFNjb3BlUmVmIHVwcGVyU2Nv
cGUoaW50IG4pCisgICAgeworICAgICAgICBBU1NFUlQobV9zY29wZVN0YWNrLnNpemUoKSA+PSBz
aXplX3QoMSArIG4pKTsKKyAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1f
c2NvcGVTdGFjay5zaXplKCkgLSAxIC0gbik7CisgICAgfQorCiAgICAgU2NvcGVSZWYgY3VycmVu
dFNjb3BlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBt
X3Njb3BlU3RhY2suc2l6ZSgpIC0gMSk7CkBAIC0xMDI3LDEzICsxMTE3LDE1IEBAIHByaXZhdGU6
CiAgICAgICAgIGJvb2wgaXNTdHJpY3QgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRv
ciA9IGZhbHNlOwogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgICAg
ICBib29sIGlzQXN5bmNGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoIW1fc2NvcGVTdGFj
ay5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlzU3RyaWN0ID0gbV9zY29wZVN0YWNrLmxhc3Qo
KS5zdHJpY3RNb2RlKCk7CiAgICAgICAgICAgICBpc0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxh
c3QoKS5pc0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IG1fc2NvcGVTdGFj
ay5sYXN0KCkuaXNHZW5lcmF0b3IoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1f
c2NvcGVTdGFjay5sYXN0KCkuaXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBpc0FzeW5j
RnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzQXN5bmNGdW5jdGlvbigpOwogICAgICAg
ICB9Ci0gICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5j
dGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24pOworICAgICAgICBt
X3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJh
dG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9uLCBpc0FzeW5jRnVuY3Rpb24pOwogICAgICAg
ICByZXR1cm4gY3VycmVudFNjb3BlKCk7CiAgICAgfQogCkBAIC0xMzQ2LDIxICsxNDM4LDI1IEBA
IHByaXZhdGU6CiAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIv
Ni4wLyNzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3Mt
ZWFybHktZXJyb3JzCiAgICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIo
Ym9vbCBpbkdlbmVyYXRvcikKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwg
aXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3Ip
OworICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1h
c2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CiAgICAg
fQogCiAgICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIG1hdGNoU3BlY0lkZW50aWZpZXIoY3VycmVudFNjb3BlKCktPmlzR2Vu
ZXJhdG9yKCkpOworICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8
fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2Nv
cGUoKS0+aXNHZW5lcmF0b3IoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRl
ciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VHZW5lcmF0b3JGdW5jdGlvblNvdXJjZUVsZW1lbnRz
KFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VF
bGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVl
QnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOwogICAgIGVu
dW0gY2xhc3MgRXhwb3J0VHlwZSB7IEV4cG9ydGVkLCBOb3RFeHBvcnRlZCB9OwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRp
b24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFu
ZGFyZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRU
eXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiwgYm9vbCBpc0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0
VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0
ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgbWF5YmVQYXJzZUFzeW5jRnVuY3Rp
b25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVu
dCYgcmVzdWx0LCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVu
dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
VmFyaWFibGVEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0
VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVy
Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
V2hpbGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ4Myw3IEBAIHByaXZh
dGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVF
eHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9u
IHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5RXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZU1lbWJlckV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5RXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVpbGRl
ciYpOwpAQCAtMTM5NCwxNyArMTQ5MSwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0T2Jq
ZWN0TGl0ZXJhbChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNzaW9u
KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVF
eHByZXNzaW9uIHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3VtZW50
cyBwYXJzZUFyZ3VtZW50cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRyZWVC
dWlsZGVyJiwgQXJndW1lbnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJv
cGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhv
ZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4
dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBp
c0FzeW5jTWV0aG9kKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0
eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVj
dG9yS2luZCwgYm9vbCBpc0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5
KFRyZWVCdWlsZGVyJiwgU3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGlu
dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBw
YXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlvbkJv
ZHlUeXBlLCB1bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJl
ZUJ1aWxkZXImLCBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBlbnVt
IFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRp
b25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNs
YXJhdGlvbnMsIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHBy
ZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1Rl
eHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFy
YXRpb25MaXN0Q29udGV4dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBmb3JM
b29wQ29uc3REb2VzTm90SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHBy
ZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwgYm9v
bCBpc0FzeW5jKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxk
ZXImLCBEZXN0cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYsIEpT
VG9rZW4sIEFzc2lnbm1lbnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRl
bnRpZmllcik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUg
VHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWls
ZGVyJiwgVHJlZUV4cHJlc3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVsZW1l
bnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBj
b25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgp
OwpAQCAtMTQ2Miw2ICsxNTYwLDIxIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9lcnJv
ck1lc3NhZ2UuaXNOdWxsKCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXQoY29uc3QgSlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICByZXR1cm4gdG9r
ZW4ubV90eXBlID09IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJl
bnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIHx8IGN1cnJlbnRTY29wZSgpLT5p
c01vZHVsZSgpIHx8ICFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQpOworICAgIH0KKworICAgIGNv
bnN0IGNoYXIqIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKQorICAgIHsKKyAgICAg
ICAgaWYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5
bmNGdW5jdGlvbkJvdW5kYXJ5KCkpCisgICAgICAgICAgICByZXR1cm4gImluIGFuIGFzeW5jIGZ1
bmN0aW9uIjsKKyAgICAgICAgaWYgKGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgpKQorICAgICAg
ICAgICAgcmV0dXJuICJpbiBhIG1vZHVsZSI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGVudW0gY2xh
c3MgRnVuY3Rpb25QYXJzZVBoYXNlIHsgUGFyYW1ldGVycywgQm9keSB9OwogICAgIHN0cnVjdCBQ
YXJzZXJTdGF0ZSB7CiAgICAgICAgIGludCBhc3NpZ25tZW50Q291bnQgeyAwIH07CkBAIC0xNDcw
LDYgKzE1ODMsNyBAQCBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblBhcnNlUGhhc2UgZnVuY3Rp
b25QYXJzZVBoYXNlIHsgRnVuY3Rpb25QYXJzZVBoYXNlOjpCb2R5IH07CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGxhc3RJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwogICAgICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lIHsgbnVsbHB0ciB9OworICAgICAgICBib29sIGFs
bG93QXdhaXQgeyB0cnVlIH07CiAgICAgfTsKIAogICAgIC8vIElmIHlvdSdyZSB1c2luZyB0aGlz
IGRpcmVjdGx5LCB5b3UgcHJvYmFibHkgc2hvdWxkIGJlIHVzaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJlYWE4ZGE0YmYyNzgz
MzkzMWViNGJkY2Y4OWE0Ni4uMmFhYzY4MjFhZWQyYzhlMDFiOTkzNTBlODAyYzA0YWRmZDRlODE2
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaApAQCAtMjcs
NiArMjcsNyBAQAogI2lmbmRlZiBQYXJzZXJNb2Rlc19oCiAjZGVmaW5lIFBhcnNlck1vZGVzX2gK
IAorI2luY2x1ZGUgIkNvbnN0cnVjdEFiaWxpdHkuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgi
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDMsODAgKzQ0LDEzMCBAQCBlbnVtIERlYnVnZ2VyTW9k
ZSB7IERlYnVnZ2VyT2ZmLCBEZWJ1Z2dlck9uIH07CiAKIGVudW0gY2xhc3MgRnVuY3Rpb25Nb2Rl
IHsgRnVuY3Rpb25FeHByZXNzaW9uLCBGdW5jdGlvbkRlY2xhcmF0aW9uLCBNZXRob2REZWZpbml0
aW9uIH07CiAKLWVudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDhfdCB7Ci0gICAgTm9y
bWFsRnVuY3Rpb25Nb2RlLAotICAgIEdlbmVyYXRvckJvZHlNb2RlLAotICAgIEdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGUsCi0gICAgR2V0dGVyTW9kZSwKLSAgICBTZXR0ZXJNb2RlLAotICAg
IE1ldGhvZE1vZGUsCi0gICAgQXJyb3dGdW5jdGlvbk1vZGUsCi0gICAgUHJvZ3JhbU1vZGUsCi0g
ICAgTW9kdWxlQW5hbHl6ZU1vZGUsCi0gICAgTW9kdWxlRXZhbHVhdGVNb2RlCitlbnVtIGNsYXNz
IFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQxNl90IHsKKyAgICBOb3JtYWxGdW5jdGlvbk1vZGUgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMDAwMSwKKyAgICBHZW5lcmF0b3JCb2R5TW9kZSAgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMDAxMCwKKyAgICBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlICA9IDBiMDAwMDAwMDAwMDAwMDEwMCwKKyAgICBHZXR0ZXJNb2RlICAgICAgICAgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMTAwMCwKKyAgICBTZXR0ZXJNb2RlICAgICAgICAgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMDAxMDAwMCwKKyAgICBNZXRob2RNb2RlICAgICAgICAgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMDEwMDAwMCwKKyAgICBBcnJvd0Z1bmN0aW9uTW9kZSAgICAg
ICAgICAgICA9IDBiMDAwMDAwMDAwMTAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uQm9keU1vZGUg
ICAgICAgICA9IDBiMDAwMDAwMDAxMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZSAgICA9IDBiMDAwMDAwMDEwMDAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uTW9kZSAgICAg
ICAgICAgICA9IDBiMDAwMDAwMTAwMDAwMDAwMCwKKyAgICBBc3luY01ldGhvZE1vZGUgICAgICAg
ICAgICAgICA9IDBiMDAwMDAxMDAwMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Nb2Rl
ICAgICAgICA9IDBiMDAwMDEwMDAwMDAwMDAwMCwKKyAgICBQcm9ncmFtTW9kZSAgICAgICAgICAg
ICAgICAgICA9IDBiMDAwMTAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVBbmFseXplTW9kZSAgICAg
ICAgICAgICA9IDBiMDAxMDAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVFdmFsdWF0ZU1vZGUgICAg
ICAgICAgICA9IDBiMDEwMDAwMDAwMDAwMDAwMCwKIH07CiAKLWlubGluZSBib29sIGlzRnVuY3Rp
b25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK2NsYXNzIFNvdXJjZVBhcnNl
TW9kZVNldCB7IAorcHVibGljOiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBNb2Rlcz4gCisg
ICAgU291cmNlUGFyc2VNb2RlU2V0KE1vZGVzLi4uIGFyZ3MpIAorICAgICAgICA6IG1fbWFzayht
ZXJnZVNvdXJjZVBhcnNlTW9kZXMoYXJncy4uLikpIAorICAgIHsgCisgICAgfSAKKworICAgIEFM
V0FZU19JTkxJTkUgYm9vbCBjb250YWlucyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKSAmIG1fbWFzazsgCisg
ICAgfSAKKworcHJpdmF0ZTogCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5zaWduZWQgbWVy
Z2VTb3VyY2VQYXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlKSAKKyAgICB7IAorICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpOyAKKyAgICB9IAorCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUuLi4gUmVzdD4gCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5zaWdu
ZWQgbWVyZ2VTb3VyY2VQYXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlLCBSZXN0Li4uIHJl
c3QpIAorICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkg
fCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMocmVzdC4uLik7IAorICAgIH0gCisKKyAgICBjb25zdCB1
bnNpZ25lZCBtX21hc2s7IAorfTsgCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0Z1bmN0aW9uUGFy
c2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNl
UGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1v
ZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLCAKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLCAKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2Rl
OjpTZXR0ZXJNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNN
ZXRob2RNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25N
b2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9k
ZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3lu
Y0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICBy
ZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rp
b25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsIAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJz
ZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jQXJyb3dGdW5jdGlvblBh
cnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJj
ZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9k
eU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlz
QXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkg
Cit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhv
ZE1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlz
QXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7
IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxX
QVlTX0lOTElORSBib29sIGlzTWV0aG9kUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1v
ZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlBy
b2dyYW1Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToK
LSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoCisgICAgICAg
IC8vIEZJWE1FOiBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIGlzIG5vdCBndWFyYW50ZWVk
IHRvIGJlIGEgbWV0aG9kLgorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBw
ZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
KS5jb250YWlucyhwYXJzZU1vZGUpOwogfQogCi1pbmxpbmUgYm9vbCBpc01vZHVsZVBhcnNlTW9k
ZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQotewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVl
OwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpQcm9ncmFtTW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KK0FMV0FZU19JTkxJ
TkUgYm9vbCBpc01vZHVsZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sg
CisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6TW9kdWxlQW5hbHl6ZU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2
YWx1YXRlTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAogCi1pbmxpbmUgYm9vbCBpc1By
b2dyYW1QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2gg
KHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVu
Y3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToK
LSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZToK
LSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CitB
TFdBWVNfSU5MSU5FIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6UHJvZ3JhbU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElO
RSBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpIAorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0
eTo6Q2FuQ29uc3RydWN0OworCisgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5vdENv
bnN0cnVjdDsKIH0KIAogaW5saW5lIGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0IElk
ZW50aWZpZXImIG5hbWUsIEZ1bmN0aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYzYWNl
Zjc5YzY5Y2QyOGY4MjNjMmE3ZTgwLi5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFhNTJl
NjYxZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgK
QEAgLTgzLDYgKzgzLDcgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwKICAg
ICBFWFRFTkRTLAogICAgIFNVUEVSLAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAsCiAg
ICAgQ0xPU0VCUkFDRSwKICAgICBPUEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEy
NzdmYTJkODI2ODYuLjVhYzY1YWJkMDQ1NWZlZjY3ODFiNjRhMDczZWJkOTI1MmEzY2RlYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04Myw3
ICs4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQ2xhdXNlTGlzdFJlc3VsdCwgQ29tbWFFeHByLCBE
ZXN0cnVjdHVyaW5nQXNzaWdubWVudCwKICAgICAgICAgVGVtcGxhdGVTdHJpbmdSZXN1bHQsIFRl
bXBsYXRlU3RyaW5nTGlzdFJlc3VsdCwKICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlzdFJl
c3VsdCwgVGVtcGxhdGVFeHByLAotICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxkRXhw
ciwKKyAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwKICAg
ICAgICAgTW9kdWxlTmFtZVJlc3VsdCwKICAgICAgICAgSW1wb3J0U3BlY2lmaWVyUmVzdWx0LCBJ
bXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1bHQs
IEV4cG9ydFNwZWNpZmllckxpc3RSZXN1bHQKQEAgLTE4Miw4ICsxODIsMTAgQEAgcHVibGljOgog
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUVtcHR5TGV0RXhwcmVzc2lvbihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0K
ICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mKSB7
IHJldHVybiBZaWVsZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGludCkg
eyByZXR1cm4gWWllbGRFeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXdhaXQoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0
dXJuIEF3YWl0RXhwcjsgfQogICAgIENsYXNzRXhwcmVzc2lvbiBjcmVhdGVDbGFzc0V4cHIoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPFN5bnRheENoZWNrZXI+
JiwgVmFyaWFibGVFbnZpcm9ubWVudCYsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwg
UHJvcGVydHlMaXN0LCBQcm9wZXJ0eUxpc3QpIHsgcmV0dXJuIENsYXNzRXhwcjsgfQogICAgIEV4
cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlv
bkV4cHI7IH0KKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tl
cj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25NZXRh
ZGF0YShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQs
IGludCwgYm9vbCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcs
IHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wsIElubmVyQXJyb3dGdW5jdGlvbkNvZGVG
ZWF0dXJlcyA9IE5vSW5uZXJBcnJvd0Z1bmN0aW9uRmVhdHVyZXMpIHsgcmV0dXJuIEZ1bmN0aW9u
Qm9keVJlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhD
aGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNy
ZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApp
bmRleCA0MDUxMjYyZGE1MWJjYmRhYjc3NWNmNjFiMGMwY2JjMGZmNTcxMWYxLi43Mzg5ZjllY2Vj
ZTVmODhhMzhmNDYyN2QyMzg3ZDYyMTdiOTY1ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTEwOSw2ICsxMDksNyBAQAog
ICAgIG1hY3JvKGFyZ3VtZW50cykgXAogICAgIG1hY3JvKGFzKSBcCiAgICAgbWFjcm8oYXNzaWdu
KSBcCisgICAgbWFjcm8oYXN5bmMpIFwKICAgICBtYWNybyhiYWNrKSBcCiAgICAgbWFjcm8oYmlu
ZCkgXAogICAgIG1hY3JvKGJsdXIpIFwKQEAgLTI3MSw2ICsyNzIsNyBAQAogICAgIG1hY3JvKHll
YXIpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9JREVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFjcm8p
IFwKKyAgICBtYWNybyhhd2FpdCkgXAogICAgIG1hY3JvKGJyZWFrKSBcCiAgICAgbWFjcm8oY2Fz
ZSkgXAogICAgIG1hY3JvKGNhdGNoKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgKaW5kZXggYjIzOTIwZTQ4ZjI4MjA4ZGZkZjkxNmE5NWUyMzk2M2I4MDNjNzU2NC4uNDMw
Y2IxNDVlOGUzNDg3YjkxNGI2NzZjNmJkOWFhNDE0Nzg4NDQwMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wdGlvbnMuaApAQCAtMzg3LDYgKzM4Nyw4IEBAIHR5cGVkZWYgY29uc3Qg
Y2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYob3B0aW9uU3RyaW5nLCBsbGludFN0YXRzRmlsZSwg
bnVsbHB0ciwgQ29uZmlndXJhYmxlLCAiRmlsZSB0byBjb2xsZWN0IExMSW50IHN0YXRpc3RpY3Mg
aW4iKSBcCiAgICAgXAogICAgIHYoYm9vbCwgdXNlU291cmNlUHJvdmlkZXJDYWNoZSwgdHJ1ZSwg
Tm9ybWFsLCAiSWYgZmFsc2UsIHRoZSBwYXJzZXIgd2lsbCBub3QgdXNlIHRoZSBzb3VyY2UgcHJv
dmlkZXIgY2FjaGUuIEl0J3MgZ29vZCB0byB2ZXJpZnkgZXZlcnl0aGluZyB3b3JrcyB3aGVuIHRo
aXMgaXMgZmFsc2UuIEJlY2F1c2UgdGhlIGNhY2hlIGlzIHNvIHN1Y2Nlc3NmdWwsIGl0IGNhbiBt
YXNrIGJ1Z3MuIikgXAorICAgIFwKKyAgICB2KGJvb2wsIHVzZUFzeW5jRnVuY3Rpb25zLCBmYWxz
ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgZW5hYmxlcyB0aGUgZXhwZXJpbWVudGFsICdhc3luYyBmdW5j
dGlvbicgbGFuZ3VhZ2UgZmVhdHVyZSIpIFwKIAogZW51bSBPcHRpb25FcXVpdmFsZW5jZSB7CiAg
ICAgU2FtZU9wdGlvbiwKQEAgLTQyNCw2ICs0MjYsNyBAQCBlbnVtIE9wdGlvbkVxdWl2YWxlbmNl
IHsKICAgICB2KGVuYWJsZUV4ZWN1dGFibGVBbGxvY2F0aW9uRnV6eiwgdXNlRXhlY3V0YWJsZUFs
bG9jYXRpb25GdXp6LCBTYW1lT3B0aW9uKSBcCiAgICAgdihlbmFibGVPU1JFeGl0RnV6eiwgdXNl
T1NSRXhpdEZ1enosIFNhbWVPcHRpb24pIFwKICAgICB2KGVuYWJsZURvbGxhclZNLCB1c2VEb2xs
YXJWTSwgU2FtZU9wdGlvbikgXAorICAgIHYoZW5hYmxlQXN5bmNGdW5jdGlvbnMsIHVzZUFzeW5j
RnVuY3Rpb25zLCBTYW1lT3B0aW9uKQogCiBjbGFzcyBPcHRpb25zIHsKIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMgYi9Ub29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCmluZGV4IDVmOWVhMzIxZDFjZjAyZDY4YWFkN2I5OTI2N2Vm
ZmFjMDk3MmEyZjUuLmRiYmY5YWU0ZGYxZDBhMDA4MjM0OGQxZTdkZGFjYjA1NjBhNDdjM2YgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKKysrIGIvVG9vbHMv
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwpAQCAtNzg3LDcgKzc4Nyw3IEBAIGRlZiBzbG93
IQogZW5kCiAKIGRlZiBydW4oa2luZCwgKm9wdGlvbnMpCi0gICAgYWRkUnVuQ29tbWFuZChraW5k
LCBbcGF0aFRvVk0udG9fc10gKyBCQVNFX09QVElPTlMgKyBvcHRpb25zICsgWyRiZW5jaG1hcmsu
dG9fc10sIHNpbGVudE91dHB1dEhhbmRsZXIsIHNpbXBsZUVycm9ySGFuZGxlcikKKyAgICBhZGRS
dW5Db21tYW5kKGtpbmQsIFtwYXRoVG9WTS50b19zXSArIEJBU0VfT1BUSU9OUyArIG9wdGlvbnMg
KyBBcnJheSgkcnVuQ29tbWFuZE9wdGlvbnNbOmV4dHJhT3B0aW9uc10pICsgWyRiZW5jaG1hcmsu
dG9fc10sIHNpbGVudE91dHB1dEhhbmRsZXIsIHNpbXBsZUVycm9ySGFuZGxlcikKIGVuZAogCiBk
ZWYgcnVuTm9GVEwKQEAgLTE0NDEsNiArMTQ0MSwxMCBAQCBkZWYgZGVmYXVsdFJ1bk5vaXN5VGVz
dAogICAgIGVuZAogZW5kCiAKK2RlZiBleHRyYU9wdGlvbnMob3B0cykKKyAgICAkcnVuQ29tbWFu
ZE9wdGlvbnNbOmV4dHJhT3B0aW9uc10gPSBBcnJheSgkcnVuQ29tbWFuZE9wdGlvbnNbOmV4dHJh
T3B0aW9uc10pICsgb3B0cworZW5kCisKIGRlZiBza2lwCiAgICAgJGRpZEFkZFJ1bkNvbW1hbmQg
PSB0cnVlCiAgICAgcHV0cyAiU2tpcHBpbmcgI3skY29sbGVjdGlvbk5hbWV9LyN7JGJlbmNobWFy
a30iCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDFiOTkyY2VlMGNlNjZlNTBmYWVmMzZmNDY3ZTI3ZTFmNDg4ZTU5NTIuLjYyOWJkMTdmOTRj
ZmI2MmM1NDhkMGZiZDBkOGYyNmZkOTY0NjFlZWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDktMDcg
IENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBs
ZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qczog
QWRkZWQuCisgICAgICAgICh0ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3RTeW50YXhFcnJvcik6
CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3lu
dGF4KToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKToK
KyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKToKKyAgICAg
ICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlLnRlc3RTeW50YXgpOgor
ICAgICAgICAodGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXguYXN5bmMpOgorICAgICAgICAodGVz
dE5lc3RlZEFzeW5jQXdhaXRTeW50YXguZm9vKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5j
QXdhaXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXhFcnJvcik6CisKIDIwMTYtMDktMDYgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUHJveHlPYmplY3QncyBz
dHJ1Y3R1cmUgc2hvdWxkIG5vdCBoYXZlIE9iamVjdFByb3RvdHlwZSBhcyBpdHMgcHJvdG90eXBl
IGFuZCBpdCBzaG91bGQgbm90IGhhdmUgc3BlY2lhbCBiZWhhdmlvciBmb3IgaW50ZXJjZXB0aW5n
ICJfX3Byb3RvX18iCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50
YXguanMgYi9KU1Rlc3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWNiZDU2ZmMyMGQ1OGY1ZjNlZWNjN2M2MzU5NDBhMTJmOGY1NGM4OQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qcwpAQCAtMCwwICsxLDI3OSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8vQCBleHRyYU9wdGlvbnMgWyItLXVzZUFz
eW5jRnVuY3Rpb25zPXRydWUiXQorCitmdW5jdGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAg
IHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAg
ICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFs
dWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50
YXhFcnJvcihzY3JpcHQsIG1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRy
eSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVy
cm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJFeHBlY3RlZCBzeW50YXggZXJyb3Igbm90IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIg
KyBzY3JpcHQgKyAiYCIpOworCisgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAm
JiBTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNj
cmlwdCArICJgIik7Cit9CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4
U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5
bmMgZnVuY3Rpb24gd2l0aE5hbWUoKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChg
dmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIGFzeW5jRm4gPSBhc3luYyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVz
dFN5bnRheChgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRl
c3RTeW50YXgoYHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBh
d2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3
YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkg
eyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0
aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMg
eyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNs
YXNzIEMgeyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFy
IGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgo
YHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRl
c3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAg
IHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1g
KTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0
TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5
bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAo
KSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIg
YXN5bmNGbiA9IGFzeW5jIHggPT4gYXdhaXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3lu
dGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAo
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNz
IEMgeyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7
IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAn
bWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0
IjsgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztg
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBm
b28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0Ijsg
ZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQp
OyB9YCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7
CisgICAgdmFyIGNvbnRleHREYXRhID0gWworICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91
dGVyRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsg
cHJlZml4OiAidmFyIG91dGVyRnVuY0V4cHIgPSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07
IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7
ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3Qg
PSB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3Mg
QyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4
cHIgPSBjbGFzcyBDIHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIg
fSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBD
IHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0s
CisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNz
IHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBw
cmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNz
IHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0s
CisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDog
IiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVu
Y3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckFzeW5jRnVuY0V4cHIgPSBhc3luYyBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAor
ICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4g
eyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBvdXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0
ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4
OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRp
Y0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJjbGFzcyBvdXRlckNsYXNzIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRp
YyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICBdOworCisgICAgdmFyIHRlc3REYXRhID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsg
cmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBsZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwK
KyAgICAgICAgYGNvbnN0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5j
dGlvbiBhc3luYygpIHt9IHJldHVybiBhc3luYygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBh
c3luYyA9PiBhc3luYzsgcmV0dXJuIGFzeW5jKCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygp
IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZv
byhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsg
dmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28o
YXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIg
YXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgp
IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0g
eyBtZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0g
eyAqbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAg
ICBgdmFyIE8gPSB7ICptZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAg
ICAgICBgKGZ1bmN0aW9uIGF3YWl0KCkge30pYCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29u
dGV4dCBvZiBjb250ZXh0RGF0YSkgeworICAgICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRh
KSB7CisgICAgICAgICAgICBsZXQgc2NyaXB0ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29u
dGV4dC5zdWZmaXg7CisgICAgICAgICAgICB0ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAg
fQorfSkoKTsKKworCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3Bw
eU1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uIGF3YWl0KCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5
bmMgKCkgPT4gdmFyIGF3YWl0ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFy
IGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVz
dCdgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24o
YXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFz
eW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKwor
ICAgIC8vIEZJWE1FOiBNZXRob2REZWZpbml0aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFs
UGFyYW1ldGVycyByZXN0cmljdGlvbnMKKyAgICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0
U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1g
KTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21l
dGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0
ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50
YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAg
IHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7
CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkg
e31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRv
cigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2Vu
ZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBh
c3luYyAqYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJv
cihgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0
IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9u
IGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZh
ciBmID0gYXN5bmMoeCA9IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2
YXIgTyA9IHsgYXN5bmMgbWV0aG9kKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFz
eW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlp
ZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5l
cmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFz
eW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0
cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBh
c3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9
OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOwor
CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdh
aXQgMSkgPT4geCkoKTtgKTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgp
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsg
fSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZv
bzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAo
KSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jLmZvbzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
YygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBm
b28xMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFz
eW5jKClbJ2ZvbzIxJ10gKCkgPT4gMWApOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZv
bzIyYCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9
PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOwor
ICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRl
c3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRl
c3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8g
YXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhh
dmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFz
eW5jKCkge30KKyAgICAgICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9
KSgpOworCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUo
KSB7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5
bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9
PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2
YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkg
PT4gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBm
dW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRo
b2QoYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
b3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMg
J21ldGhvZCcoYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3
YWl0O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0Zu
ID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgYXN5bmMgZnVuY3Rpb24qIGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1l
dGhvZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRo
b2QqKCkge30gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
YXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3
YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQgMSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyBy
ZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxk
ID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24q
IG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVy
R2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdl
bmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5j
IGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRp
YyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90
b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAv
LyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0g
KCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1
bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBm
b284ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5m
b285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3lu
YygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2ZvbzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSdd
IGZvbzIwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3lu
YygpWydmb28yMSddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmlj
dCI7IChhc3luY2Bmb28yMmAgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcign
InVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjVgICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVy
cm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAx
KScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJh
cjMyICgpID0+IDEpJyk7CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRo
cm93biBmb3IgY2FsbHMgdGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAg
ICAgICAgICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRo
JyArICdvZCddKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2Qo
YXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1
bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIDAoYXJndW1lbnRzKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9
KSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289286</attachid>
            <date>2016-09-19 17:02:18 -0700</date>
            <delta_ts>2016-09-19 17:14:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161409-20160919195932.patch</filename>
            <type>text/plain</type>
            <size>161304</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZjNmYmRjOTRkMDFlY2MzZjQ1MWM1OTYyNzc1N2JkZmQ5ZmNiYjQyLi4zMjUyMzFiMGY0ZDc1NTNm
ZWIxOGI3ODFiMjhiMGJkY2U1OTRmNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgQ2F0Y2hTY29wZSBhbmQgZm9yY2UgYWxsIGV4Y2VwdGlvbiBjaGVja3MgdG8g
YmUgdmlhIFRocm93U2NvcGUgb3IgQ2F0Y2hTY29wZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBjMDY4NTBiMGM2YjY4NjM1Y2E0NGM5YjhkMjg2NzU0MTUwMjI2NzJmLi4yNjA4NmVkMWQ3
NGVjNzM4N2Y2NmVlMmRhY2U0MWZiNzBlY2Y0YzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFU
SDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVf
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
W3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpd
ID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMiw0ICsyMDMsNCBA
QCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFC
TEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5U
UykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRT
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQo
RU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBM
QVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVO
QUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9V
bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCmluZGV4IDA1NGQ2M2RmNTlhNzg0
NzU1YjliYWU3ZmVkMmNkNzZiNTgwYzAyOWMuLmYwMjhkNDg4MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1
YTc2OGNkMzM0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9V
bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcApAQCAtODksNiArODksNyBA
QCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUo
Vk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0
KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5vZGUtPnNvdXJjZSgpLmxlbmd0aCgpIC0gMSkK
ICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+cGFyYW1ldGVyQ291bnQoKSkKICAgICAsIG1f
ZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFyc2VNb2RlKG5vZGUtPnBhcnNlTW9kZSgpKQog
ICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2RlLT5pc0luU3RyaWN0Q29udGV4dCgpKQogICAg
ICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxzZSkKICAgICAsIG1faXNCdWlsdGluRnVuY3Rp
b24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5jdGlvbikKQEAgLTk4LDcgKzk5LDYgQEAgVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICAsIG1fY29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGNvbW1lbnRNb2RlKSkKICAgICAsIG1fc3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpCiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlw
ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291
cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAg
ICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAgICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5h
bWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5vZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTEy
LDcgKzExMiw2IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgQVNTRVJUKG1fY29tbWVu
dE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSk7CiAgICAgQVNTRVJU
KG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRp
bmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRDb250ZXh0VHlwZSA9PSBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7Ci0gICAgQVNTRVJUKG1fc291cmNlUGFyc2VN
b2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5wYXJzZU1vZGUoKSkpOwogCiAgICAg
bV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2FwKHBhcmVudFNjb3BlVERaVmFyaWFibGVzKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1
bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXggMWUzY2JhZmZlYzI4ODdjNzk2MDdkNGQwNzc4
MzE0MzU2YTE4MGUzMi4uODlhYWI4YWJmNzE3MWU4ZDQ5OGNiNWFjMzE4NzQyZGM3MzA1NzA4MyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rp
b25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTE1NSw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAg
IHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9mZnNldDsKICAgICB1bnNpZ25lZCBtX3BhcmFt
ZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1cmVzOworICAgIFNvdXJjZVBhcnNl
TW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1bnNpZ25lZCBtX2lzSW5TdHJpY3RDb250ZXh0
IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNp
Z25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsKQEAgLTE2NCw3ICsxNjUsNiBAQCBwcml2YXRl
OgogICAgIHVuc2lnbmVkIG1fY29tbWVudE1vZGU6IDE7IC8vIEpTUGFyc2VyQ29tbWVudE1vZGUK
ICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6IDE7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVk
Q29udGV4dFR5cGU6IDI7Ci0gICAgdW5zaWduZWQgbV9zb3VyY2VQYXJzZU1vZGUgOiA0OyAvLyBT
b3VyY2VQYXJzZU1vZGUKIAogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJs
b2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ2FsbDsKICAgICBXcml0ZUJhcnJpZXI8VW5saW5r
ZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVCbG9ja0ZvckNvbnN0cnVjdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKaW5kZXggMjAwOTU0MzY4NGQ2MGUxMTBiM2JlODliMDNhMTFkMDI4NWUxMzFj
Mi4uMWYyZTE3MzU1NDQzMjZlMzM2YTE2NzlkMThmNGU3NGNjYTE5ZDZmNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAKQEAgLTI5NzcsMTcgKzI5NzcsMTQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXgKIAog
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihSZWdpc3RlcklEKiBkc3QsIEFycm93RnVuY0V4cHJOb2RlKiBmdW5jKQogewotICAgIEFT
U0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlKTsKKyAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2Rl
KCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSB8fCBmdW5jLT5tZXRhZGF0
YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1v
ZGUpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRh
ZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24oUmVnaXN0ZXJJRCogZHN0LCBNZXRob2REZWZp
bml0aW9uTm9kZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VN
b2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlCi0g
ICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9k
ZTo6R2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9
PSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEo
KS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlKTsKKyAgICBBU1NF
UlQoaXNNZXRob2RQYXJzZU1vZGUoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkpKTsKICAg
ICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7
CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBiY2RhYTI3MmNiOTUwODU4NjA4Y2EyYTc1
N2Y3YzQ2NGU0NzZkZmY1Li41NmE0NGI1MmZhNDYwYzBlNGRiYzExZTliYjM4MTY0ZjdlZGE5OWRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCkBAIC0zNDYyLDYgKzM0NjIsMTggQEAgUmVnaXN0ZXJJRCogWWllbGRFeHByTm9k
ZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQK
ICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRNb3ZlKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9u
KGRzdCksIHZhbHVlLmdldCgpKTsKIH0KIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIEF3YWl0RXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVn
aXN0ZXJJRCogQXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYXJn
ID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOworICAgIGdlbmVyYXRvci5lbWl0Tm9kZShhcmcu
Z2V0KCksIGFyZ3VtZW50KCkpOworICAgIFJlZlB0cjxSZWdpc3RlcklEPiB2YWx1ZSA9IGdlbmVy
YXRvci5lbWl0WWllbGQoYXJnLmdldCgpKTsKKyAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25v
cmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBnZW5lcmF0
b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkp
OworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogdm9pZCBDbGFzc0RlY2xOb2RlOjpl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCAxYzExM2Jh
ZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3MDAxLi5mZGJkMmY0ODQyMjg5OTBhNDA3NTBh
Zjc3NWMxMjNjZjBmYmM5ZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaApAQCAtMzY3LDYgKzM2NywxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBub2Rl
OwogICAgIH0KIAorICAgIEF3YWl0RXhwck5vZGUqIGNyZWF0ZUF3YWl0KGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCwgY29uc3QgSlNUZXh0
UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBlbmQpCisgICAgeworICAgICAgICBBU1NFUlQoYXJndW1lbnQpOworICAgICAg
ICBBd2FpdEV4cHJOb2RlKiBub2RlID0gbmV3IChtX3BhcnNlckFyZW5hKSBBd2FpdEV4cHJOb2Rl
KGxvY2F0aW9uLCBhcmd1bWVudCk7CisgICAgICAgIHNldEV4Y2VwdGlvbkxvY2F0aW9uKG5vZGUs
IHN0YXJ0LCBkaXZvdCwgZW5kKTsKKyAgICAgICAgcmV0dXJuIG5vZGU7CisgICAgfQorCiAgICAg
Q2xhc3NFeHByTm9kZSogY3JlYXRlQ2xhc3NFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9j
YXRpb24sIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxBU1RCdWlsZGVyPiYgY2xhc3NJbmZvLCBWYXJp
YWJsZUVudmlyb25tZW50JiBjbGFzc0Vudmlyb25tZW50LCBFeHByZXNzaW9uTm9kZSogY29uc3Ry
dWN0b3IsCiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBwYXJlbnRDbGFzcywgUHJvcGVydHlMaXN0
Tm9kZSogaW5zdGFuY2VNZXRob2RzLCBQcm9wZXJ0eUxpc3ROb2RlKiBzdGF0aWNNZXRob2RzKQog
ICAgIHsKQEAgLTM4Miw2ICszOTAsMTcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKKyAg
ICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBtX3Nv
dXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rpb25JbmZvLnN0YXJ0T2Zmc2V0LCBmdW5jdGlv
bkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24oKSA/IGZ1bmN0aW9uSW5m
by5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZvLmVuZE9mZnNldCwgZnVuY3Rpb25JbmZvLnN0
YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlcnNTdGFydENvbHVtbik7CisgICAgICAgICAg
ICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVuY0V4cHJOb2Rl
KGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LCBzb3VyY2Up
OworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJvZHktPnNldExvYyhmdW5jdGlvbkluZm8uc3Rh
cnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAg
ICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGZ1bmN0aW9u
SW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZU1ldGhvZERlZmluaXRp
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25J
bmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8pCiAgICAgewogICAgICAgICBNZXRob2REZWZp
bml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBNZXRob2REZWZpbml0aW9u
Tm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5uYW1lLCBmdW5jdGlvbkluZm8uYm9keSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCmluZGV4IDQ1ODJkMDBh
YWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVkMmEuLjJmN2RmYzU1YzBkYThjMDMxZDY2NDMy
MTM2ZTc0ODg4YmJiY2Y5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3
b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1ZQkJVFJVRVRPS0VOCiBmYWxzZQkJRkFMU0VU
T0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQgICAgICAgQVdBSVQKIGJyZWFrCQlCUkVBSwogY2Fz
ZQkJQ0FTRQogY2F0Y2gJCUNBVENICmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDY5YjQ0MjhlODc5Y2E4MDBlOWNhMWI4N2IzNjJhMjM3
MDg4NzdiYzYuLmMxZDU0N2JjN2Y5MDFjMDZjNjUzOTg2Mjg5ZDM1YjU0NTIwNTAzNjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC05
MzgsNiArOTM4LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKKyAgICBpbmxp
bmUgQXdhaXRFeHByTm9kZTo6QXdhaXRFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpCisgICAgICAgIDogRXhwcmVzc2lvbk5v
ZGUobG9jYXRpb24pCisgICAgICAgICwgbV9hcmd1bWVudChhcmd1bWVudCkKKyAgICB7CisgICAg
fQorCiAgICAgaW5saW5lIENsYXNzRGVjbE5vZGU6OkNsYXNzRGVjbE5vZGUoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGNsYXNzRGVjbGFyYXRpb24pCiAg
ICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2NsYXNzRGVjbGFy
YXRpb24oY2xhc3NEZWNsYXJhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApp
bmRleCA1OGUyNzQ1M2RkMDA1Mzc2NzAzYmQzODM3OTViNGEwMTEzNWY4NjA0Li5iMGM0OTdhMGVl
YjU3NzhkMGVlZmY3ZjI1NDdiMzgyZjE0ZDk2YTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2Rlcy5oCkBAIC0yMDA3LDYgKzIwMDcsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IGJvb2wgbV9kZWxlZ2F0ZTsKICAgICB9OwogCisgICAgY2xhc3MgQXdhaXRFeHByTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVibGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRh
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIEF3YWl0RXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50KTsKKworICAgICAgICBFeHByZXNzaW9uTm9k
ZSogYXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2FyZ3VtZW50OyB9CisKKyAgICBwcml2YXRl
OgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBS
ZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2Fy
Z3VtZW50OworICAgIH07CisKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGlj
IEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVmFyaWFibGVFbnZpcm9ubWVudE5vZGUgewogICAgIHB1
YmxpYzoKICAgICAgICAgdXNpbmcgUGFyc2VyQXJlbmFEZWxldGFibGU6Om9wZXJhdG9yIG5ldzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCAyNjE3NDVhMTkwMzE3
ZGU3NTkxMmUzYTkyM2ZhOWYyODg3NDg2M2Q2Li44YjBjN2RiN2Y3MGViN2M3ZDNkNWI3NjMzNTBi
NWJjZjY5M2RhYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBA
IC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVz
ZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKICAg
ICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnKSBcCiAgICAgICAgIHNlbWFu
dGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29yZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAi
LCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1f
dG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFpbCgiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAi
LCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOyBc
CiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtMjU2LDE1ICsyNTgsMTUg
QEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXIm
IGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBzY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUo
KTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFz
ZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNl
UGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9
IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPSBwYXJzZU1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAmJiAhbWF0
Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmdGdW5jdGlvbigpKSB7
CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiBmdW5jdGlvbkluZm87Ci0g
ICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZSkKKyAgICAgICAgaWYgKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbkJvZHlQ
YXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAgICAgIG1fcGFyYW1ldGVycyA9IGNyZWF0ZUdl
bmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50KTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gcGFyc2VGdW5jdGlvblBh
cmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBmdW5jdGlvbkluZm8pOwogCi0gICAgICAgIGlm
IChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSAmJiAhaGFz
RXJyb3IoKSkgeworICAgICAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAhaGFzRXJyb3IoKSkgewogICAgICAgICAgICAg
Ly8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUgYW4gZXJyb3Igd2lsZSByZXBhcnNpbmcgaXMg
aWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4KICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI4MSwxNiAr
MjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVu
dGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgU291cmNlRWxlbWVudHMqIHNv
dXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAvLyBUaGUgb25seSB3YXkgd2UgY2FuIGVycm9y
IHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBhIGZ1bmN0aW9uIGFuZCB3ZSBydW4gb3V0IG9m
IHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJyb3IoKSkgewotICAgICAgICBpZiAoaXNBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAgICAgIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFw
cGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBh
cnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSwgaXNBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIGVs
c2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQogICAgICAgICAgICAgc291cmNl
RWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNlIGlmIChpc01vZHVsZVBhcnNlTW9kZShwYXJz
ZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZU1vZHVsZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAg
aWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1
bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgfQorICAgICAg
ICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRv
ckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1l
bnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CiAgICAgfQogCiAgICAgYm9vbCB2YWxp
ZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAgLTMxMCw3ICszMTIsNyBAQCBTdHJpbmcgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwg
U291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYgZW50cnkgOiBjYXB0dXJlZFZhcmlhYmxlcykK
ICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtWYXJpYWJsZUFzQ2FwdHVyZWQoZW50cnkpOwog
Ci0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJG
dW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSB8fCBp
c0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpIHsKICAgICAgICAgaWYg
KHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1l
bnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250ZXh0LnByb3BhZ2F0ZUFyZ3VtZW50c1VzZSgp
OwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBAIHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRp
ZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNB
cnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0gICAgYm9vbCBpc09wZW5QYXJlbiA9IG1hdGNo
KE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50ID0gbWF0Y2goSURFTlQpOwotICAgIAotICAg
IGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Ci0gICAgU2F2ZVBvaW50IHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKLSAgICAgICAgCi0gICAgaWYgKGlz
SWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtYXRj
aChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FTU0VSVChp
c09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgU2F2ZVBv
aW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICAgICAg
bmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAg
IGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwpAQCAtMzgwLDE0ICszNzEs
MjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygp
CiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFtZXRlcnNDb3VudCA9IDA7CiAgICAgICAgICAg
ICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwg
c3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KCksIHBhcmFtZXRlcnNDb3Vu
dCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICAg
ICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9wU2NvcGUoZmFrZVNjb3BlLCBzeW50YXhDaGVj
a2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAgICAgICAgIH0KKyAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dG
dW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAgIHJldHVybiBpc0Fycm93RnVuY3Rpb247CisK
KyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZl
QXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsK
KyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKKyAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAg
cmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CkBAIC01NDAsNiArNTM5LDUwIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQoreworICAgIEFTU0VSVChpc0Fz
eW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpOworICAgIGF1dG8gc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisKKyAgICB1bnNpZ25l
ZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBKU1Rva2VuTG9jYXRp
b24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2Nh
dGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xv
Y2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRp
ZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJhbWV0ZXJzKGNvbnRleHQsIGluZm8ucGFyYW1l
dGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZzZXQgPSBwYXJhbWV0ZXJzU3RhcnQ7CisgICAg
aW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQ
YXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOwor
ICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUodGhp
cywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3luY0Z1bmN0aW9uQm9keVNjb3BlLT5zZXRTb3Vy
Y2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOworICAgICAgICBTeW50YXhDaGVja2VyIGFzeW5j
RnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Cisg
ICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgICAgIGZh
aWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxl
bWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFz
eW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZh
bHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQsIG1vZGUpLCAiQ2Fu
bm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgICAgIHBvcFNjb3Bl
KGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUlu
Zm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uTWV0YWRh
dGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgdG9rZW5Db2x1
bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtX3N1cGVyQmluZGlu
ZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQYXJzZU1vZGUsIGlzQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5kTGluZSA9IHRva2VuTGluZSgpOworICAgIGlu
Zm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gPyB0b2tlbkxvY2F0
aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8ucGFyYW1l
dGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47CisKKyAgICBhdXRvIGZ1bmN0aW9uRXhwciA9
IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgaW5mbywgaW5u
ZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVtZW50ID0gY29udGV4dC5jcmVhdGVFeHByU3Rh
dGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9uRXhwciwgc3RhcnQsIG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVu
dHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4gc291cmNlRWxlbWVudHM7Cit9CisKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVk
KiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewogICAgIC8vIFRoZSBncmFtbWFyIGlzIGRvY3Vt
ZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAog
ICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVuZGVyIGEgZ2VuZXJhdG9yIGNvbnRleHQsIG1h
dGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxkIiByZXR1cm5zIGBmYWxzZWAuCiAgICAgICAg
ICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBlbnRlciBwYXJzZVZhcmlhYmxlRGVjbGFyYXRp
b24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRoZSBjb250ZXh0IG9mIHBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8gcmFpc2UgY29uc2lzdGVudCBlcnJvcnMgYmV0
d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIuCi0gICAgICAgICAgICBpZiAoIShtYXRjaChJ
REVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkpICYmICFtYXRjaChPUEVOQlJBQ0Up
ICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkg
fHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkgfHwgbWF0Y2goQVdBSVQpKSAmJiAhbWF0Y2go
T1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQogICAgICAgICAgICAgICAgIHNob3Vs
ZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9CkBAIC01ODIsNiArNjI1LDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJh
dGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJREVOVDoKKyNpZiBFTkFC
TEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAoVU5MSUtFTFkoKm1f
dG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAg
ICAgICAgICAgLy8gRWFnZXJseSBwYXJzZSBhcyBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24uIFRo
aXMgaXMgdGhlIHVuY29tbW9uIGNhc2UsCisgICAgICAgICAgICAvLyBidXQgY291bGQgYmUgbWlz
dGFrZW5seSBwYXJzZWQgYXMgYW4gQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24uCisgICAgICAgICAg
ICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgICAgICBu
ZXh0KCk7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xl
eGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNl
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQp
OworICAgICAgICB9CisgICAgICAgIEZBTExUSFJPVUdIOworI2VuZGlmCisgICAgY2FzZSBBV0FJ
VDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIC8vIFRoaXMgaXMgYSBjb252ZW5pZW50IHBs
YWNlIHRvIG5vdGljZSBsYWJlbGVkIHN0YXRlbWVudHMKICAgICAgICAgLy8gKGV2ZW4gdGhvdWdo
IHdlIGFsc28gcGFyc2UgdGhlbSBhcyBub3JtYWwgc3RhdGVtZW50cykKQEAgLTY5MCw2ICs3NDgs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVjbAogICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRp
ZmllcigpKSB7CiAgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0
aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9u
VHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24pLCAKICAgICAgICAgICAg
ICAgICAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2Fs
RGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRl
Y2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKGRlY2xhcmF0aW9uVHlwZSksICIgIiwgZGlzYWxs
b3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9u
IHZhclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBKU1Rva2VuTG9j
YXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgaWRl
bnRTdGFydCA9IHZhclN0YXJ0OwpAQCAtMTAxMSw2ICsxMDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNsYXNzaWZ5RXhwcmVzc2lv
bkVycm9yKEVycm9ySW5kaWNhdGVzUGF0dGVybiwgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChpc0V2YWxPckFyZ3VtZW50
cywgIkNhbm5vdCBtb2RpZnkgJyIsIHByb3BlcnR5TmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3Qg
bW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoaWRlbnRpZmllclRva2Vu
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxl
S2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsK
ICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0ZXJuID0gY3JlYXRlQmluZGluZ1BhdHRlcm4o
Y29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKnByb3BlcnR5TmFtZSwgaWRlbnRpZmllclRva2Vu
LCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRlbnRpZmllcik7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEwNzksNiArMTEzOSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFy
YW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQog
ICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkgJiYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tp
bmQ6OkRlc3RydWN0dXJlVG9MZXQgfHwga2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1
Y3R1cmVUb0NvbnN0KSwgIkNhbid0IHVzZSAnbGV0JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9y
IGEgTGV4aWNhbERlY2xhcmF0aW9uIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBh
ICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJpYWJsZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2Fs
bG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CiAgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVC
aW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEu
aWRlbnQsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAg
ICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKQEAgLTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICByZXN1bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFy
YXRpb24oY29udGV4dCwgRGVjbGFyYXRpb25UeXBlOjpWYXJEZWNsYXJhdGlvbik7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgRlVOQ1RJT046IHsKLSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkp
IHsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGlu
c2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7
Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgewotICAgICAg
ICAgICAgICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxv
Y2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MKLSAgICAgICAgICAgICAgICAvLyBpbiBh
biBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ug
d2lsbCBtYWdpY2FsbHkKLSAgICAgICAgICAgICAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYv
ZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgotICAgICAgICAgICAg
ICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgotICAgICAg
ICAgICAgICAgIC8vIGZ1bmN0aW9uIGEoKSB7Ci0gICAgICAgICAgICAgICAgLy8gICAgIGlmIChj
b25kKSBmdW5jdGlvbiBmb28oKSB7IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAg
ICAgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rp
b24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9v
KCkgeyB9IH0KLSAgICAgICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgQXV0b1BvcFNj
b3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgICAgICAgICAgICAgIGJs
b2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29w
ZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOwotICAgICAgICAgICAgICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwotICAgICAgICAgICAgICAgIGludCBzdGFy
dCA9IHRva2VuTGluZSgpOwotCi0gICAgICAgICAgICAgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlv
biA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKLSAgICAgICAgICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOwotICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAi
RXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3RhdGVtZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29y
ZCIpOwotICAgICAgICAgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9
IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKLSAgICAgICAgICAgICAgICBjb250ZXh0
LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgZnVuY3Rpb24pOwotICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJj
ZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2Nv
cGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VG
dW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKLSAgICAgICAgICAgICAgICBwb3BTY29wZShibG9ja1Nj
b3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMg
aWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAg
ICAgICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KLSAgICAgICAgICAgICAgICAvLyBG
SVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTgxMwotICAg
ICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7Ci0gICAgICAgICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rp
b24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2gg
c3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMg
PSBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0
YXRlbWVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFNFTUlDT0xPTjogewpA
QCAtMTcxOSw2ICsxNzQ1LDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIC8v
IFRoZXNlIHRva2VucyBpbXBseSB0aGUgZW5kIG9mIGEgc2V0IG9mIHNvdXJjZSBlbGVtZW50cwog
ICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIElERU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEu
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF5YmVQYXJzZUFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChjb250ZXh0LCByZXN1bHQsIHBhcmVudEFsbG93c0Z1
bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkpKQorICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIEZBTExUSFJPVUdIOworI2VuZGlmCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxE
OiB7CiAgICAgICAgIGJvb2wgYWxsb3dGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQgPSBm
YWxzZTsKICAgICAgICAgcmVzdWx0ID0gcGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudChj
b250ZXh0LCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CkBAIC0xNzQ0LDYg
KzE3NzYsNjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rp
b25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIHNlbWFudGljRmFpbElmVHJ1ZShzdHJp
Y3RNb2RlKCksICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUg
YmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7CisgICAgZmFpbElm
RmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rp
b24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMg
b3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKKyAgICBpZiAoIWN1cnJlbnRTY29w
ZSgpLT5pc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAgLy8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXgg
Qi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sK
KyAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZpb3IuCisgICAgICAgIC8vIEZJWE1FOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCisgICAgICAgIERlcHRo
TWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgICAgIG1fc3Rh
dGVtZW50RGVwdGggPSAxOworICAgICAgICBpZiAoaXNBc3luYykKKyAgICAgICAgICAgIHJldHVy
biBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJu
IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICB9CisKKyAgICAvLyBBbnkg
ZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24ndCBpbiBhIGJsb2NrIGlzIGEgc3ludGF4IGVy
cm9yIHVubGVzcyBpdCdzCisgICAgLy8gaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQuIElmIGl0J3Mg
aW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQsIHdlIHdpbGwgbWFnaWNhbGx5CisgICAgLy8gdHJlYXQg
aXQgYXMgaWYgdGhlIGlmL2Vsc2Ugc3RhdGVtZW50IGlzIGluc2lkZSBhIGJsb2NrIHN0YXRlbWVu
dC4KKyAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlrZSBhICJ2YXIiLiBGb3IgZXhhbXBsZToKKyAg
ICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAgICBpZiAoY29uZCkgZnVuY3Rpb24gZm9vKCkg
eyB9CisgICAgLy8gfQorICAgIC8vIHdpbGwgYmUgcmV3cml0dGVuIGFzOgorICAgIC8vIGZ1bmN0
aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSB7IGZ1bmN0aW9uIGZvbygpIHsgfSB9Cisg
ICAgLy8gfQorICAgIEF1dG9Qb3BTY29wZVJlZiBibG9ja1Njb3BlKHRoaXMsIHB1c2hTY29wZSgp
KTsKKyAgICBibG9ja1Njb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOworICAgIGJsb2NrU2NvcGUt
PnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICBpbnQgc3RhcnQgPSB0b2tlbkxpbmUoKTsKKworICAgIFRy
ZWVTdGF0ZW1lbnQgZnVuY3Rpb24gPSAwOworICAgIGlmICghaXNBc3luYykKKyAgICAgICAgZnVu
Y3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgZWxzZQorICAg
ICAgICBmdW5jdGlvbiA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwor
ICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3Rl
ZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Cisg
ICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3Vy
Y2VFbGVtZW50cygpOworICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRz
LCBmdW5jdGlvbik7CisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUJs
b2NrU3RhdGVtZW50KGxvY2F0aW9uLCBzb3VyY2VFbGVtZW50cywgc3RhcnQsIG1fbGFzdFRva2Vu
RW5kUG9zaXRpb24ubGluZSwgY3VycmVudFNjb3BlKCktPmZpbmFsaXplTGV4aWNhbEVudmlyb25t
ZW50KCksIGN1cnJlbnRTY29wZSgpLT50YWtlRnVuY3Rpb25EZWNsYXJhdGlvbnMoKSk7CisgICAg
cG9wU2NvcGUoYmxvY2tTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6bWF5
YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29u
dGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVj
bGFyYXRpb25Bc1N0YXRlbWVudCkKK3sKKyAgICBBU1NFUlQoKm1fdG9rZW4ubV9kYXRhLmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKKyAgICBTYXZlUG9pbnQgc2F2ZVBvaW50
ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgbmV4dCgpOworICAgIGlmIChtYXRjaChGVU5DVElP
TikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpIHsKKyAgICAgICAgY29uc3QgYm9vbCBp
c0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9u
U3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IGxpc3QsIHVuc2lnbmVkJiBwYXJhbWV0ZXJDb3Vu
dCkKIHsKICNkZWZpbmUgZmFpbElmRHVwbGljYXRlSWZWaW9sYXRpb24oKSBcCkBAIC0xNzY1LDYg
KzE4NTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQgogICAgICAgICAKICAgICAgICAgaWYg
KG1hdGNoKERPVERPVERPVCkpIHsKICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZSghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0ICYmIG1hdGNoKEFXQUlU
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgcGFyYW1ldGVyIG5hbWUgaW4gYW4gYXN5bmMgZnVu
Y3Rpb24iKTsKICAgICAgICAgICAgIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBkZXN0cnVjdHVy
aW5nUGF0dGVybiA9IHBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4oY29udGV4dCwgRGVzdHJ1Y3R1
cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9QYXJhbWV0ZXJzLCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRl
ZCwgJmR1cGxpY2F0ZVBhcmFtZXRlciwgJmhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuKTsKICAgICAg
ICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgICAgICBwYXJhbWV0ZXIgPSBjb250ZXh0
LmNyZWF0ZVJlc3RQYXJhbWV0ZXIoZGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIHBhcmFtZXRlckNvdW50
KTsKQEAgLTE4MjksNiArMTkyNCwxNCBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2RlKQogICAgICAgICByZXR1cm4gImdlbmVyYXRv
ciBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
OgogICAgICAgICByZXR1cm4gImFycm93IGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBmdW5jdGlvbiI7CisgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZToKKyAgICAgICAgcmV0dXJuICJh
c3luYyBtZXRob2QiOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Cb2R5TW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
TW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBhcnJvdyBmdW5jdGlvbiI7CiAgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVBbmFseXplTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVh
dGVNb2RlOgpAQCAtMTg0MSwxMiArMTk0NCwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2RlKQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXIsIGNsYXNzIEZ1bmN0aW9u
SW5mb1R5cGU+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4
dCwgU291cmNlUGFyc2VNb2RlIG1vZGUsIEZ1bmN0aW9uSW5mb1R5cGUmIGZ1bmN0aW9uSW5mbykK
IHsKLSAgICBSRUxFQVNFX0FTU0VSVChtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlICYmIG1vZGUg
IT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUpOworICAgIFJFTEVBU0VfQVNT
RVJUKCEoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
RXZhbHVhdGVNb2RlKS5jb250YWlucyhtb2RlKSkpOwogICAgIFRyZWVGb3JtYWxQYXJhbWV0ZXJM
aXN0IHBhcmFtZXRlckxpc3QgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKTsK
ICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBv
aXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhh
c2U6OlBhcmFtZXRlcnMpOwogICAgIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
QXJyb3dGdW5jdGlvbk1vZGUpIHsKLSAgICAgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNo
KE9QRU5QQVJFTikpIHsKKyAgICBpZiAoVU5MSUtFTFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3Vy
Y2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpKSkpIHsKKyAgICAgICAgaWYgKCFtYXRjaFNw
ZWNJZGVudGlmaWVyKCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKICAgICAgICAgICAgIHNlbWFu
dGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFt
ZSIpOwogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5j
dGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTE5MzcsNyArMjA0
MCw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICBTY29wZVJlZiBwYXJlbnRTY29w
ZSA9IGN1cnJlbnRTY29wZSgpOwogCi0gICAgYm9vbCB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKTsKKyAgICBib29sIGlzRGlzYWxsb3dlZEF3YWl0
RnVuY3Rpb25OYW1lID0gaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pOworICAg
IGNvbnN0IGNoYXIqIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uID0gaXNEaXNh
bGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPyBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29u
KCkgOiBudWxscHRyOworCiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShtb2Rl
KTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1
cGVyQmluZGluZyk7CkBAIC0xOTc5LDcgKzIwODQsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZAogICAgICAgICAgICAgQVNTRVJUKGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIEZ1bmN0aW9u
Qm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZTsKLSAgICAgICAgICAgIGlmIChtb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpCisgICAgICAgICAgICBpZiAoVU5MSUtFTFko
U291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKQog
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJv
d0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlv
bkJvZHlCbG9jazsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBmdW5jdGlvbkJv
ZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKQEAgLTIwMjIsNyArMjEyNyw3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNr
ZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKIAotICAgIGlmIChtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtF
TFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUp
KSkpIHsKICAgICAgICAgc3RhcnRMb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKICAgICAgICAg
ZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSA9IHRva2VuTGluZSgpOwogICAgICAgICBzdGFydENvbHVt
biA9IHRva2VuQ29sdW1uKCk7CkBAIC0yMDM3LDcgKzIxNDIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZAogICAgICAgICB7CiAgICAgICAgICAgICAvLyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVy
cyB3aXRoIFsrWWllbGRdIHBhcmFtZXRlcml6YXRpb24sIGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4
cHJlc3Npb25zCiAgICAgICAgICAgICAvLyBpbiBBcnJvd0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBF
UzYgI3NlYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5
LWVycm9ycy4KLSAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29w
ZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7
CisgICAgICAgICAgICBTY29wZTo6TWF5YmVQYXJzZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VB
c0dlbmVyYXRvcihmdW5jdGlvblNjb3BlLCBwYXJlbnRTY29wZS0+aXNHZW5lcmF0b3IoKSk7Cisg
ICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBvdmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJT
dGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKG1vZGUpKTsKICAgICAg
ICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0
aW9uSW5mbyk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICB9CkBAIC0y
MDY5LDIxICsyMTc1LDI4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIC8vIEdl
bmVyYXRvckV4cHJlc3Npb24gOgogICAgICAgICAvLyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRl
bnRpZmllcltZaWVsZF1vcHQgKCBGb3JtYWxQYXJhbWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9y
Qm9keSB9CiAgICAgICAgIC8vCi0gICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVz
c2lvbiBjYW4gYWNjZXB0ICJ5aWVsZCIgZXZlbiBpbiB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3Iu
Ci0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlv
blR5cGU6OkV4cHJlc3Npb24gJiYgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0
aW9uTW9kZSkKLSAgICAgICAgICAgIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAg
ICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4cHJlc3Npb24gYW5kIEFzeW5jRnVuY3Rpb25F
eHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVy
YXRvci4KKyAgICAgICAgYm9vbCB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAg
ICAgaWYgKCEoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBl
OjpFeHByZXNzaW9uICYmIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6Ok5vcm1h
bEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSkuY29udGFp
bnMobW9kZSkpKQorICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29w
ZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAgICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0
aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkgewogICAgICAgICAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUg
JiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4gc3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1
aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3
aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBjYWxsZXIgc2lkZS4iKTsKICAgICAgICAgICAg
IGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVyU2NvcGVJc0dlbmVyYXRvcikpIHsKICAgICAg
ICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAg
ICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFzdEZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSW5m
by5uYW1lOworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShpc0Rpc2FsbG93ZWRBd2FpdEZ1
bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5j
dGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9u
IHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSksICJDYW5ub3QgZGVjbGFy
ZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIsIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1l
UmVhc29uKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVy
UGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlUKSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBl
ID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24pCisgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xhcmUgYXN5bmMgZnVuY3Rpb24gbmFtZWQgJ2F3
YWl0JyIpOwogICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICBpZiAoIW5h
bWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAgICAgICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZT
dHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZUNhbGxlZShmdW5jdGlvbkluZm8ubmFtZSkgJiBE
ZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICInIiwgZnVuY3Rpb25JbmZvLm5h
bWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVx
dWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6TmFtZWQpIHsKLSAgICAgICAg
ICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgIGlm
IChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElm
VHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCAiRnVuY3Rp
b24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1v
ZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3Jk
KHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAgICAgICAgICAg
ZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtMjEwMSw4ICsyMjE0LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAg
ICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0
aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgICAgIHsKKyAgICAgICAg
ICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFs
bG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9kZSkpOworICAgICAgICAgICAg
cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZv
KTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0
IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7
CiAgICAgICAgIApAQCAtMjE0OSw5ICsyMjY1LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBzeW50YXhDaGVja2Vy
LCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgZXhwZWN0ZWRT
dXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5cGUsIGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJDb3Vu
dCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFw
cGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAgICAgIEF1dG9Qb3BTY29wZVJlZiBnZW5lcmF0b3JC
b2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUt
PnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlubmVyUGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQ
YXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAgICAgIGlubmVyUGFyc2VNb2RlID0gbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUKKyAgICAgICAgICAgICAgICA/
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUKKyAgICAgICAgICAg
ICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOworICAgICAgICB9
CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFy
c2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRDb25zdHJ1Y3RvcktpbmQo
Q29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRF
eHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1cGVyQmluZGluZyk7CiAKQEAgLTIxNzAsNyAr
MjI5Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgaWYg
KGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiByZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25O
YW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgIEFTU0VSVChmdW5jdGlvbkluZm8u
bmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpO
b3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUg
fHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSk7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9k
ZSwgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLCBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpIHx8IGlz
QXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpOwogICAgICAgICBzZW1hbnRpY0Zh
aWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICpmdW5jdGlvbkluZm8u
bmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBm
dW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBm
dW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1l
IGluIHN0cmljdCBtb2RlIik7CiAgICAgfQpAQCAtMjI4NSw2ICsyNDA3LDYwIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VGdW5jdGlvbkRlY2xhCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBFeHBv
cnRUeXBlIGV4cG9ydFR5cGUsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgZGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rv
a2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5j
dGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAgU291cmNlUGFyc2VN
b2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAg
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cyA9IEZ1bmN0aW9uTmFtZVJlcXVp
cmVtZW50czo6TmFtZWQ7CisgICAgaWYgKGRlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPT0gRGVj
bGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCkgeworICAgICAgICAvLyBVbmRl
ciB0aGUgImV4cG9ydCBkZWZhdWx0IiBjb250ZXh0LCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBkb2Vz
IG5vdCByZXF1aXJlIHRoZSBmdW5jdGlvbiBuYW1lLgorICAgICAgICAvLworICAgICAgICAvLyAg
ICAgRXhwb3J0RGVjbGFyYXRpb246CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8v
ICAgICAgICAgZXhwb3J0IGRlZmF1bHQgSG9pc3RhYmxlRGVjbGFyYXRpb25bfllpZWxkLCArRGVm
YXVsdF0KKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAg
IEhvaXN0YWJsZURlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAg
ICBGdW5jdGlvbkRlY2xhcmF0aW9uWz9ZaWVsZCwgP0RlZmF1bHRdCisgICAgICAgIC8vICAgICAg
ICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAgICAgICAgLy8KKyAg
ICAgICAgLy8gICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAg
ICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24g
KCBGb3JtYWxQYXJhbWV0ZXJzW35ZaWVsZF0gKSB7IEZ1bmN0aW9uQm9keVt+WWllbGRdIH0KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uW1lpZWxkLCBEZWZh
dWx0XToKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBbK0RlZmF1
bHRdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzWytZaWVsZF0gKSB7IEdlbmVyYXRvckJv
ZHkgfQorICAgICAgICAvLworICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIHVzZSAiKmRlZmF1
bHQqIiBhcyB0aGlzIGZ1bmN0aW9uIGRlY2xhcmF0aW9uJ3MgbmFtZS4KKyAgICAgICAgcmVxdWly
ZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lOworICAgICAgICBmdW5jdGlv
bkluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVm
YXVsdFByaXZhdGVOYW1lKCk7CisgICAgfQorCisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIHJlcXVpcmVtZW50cywgcGFyc2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpEZWNsYXJhdGlvbikpLCAi
Q2Fubm90IHBhcnNlIHRoaXMgYXN5bmMgZnVuY3Rpb24iKTsKKyAgICBmYWlsSWZGYWxzZShmdW5j
dGlvbkluZm8ubmFtZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFt
ZSIpOworCisgICAgc3RkOjpwYWlyPERlY2xhcmF0aW9uUmVzdWx0TWFzaywgU2NvcGVSZWY+IGZ1
bmN0aW9uRGVjbGFyYXRpb24gPSBkZWNsYXJlRnVuY3Rpb24oZnVuY3Rpb25JbmZvLm5hbWUpOwor
ICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGZ1bmN0aW9uRGVj
bGFyYXRpb24uZmlyc3Q7CisgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGRlY2xhcmF0aW9uUmVzdWx0
ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRTdHJpY3RNb2RlLCAiQ2Fubm90IGRlY2xhcmUg
YW4gYXN5bmMgZnVuY3Rpb24gbmFtZWQgJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICIn
IGluIHN0cmljdCBtb2RlIik7CisgICAgaWYgKGRlY2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRp
b25SZXN1bHQ6OkludmFsaWREdXBsaWNhdGVEZWNsYXJhdGlvbikKKyAgICAgICAgaW50ZXJuYWxG
YWlsV2l0aE1lc3NhZ2UoZmFsc2UsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiB0
aGF0IHNoYWRvd3MgYSBsZXQvY29uc3QvY2xhc3MvZnVuY3Rpb24gdmFyaWFibGUgJyIsIGZ1bmN0
aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CisgICAgaWYgKGV4cG9y
dFR5cGUgPT0gRXhwb3J0VHlwZTo6RXhwb3J0ZWQpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZG
YWxzZShleHBvcnROYW1lKCpmdW5jdGlvbkluZm8ubmFtZSksICJDYW5ub3QgZXhwb3J0IGEgZHVw
bGljYXRlIGZ1bmN0aW9uIG5hbWU6ICciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyIp
OworICAgICAgICBtX21vZHVsZVNjb3BlRGF0YS0+ZXhwb3J0QmluZGluZygqZnVuY3Rpb25JbmZv
Lm5hbWUpOworICAgIH0KKworICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gY29udGV4dC5jcmVh
dGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICBpZiAoVHJl
ZUJ1aWxkZXI6OkNyZWF0ZXNBU1QpCisgICAgICAgIGZ1bmN0aW9uRGVjbGFyYXRpb24uc2Vjb25k
LT5hcHBlbmRGdW5jdGlvbihnZXRNZXRhZGF0YShmdW5jdGlvbkluZm8pKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNs
YXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlw
ZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQog
ewogICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7CkBAIC0yNDAxLDggKzI1NzcsMTIgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgYm9vbCBpc0dldHRlciA9IGZhbHNlOwog
ICAgICAgICBib29sIGlzU2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3Ig
PSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5jTWV0aG9kID0gZmFsc2U7CiAgICAgICAgIGlm
IChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5V
U0VEX0xBQkVMKHBhcnNlTWV0aG9kKTsKK3BhcnNlTWV0aG9kOgogICAgICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CiAgICAgICAgIG5hbWVkS2V5d29yZDoKICAgICAgICAgY2FzZSBTVFJJ
Tkc6CkBAIC0yNDExLDEyICsyNTkxLDIwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAg
ICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJREVOVDoK
KyAgICAgICAgY2FzZSBBV0FJVDoKICAgICAgICAgICAgIGlkZW50ID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CiAgICAgICAgICAgICBBU1NFUlQoaWRlbnQpOwogICAgICAgICAgICAgbmV4dCgpOwot
ICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3Jk
KCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8
IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKKyAgICAgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYg
IWlzQXN5bmNNZXRob2QgJiYgKG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNU
UklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRjaChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJB
Q0tFVCkpKSB7CiAgICAgICAgICAgICAgICAgaXNHZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlO
YW1lcy5nZXQ7CiAgICAgICAgICAgICAgICAgaXNTZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlO
YW1lcy5zZXQ7CisKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAm
JiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSAmJiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAg
IGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBET1VCTEU6CkBAIC0yNDQ4LDcg
KzI2MzYsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKICAgICAgICAgICAgIGJvb2wgaXND
b25zdHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5j
b25zdHJ1Y3RvcjsKICAgICAgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7Ci0gICAgICAgICAgICBpZiAoaXNHZW5lcmF0b3IpIHsK
KyAgICAgICAgICAgIGlmIChpc0FzeW5jTWV0aG9kKSB7CisgICAgICAgICAgICAgICAgaXNDb25z
dHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNNZXRob2RNb2RlOworICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xh
cmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdwcm90b3R5cGUnIik7CisgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3In
Iik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzR2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAg
ICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAgICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZTsKICAgICAgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgIkNhbm5vdCBkZWNsYXJlIGEgZ2VuZXJhdG9yIG5hbWVkICdwcm90b3R5cGUnIik7
CkBAIC0yNTMxLDYgKzI3MjQsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckwKICAgICAgICAg
ICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQobG9jYXRpb24sIGV4cHJlc3Npb24sIHN0YXJ0LCBt
X2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKFVO
TElLRUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNE
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMg
YSBsYWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOworCiAgICAgICAg
IGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAg
IEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgbmV4dCgp
OwpAQCAtMjcyNyw3ICsyOTI0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBl
bmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICAgICAg
ZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
cyksICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICAg
ICAgbmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JGYWlsKElERU5ULCAiRXhwZWN0ZWQgYSB2YXJp
YWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CisgICAgICAgIGZhaWxJZkZh
bHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3Ig
dGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9r
ZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBu
ZXh0KCk7CkBAIC0yNzQ5LDcgKzI5NDYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogCiAg
ICAgICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFz
KSkgewogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQs
ICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVk
IGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAgICAgICAg
ICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICAgICAgbG9jYWxOYW1lID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBuZXh0KCk7CkBAIC0yNzYwLDcgKzI5NTcs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJ
bXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIGNhc2UgSW1wb3J0U3BlY2lmaWVyVHlw
ZTo6RGVmYXVsdEltcG9ydDogewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoK
ICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0gICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkp
OworICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRlbnRpZmllcigpKTsKICAgICAgICAgbG9jYWxO
YW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5p
ZGVudDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmRlZmF1
bHRLZXl3b3JkOwpAQCAtMjc2OSw2ICsyOTY2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQK
ICAgICB9CiAgICAgfQogCisgICAgc2VtYW50aWNGYWlsSWZUcnVlKGxvY2FsTmFtZVRva2VuLm1f
dHlwZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBhbiBpbXBvcnRlZCBiaW5kaW5n
IG5hbWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlICYg
S2V5d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Uga2V5d29yZCBhcyBpbXBvcnRlZCBiaW5kaW5n
IG5hbWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3VsdE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBk
ZWNsYXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRp
b24sIChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNwZWNpZmllclR5cGU6Ok5hbWVzcGFjZUltcG9y
dCkgPyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkTmFtZXNwYWNlIDogRGVjbGFyYXRp
b25JbXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAgaWYgKGRlY2xhcmF0aW9uUmVzdWx0ICE9IERl
Y2xhcmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAtMjc5OSw3ICsyOTk3LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUltcG9ydERlY2xhcmEKICAgICB9CiAKICAgICBib29sIGlzRmluaXNoZWRQYXJzaW5nSW1wb3J0
ID0gZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgIGlmIChtYXRjaFNwZWNJZGVu
dGlmaWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0ZWREZWZhdWx0QmluZGluZyA6CiAgICAgICAg
IC8vIEltcG9ydGVkQmluZGluZwogICAgICAgICBhdXRvIHNwZWNpZmllciA9IHBhcnNlSW1wb3J0
Q2xhdXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0KTsK
QEAgLTI5MjQsNiArMzEyMiwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUo
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBlbHNlIGlmIChVTkxJS0VMWShp
c0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgU2F2ZVBvaW50IHNh
dmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICAgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkg
eworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBpZiAobWF0Y2goSURF
TlQpKQorICAgICAgICAgICAgICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKKyAgICAgICAgICAgICAgICBpc0Z1bmN0aW9uT3JDbGFzc0RlY2xhcmF0aW9uID0gdHJ1ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsK
KyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgaWYgKCFsb2NhbE5hbWUpCiAgICAgICAgICAg
ICBsb2NhbE5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuc3RhckRl
ZmF1bHRQcml2YXRlTmFtZSgpOwogCkBAIC0yOTMzLDEwICszMTQ1LDE4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRo
KCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0g
MTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29u
dGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6
OkV4cG9ydERlZmF1bHQpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBB
U1NFUlQobWF0Y2goQ0xBU1NUT0tFTikpOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChD
TEFTU1RPS0VOKSkgewogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQ2xhc3NEZWNsYXJh
dGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CiAgICAgICAgICAgICB9CisjaWYgRU5BQkxFKEVTMjAx
N19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ICAgIEFTU0VSVChtYXRjaChJREVOVCkgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsK
KyAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBl
OjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7
CisgICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8v
IGV4cG9ydCBkZWZhdWx0IGV4cHI7CiAgICAgICAgICAgICAvLwpAQCAtMjk0Nyw2ICszMTY3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIC8vCiAgICAgICAgICAgICAv
LyBJbiB0aGUgYWJvdmUgZXhhbXBsZSwgKmRlZmF1bHQqIGlzIHRoZSBpbnZpc2libGUgdmFyaWFi
bGUgdG8gdGhlIHVzZXJzLgogICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSBwcml2YXRlIHN5bWJv
bCB0byByZXByZXNlbnQgdGhlIG5hbWUgb2YgdGhpcyB2YXJpYWJsZS4KKyAgICAgICAgICAgIEV4
cHJlc3Npb25FcnJvckNsYXNzaWZpZXIgY2xhc3NpZmllcih0aGlzKTsKICAgICAgICAgICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIFRy
ZWVFeHByZXNzaW9uIGV4cHJlc3Npb24gPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRl
eHQpOwpAQCAtMzA1Myw5ICszMjc0LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAg
ICAgICAgICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgorI2lmIEVOQUJMRShFUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoaXNJZGVudGlmaWVy
T3JLZXl3b3JkKG1fdG9rZW4pICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnBy
ZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVuY3Rpb24nIGtleXdvcmQgZm9sbG93aW5nICdh
c3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGluZyBsaW5lIHRlcm1pbmF0b3IiKTsKKyAgICAg
ICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0
LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgZWl0
aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1lbnQiKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UocmVzdWx0LCAiQ2Fubm90
IHBhcnNlIHRoZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVF
eHBvcnRMb2NhbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCByZXN1bHQpOwogICAgIH0KQEAg
LTMxMTcsMzQgKzMzNDcsNDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICBBU1NFUlQo
IWhhc0Vycm9yKCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKworICAgIGlm
IChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5p
c0dlbmVyYXRvcigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRl
eHQpOworCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
ICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICBpbnQg
aW5pdGlhbEFzc2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50Owog
ICAgIGludCBpbml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50Owog
ICAgIGJvb2wgbWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNoKE9QRU5CUkFDRSkgfHwgbWF0
Y2goT1BFTkJSQUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVO
KTsKLSAgICBib29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSBtYXRjaChPUEVOUEFSRU4p
IHx8IG1hdGNoKElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lkZW50aWZpZXIo
KSBoZXJlIHNpbmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5d29yZC4KKyAg
ICAvLyBXaGV0aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRlZCBieSBpc0Fy
cm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJZGVudGlmaWVyT3JLZXl3b3Jk
ID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgbWF5YmVWYWxpZEFy
cm93RnVuY3Rpb25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVyT3JLZXl3b3Jk
OwogICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBzaXpl
X3QgdXNlZFZhcmlhYmxlc1NpemUgPSAwOworCisjaWYgIUVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCiAgICAgaWYgKHdhc09wZW5QYXJlbikgeworI2Vsc2UKKyAgICBpZiAod2Fz
T3BlblBhcmVuIHx8ICh3YXNJZGVudGlmaWVyT3JLZXl3b3JkICYmICptX3Rva2VuLm1fZGF0YS5p
ZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyNlbmRpZgogICAgICAgICB1
c2VkVmFyaWFibGVzU2l6ZSA9IGN1cnJlbnRTY29wZSgpLT5jdXJyZW50VXNlZFZhcmlhYmxlc1Np
emUoKTsKICAgICAgICAgY3VycmVudFNjb3BlKCktPnB1c2hVc2VkVmFyaWFibGVTZXQoKTsKICAg
ICB9CiAKLSAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChjdXJy
ZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCi0gICAgICAgIHJldHVybiBwYXJzZVlpZWxkRXhw
cmVzc2lvbihjb250ZXh0KTsKLQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0
aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogCi0gICAgaWYgKGlzVmFsaWRBcnJvd0Z1bmN0aW9u
U3RhcnQgJiYgIW1hdGNoKEVPRlRPSykpIHsKKyAgICBpZiAobWF5YmVWYWxpZEFycm93RnVuY3Rp
b25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgewogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlv
blRva2VuID0gbWF0Y2goQVJST1dGVU5DVElPTik7CiAgICAgICAgIGlmICghbGhzIHx8IGlzQXJy
b3dGdW5jdGlvblRva2VuKSB7CiAgICAgICAgICAgICBTYXZlUG9pbnRXaXRoRXJyb3IgZXJyb3JS
ZXN0b3JhdGlvblNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludEZvckVycm9yKCk7CiAgICAgICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBib29sIGlzQXN5
bmNBcnJvdyA9IGZhbHNlOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNsYXNzaWZpZXIuaW5k
aWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAgICBB
U1NFUlQobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykp
OworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBpc0FzeW5jQXJyb3cg
PSAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmIChpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAo
d2FzT3BlblBhcmVuKQorICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgaXNBc3lu
Y0Fycm93KQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+cmV2ZXJ0VG9QcmV2
aW91c1VzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlc1NpemUpOwotICAgICAgICAgICAgICAgIHJl
dHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAgICAg
ICAgIHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQsIGlzQXN5bmNB
cnJvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50V2l0aEVy
cm9yKGVycm9yUmVzdG9yYXRpb25TYXZlUG9pbnQpOwogICAgICAgICAgICAgaWYgKGlzQXJyb3dG
dW5jdGlvblRva2VuKQpAQCAtMzI2OCw2ICszNTEzLDIyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlWWllbGRFeHBy
ZXNzCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICAvLyBBd2FpdEV4cHJlc3Np
b24gZGVzdWdhcmVkIHRvIFlpZWxkRXhwcmVzc2lvbgorICAgIEFTU0VSVChtYXRjaChBV0FJVCkp
OworICAgIEFTU0VSVChjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZh
aWxJZlRydWUobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJz
ZVBoYXNlOjpQYXJhbWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBw
YXJhbWV0ZXJzIik7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CisgICAgSlNUZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgIG5leHQoKTsKKyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5
RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0
byBwYXJzZSBhd2FpdCBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXdh
aXQobG9jYXRpb24sIGFyZ3VtZW50LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9r
ZW5FbmRQb3NpdGlvbigpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewog
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4MCwx
MSArMzY0MSwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQg
PSBmYWxzZTsKICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNz
UHJvcGVydHkgPSBmYWxzZTsKKyAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBp
ZiAoY29uc3VtZShUSU1FUykpCiAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VE
X0xBQkVMKHBhcnNlUHJvcGVydHkpOworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2ggKG1fdG9r
ZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgorICAgIGNh
c2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRIUk9VR0g7
CiAgICAgY2FzZSBTVFJJTkc6IHsKQEAgLTMzOTIsMTAgKzM2NTgsMTQgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJv
cGVydHkoVHJlZUIKICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCA9
IHRva2VuU3RhcnQoKTsKICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAhaXNH
ZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5nZXQgfHwgKmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkpKQogICAgICAgICAgICAgbmV4dEV4cGVjdElk
ZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworI2lmIEVOQUJMRShFUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKHdhc0lkZW50ICYmICFp
c0dlbmVyYXRvciAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpCisgICAg
ICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jk
cyk7CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZp
ZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRlcjo6RG9udEJ1aWxk
S2V5d29yZHMpOwogCi0gICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgbWF0Y2goQ09MT04pKSB7
CisgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgbWF0Y2goQ09M
T04pKSB7CiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBu
b2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbk9yUHJvcGFnYXRlRXJyb3JDbGFzcyhjb250
ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVz
c2lvbiBmb3IgcHJvcGVydHkgZGVjbGFyYXRpb24iKTsKQEAgLTM0MDQsMTEgKzM2NzQsMTEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtYXRjaChP
UEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRo
b2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIGF1dG8gbWV0aG9k
ID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3IsIGlzQXN5
bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KGlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6
Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6S25vd25EaXJlY3QsIGNvbXBsZXRlLCBTdXBlckJpbmRp
bmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBmYWlsSWZU
cnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlz
dCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRob2QsICJF
eHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAgICAgZmFp
bElmRmFsc2Uod2FzSWRlbnQsICJFeHBlY3RlZCBhbiBpZGVudGlmaWVyIGFzIHByb3BlcnR5IG5h
bWUiKTsKIApAQCAtMzQzMCw2ICszNzAwLDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAg
ICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpHZXR0ZXI7CiAgICAgICAgIGVsc2UgaWYg
KCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpCiAgICAgICAgICAgICB0eXBlID0g
UHJvcGVydHlOb2RlOjpTZXR0ZXI7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgZWxzZSBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5
TmFtZXMtPmFzeW5jICYmICFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAg
ICAgICAgIGlzQXN5bmNNZXRob2QgPSB0cnVlOworICAgICAgICAgICAgZmFpbElmVHJ1ZShtX2xl
eGVyLT5wcmV2VGVybWluYXRvcigpLCAiRXhwZWN0ZWQgYSBwcm9wZXJ0eSBuYW1lIGZvbGxvd2lu
ZyBrZXl3b3JkICdhc3luYyciKTsKKyAgICAgICAgICAgIGdvdG8gcGFyc2VQcm9wZXJ0eTsKKyAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2Fn
ZSgiRXhwZWN0ZWQgYSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+
aW1wbCgpLCAiJyIpOwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwg
Y29tcGxldGUsIHR5cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsKQEAgLTM0NDEsMTEgKzM3MTgsMTEgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAg
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZp
ZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHBy
b3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRo
b2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhv
ZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNB
c3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9k
ZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGlu
Zzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRy
dWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0
Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4
cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25z
dW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAg
ICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CkBAIC0zNDYwLDExICszNzM3LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAg
ICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAi
Y29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4p
KSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4
dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7Cisg
ICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1f
dm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01l
dGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0
PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9k
ZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJC
aW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFp
bElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50
IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9k
LCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAg
IGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIp
OwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lv
bihjb250ZXh0KTsKQEAgLTM0NzksMTMgKzM3NTYsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJl
ZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVy
dHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5h
bWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJh
dG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tl
blN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZv
OwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFw
cGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJj
ZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWly
ZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25E
ZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBt
ZXRob2RJbmZvKTsKIH0KQEAgLTM3NTEsNiArNDAyOCwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
RXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQo
bWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2Nh
dGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQo
KTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5j
dGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+
bnVsbElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUs
IGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBl
OjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlv
bkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxk
TW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlm
ICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4MzgsMTQgKzQxMjksMjEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVu
Y3Rpb25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihs
b2NhdGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAg
IGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRv
a2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1f
dG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0
Y2goQVJST1dGVU5DVElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCiAg
ICAgICAgICAgICByZXR1cm4gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+YXN5bmMgJiYgbWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigp
KSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGNvbnRl
eHQpOworI2VuZGlmCisKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50
LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fcGFyc2Vy
U3RhdGUubGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUmVzb2x2ZShsb2NhdGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24o
KSk7CkBAIC00MDIxLDYgKzQzMTksMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAg
ICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAorI2lmIEVOQUJMRShF
UzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBiYXNlSXNBc3luY0tleXdvcmQg
PSBmYWxzZTsKKyNlbmRpZgorCiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgIFNjb3Bl
UmVmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3JkaW5hcnlG
dW5jdGlvbk5vbkxleGljYWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1
cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2Nv
cGUtPmlzRXZhbENvbnRleHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5leHBl
Y3RlZFN1cGVyQmluZGluZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVyIGlzIG5v
dCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKQEAgLTQwMzgsOSArNDM0MCwyNiBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5j
dGlvblN1cGVyQmluZGluZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVyIGlzIG5v
dCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAg
IH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdU
YXJnZXQpIHsKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBjb25zdCBib29sIGlzQXN5bmMgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYg
Km1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jOworI2Vu
ZGlmCisKICAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAK
KyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmYWlsSWZG
YWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAo
aXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1p
bmF0b3IoKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAg
ICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24p
OworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCiAg
ICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKICAg
ICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKQEAg
LTQwNzQsNiArNDM5MywxNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0g
bGFzdFRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFy
Z3VtZW50cyA9IHBhcnNlQXJndW1lbnRzKGNvbnRleHQpOworCisjaWYgRU5BQkxFKEVTMjAxN19B
U1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICBpZiAoYmFzZUlzQXN5bmNLZXl3
b3JkICYmICghYXJndW1lbnRzIHx8IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkgeworICAgICAgICAg
ICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5
bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3Rl
ZFRva2VuKCk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBm
YWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1bWVudHMiKTsKICAg
ICAgICAgICAgICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAgICAgICAgICAgU2Nv
cGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7CkBAIC00MTMyLDcg
KzQ0NTksNyBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b247CiAKQEAgLTQxNDAsNyArNDQ2Nyw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvCiAgICAg
bG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxs
SWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93
RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6
Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9u
VHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Np
b24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRydWUsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJD
YW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogfQpAQCAtNDE4
NCw2ICs0NTEzLDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAgYm9vbCBtb2RpZmll
c0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxzZTsKICAgICB1bnNp
Z25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJlbnRGdW5jdGlv
blNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICByZXR1cm4gcGFy
c2VBd2FpdEV4cHJlc3Npb24oY29udGV4dCk7CisjZW5kaWYKKwogICAgIHdoaWxlIChpc1VuYXJ5
T3AobV90b2tlbi5tX3R5cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAg
ICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjUsNiArNDcwMCw3IEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50
VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRl
IG5hbWUgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IAorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJV
bmV4cGVjdGVkIGlkZW50aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNk
ZDVlNzc4YjhmZGI1OTIzYWE3OThhZWQxMjMuLjFhOGZhZmFmMmY4MGVlNmQwNmI4NDI1YzEzOTI2
ZGQzY2YxMGJiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1
LDcgKzEzNSw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nv
cGUpOwogCiBwdWJsaWM6Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24s
IGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24p
CisgICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0
b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1
bmN0aW9uKQogICAgICAgICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRz
KGZhbHNlKQogICAgICAgICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAg
cHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAg
LCBtX2lzQXJyb3dGdW5jdGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93
RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0Fz
eW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkK
ICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlv
bkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAg
LTE4MSw2ICsxODMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5
KG90aGVyLm1faXNHZW5lcmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlv
bihvdGhlci5tX2lzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJv
dW5kYXJ5KG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0Fz
eW5jRnVuY3Rpb24ob3RoZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5j
RnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAg
ICAsIG1faXNMZXhpY2FsU2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBt
X2lzRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAg
LCBtX2lzVmFsaWRTdHJpY3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgs
NiArMjQyLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgbW9kZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAg
ICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6Cisg
ICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToK
ICAgICAgICAgICAgIHNldElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1
Nyw2ICsyNjksMTUgQEAgcHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7
CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbk1vZGU6CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhv
ZE1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25N
b2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAg
IGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAg
ICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4
IEBAIHB1YmxpYzoKICAgICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJu
IG1faXNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsg
cmV0dXJuIG1faXNHZW5lcmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBj
b25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNG
dW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBp
c0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnk7IH0KIAogICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNBcmd1bWVudHM7IH0KIApAQCAtMjkxLDYgKzMxNCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBtX2xleGljYWxWYXJpYWJsZXM7CiAgICAgfQogCisgICAgYm9vbCBpc01vZHVsZSgpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgdm9pZCBjb21w
dXRlTGV4aWNhbGx5Q2FwdHVyZWRWYXJpYWJsZXNBbmRQdXJnZUNhbmRpZGF0ZXMoKQogICAgIHsK
ICAgICAgICAgLy8gQmVjYXVzZSB2YXJpYWJsZXMgbWF5IGJlIGRlZmluZWQgYXQgYW55IHRpbWUg
aW4gdGhlIHJhbmdlIG9mIGEgbGV4aWNhbCBzY29wZSwgd2UgbXVzdApAQCAtNzEwLDYgKzczOCwz
NCBAQCBwcml2YXRlOgogICAgICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAgICAgfQog
CisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJ
c0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAg
IH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElz
RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKwor
ICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Z1
bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNB
c3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9
IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKQor
ICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1l
bnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAg
bV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29uc3QgVk0q
IG1fdm07CiAgICAgYm9vbCBtX3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3VzZXNFdmFs
OwpAQCAtNzI0LDYgKzc4MCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJhdG9yQm91
bmRhcnk7CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNBcnJvd0Z1
bmN0aW9uQm91bmRhcnk7CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBib29sIG1f
aXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3BlOwogICAg
IGJvb2wgbV9pc0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJpY3RNb2Rl
OwpAQCAtODg2LDggKzk0NCw5IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIGVudW0gRXhwcmVz
c2lvbkVycm9yQ2xhc3MgewotICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcsCi0gICAgICAg
IEVycm9ySW5kaWNhdGVzUGF0dGVybgorICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcgPSAw
LAorICAgICAgICBFcnJvckluZGljYXRlc1BhdHRlcm4sCisgICAgICAgIEVycm9ySW5kaWNhdGVz
QXN5bmNBcnJvd0Z1bmN0aW9uCiAgICAgfTsKIAogICAgIHN0cnVjdCBFeHByZXNzaW9uRXJyb3JD
bGFzc2lmaWVyIHsKQEAgLTkxMSw2ICs5NzAsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1f
Y2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQgZm9yY2VD
bGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlv
bikKKyAgICAgICAgeworICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOworICAg
ICAgICB9CisKICAgICAgICAgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Np
b25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFz
c2lmaWNhdGlvbikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKG1fY2xhc3MgIT0gb2xkQ2xh
c3NpZmljYXRpb24pCkBAIC05MjAsMTEgKzk4NCwxMiBAQCBwcml2YXRlOgogCiAgICAgICAgIHZv
aWQgcHJvcGFnYXRlRXhwcmVzc2lvbkVycm9yQ2xhc3MoKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAobV9wcmV2aW91cyAmJiBtX2NsYXNzICE9IEVycm9ySW5kaWNhdGVzTm90aGluZykKKyAg
ICAgICAgICAgIGlmIChtX3ByZXZpb3VzKQogICAgICAgICAgICAgICAgIG1fcHJldmlvdXMtPm1f
Y2xhc3MgPSBtX2NsYXNzOwogICAgICAgICB9CiAKICAgICAgICAgYm9vbCBpbmRpY2F0ZXNQb3Nz
aWJsZVBhdHRlcm4oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzUGF0
dGVybjsgfQorICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxlQXN5bmNBcnJvd0Z1bmN0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5j
dGlvbjsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3MgbV9j
bGFzczsKQEAgLTkzOCw2ICsxMDAzLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2V4cHJl
c3Npb25FcnJvckNsYXNzaWZpZXItPmNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0
aW9uKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJl
c3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICB7Cisg
ICAgICAgIGlmIChtX2V4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIpCisgICAgICAgICAgICBtX2V4
cHJlc3Npb25FcnJvckNsYXNzaWZpZXItPmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xh
c3NpZmljYXRpb24pOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZWNsYXNzaWZ5
RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBF
eHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKICAgICB7CiAgICAgICAgIGlmICht
X2V4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIpCkBAIC05NTksNiArMTAzMCwxOSBAQCBwcml2YXRl
OgogICAgICAgICByZXR1cm4gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9WYXJpYWJs
ZXM7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBkZWNsYXJhdGlvblR5
cGVUb1ZhcmlhYmxlS2luZChEZWNsYXJhdGlvblR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIHN3
aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRp
b246CisgICAgICAgICAgICByZXR1cm4gInZhcmlhYmxlIG5hbWUiOworICAgICAgICBjYXNlIERl
Y2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb246CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25U
eXBlOjpDb25zdERlY2xhcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuICJsZXhpY2FsIHZhcmlh
YmxlIG5hbWUiOworICAgICAgICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIHJldHVybiAiaW52YWxpZCI7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElO
RSBBc3NpZ25tZW50Q29udGV4dCBhc3NpZ25tZW50Q29udGV4dEZyb21EZWNsYXJhdGlvblR5cGUo
RGVjbGFyYXRpb25UeXBlIHR5cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAg
LTk3MSw2ICsxMDU1LDEyIEBAIHByaXZhdGU6CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNF
dmFsT3JBcmd1bWVudHMoY29uc3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGlzRXZhbE9y
QXJndW1lbnRzSWRlbnRpZmllcihtX3ZtLCBpZGVudCk7IH0KIAorICAgIFNjb3BlUmVmIHVwcGVy
U2NvcGUoaW50IG4pCisgICAgeworICAgICAgICBBU1NFUlQobV9zY29wZVN0YWNrLnNpemUoKSA+
PSBzaXplX3QoMSArIG4pKTsKKyAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ss
IG1fc2NvcGVTdGFjay5zaXplKCkgLSAxIC0gbik7CisgICAgfQorCiAgICAgU2NvcGVSZWYgY3Vy
cmVudFNjb3BlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNr
LCBtX3Njb3BlU3RhY2suc2l6ZSgpIC0gMSk7CkBAIC0xMDI3LDEzICsxMTE3LDE1IEBAIHByaXZh
dGU6CiAgICAgICAgIGJvb2wgaXNTdHJpY3QgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVy
YXRvciA9IGZhbHNlOwogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAg
ICAgICBib29sIGlzQXN5bmNGdW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoIW1fc2NvcGVT
dGFjay5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlzU3RyaWN0ID0gbV9zY29wZVN0YWNrLmxh
c3QoKS5zdHJpY3RNb2RlKCk7CiAgICAgICAgICAgICBpc0Z1bmN0aW9uID0gbV9zY29wZVN0YWNr
Lmxhc3QoKS5pc0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IG1fc2NvcGVT
dGFjay5sYXN0KCkuaXNHZW5lcmF0b3IoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9
IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBpc0Fz
eW5jRnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzQXN5bmNGdW5jdGlvbigpOwogICAg
ICAgICB9Ci0gICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNG
dW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24pOworICAgICAg
ICBtX3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2Vu
ZXJhdG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9uLCBpc0FzeW5jRnVuY3Rpb24pOwogICAg
ICAgICByZXR1cm4gY3VycmVudFNjb3BlKCk7CiAgICAgfQogCkBAIC0xMzQ2LDIxICsxNDM4LDI1
IEBAIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0y
NjIvNi4wLyNzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRp
Y3MtZWFybHktZXJyb3JzCiAgICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZp
ZXIoYm9vbCBpbkdlbmVyYXRvcikKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkg
fHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0
b3IpOworICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xF
VE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CiAg
ICAgfQogCiAgICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIG1hdGNoU3BlY0lkZW50aWZpZXIoY3VycmVudFNjb3BlKCktPmlz
R2VuZXJhdG9yKCkpOworICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlU
KSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50
U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVp
bGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VHZW5lcmF0b3JGdW5jdGlvblNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFzeW5jRnVuY3Rpb25Tb3Vy
Y2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShU
cmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOwogICAg
IGVudW0gY2xhc3MgRXhwb3J0VHlwZSB7IEV4cG9ydGVkLCBOb3RFeHBvcnRlZCB9OwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFy
YXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQs
IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpT
dGFuZGFyZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBv
cnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0
aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgYm9vbCBpc0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFy
YXRpb25Bc1N0YXRlbWVudCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhw
b3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250
ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgbWF5YmVQYXJzZUFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRl
bWVudCYgcmVzdWx0LCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRl
bWVudCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhw
b3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlV2hpbGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ4Myw3IEBAIHBy
aXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNz
aW9uIHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZU1lbWJlckV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVp
bGRlciYpOwpAQCAtMTM5NCwxNyArMTQ5MSwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0
T2JqZWN0TGl0ZXJhbChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gQUxXQVlTX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNz
aW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3Vt
ZW50cyBwYXJzZUFyZ3VtZW50cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRy
ZWVCdWlsZGVyJiwgQXJndW1lbnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0
KTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
UHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1l
dGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29u
dGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9v
bCBpc0FzeW5jTWV0aG9kKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQ
cm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9w
ZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0
cnVjdG9yS2luZCwgYm9vbCBpc0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25C
b2R5KFRyZWVCdWlsZGVyJiwgU3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IGludCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlv
bkJvZHlUeXBlLCB1bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMo
VHJlZUJ1aWxkZXImLCBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBl
bnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFy
YXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBk
ZWNsYXJhdGlvbnMsIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVF
eHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBm
b3JMb29wQ29uc3REb2VzTm90SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVF
eHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwg
Ym9vbCBpc0FzeW5jKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1
aWxkZXImLCBEZXN0cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYs
IEpTVG9rZW4sIEFzc2lnbm1lbnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRl
SWRlbnRpZmllcik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVC
dWlsZGVyJiwgVHJlZUV4cHJlc3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpT
VGV4dFBvc2l0aW9uJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVs
ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBl
LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1
Y3R1cmluZ1BhdHRlcm4sIEFzc2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVw
dGgpOwpAQCAtMTQ2Miw2ICsxNTYwLDIxIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9l
cnJvck1lc3NhZ2UuaXNOdWxsKCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXQoY29uc3QgSlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICByZXR1cm4g
dG9rZW4ubV90eXBlID09IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1
cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIHx8IGN1cnJlbnRTY29wZSgp
LT5pc01vZHVsZSgpIHx8ICFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQpOworICAgIH0KKworICAg
IGNvbnN0IGNoYXIqIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKQorICAgIHsKKyAg
ICAgICAgaWYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlz
QXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpCisgICAgICAgICAgICByZXR1cm4gImluIGFuIGFzeW5j
IGZ1bmN0aW9uIjsKKyAgICAgICAgaWYgKGN1cnJlbnRTY29wZSgpLT5pc01vZHVsZSgpKQorICAg
ICAgICAgICAgcmV0dXJuICJpbiBhIG1vZHVsZSI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGVudW0g
Y2xhc3MgRnVuY3Rpb25QYXJzZVBoYXNlIHsgUGFyYW1ldGVycywgQm9keSB9OwogICAgIHN0cnVj
dCBQYXJzZXJTdGF0ZSB7CiAgICAgICAgIGludCBhc3NpZ25tZW50Q291bnQgeyAwIH07CkBAIC0x
NDcwLDYgKzE1ODMsNyBAQCBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblBhcnNlUGhhc2UgZnVu
Y3Rpb25QYXJzZVBoYXNlIHsgRnVuY3Rpb25QYXJzZVBoYXNlOjpCb2R5IH07CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGxhc3RJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwogICAgICAgICBjb25z
dCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lIHsgbnVsbHB0ciB9OworICAgICAgICBib29s
IGFsbG93QXdhaXQgeyB0cnVlIH07CiAgICAgfTsKIAogICAgIC8vIElmIHlvdSdyZSB1c2luZyB0
aGlzIGRpcmVjdGx5LCB5b3UgcHJvYmFibHkgc2hvdWxkIGJlIHVzaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJlYWE4ZGE0YmYy
NzgzMzkzMWViNGJkY2Y4OWE0Ni4uMmFhYzY4MjFhZWQyYzhlMDFiOTkzNTBlODAyYzA0YWRmZDRl
ODE2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rl
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaApAQCAt
MjcsNiArMjcsNyBAQAogI2lmbmRlZiBQYXJzZXJNb2Rlc19oCiAjZGVmaW5lIFBhcnNlck1vZGVz
X2gKIAorI2luY2x1ZGUgIkNvbnN0cnVjdEFiaWxpdHkuaCIKICNpbmNsdWRlICJJZGVudGlmaWVy
LmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDMsODAgKzQ0LDEzMCBAQCBlbnVtIERlYnVnZ2Vy
TW9kZSB7IERlYnVnZ2VyT2ZmLCBEZWJ1Z2dlck9uIH07CiAKIGVudW0gY2xhc3MgRnVuY3Rpb25N
b2RlIHsgRnVuY3Rpb25FeHByZXNzaW9uLCBGdW5jdGlvbkRlY2xhcmF0aW9uLCBNZXRob2REZWZp
bml0aW9uIH07CiAKLWVudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDhfdCB7Ci0gICAg
Tm9ybWFsRnVuY3Rpb25Nb2RlLAotICAgIEdlbmVyYXRvckJvZHlNb2RlLAotICAgIEdlbmVyYXRv
cldyYXBwZXJGdW5jdGlvbk1vZGUsCi0gICAgR2V0dGVyTW9kZSwKLSAgICBTZXR0ZXJNb2RlLAot
ICAgIE1ldGhvZE1vZGUsCi0gICAgQXJyb3dGdW5jdGlvbk1vZGUsCi0gICAgUHJvZ3JhbU1vZGUs
Ci0gICAgTW9kdWxlQW5hbHl6ZU1vZGUsCi0gICAgTW9kdWxlRXZhbHVhdGVNb2RlCitlbnVtIGNs
YXNzIFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQxNl90IHsKKyAgICBOb3JtYWxGdW5jdGlvbk1vZGUg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMDAwMSwKKyAgICBHZW5lcmF0b3JCb2R5TW9kZSAg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMDAxMCwKKyAgICBHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlICA9IDBiMDAwMDAwMDAwMDAwMDEwMCwKKyAgICBHZXR0ZXJNb2RlICAgICAgICAg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMDAwMTAwMCwKKyAgICBTZXR0ZXJNb2RlICAgICAgICAg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMDAxMDAwMCwKKyAgICBNZXRob2RNb2RlICAgICAgICAg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMDEwMDAwMCwKKyAgICBBcnJvd0Z1bmN0aW9uTW9kZSAg
ICAgICAgICAgICA9IDBiMDAwMDAwMDAwMTAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uQm9keU1v
ZGUgICAgICAgICA9IDBiMDAwMDAwMDAxMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25C
b2R5TW9kZSAgICA9IDBiMDAwMDAwMDEwMDAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uTW9kZSAg
ICAgICAgICAgICA9IDBiMDAwMDAwMTAwMDAwMDAwMCwKKyAgICBBc3luY01ldGhvZE1vZGUgICAg
ICAgICAgICAgICA9IDBiMDAwMDAxMDAwMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25N
b2RlICAgICAgICA9IDBiMDAwMDEwMDAwMDAwMDAwMCwKKyAgICBQcm9ncmFtTW9kZSAgICAgICAg
ICAgICAgICAgICA9IDBiMDAwMTAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVBbmFseXplTW9kZSAg
ICAgICAgICAgICA9IDBiMDAxMDAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVFdmFsdWF0ZU1vZGUg
ICAgICAgICAgICA9IDBiMDEwMDAwMDAwMDAwMDAwMCwKIH07CiAKLWlubGluZSBib29sIGlzRnVu
Y3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK2NsYXNzIFNvdXJjZVBh
cnNlTW9kZVNldCB7IAorcHVibGljOiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBNb2Rlcz4g
CisgICAgU291cmNlUGFyc2VNb2RlU2V0KE1vZGVzLi4uIGFyZ3MpIAorICAgICAgICA6IG1fbWFz
ayhtZXJnZVNvdXJjZVBhcnNlTW9kZXMoYXJncy4uLikpIAorICAgIHsgCisgICAgfSAKKworICAg
IEFMV0FZU19JTkxJTkUgYm9vbCBjb250YWlucyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAg
eyAKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKSAmIG1fbWFzazsg
CisgICAgfSAKKworcHJpdmF0ZTogCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5zaWduZWQg
bWVyZ2VTb3VyY2VQYXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlKSAKKyAgICB7IAorICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpOyAKKyAgICB9IAorCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUuLi4gUmVzdD4gCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5z
aWduZWQgbWVyZ2VTb3VyY2VQYXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlLCBSZXN0Li4u
IHJlc3QpIAorICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9k
ZSkgfCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMocmVzdC4uLik7IAorICAgIH0gCisKKyAgICBjb25z
dCB1bnNpZ25lZCBtX21hc2s7IAorfTsgCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0Z1bmN0aW9u
UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291
cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlv
bk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpTZXR0ZXJNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLCAK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5
TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNB
c3luY0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAg
ICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVu
Y3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAg
ICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhw
YXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jQXJyb3dGdW5jdGlv
blBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNv
dXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29s
IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01l
dGhvZE1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29s
IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkg
Cit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKwor
QUxXQVlTX0lOTElORSBib29sIGlzTWV0aG9kUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpCiB7Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlv
bk1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OlByb2dyYW1Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoCisgICAg
ICAgIC8vIEZJWE1FOiBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIGlzIG5vdCBndWFyYW50
ZWVkIHRvIGJlIGEgbWV0aG9kLgorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6Ok1ldGhvZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RN
b2RlKS5jb250YWlucyhwYXJzZU1vZGUpOwogfQogCi1pbmxpbmUgYm9vbCBpc01vZHVsZVBhcnNl
TW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQotewotICAgIHN3aXRjaCAocGFyc2VNb2Rl
KSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiB0
cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRl
ck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpQcm9ncmFtTW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KK0FMV0FZU19J
TkxJTkUgYm9vbCBpc01vZHVsZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAK
K3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUV2YWx1YXRlTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAogCi1pbmxpbmUgYm9vbCBp
c1Byb2dyYW1QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0
Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7
CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNl
TW9kZTo6UHJvZ3JhbU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lO
TElORSBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFy
c2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpIAorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJp
bGl0eTo6Q2FuQ29uc3RydWN0OworCisgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5v
dENvbnN0cnVjdDsKIH0KIAogaW5saW5lIGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0
IElkZW50aWZpZXImIG5hbWUsIEZ1bmN0aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYz
YWNlZjc5YzY5Y2QyOGY4MjNjMmE3ZTgwLi5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFh
NTJlNjYxZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
clRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmgKQEAgLTgzLDYgKzgzLDcgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwK
ICAgICBFWFRFTkRTLAogICAgIFNVUEVSLAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAs
CiAgICAgQ0xPU0VCUkFDRSwKICAgICBPUEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIw
OGEyNzdmYTJkODI2ODYuLjVhYzY1YWJkMDQ1NWZlZjY3ODFiNjRhMDczZWJkOTI1MmEzY2RlYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04
Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQ2xhdXNlTGlzdFJlc3VsdCwgQ29tbWFFeHBy
LCBEZXN0cnVjdHVyaW5nQXNzaWdubWVudCwKICAgICAgICAgVGVtcGxhdGVTdHJpbmdSZXN1bHQs
IFRlbXBsYXRlU3RyaW5nTGlzdFJlc3VsdCwKICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlz
dFJlc3VsdCwgVGVtcGxhdGVFeHByLAotICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxk
RXhwciwKKyAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwK
ICAgICAgICAgTW9kdWxlTmFtZVJlc3VsdCwKICAgICAgICAgSW1wb3J0U3BlY2lmaWVyUmVzdWx0
LCBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1
bHQsIEV4cG9ydFNwZWNpZmllckxpc3RSZXN1bHQKQEAgLTE4Miw4ICsxODIsMTAgQEAgcHVibGlj
OgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUVtcHR5TGV0RXhwcmVzc2lvbihjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7
IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24m
KSB7IHJldHVybiBZaWVsZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGlu
dCkgeyByZXR1cm4gWWllbGRFeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXdhaXQo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsg
cmV0dXJuIEF3YWl0RXhwcjsgfQogICAgIENsYXNzRXhwcmVzc2lvbiBjcmVhdGVDbGFzc0V4cHIo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPFN5bnRheENoZWNr
ZXI+JiwgVmFyaWFibGVFbnZpcm9ubWVudCYsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlw
ZSwgUHJvcGVydHlMaXN0LCBQcm9wZXJ0eUxpc3QpIHsgcmV0dXJuIENsYXNzRXhwcjsgfQogICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5j
dGlvbkV4cHI7IH0KKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hl
Y2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25N
ZXRhZGF0YShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBp
bnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRp
bmcsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wsIElubmVyQXJyb3dGdW5jdGlvbkNv
ZGVGZWF0dXJlcyA9IE5vSW5uZXJBcnJvd0Z1bmN0aW9uRmVhdHVyZXMpIHsgcmV0dXJuIEZ1bmN0
aW9uQm9keVJlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25F
eHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50
YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBl
IGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
aAppbmRleCA0MDUxMjYyZGE1MWJjYmRhYjc3NWNmNjFiMGMwY2JjMGZmNTcxMWYxLi43Mzg5Zjll
Y2VjZTVmODhhMzhmNDYyN2QyMzg3ZDYyMTdiOTY1ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTEwOSw2ICsxMDksNyBA
QAogICAgIG1hY3JvKGFyZ3VtZW50cykgXAogICAgIG1hY3JvKGFzKSBcCiAgICAgbWFjcm8oYXNz
aWduKSBcCisgICAgbWFjcm8oYXN5bmMpIFwKICAgICBtYWNybyhiYWNrKSBcCiAgICAgbWFjcm8o
YmluZCkgXAogICAgIG1hY3JvKGJsdXIpIFwKQEAgLTI3MSw2ICsyNzIsNyBAQAogICAgIG1hY3Jv
KHllYXIpCiAKICNkZWZpbmUgSlNDX0NPTU1PTl9JREVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFj
cm8pIFwKKyAgICBtYWNybyhhd2FpdCkgXAogICAgIG1hY3JvKGJyZWFrKSBcCiAgICAgbWFjcm8o
Y2FzZSkgXAogICAgIG1hY3JvKGNhdGNoKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBl
YTY4YTZiNDFlYzQ3YzYzOTFmODhjZDJkOGM4NmM4YmExNzc4NmJlLi43Y2EyOTc1ZDg1MWI5Yjc1
ZmI1MWQ4YzQzYzhjZjkxNDc5MGUxY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTM2
MCw2ICszNjAsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1
cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNkZWZpbmUgRU5BQkxFX0VT
Nl9NT0RVTEVTIDAKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCkKKyNkZWZpbmUgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRB
WCAwCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMpCiAj
ZGVmaW5lIEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IGMwNjg1MGIwYzZiNjg2MzVjYTQ0YzliOGQyODY3NTQxNTAyMjY3MmYuLjI2MDg2ZWQxZDc0ZWM3
Mzg3ZjY2ZWUyZGFjZTQxZmI3MGVjZjRjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBA
IEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNf
UFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJ
T05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7
CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMiw0ICsyMDMsNCBAQCBFTkFCTEVfRlRMX0pJVFtz
ZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRT
ID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01P
RFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJ
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVE
SUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1f
QVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAk
KEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9E
RVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05T
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggYzA2ODUwYjBjNmI2ODYzNWNhNDRjOWI4ZDI4Njc1NDE1MDIyNjcyZi4u
MjYwODZlZDFkNzRlYzczODdmNjZlZTJkYWNlNDFmYjcwZWNmNGM4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19Q
QVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25l
Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAyLDQgKzIwMyw0
IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQo
RU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBjMDY4NTBiMGM2YjY4NjM1Y2E0NGM5YjhkMjg2
NzU0MTUwMjI2NzJmLi4yNjA4NmVkMWQ3NGVjNzM4N2Y2NmVlMmRhY2U0MWZiNzBlY2Y0YzgzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0g
OworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nk
az1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDIs
NCArMjAzLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJ
VDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQ
SSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFN
X0FQSSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggOTVj
NjkxZGE2MTlhOGJiMjdkNWI3NDdiNDkxYzcxZjEyYmJmMzM2Yi4uNDBiM2YxZDQyNGNmZjg2YTcx
MGE2OGM2NjJlYmJkNjQ5YTBkMmJkOSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAt
MTEzLDYgKzExMyw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAiVG9nZ2xlIEVNRSBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyICJTdXBwb3J0IEVNRSB2MiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0VTNl9NT0RVTEVTICJUb2dnbGUgRVM2IG1vZHVsZXMgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZFVENIX0FQSSAiVG9n
Z2xlIEZldGNoIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIgIlRvZ2dsZSBGaWx0ZXJzIE1vZHVsZSBMZXZlbCAy
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUyAiVG9nZ2xlIEZvbnQgTG9hZCBFdmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
anNjCmluZGV4IDIzNDc3YWZiNTBkZjliMDk3ZWI0MmY3YjQyZDNhNTcyNzA1ZmI2MGEuLjFlM2Zk
OGQwMDdkZmIwNTBlNGI2MjZkZGZiNDczNTA2YTU4MjI0OWEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvYnVpbGQtanNjCisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjCkBAIC0zMywxMyAr
MzMsMTYgQEAgdXNlIEZpbmRCaW47CiB1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFzc190
aHJvdWdoKTsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNlIHdl
YmtpdHBlcmw6OkZlYXR1cmVMaXN0IHF3KGdldEZlYXR1cmVPcHRpb25MaXN0KTsKIHVzZSBQT1NJ
WDsKIAorc3ViIGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpOwogc3ViIHdyaXRlQ29uZ3JhdHMoKTsK
IAogcHJvaGliaXRVbmtub3duUG9ydCgpOwogCiBteSAkc2hvdWxkUnVuU3RhdGljQW5hbHl6ZXIg
PSAwOworbXkgJG1pbmltYWwgPSAwOwogbXkgJGNvdmVyYWdlU3VwcG9ydCA9IDA7CiBteSAkc2hv
d0hlbHAgPSAwOwogbXkgJGZ0bEpJVCA9IGludChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgIXdpbGxV
c2VJT1NTaW11bGF0b3JTREsoKSB8fCBpc1g4Nl82NCgpICYmIChpc0d0aygpIHx8IGlzRWZsKCkg
fHwgaXNKU0NPbmx5KCkpKTsKQEAgLTUwLDYgKzUzLDIwIEBAIG15IEBjbWFrZUFyZ3M7CiBteSAk
Y29weUxpYnJhcmllcyA9IDE7CiBteSAkc3RhcnRUaW1lID0gdGltZSgpOwogCitteSBAZmVhdHVy
ZXMgPSBnZXRGZWF0dXJlT3B0aW9uTGlzdCgpOworCisjIEluaXRpYWxpemUgdmFsdWVzIGZyb20g
ZGVmYXVsdHMKK2ZvcmVhY2ggKEBBUkdWKSB7CisgICAgaWYgKCRfIGVxICctLW1pbmltYWwnKSB7
CisgICAgICAgICRtaW5pbWFsID0gMTsKKyAgICB9Cit9CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMg
ZnJvbSBkZWZhdWx0cworZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgJHskXy0+e3ZhbHVlfX0g
PSAoJG1pbmltYWwgPyAwIDogJF8tPntkZWZhdWx0fSk7Cit9CisKICMgQWRkaXRpb25hbCBlbnZp
cm9ubWVudCBwYXJhbWV0ZXJzCiBwdXNoIEBBUkdWLCBzcGxpdCgvIC8sICRFTlZ7J0JVSUxEX0pT
Q19BUkdTJ30pIGlmICgkRU5WeydCVUlMRF9KU0NfQVJHUyd9KTsKIApAQCAtNjcsNyArODQsNyBA
QCBVc2FnZTogJHByb2dyYW1OYW1lIFtvcHRpb25zXSBbb3B0aW9ucyB0byBwYXNzIHRvIGJ1aWxk
IHN5c3RlbV0KICAgLS1jbWFrZWFyZ3M9PGFyZ3VtZW50cz4gICAgICAgT25lIG9yIG1vcmUgb3B0
aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9Ii1ERk9PPWJhciAtRENNQUtFX1BS
RUZJWF9QQVRIPS91c3IvbG9jYWwiKQogRU9GCiAKLUdldE9wdGlvbnMoCitteSAlb3B0aW9ucyA9
ICgKICAgICAnYW5hbHl6ZSEnID0+IFwkc2hvdWxkUnVuU3RhdGljQW5hbHl6ZXIsCiAgICAgJ2Nv
dmVyYWdlIScgPT4gXCRjb3ZlcmFnZVN1cHBvcnQsCiAgICAgJ2hlbHAnID0+IFwkc2hvd0hlbHAs
CkBAIC03OSw2ICs5NiwxNiBAQCBHZXRPcHRpb25zKAogICAgICdjbWFrZWFyZ3M9cycgPT4gXEBj
bWFrZUFyZ3MKICk7CiAKK2ZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgIGlmICgkXy0+e2phdmFz
Y3JpcHR9KSB7CisgICAgICAgIG15ICRvcHQgPSBzcHJpbnRmKCIlLTM1cyIsICIgIC0tW25vLV0k
Xy0+e29wdGlvbn0iKTsKKyAgICAgICAgJHVzYWdlIC49ICIkb3B0ICRfLT57ZGVzY30gKGRlZmF1
bHQ6ICRfLT57ZGVmYXVsdH0pXG4iOworICAgICAgICAkb3B0aW9uc3siJF8tPntvcHRpb259ISJ9
ID0gJF8tPnt2YWx1ZX07CisgICAgfQorfQorCitHZXRPcHRpb25zKCVvcHRpb25zKTsKKwogaWYg
KCRzaG93SGVscCkgewogICAgcHJpbnQgU1RERVJSICR1c2FnZTsKICAgIGV4aXQgMTsKQEAgLTEw
NCw2ICsxMzEsOCBAQCBpZiAoaXNDTWFrZUJ1aWxkKCkpIHsKICAgICBwdXNoIEBjbWFrZUFyZ3Ms
ICRmb3JjZUNMb29wID8gIiAtREVOQUJMRV9KSVQ9T0ZGIiA6ICIgLURFTkFCTEVfSklUPU9OIjsK
ICAgICBwdXNoIEBjbWFrZUFyZ3MsICRmdGxKSVQgPyAiIC1ERU5BQkxFX0ZUTF9KSVQ9T04iIDog
IiAtREVOQUJMRV9GVExfSklUPU9GRiI7CiAKKyAgICBteSBAZmVhdHVyZUFyZ3MgPSBjTWFrZUFy
Z3NGcm9tRmVhdHVyZXMoKTsKKwogICAgIG15ICRidWlsZFRhcmdldCA9ICIiOwogICAgIHVubGVz
cyAoaXNBbnlXaW5kb3dzKCkpIHsKICAgICAgICAgIyBCeSBkZWZhdWx0IHdlIGJ1aWxkIHVzaW5n
IGFsbCBvZiB0aGUgYXZhaWxhYmxlIENQVXMKQEAgLTExNCw3ICsxNDMsNyBAQCBpZiAoaXNDTWFr
ZUJ1aWxkKCkpIHsKICAgICB9CiAKICAgICAjIFRoaXMgY2FsbCBvbmx5IHJldHVybnMgaWYgbm90
aGluZyB3cm9uZyBoYXBwZW5lZAotICAgIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KDAsIHVuZGVm
LCAkYnVpbGRUYXJnZXQsIChjbWFrZUJhc2VkUG9ydEFyZ3VtZW50cygpLCBAY21ha2VBcmdzKSk7
CisgICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoMCwgdW5kZWYsICRidWlsZFRhcmdldCwgKGNt
YWtlQmFzZWRQb3J0QXJndW1lbnRzKCksIEBmZWF0dXJlQXJncywgQGNtYWtlQXJncykpOwogICAg
IHdyaXRlQ29uZ3JhdHMoKTsKICAgICBleGl0IGV4aXRTdGF0dXMoMCk7CiB9CkBAIC0xMjMsNiAr
MTUyLDIwIEBAIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICBwdXNoIEBvcHRpb25zLCAo
JGZvcmNlQ0xvb3AgPyAiRU5BQkxFX0pJVD1FTkFCTEVfSklUPTAiIDogIkVOQUJMRV9KSVQ9RU5B
QkxFX0pJVCIpOwogICAgIHB1c2ggQG9wdGlvbnMsICgkZnRsSklUID8gIkVOQUJMRV9GVExfSklU
PUVOQUJMRV9GVExfSklUIiA6ICJFTkFCTEVfRlRMX0pJVD1FTkFCTEVfRlRMX0pJVD0wIik7CiAK
KyAgICBzdWIgb3B0aW9uKCQkJCkKKyAgICB7CisgICAgICAgIG15ICgkZmVhdHVyZSwgJGlzRW5h
YmxlZCwgJGRlZmF1bHRWYWx1ZSkgPSBAXzsKKyAgICAgICAgcmV0dXJuICIiIGlmICRkZWZhdWx0
VmFsdWUgPT0gJGlzRW5hYmxlZDsKKyAgICAgICAgcmV0dXJuICRmZWF0dXJlIC4gIj0iIC4gKCRp
c0VuYWJsZWQgPyAkZmVhdHVyZSA6ICIiKTsKKyAgICB9CisKKyAgICBmb3JlYWNoIChAZmVhdHVy
ZXMpIHsKKyAgICAgICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgICAgIG15ICRv
cHRpb24gPSBvcHRpb24oJF8tPntkZWZpbmV9LCAkeyRfLT57dmFsdWV9fSwgJF8tPntkZWZhdWx0
fSk7CisgICAgICAgICAgICBwdXNoIEBvcHRpb25zLCAkb3B0aW9uIHVubGVzcyAkb3B0aW9uIGVx
ICIiOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKCRjb3B5TGlicmFyaWVzKSB7CiAgICAg
ICAgIG15IEBjb3B5TGlicmFyaWVzQXJncyA9ICgicGVybCIsICJUb29scy9TY3JpcHRzL2NvcHkt
d2Via2l0bGlicmFyaWVzLXRvLXByb2R1Y3QtZGlyZWN0b3J5Iik7CiAgICAgICAgIHB1c2ggQGNv
cHlMaWJyYXJpZXNBcmdzLCAiLS1kZXZpY2UiIGlmIHdpbGxVc2VJT1NEZXZpY2VTREsoKTsKQEAg
LTE1Myw2ICsxOTYsMjEgQEAgc3ViIGJ1aWxkTXlQcm9qZWN0CiAgICAgY2hkaXJXZWJLaXQoKTsK
IH0KIAorc3ViIGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpCit7CisgICAgbXkgQGFyZ3M7CisgICAg
Zm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgICAgIG15ICRmZWF0dXJlTmFtZSA9ICRfLT57ZGVm
aW5lfTsKKyAgICAgICAgaWYgKCRmZWF0dXJlTmFtZSkgeworICAgICAgICAgICAgbXkgJGZlYXR1
cmVFbmFibGVkID0gJHskXy0+e3ZhbHVlfX0gPyAiT04iIDogIk9GRiI7CisgICAgICAgICAgICBp
ZiAoJGZlYXR1cmVFbmFibGVkICE9ICRfLT57ZGVmYXVsdH0pIHsKKyAgICAgICAgICAgICAgICBw
dXNoIEBhcmdzLCAiLUQkZmVhdHVyZU5hbWU9JGZlYXR1cmVFbmFibGVkIjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gQGFyZ3M7Cit9CisKIHN1YiB3cml0ZUNv
bmdyYXRzKCkKIHsKICAgICBteSAkZW5kVGltZSA9IHRpbWUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAzMDZjMmZjZGExNjYzY2VkMzcxOGIxNDNlYjYxZjI2
NGIwMGUxZTAwLi5mYTI5YWQ4Mjk5NDYxYzE5MGE5NGU0YzM0MDE2ZGVmNzUwZWEwOTIzIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC01MSw2ICs1MSw3IEBAIEJF
R0lOIHsKIG15ICgKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCiAgICAgJGFsbElu
T25lQnVpbGQsCisgICAgJGFzeW5jZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVt
ZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhT
dXBwb3J0LApAQCAtMTczLDYgKzE3NCwxMCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRp
b24gPT4gImFsbGlub25lLWJ1aWxkIiwgZGVzYyA9PiAiVG9nZ2xlIGFsbC1pbi1vbmUgYnVpbGQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUxMSU5PTkVfQlVJTEQiLCBkZWZhdWx0ID0+IGlz
V2luZG93cygpLCB2YWx1ZSA9PiBcJGFsbEluT25lQnVpbGQgfSwKIAorICAgIHsgb3B0aW9uID0+
ICJhc3luY2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzIwMTcgYXN5bmMgZnVu
Y3Rpb25zIHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVMyMDE3X0FTWU5DRlVO
Q1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGFzeW5jZnVuY3Rpb25TeW50
YXgsCisgICAgICBqYXZhc2NyaXB0ID0+IDEgfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2ht
ZW50LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9
PiAwLCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCkBAIC0yNjQsNyAr
MjY5LDggQEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0FNRVBB
RCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRnYW1lcGFkU3VwcG9ydCB9LAogCiAgICAgeyBv
cHRpb24gPT4gImdlbmVyYXRvcnMiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGdlbmVyYXRvcnMgc3Vw
cG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0b3JzU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfRVM2X0dFTkVSQVRPUlMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkZ2VuZXJhdG9y
c1N1cHBvcnQsCisgICAgICBqYXZhc2NyaXB0ID0+IDEgfSwKIAogICAgIHsgb3B0aW9uID0+ICJn
ZW9sb2NhdGlvbiIsIGRlc2MgPT4gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0dFT0xPQ0FUSU9OIiwgZGVmYXVsdCA9PiAoaXNBcHBsZVdlYktp
dCgpIHx8IGlzSU9TV2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRn
ZW9sb2NhdGlvblN1cHBvcnQgfSwKQEAgLTM0Miw3ICszNDgsOCBAQCBteSBAZmVhdHVyZXMgPSAo
CiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NSFRNTCIsIGRlZmF1bHQgPT4gKGlzR3RrKCkgfHwg
aXNFZmwoKSksIHZhbHVlID0+IFwkbWh0bWxTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAi
bW9kdWxlcyIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgbW9kdWxlcyBzdXBwb3J0IiwKLSAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJG1v
ZHVsZXNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfTU9EVUxFUyIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRtb2R1bGVzU3VwcG9ydCwKKyAgICAgIGphdmFzY3JpcHQg
PT4gMSB9LAogCiAgICAgeyBvcHRpb24gPT4gIm1vdXNlLWN1cnNvci1zY2FsZSIsIGRlc2MgPT4g
IlRvZ2dsZSBTY2FsZWQgbW91c2UgY3Vyc29yIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBc
JG1vdXNlQ3Vyc29yU2NhbGVTdXBwb3J0IH0sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBjMDY4
NTBiMGM2YjY4NjM1Y2E0NGM5YjhkMjg2NzU0MTUwMjI2NzJmLi4yNjA4NmVkMWQ3NGVjNzM4N2Y2
NmVlMmRhY2U0MWZiNzBlY2Y0YzgzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUxLDYgKzUx
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWFwcGxldHYq
XSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1hY29zeCpdID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAyLDQgKzIwMyw0IEBAIEVOQUJMRV9GVExf
SklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9DVVNUT01fRUxF
TUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVT
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
UzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVB
TV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVM
RVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hf
QVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1B
VElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAx
Yjk5MmNlZTBjZTY2ZTUwZmFlZjM2ZjQ2N2UyN2UxZjQ4OGU1OTUyLi42MjliZDE3Zjk0Y2ZiNjJj
NTQ4ZDBmYmQwZDhmMjZmZDk2NDYxZWVmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA5LTA3ICBDYWl0
bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50
IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanM6IEFkZGVk
LgorICAgICAgICAodGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0U3ludGF4RXJyb3IpOgorICAg
ICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVzdFN5bnRheCk6
CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSk6CisgICAg
ICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSk6CisgICAgICAgICh0
ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZS50ZXN0U3ludGF4KToKKyAgICAg
ICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmFzeW5jKToKKyAgICAgICAgKHRlc3ROZXN0
ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0
U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4RXJyb3IpOgorCiAyMDE2LTA5LTA2ICBTYWFtIEJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFByb3h5T2JqZWN0J3Mgc3RydWN0
dXJlIHNob3VsZCBub3QgaGF2ZSBPYmplY3RQcm90b3R5cGUgYXMgaXRzIHByb3RvdHlwZSBhbmQg
aXQgc2hvdWxkIG5vdCBoYXZlIHNwZWNpYWwgYmVoYXZpb3IgZm9yIGludGVyY2VwdGluZyAiX19w
cm90b19fIgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4Lmpz
IGIvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3YTMy
MDFhOWM0NTYzZWEwNTViZDRkZjJmYWJlMDFlYzVmMzA5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyODAgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvLyBUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFX0VT
MjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCB0byBiZSBlbmFibGVkIGF0IGJ1aWxkIHRpbWUuCisv
L0Agc2tpcCAKKworZnVuY3Rpb24gdGVzdFN5bnRheChzY3JpcHQpIHsKKyAgICB0cnkgeworICAg
ICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgaWYgKGVy
cm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiAr
IHNjcmlwdCArICJgIik7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0U3ludGF4RXJyb3Ioc2Ny
aXB0LCBtZXNzYWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAg
ICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7Cisg
ICAgfQorICAgIGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQg
c3ludGF4IGVycm9yIG5vdCB0aHJvd25cbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsg
ImAiKTsKKworICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gInN0cmluZyIgJiYgU3RyaW5nKGVy
cm9yKSAhPT0gbWVzc2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIg
KyBTdHJpbmcoZXJyb3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIp
OworfQorCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUo
KSB7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdh
aXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
IHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0Zu
ID0gYXN5bmMgKCkgPT4gYXdhaXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYGFz
eW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGB2
YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOwor
ICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07
YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10o
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgJ21l
dGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5
bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0g
YXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNG
biA9IGFzeW5jKHsgZm9vID0gMSB9ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGBm
dW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3ludGF4
KGBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOwor
CisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
KCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdhaXQg
J3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyB4ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9
IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydt
ZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMg
bWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3Qi
OyBjbGFzcyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMg
eyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7CisgICAgdGVz
dFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9ID0g
e30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3Ry
aWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSko
KTsKKworKGZ1bmN0aW9uIHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4KCkgeworICAgIHZhciBj
b250ZXh0RGF0YSA9IFsKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiBvdXRlckZ1bmN0aW9u
KCkgeyAiLCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiogb3V0
ZXJHZW5lcmF0b3IoKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZh
ciBvdXRlckZ1bmNFeHByID0gZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJHZW5FeHByID0gZnVuY3Rpb24qKCkgeyAiLCBzdWZmaXg6
ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBvdXRlck1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyT2JqZWN0ID0geyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAor
ICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBvdXRlck1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3Mg
QyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyAq
b3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7
IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7ICpvdXRlckdl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xh
c3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyAq
b3V0ZXJTdGF0aWNHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7
IHByZWZpeDogInZhciBvdXRlckFycm93ID0gKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiYXN5bmMgZnVuY3Rpb24gb3V0ZXJBc3luY0Z1bmN0aW9uKCkgeyAi
LCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Z1bmNF
eHByID0gYXN5bmMgZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBw
cmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Fycm93RnVuYyA9IGFzeW5jICgpID0+IHsgIiwgc3VmZml4
OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMg
b3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IGFzeW5jIG91dGVyQXN5bmNNZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01ldGhv
ZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0
ZXJDbGFzcyB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgYXN5bmMgb3V0
ZXJTdGF0aWNBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgXTsKKwor
ICAgIHZhciB0ZXN0RGF0YSA9IFsKKyAgICAgICAgYHZhciBhc3luYyA9IDE7IHJldHVybiBhc3lu
YztgLAorICAgICAgICBgbGV0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBj
b25zdCBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgZnVuY3Rpb24gYXN5bmMo
KSB7fSByZXR1cm4gYXN5bmMoKTtgLAorICAgICAgICBgdmFyIGFzeW5jID0gYXN5bmMgPT4gYXN5
bmM7IHJldHVybiBhc3luYygpO2AsCisgICAgICAgIGBmdW5jdGlvbiBmb28oKSB7IHZhciBhd2Fp
dCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiBmb28oYXdhaXQpIHsg
cmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oKSB7IHZhciBhd2FpdCA9
IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiogZm9vKGF3YWl0KSB7IHJl
dHVybiBhd2FpdDsgfWAsCisgICAgICAgIGB2YXIgZiA9ICgpID0+IHsgdmFyIGF3YWl0ID0gMTsg
cmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoKSB7IHZhciBhd2Fp
dCA9IDE7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9kKGF3
YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZCgp
IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0g
eyAqbWV0aG9kKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfSB9O2AsCisKKyAgICAgICAgYChmdW5j
dGlvbiBhd2FpdCgpIHt9KWAsCisgICAgXTsKKworICAgIGZvciAobGV0IGNvbnRleHQgb2YgY29u
dGV4dERhdGEpIHsKKyAgICAgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0RGF0YSkgeworICAgICAg
ICAgICAgbGV0IHNjcmlwdCA9IGNvbnRleHQucHJlZml4ICsgdGVzdCArIGNvbnRleHQuc3VmZml4
OworICAgICAgICAgICAgdGVzdFN5bnRheChzY3JpcHQpOworICAgICAgICAgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyAke3NjcmlwdH1gKTsKKyAgICAgICAgfQorICAgIH0KK30pKCk7CisK
KworKGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgewor
ICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgp
IHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZh
ciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0g
YXN5bmMgKCkgPT4geyB2YXIgYXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRo
TmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5
bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5j
dGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICAvLyBGSVhN
RTogTWV0aG9kRGVmaW5pdGlvbnMgZG8gbm90IGFwcGx5IFN0cmljdEZvcm1hbFBhcmFtZXRlcnMg
cmVzdHJpY3Rpb25zCisgICAgLy8gICAgICAgIGluIHNsb3BweSBtb2RlIChodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA4KQorICAgIC8vdGVzdFN5bnRheEVycm9y
KGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgLy90
ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCdd
KGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0g
eyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZh
ciBvdXRlck9iamVjdCA9IHsgYXN5bmMgMChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7fWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhv
ZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgKmFzeW5j
R2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0g
eyBhc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVy
biB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2Fp
dCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5j
KHggPSBhd2FpdCAxKSA9PiB4O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFz
eW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiog
b3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4gMTsg
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2
YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBj
bGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90
eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIg
ZXh0ZW5kcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgp
KCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5
bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
Yy5mb285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luY1snZm9vMTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5
bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2Zv
bzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28y
MSddICgpID0+IDFgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yMmAgPT4gMSki
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yM2AgZm9vMjQgPT4gMSkiKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yNWAgKCkgPT4gMSkiKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoIihhc3luY2Bmb28yNmAuYmFyMjcgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoIihhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoIihhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSkiKTsKKworICAgIC8vIGFzc2VydCB0aGF0
IGVycm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5
bmMgZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiBhc3luYygpIHt9Cisg
ICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworfSkoKTsKKworKGZ1
bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
IGF3YWl0KCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIgYXdh
aXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihhd2Fp
dCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0Jztg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGF3YWl0KSB7fWApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEs
IGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVy
T2JqZWN0ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsKKwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uKigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5j
IGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9
O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMg
KmFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyBmdW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJl
dHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0g
YXN5bmMoeCA9IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH0g
fTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0
ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVy
YXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7
IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3Rv
cigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7
fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJv
dG90eXBlKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFz
cyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30g
fWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMo
KSA9PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUg
RmVycmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAo
YXN5bmMgZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb280
KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3lu
YyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vOSAoKSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28x
MSBmb28xMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5
bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTcnXSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMjEn
XSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNg
Zm9vMjJgID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3lu
Y2Bmb28yM2AgZm9vMjQgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0
IjsgKGFzeW5jYGZvbzI1YCAoKSA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBz
dHJpY3QiOyAoYXN5bmNgZm9vMjZgLmJhcjI3ID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9y
KCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSknKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAx
KScpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNh
bGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAg
ICAgYXN5bmMoeyBmb28zMyA9IDEgfSlgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShl
dmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyAnbWV0aG9kJyhldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKGV2YWwpIHt9IH1gKTsKKworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGFyZ3VtZW50cykg
e30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5
bmMgWydtZXRoJyArICdvZCddKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoYXJndW1lbnRzKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAw
KGFyZ3VtZW50cykge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBPID0geyBhc3luYyBtZXRob2QoZHVwZSwgZHVwZSkge30gfWApOworfSkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289289</attachid>
            <date>2016-09-19 17:14:25 -0700</date>
            <delta_ts>2016-09-21 05:44:52 -0700</delta_ts>
            <desc>Async Function Parsing v5</desc>
            <filename>bug-161409-20160919201139.patch</filename>
            <type>text/plain</type>
            <size>160944</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MGFhMzMwNDEwOTcyYjFkNTQ5NzliOWNlMTcxZDY0YTZjMzEzYmRlLi4wMzA3MTQyYjBjYzE5MTE1
MGM0ODg5NjQxMDAzOWQ1MTllZDlkMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTE5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgV2luNjQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgx
NjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVO
QUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVM
RVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAg
LTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9G
VExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5U
UzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQ
SSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVf
U1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9E
VUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRD
SF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRB
QkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAK
aW5kZXggMDU0ZDYzZGY1OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uZjAyOGQ0ODgw
Yzk1NzI2ODZkMzgyYzUzOWFkZDVhNzY4Y2QzMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCkBAIC04OSw2ICs4OSw3IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgLCBtX3R5
cGVQcm9maWxpbmdFbmRPZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9kZS0+c291
cmNlKCkubGVuZ3RoKCkgLSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5wYXJhbWV0
ZXJDb3VudCgpKQogICAgICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJzZU1vZGUo
bm9kZS0+cGFyc2VNb2RlKCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUtPmlzSW5T
dHJpY3RDb250ZXh0KCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAg
ICwgbV9pc0J1aWx0aW5GdW5jdGlvbihraW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKQpA
QCAtOTgsNyArOTksNiBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV9jb21tZW50
TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQogICAgICwgbV9zdXBlckJp
bmRpbmcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSkKICAgICAs
IG1fZGVyaXZlZENvbnRleHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4
dFR5cGUpKQotICAgICwgbV9zb3VyY2VQYXJzZU1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5v
ZGUtPnBhcnNlTW9kZSgpKSkKICAgICAsIG1fbmFtZShub2RlLT5pZGVudCgpKQogICAgICwgbV9l
Y21hTmFtZShub2RlLT5lY21hTmFtZSgpKQogICAgICwgbV9pbmZlcnJlZE5hbWUobm9kZS0+aW5m
ZXJyZWROYW1lKCkpCkBAIC0xMTIsNyArMTEyLDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QK
ICAgICBBU1NFUlQobV9jb21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVu
dE1vZGUpKTsKICAgICBBU1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENvbnRleHRU
eXBlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsKLSAgICBB
U1NFUlQobV9zb3VyY2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBh
cnNlTW9kZSgpKSk7CiAKICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAocGFyZW50
U2NvcGVURFpWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAxZTNjYmFm
ZmVjMjg4N2M3OTYwN2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi44OWFhYjhhYmY3MTcxZThkNDk4Y2I1
YWMzMTg3NDJkYzczMDU3MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMTU1LDYgKzE1
NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0Owog
ICAgIHVuc2lnbmVkIG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVy
ZXM7CisgICAgU291cmNlUGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVuc2lnbmVk
IG1faXNJblN0cmljdENvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJp
YWJsZXMgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwpAQCAtMTY0
LDcgKzE2NSw2IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8g
SlNQYXJzZXJDb21tZW50TW9kZQogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKICAg
ICB1bnNpZ25lZCBtX2Rlcml2ZWRDb250ZXh0VHlwZTogMjsKLSAgICB1bnNpZ25lZCBtX3NvdXJj
ZVBhcnNlTW9kZSA6IDQ7IC8vIFNvdXJjZVBhcnNlTW9kZQogCiAgICAgV3JpdGVCYXJyaWVyPFVu
bGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDYWxsOwogICAg
IFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJs
b2NrRm9yQ29uc3RydWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBlZTkyYzMyYWMyOTY2ZTNkZWU0
ZTMzNzljZDkyNThjMmQ3ODkyYTZkLi5lZmE1MGYxMmRhZDU5Yjg1ODgxMzA2ZmUxZDMxYjg3YTRi
YjA4YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjk3OCwxNyArMjk3OCwxNCBAQCBSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3Rl
cklEKiBkc3QsIEZ1bmNFeAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5jRXhwck5v
ZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09
IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpOworICAgIEFTU0VSVChmdW5jLT5t
ZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25N
b2RlIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNv
bW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CiAKIFJlZ2lz
dGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbihSZWdpc3Rl
cklEKiBkc3QsIE1ldGhvZERlZmluaXRpb25Ob2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5j
LT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2Rl
KCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFk
YXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZQotICAgICAg
ICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok1l
dGhvZE1vZGUpOworICAgIEFTU0VSVChpc01ldGhvZFBhcnNlTW9kZShmdW5jLT5tZXRhZGF0YSgp
LT5wYXJzZU1vZGUoKSkpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0
LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDlmYzk2
OTViMTAyMmM2MmE4MTBiYjA1NmJmOTdmYWE4MzI0YTdhOWEuLjhiYTNmNGE1Yzk4NzI3ZDQ3OTAw
Yzc0OTJmNGU2MDBjNTc2YjM1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM1MDcsNiArMzUwNywxOCBAQCBSZWdp
c3RlcklEKiBZaWVsZEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdl
bmVyYXRvciwgUmVnaXN0ZXJJRAogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJh
dG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOwogfQogCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXdhaXRFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorCitSZWdpc3RlcklEKiBBd2FpdEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJl
ZlB0cjxSZWdpc3RlcklEPiBhcmcgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7CisgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlKGFyZy5nZXQoKSwgYXJndW1lbnQoKSk7CisgICAgUmVmUHRyPFJlZ2lz
dGVySUQ+IHZhbHVlID0gZ2VuZXJhdG9yLmVtaXRZaWVsZChhcmcuZ2V0KCkpOworICAgIGlmIChk
c3QgPT0gZ2VuZXJhdG9yLmlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TW92ZShnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlv
bihkc3QpLCB2YWx1ZS5nZXQoKSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB2
b2lkIENsYXNzRGVjbE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJh
dG9yLCBSZWdpc3RlcklEKiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVp
bGRlci5oCmluZGV4IDFjMTEzYmFlMTRkNTZkNzgwOWExMGRmYjljNWY2Mzc4NjAwYjcwMDEuLmZk
YmQyZjQ4NDIyODk5MGE0MDc1MGFmNzc1YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNjcsNiArMzY3LDE0IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCisgICAgQXdhaXRFeHByTm9kZSogY3JlYXRl
QXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGFy
Z3VtZW50LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICB7CisgICAgICAgIEFTU0VS
VChhcmd1bWVudCk7CisgICAgICAgIEF3YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcgKG1fcGFyc2Vy
QXJlbmEpIEF3YWl0RXhwck5vZGUobG9jYXRpb24sIGFyZ3VtZW50KTsKKyAgICAgICAgc2V0RXhj
ZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOworICAgICAgICByZXR1cm4g
bm9kZTsKKyAgICB9CisKICAgICBDbGFzc0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4cHIoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPEFTVEJ1aWxk
ZXI+JiBjbGFzc0luZm8sIFZhcmlhYmxlRW52aXJvbm1lbnQmIGNsYXNzRW52aXJvbm1lbnQsIEV4
cHJlc3Npb25Ob2RlKiBjb25zdHJ1Y3RvciwKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIHBhcmVu
dENsYXNzLCBQcm9wZXJ0eUxpc3ROb2RlKiBpbnN0YW5jZU1ldGhvZHMsIFByb3BlcnR5TGlzdE5v
ZGUqIHN0YXRpY01ldGhvZHMpCiAgICAgewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0
ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0
IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJz
ZU1vZGUgcGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3Vy
Y2VDb2RlIHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8u
c3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbigpID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zm
c2V0LCBmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0
Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNl
ckFyZW5hKSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rp
b25JbmZvLmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0
TG9jKGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlv
bi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhw
cihsb2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSog
Y3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7
CiAgICAgICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJl
bmEpIE1ldGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1
bmN0aW9uSW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMu
dGFibGUKaW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3
ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVF
VE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJ
VAogYnJlYWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggNjliNDQyOGU4Nzlj
YTgwMGU5Y2ExYjg3YjM2MmEyMzcwODg3N2JjNi4uYzFkNTQ3YmM3ZjkwMWMwNmM2NTM5ODYyODlk
MzViNTQ1MjA1MDM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
Q29uc3RydWN0b3JzLmgKQEAgLTkzOCw2ICs5MzgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ewogICAgIH0KIAorICAgIGlubGluZSBBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJOb2RlKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCkKKyAg
ICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2FyZ3VtZW50KGFy
Z3VtZW50KQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ2xhc3NEZWNsTm9kZTo6Q2xhc3NE
ZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSog
Y2xhc3NEZWNsYXJhdGlvbikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAg
ICAgICAsIG1fY2xhc3NEZWNsYXJhdGlvbihjbGFzc0RlY2xhcmF0aW9uKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDU4ZTI3NDUzZGQwMDUzNzY3MDNiZDM4Mzc5NWI0YTAx
MTM1Zjg2MDQuLmIwYzQ5N2EwZWViNTc3OGQwZWVmZjdmMjU0N2IzODJmMTRkOTZhNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTIwMDcsNiArMjAwNywxOCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBtX2RlbGVnYXRlOwogICAgIH07CiAKKyAgICBjbGFz
cyBBd2FpdEV4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhy
b3dhYmxlRXhwcmVzc2lvbkRhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXdhaXRFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpOworCisg
ICAgICAgIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJndW1l
bnQ7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisKKyAgICAgICAg
RXhwcmVzc2lvbk5vZGUqIG1fYXJndW1lbnQ7CisgICAgfTsKKwogICAgIGNsYXNzIENsYXNzRXhw
ck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBWYXJpYWJsZUVudmly
b25tZW50Tm9kZSB7CiAgICAgcHVibGljOgogICAgICAgICB1c2luZyBQYXJzZXJBcmVuYURlbGV0
YWJsZTo6b3BlcmF0b3IgbmV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3Bw
CmluZGV4IDQzNzA4ZmZhZTI2NDkzOTI4ZDViMjEzOTQyMjhmYzZjYzJmODg5YzYuLjMwY2JmZDMx
YmJhNzRiOTg5ZWI3MDhkNWM4ZDVhODM2NDVhMWFkYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50aWNGYWls
KCJDYW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIs
IF9fVkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRUb2tlbkZs
YWcpIFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3JkICciLCBn
ZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWlsKCJDYW4n
dCB1c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CkBAIC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5u
ZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIHNjb3Bl
LT5zZXRJc0xleGljYWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFz
ZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNl
UGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVyLT5pc1Jl
cGFyc2luZ0Z1bmN0aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxk
ZXI+IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvckJvZHlNb2RlKQorICAgICAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSkgfHwg
aXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgbV9w
YXJhbWV0ZXJzID0gY3JlYXRlR2VuZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbklu
Zm8ucGFyYW1ldGVyQ291bnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRl
cnMgPSBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9u
SW5mbyk7CiAKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93
RnVuY3Rpb25Nb2RlICYmICFoYXNFcnJvcigpKSB7CisgICAgICAgIGlmIChTb3VyY2VQYXJzZU1v
ZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpICYmICFoYXNFcnJv
cigpKSB7CiAgICAgICAgICAgICAvLyBUaGUgb25seSB3YXkgd2UgY291bGQgaGF2ZSBhbiBlcnJv
ciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwogICAgICAgICAgICAg
bmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAg
ICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBudWxscHRyOwogICAgIC8vIFRoZSBv
bmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBlYXJseSBpcyBpZiB3ZSByZXBhcnNlIGEgZnVuY3Rp
b24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sgc3BhY2UuCiAgICAgaWYgKCFoYXNFcnJvcigpKSB7
Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgaWYg
KGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkKKyAgICAgICAgICAg
IHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4
dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tGb3JTdHJp
Y3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24p
CiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4
cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoY29udGV4dCk7CiAgICAgICAgIGVsc2UgaWYgKGlz
TW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkpCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9
IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlKTsKLSAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0Zv
clN0cmljdE1vZGUpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHNvdXJjZUVs
ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUp
OwotICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCisgICAgICAgICAgICBzb3VyY2VFbGVt
ZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVj
a0ZvclN0cmljdE1vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKICAg
ICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5nID0gY29uc3VtZShFT0ZUT0spOwpAQCAtMzEwLDcg
KzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVu
dGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6
IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAgICB2YXJEZWNsYXJhdGlvbnMubWFya1ZhcmlhYmxl
QXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChTb3VyY2VQYXJzZU1v
ZGVTZXQoU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKS5jb250
YWlucyhwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VN
b2RlKSkgewogICAgICAgICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXNDb250YWlucyhtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAgICAgIGNvbnRleHQucHJv
cGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICszNTYsMTAgQEAgdm9pZCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNl
RWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiBib29sIFBh
cnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIHsKLSAgICBib29s
IGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlzSWRlbnQgPSBtYXRj
aChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAhaXNJZGVudCkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKLSAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwot
ICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0KCk7Ci0gICAgICAgIGlz
QXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVO
KSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9u
ID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgewogICAgICAgICAgICAg
bmV4dCgpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0Y2goQVJST1dGVU5DVElP
Tik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93
RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWduZWQgcGFyYW1ldGVyc0Nv
dW50ID0gMDsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBhcnNlRm9ybWFsUGFyYW1l
dGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxp
c3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFSRU4pICYmIG1hdGNoKEFS
Uk9XRlVOQ1RJT04pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICBwb3BTY29wZShm
YWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKICAgICAgICAg
fQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAg
ICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAgICAgCi0gICAgcmVzdG9y
ZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAgICAgCi0gICAgcmV0dXJu
IGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNo
KEFSUk9XRlVOQ1RJT04pOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOworICAgIH0KKworICAg
IHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KQEAgLTU0
MCw2ICs1MzksNTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxl
bWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJj
ZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSwgYm9v
bCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUp
Cit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2Rl
KSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVu
dHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgp
OworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Cisg
ICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICB1bnNp
Z25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0
YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGludCBwYXJhbWV0ZXJz
U3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisKKyAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMo
Y29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5zdGFydE9mZnNldCA9IHBh
cmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgIFNv
dXJjZVBhcnNlTW9kZSBpbm5lclBhcnNlTW9kZSA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUKKyAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlCisgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uQm9keU1vZGU7CisgICAgeworICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYXN5bmNG
dW5jdGlvbkJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgICAgIGFzeW5jRnVuY3Rp
b25Cb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7CisgICAgICAg
IFN5bnRheENoZWNrZXIgYXN5bmNGdW5jdGlvbkNvbnRleHQoY29uc3RfY2FzdDxWTSo+KG1fdm0p
LCBtX2xleGVyLmdldCgpKTsKKyAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNz
aW9uKQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhw
cmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCksICJDYW5ub3Qg
cGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9u
Q29udGV4dCwgbW9kZSksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgZnVuY3Rpb24i
KTsKKyAgICAgICAgcG9wU2NvcGUoYXN5bmNGdW5jdGlvbkJvZHlTY29wZSwgVHJlZUJ1aWxkZXI6
Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgfQorICAgIGluZm8uYm9keSA9IGNvbnRleHQu
Y3JlYXRlRnVuY3Rpb25NZXRhZGF0YShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0
YXJ0Q29sdW1uLCB0b2tlbkNvbHVtbigpLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25O
YW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIG1fc3VwZXJCaW5kaW5nLCBpbmZvLnBhcmFtZXRlckNvdW50LCBpbm5lclBhcnNlTW9k
ZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pOworCisgICAgaW5mby5lbmRMaW5lID0g
dG9rZW5MaW5lKCk7CisgICAgaW5mby5lbmRPZmZzZXQgPSBpc0Fycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbiA/IHRva2VuTG9jYXRpb24oKS5lbmRPZmZzZXQgOiBtX3Rva2VuLm1fZGF0YS5vZmZz
ZXQ7CisgICAgaW5mby5wYXJhbWV0ZXJzU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjsKKworICAg
IGF1dG8gZnVuY3Rpb25FeHByID0gY29udGV4dC5jcmVhdGVBc3luY0Z1bmN0aW9uQm9keShzdGFy
dExvY2F0aW9uLCBpbmZvLCBpbm5lclBhcnNlTW9kZSk7CisgICAgYXV0byBzdGF0ZW1lbnQgPSBj
b250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQoc3RhcnRMb2NhdGlvbiwgZnVuY3Rpb25FeHByLCBz
dGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKKyAgICBjb250ZXh0LmFwcGVuZFN0
YXRlbWVudChzb3VyY2VFbGVtZW50cywgc3RhdGVtZW50KTsKKworICAgIHJldHVybiBzb3VyY2VF
bGVtZW50czsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCiB7CiAgICAgLy8g
VGhlIGdyYW1tYXIgaXMgZG9jdW1lbnRlZCBoZXJlOgpAQCAtNTYyLDcgKzYwNSw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgdW5kZXIgYSBn
ZW5lcmF0b3IgY29udGV4dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAieWllbGQiIHJldHVy
bnMgYGZhbHNlYC4KICAgICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVudGVyIHBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5kZXIgdGhlIGNvbnRl
eHQgb2YgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAvLyB0byByYWlzZSBj
b25zaXN0ZW50IGVycm9ycyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAibGV0Ii4KLSAgICAg
ICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSkg
JiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKKyAgICAgICAgICAg
IGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSB8fCBtYXRj
aChBV0FJVCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCiAg
ICAgICAgICAgICAgICAgc2hvdWxkUGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uID0gZmFsc2U7CiAg
ICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KQEAgLTU4
Miw2ICs2MjUsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIElERU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAg
IC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbi4KKyAgICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9p
bnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRj
aChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7Cisj
ZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgLy8gVGhp
cyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVtZW50cwogICAg
ICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1hbCBzdGF0ZW1l
bnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsCiAgICAgICAg
IGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJZlRydWUobWF0
Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFy
YXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJh
dGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRpZmll
ciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVz
ZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoZGVjbGFyYXRp
b25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAg
ICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAg
ICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYgKzEwNzAs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVy
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBFcnJvcklu
ZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3Ry
aWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVydHlOYW1lLT5p
bXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJB
d2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBkZXN0cnVj
dHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBj
cmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVydHlO
YW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVy
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTA3OSw2ICsx
MTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1Bh
dHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxXaXRoTWVz
c2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0ZXIg
bGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoa2lu
ZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5kID09IERlc3Ry
dWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFu
IGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNh
bid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5h
bWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAg
ICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5
cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxp
Y2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTYz
MSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5cGU6OlZhckRl
Y2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjogewotICAgICAg
ICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25z
IGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBs
ZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcGUoKS0+aXNG
dW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0aW9u
IHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQncwotICAg
ICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFuIGlm
L2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAgICAgIC8vIHRy
ZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0
ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFyIi4g
Rm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAg
ICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAgICAgICAgICAg
ICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoKLSAgICAg
ICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAgICBpZiAo
Y29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAg
ICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7
Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKLSAgICAg
ICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0gICAgICAg
ICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Ci0gICAg
ICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAgICAgICAgICBU
cmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQp
OwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAgICAgICAgZmFp
bElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0
ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwotICAg
ICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5j
dGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0YXRl
bWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0
aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgpLCBj
dXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAgICAgICAgICAg
ICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUlu
Zm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGlt
cGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2Us
IHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9yLgot
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERl
cHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRo
ID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24o
Y29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZmFp
bFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNp
ZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7CisgICAgICAg
IGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0
aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVu
Y3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTIgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQgb2YgYSBzZXQg
b2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgSURFTlQ6Cisj
aWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKFVOTElL
RUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAm
JiBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIHJl
c3VsdCwgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KSkpCisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFX
QUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFy
YXRpb25Bc1N0YXRlbWVudCA9IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Np
b25PckxhYmVsU3RhdGVtZW50KGNvbnRleHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3Rh
dGVtZW50KTsKQEAgLTE3NDQsNiArMTc3Niw2OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQog
fQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9v
bCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKHN0cmljdE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUg
b25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0
IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9u
QXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNp
ZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOwor
ICAgIGlmICghY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBv
bmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhl
cndpc2UsIHdlIGZhbGwgYmFjaworICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAg
ICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTU4MTMKKyAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERl
cHRoKTsKKyAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5j
KQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQpOworICAgICAgICByZXR1cm4gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwor
ICAgIH0KKworICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEg
YmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNl
IHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdp
Y2FsbHkKKyAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5z
aWRlIGEgYmxvY2sgc3RhdGVtZW50LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZh
ciIuIEZvciBleGFtcGxlOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChj
b25kKSBmdW5jdGlvbiBmb28oKSB7IH0KKyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0
ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVu
Y3Rpb24gZm9vKCkgeyB9IH0KKyAgICAvLyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3Bl
KCk7CisgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRv
a2VuTGluZSgpOworCisgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFp
c0FzeW5jKQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKKyAgICBlbHNlCisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24oY29udGV4dCk7CisgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxz
ZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVu
Y3Rpb24nIGtleXdvcmQiKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMg
PSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0
ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3Vs
dCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRz
LCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+Zmlu
YWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRl
Y2xhcmF0aW9ucygpKTsKKyAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVl
ZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIEFTU0VSVCgq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAg
IFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7Cisg
ICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgewor
ICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSB0cnVlOworICAgICAgICByZXN1bHQgPSBwYXJz
ZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVy
cyhUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlzdCwgdW5z
aWduZWQmIHBhcmFtZXRlckNvdW50KQogewogI2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xh
dGlvbigpIFwKQEAgLTE3NjYsNiArMTg2MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAg
ICAgICAgIAogICAgICAgICBpZiAobWF0Y2goRE9URE9URE9UKSkgewogICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCFtX3BhcnNlclN0YXRlLmFsbG93
QXdhaXQgJiYgbWF0Y2goQVdBSVQpLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIg
bmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIpOwogICAgICAgICAgICAgVHJlZURlc3RydWN0dXJp
bmdQYXR0ZXJuIGRlc3RydWN0dXJpbmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVy
bihjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4
cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCAmZHVwbGljYXRlUGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4pOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAg
IHBhcmFtZXRlciA9IGNvbnRleHQuY3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0
dGVybiwgcGFyYW1ldGVyQ291bnQpOwpAQCAtMTgzMyw2ICsxOTI4LDE0IEBAIHN0YXRpYyBjb25z
dCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAg
ICAgIHJldHVybiAiZ2VuZXJhdG9yIGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGU6CiAgICAgICAgIHJldHVybiAiYXJyb3cgZnVuY3Rpb24iOwor
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICByZXR1cm4gImFz
eW5jIGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
OgorICAgICAgICByZXR1cm4gImFzeW5jIG1ldGhvZCI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGFycm93IGZ1
bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0xODQ1LDEyICsxOTQ4LDEyIEBAIHN0YXRp
YyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUp
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlciwgY2xhc3MgRnVuY3Rpb25JbmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1h
bFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZv
VHlwZSYgZnVuY3Rpb25JbmZvKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0gU291cmNl
UGFyc2VNb2RlOjpQcm9ncmFtTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9k
ZSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VN
b2RlOjpQcm9ncmFtTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU291
cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKG1vZGUpKSk7CiAgICAg
VHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyYW1ldGVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRm9y
bWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4g
ZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhh
c2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVycyk7CiAgICAgCi0gICAgaWYgKG1vZGUg
PT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAgICAgICBpZiAoIW1h
dGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgIGlmIChVTkxJS0VMWSgoU291
cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgewor
ICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50aWZpZXIoKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkg
ewogICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOwogICAgICAgICB9IGVs
c2UgewpAQCAtMTk0MSw3ICsyMDQ0LDkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAg
IFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAKLSAgICBib29sIHVwcGVy
U2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpOworICAgIGJv
b2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXQobV90b2tlbik7CisgICAgY29uc3QgY2hhciogaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlv
bk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJ
ZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7CisKICAgICBBdXRvUG9wU2NvcGVSZWYg
ZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0
U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldEV4cGVjdGVkU3Vw
ZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKQEAgLTE5ODMsNyArMjA4OCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3Rh
cnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlOwotICAgICAgICAg
ICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAg
ICAgICAgIGlmIChVTkxJS0VMWShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpB
cnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2Rl
KS5jb250YWlucyhtb2RlKSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNh
Y2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpA
QCAtMjAyNiw3ICsyMTMxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFN5bnRh
eENoZWNrZXIgc3ludGF4Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0
KCkpOwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9k
ZSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
TW9kZSkuY29udGFpbnMobW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0aW9uID0gdG9rZW5M
b2NhdGlvbigpOwogICAgICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7
CiAgICAgICAgIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIwNDEsNyArMjE0Niw4
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFBh
cnNlIGZvcm1hbCBwYXJhbWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4g
b3JkZXIgdG8gYmFuIFlpZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8vIGluIEFycm93Rm9y
bWFsUGFyYW1ldGVycywgcGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0
YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2NvcGU6Ok1heWJlUGFy
c2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29wZSwgdXBw
ZXJTY29wZUlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5l
cmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVudFNjb3Bl
LT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRl
QWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJz
ZU1vZGUobW9kZSkpOwogICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4
Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9y
KCk7CiAgICAgICAgIH0KQEAgLTIwNzMsMjEgKzIxNzksMjggQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgLy8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAgICAgIC8vICAgICBm
dW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNb
WWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAgICAgLy8gVGhlIG5h
bWUgb2YgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBj
b250ZXh0IG9mIGdlbmVyYXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUg
PT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2Vu
ZXJhdG9yID0gZmFsc2U7CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lv
biBhbmQgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4g
dGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVy
YXRvciA9IGZhbHNlOworICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1
bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgU291cmNlUGFyc2VNb2RlU2V0KFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCisgICAgICAgICAgICB1cHBlclNjb3BlSXNH
ZW5lcmF0b3IgPSB1cHBlclNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAgICAgICAgIGlmIChy
ZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAg
ICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5
aW5nIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0aWFsaXpl
IGZ1bmN0aW9uSW5mby5uYW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBz
aWRlLiIpOwogICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIodXBwZXJTY29wZUlz
R2VuZXJhdG9yKSkgewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rp
b25OYW1lID0gZnVuY3Rpb25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0
aW9uVHlwZTo6RGVjbGFyYXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZSht
b2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNEaXNhbGxv
d2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlz
QXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1
bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lv
bikKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhc3lu
YyBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAg
ICAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAgICAgICAgICAgICAg
ICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1
bmN0aW9uSW5mby5uYW1lKSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwg
IiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAg
ICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRz
OjpOYW1lZCkgewotICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUg
PT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7
CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxG
dW5jdGlvbk1vZGUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBo
YXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBzZW1hbnRp
Y0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUi
KTsKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTA1LDggKzIyMTgsMTEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKIAogICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4
Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsK
KyAgICAgICAgeworICAgICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3
YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZSht
b2RlKSk7CisgICAgICAgICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhzeW50YXhDaGVja2Vy
LCBtb2RlLCBmdW5jdGlvbkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKICAgICAgICAgCkBAIC0yMTUzLDkgKzIyNjksMTUgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNv
bnRleHQsIHN5bnRheENoZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3Ry
dWN0b3JLaW5kLCBleHBlY3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rp
b25JbmZvLnBhcmFtZXRlckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAgaWYgKG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKSB7CisgICAgaWYg
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8
IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAgICAgICAgQXV0b1Bv
cFNjb3BlUmVmIGdlbmVyYXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAg
IGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yQm9keU1vZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1v
ZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAgICAgICBpZiAoaXNB
c3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAgICAgICAgaW5uZXJQ
YXJzZU1vZGUgPSBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9k
ZQorICAgICAgICAgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25C
b2R5TW9kZQorICAgICAgICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9u
Qm9keU1vZGU7CisgICAgICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3Vy
Y2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUt
PnNldENvbnN0cnVjdG9yS2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAgICBnZW5l
cmF0b3JCb2R5U2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5k
aW5nKTsKIApAQCAtMjE3NCw3ICsyMjk2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVu
dE9mZnNldCgpKTsKICAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVp
cmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQpIHsKICAgICAgICAg
QVNTRVJUKGZ1bmN0aW9uSW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9
PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6TWV0aG9kTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5j
dGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8
IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsK
KyAgICAgICAgUkVMRUFTRV9BU1NFUlQoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
Qm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSku
Y29udGFpbnMobW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSk7
CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVu
dHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCks
ICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0
aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBh
IHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg5LDYg
KzI0MTEsNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChG
VU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAg
IG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5m
bzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
ID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0
KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0
aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisgICAg
ICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8gICAg
ICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVEZWNs
YXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAg
ICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRd
OgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVs
dF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9EZWZh
dWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZaWVs
ZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAg
WytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rp
b25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJhdG9yRGVj
bGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAg
ICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lp
ZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIEluIHRoaXMg
Y2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBu
YW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5v
bmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1v
ZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5
cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIpOwor
ICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVt
ZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1
bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlvbihm
dW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9u
UmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZTdHJp
Y3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1v
ZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25J
bmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRp
b25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9u
KQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJl
IGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlv
biB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1v
ZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgeworICAg
ICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwg
IkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9uSW5m
by5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBvcnRC
aW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5jdGlv
bkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVuY3Rp
b25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9u
SW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwg
RXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0
aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsKQEAg
LTI0MDUsOCArMjU4MSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFz
c0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBib29s
IGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAgICAg
ICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNNZXRob2Qg
PSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAgaXNHZW5l
cmF0b3IgPSB0cnVlOworCitVTlVTRURfTEFCRUwocGFyc2VNZXRob2QpOworcGFyc2VNZXRob2Q6
CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICAgICAgbmFtZWRLZXl3b3Jk
OgogICAgICAgICBjYXNlIFNUUklORzoKQEAgLTI0MTUsMTIgKzI1OTUsMjAgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIElERU5UOgorICAgICAgICBjYXNlIEFXQUlUOgogICAgICAgICAgICAgaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIEFTU0VSVChpZGVudCk7CiAg
ICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIChtYXRj
aElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkg
fHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgeworICAgICAgICAgICAg
aWYgKCFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAobWF0Y2hJZGVudGlmaWVyT3JL
ZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVH
RVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKICAgICAgICAgICAgICAgICBpc0dldHRlciA9
ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmdldDsKICAgICAgICAgICAgICAgICBpc1NldHRlciA9
ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLnNldDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCppZGVudCA9PSBw
cm9wZXJ0eU5hbWVzLmFzeW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICFpc0Fz
eW5jTWV0aG9kKSkgeworICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAgICB9
CisjZW5kaWYKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IERPVUJMRToKQEAgLTI0NTIsNyArMjY0MCwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAog
ICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwog
ICAgICAgICAgICAgYm9vbCBpc0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0aG9kICYmICppZGVu
dCA9PSBwcm9wZXJ0eU5hbWVzLmNvbnN0cnVjdG9yOwogICAgICAgICAgICAgU291cmNlUGFyc2VN
b2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKLSAgICAgICAgICAg
IGlmIChpc0dlbmVyYXRvcikgeworICAgICAgICAgICAgaWYgKGlzQXN5bmNNZXRob2QpIHsKKyAg
ICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGFy
c2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU7CisgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZSci
KTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9k
IG5hbWVkICdjb25zdHJ1Y3RvciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNHZW5lcmF0
b3IpIHsKICAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CiAgICAgICAgICAg
ICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlOwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3Ig
bmFtZWQgJ3Byb3RvdHlwZSciKTsKQEAgLTI1MzUsNiArMjcyOCwxMCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhw
cmVzc2lvbk9yTAogICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwog
ICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChsb2NhdGlvbiwg
ZXhwcmVzc2lvbiwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CiAgICAgICAg
IH0KKworICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJD
YW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRS
ZWFzb24oKSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1f
ZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOwogICAgICAgICBuZXh0KCk7CkBAIC0yNzMxLDcgKzI5MjgsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFy
c2VyPExleGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVkIGJp
bmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwoSURF
TlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24i
KTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQg
YSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgIGxv
Y2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2Rh
dGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NTMsNyArMjk1MCw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmll
ciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92
bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAg
ICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGlt
cG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRl
bnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xh
cmF0aW9uIik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAg
ICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5leHQo
KTsKQEAgLTI3NjQsNyArMjk2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlw
ZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgY2Fz
ZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIEltcG9y
dGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAgICAg
QVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlmaWVy
KCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFt
ZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92bS0+
cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzczLDYgKzI5NzAsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVj
aWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQnIGFz
IGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2Nh
bE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3b3Jk
IGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBk
ZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0aW9u
VHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lmaWVy
VHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWRO
YW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAoZGVj
bGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yODAzLDcg
KzMwMDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wgaXNG
aW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7Cisg
ICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1
bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8gc3Bl
Y2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmllclR5
cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjkyOCw2ICszMTI2LDIwIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBv
cnREZWNsYXJhCiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAg
ICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGVsc2UgaWYgKFVOTElLRUxZKGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKSAmJiAqbV90
b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAg
ICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
ICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVy
LT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgICAgIGlmIChtYXRjaChJREVOVCkpCisgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAgICAgIGlzRnVuY3Rpb25PckNsYXNz
RGVjbGFyYXRpb24gPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBpZiAoIWxv
Y2FsTmFtZSkKICAgICAgICAgICAgIGxvY2FsTmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CiAKQEAgLTI5MzcsMTAgKzMx
NDksMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgICAgICBEZXB0aE1h
bmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgICAgICAgICAgICAg
IG1fc3RhdGVtZW50RGVwdGggPSAxOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVu
Y3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFy
YXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7CisgICAgICAgICAg
ICB9IGVsc2UgaWYgKG1hdGNoKENMQVNTVE9LRU4pKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0
ID0gcGFyc2VDbGFzc0RlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVk
LCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKICAgICAgICAgICAg
IH0KKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAg
ZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSAmJiAqbV90b2tlbi5t
X2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgo
Jm1fc3RhdGVtZW50RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAx
OworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250
ZXh0OjpFeHBvcnREZWZhdWx0KTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgZXhwcjsKICAgICAgICAgICAgIC8v
CkBAIC0yOTUxLDYgKzMxNzEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAg
ICAgLy8KICAgICAgICAgICAgIC8vIEluIHRoZSBhYm92ZSBleGFtcGxlLCAqZGVmYXVsdCogaXMg
dGhlIGludmlzaWJsZSB2YXJpYWJsZSB0byB0aGUgdXNlcnMuCiAgICAgICAgICAgICAvLyBXZSB1
c2UgdGhlIHByaXZhdGUgc3ltYm9sIHRvIHJlcHJlc2VudCB0aGUgbmFtZSBvZiB0aGlzIHZhcmlh
YmxlLgorICAgICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllciBjbGFzc2lmaWVyKHRo
aXMpOwogICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CiAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOwogICAgICAgICAgICAgVHJlZUV4cHJlc3Npb24gZXhwcmVzc2lvbiA9IHBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zMDU3LDkgKzMyNzgsMTggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6Cisj
aWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRh
LmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNoKEZVTkNU
SU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5jdGlvbicg
a2V5d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5nIGxpbmUg
dGVybWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgZmFpbFdpdGhN
ZXNzYWdlKCJFeHBlY3RlZCBlaXRoZXIgYSBkZWNsYXJhdGlvbiBvciBhIHZhcmlhYmxlIHN0YXRl
bWVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZG
YWxzZShyZXN1bHQsICJDYW5ub3QgcGFyc2UgdGhlIGRlY2xhcmF0aW9uIik7CiAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydExvY2FsRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24s
IHJlc3VsdCk7CiAgICAgfQpAQCAtMzEyMSwzNCArMzM1MSw0OSBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFz
c2lnbm1lbgogICAgIEFTU0VSVCghaGFzRXJyb3IoKSk7CiAgICAgCiAgICAgZmFpbElmU3RhY2tP
dmVyZmxvdygpOworCisgICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURF
TlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpKQorICAgICAgICByZXR1cm4gcGFyc2VZ
aWVsZEV4cHJlc3Npb24oY29udGV4dCk7CisKICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRv
a2VuU3RhcnRQb3NpdGlvbigpOwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOwogICAgIGludCBpbml0aWFsQXNzaWdubWVudENvdW50ID0gbV9wYXJzZXJTdGF0
ZS5hc3NpZ25tZW50Q291bnQ7CiAgICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1fcGFyc2Vy
U3RhdGUubm9uTEhTQ291bnQ7CiAgICAgYm9vbCBtYXliZUFzc2lnbm1lbnRQYXR0ZXJuID0gbWF0
Y2goT1BFTkJSQUNFKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCk7CiAgICAgYm9vbCB3YXNPcGVuUGFy
ZW4gPSBtYXRjaChPUEVOUEFSRU4pOwotICAgIGJvb2wgaXNWYWxpZEFycm93RnVuY3Rpb25TdGFy
dCA9IG1hdGNoKE9QRU5QQVJFTikgfHwgbWF0Y2goSURFTlQpOworICAgIC8vIERvIG5vdCB1c2Ug
bWF0Y2hTcGVjSWRlbnRpZmllcigpIGhlcmUgc2luY2UgaXQgaXMgc2xvd2VyIHRoYW4gaXNJZGVu
dGlmaWVyT3JLZXl3b3JkLgorICAgIC8vIFdoZXRoZXIgc3BlYyBpZGVudGlmaWVyIGlzIHdpbGwg
YmUgdmFsaWRhdGVkIGJ5IGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKS4KKyAgICBib29sIHdh
c0lkZW50aWZpZXJPcktleXdvcmQgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbik7Cisg
ICAgYm9vbCBtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0gd2FzT3BlblBhcmVuIHx8IHdh
c0lkZW50aWZpZXJPcktleXdvcmQ7CiAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOwogICAgIHNpemVfdCB1c2VkVmFyaWFibGVzU2l6ZSA9IDA7CisKKyNpZiAhRU5B
QkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKICAgICBpZiAod2FzT3BlblBhcmVuKSB7
CisjZWxzZQorICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgKHdhc0lkZW50aWZpZXJPcktleXdvcmQg
JiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkg
eworI2VuZGlmCiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3BlKCktPmN1
cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+cHVzaFVz
ZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlF
TERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKLSAgICAgICAg
cmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQpOwotCiAgICAgVHJlZUV4cHJlc3Np
b24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAKLSAgICBpZiAo
aXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgeworICAgIGlmICht
YXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRjaChFT0ZUT0spKSB7CiAgICAgICAg
IGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKICAgICAg
ICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4pIHsKICAgICAgICAgICAgIFNhdmVQ
b2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAg
ICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoVU5M
SUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpKSkg
eworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKSkgewot
ICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisgICAgICAgICAgICAgICAgaWYgKHdh
c09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRT
Y29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxlcyh1c2VkVmFyaWFibGVzU2l6ZSk7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
c3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCk7CiAgICAg
ICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBAIC0zMjcyLDYgKzM1MTcsMjIgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIC8vIEF3YWl0RXhwcmVzc2lvbiBkZXN1Z2FyZWQgdG8gWWllbGRFeHByZXNzaW9uCisgICAg
QVNTRVJUKG1hdGNoKEFXQUlUKSk7CisgICAgQVNTRVJUKGN1cnJlbnRTY29wZSgpLT5pc0FzeW5j
RnVuY3Rpb24oKSk7CisgICAgZmFpbElmVHJ1ZShtX3BhcnNlclN0YXRlLmZ1bmN0aW9uUGFyc2VQ
aGFzZSA9PSBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMsICJDYW5ub3QgdXNlIGF3YWl0
IGV4cHJlc3Npb24gd2l0aGluIHBhcmFtZXRlcnMiKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBkaXZvdFN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgbmV4dCgpOworICAgIEpTVGV4dFBvc2l0aW9uIGFy
Z3VtZW50U3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBh
cmd1bWVudCA9IHBhcnNlVW5hcnlFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNl
KGFyZ3VtZW50LCAiRmFpbGVkIHRvIHBhcnNlIGF3YWl0IGV4cHJlc3Npb24iKTsKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVBd2FpdChsb2NhdGlvbiwgYXJndW1lbnQsIGRpdm90U3RhcnQsIGFy
Z3VtZW50U3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworfQorCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CkBAIC0zMzg0LDExICszNjQ1LDE2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVC
CiAgICAgYm9vbCB3YXNJZGVudCA9IGZhbHNlOwogICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxz
ZTsKICAgICBib29sIGlzQ2xhc3NQcm9wZXJ0eSA9IGZhbHNlOworICAgIGJvb2wgaXNBc3luY01l
dGhvZCA9IGZhbHNlOwogICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgaXNHZW5lcmF0
b3IgPSB0cnVlOworCitVTlVTRURfTEFCRUwocGFyc2VQcm9wZXJ0eSk7CitwYXJzZVByb3BlcnR5
OgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBuYW1lZFByb3BlcnR5OgogICAg
IGNhc2UgSURFTlQ6CisgICAgY2FzZSBBV0FJVDoKICAgICAgICAgd2FzSWRlbnQgPSB0cnVlOwog
ICAgICAgICBGQUxMVEhST1VHSDsKICAgICBjYXNlIFNUUklORzogewpAQCAtMzM5NiwxMCArMzY2
MiwxNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAgICB1bnNpZ25lZCBnZXR0ZXJP
clNldHRlclN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwogICAgICAgICBpZiAoY29tcGxldGUg
fHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5
TmFtZXMtPmdldCB8fCAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KSkpCiAgICAg
ICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jk
cyk7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgZWxz
ZSBpZiAod2FzSWRlbnQgJiYgIWlzR2VuZXJhdG9yICYmICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5hc3luYykKKyAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxh
Z3NJZ25vcmVSZXNlcnZlZFdvcmRzKTsKKyNlbmRpZgogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcyB8IFRy
ZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3Jkcyk7CiAKLSAgICAgICAgaWYgKCFpc0dlbmVyYXRv
ciAmJiBtYXRjaChDT0xPTikpIHsKKyAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAhaXNBc3lu
Y01ldGhvZCAmJiBtYXRjaChDT0xPTikpIHsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAg
ICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uT3JQcm9w
YWdhdGVFcnJvckNsYXNzKGNvbnRleHQpOwogICAgICAgICAgICAgZmFpbElmRmFsc2Uobm9kZSwg
IkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIGZvciBwcm9wZXJ0eSBkZWNsYXJhdGlvbiIpOwpAQCAt
MzQwOCwxMSArMzY3OCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgICAgICB9CiAK
ICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0aG9k
ID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3IpOworICAg
ICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsIGlkZW50
LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJv
cigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoaWRlbnQsIG1l
dGhvZCwgUHJvcGVydHlOb2RlOjpDb25zdGFudCwgUHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCwg
Y29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAg
ICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhl
c2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3Ig
fHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxp
c3QiKTsKIAogICAgICAgICBmYWlsSWZGYWxzZSh3YXNJZGVudCwgIkV4cGVjdGVkIGFuIGlkZW50
aWZpZXIgYXMgcHJvcGVydHkgbmFtZSIpOwogCkBAIC0zNDM0LDYgKzM3MDQsMTMgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6OkdldHRl
cjsKICAgICAgICAgZWxzZSBpZiAoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkK
ICAgICAgICAgICAgIHR5cGUgPSBQcm9wZXJ0eU5vZGU6OlNldHRlcjsKKyNpZiBFTkFCTEUoRVMy
MDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBlbHNlIGlmIChVTkxJS0VMWSgqaWRl
bnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgIWlzR2VuZXJhdG9yICYmICFpc0Fz
eW5jTWV0aG9kKSkgeworICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9IHRydWU7CisgICAgICAg
ICAgICBmYWlsSWZUcnVlKG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCBhIHBy
b3BlcnR5IG5hbWUgZm9sbG93aW5nIGtleXdvcmQgJ2FzeW5jJyIpOworICAgICAgICAgICAgZ290
byBwYXJzZVByb3BlcnR5OworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhICc6JyBmb2xsb3dpbmcgdGhlIHByb3Bl
cnR5IG5hbWUgJyIsIGlkZW50LT5pbXBsKCksICInIik7CiAgICAgICAgIHJldHVybiBwYXJzZUdl
dHRlclNldHRlcihjb250ZXh0LCBjb21wbGV0ZSwgdHlwZSwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBpc0NsYXNzUHJvcGVydHkpOwpAQCAtMzQ0NSwx
MSArMzcyMiwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogCiAgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7CiAgICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IG1f
cGFyc2VyQXJlbmEuaWRlbnRpZmllckFyZW5hKCkubWFrZU51bWVyaWNJZGVudGlmaWVyKGNvbnN0
X2Nhc3Q8Vk0qPihtX3ZtKSwgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgIGF1dG8gbWV0aG9k
ID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCAmaWRlbnQsIGlzR2VuZXJhdG9yKTsKKyAg
ICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCAmaWRl
bnQsIGlzR2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVy
cm9yKCk7CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eSgmaWRlbnQs
IG1ldGhvZCwgUHJvcGVydHlOb2RlOjpDb25zdGFudCwgUHJvcGVydHlOb2RlOjpVbmtub3duLCBj
b21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAg
IH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVz
aXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8
fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlz
dCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIg
cHJvcGVydHkgbmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTM0NjQsMTEgKzM3NDEsMTEgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFpbChDTE9TRUJS
QUNLRVQsICJdIiwgImVuZCIsICJjb21wdXRlZCBwcm9wZXJ0eSBuYW1lIik7CiAKICAgICAgICAg
aWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKLSAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQ
cm9wZXJ0eU1ldGhvZChjb250ZXh0LCAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZp
ZXIsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0
eU1ldGhvZChjb250ZXh0LCAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXIsIGlz
R2VuZXJhdG9yLCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7
CiAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eShwcm9wZXJ0eU5hbWUs
IG1ldGhvZCwgc3RhdGljX2Nhc3Q8UHJvcGVydHlOb2RlOjpUeXBlPihQcm9wZXJ0eU5vZGU6OkNv
bnN0YW50IHwgUHJvcGVydHlOb2RlOjpDb21wdXRlZCksIFByb3BlcnR5Tm9kZTo6S25vd25EaXJl
Y3QsIGNvbXBsZXRlLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAg
ICAgICAgfQotICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJl
bnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJh
dG9yIHx8IGlzQXN5bmNNZXRob2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVu
dCBsaXN0Iik7CiAKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6JyBh
ZnRlciBwcm9wZXJ0eSBuYW1lIik7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJz
ZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAtMzQ4MywxMyArMzc2MCwxMyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3Qg
SWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvcikKK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJv
cGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhv
ZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgaXNBc3luY01ldGhvZCkKIHsKICAgICBKU1Rv
a2VuTG9jYXRpb24gbWV0aG9kTG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25l
ZCBtZXRob2RTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+IG1ldGhvZEluZm87CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0aG9kTmFtZTsK
LSAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNHZW5lcmF0b3IgPyBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgOiBTb3VyY2VQYXJzZU1vZGU6Ok1l
dGhvZE1vZGU7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogaXNBc3luY01l
dGhvZCA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlIDogU291cmNlUGFyc2VNb2Rl
OjpNZXRob2RNb2RlOwogICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0
LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQsIHBhcnNlTW9kZSwgZmFsc2UsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIG1ldGhvZFN0YXJ0LCBt
ZXRob2RJbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpNZXRob2QpKSwgIkNhbm5vdCBwYXJz
ZSB0aGlzIG1ldGhvZCIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZU1ldGhvZERlZmluaXRp
b24obWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMzc1NSw2ICs0MDMyLDIwIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25FeHByCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250
ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAgICBmdW5jdGlvbkluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBTb3VyY2VQYXJzZU1vZGUg
cGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBmYWls
SWZGYWxzZShwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVu
dHM6Ok5vbmUsIHBhcnNlTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJC
aW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1
bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24pLCAiQ2Fubm90IHBhcnNlIGFzeW5jIGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpUZW1wbGF0ZVN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VUZW1wbGF0ZVN0cmluZyhU
cmVlQnVpbGRlciYgY29udGV4dCwgYm9vbCBpc1RlbXBsYXRlSGVhZCwgdHlwZW5hbWUgTGV4ZXJU
eXBlOjpSYXdTdHJpbmdzQnVpbGRNb2RlIHJhd1N0cmluZ3NCdWlsZE1vZGUsIGJvb2wmIGVsZW1l
bnRJc1RhaWwpCiB7CiAgICAgaWYgKCFpc1RlbXBsYXRlSGVhZCkgewpAQCAtMzg0MiwxNCArNDEz
MywyMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnNldElubmVyQXJyb3dGdW5jdGlvblVzZXNUaGlzKCk7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZVRoaXNFeHByKGxvY2F0aW9uKTsKICAgICB9CisgICAgY2FzZSBBV0FJVDoKICAg
ICBjYXNlIElERU5UOiB7CiAgICAgaWRlbnRpZmllckV4cHJlc3Npb246CiAgICAgICAgIEpTVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElk
ZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgIGlmIChVTkxJS0VMWShtYXRjaChBUlJPV0ZVTkNUSU9OKSkpCisgICAgICAgIGlmIChtYXRj
aChBUlJPV0ZVTkNUSU9OKSkKICAgICAgICAgICAgIHJldHVybiAwOworCisjaWYgRU5BQkxFKEVT
MjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKFVOTElLRUxZKCppZGVudCA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4
ZXItPnByZXZUZXJtaW5hdG9yKCkpKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisjZW5kaWYKKwogICAgICAgICBjdXJyZW50U2NvcGUo
KS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50
KTsKICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCAqaWRlbnQsIHN0YXJ0LCBs
YXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKQEAgLTQwMjUsNiArNDMyMywxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAg
ICAgfQogCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29s
IGJhc2VJc0FzeW5jS2V5d29yZCA9IGZhbHNlOworI2VuZGlmCisKICAgICBpZiAoYmFzZUlzU3Vw
ZXIpIHsKICAgICAgICAgU2NvcGVSZWYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29wZSA9IGNs
b3Nlc3RQYXJlbnRPcmRpbmFyeUZ1bmN0aW9uTm9uTGV4aWNhbFNjb3BlKCk7CiAgICAgICAgIHNl
bWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSB8fCAoY2xvc2Vz
dE9yZGluYXJ5RnVuY3Rpb25TY29wZS0+aXNFdmFsQ29udGV4dCgpICYmIGNsb3Nlc3RPcmRpbmFy
eUZ1bmN0aW9uU2NvcGUtPmV4cGVjdGVkU3VwZXJCaW5kaW5nKCkgPT0gU3VwZXJCaW5kaW5nOjpO
ZWVkZWQpLCAic3VwZXIgaXMgbm90IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwpAQCAtNDA0Miw5
ICs0MzQ0LDI2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uU3VwZXJCaW5kaW5nID09IFN1cGVyQmluZGluZzo6Tm90
TmVlZGVkLCAic3VwZXIgaXMgbm90IHZhbGlkIGluIHRoaXMgY29udGV4dCIpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIGlmICghYmFzZUlzTmV3VGFyZ2V0KQorICAgIH0g
ZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkgeworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGlzSWRlbnRpZmllck9y
S2V5d29yZChtX3Rva2VuKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+YXN5bmM7CisjZW5kaWYKKwogICAgICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhw
cmVzc2lvbihjb250ZXh0KTsKIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNz
aW9uIik7CisgICAgICAgIGlmIChpc0FzeW5jICYmIGNvbnRleHQuaXNSZXNvbHZlKGJhc2UpICYm
ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgICAgICBpZiAobWF0Y2hTcGVj
SWRlbnRpZmllcigpKSB7CisgICAgICAgICAgICAgICAgLy8gQXN5bmNBcnJvd0Z1bmN0aW9uCisg
ICAgICAgICAgICAgICAgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvckluZGljYXRl
c0FzeW5jQXJyb3dGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBiYXNlSXNBc3luY0tleXdvcmQgPSB0cnVlOworICAgICAgICB9
CisjZW5kaWYKKyAgICB9CisKICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJh
c2UgZXhwcmVzc2lvbiIpOwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGxvY2F0aW9uID0g
dG9rZW5Mb2NhdGlvbigpOwpAQCAtNDA3OCw2ICs0Mzk3LDE0IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzCiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEpTVGV4dFBvc2l0
aW9uIGV4cHJlc3Npb25FbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICAgICAg
ICAgIFRyZWVBcmd1bWVudHMgYXJndW1lbnRzID0gcGFyc2VBcmd1bWVudHMoY29udGV4dCk7CisK
KyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgICAg
IGlmIChiYXNlSXNBc3luY0tleXdvcmQgJiYgKCFhcmd1bWVudHMgfHwgbWF0Y2goQVJST1dGVU5D
VElPTikpKSB7CisgICAgICAgICAgICAgICAgICAgIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOworICAgICAgICAgICAgICAgICAg
ICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYK
KwogICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGFyZ3VtZW50cywgIkNhbm5vdCBwYXJzZSBj
YWxsIGFyZ3VtZW50cyIpOwogICAgICAgICAgICAgICAgIGlmIChiYXNlSXNTdXBlcikgewogICAg
ICAgICAgICAgICAgICAgICBTY29wZVJlZiBmdW5jdGlvblNjb3BlID0gY3VycmVudEZ1bmN0aW9u
U2NvcGUoKTsKQEAgLTQxMzYsNyArNDQ2Myw3IEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25F
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCwgYm9vbCBpc0FzeW5jKQogewogICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKIApAQCAtNDE0NCw3ICs0NDcxLDkgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW8KICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaW5mby5uYW1lID0gJm1fdm0t
PnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQsIFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZv
LCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworCisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSA9IGlzQXN5bmMgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgOiBT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKChwYXJz
ZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQs
IHBhcnNlTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5v
dE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5
cGU6OkV4cHJlc3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9u
Iik7CiAKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlv
biwgaW5mbyk7CiB9CkBAIC00MTg4LDYgKzQ1MTcsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VVbmFyeUV4cHJl
c3MKICAgICBib29sIG1vZGlmaWVzRXhwciA9IGZhbHNlOwogICAgIGJvb2wgcmVxdWlyZXNMRXhw
ciA9IGZhbHNlOwogICAgIHVuc2lnbmVkIGxhc3RPcGVyYXRvciA9IDA7CisKKyNpZiBFTkFCTEUo
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChVTkxJS0VMWShtYXRjaChBV0FJ
VCkgJiYgY3VycmVudEZ1bmN0aW9uU2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkp
CisgICAgICAgIHJldHVybiBwYXJzZUF3YWl0RXhwcmVzc2lvbihjb250ZXh0KTsKKyNlbmRpZgor
CiAgICAgd2hpbGUgKGlzVW5hcnlPcChtX3Rva2VuLm1fdHlwZSkpIHsKICAgICAgICAgaWYgKHN0
cmljdE1vZGUoKSkgewogICAgICAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewpAQCAt
NDM2OSw2ICs0NzA0LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdm9pZCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KFcKICAgICAgICAgb3V0LnBy
aW50KCJJbnZhbGlkIHByaXZhdGUgbmFtZSAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAg
cmV0dXJuOwogICAgICAgICAgICAgCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIElERU5UOgog
ICAgICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRpZmllciAnIiwgZ2V0VG9rZW4oKSwg
IiciKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggNTBlMTM5MWI1ZmQwM2RkNWU3NzhiOGZkYjU5MjNhYTc5OGFlZDEyMy4uMWE4ZmFmYWYy
ZjgwZWU2ZDA2Yjg0MjVjMTM5MjZkZDNjZjEwYmI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RydWN0IFNjb3BlIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY29wZSk7CiAKIHB1YmxpYzoKLSAgICBTY29wZShjb25zdCBWTSog
dm0sIGJvb2wgaXNGdW5jdGlvbiwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBi
b29sIGlzQXJyb3dGdW5jdGlvbikKKyAgICBTY29wZShjb25zdCBWTSogdm0sIGJvb2wgaXNGdW5j
dGlvbiwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBzdHJpY3RNb2RlLCBib29sIGlzQXJyb3dGdW5j
dGlvbiwgYm9vbCBpc0FzeW5jRnVuY3Rpb24pCiAgICAgICAgIDogbV92bSh2bSkKICAgICAgICAg
LCBtX3NoYWRvd3NBcmd1bWVudHMoZmFsc2UpCiAgICAgICAgICwgbV91c2VzRXZhbChmYWxzZSkK
QEAgLTE1MCw2ICsxNTAsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5k
YXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uKGlzQXJyb3dGdW5jdGlvbikK
ICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQorICAgICAgICAsIG1f
aXNBc3luY0Z1bmN0aW9uKGlzQXN5bmNGdW5jdGlvbikKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5j
dGlvbkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUoZmFsc2UpCiAg
ICAgICAgICwgbV9pc0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCiAgICAgICAgICwgbV9pc1ZhbGlk
U3RyaWN0TW9kZSh0cnVlKQpAQCAtMTgxLDYgKzE4Myw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBt
X2lzR2VuZXJhdG9yQm91bmRhcnkob3RoZXIubV9pc0dlbmVyYXRvckJvdW5kYXJ5KQogICAgICAg
ICAsIG1faXNBcnJvd0Z1bmN0aW9uKG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAs
IG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFy
eSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihvdGhlci5tX2lzQXN5bmNGdW5jdGlvbikK
KyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBc3luY0Z1bmN0
aW9uQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShvdGhlci5tX2lzTGV4aWNh
bFNjb3BlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNGdW5jdGlv
bkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUob3RoZXIubV9pc1ZhbGlk
U3RyaWN0TW9kZSkKQEAgLTIzOCw2ICsyNDIsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U291
cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2RlKQogICAgIHsKICAgICAgICAgc3dpdGNo
IChtb2RlKSB7CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Cb2R5TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9keSgpOwor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uQm9k
eSgpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvckJvZHlNb2RlOgogICAgICAgICAgICAgc2V0SXNHZW5lcmF0b3IoKTsKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMjU3LDYgKzI2OSwxNSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBz
ZXRJc0Fycm93RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICAgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNGdW5jdGlv
bigpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5j
dGlvbigpOworICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OlByb2dyYW1Nb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5h
bHl6ZU1vZGU6CiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1v
ZGU6CkBAIC0yNjgsNiArMjg5LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNGdW5jdGlvbkJvdW5k
YXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0Z1bmN0aW9uQm91bmRhcnk7IH0KICAgICBib29sIGlz
R2VuZXJhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvcjsgfQogICAgIGJvb2wgaXNH
ZW5lcmF0b3JCb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3JCb3VuZGFyeTsg
fQorICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0FzeW5jRnVu
Y3Rpb247IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkgY29uc3QgeyByZXR1
cm4gbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsgfQogCiAgICAgYm9vbCBoYXNBcmd1bWVudHMo
KSBjb25zdCB7IHJldHVybiBtX2hhc0FyZ3VtZW50czsgfQogCkBAIC0yOTEsNiArMzE0LDExIEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fbGV4aWNhbFZhcmlhYmxlczsKICAgICB9CiAKKyAg
ICBib29sIGlzTW9kdWxlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKICAgICB2b2lkIGNvbXB1dGVMZXhpY2FsbHlDYXB0dXJlZFZhcmlhYmxlc0FuZFB1cmdl
Q2FuZGlkYXRlcygpCiAgICAgewogICAgICAgICAvLyBCZWNhdXNlIHZhcmlhYmxlcyBtYXkgYmUg
ZGVmaW5lZCBhdCBhbnkgdGltZSBpbiB0aGUgcmFuZ2Ugb2YgYSBsZXhpY2FsIHNjb3BlLCB3ZSBt
dXN0CkBAIC03MTAsNiArNzM4LDM0IEBAIHByaXZhdGU6CiAgICAgICAgIG1faXNBcnJvd0Z1bmN0
aW9uID0gdHJ1ZTsKICAgICB9CiAKKyAgICB2b2lkIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHNldElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNG
dW5jdGlvbiA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlv
biA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jRnVuY3Rpb25Cb2R5KCkKKyAg
ICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9oYXNBcmd1bWVudHMgPSBm
YWxzZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgICAgICBtX2lzQXN5
bmNGdW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5bmNB
cnJvd0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsK
KyAgICAgICAgbV9oYXNBcmd1bWVudHMgPSBmYWxzZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rp
b24gPSB0cnVlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5ID0gdHJ1ZTsKKyAg
ICB9CisKICAgICBjb25zdCBWTSogbV92bTsKICAgICBib29sIG1fc2hhZG93c0FyZ3VtZW50czsK
ICAgICBib29sIG1fdXNlc0V2YWw7CkBAIC03MjQsNiArNzgwLDggQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNHZW5lcmF0b3JCb3VuZGFyeTsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uOwog
ICAgIGJvb2wgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeTsKKyAgICBib29sIG1faXNBc3luY0Z1
bmN0aW9uOworICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29sIG1f
aXNMZXhpY2FsU2NvcGU7CiAgICAgYm9vbCBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsKICAgICBib29s
IG1faXNWYWxpZFN0cmljdE1vZGU7CkBAIC04ODYsOCArOTQ0LDkgQEAgcHJpdmF0ZToKICAgICB9
OwogCiAgICAgZW51bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7Ci0gICAgICAgIEVycm9ySW5kaWNh
dGVzTm90aGluZywKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuCisgICAgICAgIEVycm9y
SW5kaWNhdGVzTm90aGluZyA9IDAsCisgICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybiwKKyAg
ICAgICAgRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24KICAgICB9OwogCiAgICAgc3Ry
dWN0IEV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIgewpAQCAtOTExLDYgKzk3MCwxMSBAQCBwcml2
YXRlOgogICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOwogICAgICAgICB9CiAK
KyAgICAgICAgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJv
ckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBtX2NsYXNzID0g
Y2xhc3NpZmljYXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJlY2xhc3NpZnlFeHBy
ZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJl
c3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAgICAgICB7CiAgICAgICAgICAgICBp
ZiAobV9jbGFzcyAhPSBvbGRDbGFzc2lmaWNhdGlvbikKQEAgLTkyMCwxMSArOTg0LDEyIEBAIHBy
aXZhdGU6CiAKICAgICAgICAgdm9pZCBwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcygpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX3ByZXZpb3VzICYmIG1fY2xhc3MgIT0gRXJyb3JJ
bmRpY2F0ZXNOb3RoaW5nKQorICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMpCiAgICAgICAgICAg
ICAgICAgbV9wcmV2aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7CiAgICAgICAgIH0KIAogICAgICAg
ICBib29sIGluZGljYXRlc1Bvc3NpYmxlUGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3Mg
PT0gRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuOyB9CisgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2li
bGVBc3luY0Fycm93RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5k
aWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBFeHBy
ZXNzaW9uRXJyb3JDbGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYgKzEwMDMsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Y2xhc3NpZnlFeHByZXNz
aW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9p
ZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNz
aWZpY2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmll
cikKKyAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Zm9yY2VDbGFzc2lm
eUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CisgICAgfQorCiAgICAgQUxXQVlTX0lO
TElORSB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mg
b2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQog
ICAgIHsKICAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikKQEAgLTk1OSw2
ICsxMDMwLDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBEZXN0cnVjdHVyaW5nS2luZDo6
RGVzdHJ1Y3R1cmVUb1ZhcmlhYmxlczsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIGNvbnN0
IGNoYXIqIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKERlY2xhcmF0aW9uVHlwZSB0eXBl
KQorICAgIHsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgRGVjbGFyYXRp
b25UeXBlOjpWYXJEZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAidmFyaWFibGUgbmFt
ZSI7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpMZXREZWNsYXJhdGlvbjoKKyAgICAg
ICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb246CisgICAgICAgICAgICBy
ZXR1cm4gImxleGljYWwgdmFyaWFibGUgbmFtZSI7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuICJpbnZhbGlkIjsKKyAgICB9
CisKICAgICBBTFdBWVNfSU5MSU5FIEFzc2lnbm1lbnRDb250ZXh0IGFzc2lnbm1lbnRDb250ZXh0
RnJvbURlY2xhcmF0aW9uVHlwZShEZWNsYXJhdGlvblR5cGUgdHlwZSkKICAgICB7CiAgICAgICAg
IHN3aXRjaCAodHlwZSkgewpAQCAtOTcxLDYgKzEwNTUsMTIgQEAgcHJpdmF0ZToKIAogICAgIEFM
V0FZU19JTkxJTkUgYm9vbCBpc0V2YWxPckFyZ3VtZW50cyhjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCkgeyByZXR1cm4gaXNFdmFsT3JBcmd1bWVudHNJZGVudGlmaWVyKG1fdm0sIGlkZW50KTsgfQog
CisgICAgU2NvcGVSZWYgdXBwZXJTY29wZShpbnQgbikKKyAgICB7CisgICAgICAgIEFTU0VSVCht
X3Njb3BlU3RhY2suc2l6ZSgpID49IHNpemVfdCgxICsgbikpOworICAgICAgICByZXR1cm4gU2Nv
cGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEgLSBuKTsKKyAgICB9
CisKICAgICBTY29wZVJlZiBjdXJyZW50U2NvcGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNj
b3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXplKCkgLSAxKTsKQEAgLTEwMjcs
MTMgKzExMTcsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc1N0cmljdCA9IGZhbHNlOwog
ICAgICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uID0gZmFsc2U7CiAg
ICAgICAgIGlmICghbV9zY29wZVN0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaXNTdHJp
Y3QgPSBtX3Njb3BlU3RhY2subGFzdCgpLnN0cmljdE1vZGUoKTsKICAgICAgICAgICAgIGlzRnVu
Y3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzRnVuY3Rpb24oKTsKICAgICAgICAgICAgIGlz
R2VuZXJhdG9yID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0dlbmVyYXRvcigpOwogICAgICAgICAg
ICAgaXNBcnJvd0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Fycm93RnVuY3Rpb24o
KTsKKyAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNB
c3luY0Z1bmN0aW9uKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVj
dEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJy
b3dGdW5jdGlvbik7CisgICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92
bSwgaXNGdW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24sIGlz
QXN5bmNGdW5jdGlvbik7CiAgICAgICAgIHJldHVybiBjdXJyZW50U2NvcGUoKTsKICAgICB9CiAK
QEAgLTEzNDYsMjEgKzE0MzgsMjUgQEAgcHJpdmF0ZToKICAgICAvLyBodHRwOi8vZWNtYS1pbnRl
cm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5p
dGlvbnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMKICAgICBBTFdBWVNfSU5MSU5FIGJv
b2wgbWF0Y2hTcGVjSWRlbnRpZmllcihib29sIGluR2VuZXJhdG9yKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIG1hdGNoKElERU5UKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFz
a2VkQXNJREVOVChpbkdlbmVyYXRvcik7CisgICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwg
bWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lE
RU5UKGluR2VuZXJhdG9yKTsKICAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hT
cGVjSWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2hTcGVjSWRlbnRpZmll
cihjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgIHJldHVybiBtYXRjaChJ
REVOVCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERN
YXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKICAgICB9CiAKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNv
dXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUdlbmVyYXRv
ckZ1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBh
cnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlUGFyc2VN
b2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBTb3VyY2VFbGVtZW50c01v
ZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVj
dGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRl
ciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoID0gMCk7CiAgICAgZW51bSBjbGFzcyBFeHBvcnRUeXBlIHsgRXhwb3J0ZWQsIE5v
dEV4cG9ydGVkIH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBv
cnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0
aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVy
JiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50
QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRp
b24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFu
ZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9v
bCBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rp
b25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwg
RGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZURvV2hp
bGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwpAQCAt
MTM4Nyw2ICsxNDgzLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZ
U19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVF
eHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VB
d2FpdEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhw
cmVzc2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3ICsxNDkxLDE4IEBAIHByaXZh
dGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4
cHJlc3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Np
b24gcGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VGdW5jdGlv
bkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRzKFRyZWVCdWlsZGVyJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNz
aW9uIHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVudFR5cGUmKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVC
dWlsZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwg
Y29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvcik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0
aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBi
b29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVy
JiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlzQ2xhc3NQcm9wZXJ0eSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlv
bkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBTeW50YXhDaGVja2VyJiwgY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBm
dW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBT
dXBlckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBib29sIHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0
LCB1bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxv
b3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3Qo
VHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJu
JiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9z
aXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0LCBEZWNsYXJhdGlvblR5cGUs
IEV4cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RIYXZlSW5pdGlhbGl6ZXIpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
QXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVC
aW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBl
LCBjb25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVudENvbnRleHQsIGNvbnN0IElk
ZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQXNz
aWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVzc2lvbiYsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gcGFyc2VC
aW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1
cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlm
aWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNzaWdubWVudENvbnRleHQgYmlu
ZGluZ0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1NjAsMjEgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwoKTsKICAgICB9CiAKKyAgICBi
b29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBKU1Rva2VuJiB0b2tlbikKKyAg
ICB7CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0
YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5
KCkgfHwgY3VycmVudFNjb3BlKCktPmlzTW9kdWxlKCkgfHwgIW1fcGFyc2VyU3RhdGUuYWxsb3dB
d2FpdCk7CisgICAgfQorCisgICAgY29uc3QgY2hhciogZGlzYWxsb3dlZElkZW50aWZpZXJBd2Fp
dFJlYXNvbigpCisgICAgeworICAgICAgICBpZiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8
fCBjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSkKKyAgICAgICAgICAg
IHJldHVybiAiaW4gYW4gYXN5bmMgZnVuY3Rpb24iOworICAgICAgICBpZiAoY3VycmVudFNjb3Bl
KCktPmlzTW9kdWxlKCkpCisgICAgICAgICAgICByZXR1cm4gImluIGEgbW9kdWxlIjsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNlUGhhc2UgeyBQYXJhbWV0ZXJz
LCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAgICAgICAgaW50IGFzc2lnbm1l
bnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU4Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIEZ1
bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBGdW5jdGlvblBhcnNlUGhhc2U6
OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50aWZpZXIgeyBudWxs
cHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgeyBudWxs
cHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUgfTsKICAgICB9OwogCiAgICAg
Ly8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBwcm9iYWJseSBzaG91bGQgYmUg
dXNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9k
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAppbmRleCA5
ZmQ3Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2Li4yYWFjNjgyMWFlZDJjOGUw
MWI5OTM1MGU4MDJjMDRhZGZkNGU4MTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJNb2Rlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFBhcnNlck1vZGVzX2gK
ICNkZWZpbmUgUGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAiQ29uc3RydWN0QWJpbGl0eS5oIgog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00Myw4MCArNDQs
MTMwIEBAIGVudW0gRGVidWdnZXJNb2RlIHsgRGVidWdnZXJPZmYsIERlYnVnZ2VyT24gfTsKIAog
ZW51bSBjbGFzcyBGdW5jdGlvbk1vZGUgeyBGdW5jdGlvbkV4cHJlc3Npb24sIEZ1bmN0aW9uRGVj
bGFyYXRpb24sIE1ldGhvZERlZmluaXRpb24gfTsKIAotZW51bSBjbGFzcyBTb3VyY2VQYXJzZU1v
ZGUgOiB1aW50OF90IHsKLSAgICBOb3JtYWxGdW5jdGlvbk1vZGUsCi0gICAgR2VuZXJhdG9yQm9k
eU1vZGUsCi0gICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKLSAgICBHZXR0ZXJNb2Rl
LAotICAgIFNldHRlck1vZGUsCi0gICAgTWV0aG9kTW9kZSwKLSAgICBBcnJvd0Z1bmN0aW9uTW9k
ZSwKLSAgICBQcm9ncmFtTW9kZSwKLSAgICBNb2R1bGVBbmFseXplTW9kZSwKLSAgICBNb2R1bGVF
dmFsdWF0ZU1vZGUKK2VudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDE2X3QgeworICAg
IE5vcm1hbEZ1bmN0aW9uTW9kZSAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDAxLAorICAg
IEdlbmVyYXRvckJvZHlNb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDEwLAorICAg
IEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgID0gMGIwMDAwMDAwMDAwMDAwMTAwLAorICAg
IEdldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAxMDAwLAorICAg
IFNldHRlck1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDEwMDAwLAorICAg
IE1ldGhvZE1vZGUgICAgICAgICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMTAwMDAwLAorICAg
IEFycm93RnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAxMDAwMDAwLAorICAg
IEFzeW5jRnVuY3Rpb25Cb2R5TW9kZSAgICAgICAgID0gMGIwMDAwMDAwMDEwMDAwMDAwLAorICAg
IEFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICAgID0gMGIwMDAwMDAwMTAwMDAwMDAwLAorICAg
IEFzeW5jRnVuY3Rpb25Nb2RlICAgICAgICAgICAgID0gMGIwMDAwMDAxMDAwMDAwMDAwLAorICAg
IEFzeW5jTWV0aG9kTW9kZSAgICAgICAgICAgICAgID0gMGIwMDAwMDEwMDAwMDAwMDAwLAorICAg
IEFzeW5jQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgID0gMGIwMDAwMTAwMDAwMDAwMDAwLAorICAg
IFByb2dyYW1Nb2RlICAgICAgICAgICAgICAgICAgID0gMGIwMDAxMDAwMDAwMDAwMDAwLAorICAg
IE1vZHVsZUFuYWx5emVNb2RlICAgICAgICAgICAgID0gMGIwMDEwMDAwMDAwMDAwMDAwLAorICAg
IE1vZHVsZUV2YWx1YXRlTW9kZSAgICAgICAgICAgID0gMGIwMTAwMDAwMDAwMDAwMDAwLAogfTsK
IAotaW5saW5lIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VN
b2RlKQorY2xhc3MgU291cmNlUGFyc2VNb2RlU2V0IHsgCitwdWJsaWM6IAorICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIE1vZGVzPiAKKyAgICBTb3VyY2VQYXJzZU1vZGVTZXQoTW9kZXMuLi4gYXJn
cykgCisgICAgICAgIDogbV9tYXNrKG1lcmdlU291cmNlUGFyc2VNb2RlcyhhcmdzLi4uKSkgCisg
ICAgeyAKKyAgICB9IAorCisgICAgQUxXQVlTX0lOTElORSBib29sIGNvbnRhaW5zKFNvdXJjZVBh
cnNlTW9kZSBtb2RlKSAKKyAgICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KG1vZGUpICYgbV9tYXNrOyAKKyAgICB9IAorCitwcml2YXRlOiAKKyAgICBBTFdBWVNfSU5M
SU5FIHN0YXRpYyB1bnNpZ25lZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VNb2Rl
IG1vZGUpIAorICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9k
ZSk7IAorICAgIH0gCisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBSZXN0PiAKKyAgICBBTFdB
WVNfSU5MSU5FIHN0YXRpYyB1bnNpZ25lZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFy
c2VNb2RlIG1vZGUsIFJlc3QuLi4gcmVzdCkgCisgICAgeyAKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihtb2RlKSB8IG1lcmdlU291cmNlUGFyc2VNb2RlcyhyZXN0Li4uKTsg
CisgICAgfSAKKworICAgIGNvbnN0IHVuc2lnbmVkIG1fbWFzazsgCit9OyAKKworQUxXQVlTX0lO
TElORSBib29sIGlzRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkg
Cit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBw
ZXJGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUsIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6Ok1ldGhvZE1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rp
b25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUs
IAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FM
V0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAg
ICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29s
IGlzQXN5bmNBcnJvd0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUp
IAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAor
CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNl
dCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAor
CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCgg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMo
cGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNZXRob2RQYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKIHsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVF
dmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFNvdXJj
ZVBhcnNlTW9kZVNldCgKKyAgICAgICAgLy8gRklYTUU6IEdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgYSBtZXRob2QuCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpHZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUs
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY01ldGhvZE1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7CiB9CiAKLWlubGlu
ZSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0g
ICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9k
ZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9y
bWFsRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0
aG9kTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0g
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQorQUxXQVlTX0lOTElORSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAK
K30gCiAKLWlubGluZSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFy
c2VNb2RlKQotewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJN
b2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBmYWxzZTsKK0FMV0FZU19JTkxJTkUgYm9vbCBpc1Byb2dyYW1QYXJzZU1v
ZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJz
ZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSkuY29udGFpbnMocGFyc2VNb2Rl
KTsgCit9IAorCitBTFdBWVNfSU5MSU5FIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0
eUZvclBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgaWYgKHBh
cnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkgCisgICAgICAg
IHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5Db25zdHJ1Y3Q7CisKKyAgICByZXR1cm4gQ29u
c3RydWN0QWJpbGl0eTo6Q2Fubm90Q29uc3RydWN0OwogfQogCiBpbmxpbmUgYm9vbCBmdW5jdGlv
bk5hbWVJc0luU2NvcGUoY29uc3QgSWRlbnRpZmllciYgbmFtZSwgRnVuY3Rpb25Nb2RlIGZ1bmN0
aW9uTW9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
VG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmlu
ZGV4IGViMjYzYmIyY2ZiNWQ3NjNhY2VmNzljNjljZDI4ZjgyM2MyYTdlODAuLmQzODk1MzQyMjlk
Nzk0OGI2Y2IyZDI4YzQzMDI0MWE1MmU2NjFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtODMsNiArODMsNyBAQCBlbnVtIEpTVG9rZW5UeXBl
IHsKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCiAgICAgU1VQRVIsCisgICAgQVdBSVQs
CiAgICAgT1BFTkJSQUNFID0gMCwKICAgICBDTE9TRUJSQUNFLAogICAgIE9QRU5QQVJFTiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggMWMwZDE4
ZWQ4NzFhNzIxNDgwZmVhODIxMjA4YTI3N2ZhMmQ4MjY4Ni4uNWFjNjVhYmQwNDU1ZmVmNjc4MWI2
NGEwNzNlYmQ5MjUyYTNjZGViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
eW50YXhDaGVja2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgICAgICBDbGF1c2VM
aXN0UmVzdWx0LCBDb21tYUV4cHIsIERlc3RydWN0dXJpbmdBc3NpZ25tZW50LAogICAgICAgICBU
ZW1wbGF0ZVN0cmluZ1Jlc3VsdCwgVGVtcGxhdGVTdHJpbmdMaXN0UmVzdWx0LAogICAgICAgICBU
ZW1wbGF0ZUV4cHJlc3Npb25MaXN0UmVzdWx0LCBUZW1wbGF0ZUV4cHIsCi0gICAgICAgIFRhZ2dl
ZFRlbXBsYXRlRXhwciwgWWllbGRFeHByLAorICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlp
ZWxkRXhwciwgQXdhaXRFeHByLAogICAgICAgICBNb2R1bGVOYW1lUmVzdWx0LAogICAgICAgICBJ
bXBvcnRTcGVjaWZpZXJSZXN1bHQsIEltcG9ydFNwZWNpZmllckxpc3RSZXN1bHQsCiAgICAgICAg
IEV4cG9ydFNwZWNpZmllclJlc3VsdCwgRXhwb3J0U3BlY2lmaWVyTGlzdFJlc3VsdApAQCAtMTgy
LDggKzE4MiwxMCBAQCBwdWJsaWM6CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRW1wdHlMZXRF
eHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImKSB7IHJl
dHVybiBBc3NpZ25tZW50RXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVlpZWxkKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYpIHsgcmV0dXJuIFlpZWxkRXhwcjsgfQogICAgIEV4cHJlc3Np
b25UeXBlIGNyZWF0ZVlpZWxkKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBl
LCBib29sLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBZaWVsZEV4cHI7IH0KKyAgICBFeHByZXNz
aW9uVHlwZSBjcmVhdGVBd2FpdChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlw
ZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gQXdhaXRFeHByOyB9CiAgICAgQ2xhc3NFeHByZXNz
aW9uIGNyZWF0ZUNsYXNzRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJD
bGFzc0luZm88U3ludGF4Q2hlY2tlcj4mLCBWYXJpYWJsZUVudmlyb25tZW50JiwgRXhwcmVzc2lv
blR5cGUsIEV4cHJlc3Npb25UeXBlLCBQcm9wZXJ0eUxpc3QsIFByb3BlcnR5TGlzdCkgeyByZXR1
cm4gQ2xhc3NFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVj
a2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAg
IGludCBjcmVhdGVGdW5jdGlvbk1ldGFkYXRhKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1
Y3RvcktpbmQsIFN1cGVyQmluZGluZywgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCwg
SW5uZXJBcnJvd0Z1bmN0aW9uQ29kZUZlYXR1cmVzID0gTm9Jbm5lckFycm93RnVuY3Rpb25GZWF0
dXJlcykgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUg
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBj
YmMwZmY1NzExZjEuLjczODlmOWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
aApAQCAtMTA5LDYgKzEwOSw3IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8o
YXMpIFwKICAgICBtYWNybyhhc3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3Jv
KGJhY2spIFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYg
KzI3Miw3IEBACiAgICAgbWFjcm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJ
RVJTX0VBQ0hfS0VZV09SRChtYWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8o
YnJlYWspIFwKICAgICBtYWNybyhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oCmluZGV4IDllOWNmNDQwZjg0NGNjZTgwNzY2Njc4OTM5M2YyNWJjNDYyMTY0
ZGEuLjA2MDVjMTUxZjg5MTIxNTMwMmRkZTAwOTY0NGUwMDQxZDhjNTYzYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaApAQCAtMzYwLDYgKzM2MCwxMCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdl
IHdpbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURlZmluZXMueGNjb25maWcgZmls
ZQogI2RlZmluZSBFTkFCTEVfRVM2X01PRFVMRVMgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChF
TkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorI2RlZmluZSBFTkFCTEVfRVMyMDE3
X0FTWU5DRlVOQ1RJT05fU1lOVEFYIDAKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX0NP
TlRFTlRfRVhURU5TSU9OUykKICNkZWZpbmUgRU5BQkxFX0NPTlRFTlRfRVhURU5TSU9OUyAwCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4
MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19Q
QVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25l
Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0
IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQ
SSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJj
NDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5
YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5W
QVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFC
TEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0g
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3Mq
XSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5B
QkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2
ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0g
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRb
c2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5U
UyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9N
T0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQ
SSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElP
TlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9F
TEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVB
TV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklN
QVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCBjNzFlNWE3NmI4ZWI1OTk1ODFjZDg4Y2Qz
MDA2MDNmZTNlNDFiM2JhLi5iMzczYzA1NjYyNWZlNjRhZTU2ZjJlNjYxNmM1Mjc3NzRiYWNkZWRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xMTMsNiArMTEzLDcgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRU5D
UllQVEVEX01FRElBICJUb2dnbGUgRU1FIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIgIlN1cHBvcnQgRU1FIHYy
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X01PRFVM
RVMgIlRvZ2dsZSBFUzYgbW9kdWxlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYICJUb2dnbGUg
RVMyMDE3IGFzeW5jIGZ1bmN0aW9ucyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfRkVUQ0hfQVBJICJUb2dnbGUgRmV0Y2ggQVBJIHN1cHBvcnQi
IFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMiAiVG9nZ2xlIEZpbHRlcnMgTW9kdWxlIExldmVsIDIiIFBSSVZBVEUgT0ZGKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTICJUb2dnbGUgRm9udCBM
b2FkIEV2ZW50cyBzdXBwb3J0IiBQUklWQVRFIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKaW5kZXggMjM0NzdhZmI1MGRm
OWIwOTdlYjQyZjdiNDJkM2E1NzI3MDVmYjYwYS4uMWUzZmQ4ZDAwN2RmYjA1MGU0YjYyNmRkZmI0
NzM1MDZhNTgyMjQ5YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKKysrIGIv
VG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKQEAgLTMzLDEzICszMywxNiBAQCB1c2UgRmluZEJpbjsK
IHVzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2gpOwogdXNlIGxpYiAkRmlu
ZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7Cit1c2Ugd2Via2l0cGVybDo6RmVhdHVyZUxpc3Qg
cXcoZ2V0RmVhdHVyZU9wdGlvbkxpc3QpOwogdXNlIFBPU0lYOwogCitzdWIgY01ha2VBcmdzRnJv
bUZlYXR1cmVzKCk7CiBzdWIgd3JpdGVDb25ncmF0cygpOwogCiBwcm9oaWJpdFVua25vd25Qb3J0
KCk7CiAKIG15ICRzaG91bGRSdW5TdGF0aWNBbmFseXplciA9IDA7CitteSAkbWluaW1hbCA9IDA7
CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICRzaG93SGVscCA9IDA7CiBteSAkZnRsSklU
ID0gaW50KGlzQXBwbGVNYWNXZWJLaXQoKSAmJiAhd2lsbFVzZUlPU1NpbXVsYXRvclNESygpIHx8
IGlzWDg2XzY0KCkgJiYgKGlzR3RrKCkgfHwgaXNFZmwoKSB8fCBpc0pTQ09ubHkoKSkpOwpAQCAt
NTAsNiArNTMsMjAgQEAgbXkgQGNtYWtlQXJnczsKIG15ICRjb3B5TGlicmFyaWVzID0gMTsKIG15
ICRzdGFydFRpbWUgPSB0aW1lKCk7CiAKK215IEBmZWF0dXJlcyA9IGdldEZlYXR1cmVPcHRpb25M
aXN0KCk7CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJvbSBkZWZhdWx0cworZm9yZWFjaCAoQEFS
R1YpIHsKKyAgICBpZiAoJF8gZXEgJy0tbWluaW1hbCcpIHsKKyAgICAgICAgJG1pbmltYWwgPSAx
OworICAgIH0KK30KKworIyBJbml0aWFsaXplIHZhbHVlcyBmcm9tIGRlZmF1bHRzCitmb3JlYWNo
IChAZmVhdHVyZXMpIHsKKyAgICAkeyRfLT57dmFsdWV9fSA9ICgkbWluaW1hbCA/IDAgOiAkXy0+
e2RlZmF1bHR9KTsKK30KKwogIyBBZGRpdGlvbmFsIGVudmlyb25tZW50IHBhcmFtZXRlcnMKIHB1
c2ggQEFSR1YsIHNwbGl0KC8gLywgJEVOVnsnQlVJTERfSlNDX0FSR1MnfSkgaWYgKCRFTlZ7J0JV
SUxEX0pTQ19BUkdTJ30pOwogCkBAIC02Nyw3ICs4NCw3IEBAIFVzYWdlOiAkcHJvZ3JhbU5hbWUg
W29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVpbGQgc3lzdGVtXQogICAtLWNtYWtlYXJn
cz08YXJndW1lbnRzPiAgICAgICBPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5n
LiAtLWNtYWtlYXJncz0iLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbCIp
CiBFT0YKIAotR2V0T3B0aW9ucygKK215ICVvcHRpb25zID0gKAogICAgICdhbmFseXplIScgPT4g
XCRzaG91bGRSdW5TdGF0aWNBbmFseXplciwKICAgICAnY292ZXJhZ2UhJyA9PiBcJGNvdmVyYWdl
U3VwcG9ydCwKICAgICAnaGVscCcgPT4gXCRzaG93SGVscCwKQEAgLTc5LDYgKzk2LDE2IEBAIEdl
dE9wdGlvbnMoCiAgICAgJ2NtYWtlYXJncz1zJyA9PiBcQGNtYWtlQXJncwogKTsKIAorZm9yZWFj
aCAoQGZlYXR1cmVzKSB7CisgICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgbXkg
JG9wdCA9IHNwcmludGYoIiUtMzVzIiwgIiAgLS1bbm8tXSRfLT57b3B0aW9ufSIpOworICAgICAg
ICAkdXNhZ2UgLj0gIiRvcHQgJF8tPntkZXNjfSAoZGVmYXVsdDogJF8tPntkZWZhdWx0fSlcbiI7
CisgICAgICAgICRvcHRpb25zeyIkXy0+e29wdGlvbn0hIn0gPSAkXy0+e3ZhbHVlfTsKKyAgICB9
Cit9CisKK0dldE9wdGlvbnMoJW9wdGlvbnMpOworCiBpZiAoJHNob3dIZWxwKSB7CiAgICBwcmlu
dCBTVERFUlIgJHVzYWdlOwogICAgZXhpdCAxOwpAQCAtMTA0LDYgKzEzMSw4IEBAIGlmIChpc0NN
YWtlQnVpbGQoKSkgewogICAgIHB1c2ggQGNtYWtlQXJncywgJGZvcmNlQ0xvb3AgPyAiIC1ERU5B
QkxFX0pJVD1PRkYiIDogIiAtREVOQUJMRV9KSVQ9T04iOwogICAgIHB1c2ggQGNtYWtlQXJncywg
JGZ0bEpJVCA/ICIgLURFTkFCTEVfRlRMX0pJVD1PTiIgOiAiIC1ERU5BQkxFX0ZUTF9KSVQ9T0ZG
IjsKIAorICAgIG15IEBmZWF0dXJlQXJncyA9IGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpOworCiAg
ICAgbXkgJGJ1aWxkVGFyZ2V0ID0gIiI7CiAgICAgdW5sZXNzIChpc0FueVdpbmRvd3MoKSkgewog
ICAgICAgICAjIEJ5IGRlZmF1bHQgd2UgYnVpbGQgdXNpbmcgYWxsIG9mIHRoZSBhdmFpbGFibGUg
Q1BVcwpAQCAtMTE0LDcgKzE0Myw3IEBAIGlmIChpc0NNYWtlQnVpbGQoKSkgewogICAgIH0KIAog
ICAgICMgVGhpcyBjYWxsIG9ubHkgcmV0dXJucyBpZiBub3RoaW5nIHdyb25nIGhhcHBlbmVkCi0g
ICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoMCwgdW5kZWYsICRidWlsZFRhcmdldCwgKGNtYWtl
QmFzZWRQb3J0QXJndW1lbnRzKCksIEBjbWFrZUFyZ3MpKTsKKyAgICBidWlsZENNYWtlUHJvamVj
dE9yRXhpdCgwLCB1bmRlZiwgJGJ1aWxkVGFyZ2V0LCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMo
KSwgQGZlYXR1cmVBcmdzLCBAY21ha2VBcmdzKSk7CiAgICAgd3JpdGVDb25ncmF0cygpOwogICAg
IGV4aXQgZXhpdFN0YXR1cygwKTsKIH0KQEAgLTEyMyw2ICsxNTIsMjAgQEAgaWYgKGlzQXBwbGVN
YWNXZWJLaXQoKSkgewogICAgIHB1c2ggQG9wdGlvbnMsICgkZm9yY2VDTG9vcCA/ICJFTkFCTEVf
SklUPUVOQUJMRV9KSVQ9MCIgOiAiRU5BQkxFX0pJVD1FTkFCTEVfSklUIik7CiAgICAgcHVzaCBA
b3B0aW9ucywgKCRmdGxKSVQgPyAiRU5BQkxFX0ZUTF9KSVQ9RU5BQkxFX0ZUTF9KSVQiIDogIkVO
QUJMRV9GVExfSklUPUVOQUJMRV9GVExfSklUPTAiKTsKIAorICAgIHN1YiBvcHRpb24oJCQkKQor
ICAgIHsKKyAgICAgICAgbXkgKCRmZWF0dXJlLCAkaXNFbmFibGVkLCAkZGVmYXVsdFZhbHVlKSA9
IEBfOworICAgICAgICByZXR1cm4gIiIgaWYgJGRlZmF1bHRWYWx1ZSA9PSAkaXNFbmFibGVkOwor
ICAgICAgICByZXR1cm4gJGZlYXR1cmUgLiAiPSIgLiAoJGlzRW5hYmxlZCA/ICRmZWF0dXJlIDog
IiIpOworICAgIH0KKworICAgIGZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICAgICBpZiAoJF8t
PntqYXZhc2NyaXB0fSkgeworICAgICAgICAgICAgbXkgJG9wdGlvbiA9IG9wdGlvbigkXy0+e2Rl
ZmluZX0sICR7JF8tPnt2YWx1ZX19LCAkXy0+e2RlZmF1bHR9KTsKKyAgICAgICAgICAgIHB1c2gg
QG9wdGlvbnMsICRvcHRpb24gdW5sZXNzICRvcHRpb24gZXEgIiI7CisgICAgICAgIH0KKyAgICB9
CisKICAgICBpZiAoJGNvcHlMaWJyYXJpZXMpIHsKICAgICAgICAgbXkgQGNvcHlMaWJyYXJpZXNB
cmdzID0gKCJwZXJsIiwgIlRvb2xzL1NjcmlwdHMvY29weS13ZWJraXRsaWJyYXJpZXMtdG8tcHJv
ZHVjdC1kaXJlY3RvcnkiKTsKICAgICAgICAgcHVzaCBAY29weUxpYnJhcmllc0FyZ3MsICItLWRl
dmljZSIgaWYgd2lsbFVzZUlPU0RldmljZVNESygpOwpAQCAtMTUzLDYgKzE5NiwyMSBAQCBzdWIg
YnVpbGRNeVByb2plY3QKICAgICBjaGRpcldlYktpdCgpOwogfQogCitzdWIgY01ha2VBcmdzRnJv
bUZlYXR1cmVzKCkKK3sKKyAgICBteSBAYXJnczsKKyAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsK
KyAgICAgICAgbXkgJGZlYXR1cmVOYW1lID0gJF8tPntkZWZpbmV9OworICAgICAgICBpZiAoJGZl
YXR1cmVOYW1lKSB7CisgICAgICAgICAgICBteSAkZmVhdHVyZUVuYWJsZWQgPSAkeyRfLT57dmFs
dWV9fSA/ICJPTiIgOiAiT0ZGIjsKKyAgICAgICAgICAgIGlmICgkZmVhdHVyZUVuYWJsZWQgIT0g
JF8tPntkZWZhdWx0fSkgeworICAgICAgICAgICAgICAgIHB1c2ggQGFyZ3MsICItRCRmZWF0dXJl
TmFtZT0kZmVhdHVyZUVuYWJsZWQiOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
ICAgIHJldHVybiBAYXJnczsKK30KKwogc3ViIHdyaXRlQ29uZ3JhdHMoKQogewogICAgIG15ICRl
bmRUaW1lID0gdGltZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmlu
ZGV4IDY5ZGNlNzZkZWMwNjJiMzA4MWYwN2QxYjNiZGUxMmJiMzNkZGJmNmEuLjliN2FmYjM1NGNj
ZDkyMTcyYzAzMTViODZlNmEwYTdlZGEwOWMyZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KQEAgLTUxLDYgKzUxLDcgQEAgQkVHSU4gewogbXkgKAogICAgICRhY2Nl
bGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKICAgICAkYWxsSW5PbmVCdWlsZCwKKyAgICAkYXN5bmNm
dW5jdGlvblN5bnRheCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0
ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNzMsNiArMTc0
LDEwIEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWxsaW5vbmUtYnVpbGQi
LCBkZXNjID0+ICJUb2dnbGUgYWxsLWluLW9uZSBidWlsZCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9BTExJTk9ORV9CVUlMRCIsIGRlZmF1bHQgPT4gaXNXaW5kb3dzKCksIHZhbHVlID0+IFwk
YWxsSW5PbmVCdWlsZCB9LAogCisgICAgeyBvcHRpb24gPT4gImFzeW5jZnVuY3Rpb24tc3ludGF4
IiwgZGVzYyA9PiAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIsCisgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0
ID0+IDAsIHZhbHVlID0+IFwkYXN5bmNmdW5jdGlvblN5bnRheCwKKyAgICAgIGphdmFzY3JpcHQg
PT4gMSB9LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVudCIsIGRlc2MgPT4g
IlRvZ2dsZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkYXR0YWNo
bWVudEVsZW1lbnRTdXBwb3J0IH0sCiAKQEAgLTI2NCw3ICsyNjksOCBAQCBteSBAZmVhdHVyZXMg
PSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HQU1FUEFEIiwgZGVmYXVsdCA9PiAwLCB2YWx1
ZSA9PiBcJGdhbWVwYWRTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiZ2VuZXJhdG9ycyIs
IGRlc2MgPT4gIlRvZ2dsZSBFUzYgZ2VuZXJhdG9ycyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0VTNl9HRU5FUkFUT1JTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGdlbmVy
YXRvcnNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0b3JzU3VwcG9ydCwKKyAgICAgIGphdmFz
Y3JpcHQgPT4gMSB9LAogCiAgICAgeyBvcHRpb24gPT4gImdlb2xvY2F0aW9uIiwgZGVzYyA9PiAi
VG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0VP
TE9DQVRJT04iLCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNJT1NXZWJLaXQoKSB8
fCBpc0d0aygpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJGdlb2xvY2F0aW9uU3VwcG9ydCB9LApA
QCAtMzQyLDcgKzM0OCw4IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX01IVE1MIiwgZGVmYXVsdCA9PiAoaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRt
aHRtbFN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJtb2R1bGVzIiwgZGVzYyA9PiAiVG9n
Z2xlIEVTNiBtb2R1bGVzIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X01P
RFVMRVMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkbW9kdWxlc1N1cHBvcnQgfSwKKyAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBc
JG1vZHVsZXNTdXBwb3J0LAorICAgICAgamF2YXNjcmlwdCA9PiAxIH0sCiAKICAgICB7IG9wdGlv
biA9PiAibW91c2UtY3Vyc29yLXNjYWxlIiwgZGVzYyA9PiAiVG9nZ2xlIFNjYWxlZCBtb3VzZSBj
dXJzb3Igc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkbW91c2VDdXJzb3JTY2FsZVN1cHBv
cnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThh
Zjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VT
Nl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBF
TkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01f
RUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dS
SVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2NhMWY3MDk0OTZjNzI5OGI5
MjUzYTcyMTlhMjU1YzY4OGQxZWYxOS4uYzM1ODJmNzFkOWMyODkzNGMwZjk3Zjk0ODJhZjIyYzkx
MTk2MTdjNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0
cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5j
IEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBzdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RT
eW50YXgpOgorICAgICAgICAodGVzdFN5bnRheEVycm9yKToKKyAgICAgICAgKHRlc3RUb3BMZXZl
bEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAodGVzdFRv
cExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVs
QXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNB
d2FpdFN5bnRheFN0cmljdE1vZGUudGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5
bmNBd2FpdFN5bnRheC5hc3luYyk6CisgICAgICAgICh0ZXN0TmVzdGVkQXN5bmNBd2FpdFN5bnRh
eC5mb28pOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUu
dGVzdFN5bnRheEVycm9yKToKKwogMjAxNi0wOS0xOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlNDXSBEbyBub3QgbmVlZCB0byB1c2UgZGVmaW5l
UHJvcGVydHkgdG8gZGVmaW5lIG1ldGhvZHMgZm9yIG9iamVjdCBsaXRlcmFscwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0cy9zdHJlc3Mv
YXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3YTMyMDFhOWM0NTYzZWEwNTViZDRk
ZjJmYWJlMDFlYzVmMzA5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9hc3lu
Yy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyODAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
NiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvLyBUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9O
X1NZTlRBWCB0byBiZSBlbmFibGVkIGF0IGJ1aWxkIHRpbWUuCisvL0Agc2tpcCAKKworZnVuY3Rp
b24gdGVzdFN5bnRheChzY3JpcHQpIHsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7
CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3lu
dGF4RXJyb3IpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0
cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cisg
ICAgfQorfQorCitmdW5jdGlvbiB0ZXN0U3ludGF4RXJyb3Ioc2NyaXB0LCBtZXNzYWdlKSB7Cisg
ICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7Cisg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJy
b3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgc3ludGF4IGVycm9yIG5vdCB0
aHJvd25cbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKKworICAgIGlmICh0
eXBlb2YgbWVzc2FnZSA9PT0gInN0cmluZyIgJiYgU3RyaW5nKGVycm9yKSAhPT0gbWVzc2FnZSkK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpICsg
IlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworfQorCisoZnVuY3Rpb24g
dGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5bnRh
eChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2Fp
dCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdh
aXQgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgeCA9PiBh
d2FpdCB4ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYGFzeW5jIGZ1bmN0aW9uIGFzeW5j
Rm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5bmMgbWV0
aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5j
IFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZh
ciBPID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50
YXgoYHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RT
eW50YXgoYGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtg
KTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7
IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0p
ID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0g
MSB9ID0ge30pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGBmdW5jdGlvbiogZygpIHsgdmFy
IGYgPSBhc3luYyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGBmdW5jdGlvbiogZygpIHsg
dmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdFRv
cExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5j
dGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gYXdhaXQgJ3Rlc3QnO2ApOworICAgIHRl
c3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyB4ID0+IGF3YWl0IHgg
KyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlv
biBhc3luY0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3Qi
OyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBh
d2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsg
YXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMg
WydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAwKCkgeyBhd2Fp
dCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9
IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9ID0ge30pID0+IGZvbztgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5j
KHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGco
KSB7IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRl
c3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4KCkgeworICAgIHZhciBjb250ZXh0RGF0YSA9IFsKKyAg
ICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiBvdXRlckZ1bmN0aW9uKCkgeyAiLCBzdWZmaXg6ICIg
fSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7ICIs
IHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckZ1bmNFeHByID0g
ZnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIg
b3V0ZXJHZW5FeHByID0gZnVuY3Rpb24qKCkgeyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAg
IHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyAqb3V0
ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xh
c3MgQyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAg
IHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyBvdXRlclN0
YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
dmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyAqb3V0ZXJTdGF0aWNHZW5NZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91
dGVyQ2xhc3MgeyBvdXRlck1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAg
IHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0
YXRpYyBvdXRlclN0YXRpY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAg
IHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyAqb3V0ZXJTdGF0aWNHZW5NZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckFycm93ID0gKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
YXN5bmMgZnVuY3Rpb24gb3V0ZXJBc3luY0Z1bmN0aW9uKCkgeyAiLCBzdWZmaXg6ICIgfSIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBc3luY0Z1bmNFeHByID0gYXN5bmMgZnVuY3Rp
b24oKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJB
c3luY0Fycm93RnVuYyA9IGFzeW5jICgpID0+IHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgp
IHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xh
c3NFeHByID0gY2xhc3MgQyB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDog
IiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNz
IEMgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAi
IH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IGFzeW5jIG91
dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZp
eDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgYXN5bmMgb3V0ZXJTdGF0aWNBc3luY01ldGhv
ZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgXTsKKworICAgIHZhciB0ZXN0RGF0YSA9
IFsKKyAgICAgICAgYHZhciBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgbGV0
IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBjb25zdCBhc3luYyA9IDE7IHJl
dHVybiBhc3luYztgLAorICAgICAgICBgZnVuY3Rpb24gYXN5bmMoKSB7fSByZXR1cm4gYXN5bmMo
KTtgLAorICAgICAgICBgdmFyIGFzeW5jID0gYXN5bmMgPT4gYXN5bmM7IHJldHVybiBhc3luYygp
O2AsCisgICAgICAgIGBmdW5jdGlvbiBmb28oKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2Fp
dDsgfWAsCisgICAgICAgIGBmdW5jdGlvbiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9YCwK
KyAgICAgICAgYGZ1bmN0aW9uKiBmb28oKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2FpdDsg
fWAsCisgICAgICAgIGBmdW5jdGlvbiogZm9vKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfWAsCisg
ICAgICAgIGB2YXIgZiA9ICgpID0+IHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9YCwK
KyAgICAgICAgYHZhciBPID0geyBtZXRob2QoKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2Fp
dDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9kKGF3YWl0KSB7IHJldHVybiBhd2Fp
dDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsg
cmV0dXJuIGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKGF3YWl0KSB7
IHJldHVybiBhd2FpdDsgfSB9O2AsCisKKyAgICAgICAgYChmdW5jdGlvbiBhd2FpdCgpIHt9KWAs
CisgICAgXTsKKworICAgIGZvciAobGV0IGNvbnRleHQgb2YgY29udGV4dERhdGEpIHsKKyAgICAg
ICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0RGF0YSkgeworICAgICAgICAgICAgbGV0IHNjcmlwdCA9
IGNvbnRleHQucHJlZml4ICsgdGVzdCArIGNvbnRleHQuc3VmZml4OworICAgICAgICAgICAgdGVz
dFN5bnRheChzY3JpcHQpOworICAgICAgICAgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyAk
e3NjcmlwdH1gKTsKKyAgICAgICAgfQorICAgIH0KK30pKCk7CisKKworKGZ1bmN0aW9uIHRlc3RU
b3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgeworICAgIHRlc3RTeW50YXhFcnJv
cihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0Jztg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIg
YXdhaXQgPSAndGVzdCc7IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9
IGFzeW5jIGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2
YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZShhd2FpdCkge31gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKGF3YWl0KSA9PiAndGVz
dCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICAvLyBGSVhNRTogTWV0aG9kRGVmaW5pdGlv
bnMgZG8gbm90IGFwcGx5IFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgcmVzdHJpY3Rpb25zCisgICAg
Ly8gICAgICAgIGluIHNsb3BweSBtb2RlIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxNDA4KQorICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3Qg
PSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZh
ciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGEsIGEpIHt9IH1gKTsKKyAg
ICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAnbWV0aG9kJyhh
LCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsg
YXN5bmMgMChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0Fy
cm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIg
YXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBh
c3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgdmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgKmFzeW5jR2VuZXJhdG9yTWV0aG9kKCkg
e30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyBhc3luY0dlbmVy
YXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNG
biA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4
O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdh
aXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlv
biogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAx
OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7
IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0g
YXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5jdGlv
biogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh7eCA9IHlpZWxk
fSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHsgYXN5bmMgY29u
c3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFz
cyBDMiBleHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsgc3RhdGlj
IGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGYg
PSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBI
ZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMg
ZnVuY3Rpb24gZm9vMSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSBmb281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
KGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5mb283IGZv
bzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5mb285ICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMCA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmNbJ2ZvbzE0J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9v
MTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydmb28xNydd
ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTgnXSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzE5J10gZm9vMjAgPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28yMSddICgpID0+IDFgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yMmAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoIihhc3luY2Bmb28yM2AgZm9vMjQgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
Iihhc3luY2Bmb28yNWAgKCkgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bm
b28yNmAuYmFyMjcgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28yOGAu
YmFyMjkgZm9vMzAgPT4gMSkiKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoIihhc3luY2Bmb28zMWAu
YmFyMzIgKCkgPT4gMSkiKTsKKworICAgIC8vIGFzc2VydCB0aGF0IGVycm9ycyBhcmUgc3RpbGwg
dGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5bmMgZnVuY3Rpb25zCisgICAg
dGVzdFN5bnRheEVycm9yKGBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAg
ICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRlc3RUb3BMZXZl
bEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9
PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4geyB2YXIgYXdhaXQgPSAndGVzdCc7IH07YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMg
YXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihhd2FpdCkge31gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3
aXRoTmFtZShhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uKGF3YWl0KSB7fWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgn
ICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEsIGEpIHt9IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAw
KGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
YXN5bmNBcnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsKKworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKigpIHt9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dl
bmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgKmFzeW5jR2VuZXJhdG9yTWV0
aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbih4ID0g
YXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBhc3luYyBmdW5jdGlvbiBmKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMoeCA9IGF3YWl0IDEp
ID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBh
c3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH0gfTtgKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZh
ciBhc3luY0Fycm93Rm4gPSBhc3luYyB5aWVsZCA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5j
QXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dG
biA9IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyh7eCA9IHlpZWxkfSkgPT4gMTsgfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5k
cyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBl
eHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBmID0gYXN5bmMoKSA9PiAoKGFzeW5jKHggPSBh
d2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUgRmVycmVpcm8ncyBidWcgKHRt
KQorICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24gZm9v
MSgpIHsgfSBmb28yID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb280KCkgeyB9ID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSBm
b281ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBm
dW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vOSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMCA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKS5mb28xMyAoKSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2ZvbzE0J10g
PT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28x
NSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luY1snZm9vMTcnXSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyAoYXN5bmMoKVsnZm9vMTgnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMoKVsnZm9vMjEnXSAoKSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjJgID0+IDEpJyk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yM2AgZm9vMjQgPT4g
MSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI1YCAo
KSA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9v
MjZgLmJhcjI3ID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChh
c3luY2Bmb28yOGAuYmFyMjkgZm9vMzAgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1
c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAxKScpOworCisgICAgLy8gYXNz
ZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUg
YmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
ZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAgICAgYXN5bmMoeyBmb28zMyA9
IDEgfSlgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsg
YXN5bmMgbWV0aG9kKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShldmFsKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhl
dmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyAwKGV2YWwpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCdd
KGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2
YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAwKGFyZ3VtZW50cykge30gfWAp
OworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBt
ZXRob2QoZHVwZSwgZHVwZSkge30gfWApOworfSkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289446</attachid>
            <date>2016-09-21 05:42:31 -0700</date>
            <delta_ts>2016-09-21 05:54:11 -0700</delta_ts>
            <desc>Async Function Parsing v6</desc>
            <filename>bug-161409-20160921083942.patch</filename>
            <type>text/plain</type>
            <size>160265</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTZjNDRiMzVlNGNkOTNlZDNhNWEyMjE3OWJkYWY2NDRmMGY0ZGYwLi41MjM3ZmFiMmQzNDAyNTRh
NTVlZjY1NWMxNTk3NjI3YWRhMGNhZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgy
YTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VT
Nl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBF
TkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01f
RUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dS
SVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGUuY3BwCmluZGV4IDA1NGQ2M2RmNTlhNzg0NzU1YjliYWU3ZmVkMmNkNzZiNTgwYzAyOWMuLmYw
MjhkNDg4MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1YTc2OGNkMzM0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlLmNwcApAQCAtODksNiArODksNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAg
ICwgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5v
ZGUtPnNvdXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+
cGFyYW1ldGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFy
c2VNb2RlKG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2Rl
LT5pc0luU3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxz
ZSkKICAgICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5j
dGlvbikKQEAgLTk4LDcgKzk5LDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICAsIG1f
Y29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSkKICAgICAsIG1f
c3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkp
CiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZl
ZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAg
ICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5v
ZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTEyLDcgKzExMiw2IEBAIFVubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSog
c3RydWN0CiAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGNvbW1lbnRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRD
b250ZXh0VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7
Ci0gICAgQVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b2RlLT5wYXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2Fw
KHBhcmVudFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXgg
MWUzY2JhZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUzMi4uODlhYWI4YWJmNzE3MWU4
ZDQ5OGNiNWFjMzE4NzQyZGM3MzA1NzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTE1
NSw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9m
ZnNldDsKICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBt
X2ZlYXR1cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1
bnNpZ25lZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1
cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsK
QEAgLTE2NCw3ICsxNjUsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29tbWVudE1vZGU6
IDE7IC8vIEpTUGFyc2VyQ29tbWVudE1vZGUKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6
IDE7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGU6IDI7Ci0gICAgdW5zaWduZWQg
bV9zb3VyY2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJzZU1vZGUKIAogICAgIFdyaXRlQmFy
cmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ2Fs
bDsKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtl
ZENvZGVCbG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMDc1ZjVjZDk2YWI5
ZTJkNmZhMmE4YmUwNzAwMDYxZmUxYTUwMzk2ZC4uODA2MTNkMDZjMzBlZTNiOGI3MjJmYmMyNzk2
NjU2YTg1OWE4NWZmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI5ODYsMTcgKzI5ODYsMTQgQEAg
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24o
UmVnaXN0ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEFycm93RnVu
Y0V4cHJOb2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1v
ZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlKTsKKyAgICBBU1NFUlQo
ZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQog
CiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24o
UmVnaXN0ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9kZSogZnVuYykKIHsKLSAgICBBU1NF
UlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBh
cnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5j
LT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUK
LSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VN
b2RlOjpNZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRob2RQYXJzZU1vZGUoZnVuYy0+bWV0
YWRhdGEoKS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29t
bW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRl
eCA5ZmM5Njk1YjEwMjJjNjJhODEwYmIwNTZiZjk3ZmFhODMyNGE3YTlhLi44YmEzZjRhNWM5ODcy
N2Q0NzkwMGM3NDkyZjRlNjAwYzU3NmIzNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zNTA3LDYgKzM1MDcsMTgg
QEAgUmVnaXN0ZXJJRCogWWllbGRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRNb3Zl
KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHZhbHVlLmdldCgpKTsKIH0KIAorLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEF3YWl0RXhwck5vZGUgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQXdhaXRFeHByTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sK
KyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYXJnID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwor
ICAgIGdlbmVyYXRvci5lbWl0Tm9kZShhcmcuZ2V0KCksIGFyZ3VtZW50KCkpOworICAgIFJlZlB0
cjxSZWdpc3RlcklEPiB2YWx1ZSA9IGdlbmVyYXRvci5lbWl0WWllbGQoYXJnLmdldCgpKTsKKyAg
ICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVz
dGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIAogdm9pZCBDbGFzc0RlY2xOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3
MDAxLi5mZGJkMmY0ODQyMjg5OTBhNDA3NTBhZjc3NWMxMjNjZjBmYmM5ZjVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzY3LDYgKzM2NywxNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KIAorICAgIEF3YWl0RXhwck5vZGUq
IGNyZWF0ZUF3YWl0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25O
b2RlKiBhcmd1bWVudCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQ
b3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCisgICAgeworICAgICAg
ICBBU1NFUlQoYXJndW1lbnQpOworICAgICAgICBBd2FpdEV4cHJOb2RlKiBub2RlID0gbmV3ICht
X3BhcnNlckFyZW5hKSBBd2FpdEV4cHJOb2RlKGxvY2F0aW9uLCBhcmd1bWVudCk7CisgICAgICAg
IHNldEV4Y2VwdGlvbkxvY2F0aW9uKG5vZGUsIHN0YXJ0LCBkaXZvdCwgZW5kKTsKKyAgICAgICAg
cmV0dXJuIG5vZGU7CisgICAgfQorCiAgICAgQ2xhc3NFeHByTm9kZSogY3JlYXRlQ2xhc3NFeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxB
U1RCdWlsZGVyPiYgY2xhc3NJbmZvLCBWYXJpYWJsZUVudmlyb25tZW50JiBjbGFzc0Vudmlyb25t
ZW50LCBFeHByZXNzaW9uTm9kZSogY29uc3RydWN0b3IsCiAgICAgICAgIEV4cHJlc3Npb25Ob2Rl
KiBwYXJlbnRDbGFzcywgUHJvcGVydHlMaXN0Tm9kZSogaW5zdGFuY2VNZXRob2RzLCBQcm9wZXJ0
eUxpc3ROb2RlKiBzdGF0aWNNZXRob2RzKQogICAgIHsKQEAgLTM4Miw2ICszOTAsMTcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2Rl
KiBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9u
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKKyAgICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAg
ICAgU291cmNlQ29kZSBzb3VyY2UgPSBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rp
b25JbmZvLnN0YXJ0T2Zmc2V0LCBmdW5jdGlvbkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24oKSA/IGZ1bmN0aW9uSW5mby5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZv
LmVuZE9mZnNldCwgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRl
cnNTdGFydENvbHVtbik7CisgICAgICAgICAgICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAo
bV9wYXJzZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUs
IGZ1bmN0aW9uSW5mby5ib2R5LCBzb3VyY2UpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJv
ZHktPnNldExvYyhmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwg
bG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5j
dGlvbkV4cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lv
bk5vZGUqIGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8p
CiAgICAgewogICAgICAgICBNZXRob2REZWZpbml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3Bh
cnNlckFyZW5hKSBNZXRob2REZWZpbml0aW9uTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5u
YW1lLCBmdW5jdGlvbkluZm8uYm9keSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvS2V5d29yZHMudGFibGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tl
eXdvcmRzLnRhYmxlCmluZGV4IDQ1ODJkMDBhYWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVk
MmEuLjJmN2RmYzU1YzBkYThjMDMxZDY2NDMyMTM2ZTc0ODg4YmJiY2Y5MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1
ZQkJVFJVRVRPS0VOCiBmYWxzZQkJRkFMU0VUT0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQgICAg
ICAgQVdBSVQKIGJyZWFrCQlCUkVBSwogY2FzZQkJQ0FTRQogY2F0Y2gJCUNBVENICmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDY5YjQ0
MjhlODc5Y2E4MDBlOWNhMWI4N2IzNjJhMjM3MDg4NzdiYzYuLmMxZDU0N2JjN2Y5MDFjMDZjNjUz
OTg2Mjg5ZDM1YjU0NTIwNTAzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC05MzgsNiArOTM4LDEyIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHsKICAgICB9CiAKKyAgICBpbmxpbmUgQXdhaXRFeHByTm9kZTo6QXdhaXRFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJndW1l
bnQpCisgICAgICAgIDogRXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCisgICAgICAgICwgbV9hcmd1
bWVudChhcmd1bWVudCkKKyAgICB7CisgICAgfQorCiAgICAgaW5saW5lIENsYXNzRGVjbE5vZGU6
OkNsYXNzRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lv
bk5vZGUqIGNsYXNzRGVjbGFyYXRpb24pCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlv
bikKICAgICAgICAgLCBtX2NsYXNzRGVjbGFyYXRpb24oY2xhc3NEZWNsYXJhdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA1OGUyNzQ1M2RkMDA1Mzc2NzAzYmQzODM3
OTViNGEwMTEzNWY4NjA0Li5iMGM0OTdhMGVlYjU3NzhkMGVlZmY3ZjI1NDdiMzgyZjE0ZDk2YTVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0yMDA3LDYgKzIwMDcsMTgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbV9kZWxlZ2F0ZTsKICAgICB9OwogCisg
ICAgY2xhc3MgQXdhaXRFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVi
bGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRhIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEF3YWl0
RXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50
KTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBt
X2FyZ3VtZW50OyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisg
ICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2FyZ3VtZW50OworICAgIH07CisKICAgICBjbGFzcyBD
bGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVmFyaWFi
bGVFbnZpcm9ubWVudE5vZGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdXNpbmcgUGFyc2VyQXJl
bmFEZWxldGFibGU6Om9wZXJhdG9yIG5ldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCA0MzcwOGZmYWUyNjQ5MzkyOGQ1YjIxMzk0MjI4ZmM2Y2MyZjg4OWM2Li5m
NGY5NjVjZDRjN2Q0OGNiOTAwODk1NWRlNzk5NjQ1NjliZWNmYzY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFu
dGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicg
YXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3Jk
VG9rZW5GbGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29y
ZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNE
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFp
bCgiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAg
ICBzY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBh
cnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rp
b25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhl
ci0+aXNSZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxB
U1RCdWlsZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKFNvdXJjZVBhcnNlTW9k
ZVNldChTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1v
ZGUpIHx8IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAg
ICAgIG1fcGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVu
Y3Rpb25JbmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9w
YXJhbWV0ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBm
dW5jdGlvbkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpBcnJvd0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAoU291cmNl
UGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAh
aGFzRXJyb3IoKSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUg
YW4gZXJyb3Igd2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4K
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAg
ICAgICAgIG5leHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJz
ZU1vCiAgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAv
LyBUaGUgb25seSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBh
IGZ1bmN0aW9uIGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJy
b3IoKSkgewotICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAg
ICAgIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAg
ICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNr
Rm9yU3RyaWN0TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHBy
ZXNzaW9uKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25T
aW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNl
IGlmIChpc01vZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxl
bWVudHMgPSBwYXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0g
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNl
RWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwg
Q2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJp
Y3RNb2RlKTsKLSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291
cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4
dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNl
RWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9k
ZSk7CiAgICAgfQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAg
LTMxMCw3ICszMTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29u
c3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYg
ZW50cnkgOiBjYXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtW
YXJpYWJsZUFzQ2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoU291cmNl
UGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZSkuY29udGFpbnMocGFyc2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2Rl
KHBhcnNlTW9kZSkpIHsKICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMo
bV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250
ZXh0LnByb3BhZ2F0ZUFyZ3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBA
IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMq
IHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0g
ICAgYm9vbCBpc09wZW5QYXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50
ID0gbWF0Y2goSURFTlQpOwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFs
c2U7Ci0gICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9p
bnQoKTsKLSAgICAgICAgCi0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAg
ICAgICBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBSRUxFQVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9Q
RU5QQVJFTikpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dG
dW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAg
ICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9X
RlVOQ1RJT04pOwpAQCAtMzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFt
ZXRlcnNDb3VudCA9IDA7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJh
bWV0ZXJMaXN0KCksIHBhcmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBt
YXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9w
U2NvcGUoZmFrZVNjb3BlLCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAg
ICAgICAgIH0KKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAg
IHJldHVybiBpc0Fycm93RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigp
KSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24g
PSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CkBAIC01NDAsNiArNTM5LDUwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9k
ZSBtb2RlKQoreworICAgIEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBh
cnNlTW9kZSkpOworICAgIGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJj
ZUVsZW1lbnRzKCk7CisKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2Vu
U3RhcnQoKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7Cisg
ICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlv
bk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFy
YW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJh
bWV0ZXJzKGNvbnRleHQsIGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZz
ZXQgPSBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsK
KyAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOworICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVm
IGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3lu
Y0Z1bmN0aW9uQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwor
ICAgICAgICBTeW50YXhDaGVja2VyIGFzeW5jRnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0q
PihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbikKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNp
bmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNG
dW5jdGlvbkNvbnRleHQsIG1vZGUpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1
bmN0aW9uIik7CisgICAgICAgIHBvcFNjb3BlKGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVC
dWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBj
b250ZXh0LmNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlv
bigpLCBzdGFydENvbHVtbiwgdG9rZW5Db2x1bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0
b3JLaW5kOjpOb25lLCBtX3N1cGVyQmluZGluZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQ
YXJzZU1vZGUsIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5k
TGluZSA9IHRva2VuTGluZSgpOworICAgIGluZm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb24gPyB0b2tlbkxvY2F0aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgIGluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47
CisKKyAgICBhdXRvIGZ1bmN0aW9uRXhwciA9IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkoc3RhcnRMb2NhdGlvbiwgaW5mbywgaW5uZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVt
ZW50ID0gY29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9u
RXhwciwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5h
cHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4g
c291cmNlRWxlbWVudHM7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewog
ICAgIC8vIFRoZSBncmFtbWFyIGlzIGRvY3VtZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDUsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVu
ZGVyIGEgZ2VuZXJhdG9yIGNvbnRleHQsIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxk
IiByZXR1cm5zIGBmYWxzZWAuCiAgICAgICAgICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBl
bnRlciBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRo
ZSBjb250ZXh0IG9mIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8g
cmFpc2UgY29uc2lzdGVudCBlcnJvcnMgYmV0d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIu
Ci0gICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZ
SUVMRCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAg
ICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkg
fHwgbWF0Y2goQVdBSVQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNL
RVQpKQogICAgICAgICAgICAgICAgIHNob3VsZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZh
bHNlOwogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9
CkBAIC01ODIsNiArNjI1LDIxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBJREVOVDoKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBpZiAoVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgLy8gRWFnZXJseSBwYXJzZSBhcyBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24uIFRoaXMgaXMgdGhlIHVuY29tbW9uIGNhc2UsCisgICAg
ICAgICAgICAvLyBidXQgY291bGQgYmUgbWlzdGFrZW5seSBwYXJzZWQgYXMgYW4gQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24uCisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAoVU5MSUtF
TFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CisgICAgICAgIEZBTExUSFJP
VUdIOworI2VuZGlmCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAg
IC8vIFRoaXMgaXMgYSBjb252ZW5pZW50IHBsYWNlIHRvIG5vdGljZSBsYWJlbGVkIHN0YXRlbWVu
dHMKICAgICAgICAgLy8gKGV2ZW4gdGhvdWdoIHdlIGFsc28gcGFyc2UgdGhlbSBhcyBub3JtYWwg
c3RhdGVtZW50cykKQEAgLTY5MCw2ICs3NDgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVjbAog
ICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICBmYWlsSWZU
cnVlKG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6Okxl
dERlY2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0
RGVjbGFyYXRpb24pLCAKICAgICAgICAgICAgICAgICAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlk
ZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJD
YW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKGRl
Y2xhcmF0aW9uVHlwZSksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsK
ICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHZhclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOwogICAgICAgICAgICAgaWRlbnRTdGFydCA9IHZhclN0YXJ0OwpAQCAtMTAxMSw2
ICsxMDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzUGF0dGVybiwg
RXJyb3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRy
dWVJZlN0cmljdChpc0V2YWxPckFyZ3VtZW50cywgIkNhbm5vdCBtb2RpZnkgJyIsIHByb3BlcnR5
TmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXQoaWRlbnRpZmllclRva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwg
ZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dl
ZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0
ZXJuID0gY3JlYXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKnBy
b3BlcnR5TmFtZSwgaWRlbnRpZmllclRva2VuLCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRl
bnRpZmllcik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEw
NzksNiArMTEzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBmYWls
V2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFyYW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFy
YW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkg
JiYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9MZXQgfHwga2luZCA9
PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0NvbnN0KSwgIkNhbid0IHVzZSAnbGV0
JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4aWNhbERlY2xhcmF0aW9uIik7CisgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tl
biksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJpYWJs
ZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7
CiAgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBl
eHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0
LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsK
QEAgLTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBy
ZXN1bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oY29udGV4dCwgRGVjbGFyYXRpb25UeXBl
OjpWYXJEZWNsYXJhdGlvbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRlVOQ1RJT046IHsK
LSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBh
cmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xh
cmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRo
ZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3Bl
KCktPmlzRnVuY3Rpb24oKSkgewotICAgICAgICAgICAgICAgIC8vIEFueSBmdW5jdGlvbiBkZWNs
YXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0
J3MKLSAgICAgICAgICAgICAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBp
biBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKLSAgICAgICAgICAgICAg
ICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxv
Y2sgc3RhdGVtZW50LgotICAgICAgICAgICAgICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEg
InZhciIuIEZvciBleGFtcGxlOgotICAgICAgICAgICAgICAgIC8vIGZ1bmN0aW9uIGEoKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KLSAgICAg
ICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6
Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAg
ICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KLSAgICAgICAgICAgICAgICAvLyB9
Ci0gICAgICAgICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwotICAgICAgICAgICAgICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7
Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOwot
ICAgICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOwotCi0gICAgICAgICAg
ICAgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihj
b250ZXh0KTsKLSAgICAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwotICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3RhdGVt
ZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOwotICAgICAgICAgICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKLSAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50
cywgZnVuY3Rpb24pOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxv
Y2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5F
bmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1l
bnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKLSAgICAg
ICAgICAgICAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFy
aWFibGVJbmZvKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ug
b25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3Ro
ZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAgICAgICAgICAgICAvLyB0byBob2lzdGluZyBiZWhh
dmlvci4KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NTgxMwotICAgICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0
ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDE7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xh
cmF0aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93
ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2ggc3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOwor
ICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gcGFy
c2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFs
bG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KICAgICBjYXNlIFNFTUlDT0xPTjogewpAQCAtMTcxOSw2ICsxNzQ1LDEyIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIC8vIFRoZXNlIHRva2VucyBpbXBseSB0aGUgZW5kIG9m
IGEgc2V0IG9mIHNvdXJjZSBlbGVtZW50cwogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIElE
RU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlm
IChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMgJiYgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChjb250
ZXh0LCByZXN1bHQsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkp
KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIEZBTExUSFJPVUdIOworI2VuZGlmCisgICAg
Y2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIGJvb2wgYWxsb3dGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQgPSBmYWxzZTsKICAgICAgICAgcmVzdWx0ID0gcGFyc2VF
eHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudChjb250ZXh0LCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCk7CkBAIC0xNzQ0LDYgKzE3NzYsNjggQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmUKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5
bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQorewor
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShzdHJpY3RNb2RlKCksICJGdW5jdGlvbiBkZWNsYXJhdGlv
bnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGlu
IHN0cmljdCBtb2RlIik7CisgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93
ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dy
YW0iKTsKKyAgICBpZiAoIWN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAg
Ly8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9k
ZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKKyAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZp
b3IuCisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU1ODEzCisgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0
ZW1lbnREZXB0aCk7CisgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICBpZiAo
aXNBc3luYykKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
bihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKKyAgICB9CisKKyAgICAvLyBBbnkgZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24n
dCBpbiBhIGJsb2NrIGlzIGEgc3ludGF4IGVycm9yIHVubGVzcyBpdCdzCisgICAgLy8gaW4gYW4g
aWYvZWxzZSBzdGF0ZW1lbnQuIElmIGl0J3MgaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQsIHdlIHdp
bGwgbWFnaWNhbGx5CisgICAgLy8gdHJlYXQgaXQgYXMgaWYgdGhlIGlmL2Vsc2Ugc3RhdGVtZW50
IGlzIGluc2lkZSBhIGJsb2NrIHN0YXRlbWVudC4KKyAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlr
ZSBhICJ2YXIiLiBGb3IgZXhhbXBsZToKKyAgICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAg
ICBpZiAoY29uZCkgZnVuY3Rpb24gZm9vKCkgeyB9CisgICAgLy8gfQorICAgIC8vIHdpbGwgYmUg
cmV3cml0dGVuIGFzOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25k
KSB7IGZ1bmN0aW9uIGZvbygpIHsgfSB9CisgICAgLy8gfQorICAgIEF1dG9Qb3BTY29wZVJlZiBi
bG9ja1Njb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBibG9ja1Njb3BlLT5zZXRJc0xleGlj
YWxTY29wZSgpOworICAgIGJsb2NrU2NvcGUtPnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBpbnQgc3Rh
cnQgPSB0b2tlbkxpbmUoKTsKKworICAgIFRyZWVTdGF0ZW1lbnQgZnVuY3Rpb24gPSAwOworICAg
IGlmICghaXNBc3luYykKKyAgICAgICAgZnVuY3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24oY29udGV4dCk7CisgICAgZWxzZQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlQXN5bmNGdW5j
dGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgZmFp
bElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0
ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVs
ZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOworICAgIGNvbnRleHQuYXBw
ZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7CisgICAgVHJlZVN0YXRlbWVu
dCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUJsb2NrU3RhdGVtZW50KGxvY2F0aW9uLCBzb3VyY2VF
bGVtZW50cywgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSwgY3VycmVudFNjb3Bl
KCktPmZpbmFsaXplTGV4aWNhbEVudmlyb25tZW50KCksIGN1cnJlbnRTY29wZSgpLT50YWtlRnVu
Y3Rpb25EZWNsYXJhdGlvbnMoKSk7CisgICAgcG9wU2NvcGUoYmxvY2tTY29wZSwgVHJlZUJ1aWxk
ZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBi
b29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkKK3sKKyAgICBB
U1NFUlQoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KTsKKyAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgbmV4
dCgpOworICAgIGlmIChtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9y
KCkpIHsKKyAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgcmVzdWx0
ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBh
cmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKyAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBh
cmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IGxp
c3QsIHVuc2lnbmVkJiBwYXJhbWV0ZXJDb3VudCkKIHsKICNkZWZpbmUgZmFpbElmRHVwbGljYXRl
SWZWaW9sYXRpb24oKSBcCkBAIC0xNzY2LDYgKzE4NjAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhU
cmVlQgogICAgICAgICAKICAgICAgICAgaWYgKG1hdGNoKERPVERPVERPVCkpIHsKICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSghbV9wYXJzZXJTdGF0
ZS5hbGxvd0F3YWl0ICYmIG1hdGNoKEFXQUlUKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgcGFy
YW1ldGVyIG5hbWUgaW4gYW4gYXN5bmMgZnVuY3Rpb24iKTsKICAgICAgICAgICAgIFRyZWVEZXN0
cnVjdHVyaW5nUGF0dGVybiBkZXN0cnVjdHVyaW5nUGF0dGVybiA9IHBhcnNlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4oY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9QYXJhbWV0
ZXJzLCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgJmR1cGxpY2F0ZVBhcmFtZXRlciwgJmhhc0Rl
c3RydWN0dXJpbmdQYXR0ZXJuKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAg
ICAgICAgICBwYXJhbWV0ZXIgPSBjb250ZXh0LmNyZWF0ZVJlc3RQYXJhbWV0ZXIoZGVzdHJ1Y3R1
cmluZ1BhdHRlcm4sIHBhcmFtZXRlckNvdW50KTsKQEAgLTE4MzMsNiArMTkyOCwxNCBAQCBzdGF0
aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2Rl
KQogICAgICAgICByZXR1cm4gImdlbmVyYXRvciBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgogICAgICAgICByZXR1cm4gImFycm93IGZ1bmN0
aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgcmV0
dXJuICJhc3luYyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0
aG9kTW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBtZXRob2QiOworICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZToKKyAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBh
cnJvdyBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgog
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMTg0NSwxMiArMTk0OCwxMiBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9k
ZSBtb2RlKQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXIsIGNsYXNzIEZ1bmN0aW9uSW5mb1R5cGU+IHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFy
YW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIG1vZGUsIEZ1bmN0
aW9uSW5mb1R5cGUmIGZ1bmN0aW9uSW5mbykKIHsKLSAgICBSRUxFQVNFX0FTU0VSVChtb2RlICE9
IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUFuYWx5emVNb2RlICYmIG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFs
dWF0ZU1vZGUpOworICAgIFJFTEVBU0VfQVNTRVJUKCEoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJj
ZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1v
ZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKS5jb250YWlucyhtb2RlKSkp
OwogICAgIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlckxpc3QgPSBjb250ZXh0LmNy
ZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNl
UGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25Q
YXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMpOwogICAgIAotICAgIGlm
IChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKLSAgICAgICAg
aWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICBpZiAoVU5MSUtF
TFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUp
KSkpIHsKKyAgICAgICAgaWYgKCFtYXRjaFNwZWNJZGVudGlmaWVyKCkgJiYgIW1hdGNoKE9QRU5Q
QVJFTikpIHsKICAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICAgICAgZmFpbFdpdGhNZXNz
YWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKICAgICAg
ICAgfSBlbHNlIHsKQEAgLTE5NDEsNyArMjA0NCw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAKICAgICBTY29wZVJlZiBwYXJlbnRTY29wZSA9IGN1cnJlbnRTY29wZSgpOwogCi0gICAgYm9v
bCB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKTsK
KyAgICBib29sIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lID0gaXNEaXNhbGxvd2VkSWRl
bnRpZmllckF3YWl0KG1fdG9rZW4pOworICAgIGNvbnN0IGNoYXIqIGlzRGlzYWxsb3dlZEF3YWl0
RnVuY3Rpb25OYW1lUmVhc29uID0gaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPyBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkgOiBudWxscHRyOworCiAgICAgQXV0b1BvcFNj
b3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2Nv
cGUtPnNldFNvdXJjZVBhcnNlTW9kZShtb2RlKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRFeHBl
Y3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1cGVyQmluZGluZyk7CkBAIC0xOTgzLDcgKzIwODgs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICAgICAgQVNTRVJUKGVuZExvY2F0
aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZTsKLSAg
ICAgICAgICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUp
CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5
cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlC
bG9jazsKQEAgLTIwMjYsNyArMjEzMSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAg
ICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNrZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xl
eGVyLmdldCgpKTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5j
dGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtFTFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpKSkpIHsKICAgICAgICAgc3RhcnRMb2NhdGlvbiA9
IHRva2VuTG9jYXRpb24oKTsKICAgICAgICAgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSA9IHRva2Vu
TGluZSgpOwogICAgICAgICBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBAIC0yMDQxLDcg
KzIxNDYsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB7CiAgICAgICAgICAg
ICAvLyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVycyB3aXRoIFsrWWllbGRdIHBhcmFtZXRlcml6YXRp
b24sIGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4cHJlc3Npb25zCiAgICAgICAgICAgICAvLyBpbiBB
cnJvd0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBFUzYgI3NlYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0
aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycy4KLSAgICAgICAgICAgIFNjb3BlOjpN
YXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2Nv
cGUsIHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7CisgICAgICAgICAgICBTY29wZTo6TWF5YmVQYXJz
ZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5jdGlvblNjb3BlLCBwYXJl
bnRTY29wZS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBv
dmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1bmN0
aW9uUGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAgICAgICAgICAgICBwcm9wYWdh
dGVFcnJvcigpOwogICAgICAgICB9CkBAIC0yMDczLDIxICsyMTc5LDI4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkCiAgICAgICAgIC8vIEdlbmVyYXRvckV4cHJlc3Npb24gOgogICAgICAgICAv
LyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVsZF1vcHQgKCBGb3JtYWxQYXJh
bWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAgICAgIC8vCi0gICAgICAgIC8v
IFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5aWVsZCIgZXZlbiBp
biB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCi0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRp
b25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgIHVwcGVyU2Nv
cGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4
cHJlc3Npb24gYW5kIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBl
dmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KKyAgICAgICAgYm9vbCB1cHBlclNjb3Bl
SXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgaWYgKCEoZnVuY3Rpb25EZWZpbml0aW9uVHlw
ZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIFNvdXJjZVBhcnNlTW9k
ZVNldChTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKQorICAgICAgICAgICAgdXBwZXJT
Y29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29wZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAg
ICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkg
ewogICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4g
c3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5p
dGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBj
YWxsZXIgc2lkZS4iKTsKICAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVy
U2NvcGVJc0dlbmVyYXRvcikpIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFz
dEZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSW5mby5uYW1lOworICAgICAgICAgICAgICAgIGlmIChV
TkxJS0VMWShpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9u
RGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUobW9kZSksICJDYW5ub3QgZGVjbGFyZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIsIGlz
RGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uKTsKKyAgICAgICAgICAgICAgICBlbHNl
IGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlU
KSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4
cHJlc3Npb24pCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xh
cmUgYXN5bmMgZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyIpOwogICAgICAgICAgICAgICAgIG5leHQo
KTsKICAgICAgICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAgICAg
ICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZUNh
bGxlZShmdW5jdGlvbkluZm8ubmFtZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmlj
dE1vZGUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
ICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVp
cmVtZW50czo6TmFtZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAm
JiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAg
ICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEg
bmFtZSIpOworICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1l
Iik7CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRz
IG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CiAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjEwNSw4ICsyMjE4LDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0ZUVy
cm9yKCk7CisgICAgICAgIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRl
QWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJz
ZU1vZGUobW9kZSkpOworICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4
Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9y
KCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwg
IkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CiAgICAgICAgIApAQCAtMjE1Myw5ICsyMjY5LDE1
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9u
Qm9keShjb250ZXh0LCBzeW50YXhDaGVja2VyLCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVtbiwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCwgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5cGUs
IGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJDb3VudCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlmICht
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgewor
ICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAgICAg
IEF1dG9Qb3BTY29wZVJlZiBnZW5lcmF0b3JCb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwot
ICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsKKyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlubmVy
UGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAgICAg
aWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAgICAg
IGlubmVyUGFyc2VNb2RlID0gbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbk1vZGUKKyAgICAgICAgICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uQm9keU1vZGUKKyAgICAgICAgICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbkJvZHlNb2RlOworICAgICAgICB9CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+
c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9yQm9k
eVNjb3BlLT5zZXRDb25zdHJ1Y3RvcktpbmQoQ29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAgICAg
ICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1
cGVyQmluZGluZyk7CiAKQEAgLTIxNzQsNyArMjI5Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAm
JiByZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAg
ICAgICAgIEFTU0VSVChmdW5jdGlvbkluZm8ubmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJU
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpLmNvbnRhaW5zKG1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUo
bW9kZSkpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+
YXJndW1lbnRzID09ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7
CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09
ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBp
cyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CiAgICAgfQpAQCAt
MjI4OSw2ICsyNDExLDYwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiB9CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBFeHBvcnRUeXBlIGV4cG9ydFR5cGUsIERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQgZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCkKK3sKKyAgICBBU1NFUlQo
bWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2Nh
dGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQo
KTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5j
dGlvbkluZm87CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzIHJlcXVp
cmVtZW50cyA9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6TmFtZWQ7CisgICAgaWYgKGRlY2xh
cmF0aW9uRGVmYXVsdENvbnRleHQgPT0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0
RGVmYXVsdCkgeworICAgICAgICAvLyBVbmRlciB0aGUgImV4cG9ydCBkZWZhdWx0IiBjb250ZXh0
LCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBkb2VzIG5vdCByZXF1aXJlIHRoZSBmdW5jdGlvbiBuYW1l
LgorICAgICAgICAvLworICAgICAgICAvLyAgICAgRXhwb3J0RGVjbGFyYXRpb246CisgICAgICAg
IC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgZXhwb3J0IGRlZmF1bHQgSG9pc3Rh
YmxlRGVjbGFyYXRpb25bfllpZWxkLCArRGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICAuLi4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEhvaXN0YWJsZURlY2xhcmF0aW9uW1lpZWxkLCBE
ZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uWz9ZaWVsZCwg
P0RlZmF1bHRdCisgICAgICAgIC8vICAgICAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bP1lpZWxk
LCA/RGVmYXVsdF0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEZ1bmN0aW9uRGVjbGFyYXRp
b25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAg
ICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzW35ZaWVsZF0gKSB7
IEZ1bmN0aW9uQm9keVt+WWllbGRdIH0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEdlbmVy
YXRvckRlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICAuLi4K
KyAgICAgICAgLy8gICAgICAgICBbK0RlZmF1bHRdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0
ZXJzWytZaWVsZF0gKSB7IEdlbmVyYXRvckJvZHkgfQorICAgICAgICAvLworICAgICAgICAvLyBJ
biB0aGlzIGNhc2UsIHdlIHVzZSAiKmRlZmF1bHQqIiBhcyB0aGlzIGZ1bmN0aW9uIGRlY2xhcmF0
aW9uJ3MgbmFtZS4KKyAgICAgICAgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1l
bnRzOjpOb25lOworICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CisgICAgfQorCisg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIHJlcXVpcmVtZW50cywg
cGFyc2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90
TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmlu
aXRpb25UeXBlOjpEZWNsYXJhdGlvbikpLCAiQ2Fubm90IHBhcnNlIHRoaXMgYXN5bmMgZnVuY3Rp
b24iKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbkluZm8ubmFtZSwgIkFzeW5jIGZ1bmN0aW9u
IHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworCisgICAgc3RkOjpwYWlyPERlY2xhcmF0
aW9uUmVzdWx0TWFzaywgU2NvcGVSZWY+IGZ1bmN0aW9uRGVjbGFyYXRpb24gPSBkZWNsYXJlRnVu
Y3Rpb24oZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNs
YXJhdGlvblJlc3VsdCA9IGZ1bmN0aW9uRGVjbGFyYXRpb24uZmlyc3Q7CisgICAgZmFpbElmVHJ1
ZUlmU3RyaWN0KGRlY2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRT
dHJpY3RNb2RlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZnVuY3Rpb24gbmFtZWQgJyIsIGZ1
bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CisgICAgaWYgKGRl
Y2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWREdXBsaWNhdGVEZWNs
YXJhdGlvbikKKyAgICAgICAgaW50ZXJuYWxGYWlsV2l0aE1lc3NhZ2UoZmFsc2UsICJDYW5ub3Qg
ZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IHNoYWRvd3MgYSBsZXQvY29uc3QvY2xhc3Mv
ZnVuY3Rpb24gdmFyaWFibGUgJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0
cmljdCBtb2RlIik7CisgICAgaWYgKGV4cG9ydFR5cGUgPT0gRXhwb3J0VHlwZTo6RXhwb3J0ZWQp
IHsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShleHBvcnROYW1lKCpmdW5jdGlvbkluZm8u
bmFtZSksICJDYW5ub3QgZXhwb3J0IGEgZHVwbGljYXRlIGZ1bmN0aW9uIG5hbWU6ICciLCBmdW5j
dGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOworICAgICAgICBtX21vZHVsZVNjb3BlRGF0YS0+
ZXhwb3J0QmluZGluZygqZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIH0KKworICAgIFRyZWVTdGF0
ZW1lbnQgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwg
ZnVuY3Rpb25JbmZvKTsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNyZWF0ZXNBU1QpCisgICAgICAg
IGZ1bmN0aW9uRGVjbGFyYXRpb24uc2Vjb25kLT5hcHBlbmRGdW5jdGlvbihnZXRNZXRhZGF0YShm
dW5jdGlvbkluZm8pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBk
ZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQogewogICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VO
KSk7CkBAIC0yNDA1LDggKzI1ODEsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAg
ICAgYm9vbCBpc0dldHRlciA9IGZhbHNlOwogICAgICAgICBib29sIGlzU2V0dGVyID0gZmFsc2U7
CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5j
TWV0aG9kID0gZmFsc2U7CiAgICAgICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgICAg
IGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNlTWV0aG9kKTsKK3BhcnNl
TWV0aG9kOgogICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgICAgIG5hbWVk
S2V5d29yZDoKICAgICAgICAgY2FzZSBTVFJJTkc6CkBAIC0yNDE1LDEyICsyNTk1LDIwIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBJREVOVDoKKyAgICAgICAgY2FzZSBBV0FJVDoKICAgICAgICAg
ICAgIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBBU1NFUlQoaWRl
bnQpOwogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAm
JiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChE
T1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKKyAgICAg
ICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKG1hdGNoSWRlbnRp
Zmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRj
aChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkpKSB7CiAgICAgICAgICAgICAgICAgaXNH
ZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5nZXQ7CiAgICAgICAgICAgICAgICAgaXNT
ZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5zZXQ7CisKKyNpZiBFTkFCTEUoRVMyMDE3
X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgqaWRl
bnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSAm
JiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBET1VCTEU6CkBAIC0yNDUyLDcgKzI2NDAsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNs
YXNzKFQKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9k
SW5mbzsKICAgICAgICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAm
JiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsKICAgICAgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7Ci0gICAg
ICAgICAgICBpZiAoaXNHZW5lcmF0b3IpIHsKKyAgICAgICAgICAgIGlmIChpc0FzeW5jTWV0aG9k
KSB7CisgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOworICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdwcm90
b3R5cGUnIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5j
IG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3InIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlz
R2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZTsKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNsYXJlIGEgZ2Vu
ZXJhdG9yIG5hbWVkICdwcm90b3R5cGUnIik7CkBAIC0yNTM1LDYgKzI3MjgsMTAgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb25PckwKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9r
ZW4oKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQobG9j
YXRpb24sIGV4cHJlc3Npb24sIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOwog
ICAgICAgICB9CisKKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9r
ZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBsYWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmll
ckF3YWl0UmVhc29uKCkpOworCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKICAgICAgICAgbmV4dCgpOwpAQCAtMjczMSw3ICsyOTI4LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lm
aWVyIFBhcnNlcjxMZXhlclQKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5
d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcyksICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBv
cnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICAgICAgbmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JG
YWlsKElERU5ULCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xh
cmF0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4
cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAg
ICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9r
ZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBuZXh0KCk7CkBAIC0yNzUzLDcgKzI5NTAsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRT
cGVjaWZpZXIgUGFyc2VyPExleGVyVAogCiAgICAgICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3
b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSkgewogICAgICAgICAgICAgbmV4dCgpOwotICAg
ICAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9y
IHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNo
U3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9y
dCBkZWNsYXJhdGlvbiIpOwogICAgICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwog
ICAgICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAg
ICBuZXh0KCk7CkBAIC0yNzY0LDcgKzI5NjEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAog
ICAgIGNhc2UgSW1wb3J0U3BlY2lmaWVyVHlwZTo6RGVmYXVsdEltcG9ydDogewogICAgICAgICAv
LyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0g
ICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkpOworICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRl
bnRpZmllcigpKTsKICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBs
b2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0g
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPmRlZmF1bHRLZXl3b3JkOwpAQCAtMjc3Myw2ICsyOTcwLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1w
b3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICB9CiAgICAgfQogCisgICAgc2VtYW50aWNG
YWlsSWZUcnVlKGxvY2FsTmFtZVRva2VuLm1fdHlwZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3
YWl0JyBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUobG9jYWxOYW1lVG9rZW4ubV90eXBlICYgS2V5d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Ug
a2V5d29yZCBhcyBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3Vs
dE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBkZWNsYXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNs
YXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24sIChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNw
ZWNpZmllclR5cGU6Ok5hbWVzcGFjZUltcG9ydCkgPyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6Oklt
cG9ydGVkTmFtZXNwYWNlIDogRGVjbGFyYXRpb25JbXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAg
aWYgKGRlY2xhcmF0aW9uUmVzdWx0ICE9IERlY2xhcmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAt
MjgwMyw3ICszMDAxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmEKICAgICB9CiAKICAgICBi
b29sIGlzRmluaXNoZWRQYXJzaW5nSW1wb3J0ID0gZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5U
KSkgeworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0
ZWREZWZhdWx0QmluZGluZyA6CiAgICAgICAgIC8vIEltcG9ydGVkQmluZGluZwogICAgICAgICBh
dXRvIHNwZWNpZmllciA9IHBhcnNlSW1wb3J0Q2xhdXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVj
aWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0KTsKQEAgLTI5MjgsNiArMzEyNiwyMCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQp
OwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBlbHNlIGlmIChVTkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikg
JiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkg
eworICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAh
bV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgICAgICBpZiAobWF0Y2goSURFTlQpKQorICAgICAgICAgICAgICAgICAgICBsb2Nh
bE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgICAgICAgICBpc0Z1bmN0aW9u
T3JDbGFzc0RlY2xhcmF0aW9uID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
c3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAg
aWYgKCFsb2NhbE5hbWUpCiAgICAgICAgICAgICBsb2NhbE5hbWUgPSAmbV92bS0+cHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpOwogCkBAIC0yOTM3
LDEwICszMTQ5LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAg
RGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAg
ICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBw
YXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQs
IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goQ0xBU1NUT0tFTikpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChDTEFTU1RPS0VOKSkgewogICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RF
eHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CiAgICAg
ICAgICAgICB9CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkgJiYgKm1f
dG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVu
dERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERl
cHRoID0gMTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZh
dWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CisgICAgICAgICAgICB9CisjZW5kaWYKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IGV4cHI7CiAgICAgICAg
ICAgICAvLwpAQCAtMzA1Nyw5ICszMjc3LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAg
ICAgICAgICAgICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgorI2lmIEVOQUJMRShFUzIwMTdf
QVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoaXNJZGVudGlm
aWVyT3JLZXl3b3JkKG1fdG9rZW4pICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXIt
PnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVuY3Rpb24nIGtleXdvcmQgZm9sbG93aW5n
ICdhc3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGluZyBsaW5lIHRlcm1pbmF0b3IiKTsKKyAg
ICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQg
ZWl0aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1lbnQiKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UocmVzdWx0LCAiQ2Fu
bm90IHBhcnNlIHRoZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVFeHBvcnRMb2NhbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCByZXN1bHQpOwogICAgIH0K
QEAgLTMxMjEsMzQgKzMzNTAsNDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICBBU1NF
UlQoIWhhc0Vycm9yKCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKworICAg
IGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgp
LT5pc0dlbmVyYXRvcigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNv
bnRleHQpOworCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24o
KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICBp
bnQgaW5pdGlhbEFzc2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50
OwogICAgIGludCBpbml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50
OwogICAgIGJvb2wgbWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNoKE9QRU5CUkFDRSkgfHwg
bWF0Y2goT1BFTkJSQUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBB
UkVOKTsKLSAgICBib29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSBtYXRjaChPUEVOUEFS
RU4pIHx8IG1hdGNoKElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lkZW50aWZp
ZXIoKSBoZXJlIHNpbmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5d29yZC4K
KyAgICAvLyBXaGV0aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRlZCBieSBp
c0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJZGVudGlmaWVyT3JLZXl3
b3JkID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgbWF5YmVWYWxp
ZEFycm93RnVuY3Rpb25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVyT3JLZXl3
b3JkOwogICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBz
aXplX3QgdXNlZFZhcmlhYmxlc1NpemUgPSAwOworCisjaWYgIUVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCiAgICAgaWYgKHdhc09wZW5QYXJlbikgeworI2Vsc2UKKyAgICBpZiAo
d2FzT3BlblBhcmVuIHx8ICh3YXNJZGVudGlmaWVyT3JLZXl3b3JkICYmICptX3Rva2VuLm1fZGF0
YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyNlbmRpZgogICAgICAg
ICB1c2VkVmFyaWFibGVzU2l6ZSA9IGN1cnJlbnRTY29wZSgpLT5jdXJyZW50VXNlZFZhcmlhYmxl
c1NpemUoKTsKICAgICAgICAgY3VycmVudFNjb3BlKCktPnB1c2hVc2VkVmFyaWFibGVTZXQoKTsK
ICAgICB9CiAKLSAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCi0gICAgICAgIHJldHVybiBwYXJzZVlpZWxk
RXhwcmVzc2lvbihjb250ZXh0KTsKLQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogCi0gICAgaWYgKGlzVmFsaWRBcnJvd0Z1bmN0
aW9uU3RhcnQgJiYgIW1hdGNoKEVPRlRPSykpIHsKKyAgICBpZiAobWF5YmVWYWxpZEFycm93RnVu
Y3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgewogICAgICAgICBib29sIGlzQXJyb3dGdW5j
dGlvblRva2VuID0gbWF0Y2goQVJST1dGVU5DVElPTik7CiAgICAgICAgIGlmICghbGhzIHx8IGlz
QXJyb3dGdW5jdGlvblRva2VuKSB7CiAgICAgICAgICAgICBTYXZlUG9pbnRXaXRoRXJyb3IgZXJy
b3JSZXN0b3JhdGlvblNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludEZvckVycm9yKCk7CiAgICAg
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBib29sIGlz
QXN5bmNBcnJvdyA9IGZhbHNlOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNsYXNzaWZpZXIu
aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3lu
YykpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBpc0FzeW5jQXJy
b3cgPSAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGlmIChpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAod2FzT3BlblBhcmVuKQorICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgaXNB
c3luY0Fycm93KQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+cmV2ZXJ0VG9Q
cmV2aW91c1VzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlc1NpemUpOwotICAgICAgICAgICAgICAg
IHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAg
ICAgICAgIHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQsIGlzQXN5
bmNBcnJvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50V2l0
aEVycm9yKGVycm9yUmVzdG9yYXRpb25TYXZlUG9pbnQpOwogICAgICAgICAgICAgaWYgKGlzQXJy
b3dGdW5jdGlvblRva2VuKQpAQCAtMzI3Miw2ICszNTE2LDIxIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlWWllbGRF
eHByZXNzCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3
YWl0RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2go
QVdBSVQpKTsKKyAgICBBU1NFUlQoY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbigpKTsK
KyAgICBmYWlsSWZUcnVlKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlID09IEZ1bmN0
aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVycywgIkNhbm5vdCB1c2UgYXdhaXQgZXhwcmVzc2lvbiB3
aXRoaW4gcGFyYW1ldGVycyIpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIGRpdm90U3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICBuZXh0KCk7CisgICAgSlNUZXh0UG9zaXRpb24gYXJndW1lbnRTdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIFRyZWVFeHByZXNzaW9uIGFyZ3VtZW50ID0gcGFy
c2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoYXJndW1lbnQsICJG
YWlsZWQgdG8gcGFyc2UgYXdhaXQgZXhwcmVzc2lvbiIpOworICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUF3YWl0KGxvY2F0aW9uLCBhcmd1bWVudCwgZGl2b3RTdGFydCwgYXJndW1lbnRTdGFydCwg
bGFzdFRva2VuRW5kUG9zaXRpb24oKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAg
LTMzODQsMTEgKzM2NDMsMTYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJv
cGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICBib29sIHdh
c0lkZW50ID0gZmFsc2U7CiAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOwogICAgIGJvb2wg
aXNDbGFzc1Byb3BlcnR5ID0gZmFsc2U7CisgICAgYm9vbCBpc0FzeW5jTWV0aG9kID0gZmFsc2U7
CiAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICBpc0dlbmVyYXRvciA9IHRydWU7CisK
K1VOVVNFRF9MQUJFTChwYXJzZVByb3BlcnR5KTsKK3BhcnNlUHJvcGVydHk6CiAgICAgc3dpdGNo
IChtX3Rva2VuLm1fdHlwZSkgewogICAgIG5hbWVkUHJvcGVydHk6CiAgICAgY2FzZSBJREVOVDoK
KyAgICBjYXNlIEFXQUlUOgogICAgICAgICB3YXNJZGVudCA9IHRydWU7CiAgICAgICAgIEZBTExU
SFJPVUdIOwogICAgIGNhc2UgU1RSSU5HOiB7CkBAIC0zMzk2LDEwICszNjYwLDE0IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRP
ZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgICAgIGlmIChjb21wbGV0ZSB8fCAod2FzSWRlbnQg
JiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Z2V0IHx8
ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpKSkKICAgICAgICAgICAgIG5leHRF
eHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzKTsKKyNpZiBFTkFC
TEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBlbHNlIGlmICh3YXNJZGVu
dCAmJiAhaXNHZW5lcmF0b3IgJiYgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KQorICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2Vy
dmVkV29yZHMpOworI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG5leHRFeHBlY3RJ
ZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRv
bnRCdWlsZEtleXdvcmRzKTsKIAotICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIG1hdGNoKENP
TE9OKSkgeworICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0aG9kICYmIG1h
dGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb25PclByb3BhZ2F0ZUVycm9yQ2xh
c3MoY29udGV4dCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNl
IGV4cHJlc3Npb24gZm9yIHByb3BlcnR5IGRlY2xhcmF0aW9uIik7CkBAIC0zNDA4LDExICszNjc2
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
bWF0Y2goT1BFTlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9y
LCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eShpZGVudCwgbWV0aG9kLCBQcm9wZXJ0
eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3Vw
ZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAg
ZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3Vt
ZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0
aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAg
ICAgIGZhaWxJZkZhbHNlKHdhc0lkZW50LCAiRXhwZWN0ZWQgYW4gaWRlbnRpZmllciBhcyBwcm9w
ZXJ0eSBuYW1lIik7CiAKQEAgLTM0MzQsNiArMzcwMiwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShU
cmVlQgogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6R2V0dGVyOwogICAgICAgICBl
bHNlIGlmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KQogICAgICAgICAgICAg
dHlwZSA9IFByb3BlcnR5Tm9kZTo6U2V0dGVyOworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKCppZGVudCA9PSBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYyAmJiAhaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QpKSB7
CisgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgIGZhaWxJZlRy
dWUobV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBm
b2xsb3dpbmcga2V5d29yZCAnYXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBhcnNlUHJvcGVy
dHk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGEgJzonIGZvbGxvd2luZyB0aGUgcHJvcGVydHkgbmFtZSAnIiwg
aWRlbnQtPmltcGwoKSwgIiciKTsKICAgICAgICAgcmV0dXJuIHBhcnNlR2V0dGVyU2V0dGVyKGNv
bnRleHQsIGNvbXBsZXRlLCB0eXBlLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIGlzQ2xhc3NQcm9wZXJ0eSk7CkBAIC0zNDQ1LDExICszNzIwLDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gbV9wYXJzZXJBcmVuYS5p
ZGVudGlmaWVyQXJlbmEoKS5tYWtlTnVtZXJpY0lkZW50aWZpZXIoY29uc3RfY2FzdDxWTSo+KG1f
dm0pLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0
byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0
b3IsIGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KCZpZGVudCwgbWV0aG9kLCBQcm9w
ZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6OlVua25vd24sIGNvbXBsZXRlLCBTdXBl
ckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBm
YWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1l
bnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRo
b2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAg
ICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6JyBhZnRlciBwcm9wZXJ0eSBuYW1l
Iik7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNz
aW9uKGNvbnRleHQpOwpAQCAtMzQ2NCwxMSArMzczOSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShU
cmVlQgogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFQlJBQ0tFVCwgIl0iLCAi
ZW5kIiwgImNvbXB1dGVkIHByb3BlcnR5IG5hbWUiKTsKIAogICAgICAgICBpZiAobWF0Y2goT1BF
TlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9k
KGNvbnRleHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0
b3IpOworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRl
eHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0b3IsIGlz
QXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSwgbWV0aG9kLCBzdGF0
aWNfY2FzdDxQcm9wZXJ0eU5vZGU6OlR5cGU+KFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQgfCBQcm9w
ZXJ0eU5vZGU6OkNvbXB1dGVkKSwgUHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUs
IFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAg
ICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBh
cmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3lu
Y01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAog
ICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5
IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDgzLDEzICszNzU4LDEzIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBt
ZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBp
c0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBt
ZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0
aG9kSW5mbzsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwotICAgIFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKKyAg
ICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNHZW5lcmF0b3IgPyBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgOiBpc0FzeW5jTWV0aG9kID8gU291cmNl
UGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUgOiBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7
CiAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIEZ1
bmN0aW9uRGVmaW5pdGlvblR5cGU6Ok1ldGhvZCkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihtZXRob2RMb2Nh
dGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0zNzU1LDYgKzQwMzAsMjAgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkV4cHIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tl
blN0YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gZnVuY3Rpb25JbmZvOworICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgcGFy
c2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uSW5mbywgRnVuY3Rpb25EZWZpbml0
aW9uVHlwZTo6RXhwcmVzc2lvbiksICJDYW5ub3QgcGFyc2UgYXN5bmMgZnVuY3Rpb24gZXhwcmVz
c2lvbiIpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwg
ZnVuY3Rpb25JbmZvKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3Ry
aW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCB0eXBlbmFtZSBMZXhlclR5cGU6OlJhd1N0cmlu
Z3NCdWlsZE1vZGUgcmF3U3RyaW5nc0J1aWxkTW9kZSwgYm9vbCYgZWxlbWVudElzVGFpbCkKIHsK
ICAgICBpZiAoIWlzVGVtcGxhdGVIZWFkKSB7CkBAIC0zODQyLDE0ICs0MTMxLDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+c2V0SW5uZXJB
cnJvd0Z1bmN0aW9uVXNlc1RoaXMoKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlVGhp
c0V4cHIobG9jYXRpb24pOwogICAgIH0KKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6
IHsKICAgICBpZGVudGlmaWVyRXhwcmVzc2lvbjoKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKFVOTElL
RUxZKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkKKyAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJ
T04pKQogICAgICAgICAgICAgcmV0dXJuIDA7CisKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFzeW5jICYmIG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1p
bmF0b3IoKSkpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
bihjb250ZXh0KTsKKyNlbmRpZgorCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJs
ZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBt
X3BhcnNlclN0YXRlLmxhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sICppZGVudCwgc3RhcnQsIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCkpOwpAQCAtNDAyNSw2ICs0MzIxLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVz
CiAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgYmFzZUlzQXN5bmNL
ZXl3b3JkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmIChiYXNlSXNTdXBlcikgewogICAgICAg
ICBTY29wZVJlZiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlID0gY2xvc2VzdFBhcmVudE9y
ZGluYXJ5RnVuY3Rpb25Ob25MZXhpY2FsU2NvcGUoKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZG
YWxzZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpIHx8IChjbG9zZXN0T3JkaW5hcnlGdW5j
dGlvblNjb3BlLT5pc0V2YWxDb250ZXh0KCkgJiYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29w
ZS0+ZXhwZWN0ZWRTdXBlckJpbmRpbmcoKSA9PSBTdXBlckJpbmRpbmc6Ok5lZWRlZCksICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CkBAIC00MDQyLDkgKzQzNDIsMjYgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUoZnVuY3Rpb25TdXBlckJpbmRpbmcgPT0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KLSAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpCisgICAgfSBlbHNlIGlmICghYmFz
ZUlzTmV3VGFyZ2V0KSB7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9r
ZW4pICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3lu
YzsKKyNlbmRpZgorCiAgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRl
eHQpOwogCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
ZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICAg
ICAgaWYgKGlzQXN5bmMgJiYgY29udGV4dC5pc1Jlc29sdmUoYmFzZSkgJiYgIW1fbGV4ZXItPnBy
ZXZUZXJtaW5hdG9yKCkpIHsKKyAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkp
IHsKKyAgICAgICAgICAgICAgICAvLyBBc3luY0Fycm93RnVuY3Rpb24KKyAgICAgICAgICAgICAg
ICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1
bmN0aW9uKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJhc2VJc0FzeW5jS2V5d29yZCA9IHRydWU7CisgICAgICAgIH0KKyNlbmRpZgorICAg
IH0KKwogICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9u
Iik7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9u
KCk7CkBAIC00MDc4LDYgKzQzOTUsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lv
bkVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICAgVHJlZUFyZ3Vt
ZW50cyBhcmd1bWVudHMgPSBwYXJzZUFyZ3VtZW50cyhjb250ZXh0KTsKKworI2lmIEVOQUJMRShF
UzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgaWYgKGJhc2VJc0Fz
eW5jS2V5d29yZCAmJiAoIWFyZ3VtZW50cyB8fCBtYXRjaChBUlJPV0ZVTkNUSU9OKSkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvckluZGlj
YXRlc0FzeW5jQXJyb3dGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGZhaWxEdWVUb1Vu
ZXhwZWN0ZWRUb2tlbigpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoYXJndW1lbnRzLCAiQ2Fubm90IHBhcnNlIGNhbGwgYXJndW1lbnRz
Iik7CiAgICAgICAgICAgICAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgICAgICAgICAg
ICAgIFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUgPSBjdXJyZW50RnVuY3Rpb25TY29wZSgpOwpAQCAt
NDEzNiw3ICs0NDYxLDcgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9u
IGxvY2F0aW9uOwogCkBAIC00MTQ0LDcgKzQ0NjksOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rp
bwogICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNv
bnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgU291cmNlUGFyc2VNb2Rl
OjpBcnJvd0Z1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJp
bmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVm
aW5pdGlvblR5cGU6OkV4cHJlc3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBl
eHByZXNzaW9uIik7CisKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNBc3luYyA/
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCB0
cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lv
bikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKIAogICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKIH0K
QEAgLTQxODgsNiArNDUxNSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAgIGJvb2wg
bW9kaWZpZXNFeHByID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlc0xFeHByID0gZmFsc2U7CiAg
ICAgdW5zaWduZWQgbGFzdE9wZXJhdG9yID0gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCisgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSAmJiBjdXJyZW50
RnVuY3Rpb25TY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKSkKKyAgICAgICAgcmV0
dXJuIHBhcnNlQXdhaXRFeHByZXNzaW9uKGNvbnRleHQpOworI2VuZGlmCisKICAgICB3aGlsZSAo
aXNVbmFyeU9wKG1fdG9rZW4ubV90eXBlKSkgewogICAgICAgICBpZiAoc3RyaWN0TW9kZSgpKSB7
CiAgICAgICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00MzY5LDYgKzQ3MDIs
NyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+
OjpwcmludFVuZXhwZWN0ZWRUb2tlblRleHQoVwogICAgICAgICBvdXQucHJpbnQoIkludmFsaWQg
cHJpdmF0ZSBuYW1lICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6CiAgICAgICAgIG91dC5w
cmludCgiVW5leHBlY3RlZCBpZGVudGlmaWVyICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MGUxMzkx
YjVmZDAzZGQ1ZTc3OGI4ZmRiNTkyM2FhNzk4YWVkMTIzLi5jMTk3M2Q5ZjRkYzFjZmZlMDdlZjVk
ZDFiMjc0YTJjYTEzNTM5M2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
QEAgLTEzNSw3ICsxMzUsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjb3BlKTsKIAogcHVibGljOgotICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1
bmN0aW9uLCBib29sIGlzR2VuZXJhdG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uKQorICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9uLCBib29sIGlz
R2VuZXJhdG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uLCBib29sIGlz
QXN5bmNGdW5jdGlvbikKICAgICAgICAgOiBtX3ZtKHZtKQogICAgICAgICAsIG1fc2hhZG93c0Fy
Z3VtZW50cyhmYWxzZSkKICAgICAgICAgLCBtX3VzZXNFdmFsKGZhbHNlKQpAQCAtMTUwLDYgKzE1
MCw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lzR2VuZXJhdG9yQm91bmRhcnkoZmFsc2UpCiAg
ICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb24oaXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1f
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rp
b24oaXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnko
ZmFsc2UpCiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShmYWxzZSkKICAgICAgICAgLCBtX2lz
RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKHRy
dWUpCkBAIC0xODEsNiArMTgzLDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JC
b3VuZGFyeShvdGhlci5tX2lzR2VuZXJhdG9yQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0Fycm93
RnVuY3Rpb24ob3RoZXIubV9pc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVu
Y3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KQorICAgICAgICAs
IG1faXNBc3luY0Z1bmN0aW9uKG90aGVyLm1faXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1f
aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSkK
ICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKG90aGVyLm1faXNMZXhpY2FsU2NvcGUpCiAgICAg
ICAgICwgbV9pc0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Z1bmN0aW9uQm91bmRhcnkpCiAg
ICAgICAgICwgbV9pc1ZhbGlkU3RyaWN0TW9kZShvdGhlci5tX2lzVmFsaWRTdHJpY3RNb2RlKQpA
QCAtMjM4LDYgKzI0MiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VyY2VQYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAg
ICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgor
ICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlN
b2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAg
ICAgICBicmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGU6CiAgICAgICAgICAgICBzZXRJc0dlbmVyYXRvcigpOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC0yNTcsNiArMjY5LDE1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHNldElzQXJyb3dGdW5j
dGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOgorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Z1bmN0aW9uKCk7CisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCk7CisgICAg
ICAgICAgICBicmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGU6CiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAg
ICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAgLTI2OCw2
ICsyODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7
IHJldHVybiBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3IoKSBj
b25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9yOyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvckJvdW5k
YXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvckJvdW5kYXJ5OyB9CisgICAgYm9vbCBp
c0FzeW5jRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNGdW5jdGlvbjsgfQorICAg
IGJvb2wgaXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNG
dW5jdGlvbkJvdW5kYXJ5OyB9CiAKICAgICBib29sIGhhc0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzQXJndW1lbnRzOyB9CiAKQEAgLTcxMCw2ICs3MzMsMzQgQEAgcHJpdmF0ZToKICAg
ICAgICAgbV9pc0Fycm93RnVuY3Rpb24gPSB0cnVlOwogICAgIH0KIAorICAgIHZvaWQgc2V0SXNB
c3luY0Fycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7
CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dElzQXN5bmNGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAg
ICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5
bmNGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAgICAg
ICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRy
dWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkgPSB0cnVlOworICAgIH0KKwor
ICAgIHZvaWQgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCkKKyAgICB7CisgICAgICAgIHNl
dElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAg
ICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnkgPSB0cnVlOworICAgIH0KKwogICAgIGNvbnN0IFZNKiBtX3ZtOwogICAgIGJvb2wg
bV9zaGFkb3dzQXJndW1lbnRzOwogICAgIGJvb2wgbV91c2VzRXZhbDsKQEAgLTcyNCw2ICs3NzUs
OCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0dlbmVyYXRvckJvdW5kYXJ5OwogICAgIGJvb2wg
bV9pc0Fycm93RnVuY3Rpb247CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5Owor
ICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb247CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5OwogICAgIGJvb2wgbV9pc0xleGljYWxTY29wZTsKICAgICBib29sIG1faXNGdW5jdGlv
bkJvdW5kYXJ5OwogICAgIGJvb2wgbV9pc1ZhbGlkU3RyaWN0TW9kZTsKQEAgLTg4Niw4ICs5Mzks
OSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBlbnVtIEV4cHJlc3Npb25FcnJvckNsYXNzIHsK
LSAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nLAotICAgICAgICBFcnJvckluZGljYXRlc1Bh
dHRlcm4KKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nID0gMCwKKyAgICAgICAgRXJyb3JJ
bmRpY2F0ZXNQYXR0ZXJuLAorICAgICAgICBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlv
bgogICAgIH07CiAKICAgICBzdHJ1Y3QgRXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllciB7CkBAIC05
MTEsNiArOTY1LDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmlj
YXRpb247CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9u
RXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgICAgIHsKKyAg
ICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKKyAgICAgICAgfQorCiAgICAgICAg
IHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRD
bGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGlmIChtX2NsYXNzICE9IG9sZENsYXNzaWZpY2F0aW9uKQpAQCAt
OTIwLDExICs5NzksMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICB2b2lkIHByb3BhZ2F0ZUV4cHJl
c3Npb25FcnJvckNsYXNzKCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMg
JiYgbV9jbGFzcyAhPSBFcnJvckluZGljYXRlc05vdGhpbmcpCisgICAgICAgICAgICBpZiAobV9w
cmV2aW91cykKICAgICAgICAgICAgICAgICBtX3ByZXZpb3VzLT5tX2NsYXNzID0gbV9jbGFzczsK
ICAgICAgICAgfQogCiAgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc1BhdHRlcm47IH0KKyAgICAgICAg
Ym9vbCBpbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb247IH0KIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIEV4cHJlc3Npb25FcnJvckNsYXNzIG1fY2xhc3M7CkBAIC05MzgsNiAr
OTk4LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNsYXNzaWZp
ZXItPmNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKICAgICB9CiAKKyAg
ICBBTFdBWVNfSU5MSU5FIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNz
aW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICB7CisgICAgICAgIGlmIChtX2V4cHJl
c3Npb25FcnJvckNsYXNzaWZpZXIpCisgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNsYXNz
aWZpZXItPmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOworICAg
IH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4
cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFz
cyBjbGFzc2lmaWNhdGlvbikKICAgICB7CiAgICAgICAgIGlmIChtX2V4cHJlc3Npb25FcnJvckNs
YXNzaWZpZXIpCkBAIC05NTksNiArMTAyNSwxOSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
RGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9WYXJpYWJsZXM7CiAgICAgfQogCisgICAg
QUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBkZWNsYXJhdGlvblR5cGVUb1ZhcmlhYmxlS2luZChE
ZWNsYXJhdGlvblR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRpb246CisgICAgICAgICAgICBy
ZXR1cm4gInZhcmlhYmxlIG5hbWUiOworICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6TGV0
RGVjbGFyYXRpb246CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpDb25zdERlY2xhcmF0
aW9uOgorICAgICAgICAgICAgcmV0dXJuICJsZXhpY2FsIHZhcmlhYmxlIG5hbWUiOworICAgICAg
ICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biAiaW52YWxpZCI7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSBBc3NpZ25tZW50Q29udGV4
dCBhc3NpZ25tZW50Q29udGV4dEZyb21EZWNsYXJhdGlvblR5cGUoRGVjbGFyYXRpb25UeXBlIHR5
cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTk3MSw2ICsxMDUwLDEyIEBA
IHByaXZhdGU6CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFdmFsT3JBcmd1bWVudHMoY29u
c3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGlzRXZhbE9yQXJndW1lbnRzSWRlbnRpZmll
cihtX3ZtLCBpZGVudCk7IH0KIAorICAgIFNjb3BlUmVmIHVwcGVyU2NvcGUoaW50IG4pCisgICAg
eworICAgICAgICBBU1NFUlQobV9zY29wZVN0YWNrLnNpemUoKSA+PSBzaXplX3QoMSArIG4pKTsK
KyAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXpl
KCkgLSAxIC0gbik7CisgICAgfQorCiAgICAgU2NvcGVSZWYgY3VycmVudFNjb3BlKCkKICAgICB7
CiAgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3BlU3RhY2suc2l6
ZSgpIC0gMSk7CkBAIC0xMDI3LDEzICsxMTEyLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wg
aXNTdHJpY3QgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOwogICAg
ICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNG
dW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoIW1fc2NvcGVTdGFjay5pc0VtcHR5KCkpIHsK
ICAgICAgICAgICAgIGlzU3RyaWN0ID0gbV9zY29wZVN0YWNrLmxhc3QoKS5zdHJpY3RNb2RlKCk7
CiAgICAgICAgICAgICBpc0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Z1bmN0aW9u
KCk7CiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNHZW5l
cmF0b3IoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0
KCkuaXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBpc0FzeW5jRnVuY3Rpb24gPSBtX3Nj
b3BlU3RhY2subGFzdCgpLmlzQXN5bmNGdW5jdGlvbigpOwogICAgICAgICB9Ci0gICAgICAgIG1f
c2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlvbiwgaXNHZW5lcmF0
b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24pOworICAgICAgICBtX3Njb3BlU3RhY2suY29u
c3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmljdCwg
aXNBcnJvd0Z1bmN0aW9uLCBpc0FzeW5jRnVuY3Rpb24pOwogICAgICAgICByZXR1cm4gY3VycmVu
dFNjb3BlKCk7CiAgICAgfQogCkBAIC0xMzQ2LDIxICsxNDMzLDI1IEBAIHByaXZhdGU6CiAgICAg
Ly8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtZ2VuZXJh
dG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzCiAg
ICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoYm9vbCBpbkdlbmVyYXRv
cikKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgaXNMRVRNYXNrZWRBc0lE
RU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOworICAgICAgICByZXR1
cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8
fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CiAgICAgfQogCiAgICAgQUxXQVlT
X0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IG1hdGNoU3BlY0lkZW50aWZpZXIoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOworICAg
ICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tlZEFz
SURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0
b3IoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1l
bnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxl
bWVudHMgcGFyc2VHZW5lcmF0b3JGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwg
U291cmNlRWxlbWVudHNNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVp
bGRlciYsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
biwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOwogICAgIGVudW0gY2xhc3MgRXhwb3J0
VHlwZSB7IEV4cG9ydGVkLCBOb3RFeHBvcnRlZCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXIm
LCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVs
dENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRl
ZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6
OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgYm9vbCBp
c0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5
cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIGJvb2wgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0
YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBib29s
IHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlVmFyaWFibGVEZWNsYXJh
dGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5
cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlV2hpbGVTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ3OCw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
Q29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZU1lbWJlckV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBU
cmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVpbGRlciYpOwpAQCAtMTM5NCwx
NyArMTQ4NiwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0T2JqZWN0TGl0ZXJhbChUcmVl
QnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHBy
ZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
QXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3VtZW50cyBwYXJzZUFyZ3VtZW50
cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRyZWVCdWlsZGVyJiwgQXJndW1l
bnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKLSAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNH
ZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRp
ZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRl
clNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVu
c2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCwgYm9vbCBp
c0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwg
U3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlvbkJvZHlUeXBlLCB1bnNpZ25l
ZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImLCBUcmVl
Rm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBlbnVtIFZhckRlY2xhcmF0aW9u
TGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0IH07CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhcmlh
YmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVE
ZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5p
dGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5p
dFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4
dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBmb3JMb29wQ29uc3REb2VzTm90
SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwgYm9vbCBpc0FzeW5jKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZXN0cnVjdHVy
aW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYsIEpTVG9rZW4sIEFzc2lnbm1l
bnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllcik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0dXJp
bmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiwgVHJlZUV4cHJl
c3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVy
KiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFz
c2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpOwpAQCAtMTQ2Miw2ICsx
NTU1LDIzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9lcnJvck1lc3NhZ2UuaXNOdWxs
KCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoY29uc3Qg
SlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICAvLyBGSVhNRTogYG1fbW9kdWxlU2NvcGVE
YXRhLmdldCgpICE9IG51bGxwdHJgIGlzIG5vdCBhIHZhbGlkIG1ldGhvZCBvZiBkZXRlcm1pbmlu
ZyBpZiBwYXJzZXIgaXMgcGFyc2luZyBhIE1vZHVsZS4KKyAgICAgICAgcmV0dXJuIHRva2VuLm1f
dHlwZSA9PSBBV0FJVCAmJiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50U2Nv
cGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSB8fCBtX21vZHVsZVNjb3BlRGF0YS5nZXQo
KSAhPSBudWxscHRyKTsKKyAgICB9CisKKyAgICBjb25zdCBjaGFyKiBkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKCkKKyAgICB7CisgICAgICAgIGlmICghbV9wYXJzZXJTdGF0ZS5hbGxv
d0F3YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKQorICAg
ICAgICAgICAgcmV0dXJuICJpbiBhbiBhc3luYyBmdW5jdGlvbiI7CisgICAgICAgIC8vIEZJWE1F
OiBgbV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cmAgaXMgbm90IGEgdmFsaWQgbWV0
aG9kIG9mIGRldGVybWluaW5nIGlmIHBhcnNlciBpcyBwYXJzaW5nIGEgTW9kdWxlLgorICAgICAg
ICBpZiAobV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cikKKyAgICAgICAgICAgIHJl
dHVybiAiaW4gYSBtb2R1bGUiOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBlbnVtIGNsYXNzIEZ1bmN0
aW9uUGFyc2VQaGFzZSB7IFBhcmFtZXRlcnMsIEJvZHkgfTsKICAgICBzdHJ1Y3QgUGFyc2VyU3Rh
dGUgewogICAgICAgICBpbnQgYXNzaWdubWVudENvdW50IHsgMCB9OwpAQCAtMTQ3MCw2ICsxNTgw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25QYXJzZVBoYXNlIGZ1bmN0aW9uUGFyc2VQ
aGFzZSB7IEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSB9OwogICAgICAgICBjb25zdCBJZGVudGlm
aWVyKiBsYXN0SWRlbnRpZmllciB7IG51bGxwdHIgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmll
ciogbGFzdEZ1bmN0aW9uTmFtZSB7IG51bGxwdHIgfTsKKyAgICAgICAgYm9vbCBhbGxvd0F3YWl0
IHsgdHJ1ZSB9OwogICAgIH07CiAKICAgICAvLyBJZiB5b3UncmUgdXNpbmcgdGhpcyBkaXJlY3Rs
eSwgeW91IHByb2JhYmx5IHNob3VsZCBiZSB1c2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJNb2Rlcy5oCmluZGV4IDlmZDdiNzdkZWFiZWFhOGRhNGJmMjc4MzM5MzFlYjRi
ZGNmODlhNDYuLjJhYWM2ODIxYWVkMmM4ZTAxYjk5MzUwZTgwMmMwNGFkZmQ0ZTgxNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKQEAgLTI3LDYgKzI3LDcg
QEAKICNpZm5kZWYgUGFyc2VyTW9kZXNfaAogI2RlZmluZSBQYXJzZXJNb2Rlc19oCiAKKyNpbmNs
dWRlICJDb25zdHJ1Y3RBYmlsaXR5LmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKQEAgLTQzLDgwICs0NCwxMzAgQEAgZW51bSBEZWJ1Z2dlck1vZGUgeyBEZWJ1
Z2dlck9mZiwgRGVidWdnZXJPbiB9OwogCiBlbnVtIGNsYXNzIEZ1bmN0aW9uTW9kZSB7IEZ1bmN0
aW9uRXhwcmVzc2lvbiwgRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiB9Owog
Ci1lbnVtIGNsYXNzIFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQ4X3QgewotICAgIE5vcm1hbEZ1bmN0
aW9uTW9kZSwKLSAgICBHZW5lcmF0b3JCb2R5TW9kZSwKLSAgICBHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlLAotICAgIEdldHRlck1vZGUsCi0gICAgU2V0dGVyTW9kZSwKLSAgICBNZXRob2RN
b2RlLAotICAgIEFycm93RnVuY3Rpb25Nb2RlLAotICAgIFByb2dyYW1Nb2RlLAotICAgIE1vZHVs
ZUFuYWx5emVNb2RlLAotICAgIE1vZHVsZUV2YWx1YXRlTW9kZQorZW51bSBjbGFzcyBTb3VyY2VQ
YXJzZU1vZGUgOiB1aW50MTZfdCB7CisgICAgTm9ybWFsRnVuY3Rpb25Nb2RlICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDAwMDEsCisgICAgR2VuZXJhdG9yQm9keU1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDAwMTAsCisgICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSAg
PSAwYjAwMDAwMDAwMDAwMDAxMDAsCisgICAgR2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDEwMDAsCisgICAgU2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMTAwMDAsCisgICAgTWV0aG9kTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAxMDAwMDAsCisgICAgQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDEwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbkJvZHlNb2RlICAgICAgICAg
PSAwYjAwMDAwMDAwMTAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUgICAg
PSAwYjAwMDAwMDAxMDAwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbk1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDEwMDAwMDAwMDAsCisgICAgQXN5bmNNZXRob2RNb2RlICAgICAgICAgICAgICAg
PSAwYjAwMDAwMTAwMDAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAg
PSAwYjAwMDAxMDAwMDAwMDAwMDAsCisgICAgUHJvZ3JhbU1vZGUgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDEwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlQW5hbHl6ZU1vZGUgICAgICAgICAgICAg
PSAwYjAwMTAwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlRXZhbHVhdGVNb2RlICAgICAgICAgICAg
PSAwYjAxMDAwMDAwMDAwMDAwMDAsCiB9OwogCi1pbmxpbmUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VN
b2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCitjbGFzcyBTb3VyY2VQYXJzZU1vZGVTZXQg
eyAKK3B1YmxpYzogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gTW9kZXM+IAorICAgIFNvdXJj
ZVBhcnNlTW9kZVNldChNb2Rlcy4uLiBhcmdzKSAKKyAgICAgICAgOiBtX21hc2sobWVyZ2VTb3Vy
Y2VQYXJzZU1vZGVzKGFyZ3MuLi4pKSAKKyAgICB7IAorICAgIH0gCisKKyAgICBBTFdBWVNfSU5M
SU5FIGJvb2wgY29udGFpbnMoU291cmNlUGFyc2VNb2RlIG1vZGUpIAorICAgIHsgCisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgJiBtX21hc2s7IAorICAgIH0gCisK
K3ByaXZhdGU6IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdlU291cmNl
UGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKTsgCisgICAgfSAKKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIFJlc3Q+IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdl
U291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSwgUmVzdC4uLiByZXN0KSAKKyAg
ICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpIHwgbWVyZ2VT
b3VyY2VQYXJzZU1vZGVzKHJlc3QuLi4pOyAKKyAgICB9IAorCisgICAgY29uc3QgdW5zaWduZWQg
bV9tYXNrOyAKK307IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9k
ZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVy
TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwgCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9k
ZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRh
aW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5jdGlv
blBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNv
dXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlLCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsg
Cit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1v
ZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUs
IAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVu
Y3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAg
ICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVu
Y3Rpb25Cb2R5UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICBy
ZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJ
TkUgYm9vbCBpc01ldGhvZFBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQogewot
ICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1h
bEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhv
ZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KAorICAgICAgICAvLyBGSVhN
RTogR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBh
IG1ldGhvZC4KKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRo
b2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3Jh
bU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19CitBTFdBWVNfSU5MSU5FIGJvb2wg
aXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJl
dHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUFuYWx5emVNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1v
ZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKIAotaW5saW5lIGJvb2wgaXNQcm9ncmFtUGFy
c2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAgc3dpdGNoIChwYXJzZU1v
ZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworQUxXQVlTX0lO
TElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAK
K3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OlByb2dy
YW1Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgQ29uc3Ry
dWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUpIAoreyAKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9y
bWFsRnVuY3Rpb25Nb2RlKSAKKyAgICAgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNv
bnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3Q7
CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShjb25zdCBJZGVudGlmaWVy
JiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1ZDc2M2FjZWY3OWM2OWNk
MjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMwMjQxYTUyZTY2MWQ2OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC04Myw2
ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5E
UywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0UgPSAwLAogICAgIENMT1NF
QlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaAppbmRleCAxYzBkMThlZDg3MWE3MjE0ODBmZWE4MjEyMDhhMjc3ZmEyZDgy
Njg2Li41YWM2NWFiZDA0NTVmZWY2NzgxYjY0YTA3M2ViZDkyNTJhM2NkZWIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtODMsNyArODMsNyBA
QCBwdWJsaWM6CiAgICAgICAgIENsYXVzZUxpc3RSZXN1bHQsIENvbW1hRXhwciwgRGVzdHJ1Y3R1
cmluZ0Fzc2lnbm1lbnQsCiAgICAgICAgIFRlbXBsYXRlU3RyaW5nUmVzdWx0LCBUZW1wbGF0ZVN0
cmluZ0xpc3RSZXN1bHQsCiAgICAgICAgIFRlbXBsYXRlRXhwcmVzc2lvbkxpc3RSZXN1bHQsIFRl
bXBsYXRlRXhwciwKLSAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsCisgICAg
ICAgIFRhZ2dlZFRlbXBsYXRlRXhwciwgWWllbGRFeHByLCBBd2FpdEV4cHIsCiAgICAgICAgIE1v
ZHVsZU5hbWVSZXN1bHQsCiAgICAgICAgIEltcG9ydFNwZWNpZmllclJlc3VsdCwgSW1wb3J0U3Bl
Y2lmaWVyTGlzdFJlc3VsdCwKICAgICAgICAgRXhwb3J0U3BlY2lmaWVyUmVzdWx0LCBFeHBvcnRT
cGVjaWZpZXJMaXN0UmVzdWx0CkBAIC0xODIsOCArMTgyLDEwIEBAIHB1YmxpYzoKICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVFbXB0eUxldEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIEFzc2lnbm1lbnRFeHByOyB9CiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlWWllbGQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJikgeyByZXR1cm4g
WWllbGRFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlWWllbGQoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGJvb2wsIGludCwgaW50LCBpbnQpIHsgcmV0dXJu
IFlpZWxkRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUF3YWl0KGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBBd2Fp
dEV4cHI7IH0KICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHByKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhDaGVja2VyPiYsIFZhcmlh
YmxlRW52aXJvbm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUsIFByb3BlcnR5
TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyBy
ZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJv
b2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCB1bnNpZ25l
ZCwgU291cmNlUGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rpb25Db2RlRmVhdHVyZXMg
PSBOb0lubmVyQXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1
bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRo
b2REZWZpbml0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9u
SW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNDA1
MTI2MmRhNTFiY2JkYWI3NzVjZjYxYjBjMGNiYzBmZjU3MTFmMS4uNzM4OWY5ZWNlY2U1Zjg4YTM4
ZjQ2MjdkMjM4N2Q2MjE3Yjk2NWZmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0xMDksNiArMTA5LDcgQEAKICAgICBtYWNy
byhhcmd1bWVudHMpIFwKICAgICBtYWNybyhhcykgXAogICAgIG1hY3JvKGFzc2lnbikgXAorICAg
IG1hY3JvKGFzeW5jKSBcCiAgICAgbWFjcm8oYmFjaykgXAogICAgIG1hY3JvKGJpbmQpIFwKICAg
ICBtYWNybyhibHVyKSBcCkBAIC0yNzEsNiArMjcyLDcgQEAKICAgICBtYWNybyh5ZWFyKQogCiAj
ZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1hY3JvKSBcCisgICAg
bWFjcm8oYXdhaXQpIFwKICAgICBtYWNybyhicmVhaykgXAogICAgIG1hY3JvKGNhc2UpIFwKICAg
ICBtYWNybyhjYXRjaCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggOWU5Y2Y0NDBmODQ0
Y2NlODA3NjY2Nzg5MzkzZjI1YmM0NjIxNjRkYS4uMDYwNWMxNTFmODkxMjE1MzAyZGRlMDA5NjQ0
ZTAwNDFkOGM1NjNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC0zNjAsNiArMzYwLDEw
IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxlCiAjZGVmaW5lIEVOQUJMRV9FUzZfTU9EVUxFUyAw
CiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpCisjZGVmaW5lIEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggMAorI2VuZGlm
CisKICNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TKQogI2RlZmluZSBFTkFC
TEVfQ09OVEVOVF9FWFRFTlNJT05TIDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUz
YTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNk
NDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9
IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9z
Kl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9D
VVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0
MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2Rr
PWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0IEBAIEVO
QUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURB
QkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJM
RV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRT
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChF
TkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThhZjc4
MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9D
QU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7
CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2Rr
PWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMCw0
ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklU
OwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFN
X0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykg
JChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4
IGM3MWU1YTc2YjhlYjU5OTU4MWNkODhjZDMwMDYwM2ZlM2U0MWIzYmEuLmIzNzNjMDU2NjI1ZmU2
NGFlNTZmMmU2NjE2YzUyNzc3NGJhY2RlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
QEAgLTExMyw2ICsxMTMsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVESUEgIlRvZ2dsZSBFTUUgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMiAiU3VwcG9ydCBFTUUgdjIiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9FUzZfTU9EVUxFUyAiVG9nZ2xlIEVTNiBtb2R1bGVzIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzIwMTcgYXN5bmMgZnVuY3Rpb25zIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9GRVRDSF9BUEkg
IlRvZ2dsZSBGZXRjaCBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfRklMVEVSU19MRVZFTF8yICJUb2dnbGUgRmlsdGVycyBNb2R1bGUgTGV2
ZWwgMiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMgIlRvZ2dsZSBGb250IExvYWQgRXZlbnRzIHN1cHBvcnQiIFBSSVZBVEUgT0ZG
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1
aWxkLWpzYwppbmRleCAyMzQ3N2FmYjUwZGY5YjA5N2ViNDJmN2I0MmQzYTU3MjcwNWZiNjBhLi4x
ZTNmZDhkMDA3ZGZiMDUwZTRiNjI2ZGRmYjQ3MzUwNmE1ODIyNDlhIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMzMs
MTMgKzMzLDE2IEBAIHVzZSBGaW5kQmluOwogdXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBh
c3NfdGhyb3VnaCk7CiB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKK3Vz
ZSB3ZWJraXRwZXJsOjpGZWF0dXJlTGlzdCBxdyhnZXRGZWF0dXJlT3B0aW9uTGlzdCk7CiB1c2Ug
UE9TSVg7CiAKK3N1YiBjTWFrZUFyZ3NGcm9tRmVhdHVyZXMoKTsKIHN1YiB3cml0ZUNvbmdyYXRz
KCk7CiAKIHByb2hpYml0VW5rbm93blBvcnQoKTsKIAogbXkgJHNob3VsZFJ1blN0YXRpY0FuYWx5
emVyID0gMDsKK215ICRtaW5pbWFsID0gMDsKIG15ICRjb3ZlcmFnZVN1cHBvcnQgPSAwOwogbXkg
JHNob3dIZWxwID0gMDsKIG15ICRmdGxKSVQgPSBpbnQoaXNBcHBsZU1hY1dlYktpdCgpICYmICF3
aWxsVXNlSU9TU2ltdWxhdG9yU0RLKCkgfHwgaXNYODZfNjQoKSAmJiAoaXNHdGsoKSB8fCBpc0Vm
bCgpIHx8IGlzSlNDT25seSgpKSk7CkBAIC01MCw2ICs1MywyMCBAQCBteSBAY21ha2VBcmdzOwog
bXkgJGNvcHlMaWJyYXJpZXMgPSAxOwogbXkgJHN0YXJ0VGltZSA9IHRpbWUoKTsKIAorbXkgQGZl
YXR1cmVzID0gZ2V0RmVhdHVyZU9wdGlvbkxpc3QoKTsKKworIyBJbml0aWFsaXplIHZhbHVlcyBm
cm9tIGRlZmF1bHRzCitmb3JlYWNoIChAQVJHVikgeworICAgIGlmICgkXyBlcSAnLS1taW5pbWFs
JykgeworICAgICAgICAkbWluaW1hbCA9IDE7CisgICAgfQorfQorCisjIEluaXRpYWxpemUgdmFs
dWVzIGZyb20gZGVmYXVsdHMKK2ZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICR7JF8tPnt2YWx1
ZX19ID0gKCRtaW5pbWFsID8gMCA6ICRfLT57ZGVmYXVsdH0pOworfQorCiAjIEFkZGl0aW9uYWwg
ZW52aXJvbm1lbnQgcGFyYW1ldGVycwogcHVzaCBAQVJHViwgc3BsaXQoLyAvLCAkRU5WeydCVUlM
RF9KU0NfQVJHUyd9KSBpZiAoJEVOVnsnQlVJTERfSlNDX0FSR1MnfSk7CiAKQEAgLTY3LDcgKzg0
LDcgQEAgVXNhZ2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBi
dWlsZCBzeXN0ZW1dCiAgIC0tY21ha2VhcmdzPTxhcmd1bWVudHM+ICAgICAgIE9uZSBvciBtb3Jl
IG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPSItREZPTz1iYXIgLURDTUFL
RV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsIikKIEVPRgogCi1HZXRPcHRpb25zKAorbXkgJW9wdGlv
bnMgPSAoCiAgICAgJ2FuYWx5emUhJyA9PiBcJHNob3VsZFJ1blN0YXRpY0FuYWx5emVyLAogICAg
ICdjb3ZlcmFnZSEnID0+IFwkY292ZXJhZ2VTdXBwb3J0LAogICAgICdoZWxwJyA9PiBcJHNob3dI
ZWxwLApAQCAtNzksNiArOTYsMTYgQEAgR2V0T3B0aW9ucygKICAgICAnY21ha2VhcmdzPXMnID0+
IFxAY21ha2VBcmdzCiApOwogCitmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICBpZiAoJF8tPntq
YXZhc2NyaXB0fSkgeworICAgICAgICBteSAkb3B0ID0gc3ByaW50ZigiJS0zNXMiLCAiICAtLVtu
by1dJF8tPntvcHRpb259Iik7CisgICAgICAgICR1c2FnZSAuPSAiJG9wdCAkXy0+e2Rlc2N9IChk
ZWZhdWx0OiAkXy0+e2RlZmF1bHR9KVxuIjsKKyAgICAgICAgJG9wdGlvbnN7IiRfLT57b3B0aW9u
fSEifSA9ICRfLT57dmFsdWV9OworICAgIH0KK30KKworR2V0T3B0aW9ucyglb3B0aW9ucyk7CisK
IGlmICgkc2hvd0hlbHApIHsKICAgIHByaW50IFNUREVSUiAkdXNhZ2U7CiAgICBleGl0IDE7CkBA
IC0xMDQsNiArMTMxLDggQEAgaWYgKGlzQ01ha2VCdWlsZCgpKSB7CiAgICAgcHVzaCBAY21ha2VB
cmdzLCAkZm9yY2VDTG9vcCA/ICIgLURFTkFCTEVfSklUPU9GRiIgOiAiIC1ERU5BQkxFX0pJVD1P
TiI7CiAgICAgcHVzaCBAY21ha2VBcmdzLCAkZnRsSklUID8gIiAtREVOQUJMRV9GVExfSklUPU9O
IiA6ICIgLURFTkFCTEVfRlRMX0pJVD1PRkYiOwogCisgICAgbXkgQGZlYXR1cmVBcmdzID0gY01h
a2VBcmdzRnJvbUZlYXR1cmVzKCk7CisKICAgICBteSAkYnVpbGRUYXJnZXQgPSAiIjsKICAgICB1
bmxlc3MgKGlzQW55V2luZG93cygpKSB7CiAgICAgICAgICMgQnkgZGVmYXVsdCB3ZSBidWlsZCB1
c2luZyBhbGwgb2YgdGhlIGF2YWlsYWJsZSBDUFVzCkBAIC0xMTQsNyArMTQzLDcgQEAgaWYgKGlz
Q01ha2VCdWlsZCgpKSB7CiAgICAgfQogCiAgICAgIyBUaGlzIGNhbGwgb25seSByZXR1cm5zIGlm
IG5vdGhpbmcgd3JvbmcgaGFwcGVuZWQKLSAgICBidWlsZENNYWtlUHJvamVjdE9yRXhpdCgwLCB1
bmRlZiwgJGJ1aWxkVGFyZ2V0LCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMoKSwgQGNtYWtlQXJn
cykpOworICAgIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KDAsIHVuZGVmLCAkYnVpbGRUYXJnZXQs
IChjbWFrZUJhc2VkUG9ydEFyZ3VtZW50cygpLCBAZmVhdHVyZUFyZ3MsIEBjbWFrZUFyZ3MpKTsK
ICAgICB3cml0ZUNvbmdyYXRzKCk7CiAgICAgZXhpdCBleGl0U3RhdHVzKDApOwogfQpAQCAtMTIz
LDYgKzE1MiwyMCBAQCBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgcHVzaCBAb3B0aW9u
cywgKCRmb3JjZUNMb29wID8gIkVOQUJMRV9KSVQ9RU5BQkxFX0pJVD0wIiA6ICJFTkFCTEVfSklU
PUVOQUJMRV9KSVQiKTsKICAgICBwdXNoIEBvcHRpb25zLCAoJGZ0bEpJVCA/ICJFTkFCTEVfRlRM
X0pJVD1FTkFCTEVfRlRMX0pJVCIgOiAiRU5BQkxFX0ZUTF9KSVQ9RU5BQkxFX0ZUTF9KSVQ9MCIp
OwogCisgICAgc3ViIG9wdGlvbigkJCQpCisgICAgeworICAgICAgICBteSAoJGZlYXR1cmUsICRp
c0VuYWJsZWQsICRkZWZhdWx0VmFsdWUpID0gQF87CisgICAgICAgIHJldHVybiAiIiBpZiAkZGVm
YXVsdFZhbHVlID09ICRpc0VuYWJsZWQ7CisgICAgICAgIHJldHVybiAkZmVhdHVyZSAuICI9IiAu
ICgkaXNFbmFibGVkID8gJGZlYXR1cmUgOiAiIik7CisgICAgfQorCisgICAgZm9yZWFjaCAoQGZl
YXR1cmVzKSB7CisgICAgICAgIGlmICgkXy0+e2phdmFzY3JpcHR9KSB7CisgICAgICAgICAgICBt
eSAkb3B0aW9uID0gb3B0aW9uKCRfLT57ZGVmaW5lfSwgJHskXy0+e3ZhbHVlfX0sICRfLT57ZGVm
YXVsdH0pOworICAgICAgICAgICAgcHVzaCBAb3B0aW9ucywgJG9wdGlvbiB1bmxlc3MgJG9wdGlv
biBlcSAiIjsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmICgkY29weUxpYnJhcmllcykgewog
ICAgICAgICBteSBAY29weUxpYnJhcmllc0FyZ3MgPSAoInBlcmwiLCAiVG9vbHMvU2NyaXB0cy9j
b3B5LXdlYmtpdGxpYnJhcmllcy10by1wcm9kdWN0LWRpcmVjdG9yeSIpOwogICAgICAgICBwdXNo
IEBjb3B5TGlicmFyaWVzQXJncywgIi0tZGV2aWNlIiBpZiB3aWxsVXNlSU9TRGV2aWNlU0RLKCk7
CkBAIC0xNTMsNiArMTk2LDIxIEBAIHN1YiBidWlsZE15UHJvamVjdAogICAgIGNoZGlyV2ViS2l0
KCk7CiB9CiAKK3N1YiBjTWFrZUFyZ3NGcm9tRmVhdHVyZXMoKQoreworICAgIG15IEBhcmdzOwor
ICAgIGZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICAgICBteSAkZmVhdHVyZU5hbWUgPSAkXy0+
e2RlZmluZX07CisgICAgICAgIGlmICgkZmVhdHVyZU5hbWUpIHsKKyAgICAgICAgICAgIG15ICRm
ZWF0dXJlRW5hYmxlZCA9ICR7JF8tPnt2YWx1ZX19ID8gIk9OIiA6ICJPRkYiOworICAgICAgICAg
ICAgaWYgKCRmZWF0dXJlRW5hYmxlZCAhPSAkXy0+e2RlZmF1bHR9KSB7CisgICAgICAgICAgICAg
ICAgcHVzaCBAYXJncywgIi1EJGZlYXR1cmVOYW1lPSRmZWF0dXJlRW5hYmxlZCI7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIEBhcmdzOworfQorCiBzdWIgd3Jp
dGVDb25ncmF0cygpCiB7CiAgICAgbXkgJGVuZFRpbWUgPSB0aW1lKCk7CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggNjlkY2U3NmRlYzA2MmIzMDgxZjA3ZDFiM2Jk
ZTEyYmIzM2RkYmY2YS4uOWI3YWZiMzU0Y2NkOTIxNzJjMDMxNWI4NmU2YTBhN2VkYTA5YzJlYyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNTEsNiArNTEsNyBA
QCBCRUdJTiB7CiBteSAoCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAogICAgICRh
bGxJbk9uZUJ1aWxkLAorICAgICRhc3luY2Z1bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50
RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQ
YXRoU3VwcG9ydCwKQEAgLTE3Myw2ICsxNzQsMTAgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsg
b3B0aW9uID0+ICJhbGxpbm9uZS1idWlsZCIsIGRlc2MgPT4gIlRvZ2dsZSBhbGwtaW4tb25lIGJ1
aWxkIiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FMTElOT05FX0JVSUxEIiwgZGVmYXVsdCA9
PiBpc1dpbmRvd3MoKSwgdmFsdWUgPT4gXCRhbGxJbk9uZUJ1aWxkIH0sCiAKKyAgICB7IG9wdGlv
biA9PiAiYXN5bmNmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVMyMDE3IGFzeW5j
IGZ1bmN0aW9ucyBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhc3luY2Z1bmN0aW9u
U3ludGF4LAorICAgICAgamF2YXNjcmlwdCA9PiAxIH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0
YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBw
b3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1
bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIApAQCAtMjY0
LDcgKzI2OSw4IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0dB
TUVQQUQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkZ2FtZXBhZFN1cHBvcnQgfSwKIAogICAg
IHsgb3B0aW9uID0+ICJnZW5lcmF0b3JzIiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBnZW5lcmF0b3Jz
IHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0dFTkVSQVRPUlMiLCBkZWZh
dWx0ID0+IDEsIHZhbHVlID0+IFwkZ2VuZXJhdG9yc1N1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0VTNl9HRU5FUkFUT1JTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGdlbmVy
YXRvcnNTdXBwb3J0LAorICAgICAgamF2YXNjcmlwdCA9PiAxIH0sCiAKICAgICB7IG9wdGlvbiA9
PiAiZ2VvbG9jYXRpb24iLCBkZXNjID0+ICJUb2dnbGUgR2VvbG9jYXRpb24gc3VwcG9ydCIsCiAg
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HRU9MT0NBVElPTiIsIGRlZmF1bHQgPT4gKGlzQXBwbGVX
ZWJLaXQoKSB8fCBpc0lPU1dlYktpdCgpIHx8IGlzR3RrKCkgfHwgaXNFZmwoKSksIHZhbHVlID0+
IFwkZ2VvbG9jYXRpb25TdXBwb3J0IH0sCkBAIC0zNDIsNyArMzQ4LDggQEAgbXkgQGZlYXR1cmVz
ID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTUhUTUwiLCBkZWZhdWx0ID0+IChpc0d0aygp
IHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJG1odG1sU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24g
PT4gIm1vZHVsZXMiLCBkZXNjID0+ICJUb2dnbGUgRVM2IG1vZHVsZXMgc3VwcG9ydCIsCi0gICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfTU9EVUxFUyIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4g
XCRtb2R1bGVzU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X01PRFVMRVMi
LCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkbW9kdWxlc1N1cHBvcnQsCisgICAgICBqYXZhc2Ny
aXB0ID0+IDEgfSwKIAogICAgIHsgb3B0aW9uID0+ICJtb3VzZS1jdXJzb3Itc2NhbGUiLCBkZXNj
ID0+ICJUb2dnbGUgU2NhbGVkIG1vdXNlIGN1cnNvciBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUg
PT4gXCRtb3VzZUN1cnNvclNjYWxlU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
ZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1
ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2
ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJM
RV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FT
WU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBs
ZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gq
XSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVf
RlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BB
WSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVU
X1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9T
VFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJf
QU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1C
TFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FT
WU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFC
TEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxF
X1hTTFQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxv
ZwppbmRleCBiM2Y2OGQyZmNlZWU1ZDcwMjQyYzMyOWZkYzAzNjlhMmNhYTM1NjMwLi4wNDlmZTJk
ODA4NzliZTI2ZjFiOWE1MDA4ZDIzYWFmMmM5YWE3ZmEyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0No
YW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA5
LTA3ICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10g
SW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9hc3luYy1hd2FpdC1zeW50YXgu
anM6IEFkZGVkLgorICAgICAgICAodGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0U3ludGF4RXJy
b3IpOgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVz
dFN5bnRheCk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9k
ZSk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSk6Cisg
ICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZS50ZXN0U3ludGF4
KToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmFzeW5jKToKKyAgICAgICAg
KHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxB
c3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4RXJyb3IpOgorCiAyMDE2LTA5LTIw
ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IERvIG5vdCB1c2UgRWFnZXJSdW4gb24gdGVzdHMgY291bnRpbmcgcmVjb21waWxhdGlvbgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0cy9z
dHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYWU3N2Q2ZTYyNGY1NGM5
ZDY3M2FmN2M5MjlhNTk5N2UyNGJhODMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVz
cy9hc3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyODAgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvLyBUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFX0VTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCB0byBiZSBlbmFibGVkIGF0IGJ1aWxkIHRpbWUuCisvL0Agc2tpcAorCitm
dW5jdGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2Ny
aXB0KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2Vv
ZiBTeW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAi
ICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAi
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQsIG1lc3NhZ2Up
IHsKKyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0
KTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYg
KCFlcnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJyb3Ig
bm90IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworCisgICAg
aWYgKHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3IpICE9PSBtZXNz
YWdlKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJv
cikgKyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9CisKKyhmdW5j
dGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0
U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2ApOwor
ICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoKSB7
IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9
PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyB4
ID0+IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMgZnVuY3Rpb24g
YXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3lu
YyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsg
YXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0
U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAwKCkgeyBhd2Fp
dCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9
IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBm
b28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkg
eyB2YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0
ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7
IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IGZ1bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdh
aXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1
bmN0aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10o
KSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgo
YCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7IGF3
YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBh
c3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIDAoKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3lu
Y0ZuID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNl
IHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0g
YXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlv
biogZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rp
b24gdGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRleHREYXRhID0g
WworICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7ICIsIHN1ZmZp
eDogIiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyRnVuY0V4
cHIgPSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7
ICpvdXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIg
PSBjbGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljIG91
dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRlclN0YXRpY0dl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xh
c3Mgb3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNz
IHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRlclN0YXRpY0dl
bk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFy
IG91dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9
IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIgPSBhc3luYyBm
dW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBv
dXRlckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRlckFzeW5jTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0
ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0g
Y2xhc3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZm
aXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgYXN5
bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsg
cHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5j
TWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAgdmFyIHRlc3RE
YXRhID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAg
IGBsZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0IGFzeW5jID0g
MTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9IHJldHVybiBh
c3luYygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsgcmV0dXJuIGFz
eW5jKCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJu
IGF3YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7
IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3
YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9
YCwKKyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7
IH1gLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJu
IGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQpIHsgcmV0dXJu
IGF3YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2YXIgYXdhaXQg
PSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoYXdh
aXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9uIGF3YWl0KCkg
e30pYCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0RGF0YSkgewor
ICAgICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAgICBsZXQgc2Ny
aXB0ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7CisgICAgICAgICAg
ICB0ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmlj
dCI7ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAgfQorfSkoKTsKKworCisoZnVuY3Rpb24g
dGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0ID0gJ3Rl
c3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7
IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+
ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBNZXRob2REZWZp
bml0aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0cmljdGlvbnMK
KyAgICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9i
amVjdCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJv
cihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWAp
OworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRo
b2QnKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFz
eW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRo
b2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIGFzeW5j
R2VuZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJu
IHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9IGF3YWl0IDEp
ID0+IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKHgg
PSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxk
ID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRv
cigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93
Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0g
eWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBhc3lu
YyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMge307
IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBz
dGF0aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2
YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtgKTsKKworICAg
IC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChh
c3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZv
bzcgZm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzkgKCkgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
Wydmb28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2Zv
bzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOCdd
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMWAp
OworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOworICAgIHRlc3RT
eW50YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhF
cnJvcigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFz
eW5jYGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZv
bzI4YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZv
bzMxYC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBz
dGlsbCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAgICAg
ICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdFRv
cExldmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
ICgpID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0Jzsg
fTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBh
c3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0
aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsn
bWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFz
eW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24qIGFz
eW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0
b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2
YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
KHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYyh4ID0gYXdh
aXQgMSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIg
YXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNB
cnJvd0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJy
b3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBl
eHRlbmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNz
IEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMo
eCA9IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1
ZyAodG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlv
biBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkg
eyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFz
eW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZvbzEyID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEzICgp
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9v
MTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNb
J2ZvbzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgKGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgpID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yMmAgPT4gMSkn
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIzYCBmb28y
NCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9v
MjVgICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3lu
Y2Bmb28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0
IjsgKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJv
cignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7CisKKyAgICAv
LyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMgdGhhdCBtYXkg
aGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZv
bzMzID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRo
b2QnKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsg
J29kJ10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJndW1lbnRzKSB7
fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFz
eW5jIG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9KSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289447</attachid>
            <date>2016-09-21 05:54:21 -0700</date>
            <delta_ts>2016-09-21 16:32:26 -0700</delta_ts>
            <desc>Async Function Parsing v6 + Copy-edit the build-jsc help message changes</desc>
            <filename>bug-161409-20160921085132.patch</filename>
            <type>text/plain</type>
            <size>160420</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTZjNDRiMzVlNGNkOTNlZDNhNWEyMjE3OWJkYWY2NDRmMGY0ZGYwLi41MjM3ZmFiMmQzNDAyNTRh
NTVlZjY1NWMxNTk3NjI3YWRhMGNhZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgy
YTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VT
Nl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBF
TkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01f
RUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dS
SVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGUuY3BwCmluZGV4IDA1NGQ2M2RmNTlhNzg0NzU1YjliYWU3ZmVkMmNkNzZiNTgwYzAyOWMuLmYw
MjhkNDg4MGM5NTcyNjg2ZDM4MmM1MzlhZGQ1YTc2OGNkMzM0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlLmNwcApAQCAtODksNiArODksNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAg
ICwgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5v
ZGUtPnNvdXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+
cGFyYW1ldGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFy
c2VNb2RlKG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2Rl
LT5pc0luU3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxz
ZSkKICAgICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5j
dGlvbikKQEAgLTk4LDcgKzk5LDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICAsIG1f
Y29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSkKICAgICAsIG1f
c3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkp
CiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZl
ZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAg
ICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5v
ZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTEyLDcgKzExMiw2IEBAIFVubGlua2VkRnVuY3Rpb25F
eGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSog
c3RydWN0CiAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KGNvbW1lbnRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRD
b250ZXh0VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7
Ci0gICAgQVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b2RlLT5wYXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2Fw
KHBhcmVudFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXgg
MWUzY2JhZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUzMi4uODlhYWI4YWJmNzE3MWU4
ZDQ5OGNiNWFjMzE4NzQyZGM3MzA1NzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTE1
NSw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9m
ZnNldDsKICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBt
X2ZlYXR1cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1
bnNpZ25lZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1
cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsK
QEAgLTE2NCw3ICsxNjUsNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29tbWVudE1vZGU6
IDE7IC8vIEpTUGFyc2VyQ29tbWVudE1vZGUKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6
IDE7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGU6IDI7Ci0gICAgdW5zaWduZWQg
bV9zb3VyY2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJzZU1vZGUKIAogICAgIFdyaXRlQmFy
cmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ2Fs
bDsKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtl
ZENvZGVCbG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMDc1ZjVjZDk2YWI5
ZTJkNmZhMmE4YmUwNzAwMDYxZmUxYTUwMzk2ZC4uODA2MTNkMDZjMzBlZTNiOGI3MjJmYmMyNzk2
NjU2YTg1OWE4NWZmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI5ODYsMTcgKzI5ODYsMTQgQEAg
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24o
UmVnaXN0ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEFycm93RnVu
Y0V4cHJOb2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1v
ZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlKTsKKyAgICBBU1NFUlQo
ZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQog
CiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24o
UmVnaXN0ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9kZSogZnVuYykKIHsKLSAgICBBU1NF
UlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBh
cnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5j
LT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUK
LSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VN
b2RlOjpNZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRob2RQYXJzZU1vZGUoZnVuYy0+bWV0
YWRhdGEoKS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29t
bW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRl
eCA5ZmM5Njk1YjEwMjJjNjJhODEwYmIwNTZiZjk3ZmFhODMyNGE3YTlhLi44YmEzZjRhNWM5ODcy
N2Q0NzkwMGM3NDkyZjRlNjAwYzU3NmIzNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0zNTA3LDYgKzM1MDcsMTgg
QEAgUmVnaXN0ZXJJRCogWWllbGRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRNb3Zl
KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHZhbHVlLmdldCgpKTsKIH0KIAorLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEF3YWl0RXhwck5vZGUgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmVnaXN0ZXJJRCogQXdhaXRFeHByTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sK
KyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYXJnID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwor
ICAgIGdlbmVyYXRvci5lbWl0Tm9kZShhcmcuZ2V0KCksIGFyZ3VtZW50KCkpOworICAgIFJlZlB0
cjxSZWdpc3RlcklEPiB2YWx1ZSA9IGdlbmVyYXRvci5lbWl0WWllbGQoYXJnLmdldCgpKTsKKyAg
ICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVz
dGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIAogdm9pZCBDbGFzc0RlY2xOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAppbmRleCAxYzExM2JhZTE0ZDU2ZDc4MDlhMTBkZmI5YzVmNjM3ODYwMGI3
MDAxLi5mZGJkMmY0ODQyMjg5OTBhNDA3NTBhZjc3NWMxMjNjZjBmYmM5ZjVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzY3LDYgKzM2NywxNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBub2RlOwogICAgIH0KIAorICAgIEF3YWl0RXhwck5vZGUq
IGNyZWF0ZUF3YWl0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25O
b2RlKiBhcmd1bWVudCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQ
b3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCisgICAgeworICAgICAg
ICBBU1NFUlQoYXJndW1lbnQpOworICAgICAgICBBd2FpdEV4cHJOb2RlKiBub2RlID0gbmV3ICht
X3BhcnNlckFyZW5hKSBBd2FpdEV4cHJOb2RlKGxvY2F0aW9uLCBhcmd1bWVudCk7CisgICAgICAg
IHNldEV4Y2VwdGlvbkxvY2F0aW9uKG5vZGUsIHN0YXJ0LCBkaXZvdCwgZW5kKTsKKyAgICAgICAg
cmV0dXJuIG5vZGU7CisgICAgfQorCiAgICAgQ2xhc3NFeHByTm9kZSogY3JlYXRlQ2xhc3NFeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxB
U1RCdWlsZGVyPiYgY2xhc3NJbmZvLCBWYXJpYWJsZUVudmlyb25tZW50JiBjbGFzc0Vudmlyb25t
ZW50LCBFeHByZXNzaW9uTm9kZSogY29uc3RydWN0b3IsCiAgICAgICAgIEV4cHJlc3Npb25Ob2Rl
KiBwYXJlbnRDbGFzcywgUHJvcGVydHlMaXN0Tm9kZSogaW5zdGFuY2VNZXRob2RzLCBQcm9wZXJ0
eUxpc3ROb2RlKiBzdGF0aWNNZXRob2RzKQogICAgIHsKQEAgLTM4Miw2ICszOTAsMTcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAorICAgIEV4cHJlc3Npb25Ob2Rl
KiBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9u
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKKyAgICB7CisgICAgICAgIGlmIChwYXJzZU1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAg
ICAgU291cmNlQ29kZSBzb3VyY2UgPSBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oZnVuY3Rp
b25JbmZvLnN0YXJ0T2Zmc2V0LCBmdW5jdGlvbkluZm8uYm9keS0+aXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24oKSA/IGZ1bmN0aW9uSW5mby5lbmRPZmZzZXQgLSAxIDogZnVuY3Rpb25JbmZv
LmVuZE9mZnNldCwgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRl
cnNTdGFydENvbHVtbik7CisgICAgICAgICAgICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAo
bV9wYXJzZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUs
IGZ1bmN0aW9uSW5mby5ib2R5LCBzb3VyY2UpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJv
ZHktPnNldExvYyhmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwg
bG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIHJldHVybiBjcmVhdGVGdW5j
dGlvbkV4cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbyk7CisgICAgfQorCiAgICAgRXhwcmVzc2lv
bk5vZGUqIGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBmdW5jdGlvbkluZm8p
CiAgICAgewogICAgICAgICBNZXRob2REZWZpbml0aW9uTm9kZSogcmVzdWx0ID0gbmV3IChtX3Bh
cnNlckFyZW5hKSBNZXRob2REZWZpbml0aW9uTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5u
YW1lLCBmdW5jdGlvbkluZm8uYm9keSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvS2V5d29yZHMudGFibGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tl
eXdvcmRzLnRhYmxlCmluZGV4IDQ1ODJkMDBhYWU5N2VkMTUzZWNmOTlhZjhkYjk2YTc1NjE5MWVk
MmEuLjJmN2RmYzU1YzBkYThjMDMxZDY2NDMyMTM2ZTc0ODg4YmJiY2Y5MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQpAQCAtNyw2ICs3LDcgQEAgdHJ1
ZQkJVFJVRVRPS0VOCiBmYWxzZQkJRkFMU0VUT0tFTgogCiAjIEtleXdvcmRzLgorYXdhaXQgICAg
ICAgQVdBSVQKIGJyZWFrCQlCUkVBSwogY2FzZQkJQ0FTRQogY2F0Y2gJCUNBVENICmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDY5YjQ0
MjhlODc5Y2E4MDBlOWNhMWI4N2IzNjJhMjM3MDg4NzdiYzYuLmMxZDU0N2JjN2Y5MDFjMDZjNjUz
OTg2Mjg5ZDM1YjU0NTIwNTAzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC05MzgsNiArOTM4LDEyIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHsKICAgICB9CiAKKyAgICBpbmxpbmUgQXdhaXRFeHByTm9kZTo6QXdhaXRFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogYXJndW1l
bnQpCisgICAgICAgIDogRXhwcmVzc2lvbk5vZGUobG9jYXRpb24pCisgICAgICAgICwgbV9hcmd1
bWVudChhcmd1bWVudCkKKyAgICB7CisgICAgfQorCiAgICAgaW5saW5lIENsYXNzRGVjbE5vZGU6
OkNsYXNzRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lv
bk5vZGUqIGNsYXNzRGVjbGFyYXRpb24pCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlv
bikKICAgICAgICAgLCBtX2NsYXNzRGVjbGFyYXRpb24oY2xhc3NEZWNsYXJhdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA1OGUyNzQ1M2RkMDA1Mzc2NzAzYmQzODM3
OTViNGEwMTEzNWY4NjA0Li5iMGM0OTdhMGVlYjU3NzhkMGVlZmY3ZjI1NDdiMzgyZjE0ZDk2YTVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0yMDA3LDYgKzIwMDcsMTgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgbV9kZWxlZ2F0ZTsKICAgICB9OwogCisg
ICAgY2xhc3MgQXdhaXRFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSwgcHVi
bGljIFRocm93YWJsZUV4cHJlc3Npb25EYXRhIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEF3YWl0
RXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50
KTsKKworICAgICAgICBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBt
X2FyZ3VtZW50OyB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWdpc3RlcklEKiBlbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisg
ICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2FyZ3VtZW50OworICAgIH07CisKICAgICBjbGFzcyBD
bGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVmFyaWFi
bGVFbnZpcm9ubWVudE5vZGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdXNpbmcgUGFyc2VyQXJl
bmFEZWxldGFibGU6Om9wZXJhdG9yIG5ldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCA0MzcwOGZmYWUyNjQ5MzkyOGQ1YjIxMzk0MjI4ZmM2Y2MyZjg4OWM2Li5m
NGY5NjVjZDRjN2Q0OGNiOTAwODk1NWRlNzk5NjQ1NjliZWNmYzY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIHNlbWFu
dGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4oKSwgIicg
YXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKICAgICBpZiAobV90b2tlbi5tX3R5cGUgJiBLZXl3b3Jk
VG9rZW5GbGFnKSBcCiAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IHVzZSB0aGUga2V5d29y
ZCAnIiwgZ2V0VG9rZW4oKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKKyAgICBpZiAoaXNE
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9rZW4pKSBcCisgICAgICAgIHNlbWFudGljRmFp
bCgiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0UmVhc29uKCkpOyBcCiB9IHdoaWxlICgwKQogCiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwpAQCAtMjU2LDE1ICsyNTgsMTUgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAg
ICBzY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBh
cnNlUGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rp
b25QYXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkpOwogCi0gICAgYm9vbCBpc0Fy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IGZhbHNlOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24gPSBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Cb2R5TW9kZSAmJiAhbWF0Y2goT1BFTkJSQUNFKTsKICAgICBpZiAobV9sZXhl
ci0+aXNSZXBhcnNpbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxB
U1RCdWlsZGVyPiBmdW5jdGlvbkluZm87Ci0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkKKyAgICAgICAgaWYgKFNvdXJjZVBhcnNlTW9k
ZVNldChTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1v
ZGUpIHx8IGlzQXN5bmNGdW5jdGlvbkJvZHlQYXJzZU1vZGUocGFyc2VNb2RlKSkKICAgICAgICAg
ICAgIG1fcGFyYW1ldGVycyA9IGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgZnVu
Y3Rpb25JbmZvLnBhcmFtZXRlckNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9w
YXJhbWV0ZXJzID0gcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoY29udGV4dCwgcGFyc2VNb2RlLCBm
dW5jdGlvbkluZm8pOwogCi0gICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpBcnJvd0Z1bmN0aW9uTW9kZSAmJiAhaGFzRXJyb3IoKSkgeworICAgICAgICBpZiAoU291cmNl
UGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAh
aGFzRXJyb3IoKSkgewogICAgICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNvdWxkIGhhdmUg
YW4gZXJyb3Igd2lsZSByZXBhcnNpbmcgaXMgaWYgd2UgcnVuIG91dCBvZiBzdGFjayBzcGFjZS4K
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKICAgICAg
ICAgICAgIG5leHQoKTsKQEAgLTI4MSwxNiArMjgzLDE2IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJz
ZU1vCiAgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gbnVsbHB0cjsKICAgICAv
LyBUaGUgb25seSB3YXkgd2UgY2FuIGVycm9yIHRoaXMgZWFybHkgaXMgaWYgd2UgcmVwYXJzZSBh
IGZ1bmN0aW9uIGFuZCB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgIGlmICghaGFzRXJy
b3IoKSkgewotICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCisgICAg
ICAgIGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBhcnNlTW9kZSkpCisgICAg
ICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIHBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIENoZWNr
Rm9yU3RyaWN0TW9kZSk7CisgICAgICAgIGVsc2UgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHBy
ZXNzaW9uKQogICAgICAgICAgICAgc291cmNlRWxlbWVudHMgPSBwYXJzZUFycm93RnVuY3Rpb25T
aW5nbGVFeHByZXNzaW9uQm9keVNvdXJjZUVsZW1lbnRzKGNvbnRleHQpOwogICAgICAgICBlbHNl
IGlmIChpc01vZHVsZVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgc291cmNlRWxl
bWVudHMgPSBwYXJzZU1vZHVsZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIHBhcnNlTW9kZSk7Ci0g
ICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgc291cmNl
RWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwg
Q2hlY2tGb3JTdHJpY3RNb2RlKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJp
Y3RNb2RlKTsKLSAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKQorICAgICAgICAgICAgc291
cmNlRWxlbWVudHMgPSBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4
dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc291cmNl
RWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9k
ZSk7CiAgICAgfQogCiAgICAgYm9vbCB2YWxpZEVuZGluZyA9IGNvbnN1bWUoRU9GVE9LKTsKQEAg
LTMxMCw3ICszMTIsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29u
c3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIGZvciAoYXV0byYg
ZW50cnkgOiBjYXB0dXJlZFZhcmlhYmxlcykKICAgICAgICAgdmFyRGVjbGFyYXRpb25zLm1hcmtW
YXJpYWJsZUFzQ2FwdHVyZWQoZW50cnkpOwogCi0gICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpIHsKKyAgICBpZiAoU291cmNl
UGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZSkuY29udGFpbnMocGFyc2VNb2RlKSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2Rl
KHBhcnNlTW9kZSkpIHsKICAgICAgICAgaWYgKHNjb3BlLT51c2VkVmFyaWFibGVzQ29udGFpbnMo
bV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwoKSkpCiAgICAgICAgICAgICBjb250
ZXh0LnByb3BhZ2F0ZUFyZ3VtZW50c1VzZSgpOwogICAgIH0KQEAgLTM1NCwyMSArMzU2LDEwIEBA
IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxlbWVudHMq
IHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiB7Ci0g
ICAgYm9vbCBpc09wZW5QYXJlbiA9IG1hdGNoKE9QRU5QQVJFTik7Ci0gICAgYm9vbCBpc0lkZW50
ID0gbWF0Y2goSURFTlQpOwotICAgIAotICAgIGlmICghaXNPcGVuUGFyZW4gJiYgIWlzSWRlbnQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFs
c2U7Ci0gICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9p
bnQoKTsKLSAgICAgICAgCi0gICAgaWYgKGlzSWRlbnQpIHsKLSAgICAgICAgbmV4dCgpOwotICAg
ICAgICBpc0Fycm93RnVuY3Rpb24gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBSRUxFQVNFX0FTU0VSVChpc09wZW5QYXJlbik7CisgICAgaWYgKG1hdGNoKE9Q
RU5QQVJFTikpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKICAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dG
dW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKICAgICAg
ICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9X
RlVOQ1RJT04pOwpAQCAtMzgwLDE0ICszNzEsMjIgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycygpCiAKICAgICAgICAgICAgIHVuc2lnbmVkIHBhcmFt
ZXRlcnNDb3VudCA9IDA7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgc3ludGF4Q2hlY2tlci5jcmVhdGVGb3JtYWxQYXJh
bWV0ZXJMaXN0KCksIHBhcmFtZXRlcnNDb3VudCkgJiYgY29uc3VtZShDTE9TRVBBUkVOKSAmJiBt
YXRjaChBUlJPV0ZVTkNUSU9OKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgcG9w
U2NvcGUoZmFrZVNjb3BlLCBzeW50YXhDaGVja2VyLk5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CiAg
ICAgICAgIH0KKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKICAgICB9Ci0gICAgICAgIAotICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Ci0gICAgICAgIAotICAg
IHJldHVybiBpc0Fycm93RnVuY3Rpb247CisKKyAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigp
KSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24g
PSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKyAgICB9
CisKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CkBAIC01NDAsNiArNTM5LDUwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdlbmVyYXRvCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9k
ZSBtb2RlKQoreworICAgIEFTU0VSVChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKHBh
cnNlTW9kZSkpOworICAgIGF1dG8gc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJj
ZUVsZW1lbnRzKCk7CisKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2Vu
U3RhcnQoKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7Cisg
ICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIGludCBmdW5jdGlv
bk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpbnQgcGFy
YW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworCisgICAgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgIGluZm8ubmFtZSA9ICZtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICBjcmVhdGVHZW5lcmF0b3JQYXJh
bWV0ZXJzKGNvbnRleHQsIGluZm8ucGFyYW1ldGVyQ291bnQpOworICAgIGluZm8uc3RhcnRPZmZz
ZXQgPSBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgaW5mby5zdGFydExpbmUgPSB0b2tlbkxpbmUoKTsK
KyAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBwYXJzZU1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlCisgICAgICAgID8gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICA6IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOworICAgIHsKKyAgICAgICAgQXV0b1BvcFNjb3BlUmVm
IGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgICAgICBhc3lu
Y0Z1bmN0aW9uQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwor
ICAgICAgICBTeW50YXhDaGVja2VyIGFzeW5jRnVuY3Rpb25Db250ZXh0KGNvbnN0X2Nhc3Q8Vk0q
PihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisgICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbikKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlQXJyb3dGdW5jdGlvblNp
bmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoYXN5bmNGdW5jdGlvbkNvbnRleHQpLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGFycm93IGZ1bmN0aW9uIik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYXN5bmNG
dW5jdGlvbkNvbnRleHQsIG1vZGUpLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGFzeW5jIGZ1
bmN0aW9uIik7CisgICAgICAgIHBvcFNjb3BlKGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUsIFRyZWVC
dWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOworICAgIH0KKyAgICBpbmZvLmJvZHkgPSBj
b250ZXh0LmNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlv
bigpLCBzdGFydENvbHVtbiwgdG9rZW5Db2x1bW4oKSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgQ29uc3RydWN0
b3JLaW5kOjpOb25lLCBtX3N1cGVyQmluZGluZywgaW5mby5wYXJhbWV0ZXJDb3VudCwgaW5uZXJQ
YXJzZU1vZGUsIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKTsKKworICAgIGluZm8uZW5k
TGluZSA9IHRva2VuTGluZSgpOworICAgIGluZm8uZW5kT2Zmc2V0ID0gaXNBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb24gPyB0b2tlbkxvY2F0aW9uKCkuZW5kT2Zmc2V0IDogbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgIGluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uID0gc3RhcnRDb2x1bW47
CisKKyAgICBhdXRvIGZ1bmN0aW9uRXhwciA9IGNvbnRleHQuY3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkoc3RhcnRMb2NhdGlvbiwgaW5mbywgaW5uZXJQYXJzZU1vZGUpOworICAgIGF1dG8gc3RhdGVt
ZW50ID0gY29udGV4dC5jcmVhdGVFeHByU3RhdGVtZW50KHN0YXJ0TG9jYXRpb24sIGZ1bmN0aW9u
RXhwciwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CisgICAgY29udGV4dC5h
cHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIHN0YXRlbWVudCk7CisKKyAgICByZXR1cm4g
c291cmNlRWxlbWVudHM7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQogewog
ICAgIC8vIFRoZSBncmFtbWFyIGlzIGRvY3VtZW50ZWQgaGVyZToKQEAgLTU2Miw3ICs2MDUsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHVu
ZGVyIGEgZ2VuZXJhdG9yIGNvbnRleHQsIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBmb3IgInlpZWxk
IiByZXR1cm5zIGBmYWxzZWAuCiAgICAgICAgICAgICAvLyBCdXQgd2Ugd291bGQgbGlrZSB0byBl
bnRlciBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gYW5kIHJhaXNlIGFuIGVycm9yIHVuZGVyIHRo
ZSBjb250ZXh0IG9mIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbgogICAgICAgICAgICAgLy8gdG8g
cmFpc2UgY29uc2lzdGVudCBlcnJvcnMgYmV0d2VlbiAidmFyIiwgImNvbnN0IiBhbmQgImxldCIu
Ci0gICAgICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZ
SUVMRCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCisgICAg
ICAgICAgICBpZiAoIShtYXRjaChJREVOVCkgfHwgbWF0Y2goTEVUKSB8fCBtYXRjaChZSUVMRCkg
fHwgbWF0Y2goQVdBSVQpKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNL
RVQpKQogICAgICAgICAgICAgICAgIHNob3VsZFBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiA9IGZh
bHNlOwogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICB9
CkBAIC01ODIsNiArNjI1LDIxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBJREVOVDoKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBpZiAoVU5MSUtFTFkoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgLy8gRWFnZXJseSBwYXJzZSBhcyBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24uIFRoaXMgaXMgdGhlIHVuY29tbW9uIGNhc2UsCisgICAg
ICAgICAgICAvLyBidXQgY291bGQgYmUgbWlzdGFrZW5seSBwYXJzZWQgYXMgYW4gQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24uCisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAoVU5MSUtF
TFkobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkgeworICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CisgICAgICAgIEZBTExUSFJP
VUdIOworI2VuZGlmCisgICAgY2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAg
IC8vIFRoaXMgaXMgYSBjb252ZW5pZW50IHBsYWNlIHRvIG5vdGljZSBsYWJlbGVkIHN0YXRlbWVu
dHMKICAgICAgICAgLy8gKGV2ZW4gdGhvdWdoIHdlIGFsc28gcGFyc2UgdGhlbSBhcyBub3JtYWwg
c3RhdGVtZW50cykKQEAgLTY5MCw2ICs3NDgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVjbAog
ICAgICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmllcigpKSB7CiAgICAgICAgICAgICBmYWlsSWZU
cnVlKG1hdGNoKExFVCkgJiYgKGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6Okxl
dERlY2xhcmF0aW9uIHx8IGRlY2xhcmF0aW9uVHlwZSA9PSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0
RGVjbGFyYXRpb24pLCAKICAgICAgICAgICAgICAgICAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlk
ZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJD
YW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKGRl
Y2xhcmF0aW9uVHlwZSksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsK
ICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHZhclN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CiAgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOwogICAgICAgICAgICAgaWRlbnRTdGFydCA9IHZhclN0YXJ0OwpAQCAtMTAxMSw2
ICsxMDcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzUGF0dGVybiwg
RXJyb3JJbmRpY2F0ZXNOb3RoaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRy
dWVJZlN0cmljdChpc0V2YWxPckFyZ3VtZW50cywgIkNhbm5vdCBtb2RpZnkgJyIsIHByb3BlcnR5
TmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXQoaWRlbnRpZmllclRva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwg
ZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dl
ZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgICAgICAgICAgICAgaW5uZXJQYXR0
ZXJuID0gY3JlYXRlQmluZGluZ1BhdHRlcm4oY29udGV4dCwga2luZCwgZXhwb3J0VHlwZSwgKnBy
b3BlcnR5TmFtZSwgaWRlbnRpZmllclRva2VuLCBiaW5kaW5nQ29udGV4dCwgZHVwbGljYXRlSWRl
bnRpZmllcik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEw
NzksNiArMTEzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlCiAgICAgICAgICAgICBmYWls
V2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGEgcGFyYW1ldGVyIHBhdHRlcm4gb3IgYSAnKScgaW4gcGFy
YW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQogICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKExFVCkg
JiYgKGtpbmQgPT0gRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9MZXQgfHwga2luZCA9
PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0NvbnN0KSwgIkNhbid0IHVzZSAnbGV0
JyBhcyBhbiBpZGVudGlmaWVyIG5hbWUgZm9yIGEgTGV4aWNhbERlY2xhcmF0aW9uIik7CisgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tl
biksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIGRlc3RydWN0dXJpbmdLaW5kVG9WYXJpYWJs
ZUtpbmROYW1lKGtpbmQpLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7
CiAgICAgICAgIHBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBl
eHBvcnRUeXBlLCAqbV90b2tlbi5tX2RhdGEuaWRlbnQsIG1fdG9rZW4sIGJpbmRpbmdDb250ZXh0
LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsK
QEAgLTE2MzEsNDMgKzE2OTIsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBy
ZXN1bHQgPSBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oY29udGV4dCwgRGVjbGFyYXRpb25UeXBl
OjpWYXJEZWNsYXJhdGlvbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRlVOQ1RJT046IHsK
LSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBh
cmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCwgIkZ1bmN0aW9uIGRlY2xh
cmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9jayBzdGF0ZW1lbnRzIG9yIGF0IHRo
ZSB0b3AgbGV2ZWwgb2YgYSBwcm9ncmFtIik7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFNjb3Bl
KCktPmlzRnVuY3Rpb24oKSkgewotICAgICAgICAgICAgICAgIC8vIEFueSBmdW5jdGlvbiBkZWNs
YXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0
J3MKLSAgICAgICAgICAgICAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBp
biBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKLSAgICAgICAgICAgICAg
ICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxv
Y2sgc3RhdGVtZW50LgotICAgICAgICAgICAgICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEg
InZhciIuIEZvciBleGFtcGxlOgotICAgICAgICAgICAgICAgIC8vIGZ1bmN0aW9uIGEoKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KLSAgICAg
ICAgICAgICAgICAvLyB9Ci0gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6
Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAg
ICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KLSAgICAgICAgICAgICAgICAvLyB9
Ci0gICAgICAgICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwotICAgICAgICAgICAgICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7
Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOwot
ICAgICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OwotICAgICAgICAgICAgICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOwotCi0gICAgICAgICAg
ICAgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihj
b250ZXh0KTsKLSAgICAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwotICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uLCAiRXhwZWN0ZWQgdmFsaWQgZnVuY3Rpb24gc3RhdGVt
ZW50IGFmdGVyICdmdW5jdGlvbicga2V5d29yZCIpOwotICAgICAgICAgICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKLSAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50
cywgZnVuY3Rpb24pOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxv
Y2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5F
bmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1l
bnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKLSAgICAg
ICAgICAgICAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFy
aWFibGVJbmZvKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gV2Ug
b25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9kZS4gT3Ro
ZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKLSAgICAgICAgICAgICAgICAvLyB0byBob2lzdGluZyBiZWhh
dmlvci4KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NTgxMwotICAgICAgICAgICAgICAgIERlcHRoTWFuYWdlciBzdGF0
ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7Ci0gICAgICAgICAgICAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDE7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xh
cmF0aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIGZhaWxXaXRoTWVzc2FnZSgiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93
ZWQgaW5zaWRlIGJsb2NrcyBvciBzd2l0Y2ggc3RhdGVtZW50cyBpbiBzdHJpY3QgbW9kZSIpOwor
ICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gcGFy
c2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBhcmVudEFs
bG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KICAgICBjYXNlIFNFTUlDT0xPTjogewpAQCAtMTcxOSw2ICsxNzQ1LDEyIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIC8vIFRoZXNlIHRva2VucyBpbXBseSB0aGUgZW5kIG9m
IGEgc2V0IG9mIHNvdXJjZSBlbGVtZW50cwogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIElE
RU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlm
IChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMgJiYgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChjb250
ZXh0LCByZXN1bHQsIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkp
KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIEZBTExUSFJPVUdIOworI2VuZGlmCisgICAg
Y2FzZSBBV0FJVDoKICAgICBjYXNlIFlJRUxEOiB7CiAgICAgICAgIGJvb2wgYWxsb3dGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQgPSBmYWxzZTsKICAgICAgICAgcmVzdWx0ID0gcGFyc2VF
eHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudChjb250ZXh0LCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRp
b25Bc1N0YXRlbWVudCk7CkBAIC0xNzQ0LDYgKzE3NzYsNjggQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmUKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5
bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQorewor
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShzdHJpY3RNb2RlKCksICJGdW5jdGlvbiBkZWNsYXJhdGlv
bnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGlu
IHN0cmljdCBtb2RlIik7CisgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93
ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dy
YW0iKTsKKyAgICBpZiAoIWN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAg
Ly8gV2Ugb25seSBpbXBsZW1lbnQgYW5uZXggQi4zLjMgaWYgd2UncmUgaW4gZnVuY3Rpb24gbW9k
ZS4gT3RoZXJ3aXNlLCB3ZSBmYWxsIGJhY2sKKyAgICAgICAgLy8gdG8gaG9pc3RpbmcgYmVoYXZp
b3IuCisgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU1ODEzCisgICAgICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0
ZW1lbnREZXB0aCk7CisgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICBpZiAo
aXNBc3luYykKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
bihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0KTsKKyAgICB9CisKKyAgICAvLyBBbnkgZnVuY3Rpb24gZGVjbGFyYXRpb24gdGhhdCBpc24n
dCBpbiBhIGJsb2NrIGlzIGEgc3ludGF4IGVycm9yIHVubGVzcyBpdCdzCisgICAgLy8gaW4gYW4g
aWYvZWxzZSBzdGF0ZW1lbnQuIElmIGl0J3MgaW4gYW4gaWYvZWxzZSBzdGF0ZW1lbnQsIHdlIHdp
bGwgbWFnaWNhbGx5CisgICAgLy8gdHJlYXQgaXQgYXMgaWYgdGhlIGlmL2Vsc2Ugc3RhdGVtZW50
IGlzIGluc2lkZSBhIGJsb2NrIHN0YXRlbWVudC4KKyAgICAvLyB0byB0aGUgdmVyeSB0b3AgbGlr
ZSBhICJ2YXIiLiBGb3IgZXhhbXBsZToKKyAgICAvLyBmdW5jdGlvbiBhKCkgeworICAgIC8vICAg
ICBpZiAoY29uZCkgZnVuY3Rpb24gZm9vKCkgeyB9CisgICAgLy8gfQorICAgIC8vIHdpbGwgYmUg
cmV3cml0dGVuIGFzOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25k
KSB7IGZ1bmN0aW9uIGZvbygpIHsgfSB9CisgICAgLy8gfQorICAgIEF1dG9Qb3BTY29wZVJlZiBi
bG9ja1Njb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBibG9ja1Njb3BlLT5zZXRJc0xleGlj
YWxTY29wZSgpOworICAgIGJsb2NrU2NvcGUtPnByZXZlbnRWYXJEZWNsYXJhdGlvbnMoKTsKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBpbnQgc3Rh
cnQgPSB0b2tlbkxpbmUoKTsKKworICAgIFRyZWVTdGF0ZW1lbnQgZnVuY3Rpb24gPSAwOworICAg
IGlmICghaXNBc3luYykKKyAgICAgICAgZnVuY3Rpb24gPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24oY29udGV4dCk7CisgICAgZWxzZQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlQXN5bmNGdW5j
dGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIHByb3BhZ2F0ZUVycm9yKCk7CisgICAgZmFp
bElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0
ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVs
ZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOworICAgIGNvbnRleHQuYXBw
ZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7CisgICAgVHJlZVN0YXRlbWVu
dCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUJsb2NrU3RhdGVtZW50KGxvY2F0aW9uLCBzb3VyY2VF
bGVtZW50cywgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSwgY3VycmVudFNjb3Bl
KCktPmZpbmFsaXplTGV4aWNhbEVudmlyb25tZW50KCksIGN1cnJlbnRTY29wZSgpLT50YWtlRnVu
Y3Rpb25EZWNsYXJhdGlvbnMoKSk7CisgICAgcG9wU2NvcGUoYmxvY2tTY29wZSwgVHJlZUJ1aWxk
ZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBi
b29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCkKK3sKKyAgICBB
U1NFUlQoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KTsKKyAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgbmV4
dCgpOworICAgIGlmIChtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9y
KCkpIHsKKyAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgcmVzdWx0
ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIGlzQXN5bmMsIHBh
cmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKyAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBh
cmFtZXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IGxp
c3QsIHVuc2lnbmVkJiBwYXJhbWV0ZXJDb3VudCkKIHsKICNkZWZpbmUgZmFpbElmRHVwbGljYXRl
SWZWaW9sYXRpb24oKSBcCkBAIC0xNzY2LDYgKzE4NjAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhU
cmVlQgogICAgICAgICAKICAgICAgICAgaWYgKG1hdGNoKERPVERPVERPVCkpIHsKICAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSghbV9wYXJzZXJTdGF0
ZS5hbGxvd0F3YWl0ICYmIG1hdGNoKEFXQUlUKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgcGFy
YW1ldGVyIG5hbWUgaW4gYW4gYXN5bmMgZnVuY3Rpb24iKTsKICAgICAgICAgICAgIFRyZWVEZXN0
cnVjdHVyaW5nUGF0dGVybiBkZXN0cnVjdHVyaW5nUGF0dGVybiA9IHBhcnNlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4oY29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9QYXJhbWV0
ZXJzLCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgJmR1cGxpY2F0ZVBhcmFtZXRlciwgJmhhc0Rl
c3RydWN0dXJpbmdQYXR0ZXJuKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAg
ICAgICAgICBwYXJhbWV0ZXIgPSBjb250ZXh0LmNyZWF0ZVJlc3RQYXJhbWV0ZXIoZGVzdHJ1Y3R1
cmluZ1BhdHRlcm4sIHBhcmFtZXRlckNvdW50KTsKQEAgLTE4MzMsNiArMTkyOCwxNCBAQCBzdGF0
aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9kZSBtb2Rl
KQogICAgICAgICByZXR1cm4gImdlbmVyYXRvciBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgogICAgICAgICByZXR1cm4gImFycm93IGZ1bmN0
aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZToKKyAgICAgICAgcmV0
dXJuICJhc3luYyBmdW5jdGlvbiI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0
aG9kTW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBtZXRob2QiOworICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZToKKyAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZToKKyAgICAgICAgcmV0dXJuICJhc3luYyBh
cnJvdyBmdW5jdGlvbiI7CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlOgog
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMTg0NSwxMiArMTk0OCwxMiBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKFNvdXJjZVBhcnNlTW9k
ZSBtb2RlKQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXIsIGNsYXNzIEZ1bmN0aW9uSW5mb1R5cGU+IHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFy
YW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIG1vZGUsIEZ1bmN0
aW9uSW5mb1R5cGUmIGZ1bmN0aW9uSW5mbykKIHsKLSAgICBSRUxFQVNFX0FTU0VSVChtb2RlICE9
IFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUFuYWx5emVNb2RlICYmIG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFs
dWF0ZU1vZGUpOworICAgIFJFTEVBU0VfQVNTRVJUKCEoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJj
ZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1v
ZGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlKS5jb250YWlucyhtb2RlKSkp
OwogICAgIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcmFtZXRlckxpc3QgPSBjb250ZXh0LmNy
ZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKTsKICAgICBTZXRGb3JTY29wZTxGdW5jdGlvblBhcnNl
UGhhc2U+IGZ1bmN0aW9uUGFyc2VQaGFzZVBvaXNvbmVyKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25Q
YXJzZVBoYXNlLCBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMpOwogICAgIAotICAgIGlm
IChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpIHsKLSAgICAgICAg
aWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICBpZiAoVU5MSUtF
TFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUp
KSkpIHsKKyAgICAgICAgaWYgKCFtYXRjaFNwZWNJZGVudGlmaWVyKCkgJiYgIW1hdGNoKE9QRU5Q
QVJFTikpIHsKICAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICAgICAgZmFpbFdpdGhNZXNz
YWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKICAgICAg
ICAgfSBlbHNlIHsKQEAgLTE5NDEsNyArMjA0NCw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAKICAgICBTY29wZVJlZiBwYXJlbnRTY29wZSA9IGN1cnJlbnRTY29wZSgpOwogCi0gICAgYm9v
bCB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSBjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKTsK
KyAgICBib29sIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lID0gaXNEaXNhbGxvd2VkSWRl
bnRpZmllckF3YWl0KG1fdG9rZW4pOworICAgIGNvbnN0IGNoYXIqIGlzRGlzYWxsb3dlZEF3YWl0
RnVuY3Rpb25OYW1lUmVhc29uID0gaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPyBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkgOiBudWxscHRyOworCiAgICAgQXV0b1BvcFNj
b3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2Nv
cGUtPnNldFNvdXJjZVBhcnNlTW9kZShtb2RlKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRFeHBl
Y3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1cGVyQmluZGluZyk7CkBAIC0xOTgzLDcgKzIwODgs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICAgICAgQVNTRVJUKGVuZExvY2F0
aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZTsKLSAg
ICAgICAgICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUp
CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5
cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlC
bG9jazsKQEAgLTIwMjYsNyArMjEzMSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAg
ICBTeW50YXhDaGVja2VyIHN5bnRheENoZWNrZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xl
eGVyLmdldCgpKTsKIAotICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5j
dGlvbk1vZGUpIHsKKyAgICBpZiAoVU5MSUtFTFkoKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbk1vZGUpLmNvbnRhaW5zKG1vZGUpKSkpIHsKICAgICAgICAgc3RhcnRMb2NhdGlvbiA9
IHRva2VuTG9jYXRpb24oKTsKICAgICAgICAgZnVuY3Rpb25JbmZvLnN0YXJ0TGluZSA9IHRva2Vu
TGluZSgpOwogICAgICAgICBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBAIC0yMDQxLDcg
KzIxNDYsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB7CiAgICAgICAgICAg
ICAvLyBQYXJzZSBmb3JtYWwgcGFyYW1ldGVycyB3aXRoIFsrWWllbGRdIHBhcmFtZXRlcml6YXRp
b24sIGluIG9yZGVyIHRvIGJhbiBZaWVsZEV4cHJlc3Npb25zCiAgICAgICAgICAgICAvLyBpbiBB
cnJvd0Zvcm1hbFBhcmFtZXRlcnMsIHBlciBFUzYgI3NlYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0
aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycy4KLSAgICAgICAgICAgIFNjb3BlOjpN
YXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2Nv
cGUsIHVwcGVyU2NvcGVJc0dlbmVyYXRvcik7CisgICAgICAgICAgICBTY29wZTo6TWF5YmVQYXJz
ZUFzR2VuZXJhdG9yRm9yU2NvcGUgcGFyc2VBc0dlbmVyYXRvcihmdW5jdGlvblNjb3BlLCBwYXJl
bnRTY29wZS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgICAgICBTZXRGb3JTY29wZTxib29sPiBv
dmVycmlkZUFsbG93QXdhaXQobV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0LCAhaXNBc3luY0Z1bmN0
aW9uUGFyc2VNb2RlKG1vZGUpKTsKICAgICAgICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAgICAgICAgICAgICBwcm9wYWdh
dGVFcnJvcigpOwogICAgICAgICB9CkBAIC0yMDczLDIxICsyMTc5LDI4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkCiAgICAgICAgIC8vIEdlbmVyYXRvckV4cHJlc3Npb24gOgogICAgICAgICAv
LyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVsZF1vcHQgKCBGb3JtYWxQYXJh
bWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAgICAgIC8vCi0gICAgICAgIC8v
IFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYWNjZXB0ICJ5aWVsZCIgZXZlbiBp
biB0aGUgY29udGV4dCBvZiBnZW5lcmF0b3IuCi0gICAgICAgIGlmIChmdW5jdGlvbkRlZmluaXRp
b25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgIHVwcGVyU2Nv
cGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICAvLyBUaGUgbmFtZSBvZiBGdW5jdGlvbkV4
cHJlc3Npb24gYW5kIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBl
dmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KKyAgICAgICAgYm9vbCB1cHBlclNjb3Bl
SXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgaWYgKCEoZnVuY3Rpb25EZWZpbml0aW9uVHlw
ZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uICYmIFNvdXJjZVBhcnNlTW9k
ZVNldChTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKQorICAgICAgICAgICAgdXBwZXJT
Y29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29wZSgxKS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAg
ICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkg
ewogICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4g
c3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5p
dGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBj
YWxsZXIgc2lkZS4iKTsKICAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVy
U2NvcGVJc0dlbmVyYXRvcikpIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFz
dEZ1bmN0aW9uTmFtZSA9IGZ1bmN0aW9uSW5mby5uYW1lOworICAgICAgICAgICAgICAgIGlmIChV
TkxJS0VMWShpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSkpCisgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9u
RGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUobW9kZSksICJDYW5ub3QgZGVjbGFyZSBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnICIsIGlz
RGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lUmVhc29uKTsKKyAgICAgICAgICAgICAgICBlbHNl
IGlmIChpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlU
KSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4
cHJlc3Npb24pCisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xh
cmUgYXN5bmMgZnVuY3Rpb24gbmFtZWQgJ2F3YWl0JyIpOwogICAgICAgICAgICAgICAgIG5leHQo
KTsKICAgICAgICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQogICAgICAg
ICAgICAgICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZUNh
bGxlZShmdW5jdGlvbkluZm8ubmFtZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmlj
dE1vZGUsICInIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
ICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVp
cmVtZW50czo6TmFtZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAm
JiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAg
ICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEg
bmFtZSIpOworICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1l
Iik7CisgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsICJBc3luYyBmdW5jdGlvbiBzdGF0ZW1lbnRz
IG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CiAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjEwNSw4ICsyMjE4LDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgaWYgKGxvYWRDYWNoZWRGdW5jdGlvbigpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJz
KHN5bnRheENoZWNrZXIsIG1vZGUsIGZ1bmN0aW9uSW5mbyk7Ci0gICAgICAgIHByb3BhZ2F0ZUVy
cm9yKCk7CisgICAgICAgIHsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRl
QWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJz
ZU1vZGUobW9kZSkpOworICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4
Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKKyAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9y
KCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwg
IkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CiAgICAgICAgIApAQCAtMjE1Myw5ICsyMjY5LDE1
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHJldHVybiBwYXJzZUZ1bmN0aW9u
Qm9keShjb250ZXh0LCBzeW50YXhDaGVja2VyLCBzdGFydExvY2F0aW9uLCBzdGFydENvbHVtbiwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCwgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGZ1bmN0aW9uQm9keVR5cGUs
IGZ1bmN0aW9uSW5mby5wYXJhbWV0ZXJDb3VudCwgbW9kZSk7CiAgICAgfTsKIAotICAgIGlmICht
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgewor
ICAgIGlmIChtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSB8fCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKG1vZGUpKSB7CiAgICAgICAg
IEF1dG9Qb3BTY29wZVJlZiBnZW5lcmF0b3JCb2R5U2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwot
ICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKTsKKyAgICAgICAgU291cmNlUGFyc2VNb2RlIGlubmVy
UGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTsKKyAgICAgICAg
aWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKKyAgICAgICAgICAg
IGlubmVyUGFyc2VNb2RlID0gbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbk1vZGUKKyAgICAgICAgICAgICAgICA/IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uQm9keU1vZGUKKyAgICAgICAgICAgICAgICA6IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbkJvZHlNb2RlOworICAgICAgICB9CisgICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+
c2V0U291cmNlUGFyc2VNb2RlKGlubmVyUGFyc2VNb2RlKTsKICAgICAgICAgZ2VuZXJhdG9yQm9k
eVNjb3BlLT5zZXRDb25zdHJ1Y3RvcktpbmQoQ29uc3RydWN0b3JLaW5kOjpOb25lKTsKICAgICAg
ICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRFeHBlY3RlZFN1cGVyQmluZGluZyhleHBlY3RlZFN1
cGVyQmluZGluZyk7CiAKQEAgLTIxNzQsNyArMjI5Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoZnVuY3Rpb25JbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAm
JiByZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAg
ICAgICAgIEFTU0VSVChmdW5jdGlvbkluZm8ubmFtZSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJU
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFy
cm93RnVuY3Rpb25Nb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpLmNvbnRhaW5zKG1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUo
bW9kZSkpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+
YXJndW1lbnRzID09ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7
CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09
ICpmdW5jdGlvbkluZm8ubmFtZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBp
cyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CiAgICAgfQpAQCAt
MjI4OSw2ICsyNDExLDYwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiB9CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBFeHBvcnRUeXBlIGV4cG9ydFR5cGUsIERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQgZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCkKK3sKKyAgICBBU1NFUlQo
bWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2Nh
dGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQo
KTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5j
dGlvbkluZm87CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzIHJlcXVp
cmVtZW50cyA9IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6TmFtZWQ7CisgICAgaWYgKGRlY2xh
cmF0aW9uRGVmYXVsdENvbnRleHQgPT0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0
RGVmYXVsdCkgeworICAgICAgICAvLyBVbmRlciB0aGUgImV4cG9ydCBkZWZhdWx0IiBjb250ZXh0
LCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBkb2VzIG5vdCByZXF1aXJlIHRoZSBmdW5jdGlvbiBuYW1l
LgorICAgICAgICAvLworICAgICAgICAvLyAgICAgRXhwb3J0RGVjbGFyYXRpb246CisgICAgICAg
IC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgZXhwb3J0IGRlZmF1bHQgSG9pc3Rh
YmxlRGVjbGFyYXRpb25bfllpZWxkLCArRGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICAuLi4K
KyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEhvaXN0YWJsZURlY2xhcmF0aW9uW1lpZWxkLCBE
ZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uWz9ZaWVsZCwg
P0RlZmF1bHRdCisgICAgICAgIC8vICAgICAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bP1lpZWxk
LCA/RGVmYXVsdF0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEZ1bmN0aW9uRGVjbGFyYXRp
b25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAg
ICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzW35ZaWVsZF0gKSB7
IEZ1bmN0aW9uQm9keVt+WWllbGRdIH0KKyAgICAgICAgLy8KKyAgICAgICAgLy8gICAgIEdlbmVy
YXRvckRlY2xhcmF0aW9uW1lpZWxkLCBEZWZhdWx0XToKKyAgICAgICAgLy8gICAgICAgICAuLi4K
KyAgICAgICAgLy8gICAgICAgICBbK0RlZmF1bHRdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0
ZXJzWytZaWVsZF0gKSB7IEdlbmVyYXRvckJvZHkgfQorICAgICAgICAvLworICAgICAgICAvLyBJ
biB0aGlzIGNhc2UsIHdlIHVzZSAiKmRlZmF1bHQqIiBhcyB0aGlzIGZ1bmN0aW9uIGRlY2xhcmF0
aW9uJ3MgbmFtZS4KKyAgICAgICAgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1l
bnRzOjpOb25lOworICAgICAgICBmdW5jdGlvbkluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CisgICAgfQorCisg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIHJlcXVpcmVtZW50cywg
cGFyc2VNb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90
TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmlu
aXRpb25UeXBlOjpEZWNsYXJhdGlvbikpLCAiQ2Fubm90IHBhcnNlIHRoaXMgYXN5bmMgZnVuY3Rp
b24iKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbkluZm8ubmFtZSwgIkFzeW5jIGZ1bmN0aW9u
IHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworCisgICAgc3RkOjpwYWlyPERlY2xhcmF0
aW9uUmVzdWx0TWFzaywgU2NvcGVSZWY+IGZ1bmN0aW9uRGVjbGFyYXRpb24gPSBkZWNsYXJlRnVu
Y3Rpb24oZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNs
YXJhdGlvblJlc3VsdCA9IGZ1bmN0aW9uRGVjbGFyYXRpb24uZmlyc3Q7CisgICAgZmFpbElmVHJ1
ZUlmU3RyaWN0KGRlY2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWRT
dHJpY3RNb2RlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgZnVuY3Rpb24gbmFtZWQgJyIsIGZ1
bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CisgICAgaWYgKGRl
Y2xhcmF0aW9uUmVzdWx0ICYgRGVjbGFyYXRpb25SZXN1bHQ6OkludmFsaWREdXBsaWNhdGVEZWNs
YXJhdGlvbikKKyAgICAgICAgaW50ZXJuYWxGYWlsV2l0aE1lc3NhZ2UoZmFsc2UsICJDYW5ub3Qg
ZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiB0aGF0IHNoYWRvd3MgYSBsZXQvY29uc3QvY2xhc3Mv
ZnVuY3Rpb24gdmFyaWFibGUgJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0
cmljdCBtb2RlIik7CisgICAgaWYgKGV4cG9ydFR5cGUgPT0gRXhwb3J0VHlwZTo6RXhwb3J0ZWQp
IHsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShleHBvcnROYW1lKCpmdW5jdGlvbkluZm8u
bmFtZSksICJDYW5ub3QgZXhwb3J0IGEgZHVwbGljYXRlIGZ1bmN0aW9uIG5hbWU6ICciLCBmdW5j
dGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOworICAgICAgICBtX21vZHVsZVNjb3BlRGF0YS0+
ZXhwb3J0QmluZGluZygqZnVuY3Rpb25JbmZvLm5hbWUpOworICAgIH0KKworICAgIFRyZWVTdGF0
ZW1lbnQgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwg
ZnVuY3Rpb25JbmZvKTsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNyZWF0ZXNBU1QpCisgICAgICAg
IGZ1bmN0aW9uRGVjbGFyYXRpb24uc2Vjb25kLT5hcHBlbmRGdW5jdGlvbihnZXRNZXRhZGF0YShm
dW5jdGlvbkluZm8pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBk
ZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQogewogICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VO
KSk7CkBAIC0yNDA1LDggKzI1ODEsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAg
ICAgYm9vbCBpc0dldHRlciA9IGZhbHNlOwogICAgICAgICBib29sIGlzU2V0dGVyID0gZmFsc2U7
CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5j
TWV0aG9kID0gZmFsc2U7CiAgICAgICAgIGlmIChjb25zdW1lKFRJTUVTKSkKICAgICAgICAgICAg
IGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNlTWV0aG9kKTsKK3BhcnNl
TWV0aG9kOgogICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgICAgIG5hbWVk
S2V5d29yZDoKICAgICAgICAgY2FzZSBTVFJJTkc6CkBAIC0yNDE1LDEyICsyNTk1LDIwIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBJREVOVDoKKyAgICAgICAgY2FzZSBBV0FJVDoKICAgICAgICAg
ICAgIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICBBU1NFUlQoaWRl
bnQpOwogICAgICAgICAgICAgbmV4dCgpOwotICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAm
JiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChE
T1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKKyAgICAg
ICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgKG1hdGNoSWRlbnRp
Zmllck9yS2V5d29yZCgpIHx8IG1hdGNoKFNUUklORykgfHwgbWF0Y2goRE9VQkxFKSB8fCBtYXRj
aChJTlRFR0VSKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCkpKSB7CiAgICAgICAgICAgICAgICAgaXNH
ZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5nZXQ7CiAgICAgICAgICAgICAgICAgaXNT
ZXR0ZXIgPSAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5zZXQ7CisKKyNpZiBFTkFCTEUoRVMyMDE3
X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgqaWRl
bnQgPT0gcHJvcGVydHlOYW1lcy5hc3luYyAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSAm
JiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaXNBc3luY01ldGhvZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gcGFyc2VNZXRob2Q7CisgICAgICAgICAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBET1VCTEU6CkBAIC0yNDUyLDcgKzI2NDAsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNs
YXNzKFQKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9k
SW5mbzsKICAgICAgICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAm
JiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsKICAgICAgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7Ci0gICAg
ICAgICAgICBpZiAoaXNHZW5lcmF0b3IpIHsKKyAgICAgICAgICAgIGlmIChpc0FzeW5jTWV0aG9k
KSB7CisgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOworICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdwcm90
b3R5cGUnIik7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5j
IG1ldGhvZCBuYW1lZCAnY29uc3RydWN0b3InIik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlz
R2VuZXJhdG9yKSB7CiAgICAgICAgICAgICAgICAgaXNDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZTsKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgIkNhbm5vdCBkZWNsYXJlIGEgZ2Vu
ZXJhdG9yIG5hbWVkICdwcm90b3R5cGUnIik7CkBAIC0yNTM1LDYgKzI3MjgsMTAgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb25PckwKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9r
ZW4oKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQobG9j
YXRpb24sIGV4cHJlc3Npb24sIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUpOwog
ICAgICAgICB9CisKKyAgICAgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSkpCisgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KG1fdG9r
ZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBsYWJlbCAiLCBkaXNhbGxvd2VkSWRlbnRpZmll
ckF3YWl0UmVhc29uKCkpOworCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKICAgICAgICAgbmV4dCgpOwpAQCAtMjczMSw3ICsyOTI4LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1wb3J0U3BlY2lm
aWVyIFBhcnNlcjxMZXhlclQKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hDb250ZXh0dWFsS2V5
d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcyksICJFeHBlY3RlZCAnYXMnIGJlZm9yZSBpbXBv
cnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICAgICAgbmV4dCgpOwogCi0gICAgICAgIG1hdGNoT3JG
YWlsKElERU5ULCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xh
cmF0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoU3BlY0lkZW50aWZpZXIoKSwgIkV4
cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOwogICAg
ICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9r
ZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBuZXh0KCk7CkBAIC0yNzUzLDcgKzI5NTAsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRT
cGVjaWZpZXIgUGFyc2VyPExleGVyVAogCiAgICAgICAgIGlmIChtYXRjaENvbnRleHR1YWxLZXl3
b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSkgewogICAgICAgICAgICAgbmV4dCgpOwotICAg
ICAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9y
IHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNo
U3BlY0lkZW50aWZpZXIoKSwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9y
dCBkZWNsYXJhdGlvbiIpOwogICAgICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwog
ICAgICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAg
ICBuZXh0KCk7CkBAIC0yNzY0LDcgKzI5NjEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAog
ICAgIGNhc2UgSW1wb3J0U3BlY2lmaWVyVHlwZTo6RGVmYXVsdEltcG9ydDogewogICAgICAgICAv
LyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCi0g
ICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkpOworICAgICAgICBBU1NFUlQobWF0Y2hTcGVjSWRl
bnRpZmllcigpKTsKICAgICAgICAgbG9jYWxOYW1lVG9rZW4gPSBtX3Rva2VuOwogICAgICAgICBs
b2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgaW1wb3J0ZWROYW1lID0g
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPmRlZmF1bHRLZXl3b3JkOwpAQCAtMjc3Myw2ICsyOTcwLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6SW1w
b3J0U3BlY2lmaWVyIFBhcnNlcjxMZXhlclQKICAgICB9CiAgICAgfQogCisgICAgc2VtYW50aWNG
YWlsSWZUcnVlKGxvY2FsTmFtZVRva2VuLm1fdHlwZSA9PSBBV0FJVCwgIkNhbm5vdCB1c2UgJ2F3
YWl0JyBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUobG9jYWxOYW1lVG9rZW4ubV90eXBlICYgS2V5d29yZFRva2VuRmxhZywgIkNhbm5vdCB1c2Ug
a2V5d29yZCBhcyBpbXBvcnRlZCBiaW5kaW5nIG5hbWUiKTsKICAgICBEZWNsYXJhdGlvblJlc3Vs
dE1hc2sgZGVjbGFyYXRpb25SZXN1bHQgPSBkZWNsYXJlVmFyaWFibGUobG9jYWxOYW1lLCBEZWNs
YXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb24sIChzcGVjaWZpZXJUeXBlID09IEltcG9ydFNw
ZWNpZmllclR5cGU6Ok5hbWVzcGFjZUltcG9ydCkgPyBEZWNsYXJhdGlvbkltcG9ydFR5cGU6Oklt
cG9ydGVkTmFtZXNwYWNlIDogRGVjbGFyYXRpb25JbXBvcnRUeXBlOjpJbXBvcnRlZCk7CiAgICAg
aWYgKGRlY2xhcmF0aW9uUmVzdWx0ICE9IERlY2xhcmF0aW9uUmVzdWx0OjpWYWxpZCkgewpAQCAt
MjgwMyw3ICszMDAxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmEKICAgICB9CiAKICAgICBi
b29sIGlzRmluaXNoZWRQYXJzaW5nSW1wb3J0ID0gZmFsc2U7Ci0gICAgaWYgKG1hdGNoKElERU5U
KSkgeworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgLy8gSW1wb3J0
ZWREZWZhdWx0QmluZGluZyA6CiAgICAgICAgIC8vIEltcG9ydGVkQmluZGluZwogICAgICAgICBh
dXRvIHNwZWNpZmllciA9IHBhcnNlSW1wb3J0Q2xhdXNlSXRlbShjb250ZXh0LCBJbXBvcnRTcGVj
aWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0KTsKQEAgLTI5MjgsNiArMzEyNiwyMCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRXhwb3J0RGVjbGFyYQogICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQp
OwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBlbHNlIGlmIChVTkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikg
JiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkg
eworICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAh
bV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgICAgICBpZiAobWF0Y2goSURFTlQpKQorICAgICAgICAgICAgICAgICAgICBsb2Nh
bE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgICAgICAgICBpc0Z1bmN0aW9u
T3JDbGFzc0RlY2xhcmF0aW9uID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl
c3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAg
aWYgKCFsb2NhbE5hbWUpCiAgICAgICAgICAgICBsb2NhbE5hbWUgPSAmbV92bS0+cHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkuc3RhckRlZmF1bHRQcml2YXRlTmFtZSgpOwogCkBAIC0yOTM3
LDEwICszMTQ5LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICAgICAg
RGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICAgICAg
ICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKICAgICAgICAgICAgICAgICByZXN1bHQgPSBw
YXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCwgRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQs
IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OkV4cG9ydERlZmF1bHQpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobWF0Y2goQ0xBU1NUT0tFTikpOworICAg
ICAgICAgICAgfSBlbHNlIGlmIChtYXRjaChDTEFTU1RPS0VOKSkgewogICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RF
eHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CiAgICAg
ICAgICAgICB9CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChJREVOVCkgJiYgKm1f
dG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKTsKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVu
dERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERl
cHRoID0gMTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZh
dWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7CisgICAgICAgICAgICB9CisjZW5kaWYKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IGV4cHI7CiAgICAgICAg
ICAgICAvLwpAQCAtMzA1Nyw5ICszMjc3LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAg
ICAgICAgICAgICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgorI2lmIEVOQUJMRShFUzIwMTdf
QVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoaXNJZGVudGlm
aWVyT3JLZXl3b3JkKG1fdG9rZW4pICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXIt
PnByZXZUZXJtaW5hdG9yKCksICJFeHBlY3RlZCAnZnVuY3Rpb24nIGtleXdvcmQgZm9sbG93aW5n
ICdhc3luYycga2V5d29yZCB3aXRoIG5vIHByZWNlZGluZyBsaW5lIHRlcm1pbmF0b3IiKTsKKyAg
ICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihjb250
ZXh0LCBFeHBvcnRUeXBlOjpFeHBvcnRlZCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQg
ZWl0aGVyIGEgZGVjbGFyYXRpb24gb3IgYSB2YXJpYWJsZSBzdGF0ZW1lbnQiKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CisKICAgICAgICAgZmFpbElmRmFsc2UocmVzdWx0LCAiQ2Fu
bm90IHBhcnNlIHRoZSBkZWNsYXJhdGlvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVFeHBvcnRMb2NhbERlY2xhcmF0aW9uKGV4cG9ydExvY2F0aW9uLCByZXN1bHQpOwogICAgIH0K
QEAgLTMxMjEsMzQgKzMzNTAsNDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICBBU1NF
UlQoIWhhc0Vycm9yKCkpOwogICAgIAogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKworICAg
IGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgp
LT5pc0dlbmVyYXRvcigpKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNv
bnRleHQpOworCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24o
KTsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICBp
bnQgaW5pdGlhbEFzc2lnbm1lbnRDb3VudCA9IG1fcGFyc2VyU3RhdGUuYXNzaWdubWVudENvdW50
OwogICAgIGludCBpbml0aWFsTm9uTEhTQ291bnQgPSBtX3BhcnNlclN0YXRlLm5vbkxIU0NvdW50
OwogICAgIGJvb2wgbWF5YmVBc3NpZ25tZW50UGF0dGVybiA9IG1hdGNoKE9QRU5CUkFDRSkgfHwg
bWF0Y2goT1BFTkJSQUNLRVQpOwogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBB
UkVOKTsKLSAgICBib29sIGlzVmFsaWRBcnJvd0Z1bmN0aW9uU3RhcnQgPSBtYXRjaChPUEVOUEFS
RU4pIHx8IG1hdGNoKElERU5UKTsKKyAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lkZW50aWZp
ZXIoKSBoZXJlIHNpbmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5d29yZC4K
KyAgICAvLyBXaGV0aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRlZCBieSBp
c0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkuCisgICAgYm9vbCB3YXNJZGVudGlmaWVyT3JLZXl3
b3JkID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgbWF5YmVWYWxp
ZEFycm93RnVuY3Rpb25TdGFydCA9IHdhc09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVyT3JLZXl3
b3JkOwogICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBz
aXplX3QgdXNlZFZhcmlhYmxlc1NpemUgPSAwOworCisjaWYgIUVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCiAgICAgaWYgKHdhc09wZW5QYXJlbikgeworI2Vsc2UKKyAgICBpZiAo
d2FzT3BlblBhcmVuIHx8ICh3YXNJZGVudGlmaWVyT3JLZXl3b3JkICYmICptX3Rva2VuLm1fZGF0
YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYykpIHsKKyNlbmRpZgogICAgICAg
ICB1c2VkVmFyaWFibGVzU2l6ZSA9IGN1cnJlbnRTY29wZSgpLT5jdXJyZW50VXNlZFZhcmlhYmxl
c1NpemUoKTsKICAgICAgICAgY3VycmVudFNjb3BlKCktPnB1c2hVc2VkVmFyaWFibGVTZXQoKTsK
ICAgICB9CiAKLSAgICBpZiAobWF0Y2goWUlFTEQpICYmICFpc1lJRUxETWFza2VkQXNJREVOVChj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCi0gICAgICAgIHJldHVybiBwYXJzZVlpZWxk
RXhwcmVzc2lvbihjb250ZXh0KTsKLQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogCi0gICAgaWYgKGlzVmFsaWRBcnJvd0Z1bmN0
aW9uU3RhcnQgJiYgIW1hdGNoKEVPRlRPSykpIHsKKyAgICBpZiAobWF5YmVWYWxpZEFycm93RnVu
Y3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgewogICAgICAgICBib29sIGlzQXJyb3dGdW5j
dGlvblRva2VuID0gbWF0Y2goQVJST1dGVU5DVElPTik7CiAgICAgICAgIGlmICghbGhzIHx8IGlz
QXJyb3dGdW5jdGlvblRva2VuKSB7CiAgICAgICAgICAgICBTYXZlUG9pbnRXaXRoRXJyb3IgZXJy
b3JSZXN0b3JhdGlvblNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludEZvckVycm9yKCk7CiAgICAg
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBib29sIGlz
QXN5bmNBcnJvdyA9IGZhbHNlOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNsYXNzaWZpZXIu
aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSkpIHsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQobWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3lu
YykpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBpc0FzeW5jQXJy
b3cgPSAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGlmIChpc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAod2FzT3BlblBhcmVuKQorICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgaXNB
c3luY0Fycm93KQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+cmV2ZXJ0VG9Q
cmV2aW91c1VzZWRWYXJpYWJsZXModXNlZFZhcmlhYmxlc1NpemUpOwotICAgICAgICAgICAgICAg
IHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICAg
ICAgICAgIHJldHVybiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQsIGlzQXN5
bmNBcnJvdyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50V2l0
aEVycm9yKGVycm9yUmVzdG9yYXRpb25TYXZlUG9pbnQpOwogICAgICAgICAgICAgaWYgKGlzQXJy
b3dGdW5jdGlvblRva2VuKQpAQCAtMzI3Miw2ICszNTE2LDIxIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlWWllbGRF
eHByZXNzCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3
YWl0RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2go
QVdBSVQpKTsKKyAgICBBU1NFUlQoY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbigpKTsK
KyAgICBmYWlsSWZUcnVlKG1fcGFyc2VyU3RhdGUuZnVuY3Rpb25QYXJzZVBoYXNlID09IEZ1bmN0
aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVycywgIkNhbm5vdCB1c2UgYXdhaXQgZXhwcmVzc2lvbiB3
aXRoaW4gcGFyYW1ldGVycyIpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIGRpdm90U3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICBuZXh0KCk7CisgICAgSlNUZXh0UG9zaXRpb24gYXJndW1lbnRTdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIFRyZWVFeHByZXNzaW9uIGFyZ3VtZW50ID0gcGFy
c2VVbmFyeUV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoYXJndW1lbnQsICJG
YWlsZWQgdG8gcGFyc2UgYXdhaXQgZXhwcmVzc2lvbiIpOworICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUF3YWl0KGxvY2F0aW9uLCBhcmd1bWVudCwgZGl2b3RTdGFydCwgYXJndW1lbnRTdGFydCwg
bGFzdFRva2VuRW5kUG9zaXRpb24oKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAg
LTMzODQsMTEgKzM2NDMsMTYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJv
cGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICBib29sIHdh
c0lkZW50ID0gZmFsc2U7CiAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOwogICAgIGJvb2wg
aXNDbGFzc1Byb3BlcnR5ID0gZmFsc2U7CisgICAgYm9vbCBpc0FzeW5jTWV0aG9kID0gZmFsc2U7
CiAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICBpc0dlbmVyYXRvciA9IHRydWU7CisK
K1VOVVNFRF9MQUJFTChwYXJzZVByb3BlcnR5KTsKK3BhcnNlUHJvcGVydHk6CiAgICAgc3dpdGNo
IChtX3Rva2VuLm1fdHlwZSkgewogICAgIG5hbWVkUHJvcGVydHk6CiAgICAgY2FzZSBJREVOVDoK
KyAgICBjYXNlIEFXQUlUOgogICAgICAgICB3YXNJZGVudCA9IHRydWU7CiAgICAgICAgIEZBTExU
SFJPVUdIOwogICAgIGNhc2UgU1RSSU5HOiB7CkBAIC0zMzk2LDEwICszNjYwLDE0IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRP
ZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgICAgIGlmIChjb21wbGV0ZSB8fCAod2FzSWRlbnQg
JiYgIWlzR2VuZXJhdG9yICYmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Z2V0IHx8
ICppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpKSkKICAgICAgICAgICAgIG5leHRF
eHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzKTsKKyNpZiBFTkFC
TEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBlbHNlIGlmICh3YXNJZGVu
dCAmJiAhaXNHZW5lcmF0b3IgJiYgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KQorICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2Vy
dmVkV29yZHMpOworI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG5leHRFeHBlY3RJ
ZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRv
bnRCdWlsZEtleXdvcmRzKTsKIAotICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIG1hdGNoKENP
TE9OKSkgeworICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFpc0FzeW5jTWV0aG9kICYmIG1h
dGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb25PclByb3BhZ2F0ZUVycm9yQ2xh
c3MoY29udGV4dCk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNl
IGV4cHJlc3Npb24gZm9yIHByb3BlcnR5IGRlY2xhcmF0aW9uIik7CkBAIC0zNDA4LDExICszNjc2
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
bWF0Y2goT1BFTlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsIGlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9y
LCBpc0FzeW5jTWV0aG9kKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVQcm9wZXJ0eShpZGVudCwgbWV0aG9kLCBQcm9wZXJ0
eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3Vw
ZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAg
ZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3Vt
ZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0
aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAg
ICAgIGZhaWxJZkZhbHNlKHdhc0lkZW50LCAiRXhwZWN0ZWQgYW4gaWRlbnRpZmllciBhcyBwcm9w
ZXJ0eSBuYW1lIik7CiAKQEAgLTM0MzQsNiArMzcwMiwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShU
cmVlQgogICAgICAgICAgICAgdHlwZSA9IFByb3BlcnR5Tm9kZTo6R2V0dGVyOwogICAgICAgICBl
bHNlIGlmICgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+c2V0KQogICAgICAgICAgICAg
dHlwZSA9IFByb3BlcnR5Tm9kZTo6U2V0dGVyOworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKCppZGVudCA9PSBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYyAmJiAhaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QpKSB7
CisgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgIGZhaWxJZlRy
dWUobV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkIGEgcHJvcGVydHkgbmFtZSBm
b2xsb3dpbmcga2V5d29yZCAnYXN5bmMnIik7CisgICAgICAgICAgICBnb3RvIHBhcnNlUHJvcGVy
dHk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGEgJzonIGZvbGxvd2luZyB0aGUgcHJvcGVydHkgbmFtZSAnIiwg
aWRlbnQtPmltcGwoKSwgIiciKTsKICAgICAgICAgcmV0dXJuIHBhcnNlR2V0dGVyU2V0dGVyKGNv
bnRleHQsIGNvbXBsZXRlLCB0eXBlLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIGlzQ2xhc3NQcm9wZXJ0eSk7CkBAIC0zNDQ1LDExICszNzIwLDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gbV9wYXJzZXJBcmVuYS5p
ZGVudGlmaWVyQXJlbmEoKS5tYWtlTnVtZXJpY0lkZW50aWZpZXIoY29uc3RfY2FzdDxWTSo+KG1f
dm0pLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3Bl
cnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0b3IpOworICAgICAgICAgICAgYXV0
byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRleHQsICZpZGVudCwgaXNHZW5lcmF0
b3IsIGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KCZpZGVudCwgbWV0aG9kLCBQcm9w
ZXJ0eU5vZGU6OkNvbnN0YW50LCBQcm9wZXJ0eU5vZGU6OlVua25vd24sIGNvbXBsZXRlLCBTdXBl
ckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBm
YWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1l
bnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRo
b2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAg
ICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6JyBhZnRlciBwcm9wZXJ0eSBuYW1l
Iik7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNz
aW9uKGNvbnRleHQpOwpAQCAtMzQ2NCwxMSArMzczOSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShU
cmVlQgogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFQlJBQ0tFVCwgIl0iLCAi
ZW5kIiwgImNvbXB1dGVkIHByb3BlcnR5IG5hbWUiKTsKIAogICAgICAgICBpZiAobWF0Y2goT1BF
TlBBUkVOKSkgewotICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9k
KGNvbnRleHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0
b3IpOworICAgICAgICAgICAgYXV0byBtZXRob2QgPSBwYXJzZVByb3BlcnR5TWV0aG9kKGNvbnRl
eHQsICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaXNHZW5lcmF0b3IsIGlz
QXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSwgbWV0aG9kLCBzdGF0
aWNfY2FzdDxQcm9wZXJ0eU5vZGU6OlR5cGU+KFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQgfCBQcm9w
ZXJ0eU5vZGU6OkNvbXB1dGVkKSwgUHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCwgY29tcGxldGUs
IFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAg
ICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBh
cmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3lu
Y01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAog
ICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5
IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDgzLDEzICszNzU4LDEzIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBt
ZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBp
c0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBt
ZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0
aG9kSW5mbzsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwotICAgIFNvdXJjZVBh
cnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKKyAg
ICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNHZW5lcmF0b3IgPyBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgOiBpc0FzeW5jTWV0aG9kID8gU291cmNl
UGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUgOiBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU7
CiAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIEZ1
bmN0aW9uRGVmaW5pdGlvblR5cGU6Ok1ldGhvZCkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihtZXRob2RMb2Nh
dGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0zNzU1LDYgKzQwMzAsMjAgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkV4cHIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKG1hdGNoKEZVTkNUSU9OKSk7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tl
blN0YXJ0KCk7CisgICAgbmV4dCgpOworICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gZnVuY3Rpb25JbmZvOworICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOworICAgIGZhaWxJZkZhbHNlKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgcGFy
c2VNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uSW5mbywgRnVuY3Rpb25EZWZpbml0
aW9uVHlwZTo6RXhwcmVzc2lvbiksICJDYW5ub3QgcGFyc2UgYXN5bmMgZnVuY3Rpb24gZXhwcmVz
c2lvbiIpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwg
ZnVuY3Rpb25JbmZvKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3Ry
aW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCB0eXBlbmFtZSBMZXhlclR5cGU6OlJhd1N0cmlu
Z3NCdWlsZE1vZGUgcmF3U3RyaW5nc0J1aWxkTW9kZSwgYm9vbCYgZWxlbWVudElzVGFpbCkKIHsK
ICAgICBpZiAoIWlzVGVtcGxhdGVIZWFkKSB7CkBAIC0zODQyLDE0ICs0MTMxLDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+c2V0SW5uZXJB
cnJvd0Z1bmN0aW9uVXNlc1RoaXMoKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlVGhp
c0V4cHIobG9jYXRpb24pOwogICAgIH0KKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6
IHsKICAgICBpZGVudGlmaWVyRXhwcmVzc2lvbjoKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKFVOTElL
RUxZKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkKKyAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJ
T04pKQogICAgICAgICAgICAgcmV0dXJuIDA7CisKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFzeW5jICYmIG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1p
bmF0b3IoKSkpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
bihjb250ZXh0KTsKKyNlbmRpZgorCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJs
ZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBt
X3BhcnNlclN0YXRlLmxhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sICppZGVudCwgc3RhcnQsIGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCkpOwpAQCAtNDAyNSw2ICs0MzIxLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVz
CiAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgYmFzZUlzQXN5bmNL
ZXl3b3JkID0gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmIChiYXNlSXNTdXBlcikgewogICAgICAg
ICBTY29wZVJlZiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlID0gY2xvc2VzdFBhcmVudE9y
ZGluYXJ5RnVuY3Rpb25Ob25MZXhpY2FsU2NvcGUoKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZG
YWxzZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpIHx8IChjbG9zZXN0T3JkaW5hcnlGdW5j
dGlvblNjb3BlLT5pc0V2YWxDb250ZXh0KCkgJiYgY2xvc2VzdE9yZGluYXJ5RnVuY3Rpb25TY29w
ZS0+ZXhwZWN0ZWRTdXBlckJpbmRpbmcoKSA9PSBTdXBlckJpbmRpbmc6Ok5lZWRlZCksICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CkBAIC00MDQyLDkgKzQzNDIsMjYgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRy
dWUoZnVuY3Rpb25TdXBlckJpbmRpbmcgPT0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsICJzdXBl
ciBpcyBub3QgdmFsaWQgaW4gdGhpcyBjb250ZXh0Iik7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KLSAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpCisgICAgfSBlbHNlIGlmICghYmFz
ZUlzTmV3VGFyZ2V0KSB7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgY29uc3QgYm9vbCBpc0FzeW5jID0gaXNJZGVudGlmaWVyT3JLZXl3b3JkKG1fdG9r
ZW4pICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3lu
YzsKKyNlbmRpZgorCiAgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRl
eHQpOwogCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
ZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICAg
ICAgaWYgKGlzQXN5bmMgJiYgY29udGV4dC5pc1Jlc29sdmUoYmFzZSkgJiYgIW1fbGV4ZXItPnBy
ZXZUZXJtaW5hdG9yKCkpIHsKKyAgICAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkp
IHsKKyAgICAgICAgICAgICAgICAvLyBBc3luY0Fycm93RnVuY3Rpb24KKyAgICAgICAgICAgICAg
ICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1
bmN0aW9uKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJhc2VJc0FzeW5jS2V5d29yZCA9IHRydWU7CisgICAgICAgIH0KKyNlbmRpZgorICAg
IH0KKwogICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9u
Iik7CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9u
KCk7CkBAIC00MDc4LDYgKzQzOTUsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lv
bkVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICAgVHJlZUFyZ3Vt
ZW50cyBhcmd1bWVudHMgPSBwYXJzZUFyZ3VtZW50cyhjb250ZXh0KTsKKworI2lmIEVOQUJMRShF
UzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgaWYgKGJhc2VJc0Fz
eW5jS2V5d29yZCAmJiAoIWFyZ3VtZW50cyB8fCBtYXRjaChBUlJPV0ZVTkNUSU9OKSkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFcnJvckluZGlj
YXRlc0FzeW5jQXJyb3dGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGZhaWxEdWVUb1Vu
ZXhwZWN0ZWRUb2tlbigpOworICAgICAgICAgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoYXJndW1lbnRzLCAiQ2Fubm90IHBhcnNlIGNhbGwgYXJndW1lbnRz
Iik7CiAgICAgICAgICAgICAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgICAgICAgICAg
ICAgIFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUgPSBjdXJyZW50RnVuY3Rpb25TY29wZSgpOwpAQCAt
NDEzNiw3ICs0NDYxLDcgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKIH0KIAogdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzQXN5bmMpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9u
IGxvY2F0aW9uOwogCkBAIC00MTQ0LDcgKzQ0NjksOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rp
bwogICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNv
bnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgU291cmNlUGFyc2VNb2Rl
OjpBcnJvd0Z1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJp
bmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEZ1bmN0aW9uRGVm
aW5pdGlvblR5cGU6OkV4cHJlc3Npb24pKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBl
eHByZXNzaW9uIik7CisKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gaXNBc3luYyA/
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSA6IFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCwgcGFyc2VNb2RlLCB0
cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lv
bikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKIAogICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKIH0K
QEAgLTQxODgsNiArNDUxNSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAgIGJvb2wg
bW9kaWZpZXNFeHByID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlc0xFeHByID0gZmFsc2U7CiAg
ICAgdW5zaWduZWQgbGFzdE9wZXJhdG9yID0gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCisgICAgaWYgKFVOTElLRUxZKG1hdGNoKEFXQUlUKSAmJiBjdXJyZW50
RnVuY3Rpb25TY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKSkKKyAgICAgICAgcmV0
dXJuIHBhcnNlQXdhaXRFeHByZXNzaW9uKGNvbnRleHQpOworI2VuZGlmCisKICAgICB3aGlsZSAo
aXNVbmFyeU9wKG1fdG9rZW4ubV90eXBlKSkgewogICAgICAgICBpZiAoc3RyaWN0TW9kZSgpKSB7
CiAgICAgICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CkBAIC00MzY5LDYgKzQ3MDIs
NyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+
OjpwcmludFVuZXhwZWN0ZWRUb2tlblRleHQoVwogICAgICAgICBvdXQucHJpbnQoIkludmFsaWQg
cHJpdmF0ZSBuYW1lICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICAKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgSURFTlQ6CiAgICAgICAgIG91dC5w
cmludCgiVW5leHBlY3RlZCBpZGVudGlmaWVyICciLCBnZXRUb2tlbigpLCAiJyIpOwogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MGUxMzkx
YjVmZDAzZGQ1ZTc3OGI4ZmRiNTkyM2FhNzk4YWVkMTIzLi5jMTk3M2Q5ZjRkYzFjZmZlMDdlZjVk
ZDFiMjc0YTJjYTEzNTM5M2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
QEAgLTEzNSw3ICsxMzUsNyBAQCBzdHJ1Y3QgU2NvcGUgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjb3BlKTsKIAogcHVibGljOgotICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1
bmN0aW9uLCBib29sIGlzR2VuZXJhdG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uKQorICAgIFNjb3BlKGNvbnN0IFZNKiB2bSwgYm9vbCBpc0Z1bmN0aW9uLCBib29sIGlz
R2VuZXJhdG9yLCBib29sIHN0cmljdE1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uLCBib29sIGlz
QXN5bmNGdW5jdGlvbikKICAgICAgICAgOiBtX3ZtKHZtKQogICAgICAgICAsIG1fc2hhZG93c0Fy
Z3VtZW50cyhmYWxzZSkKICAgICAgICAgLCBtX3VzZXNFdmFsKGZhbHNlKQpAQCAtMTUwLDYgKzE1
MCw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2lzR2VuZXJhdG9yQm91bmRhcnkoZmFsc2UpCiAg
ICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb24oaXNBcnJvd0Z1bmN0aW9uKQogICAgICAgICAsIG1f
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkoZmFsc2UpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rp
b24oaXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnko
ZmFsc2UpCiAgICAgICAgICwgbV9pc0xleGljYWxTY29wZShmYWxzZSkKICAgICAgICAgLCBtX2lz
RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKHRy
dWUpCkBAIC0xODEsNiArMTgzLDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JC
b3VuZGFyeShvdGhlci5tX2lzR2VuZXJhdG9yQm91bmRhcnkpCiAgICAgICAgICwgbV9pc0Fycm93
RnVuY3Rpb24ob3RoZXIubV9pc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVu
Y3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KQorICAgICAgICAs
IG1faXNBc3luY0Z1bmN0aW9uKG90aGVyLm1faXNBc3luY0Z1bmN0aW9uKQorICAgICAgICAsIG1f
aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSkK
ICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKG90aGVyLm1faXNMZXhpY2FsU2NvcGUpCiAgICAg
ICAgICwgbV9pc0Z1bmN0aW9uQm91bmRhcnkob3RoZXIubV9pc0Z1bmN0aW9uQm91bmRhcnkpCiAg
ICAgICAgICwgbV9pc1ZhbGlkU3RyaWN0TW9kZShvdGhlci5tX2lzVmFsaWRTdHJpY3RNb2RlKQpA
QCAtMjM4LDYgKzI0MiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3VyY2VQYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1vZGUpIHsKKyAg
ICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgor
ICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlN
b2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCk7CisgICAgICAg
ICAgICBicmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGU6CiAgICAgICAgICAgICBzZXRJc0dlbmVyYXRvcigpOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC0yNTcsNiArMjY5LDE1IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHNldElzQXJyb3dGdW5j
dGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Nb2RlOgorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Z1bmN0aW9uKCk7CisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZToKKyAgICAgICAgICAgIHNldElzQXN5bmNBcnJvd0Z1bmN0aW9uKCk7CisgICAg
ICAgICAgICBicmVhazsKKwogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGU6CiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKICAg
ICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKQEAgLTI2OCw2
ICsyODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7
IHJldHVybiBtX2lzRnVuY3Rpb25Cb3VuZGFyeTsgfQogICAgIGJvb2wgaXNHZW5lcmF0b3IoKSBj
b25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9yOyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvckJvdW5k
YXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc0dlbmVyYXRvckJvdW5kYXJ5OyB9CisgICAgYm9vbCBp
c0FzeW5jRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNGdW5jdGlvbjsgfQorICAg
IGJvb2wgaXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzQXN5bmNG
dW5jdGlvbkJvdW5kYXJ5OyB9CiAKICAgICBib29sIGhhc0FyZ3VtZW50cygpIGNvbnN0IHsgcmV0
dXJuIG1faGFzQXJndW1lbnRzOyB9CiAKQEAgLTcxMCw2ICs3MzMsMzQgQEAgcHJpdmF0ZToKICAg
ICAgICAgbV9pc0Fycm93RnVuY3Rpb24gPSB0cnVlOwogICAgIH0KIAorICAgIHZvaWQgc2V0SXNB
c3luY0Fycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7
CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNl
dElzQXN5bmNGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAg
ICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIHNldElzQXN5
bmNGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNGdW5jdGlvbigpOworICAgICAg
ICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAgICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRy
dWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnkgPSB0cnVlOworICAgIH0KKwor
ICAgIHZvaWQgc2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KCkKKyAgICB7CisgICAgICAgIHNl
dElzQXJyb3dGdW5jdGlvbigpOworICAgICAgICBtX2hhc0FyZ3VtZW50cyA9IGZhbHNlOworICAg
ICAgICBtX2lzQXN5bmNGdW5jdGlvbiA9IHRydWU7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9u
Qm91bmRhcnkgPSB0cnVlOworICAgIH0KKwogICAgIGNvbnN0IFZNKiBtX3ZtOwogICAgIGJvb2wg
bV9zaGFkb3dzQXJndW1lbnRzOwogICAgIGJvb2wgbV91c2VzRXZhbDsKQEAgLTcyNCw2ICs3NzUs
OCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0dlbmVyYXRvckJvdW5kYXJ5OwogICAgIGJvb2wg
bV9pc0Fycm93RnVuY3Rpb247CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5Owor
ICAgIGJvb2wgbV9pc0FzeW5jRnVuY3Rpb247CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5OwogICAgIGJvb2wgbV9pc0xleGljYWxTY29wZTsKICAgICBib29sIG1faXNGdW5jdGlv
bkJvdW5kYXJ5OwogICAgIGJvb2wgbV9pc1ZhbGlkU3RyaWN0TW9kZTsKQEAgLTg4Niw4ICs5Mzks
OSBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBlbnVtIEV4cHJlc3Npb25FcnJvckNsYXNzIHsK
LSAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nLAotICAgICAgICBFcnJvckluZGljYXRlc1Bh
dHRlcm4KKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNOb3RoaW5nID0gMCwKKyAgICAgICAgRXJyb3JJ
bmRpY2F0ZXNQYXR0ZXJuLAorICAgICAgICBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlv
bgogICAgIH07CiAKICAgICBzdHJ1Y3QgRXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllciB7CkBAIC05
MTEsNiArOTY1LDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmlj
YXRpb247CiAgICAgICAgIH0KIAorICAgICAgICB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9u
RXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgICAgIHsKKyAg
ICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKKyAgICAgICAgfQorCiAgICAgICAg
IHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRD
bGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGlmIChtX2NsYXNzICE9IG9sZENsYXNzaWZpY2F0aW9uKQpAQCAt
OTIwLDExICs5NzksMTIgQEAgcHJpdmF0ZToKIAogICAgICAgICB2b2lkIHByb3BhZ2F0ZUV4cHJl
c3Npb25FcnJvckNsYXNzKCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMg
JiYgbV9jbGFzcyAhPSBFcnJvckluZGljYXRlc05vdGhpbmcpCisgICAgICAgICAgICBpZiAobV9w
cmV2aW91cykKICAgICAgICAgICAgICAgICBtX3ByZXZpb3VzLT5tX2NsYXNzID0gbV9jbGFzczsK
ICAgICAgICAgfQogCiAgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKCkgY29u
c3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGljYXRlc1BhdHRlcm47IH0KKyAgICAgICAg
Ym9vbCBpbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb247IH0KIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIEV4cHJlc3Npb25FcnJvckNsYXNzIG1fY2xhc3M7CkBAIC05MzgsNiAr
OTk4LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNsYXNzaWZp
ZXItPmNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKICAgICB9CiAKKyAg
ICBBTFdBWVNfSU5MSU5FIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNz
aW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICB7CisgICAgICAgIGlmIChtX2V4cHJl
c3Npb25FcnJvckNsYXNzaWZpZXIpCisgICAgICAgICAgICBtX2V4cHJlc3Npb25FcnJvckNsYXNz
aWZpZXItPmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOworICAg
IH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4
cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFz
cyBjbGFzc2lmaWNhdGlvbikKICAgICB7CiAgICAgICAgIGlmIChtX2V4cHJlc3Npb25FcnJvckNs
YXNzaWZpZXIpCkBAIC05NTksNiArMTAyNSwxOSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
RGVzdHJ1Y3R1cmluZ0tpbmQ6OkRlc3RydWN0dXJlVG9WYXJpYWJsZXM7CiAgICAgfQogCisgICAg
QUxXQVlTX0lOTElORSBjb25zdCBjaGFyKiBkZWNsYXJhdGlvblR5cGVUb1ZhcmlhYmxlS2luZChE
ZWNsYXJhdGlvblR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6VmFyRGVjbGFyYXRpb246CisgICAgICAgICAgICBy
ZXR1cm4gInZhcmlhYmxlIG5hbWUiOworICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6TGV0
RGVjbGFyYXRpb246CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpDb25zdERlY2xhcmF0
aW9uOgorICAgICAgICAgICAgcmV0dXJuICJsZXhpY2FsIHZhcmlhYmxlIG5hbWUiOworICAgICAg
ICB9CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biAiaW52YWxpZCI7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElORSBBc3NpZ25tZW50Q29udGV4
dCBhc3NpZ25tZW50Q29udGV4dEZyb21EZWNsYXJhdGlvblR5cGUoRGVjbGFyYXRpb25UeXBlIHR5
cGUpCiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTk3MSw2ICsxMDUwLDEyIEBA
IHByaXZhdGU6CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFdmFsT3JBcmd1bWVudHMoY29u
c3QgSWRlbnRpZmllciogaWRlbnQpIHsgcmV0dXJuIGlzRXZhbE9yQXJndW1lbnRzSWRlbnRpZmll
cihtX3ZtLCBpZGVudCk7IH0KIAorICAgIFNjb3BlUmVmIHVwcGVyU2NvcGUoaW50IG4pCisgICAg
eworICAgICAgICBBU1NFUlQobV9zY29wZVN0YWNrLnNpemUoKSA+PSBzaXplX3QoMSArIG4pKTsK
KyAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXpl
KCkgLSAxIC0gbik7CisgICAgfQorCiAgICAgU2NvcGVSZWYgY3VycmVudFNjb3BlKCkKICAgICB7
CiAgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3BlU3RhY2suc2l6
ZSgpIC0gMSk7CkBAIC0xMDI3LDEzICsxMTEyLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wg
aXNTdHJpY3QgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOwogICAg
ICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNG
dW5jdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoIW1fc2NvcGVTdGFjay5pc0VtcHR5KCkpIHsK
ICAgICAgICAgICAgIGlzU3RyaWN0ID0gbV9zY29wZVN0YWNrLmxhc3QoKS5zdHJpY3RNb2RlKCk7
CiAgICAgICAgICAgICBpc0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Z1bmN0aW9u
KCk7CiAgICAgICAgICAgICBpc0dlbmVyYXRvciA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNHZW5l
cmF0b3IoKTsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0
KCkuaXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBpc0FzeW5jRnVuY3Rpb24gPSBtX3Nj
b3BlU3RhY2subGFzdCgpLmlzQXN5bmNGdW5jdGlvbigpOwogICAgICAgICB9Ci0gICAgICAgIG1f
c2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlvbiwgaXNHZW5lcmF0
b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24pOworICAgICAgICBtX3Njb3BlU3RhY2suY29u
c3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmljdCwg
aXNBcnJvd0Z1bmN0aW9uLCBpc0FzeW5jRnVuY3Rpb24pOwogICAgICAgICByZXR1cm4gY3VycmVu
dFNjb3BlKCk7CiAgICAgfQogCkBAIC0xMzQ2LDIxICsxNDMzLDI1IEBAIHByaXZhdGU6CiAgICAg
Ly8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtZ2VuZXJh
dG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzCiAg
ICAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoYm9vbCBpbkdlbmVyYXRv
cikKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgaXNMRVRNYXNrZWRBc0lE
RU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOworICAgICAgICByZXR1
cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8
fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CiAgICAgfQogCiAgICAgQUxXQVlT
X0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IG1hdGNoU3BlY0lkZW50aWZpZXIoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOworICAg
ICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IG1hdGNoKEFXQUlUKSB8fCBpc0xFVE1hc2tlZEFz
SURFTlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0
b3IoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1l
bnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxl
bWVudHMgcGFyc2VHZW5lcmF0b3JGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwg
U291cmNlRWxlbWVudHNNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVp
bGRlciYsIFNvdXJjZVBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
biwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOwogICAgIGVudW0gY2xhc3MgRXhwb3J0
VHlwZSB7IEV4cG9ydGVkLCBOb3RFeHBvcnRlZCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXIm
LCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVs
dENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRl
ZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6
OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgYm9vbCBp
c0FzeW5jLCBib29sIHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5
cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIGJvb2wgbWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0
YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZVN0YXRlbWVudCYgcmVzdWx0LCBib29s
IHBhcmVudEFsbG93c0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlVmFyaWFibGVEZWNsYXJh
dGlvbihUcmVlQnVpbGRlciYsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5
cGU6Ok5vdEV4cG9ydGVkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VEb1doaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlV2hpbGVTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImKTsKQEAgLTEzODcsNiArMTQ3OCw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
Q29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVVuYXJ5RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZU1lbWJlckV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBU
cmVlRXhwcmVzc2lvbiBwYXJzZUFycmF5TGl0ZXJhbChUcmVlQnVpbGRlciYpOwpAQCAtMTM5NCwx
NyArMTQ4NiwxOCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlU3RyaWN0T2JqZWN0TGl0ZXJhbChUcmVl
QnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3NFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHBy
ZXNzaW9uIHBhcnNlRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNl
QXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUFyZ3VtZW50cyBwYXJzZUFyZ3VtZW50
cyhUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFyZ3VtZW50KFRyZWVCdWlsZGVyJiwgQXJndW1l
bnRUeXBlJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKLSAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNH
ZW5lcmF0b3IpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRp
ZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvciwgYm9vbCBpc0FzeW5jTWV0aG9kKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRl
clNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVu
c2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCwgYm9vbCBp
c0NsYXNzUHJvcGVydHkpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwg
U3ludGF4Q2hlY2tlciYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBGdW5jdGlvbkJvZHlUeXBlLCB1bnNpZ25l
ZCwgU291cmNlUGFyc2VNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgYm9vbCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImLCBUcmVl
Rm9ybWFsUGFyYW1ldGVyTGlzdCwgdW5zaWduZWQmKTsKICAgICBlbnVtIFZhckRlY2xhcmF0aW9u
TGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0IH07CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhcmlh
YmxlRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVE
ZXN0cnVjdHVyaW5nUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5p
dGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5p
dFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4
dCwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlLCBib29sJiBmb3JMb29wQ29uc3REb2VzTm90
SGF2ZUluaXRpYWxpemVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZUFycm93RnVuY3Rpb25TaW5nbGVFeHByZXNzaW9uQm9keVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJik7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiwgYm9vbCBpc0FzeW5jKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZXN0cnVjdHVy
aW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllciYsIEpTVG9rZW4sIEFzc2lnbm1l
bnRDb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiogZHVwbGljYXRlSWRlbnRpZmllcik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0dXJp
bmdQYXR0ZXJuIGNyZWF0ZUFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiwgVHJlZUV4cHJl
c3Npb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0
dXJpbmdQYXR0ZXJuIHBhcnNlQmluZGluZ09yQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVy
KiogZHVwbGljYXRlSWRlbnRpZmllciwgYm9vbCogaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4sIEFz
c2lnbm1lbnRDb250ZXh0IGJpbmRpbmdDb250ZXh0LCBpbnQgZGVwdGgpOwpAQCAtMTQ2Miw2ICsx
NTU1LDIzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAhbV9lcnJvck1lc3NhZ2UuaXNOdWxs
KCk7CiAgICAgfQogCisgICAgYm9vbCBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQoY29uc3Qg
SlNUb2tlbiYgdG9rZW4pCisgICAgeworICAgICAgICAvLyBGSVhNRTogYG1fbW9kdWxlU2NvcGVE
YXRhLmdldCgpICE9IG51bGxwdHJgIGlzIG5vdCBhIHZhbGlkIG1ldGhvZCBvZiBkZXRlcm1pbmlu
ZyBpZiBwYXJzZXIgaXMgcGFyc2luZyBhIE1vZHVsZS4KKyAgICAgICAgcmV0dXJuIHRva2VuLm1f
dHlwZSA9PSBBV0FJVCAmJiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50U2Nv
cGUoKS0+aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkoKSB8fCBtX21vZHVsZVNjb3BlRGF0YS5nZXQo
KSAhPSBudWxscHRyKTsKKyAgICB9CisKKyAgICBjb25zdCBjaGFyKiBkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKCkKKyAgICB7CisgICAgICAgIGlmICghbV9wYXJzZXJTdGF0ZS5hbGxv
d0F3YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKQorICAg
ICAgICAgICAgcmV0dXJuICJpbiBhbiBhc3luYyBmdW5jdGlvbiI7CisgICAgICAgIC8vIEZJWE1F
OiBgbV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cmAgaXMgbm90IGEgdmFsaWQgbWV0
aG9kIG9mIGRldGVybWluaW5nIGlmIHBhcnNlciBpcyBwYXJzaW5nIGEgTW9kdWxlLgorICAgICAg
ICBpZiAobV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cikKKyAgICAgICAgICAgIHJl
dHVybiAiaW4gYSBtb2R1bGUiOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBlbnVtIGNsYXNzIEZ1bmN0
aW9uUGFyc2VQaGFzZSB7IFBhcmFtZXRlcnMsIEJvZHkgfTsKICAgICBzdHJ1Y3QgUGFyc2VyU3Rh
dGUgewogICAgICAgICBpbnQgYXNzaWdubWVudENvdW50IHsgMCB9OwpAQCAtMTQ3MCw2ICsxNTgw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25QYXJzZVBoYXNlIGZ1bmN0aW9uUGFyc2VQ
aGFzZSB7IEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSB9OwogICAgICAgICBjb25zdCBJZGVudGlm
aWVyKiBsYXN0SWRlbnRpZmllciB7IG51bGxwdHIgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmll
ciogbGFzdEZ1bmN0aW9uTmFtZSB7IG51bGxwdHIgfTsKKyAgICAgICAgYm9vbCBhbGxvd0F3YWl0
IHsgdHJ1ZSB9OwogICAgIH07CiAKICAgICAvLyBJZiB5b3UncmUgdXNpbmcgdGhpcyBkaXJlY3Rs
eSwgeW91IHByb2JhYmx5IHNob3VsZCBiZSB1c2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJNb2Rlcy5oCmluZGV4IDlmZDdiNzdkZWFiZWFhOGRhNGJmMjc4MzM5MzFlYjRi
ZGNmODlhNDYuLjJhYWM2ODIxYWVkMmM4ZTAxYjk5MzUwZTgwMmMwNGFkZmQ0ZTgxNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKQEAgLTI3LDYgKzI3LDcg
QEAKICNpZm5kZWYgUGFyc2VyTW9kZXNfaAogI2RlZmluZSBQYXJzZXJNb2Rlc19oCiAKKyNpbmNs
dWRlICJDb25zdHJ1Y3RBYmlsaXR5LmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKQEAgLTQzLDgwICs0NCwxMzAgQEAgZW51bSBEZWJ1Z2dlck1vZGUgeyBEZWJ1
Z2dlck9mZiwgRGVidWdnZXJPbiB9OwogCiBlbnVtIGNsYXNzIEZ1bmN0aW9uTW9kZSB7IEZ1bmN0
aW9uRXhwcmVzc2lvbiwgRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiB9Owog
Ci1lbnVtIGNsYXNzIFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQ4X3QgewotICAgIE5vcm1hbEZ1bmN0
aW9uTW9kZSwKLSAgICBHZW5lcmF0b3JCb2R5TW9kZSwKLSAgICBHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlLAotICAgIEdldHRlck1vZGUsCi0gICAgU2V0dGVyTW9kZSwKLSAgICBNZXRob2RN
b2RlLAotICAgIEFycm93RnVuY3Rpb25Nb2RlLAotICAgIFByb2dyYW1Nb2RlLAotICAgIE1vZHVs
ZUFuYWx5emVNb2RlLAotICAgIE1vZHVsZUV2YWx1YXRlTW9kZQorZW51bSBjbGFzcyBTb3VyY2VQ
YXJzZU1vZGUgOiB1aW50MTZfdCB7CisgICAgTm9ybWFsRnVuY3Rpb25Nb2RlICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDAwMDEsCisgICAgR2VuZXJhdG9yQm9keU1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDAwMTAsCisgICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSAg
PSAwYjAwMDAwMDAwMDAwMDAxMDAsCisgICAgR2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMDEwMDAsCisgICAgU2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAwMTAwMDAsCisgICAgTWV0aG9kTW9kZSAgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDAxMDAwMDAsCisgICAgQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDAwMDEwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbkJvZHlNb2RlICAgICAgICAg
PSAwYjAwMDAwMDAwMTAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUgICAg
PSAwYjAwMDAwMDAxMDAwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbk1vZGUgICAgICAgICAgICAg
PSAwYjAwMDAwMDEwMDAwMDAwMDAsCisgICAgQXN5bmNNZXRob2RNb2RlICAgICAgICAgICAgICAg
PSAwYjAwMDAwMTAwMDAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAg
PSAwYjAwMDAxMDAwMDAwMDAwMDAsCisgICAgUHJvZ3JhbU1vZGUgICAgICAgICAgICAgICAgICAg
PSAwYjAwMDEwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlQW5hbHl6ZU1vZGUgICAgICAgICAgICAg
PSAwYjAwMTAwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlRXZhbHVhdGVNb2RlICAgICAgICAgICAg
PSAwYjAxMDAwMDAwMDAwMDAwMDAsCiB9OwogCi1pbmxpbmUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VN
b2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCitjbGFzcyBTb3VyY2VQYXJzZU1vZGVTZXQg
eyAKK3B1YmxpYzogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gTW9kZXM+IAorICAgIFNvdXJj
ZVBhcnNlTW9kZVNldChNb2Rlcy4uLiBhcmdzKSAKKyAgICAgICAgOiBtX21hc2sobWVyZ2VTb3Vy
Y2VQYXJzZU1vZGVzKGFyZ3MuLi4pKSAKKyAgICB7IAorICAgIH0gCisKKyAgICBBTFdBWVNfSU5M
SU5FIGJvb2wgY29udGFpbnMoU291cmNlUGFyc2VNb2RlIG1vZGUpIAorICAgIHsgCisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgJiBtX21hc2s7IAorICAgIH0gCisK
K3ByaXZhdGU6IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdlU291cmNl
UGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKTsgCisgICAgfSAKKworICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIFJlc3Q+IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdl
U291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSwgUmVzdC4uLiByZXN0KSAKKyAg
ICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpIHwgbWVyZ2VT
b3VyY2VQYXJzZU1vZGVzKHJlc3QuLi4pOyAKKyAgICB9IAorCisgICAgY29uc3QgdW5zaWduZWQg
bV9tYXNrOyAKK307IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9k
ZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVy
TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwgCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9k
ZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisg
ICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRh
aW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5jdGlv
blBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNv
dXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlLCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsg
Cit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1v
ZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUs
IAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVu
Y3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAg
ICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVu
Y3Rpb25Cb2R5UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICBy
ZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJ
TkUgYm9vbCBpc01ldGhvZFBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQogewot
ICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1h
bEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1v
ZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhv
ZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KAorICAgICAgICAvLyBGSVhN
RTogR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBh
IG1ldGhvZC4KKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRo
b2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3Jh
bU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19CitBTFdBWVNfSU5MSU5FIGJvb2wg
aXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJl
dHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUFuYWx5emVNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1v
ZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKIAotaW5saW5lIGJvb2wgaXNQcm9ncmFtUGFy
c2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAgc3dpdGNoIChwYXJzZU1v
ZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworQUxXQVlTX0lO
TElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAK
K3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OlByb2dy
YW1Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgQ29uc3Ry
dWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUpIAoreyAKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9y
bWFsRnVuY3Rpb25Nb2RlKSAKKyAgICAgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNv
bnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3Q7
CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShjb25zdCBJZGVudGlmaWVy
JiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1ZDc2M2FjZWY3OWM2OWNk
MjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMwMjQxYTUyZTY2MWQ2OCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC04Myw2
ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5E
UywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0UgPSAwLAogICAgIENMT1NF
QlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaAppbmRleCAxYzBkMThlZDg3MWE3MjE0ODBmZWE4MjEyMDhhMjc3ZmEyZDgy
Njg2Li41YWM2NWFiZDA0NTVmZWY2NzgxYjY0YTA3M2ViZDkyNTJhM2NkZWIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtODMsNyArODMsNyBA
QCBwdWJsaWM6CiAgICAgICAgIENsYXVzZUxpc3RSZXN1bHQsIENvbW1hRXhwciwgRGVzdHJ1Y3R1
cmluZ0Fzc2lnbm1lbnQsCiAgICAgICAgIFRlbXBsYXRlU3RyaW5nUmVzdWx0LCBUZW1wbGF0ZVN0
cmluZ0xpc3RSZXN1bHQsCiAgICAgICAgIFRlbXBsYXRlRXhwcmVzc2lvbkxpc3RSZXN1bHQsIFRl
bXBsYXRlRXhwciwKLSAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsCisgICAg
ICAgIFRhZ2dlZFRlbXBsYXRlRXhwciwgWWllbGRFeHByLCBBd2FpdEV4cHIsCiAgICAgICAgIE1v
ZHVsZU5hbWVSZXN1bHQsCiAgICAgICAgIEltcG9ydFNwZWNpZmllclJlc3VsdCwgSW1wb3J0U3Bl
Y2lmaWVyTGlzdFJlc3VsdCwKICAgICAgICAgRXhwb3J0U3BlY2lmaWVyUmVzdWx0LCBFeHBvcnRT
cGVjaWZpZXJMaXN0UmVzdWx0CkBAIC0xODIsOCArMTgyLDEwIEBAIHB1YmxpYzoKICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVFbXB0eUxldEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIEFzc2lnbm1lbnRFeHByOyB9CiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlWWllbGQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJikgeyByZXR1cm4g
WWllbGRFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlWWllbGQoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGJvb2wsIGludCwgaW50LCBpbnQpIHsgcmV0dXJu
IFlpZWxkRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUF3YWl0KGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBBd2Fp
dEV4cHI7IH0KICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHByKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhDaGVja2VyPiYsIFZhcmlh
YmxlRW52aXJvbm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUsIFByb3BlcnR5
TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyBy
ZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uTWV0YWRhdGEoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJv
b2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCB1bnNpZ25l
ZCwgU291cmNlUGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rpb25Db2RlRmVhdHVyZXMg
PSBOb0lubmVyQXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1
bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVNZXRo
b2REZWZpbml0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9u
SW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggNDA1
MTI2MmRhNTFiY2JkYWI3NzVjZjYxYjBjMGNiYzBmZjU3MTFmMS4uNzM4OWY5ZWNlY2U1Zjg4YTM4
ZjQ2MjdkMjM4N2Q2MjE3Yjk2NWZmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0xMDksNiArMTA5LDcgQEAKICAgICBtYWNy
byhhcmd1bWVudHMpIFwKICAgICBtYWNybyhhcykgXAogICAgIG1hY3JvKGFzc2lnbikgXAorICAg
IG1hY3JvKGFzeW5jKSBcCiAgICAgbWFjcm8oYmFjaykgXAogICAgIG1hY3JvKGJpbmQpIFwKICAg
ICBtYWNybyhibHVyKSBcCkBAIC0yNzEsNiArMjcyLDcgQEAKICAgICBtYWNybyh5ZWFyKQogCiAj
ZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JEKG1hY3JvKSBcCisgICAg
bWFjcm8oYXdhaXQpIFwKICAgICBtYWNybyhicmVhaykgXAogICAgIG1hY3JvKGNhc2UpIFwKICAg
ICBtYWNybyhjYXRjaCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggOWU5Y2Y0NDBmODQ0
Y2NlODA3NjY2Nzg5MzkzZjI1YmM0NjIxNjRkYS4uMDYwNWMxNTFmODkxMjE1MzAyZGRlMDA5NjQ0
ZTAwNDFkOGM1NjNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC0zNjAsNiArMzYwLDEw
IEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxlCiAjZGVmaW5lIEVOQUJMRV9FUzZfTU9EVUxFUyAw
CiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpCisjZGVmaW5lIEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggMAorI2VuZGlm
CisKICNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TKQogI2RlZmluZSBFTkFC
TEVfQ09OVEVOVF9FWFRFTlNJT05TIDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUz
YTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNk
NDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9
IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9z
Kl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9D
VVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0
MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2Rr
PWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1h
Y29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0IEBAIEVO
QUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURB
QkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJM
RV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRT
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChF
TkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThhZjc4
MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9D
QU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7
CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2Rr
PWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMCw0
ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklU
OwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFN
X0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykg
JChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4
IGM3MWU1YTc2YjhlYjU5OTU4MWNkODhjZDMwMDYwM2ZlM2U0MWIzYmEuLmIzNzNjMDU2NjI1ZmU2
NGFlNTZmMmU2NjE2YzUyNzc3NGJhY2RlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
QEAgLTExMyw2ICsxMTMsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVESUEgIlRvZ2dsZSBFTUUgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMiAiU3VwcG9ydCBFTUUgdjIiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9FUzZfTU9EVUxFUyAiVG9nZ2xlIEVTNiBtb2R1bGVzIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzIwMTcgYXN5bmMgZnVuY3Rpb25zIHN1cHBvcnQi
IFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9GRVRDSF9BUEkg
IlRvZ2dsZSBGZXRjaCBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfRklMVEVSU19MRVZFTF8yICJUb2dnbGUgRmlsdGVycyBNb2R1bGUgTGV2
ZWwgMiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMgIlRvZ2dsZSBGb250IExvYWQgRXZlbnRzIHN1cHBvcnQiIFBSSVZBVEUgT0ZG
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1
aWxkLWpzYwppbmRleCAyMzQ3N2FmYjUwZGY5YjA5N2ViNDJmN2I0MmQzYTU3MjcwNWZiNjBhLi5l
YmU1NjQ5ZTcxYzAzYjcwNWRmM2Y1ODMzZjY5MThhMjY5YmM4MTBmIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMzMs
MTMgKzMzLDE2IEBAIHVzZSBGaW5kQmluOwogdXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBh
c3NfdGhyb3VnaCk7CiB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ugd2Via2l0ZGlyczsKK3Vz
ZSB3ZWJraXRwZXJsOjpGZWF0dXJlTGlzdCBxdyhnZXRGZWF0dXJlT3B0aW9uTGlzdCk7CiB1c2Ug
UE9TSVg7CiAKK3N1YiBjTWFrZUFyZ3NGcm9tRmVhdHVyZXMoKTsKIHN1YiB3cml0ZUNvbmdyYXRz
KCk7CiAKIHByb2hpYml0VW5rbm93blBvcnQoKTsKIAogbXkgJHNob3VsZFJ1blN0YXRpY0FuYWx5
emVyID0gMDsKK215ICRtaW5pbWFsID0gMDsKIG15ICRjb3ZlcmFnZVN1cHBvcnQgPSAwOwogbXkg
JHNob3dIZWxwID0gMDsKIG15ICRmdGxKSVQgPSBpbnQoaXNBcHBsZU1hY1dlYktpdCgpICYmICF3
aWxsVXNlSU9TU2ltdWxhdG9yU0RLKCkgfHwgaXNYODZfNjQoKSAmJiAoaXNHdGsoKSB8fCBpc0Vm
bCgpIHx8IGlzSlNDT25seSgpKSk7CkBAIC01MCw2ICs1MywyMCBAQCBteSBAY21ha2VBcmdzOwog
bXkgJGNvcHlMaWJyYXJpZXMgPSAxOwogbXkgJHN0YXJ0VGltZSA9IHRpbWUoKTsKIAorbXkgQGZl
YXR1cmVzID0gZ2V0RmVhdHVyZU9wdGlvbkxpc3QoKTsKKworIyBJbml0aWFsaXplIHZhbHVlcyBm
cm9tIGRlZmF1bHRzCitmb3JlYWNoIChAQVJHVikgeworICAgIGlmICgkXyBlcSAnLS1taW5pbWFs
JykgeworICAgICAgICAkbWluaW1hbCA9IDE7CisgICAgfQorfQorCisjIEluaXRpYWxpemUgdmFs
dWVzIGZyb20gZGVmYXVsdHMKK2ZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICR7JF8tPnt2YWx1
ZX19ID0gKCRtaW5pbWFsID8gMCA6ICRfLT57ZGVmYXVsdH0pOworfQorCiAjIEFkZGl0aW9uYWwg
ZW52aXJvbm1lbnQgcGFyYW1ldGVycwogcHVzaCBAQVJHViwgc3BsaXQoLyAvLCAkRU5WeydCVUlM
RF9KU0NfQVJHUyd9KSBpZiAoJEVOVnsnQlVJTERfSlNDX0FSR1MnfSk7CiAKQEAgLTY3LDcgKzg0
LDcgQEAgVXNhZ2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBi
dWlsZCBzeXN0ZW1dCiAgIC0tY21ha2VhcmdzPTxhcmd1bWVudHM+ICAgICAgIE9uZSBvciBtb3Jl
IG9wdGlvbmFsIENNYWtlIGZsYWdzIChlLmcuIC0tY21ha2VhcmdzPSItREZPTz1iYXIgLURDTUFL
RV9QUkVGSVhfUEFUSD0vdXNyL2xvY2FsIikKIEVPRgogCi1HZXRPcHRpb25zKAorbXkgJW9wdGlv
bnMgPSAoCiAgICAgJ2FuYWx5emUhJyA9PiBcJHNob3VsZFJ1blN0YXRpY0FuYWx5emVyLAogICAg
ICdjb3ZlcmFnZSEnID0+IFwkY292ZXJhZ2VTdXBwb3J0LAogICAgICdoZWxwJyA9PiBcJHNob3dI
ZWxwLApAQCAtNzksNiArOTYsMjEgQEAgR2V0T3B0aW9ucygKICAgICAnY21ha2VhcmdzPXMnID0+
IFxAY21ha2VBcmdzCiApOwogCitteSAkZGlkQWRkRmVhdHVyZVVzYWdlID0gMDsKK2ZvcmVhY2gg
KEBmZWF0dXJlcykgeworICAgIGlmICgkXy0+e2phdmFzY3JpcHR9KSB7CisgICAgICAgIGlmICgh
JGRpZEFkZEZlYXR1cmVVc2FnZSkgeworICAgICAgICAgICAgJHVzYWdlIC49ICJcbkZlYXR1cmVz
OlxuIjsKKyAgICAgICAgICAgICRkaWRBZGRGZWF0dXJlVXNhZ2UgPSAxOworICAgICAgICB9Cisg
ICAgICAgIG15ICRvcHQgPSBzcHJpbnRmKCIlLTMxcyIsICIgIC0tW25vLV0kXy0+e29wdGlvbn0i
KTsKKyAgICAgICAgJHVzYWdlIC49ICIkb3B0ICRfLT57ZGVzY30gKGRlZmF1bHQ6ICRfLT57ZGVm
YXVsdH0pXG4iOworICAgICAgICAkb3B0aW9uc3siJF8tPntvcHRpb259ISJ9ID0gJF8tPnt2YWx1
ZX07CisgICAgfQorfQorCitHZXRPcHRpb25zKCVvcHRpb25zKTsKKwogaWYgKCRzaG93SGVscCkg
ewogICAgcHJpbnQgU1RERVJSICR1c2FnZTsKICAgIGV4aXQgMTsKQEAgLTEwNCw2ICsxMzYsOCBA
QCBpZiAoaXNDTWFrZUJ1aWxkKCkpIHsKICAgICBwdXNoIEBjbWFrZUFyZ3MsICRmb3JjZUNMb29w
ID8gIiAtREVOQUJMRV9KSVQ9T0ZGIiA6ICIgLURFTkFCTEVfSklUPU9OIjsKICAgICBwdXNoIEBj
bWFrZUFyZ3MsICRmdGxKSVQgPyAiIC1ERU5BQkxFX0ZUTF9KSVQ9T04iIDogIiAtREVOQUJMRV9G
VExfSklUPU9GRiI7CiAKKyAgICBteSBAZmVhdHVyZUFyZ3MgPSBjTWFrZUFyZ3NGcm9tRmVhdHVy
ZXMoKTsKKwogICAgIG15ICRidWlsZFRhcmdldCA9ICIiOwogICAgIHVubGVzcyAoaXNBbnlXaW5k
b3dzKCkpIHsKICAgICAgICAgIyBCeSBkZWZhdWx0IHdlIGJ1aWxkIHVzaW5nIGFsbCBvZiB0aGUg
YXZhaWxhYmxlIENQVXMKQEAgLTExNCw3ICsxNDgsNyBAQCBpZiAoaXNDTWFrZUJ1aWxkKCkpIHsK
ICAgICB9CiAKICAgICAjIFRoaXMgY2FsbCBvbmx5IHJldHVybnMgaWYgbm90aGluZyB3cm9uZyBo
YXBwZW5lZAotICAgIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KDAsIHVuZGVmLCAkYnVpbGRUYXJn
ZXQsIChjbWFrZUJhc2VkUG9ydEFyZ3VtZW50cygpLCBAY21ha2VBcmdzKSk7CisgICAgYnVpbGRD
TWFrZVByb2plY3RPckV4aXQoMCwgdW5kZWYsICRidWlsZFRhcmdldCwgKGNtYWtlQmFzZWRQb3J0
QXJndW1lbnRzKCksIEBmZWF0dXJlQXJncywgQGNtYWtlQXJncykpOwogICAgIHdyaXRlQ29uZ3Jh
dHMoKTsKICAgICBleGl0IGV4aXRTdGF0dXMoMCk7CiB9CkBAIC0xMjMsNiArMTU3LDIwIEBAIGlm
IChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICBwdXNoIEBvcHRpb25zLCAoJGZvcmNlQ0xvb3Ag
PyAiRU5BQkxFX0pJVD1FTkFCTEVfSklUPTAiIDogIkVOQUJMRV9KSVQ9RU5BQkxFX0pJVCIpOwog
ICAgIHB1c2ggQG9wdGlvbnMsICgkZnRsSklUID8gIkVOQUJMRV9GVExfSklUPUVOQUJMRV9GVExf
SklUIiA6ICJFTkFCTEVfRlRMX0pJVD1FTkFCTEVfRlRMX0pJVD0wIik7CiAKKyAgICBzdWIgb3B0
aW9uKCQkJCkKKyAgICB7CisgICAgICAgIG15ICgkZmVhdHVyZSwgJGlzRW5hYmxlZCwgJGRlZmF1
bHRWYWx1ZSkgPSBAXzsKKyAgICAgICAgcmV0dXJuICIiIGlmICRkZWZhdWx0VmFsdWUgPT0gJGlz
RW5hYmxlZDsKKyAgICAgICAgcmV0dXJuICRmZWF0dXJlIC4gIj0iIC4gKCRpc0VuYWJsZWQgPyAk
ZmVhdHVyZSA6ICIiKTsKKyAgICB9CisKKyAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAg
ICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgICAgIG15ICRvcHRpb24gPSBvcHRp
b24oJF8tPntkZWZpbmV9LCAkeyRfLT57dmFsdWV9fSwgJF8tPntkZWZhdWx0fSk7CisgICAgICAg
ICAgICBwdXNoIEBvcHRpb25zLCAkb3B0aW9uIHVubGVzcyAkb3B0aW9uIGVxICIiOworICAgICAg
ICB9CisgICAgfQorCiAgICAgaWYgKCRjb3B5TGlicmFyaWVzKSB7CiAgICAgICAgIG15IEBjb3B5
TGlicmFyaWVzQXJncyA9ICgicGVybCIsICJUb29scy9TY3JpcHRzL2NvcHktd2Via2l0bGlicmFy
aWVzLXRvLXByb2R1Y3QtZGlyZWN0b3J5Iik7CiAgICAgICAgIHB1c2ggQGNvcHlMaWJyYXJpZXNB
cmdzLCAiLS1kZXZpY2UiIGlmIHdpbGxVc2VJT1NEZXZpY2VTREsoKTsKQEAgLTE1Myw2ICsyMDEs
MjEgQEAgc3ViIGJ1aWxkTXlQcm9qZWN0CiAgICAgY2hkaXJXZWJLaXQoKTsKIH0KIAorc3ViIGNN
YWtlQXJnc0Zyb21GZWF0dXJlcygpCit7CisgICAgbXkgQGFyZ3M7CisgICAgZm9yZWFjaCAoQGZl
YXR1cmVzKSB7CisgICAgICAgIG15ICRmZWF0dXJlTmFtZSA9ICRfLT57ZGVmaW5lfTsKKyAgICAg
ICAgaWYgKCRmZWF0dXJlTmFtZSkgeworICAgICAgICAgICAgbXkgJGZlYXR1cmVFbmFibGVkID0g
JHskXy0+e3ZhbHVlfX0gPyAiT04iIDogIk9GRiI7CisgICAgICAgICAgICBpZiAoJGZlYXR1cmVF
bmFibGVkICE9ICRfLT57ZGVmYXVsdH0pIHsKKyAgICAgICAgICAgICAgICBwdXNoIEBhcmdzLCAi
LUQkZmVhdHVyZU5hbWU9JGZlYXR1cmVFbmFibGVkIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKyAgICByZXR1cm4gQGFyZ3M7Cit9CisKIHN1YiB3cml0ZUNvbmdyYXRzKCkKIHsK
ICAgICBteSAkZW5kVGltZSA9IHRpbWUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQppbmRleCA2OWRjZTc2ZGVjMDYyYjMwODFmMDdkMWIzYmRlMTJiYjMzZGRiZjZhLi45
YjdhZmIzNTRjY2Q5MjE3MmMwMzE1Yjg2ZTZhMGE3ZWRhMDljMmVjIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC01MSw2ICs1MSw3IEBAIEJFR0lOIHsKIG15ICgK
ICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCiAgICAgJGFsbEluT25lQnVpbGQsCisg
ICAgJGFzeW5jZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwK
ICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAt
MTczLDYgKzE3NCwxMCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFsbGlu
b25lLWJ1aWxkIiwgZGVzYyA9PiAiVG9nZ2xlIGFsbC1pbi1vbmUgYnVpbGQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQUxMSU5PTkVfQlVJTEQiLCBkZWZhdWx0ID0+IGlzV2luZG93cygpLCB2
YWx1ZSA9PiBcJGFsbEluT25lQnVpbGQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhc3luY2Z1bmN0
aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzIwMTcgYXN5bmMgZnVuY3Rpb25zIHN1cHBv
cnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFY
IiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGFzeW5jZnVuY3Rpb25TeW50YXgsCisgICAgICBq
YXZhc2NyaXB0ID0+IDEgfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQi
LCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9
PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCkBAIC0yNjQsNyArMjY5LDggQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0FNRVBBRCIsIGRlZmF1bHQg
PT4gMCwgdmFsdWUgPT4gXCRnYW1lcGFkU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImdl
bmVyYXRvcnMiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGdlbmVyYXRvcnMgc3VwcG9ydCIsCi0gICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWUg
PT4gXCRnZW5lcmF0b3JzU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0dF
TkVSQVRPUlMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkZ2VuZXJhdG9yc1N1cHBvcnQsCisg
ICAgICBqYXZhc2NyaXB0ID0+IDEgfSwKIAogICAgIHsgb3B0aW9uID0+ICJnZW9sb2NhdGlvbiIs
IGRlc2MgPT4gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0dFT0xPQ0FUSU9OIiwgZGVmYXVsdCA9PiAoaXNBcHBsZVdlYktpdCgpIHx8IGlzSU9T
V2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRnZW9sb2NhdGlvblN1
cHBvcnQgfSwKQEAgLTM0Miw3ICszNDgsOCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZp
bmUgPT4gIkVOQUJMRV9NSFRNTCIsIGRlZmF1bHQgPT4gKGlzR3RrKCkgfHwgaXNFZmwoKSksIHZh
bHVlID0+IFwkbWh0bWxTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAibW9kdWxlcyIsIGRl
c2MgPT4gIlRvZ2dsZSBFUzYgbW9kdWxlcyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJG1vZHVsZXNTdXBwb3J0
IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfTU9EVUxFUyIsIGRlZmF1bHQgPT4gMCwg
dmFsdWUgPT4gXCRtb2R1bGVzU3VwcG9ydCwKKyAgICAgIGphdmFzY3JpcHQgPT4gMSB9LAogCiAg
ICAgeyBvcHRpb24gPT4gIm1vdXNlLWN1cnNvci1zY2FsZSIsIGRlc2MgPT4gIlRvZ2dsZSBTY2Fs
ZWQgbW91c2UgY3Vyc29yIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJG1vdXNlQ3Vyc29y
U2NhbGVTdXBwb3J0IH0sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUzYTMxYmQy
YzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJm
OWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsK
IEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhv
bmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFC
TEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFO
U0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykg
JChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIzZjY4ZDJm
Y2VlZTVkNzAyNDJjMzI5ZmRjMDM2OWEyY2FhMzU2MzAuLjA0OWZlMmQ4MDg3OWJlMjZmMWI5YTUw
MDhkMjNhYWYyYzlhYTdmYTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pT
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDktMDcgIENhaXRsaW4gUG90
dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2lu
ZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3RTeW50YXhFcnJvcik6CisgICAgICAgICh0
ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4KToKKyAgICAg
ICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKToKKyAgICAgICAgKHRl
c3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKToKKyAgICAgICAgKHRlc3RUb3BM
ZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAodGVz
dE5lc3RlZEFzeW5jQXdhaXRTeW50YXguYXN5bmMpOgorICAgICAgICAodGVzdE5lc3RlZEFzeW5j
QXdhaXRTeW50YXguZm9vKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhT
bG9wcHlNb2RlLnRlc3RTeW50YXhFcnJvcik6CisKIDIwMTYtMDktMjAgIEJlbmphbWluIFBvdWxh
aW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRG8gbm90IHVzZSBFYWdl
clJ1biBvbiB0ZXN0cyBjb3VudGluZyByZWNvbXBpbGF0aW9uCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVzcy9hc3luYy1hd2Fp
dC1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhZTc3ZDZlNjI0ZjU0YzlkNjczYWY3YzkyOWE1OTk3
ZTI0YmE4MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0LXN5
bnRheC5qcwpAQCAtMCwwICsxLDI4MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8v
IFRoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYIHRv
IGJlIGVuYWJsZWQgYXQgYnVpbGQgdGltZS4KKy8vQCBza2lwCisKK2Z1bmN0aW9uIHRlc3RTeW50
YXgoc2NyaXB0KSB7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0
Y2ggKGVycm9yKSB7CisgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKQor
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3Ip
ICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworICAgIH0KK30KKwor
ZnVuY3Rpb24gdGVzdFN5bnRheEVycm9yKHNjcmlwdCwgbWVzc2FnZSkgeworICAgIHZhciBlcnJv
ciA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2gg
KGUpIHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHN5bnRheCBlcnJvciBub3QgdGhyb3duXG4gICAg
ICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7CisKKyAgICBpZiAodHlwZW9mIG1lc3Nh
Z2UgPT09ICJzdHJpbmciICYmIFN0cmluZyhlcnJvcikgIT09IG1lc3NhZ2UpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAgICBl
dmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKK30KKworKGZ1bmN0aW9uIHRlc3RUb3BMZXZl
bEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgeworICAgIHRlc3RTeW50YXgoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChg
dmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IGF3YWl0ICd0ZXN0Jztg
KTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdhaXQgeCArICd0
ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgeyBhd2Fp
dCAxOyB9YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCgpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyBbJ21ldGgnICsg
J29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5
bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9
IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMg
eyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFz
cyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgY2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287YCk7
CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSA9IHt9KSA9
PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMo
eWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5
bmMoeCA9IHlpZWxkKTsgfWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFzeW5j
QXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0ZXN0
U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5h
bWUoKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIg
YXN5bmNGbiA9IGFzeW5jICgpID0+IGF3YWl0ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4ICsgJ3Rlc3QnO2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbigp
IHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ug
c3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRo
b2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2
YXIgTyA9IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOwor
ICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAn
b2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0Ijsg
Y2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZv
byA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSA9IHt9KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRh
eChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7IH1g
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9
IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0TmVzdGVkQXN5
bmNBd2FpdFN5bnRheCgpIHsKKyAgICB2YXIgY29udGV4dERhdGEgPSBbCisgICAgICAgIHsgcHJl
Zml4OiAiZnVuY3Rpb24gb3V0ZXJGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAg
ICAgIHsgcHJlZml4OiAiZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyAiLCBzdWZmaXg6ICIg
fSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJGdW5jRXhwciA9IGZ1bmN0aW9uKCkg
eyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyR2VuRXhw
ciA9IGZ1bmN0aW9uKigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlck9iamVjdCA9IHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgKm91dGVyR2VuTWV0aG9k
KCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJD
bGFzc0V4cHIgPSBjbGFzcyBDIHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyAqb3V0
ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgb3V0ZXJTdGF0aWNNZXRob2Qo
KSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNs
YXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsg
b3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDog
ImNsYXNzIG91dGVyQ2xhc3MgeyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07
IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgb3V0ZXJT
dGF0aWNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDog
ImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBcnJvdyA9ICgp
ID0+IHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogImFzeW5jIGZ1bmN0
aW9uIG91dGVyQXN5bmNGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsg
cHJlZml4OiAidmFyIG91dGVyQXN5bmNGdW5jRXhwciA9IGFzeW5jIGZ1bmN0aW9uKCkgeyAiLCBz
dWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQXN5bmNBcnJvd0Z1
bmMgPSBhc3luYyAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZp
eDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNs
YXNzIEMgeyBhc3luYyBvdXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGlj
IGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAor
ICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBhc3luYyBvdXRlckFzeW5jTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBv
dXRlckNsYXNzIHsgc3RhdGljIGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRob2QoKSB7ICIsIHN1
ZmZpeDogIiB9IH07IiB9LAorICAgIF07CisKKyAgICB2YXIgdGVzdERhdGEgPSBbCisgICAgICAg
IGB2YXIgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGxldCBhc3luYyA9IDE7
IHJldHVybiBhc3luYztgLAorICAgICAgICBgY29uc3QgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7
YCwKKyAgICAgICAgYGZ1bmN0aW9uIGFzeW5jKCkge30gcmV0dXJuIGFzeW5jKCk7YCwKKyAgICAg
ICAgYHZhciBhc3luYyA9IGFzeW5jID0+IGFzeW5jOyByZXR1cm4gYXN5bmMoKTtgLAorICAgICAg
ICBgZnVuY3Rpb24gZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAorICAg
ICAgICBgZnVuY3Rpb24gZm9vKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGBm
dW5jdGlvbiogZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAg
ICBgZnVuY3Rpb24qIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBgdmFy
IGYgPSAoKSA9PiB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAgIGB2
YXIgTyA9IHsgbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtgLAor
ICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZChhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH0gfTtgLAor
ICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2Fp
dDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZChhd2FpdCkgeyByZXR1cm4gYXdh
aXQ7IH0gfTtgLAorCisgICAgICAgIGAoZnVuY3Rpb24gYXdhaXQoKSB7fSlgLAorICAgIF07CisK
KyAgICBmb3IgKGxldCBjb250ZXh0IG9mIGNvbnRleHREYXRhKSB7CisgICAgICAgIGZvciAobGV0
IHRlc3Qgb2YgdGVzdERhdGEpIHsKKyAgICAgICAgICAgIGxldCBzY3JpcHQgPSBjb250ZXh0LnBy
ZWZpeCArIHRlc3QgKyBjb250ZXh0LnN1ZmZpeDsKKyAgICAgICAgICAgIHRlc3RTeW50YXgoc2Ny
aXB0KTsKKyAgICAgICAgICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgJHtzY3JpcHR9YCk7
CisgICAgICAgIH0KKyAgICB9Cit9KSgpOworCisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3lu
Y0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
dmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHsgdmFyIGF3YWl0ID0gJ3Rl
c3QnOyB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBhd2Fp
dCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbihhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAg
IHRlc3RTeW50YXhFcnJvcihgYXN5bmMgZnVuY3Rpb24gYXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KGF3YWl0KSB7fWApOworCisgICAgLy8gRklYTUU6IE1ldGhvZERlZmluaXRpb25zIGRvIG5vdCBh
cHBseSBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzIHJlc3RyaWN0aW9ucworICAgIC8vICAgICAgICBp
biBzbG9wcHkgbW9kZSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTQwOCkKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBt
ZXRob2QoYSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmpl
Y3QgPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0U3lu
dGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWAp
OworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIDAoYSwg
YSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5
bmMoKSA9PiBhd2FpdDtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBh
c3luYyBmdW5jdGlvbiooKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgYXN5bmMgZnVuY3Rp
b24qIGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0g
eyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhF
cnJvcihgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2Qq
KCkge30gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBm
dW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgYXN5bmMgZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQgMSkgPT4geDtgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsgcmV0
dXJuIHg7IH0gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2Vu
ZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMgeWllbGQgPT4gMTsgfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNB
cnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHggPSB5
aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2Vu
ZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoe3ggPSB5aWVsZH0pID0+IDE7IH1g
KTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkg
e30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5k
cyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBj
bGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90
b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoKSA9
PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUgRmVy
cmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9uIGZv
bzEoKSB7IH0gZm9vMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0
aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBm
dW5jdGlvbiBmb280KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMg
ZnVuY3Rpb24oKSB7IH0gZm9vNSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
IGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMg
ZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5mb282
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vOSAoKSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YChhc3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5
bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydmb28x
NCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE1J10gZm9vMTYg
PT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTcnXSAoKSA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzE4J10gPT4gMSlgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMjEnXSAoKSA9PiAxYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKCIoYXN5bmNgZm9vMjJgID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5
bmNgZm9vMjNgIGZvbzI0ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9v
MjVgICgpID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjZgLmJhcjI3
ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjhgLmJhcjI5IGZvbzMw
ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+
IDEpIik7CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3Ig
Y2FsbHMgdGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhF
cnJvcihgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAgICAgYXN5bmMoeyBm
b28zMyA9IDEgfSlgKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0
U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgpIHt9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0
ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5
bmNGbiA9IGFzeW5jICgpID0+IHsgdmFyIGF3YWl0ID0gJ3Rlc3QnOyB9O2ApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGF3YWl0ID0+IGF3
YWl0ICsgJ3Rlc3QnYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoYXdh
aXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0Zu
ID0gYXN5bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihhd2FpdCkg
e31gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmpl
Y3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGEs
IGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVy
T2JqZWN0ID0geyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgMChhLCBhKSB7fSB9
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jQXJyb3dG
biA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiooKSB7fWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3IoKSB7
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgKmFzeW5j
IGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBh
c3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsg
cmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMg
ZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4O2ApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9k
KHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJv
d0ZuID0gYXN5bmMgeWllbGQgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBh
c3luYyh5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh4
ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
ZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoe3gg
PSB5aWVsZH0pID0+IDE7IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyBjbGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5j
IGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyBjbGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5kcyBDIHsg
c3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4g
eCkoKTtgKTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzEoKSB7IH0gZm9v
MiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVu
Y3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gZm9vNSA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7
IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5j
IGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IChhc3luYy5mb282ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgKGFzeW5jLmZvbzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNCddID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTUnXSBmb28xNiA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2ZvbzE3
J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5j
KClbJ2ZvbzE4J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
KGFzeW5jKClbJ2ZvbzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIyYCA9PiAxKScpOworICAgIHRlc3RTeW50
YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjNgIGZvbzI0ID0+IDEpJyk7CisgICAg
dGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yNWAgKCkgPT4gMSknKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI2YC5iYXIyNyA9
PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjhg
LmJhcjI5IGZvbzMwID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7
IChhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSknKTsKKworICAgIC8vIGFzc2VydCB0aGF0IGVy
cm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5bmMg
ZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uIGFz
eW5jKCkge30KKyAgICAgICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7CisK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhv
ZChldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoZXZhbCkge30gfWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgMChl
dmFsKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIG1ldGhvZChhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhcmd1bWVudHMp
IHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFz
eW5jICdtZXRob2QnKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgMChhcmd1bWVudHMpIHt9IH1gKTsKKworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGR1cGUs
IGR1cGUpIHt9IH1gKTsKK30pKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>289449</attachid>
            <date>2016-09-21 07:13:36 -0700</date>
            <delta_ts>2016-09-21 07:13:36 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews117 for mac-yosemite</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1451223</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
R9mbqtXrnyeZVi0yIZJwUv4j/hG/i3gCUEsDBBQAAgAIAI4xNUn+l7mHvwAAAPIGAAA8ABwAY29t
cG9zaXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFtZS1vbi1iYWNrLWJ1dHRvbi1zdGRlcnIudHh0
VVQJAAM7h+JXO4fiV3V4CwABBPUBAAAEFAAAAO3PMQvCMBQE4N1fkVEHmza1tRYctCg4iIKjSHmm
D43GprxGIf9exUEHVwch2910923DNI9ELoZBHGc7pixeoHW1LDdo12QaJOtYqw41aI0VQ6JxPxLD
LGHd81wdptDian9CaWdEhspFfQOtKrBY9VhXfTawjG/MlSQWII/IC0O4xErBO/WjJBWBGIT8MW2N
dQ22fK3BIfHH2CuVk+e/QDKtamRCjOLO1iM84ieINPlEFKZxf6EIs8wrvMIrvijuUEsDBAoAAAAA
AH0xNUkAAAAAAAAAAAAAAAASABwAY29tcG9zaXRpbmcvdmlkZW8vVVQJAAMdh+JXNYriV3V4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACAB8MTVJb7t4n7AAAADeAwAAMAAcAGNvbXBvc2l0aW5nL3ZpZGVv
L3ZpZGVvLWJvcmRlci1yYWRpdXMtc3RkZXJyLnR4dFVUCQADG4fiVxuH4ld1eAsAAQT1AQAABBQA
AADtz7EOgjAUBdDdr+iog5RWQSRxUKKJg5HEkRjyLC9arZQ8qkn/XtRBP4Lt3uneU4RxKkQaTYL5
RByZdniH1teqzGzjc7INkvOs1ecajMGKIdFiLOQsidjwttHnFbS4P11RuTWRpXJbP8HoChxWIzbU
/w0c4wf7IIUZqAvyzBLusNLwS2MRxTKQ05B3084632DLcwMeiXdj31Qu3wcDxYyukckwSQbFn0L2
il7RKz6KF1BLAwQUAAIACAB9MTVJK86Z+sIAAADyBgAAMgAcAGNvbXBvc2l0aW5nL3ZpZGVvL3Zp
ZGVvLWNsaXAtY2hhbmdlLXNyYy1zdGRlcnIudHh0VVQJAAMdh+JXHYfiV3V4CwABBPUBAAAEFAAA
AO3PvQrCMBQF4N2nyKiDTROtVsFBi4KDKDiKlGt60Whsym0U8vb+DeoDOAjZzpnO+TZxbyjEMEmi
QSy2TDs8Q+1Lla/RrchWSM6zWu9LMAYLhkSjtpD9NGHN00zvJ1DjcndE5aZElvJ5eQWjC3BYtFhT
fzZwjK/thRRmoA7IM0u4wELDO7VF0pOR7Mb8Pu2s8xXWfGXAI/H72Cvl48e/SDGjS2RSDjqNTUAE
xE8QQn4iMlv5v1DEafql6ARFUATFU3EDUEsDBAoAAAAAAIcxNUkAAAAAAAAAAAAAAAANABwAZGlz
cGxheWxpc3RzL1VUCQADLYfiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAhzE1SaNX/ehQ
AAAAjgAAADIAHABkaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJy
LnR4dFVUCQADLYfiVy2H4ld1eAsAAQT1AQAABBQAAABzL0osyMhMLnbOzytJrSixskpPLXEO8dXQ
VMgsVsjLL1GoTC1RSM7PLUgsyUzKSVUozyzJUChKTc4vSsnMSwfKgLUV63G5oxtUjGYQMYYAAFBL
AwQUAAIACACHMTVJ8paV1UcAAABJAAAAKQAcAGRpc3BsYXlsaXN0cy9sYXllci1kaXNwYXktbGlz
dC1zdGRlcnIudHh0VVQJAAMth+JXLYfiV3V4CwABBPUBAAAEFAAAAHMvSizIyEwuds7PK0mtKLGy
Sk8tcQ7x1dBUyCxWyMsvUahMLVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxLB8qAtRXrcQEAUEsD
BAoAAAAAAJkxNUkAAAAAAAAAAAAAAAAIABwAZWRpdGluZy9VVAkAA1GH4lc1iuJXdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAAKgxNUkAAAAAAAAAAAAAAAATABwAZWRpdGluZy9wYXN0ZWJvYXJkL1VU
CQADbIfiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAmTE1SX6p8SDpAAAAggEAADAAHABl
ZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1yZXNvbHZlcy11cmxzLXN0ZGVyci50eHRVVAkAA1GH4ldR
h+JXdXgLAAEE9QEAAAQUAAAAdY9BS8NAEIXv/RVzkkSk40EvSwkUbS4WlaQ058nuJC6kmbA7Efrv
TWxEEXqc9773ZmZXFG+FgZx8xw5UgIL98J8McawDRxmDZWgkQDMBBhGP0o0njvhMSrirSqy4fvGK
ezrLqAeOGpGdV9+3OFBUroWCw5+uiFTzeujb1dWm8hucpycJjJ2Q44DLXWgb3HNL9jz524u2tsOQ
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
L1z4fFQbbWyPAy8VWCQ+yj5Ur94HPcGU7JCFfpbNqqliqpgq/ipeUEsDBBQAAgAIALcxNUkRjDD5
hQAAABoBAAAmABwAZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50eHRVVAkAA4qH
4leKh+JXdXgLAAEE9QEAAAQUAAAAzc49DoJAFEXh3lXcDUgcIBAmxgaMjZXYGYtRbiLJ8IY8Bv9W
L8uwPF91Wo5IDTaFNZnNC/A1GVMmPtydRzMP44nSUc9KXtKqKvMrtnvVoDuL+lAHiXzHlvHYCxs3
PSx6eTrfd+iWglN1HwsX4emmiCAEPQdKxDAvcCMkyPpLDcmq/aeZH1BLAwQKAAAAAAARMjVJAAAA
AAAAAAAAAAAACQAcAGZhc3QvY3NzL1VUCQADMYjiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgAETI1SYG2L16xAAAAzgEAADYAHABmYXN0L2Nzcy9wZXJzcGVjdGl2ZS1vcmlnaW4taW5pdGlh
bC1pbmhlcml0LXN0ZGVyci50eHRVVAkAAzGI4lcxiOJXdXgLAAEE9QEAAAQUAAAAzY8xD4IwFIR3
fsXbhEEbJ5UVGIyDhkadsTxJk7avaR9E/r0aDcbdwfEud1/uqrre1zmc8bLTDC1hBEcMIzJo6w1a
dAwdckHW94yt5NEgXCnAzGOIHhXrAecUdKfd/DZbJOJEprcYRdlwI6qzFC+4kNQHhU9VUEChYhSF
lF/gEpVpQsOa3EJ5ny7Xq00GOQykW3gX89xQd3TTOmwPgR5beNyW6ZR5kD92llQ/vTn+6807UEsD
BAoAAAAAAK4xNUkAAAAAAAAAAAAAAAAJABwAZmFzdC9kb20vVVQJAAN4h+JXNYriV3V4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAACuMTVJAAAAAAAAAAAAAAAAGgAcAGZhc3QvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXIvVVQJAAN4h+JXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACACuMTVJKNl5NrAAAADu
AAAAPwAcAGZhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvZGF0YWJhc2UtY2FsbGJhY2stZGVsaXZl
cnktc3RkZXJyLnR4dFVUCQADeIfiV3iH4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JOoVBt
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
DsJADNv7inygZGC7GSbYQHRO21SclLtUuZzU/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+VGri
ghdywuvwwIHHW3S8067Vn1y84ELFcSuCxkWrTS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEhQM00
tlFXEKX5T+P9Uc/z90X3AVBLAwQUAAIACADUMTVJzgkoAo0AAADwAAAAJwAcAGZhc3QveHNsL3hz
bHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQADwIfiV8CH4ld1eAsAAQT1AQAABBQAAACl
jjEOwjAMRfeewhcoHtgywwQbiM5O64pITlw5jgS3J9AjsHz5/2dbf9a8JSFPWoDN1AKsSfgnAREf
Ki1zxRM54Xm64cTxkhyv9Nbmd65ecaXq+KqCxlWbzX29Ox8jLWPKm5qPzdKhZyCpMByBhTMXh50O
nYR9hACtUOwFXEGUln+LFK1tfn6f9DuR4QNQSwMEFAACAAgA1DE1Sc+PZg5QAAAAoAAAACQAHABm
YXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAkAA8CH4lfAh+JXdXgLAAEE9QEA
AAQUAAAArcyxDcAgDAXRnin+BlHabIPACEs2RpaJMn7IDmmuu1dMJ0sOtgFyN7/QWAgQHoQTJKQ0
ArZirkg87ixcsbsIzRxK0a3uyyyVv7Cnh8rxkS9QSwMEFAACAAgA1TE1SYFKd61LAAAArAAAADQA
HABmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJ
AAPCh+JXwofiV3V4CwABBPUBAAAEFAAAALXMsQ2AMAxE0T5T3Aq0bOPABVlybGQs5keiYAPqr/e3
mKealIaDmZErhhoBUycW0DjphVtSpRtbcudQ11fEwGHRxb6O4lVt++X6AFBLAwQUAAIACAAkMzVJ
NOulrlcBAAAHAgAAEQAcAGZ1bGxfcmVzdWx0cy5qc29uVVQJAAMziuJXNYriV3V4CwABBPUBAAAE
FAAAAE1RyU7DMBD9lWpOICWkCaVAOFVqhBBlURMot8hJJo3VLJY9hlYV/47tVBW+2DOet/h5sVzm
6yT9WGXpxREIFSmIj8A7MUjCyp5/rku3YeGLllE9yM4/D3ZYcearQcsSz/VY+pWWjPjQXzXUtfZS
omWFGNbJoxFNn95ewQPcCyydFrwv0tR0WEmaGQRkyVdm6oapXFGFUkJMUuOvWx6oHRfCAqP78NaD
Xne5xK1EpYyqsRd6MFCDMi8lUw1awwbFezJMWjjJmrUKR2jHDa7fQjz1oGWHQVPunplX3OhC8Dm0
ukMVLBmxINmkwQaLZ07Bys1mLhEPvlFadYhnI6tgSlnlWRTNTEvwPbYnXuxZ0f4zUTEyGcJ0Hkc3
i5fJ0E9SNC67AuUkCr1JNA3npzSERKKDIaeyGTPxoOZ7y+fSuBvF65btDu5B2pjIx6Tdn6i85nbW
xXn58AdQSwMECgAAAAAA1jE1SQAAAAAAAAAAAAAAAAUAHABodHRwL1VUCQADxIfiVzWK4ld1eAsA
AQT1AQAABBQAAABQSwMECgAAAAAA9zE1SQAAAAAAAAAAAAAAAAsAHABodHRwL3Rlc3RzL1VUCQAD
AojiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA2jE1SQAAAAAAAAAAAAAAABEAHABodHRw
L3Rlc3RzL2NhY2hlL1VUCQADzIfiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA2jE1SVq1
zFo0AQAA8gQAADAAHABodHRwL3Rlc3RzL2NhY2hlL21lbW9yeS1jYWNoZS1wcnVuaW5nLXN0ZGVy
ci50eHRVVAkAA8yH4lfMh+JXdXgLAAEE9QEAAAQUAAAA7ZRNSwMxEIbP9lfMUQ8u2dq6NEjBbg8K
CqWLKJQe0mR2NzROSpL169c768fFoxW8dG4JmWfeeWfISpzLfCTHw2xYTNZwwQHl8nJWwZQDatfF
doFkLDVLdKgiVpgkrMRLUddmMilGmI/FGmbO6y0IaFUE8nT6hsFDwBq07yjBaFDhDoY5fJcDfI55
XmScphyEpAPufEhcZnUmhBizlGuq/VSC803D1xCTCilmWfYL1Bw3XcOsiOkWY1QN3nxSP2RL4ESH
Zh9wL670VNumCypZT/c2taV/3DnsT1eKjMMgoVS6RcNGIakN14SN0lv2N+7X1V3E0Ps1t5qn85Mt
4XhwdHLw7R98I/Nl3EdfKmHjwytzqXPuQP4rsiWbemTFdN6afqISHhYl/z5EqPtN4jdPylkzeAdQ
SwMEFAACAAgA2jE1SaJC6MyDAAAAwAAAAD0AHABodHRwL3Rlc3RzL2NhY2hlL25ldHdvcmstZXJy
b3ItZHVyaW5nLXJldmFsaWRhdGlvbi1zdGRlcnIudHh0VVQJAAPMh+JXzIfiV3V4CwABBPUBAAAE
FAAAAJ3MsQrCMBCA4b1PcaMuklSrEMSlLg6CkEFBHGJ6xoNwV5JU8e2Nr+D68/NZHKHVoNZGr0zX
Ar6z1ptFFO8ipOITjpIKcbgulVLdDbZ7vE9hZyAjD0fM2QU8U3n2rmCQ9DEw4ynGeWP/lomp/Ehb
dRI+8EMMXE49eGFGX2qrz8tFGpovUEsDBAoAAAAAANYxNUkAAAAAAAAAAAAAAAASABwAaHR0cC90
ZXN0cy9jYW52YXMvVVQJAAPEh+JXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADWMTVJAAAA
AAAAAAAAAAAAGAAcAGh0dHAvdGVzdHMvY2FudmFzL3dlYmdsL1VUCQADxIfiVzWK4ld1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgA1jE1SVLTTjRvAAAApAAAADsAHABodHRwL3Rlc3RzL2NhbnZhcy93
ZWJnbC9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2Utc3RkZXJyLnR4dFVUCQADxIfiV8SH4ld1eAsA
AQT1AQAABBQAAAALTi1QMDJUMDCzMjSxMjFRSC0vNjQ018vJT07MUSgqSS5KLcgvKsnMS482srQ0
M4lVsPHMS8u3s1LIyU9PBworFJckFpUU6+npcQWTbJRLalJpOtCs4tQS39Ti4sT0VB+IqU5ATdlW
CkCNOakpXABQSwMECgAAAAAA1zE1SQAAAAAAAAAAAAAAAC8AHABodHRwL3Rlc3RzL2NvbnRlbnRk
aXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L1VUCQADxofiVzWK4ld1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgA1zE1SWXRGYh/AAAAlQAAAFEAHABodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlv
bmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXN0ZGVyci50eHRVVAkA
A8aH4lfGh+JXdXgLAAEE9QEAAAQUAAAADYgxDsIwDAB3XuEP0KQFBMrepQtS4QNp4qqphB3ZrgS/
J7rhTreZ1eBcP9w73+jDw3vvEpMhWS5aWYsVpmgW0/ZpUyPlhb9OUPmQhNpqRUE5bxhzk5qUWjF3
u4bhGi63ANMLxnl+zvD+VRxFWAIclHEthBmKArFBJOBlx2SnP1BLAwQUAAIACADWMTVJZdEZiH8A
AACVAAAAagAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gv
cmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVyci50
eHRVVAkAA8SH4lfEh+JXdXgLAAEE9QEAAAQUAAAADYgxDsIwDAB3XuEP0KQFBMrepQtS4QNp4qqp
hB3ZrgS/J7rhTreZ1eBcP9w73+jDw3vvEpMhWS5aWYsVpmgW0/ZpUyPlhb9OUPmQhNpqRUE5bxhz
k5qUWjF3u4bhGi63ANMLxnl+zvD+VRxFWAIclHEthBmKArFBJOBlx2SnP1BLAwQUAAIACADXMTVJ
ZdEZiH8AAACVAAAAawAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNh
bmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItZGVmYXVsdC1z
dGRlcnIudHh0VVQJAAPFh+JXxYfiV3V4CwABBPUBAAAEFAAAAA2IMQ7CMAwAd17hD9CkBQTK3qUL
UuEDaeKqqYQd2a4Evye64U63mdXgXD/cO9/ow8N77xKTIVkuWlmLFaZoFtP2aVMj5YW/TlD5kITa
akVBOW8Yc5OalFoxd7uG4RoutwDTC8Z5fs7w/lUcRVgCHJRxLYQZigKxQSTgZcdkpz9QSwMEFAAC
AAgA1zE1SWXRGYh/AAAAlQAAAGkAHABodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFj
aG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW5l
dmVyLXN0ZGVyci50eHRVVAkAA8WH4lfFh+JXdXgLAAEE9QEAAAQUAAAADYgxDsIwDAB3XuEP0KQF
BMrepQtS4QNp4qqphB3ZrgS/J7rhTreZ1eBcP9w73+jDw3vvEpMhWS5aWYsVpmgW0/ZpUyPlhb9O
UPmQhNpqRUE5bxhzk5qUWjF3u4bhGi63ANMLxnl+zvD+VRxFWAIclHEthBmKArFBJOBlx2SnP1BL
AwQUAAIACADXMTVJZdEZiH8AAACVAAAAbwAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9u
YXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVy
ZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVUCQADxYfiV8WH4ld1eAsAAQT1AQAABBQAAAANiDEO
wjAMAHde4Q/QpAUEyt6lC1LhA2niqqmEHdmuBL8nuuFOt5nV4Fw/3Dvf6MPDe+8SkyFZLlpZixWm
aBbT9mlTI+WFv05Q+ZCE2mpFQTlvGHOTmpRaMXe7huEaLrcA0wvGeX7O8P5VHEVYAhyUcS2EGYoC
sUEk4GXHZKc/UEsDBBQAAgAIANcxNUll0RmIfwAAAJUAAAB+ABwAaHR0cC90ZXN0cy9jb250ZW50
ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRo
LW1ldGEtcmVmZXJlci1uby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS1zdGRlcnIudHh0VVQJAAPF
h+JXxYfiV3V4CwABBPUBAAAEFAAAAA2IMQ7CMAwAd17hD9CkBQTK3qULUuEDaeKqqYQd2a4Evye6
4U63mdXgXD/cO9/ow8N77xKTIVkuWlmLFaZoFtP2aVMj5YW/TlD5kITaakVBOW8Yc5OalFoxd7uG
4RoutwDTC8Z5fs7w/lUcRVgCHJRxLYQZigKxQSTgZcdkpz9QSwMEFAACAAgA1zE1SWXRGYh/AAAA
lQAAAGoAHABodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3Jl
ZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW9yaWdpbi1zdGRlcnIudHh0
VVQJAAPGh+JXxofiV3V4CwABBPUBAAAEFAAAAA2IMQ7CMAwAd17hD9CkBQTK3qULUuEDaeKqqYQd
2a4Evye64U63mdXgXD/cO9/ow8N77xKTIVkuWlmLFaZoFtP2aVMj5YW/TlD5kITaakVBOW8Yc5Oa
lFoxd7uG4RoutwDTC8Z5fs7w/lUcRVgCHJRxLYQZigKxQSTgZcdkpz9QSwMEFAACAAgA1zE1SWXR
GYh/AAAAlQAAAG4AHABodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5k
Ym94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLXVuc2FmZS11cmwt
c3RkZXJyLnR4dFVUCQADxofiV8aH4ld1eAsAAQT1AQAABBQAAAANiDEOwjAMAHde4Q/QpAUEyt6l
C1LhA2niqqmEHdmuBL8nuuFOt5nV4Fw/3Dvf6MPDe+8SkyFZLlpZixWmaBbT9mlTI+WFv05Q+ZCE
2mpFQTlvGHOTmpRaMXe7huEaLrcA0wvGeX7O8P5VHEVYAhyUcS2EGYoCsUEk4GXHZKc/UEsDBAoA
AAAAANcxNUkAAAAAAAAAAAAAAAAPABwAaHR0cC90ZXN0cy9jc3MvVVQJAAPFh+JXNYriV3V4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACADXMTVJW3DzZ8cAAABTAgAALgAcAGh0dHAvdGVzdHMvY3NzL2Jv
cmRlci1pbWFnZS1sb2FkaW5nLXN0ZGVyci50eHRVVAkAA8WH4lfFh+JXdXgLAAEE9QEAAAQUAAAA
5ZExa8MwEIXn+FfcmC4lCiYlImRxhnYoFExpoWQ4S2dZVDkZ6dzSf185a7ZkzHYPju/x3mtphLWC
1UarWtc10G9W6ukxRIMBkphEY0zi2X2tt9tNfYTdgbrJ7TVkwSRN5N67KaH4yB9ehiaexkCzeka2
gZKGBs1AFlZAjF0oV4fmm9jmqr3enOQ9U3rhPh68EX3B1rCsFg83ObB9pZzR0TkXCrmY/gqXpxDu
jezZy4xsC71sO/eu4fOtAROZycx7l58fDN5W/1BLAwQKAAAAAADgMTVJAAAAAAAAAAAAAAAAFQAc
AGh0dHAvdGVzdHMvaW5zcGVjdG9yL1VUCQAD04fiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAA4DE1SQAAAAAAAAAAAAAAAB0AHABodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL1VUCQAD
04fiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA4DE1SUz7r9PeBwAAXSsAADcAHABodHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlLXRpbWluZy1zdGRlcnIudHh0VVQJAAPT
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
AN0xNUl5/2HLuQEAANAEAABAABwAaHR0cC90ZXN0cy9tZWRpYS9obHMvaGxzLWFjY2Vzc2libGl0
eS1kZXNjcmliZXMtdmlkZW8tc3RkZXJyLnR4dFVUCQAD0ofiV9KH4ld1eAsAAQT1AQAABBQAAADN
k9Fr2zAQxp/Xv+Ie1xcTp07aeCOQuus2qEsglD6EMS7W2RaRJU86L/S/3ylZR0LfWgrTm6S77z5+
n7QeTfM0yydXyWg8/gGfV1++Lh/K5RwWzNT1fE+8c35bOqvZ+RXx0OdgHUMgZm0bGHqwhxroDkWf
AJXyFALoAMZVaM7WR1Mu3m3KinoYp/A8C2gX0vQy2V+C58pT73yUW49ns8uR+PhuazfPpb1p4pTA
6DkkSfIKqRvaDI1oieNSXGFDdwfVa2na5iCNhtQxiSzylgW3ulmxJ+yWBp/Iw1wW1H0dfi4Mk7fI
dKcDFy3ahpRItc6F6FcLCS2G8LlMTsBI6cmY/wn4P0qRdOFsrZvBI2tnHzW3het6Q3H3Da0y5HMo
sGpJwQjI4kYAwgarLVkV3hbRQyAfw7/RFecvtHP4ePbh/ATi5BhiSUrjrTZUoKkGI+CvHxdWFS1V
2wKFZEkYBr9XtGqnFbcRWiMZS1DAEmQkwFIggf1Gr9FyzFUCjvA9/Rr0aXvtXQfTiyybpMAOptns
ajZ54fA1r6kYvCfLR4+ol5Tl5E2Erfr7C/a5imrj/JNwtYMx5++o/AdQSwMEFAACAAgA3TE1SbGB
iWfGAQAARQUAADoAHABodHRwL3Rlc3RzL21lZGlhL2hscy9obHMtYXVkaW8tdHJhY2tzLWhhcy1h
dWRpby1zdGRlcnIudHh0VVQJAAPSh+JX0ofiV3V4CwABBPUBAAAEFAAAAM2UT2vbQBDFz/WnmGNz
CVYi/1OKwVGathAVgwgphFLG2pG0eLWr7o5i8u076zRgk1tDQ/am5c2b0fuNVFIPZwmMp1mSZpM5
0C4kyezUuAoNeK489c6zts392WIxG/+ET1e0GZplBoGsKigEbOhOc5sjU+P8YwYf7WDMyah8h87a
ao6WpbhrZ7/Z2mXwY51D5ayliuVONA9otBrdP/ufTs9n4lF+/rK+LdZLWDFT1/N34p3z28KJp/Ml
8dBnYB3L+Bybw9CDfdJA9yS6AFTKS2/QAfbjvlGX17DgvyhuXNOI4lKKthlIoaGjkNK5lMmBa92U
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
lNDS7oe6yaazgmz0ZMaAh+fqwK2zfURxgd+dnOrw1Xkarldk4ykqqFGfyMAMiLHJmdCgPhObNK7V
MVEc9to6LeoPW8F08vA4KoHN73C3XihkQ7xmLvfe35P8DVBLAwQUAAIACADdMTVJJm1iZuUAAACs
AgAAKgAcAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQAD0ofi
V9KH4ld1eAsAAQT1AQAABBQAAAC1kUFLA0EMhc/2V+RoL9JdrG0H8eD2YKEFYREF8ZCdTadDx2SZ
ySr+e2fFi3gQWXpMyPte8lJTB2UBsytTXJr5Aug9FcXiIojFAFFtpE6ienbP5Wq1LF/gek1N724M
JOJ2Rymho0evhwqVnMQPA+fchzCd1D/Iy3+QPXsdkHWme+EN78XA030FVpjJau7lmTcMvh3hkki/
19+Kc3niNouOBrIw0CiwYtRKeO9dH3HY9isfee0CDdUdchsoGqjQHqiFGRBjkz2hQXvMqaZxVz0k
ikNma2/V/GLn/0zOpqMcTvX3v8ifUEsDBBQAAgAIAOExNUm+nHjF7wAAAMYDAAA5ABwAaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXN0cmVhbS1jaHVua2VkLWljeS1zdGRlcnIudHh0VVQJAAPV
h+JX1YfiV3V4CwABBPUBAAAEFAAAAN2TQUvEQAyFz+6vyNG9SFtc3R3Eg92DgoJQREE8pNPs7LBj
psykiv/eVDwIXlyLF48JyffevDAN9VCVUJyY8tgslkCvuSxPj0K0GCCJTdTHJJ7dY7VaLasnOFtT
O7hzA5m4u6Gc0dG9l22NQi6mNwOHPIQwnzW/Jnv2MiIbpfvIV7yJBh5ua7CRmaxoT2deMPjuq8rC
FMVe/uXT/nV0TicudGlnQBcDTQILJqkjb7wbEo5uP/KJz32gsbpE7gIlAzXaLXWgbMZWNaFFu9NU
87RX3WVKY2Zrb8V8Y+t9ZgfzSQo/vvufkst/Tt7nF7wDUEsDBAoAAAAAAOAxNUkAAAAAAAAAAAAA
AAAeABwAaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvVVQJAAPTh+JXNYriV3V4CwABBPUB
AAAEFAAAAFBLAwQUAAIACADgMTVJM0BA5IoAAACbAAAAXAAcAGh0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXBsYXktdGhlbi1zZWVrLWJhY2std2l0aC1yZW1vdGUtY29u
dHJvbC1zdGRlcnIudHh0VVQJAAPTh+JX04fiV3V4CwABBPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/A
9KoQYdOwmDgpcTEOR3tgk9KSK8TUr5ft5WmFVaHqQiOoqsFjU572NWpo12m+c7AsnTC/Dkph2SBW
qOs3XMcQxYURTAyLRN+5iXtKDIkX6DMY7zhsYkPrtufng6bZ82UdBpbWpdlTvlFmgS8lIGvZwhKB
IOVgPhKD+7Hs/lBLAwQUAAIACADhMTVJCTWRie0AAABfAQAALQAcAGh0dHAvdGVzdHMvbWVkaWEv
cGRmLXNlcnZlZC1hcy1wZGYtc3RkZXJyLnR4dFVUCQAD1ofiV9aH4ld1eAsAAQT1AQAABBQAAACF
j7tuwzAMRfd8BadstmSjzUOAEQRpiw4dCiOdgg6KxdgC9KpEFcjfV0abrCWXe3EuCfLEV6J5FLyt
V3z7Ca/H43uPXxkTwUWPs33KNrxoJ81H/7Z3qkfrCfdKRUxJgPwV0LTrmpduyljJQo4GJqIgGLsj
seGcM4tKS/atFfqKpuiJDKrKeKnqYdQ7Jy12ZaXPccDEqFxSB3VZ3qLddq4lXQN2MgSjB0naO1Yy
i9O/z/zZQ0RJ+ByjjwdvLToSgG7w2RFGVCAd4AwFnK+EEKUbEQy6kSawOllJwwQVpMlno+B8Zy3o
dNPr7eZh8QNQSwMEFAACAAgA4jE1SVlZ3yLBAAAAkgEAAC8AHABodHRwL3Rlc3RzL21lZGlhL3Jl
bG9hZC1hZnRlci1kaWFsb2ctc3RkZXJyLnR4dFVUCQAD2IfiV9iH4ld1eAsAAQT1AQAABBQAAACl
kLtuAjEQRevsV0wJDdpdHglWlIKlAIlUKKJAKWbtwViY8cqeFeLvcaJUoQoprzT3HM3dUgd1BeVM
VVNVjoEuqaqeRz5o9BBFR+pCFMd2X8/nL/UnvC6p7e2bgkTyTimhpU2wNl8scumkIBc9mWL7OFgw
ShP44GwfUVzgnZNjE86dp6+0QjaeooIG9ZEMlECMbXZCi/pEbNJ/5CQfieKaD2HptKg7toJB8TT8
ZZj8ycDmZ7jvv1DIhnjNXO69HxY3UEsDBBQAAgAIAOMxNUkChsgBSAEAAHQCAAAvABwAaHR0cC90
ZXN0cy9tZWRpYS90ZXh0LXNlcnZlZC1hcy10ZXh0LXN0ZGVyci50eHRVVAkAA9mH4lfZh+JXdXgL
AAEE9QEAAAQUAAAAzZBPTwIxEMXvfIo5ET2w/wSBRjQENJpoQgCjCeFQtsNuk+50bWcRvr0lAmeP
Ti/z+t780s4Ca8hSSG5F2hNJF/Dbp2k/MjaXBhznDmvrWFOxyobDQbaGuylumuJegEdSb+i9LPBD
czmRjIV1BwFX1Bhz3Vr8Q7ImzUfkItC1pRfaWgGfswnklghzDnchs5NGq9bqxO9F/SRdw/NyOZvj
V4OeYauLo5w2Vf2kSZr3+euY1BwryzhWygW6APnbQJr1oyScNIyFLDTOQMlcizi+WGKQJElcodIy
3mmFtsOls8wGVcdYqaK80A8kKxwFpG1cjj7m8JKI99w+R0fDY7X5UOOIcc9xbaSmP/zjJCcOw6Yf
nbNuYqsKiQUg5bYhRocKJAEeTQGbAyM4SQWCQSq4hEr7SnJeQgd8aRujYHPxMtD+3He7yU3rB1BL
AwQKAAAAAADgMTVJAAAAAAAAAAAAAAAAFwAcAGh0dHAvdGVzdHMvbWVkaWEvdHJhY2svVVQJAAPT
h+JXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACADgMTVJbXjQ8IQAAADAAAAAPQAcAGh0dHAv
dGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXNsb3ctbG9hZGluZy0yLXN0ZGVyci50eHRV
VAkAA9OH4lfTh+JXdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy5iglobxKUuDoLQQUEcYnqN
B+FSkqvi2xtfwfXn5+twBK1guTFqZdZbwHdWql6E6GyAJC7hGJMQ+5tumlrfYXfAx+T3BjJyf8Kc
rccLybO1gj6mj4EZTyHMq+5vmZjkR3ZFp8hHHqKB67kFF5nRSWnledlAffUFUEsDBBQAAgAIAOUx
NUlEWePsCQEAAHgDAAA2ABwAaHR0cC90ZXN0cy9tZWRpYS90cmFjay1pbi1iYW5kLWhscy1tZXRh
ZGF0YS1zdGRlcnIudHh0VVQJAAPdh+JX3YfiV3V4CwABBPUBAAAEFAAAAM2RQUvDMBTHz+5TvKNe
RtuxzkUZaCcqWBmU4aF4SJu3LDRNQvLK8Nvbbg4GHqfiMeT/fr/3T8ooZfGURel4kibvcFs8PK7W
+WoBd0TYOnpF2lnf5NYosr5A6hwDYwkCEikjoXNgDhloD6Eb4EJ4DAFUAG1rrkfliWXya5YCHSQx
HF2AuxDHs/H+EjzVHp31A65M5vProe0Sq04u2KDJexSX+GKl7BP3/VDDoB/UKE7WT6fxf1yfuKfM
mo2SneekrHlTtM1s6zQOpyduhEbPIOP1FgVEgIZXfTOoeN2gEeG8t1sH9M9mY5eqJvaNzeBydHF1
lsGIr+/Z9+KE0vqPnms6rf+OPPtB8idQSwMEFAACAAgA5TE1SSix11OJAQAAbAcAACYAHABodHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLWF1dGgtc3RkZXJyLnR4dFVUCQAD3ofiV96H4ld1eAsAAQT1AQAA
BBQAAADVVN9P2zAQfqZ/xT3CQxM70KS10KQtFQIJUNUwDWniwXWO1KtrRxeHX3/9nIFg0wZSFyZ1
b7Z19913d9/nAmtIOLBU8JFgE8DbhvMsMk5JA+QVYe3Ia1t9TSaTcXIFh1NctNUHAQ3a8gybRlb4
RftlLj1Wju4F7NrWmL1B8dfI2mrfQRYBXTt7Yq+dgMtZDspZi8qHtxBzI40uBwnj6ZBNhj9VilKe
wrRd1/PAEOmCEB9LCM5HWXZwBY83yI/O0d86WgU0j2QDLyRyBLvsTjEuRVy4lhTmUi0xfo5+OQ2z
hEWjKItn5L4FYvPWer3GuEDSgd2DXBj8SGqpbzBSdS1GKdv7vxjzdL/PJhv0TxI5dVUVIj6FpJWA
kGiw7APsJfnc2WtdtSQ7RfzQoFvXBrvbsbSlQQoT6yZRAgO0XW8lLKRahSk3/br63CB1upxq5cVv
2MEDg51+c3vbW3/SUDYev6ahNEvSLVT91jLurfpt+Bl/qcLZP3LtZsDv7NpNu9rctRtWeHvv3wFQ
SwMEFAACAAgA5jE1SRv/7r/eAAAAUgIAAC0AHABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWVycm9y
LWFib3J0LXN0ZGVyci50eHRVVAkAA9+H4lffh+JXdXgLAAEE9QEAAAQUAAAArZFBSwNBDIXP9lfk
aC/SWajaQTy4PbRgQVhEQTxkZ9Pp0Glmmckq/nuz4klvrseEvC/Jew31UBlYXFqztGYB9F6MubqI
yWGELC5Tn7IE9i/VanVdvcLNmtrB31ooxN2OSkFPT0EONQr5lD8snPMQ43zW/JkcOMiIbJQeEm95
nyw8P9TgEjM50Z7OvGEM3YQtheT7/PvkvU7cqehoQYWRJoEFs9SJ98EPGcdrv/xJpz7SWG2Qu0jZ
Qo3uQB0om7HVndCiO6qrZdpXj4Xy6Nk6OLG/2JrP7OxnOuYfc/8EUEsDBBQAAgAIAOYxNUlXWugU
EwEAAOMBAAA2ABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC1z
dGRlcnIudHh0VVQJAAPgh+JX4IfiV3V4CwABBPUBAAAEFAAAAJ1OQWrDMBC85xV7TA52LDdubFEK
waak0EKwU1oIOSjW2hGVJVeS0/b3VXDItbTsZWZndnYq7CEmEN1SklBCAD8tIctQ6ppJMK422Gvj
hGp3cZal8R7uCjwM7T0Fi4o/o7WsxVfhjjlz2GrzTWGqBilnk+rfyUIJd46sfLrQ6lE1msLbJoda
K4W18zvvOTEp+GR3yY/DhCR7WG+3mxI/BrQOGtGunesvtBC8xBrFCUu0vVYWcyblgdXvFMwocDh6
v2ejDotoAVM0RhsISJzdpDNoPD6b6HxO4mUY+SE0jaJozjXaQGkX4JewLux6bH8r52kxdP2DUEy+
lE8r5Rt22uGKc9/BUmAjgOsrf+a9MBj5hxY/UEsDBBQAAgAIAOcxNUmm0VydzQAAACQDAAAsABwA
aHR0cC90ZXN0cy9tZWRpYS92aWRlby1sb2FkLXR3aWNlLXN0ZGVyci50eHRVVAkAA+GH4lfhh+JX
dXgLAAEE9QEAAAQUAAAAxZGxbgIxDIbn8hQey1KRO0EhQgwcQyvRCVUdUAdfYkJE6pwSn1DfnoA6
tVsp6mjJ//fL/jbUQaVgNNFqrFUFdMxKPT6EaDBAEpOoi0k8u201m02rd5ivqO3dQkMmeaGc0dE6
Olc2liV00FCCgexg83uwYJIm8s67PqH4yG9e9k386AKdpydkGyhpaNDsycIIiLEtndCiORDbfE05
yWum9My7uPJG9A+2hvvB3fCqBrZfj7vchUIups/C5T6E7+T6Vkbq/zRS39xI/YdGTlBLAwQUAAIA
CADnMTVJk1oTfOIAAABsAwAALwAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcGxheS1wcm9ncmVz
cy1zdGRlcnIudHh0VVQJAAPhh+JX4YfiV3V4CwABBPUBAAAEFAAAANWRT0sDQQzFz/ZT5NhepLPF
Px3Eg9uDgoKwiIJ4yM6m06FjssxkFb+9s+LNg+Be7DEh75eXl4Z6qAwsT605sWYF9J6NOTuO4jBC
Upeol6SB/XO1Xp9XL3CxoXbwlxYycXdHOaOnx6C7GpW8pA8Lcx5iXMyaP5MDBx2RTaEH4RveioWn
+xqcMJPT0iszbxhDN2HL4fvXb/u34n2ZuCqivYUijDQJrJi0Ft4GPyQc3X7lI699pLG6Ru4iJQs1
uh11sARibMtOaNHtS6p52lUPmdKY2SY4tT/Y5T+zo8W//Ptv5E9QSwMEFAACAAgA6TE1SbPs8CKE
AAAAwAAAAD0AHABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwtYmVmb3JlLW1ldGEt
ZGF0YS1zdGRlcnIudHh0VVQJAAPlh+JX5YfiV3V4CwABBPUBAAAEFAAAAJ3MPQoCMRBA4X5PMaU2
YiL+bBCbtbEQhBQKYhGzYwyEmSWZVby98Qq2j8dncQCtYL4yamnUAvBdlFrPEnuXIIvPOHCWSOGq
23ajb7Dd430MOwMFqT9iKS7gOcqzc4KB88fAhMaUpo39W44U5UfaqkemAz3YwOXUgWci9FJbfV4u
xb75AlBLAwQUAAIACADpMTVJuE6HOrwAAACSAQAAKwAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8t
cXVlcnktdXJsLXN0ZGVyci50eHRVVAkAA+WH4lflh+JXdXgLAAEE9QEAAAQUAAAApZA9iwIxEIZr
91dMqY2YhfMjiIVr4YFXyWFxWMwmYwzGyZLMcvjvzYmd3Vm+MO/zMO+eOqgVTKZafWg1A/rNSs3G
IRoMkMQk6mISz+6nXizm9RGWG2p7t9KQSb4oZ3S0i86Vi3UpXTSUYiBb7f8PFkzSRD551ycUH/ng
5dzEaxfoL22RbaCkoUFzJgsTIMa2OKFFcyG2+R05yXem9MmnuPFG9Atbw7AajN4ysH0O9/gLhVxM
t8LlPoRRdQdQSwMEFAACAAgA6TE1SUVBJ540AQAAwQUAACoAHABodHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAkAA+aH4lfmh+JXdXgLAAEE9QEAAAQUAAAA7ZNNb8Iw
DIbP41f4OA5DTacBjSakUQ6btEmIamIS4hBSt43IHJSk+/r1cxEnbozbNt8SOc9rv3YK3EEqIBlK
cSPFCPA9CDEaWKeVBR+1x53z0VC9SrNsnK7hdoabtp5ICEjlE4agalya2OQqYu38p4RLaq3t94of
kw2Z2CELphtHD1Q5CS/zHLQjQh35jnPelDVlb3XgjwfJdcYMDsgXd9MCJhxQ2TY0c66UdRZoUQUs
MEpYJR+jqtSpHmI2FMkaplzXFhJoVABydPWF3oHHijVbiiCO2hmfZFQ8+PTo6poz9loS+KHF8hxw
VD7mjipTt151tuwH4V53FrvTvaLSopeQK91gyd0hqQ1rwkbpLZsSzuvqOaDvhjMzmi09ZvMi9C76
ZymcsmC/nXzKp/jf1b+zq99QSwMEFAACAAgA6jE1Sek8yWTiAAAABgMAACsAHABodHRwL3Rlc3Rz
L21lZGlhL3ZpZGVvLXVzZXJhZ2VudC1zdGRlcnIudHh0VVQJAAPnh+JX54fiV3V4CwABBPUBAAAE
FAAAAOWRQUvEQAyFz+6vyNG9yE5B3Q7iwe5BQUEooiAe0ml2dtgxKTOp4r93Kp4UBOlxjwnJ915e
WhqgMrA6s+bUmjXQezbm/CSKwwhJXaJBkgb2z1Vdr6sXuNhQN/pLC5m4v6Oc0dNj0F2DSl7Sh4Vj
HmNcLtqDIgcOOiHbQg/CN7wVC0/3DThhJqelV2beMIb+h0r9L//6bf9WvC8TV2Vpb6EsRpoFVkza
CG+DHxNObr/ykdch0lRdI/eRkoUG3Y56WAExdkUTOnT7kmqed9VDpjRltglO7S92+c/iaDlL4e+/
fwJQSwMECgAAAAAADDI1SQAAAAAAAAAAAAAAABAAHABodHRwL3Rlc3RzL21pc2MvVVQJAAMniOJX
NYriV3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACADqMTVJXoT0aeYAAABiAQAALQAcAGh0dHAvdGVz
dHMvbWlzYy9jb3B5LXJlc29sdmVzLXVybHMtc3RkZXJyLnR4dFVUCQAD54fiV+eH4ld1eAsAAQT1
AQAABBQAAAB1jUFLw0AQhe/9FXOSRKSTiqIMJSDaXBSVRNrzdjNJV5JM2J0I/nsTG1EKMqf33vfm
bfL8JSfIjGu4BBUw3h7cB0MY9p6DDN4yVOLhoNoT4uryZpmMt6LbJEmwdcHiDxfQStubEJbvfb3A
rTRDO5oPRg1udgXueP/oFItveFL34hkbMSV7nHfRVvjEtbGfY3539Ja276PrqyQGgqBGnYWcq1f1
6/kH0WklhX8jIuvZKEdWuqCwe8uICvWuq+Hs4reWedPy5ByxLVuVP4PPUjKcpxMQtCSqhs6qk269
F2kgmttxGi++AFBLAwQUAAIACADqMTVJq5I5wsAAAAD+AAAAPwAcAGh0dHAvdGVzdHMvbWlzYy9k
ZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVjaGFuZ2Utc3RkZXJyLnR4dFVUCQAD6IfiV+iH
4ld1eAsAAQT1AQAABBQAAABNjkFrwlAQhO/+ijm2oGVfioGG0ovRUyjS1pOIPJLVLibvhc1GaX99
n2DBgWFYdmC+jFw+o5dZ5kB54eZFRk85OZRj139waFi/lHn7TJR+zqWc77DW2LPaD1oZDBLOvpUG
h6hXd94KOCI89Pe1AbUPIRrqGMxLwPumqh4n27vVbIfXJKzKxXpfSSfGDd6SsJLj7S5lOC18/c2J
4SwJb//J9s9TYKmaKC4qJuGIOKa5axkHaXkK0zHU3hgW8csaJ39QSwMEFAACAAgA6jE1SZS7zJjB
AAAA/gAAAFsAHABodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZyYW1lLWR1cmluZy1yZWFkeXN0YXRl
Y2hhbmdlLXdpdGgtZ2MtYWZ0ZXItdmlkZW8tcmVtb3ZhbC1zdGRlcnIudHh0VVQJAAPoh+JX6Ifi
V3V4CwABBPUBAAAEFAAAAE2OUWvCQBCE3/0V86hQ5S6tVoP4YupTKNLaJxE5klUXk7uw2Vj01/eE
Cg4Mw7ID8yXGToZmNkwszCS14zQxo7fkHVlXN1/kS5KNEG1fjYk/a2OOd1hLaEj0iopbBfuLq7jE
IcjdtdMU1hj0m+dai8J5HxRF8OrY4/Mnzwe97dPqdId5FFbZcr3PuWalEosorPj4f2fcnpeuOFFk
uHDE23+TPnhSfIhEil9hZX9E6OLcvYwDV/QClc4XTgkacCMJvT9QSwMEFAACAAgADDI1SRU1NZJ6
AAAAvAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkA
AyeI4lcniOJXdXgLAAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9Ve
VjuH2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGe
gIwFq8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAABjI1SQAAAAAAAAAAAAAA
ABQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADHIjiVzWK4ld1eAsAAQT1AQAABBQAAABQSwME
FAACAAgA5DE1Sb/nIry9AAAAkgEAAFUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1v
dGUtcmVhZC1yZW1vdGUtdmlkZW8tYmxvY2tlZC1uby1jcm9zc29yaWdpbi1zdGRlcnIudHh0VVQJ
AAPbh+JX24fiV3V4CwABBPUBAAAEFAAAAKWQMW/CMBCF5+ZX3NgsVYJKEBZiIBmKRKcIdUAdLvZh
LNxzZF+E+u8xqFs3GJ907/t0r6cRZjVUjarnqloAXVJdL9580Oghio40hiiO7WG2XDbv37DqaJjs
WkEi+aSU0NIuWJsvNrl0VpCLnkzRPw4WjNIGPjo7RRQX+MvJqQ0/o6db+kA2nqKCFvWJDFRAjEN2
woD6TGzSM3KSfaK45WPonBb1j63gtXgpnzKw+Rvu/hcK2RB/M5cn78viClBLAwQUAAIACADkMTVJ
/5JrYiIBAAAVAwAASAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FudmFzLXJlbW90ZS1yZWFkLXJl
bW90ZS12aWRlby1sb2NhbGhvc3Qtc3RkZXJyLnR4dFVUCQAD3IfiV9yH4ld1eAsAAQT1AQAABBQA
AADNkk1PwzAMhs/sV/gIB1BbsY1GaBLrDiCBNK1CIE0cvNRNowVnSlK+fj3uBJddxwHfEtnPa792
TTsocsgmKh+rbAr0HvN8euG8Rgch6UA7H5Jlsy7KcnL5AtcL2vRmpiASNw8UIxp6sqmrMJHx4VPB
KffOnY3qf0i2bNOArIVuPd9x6xU8LyvQnpl0kj/JeUNnm9H6l39RlpkwJKBa3cxrmElA6/rYLaVT
0VmRI4xUU1Kwzj6mrSYaa6SCpHAufW0hgw4jsOfzLwoeArWi2XOC4iij0o9P994YydhrKZBCR80x
4IQhVZ5ba/qAgy37RfjXnaPhdYvcOAoKKtQdNTIdMW5EEzaot2JKPG6qx0hhWM7CarH0kC2HMDo5
PIOrPzywb1BLAwQUAAIACADkMTVJ8zr9zNoAAACsAgAARwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y2FudmFzLXJlbW90ZS1yZWFkLXJlbW90ZS12aWRlby1yZWRpcmVjdC1zdGRlcnIudHh0VVQJAAPc
h+JX3IfiV3V4CwABBPUBAAAEFAAAAM2RQUvEQAyFz+6vyFEv0i66uoN4sHtQUBCKKMge0ml2dtgx
KTOp4r83FW8ei+AxIe/Ly0tLAyxrqFauPnfVJdBHqeuL0yQeE2T1mQbJGjm8Ltfr1dkWrjbUjeHa
QSHuH6gUDPQcdd+gUpD86eCYx5ROFu0/JEeOOiFbo0fhO96Jg5fHBrwwk1fr2cw7ptjP8q8/9u8l
BJu4MdHBgQkTzQIrZm2EdzGMGSe33/nI25Boqm6R+0TZQYN+Tz1UQIyd7YQO/cFSLfOueiqUp8w2
0av7xbb/LI7+8u9fUEsDBAoAAAAAAPgxNUkAAAAAAAAAAAAAAAAqABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAMDiOJXNYriV3V4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAADjMTVJAAAAAAAAAAAAAAAALgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9VVAkAA9qH4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAOMx
NUkAAAAAAAAAAAAAAAA4ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL2NoaWxkLXNyYy9VVAkAA9qH4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOMx
NUklAxLThAAAABoBAABcABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL2NoaWxkLXNyYy9mcmFtZS1hYm91dC1ibGFuay1hbGxvd2VkLXN0ZGVyci50eHRVVAkA
A9qH4lfah+JXdXgLAAEE9QEAAAQUAAAAzcyxCsIwEIDhvU9xoy7SFGxpEJe6OAhCBgVxiOmZBsJd
Sa6Kb298C9efn8/gDI2CutVqq+sW8J2V6jaRnY2QxCWcOUkgf2v6vqvvsDvgY/F7DRlpPGHO1uMl
yDRYQc/po2FFS4zryvyhHCjIjzRFD0xHerKG63kAx0TopLTyvGwMY/UFUEsDBBQAAgAIAOMxNUmc
mBCb1wAAAPgBAABLABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
YXVkaW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAPah+JX2ofiV3V4CwABBPUBAAAE
FAAAAKWQwUrEQBBEz+Yr+rheJFlwNcPiwexBQUEIoiAeOjO9s8POdoeZjuLfOxFv3syxoOoVVT2N
sG6g3pjm0tQboM/cNFcXUSxGSGoTjZI0sH9bt+11+w7bHQ2TvzGQSR8pZ/T0IN4Xx20JHQ2UYCRX
9f8HKybthPfBTwk1CL8EPXRyGiPN6g7ZRUoGOrQHclADMQ6lEwa0R2KXl5STPmdK97yXXbBq/rAN
rKqz80UN7H6P+9mFSl7SV+HyFOMScuCgM7Iv9PLTvMHA61MHVpjJzt8VzwfG4KpvUEsDBBQAAgAI
AOMxNUlP4Mio5QAAAEMCAABMABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvYXVkaW8tcmVkaXJlY3QtYWxsb3dlZDItc3RkZXJyLnR4dFVUCQAD2ofiV9qH4ld1eAsA
AQT1AQAABBQAAACl0MFKxDAQBuCzfYo5rpfSLrjasHiwe1BQEIooiIdpMpsNm52UZKr49ibqzZP0
mJD5Jv8/0ATrFpqNai9UswH6SG17Wfug0UMUHWkKURzb13XXXXVvsL3jfbhW4IO1+RqSYJRU13U1
/Jva0TjbbCWSB0oJLd3/qDd56KggD3oyS+DyuT7w3tk5orjAz04OfThNnsrpFtl4igp61Acy0AAx
jnknjKiPxCYtS/WUKJa+dk6L+mMrWFVn54s2sPkt7jsXCtkQP7PLs/dLZMdOCjlkPfdUMih4eexB
B2bSpbv85h29M9UXUEsDBBQAAgAIAOQxNUnI/X0ApwAAAIoBAABYABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvYi11cmwtZG9lcy1ub3QtbWF0Y2gtc291cmNl
LXNlbGYtc3RkZXJyLnR4dFVUCQAD24fiV9uH4ld1eAsAAQT1AQAABBQAAADdj7EOgjAURXe/oqMO
UKgCQuKgRBMHIwkjMeRZXrBaKXmtJvy9GAf9Brdzp3NuFcRZGGVB7CdpemLK4R3s0Mm6RFeQ6ZHc
wKxqO9AaG4ZEKy8UyTJi09tOtRuweDxfUbotkaF63z1BqwYcNjM2Vb8LHOOleZDEHOQFeW4ID9go
+JIXRrHwxSLgo9oZN/RoeaFhQOKj7EP1+t3nS6ZVh0yIdD6p/uHEC1BLAwQKAAAAAADlMTVJAAAA
AAAAAAAAAAAARAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Vw
Z3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvVVQJAAPeh+JXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQU
AAIACADlMTVJYCUGHOgAAAAmAwAAeQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1pbnNlY3VyZS1hdWRp
by12aWRlby1pbi1tYWluLWZyYW1lLXN0ZGVyci50eHRVVAkAA96H4lfeh+JXdXgLAAEE9QEAAAQU
AAAAzVE7T8MwEN75FTfCQGKX1AVvVQpiYEBRmSoG41yLRXwOfjDw67mWCjEgkDoA231330u6lVBa
TrUUlbiY3sP1cnnb4XPBlGHtNp9gG9FkvIwxxDZ4j5Q1INlQKGPEHgwBbo8aCkW0YUPuldePOY8Q
MY2BEkIjxNHq+0Tm7+HC9R1adC/Y7fWtGYYHY580O+4OX/jD8a4GnMqJUrMTWPO8Jem6lpNZxamV
1OdNc1azKpRoMdWZ0yo/Nj91Y7gofrxyZIa77mZOXNCHjPO+Z7OkwbwP8JHEMuZCicNhJdSvv0T9
45eov3rJG1BLAwQKAAAAAADlMTVJAAAAAAAAAAAAAAAAPQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAkAA92H4lc1iuJXdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAOQxNUlI42lf5QAAAEMCAABTABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93LWF1ZGlv
LXN0ZGVyci50eHRVVAkAA9uH4lfbh+JXdXgLAAEE9QEAAAQUAAAApdDBSsQwEAbgs32KOa6X0q7o
0rB4sHtQUBCKKIiHaTKbDZudlGSq+PYm6s2T9JiQ+Sb/P9AE6xaaK9VeqmYD9JHadlP7oNFDFB1p
ClEc29d113UXb7C94324VuCDtfkakmCUVNd1Nfyb2tE422wlkgdKCS3d/6g3eeioIA96Mkvg8rk+
8N7ZOaK4wM9ODn04TZ7K6RbZeIoKetQHMtAAMY55J4yoj8QmLUv1lCiWvnZOi/pjK1hVZ+eLNrD5
Le47FwrZED+zy7P3S2THTgo5ZD33VDIoeHnsQQdm0qW7/OYdvTPVF1BLAwQUAAIACADlMTVJPQTD
qL0AAACSAQAAUwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Vz
ZXJBZ2VudFNoYWRvd0RPTS9hbGxvdy12aWRlby1zdGRlcnIudHh0VVQJAAPdh+JX3YfiV3V4CwAB
BPUBAAAEFAAAAKWQMWvDMBCF5/hX3FgvwU5Ji0XoUHtoIJlM6VAynKWzIqyejHQm5N9XLd2yNeOD
e9/HvZ5m2NRQPal6q6oG6JLq+nntg0YPUXSkOURxbD83TdM8nmDX0bDYFwWJ5EgpoaVDsDZfvObS
pCAXPZmi/z9YMEobeHR2iSgu8IeTcxu+Zk8/6Q3ZeIoKWtRnMlABMQ7ZCQPqidike+Qk74ninsfQ
OS3qhq3goViVdxnY/A33+xcK2RCvmcuL92XxDVBLAwQUAAIACADlMTVJ0KXSRYMAAADAAAAAggAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRv
d0RPTS9ibG9jay1sb2FkaW5nLXVzZXItYWdlbnQtaW1hZ2UtZnJvbS1ub24tdXNlci1hZ2VudC1j
b250ZW50LXN0ZGVyci50eHRVVAkAA92H4lfdh+JXdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9x
oy7SVFQSxKUuDoKQQUEcYnrGg3BXklTx7Y2v4Prz81kcoVPQro1amVYDvrNSm0UU7yKk4hOOkgpx
uHZa6+UNtnu8T2FnICMPR8zZBTxTefauYJD0MTDjKcZ5Y/+Wian8SFt1Ej7wQwxcTj14YUZfaqvP
y0Uami9QSwMEFAACAAgA9TE1Sd9ehanfAAAAUgIAAEsAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS92aWRlby1yZWRpcmVjdC1hbGxvd2VkLXN0ZGVyci50eHRVVAkA
A/6H4lf+h+JXdXgLAAEE9QEAAAQUAAAApZFBSwNBDIXP9lfk2F6ku1h1h9JDtweFCsIiCtJDdjad
Dh2TZSar+O+dFW+CB/eYkPe95KWhHsoCltemWJmrEugjFcXNZRCLAaLaSL1E9exey6q6rQ6w3lE7
uI2BRNw9UEro6NnrqUYlJ/HTwJyHEBaz5t9kz15HZJPpXviej2Lg5bEGK8xkNffyzDsG301wSaQ/
6+/FuTyxzaKzgSwMNAmsGLUWPno3RBy3/c5H3vpAY3WH3AWKBmq0J+pgCcTYZk9o0Z5zqmnaVU+J
4pjZzls1v9j5P7OLxSSHv//+BVBLAwQUAAIACAD1MTVJhQgi9r0AAACSAQAATAAcAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3ZpZGVvLXJlZGlyZWN0LWFsbG93ZWQy
LXN0ZGVyci50eHRVVAkAA/2H4lf9h+JXdXgLAAEE9QEAAAQUAAAApZAxb8IwEIXn5lfcWBaEEYXG
QgxNhlYqE6oYqg4X+2KsmHNkX4T493Wrbt1gfNK979O9A42wVLBYa/WkVwrokpXazEM0GCCJSTTG
JJ7d57Kun+sv2LbUTW6nIZPsKWd09B6dKxcvpTRoKMVAtjrcDhZM0kTuvZsSio989HJq4nkM9JNe
kW2gpKFBcyILCyDGrjihQzMQ23yPnOQjU3rjPrbeiP7H1vBYPczuMrD9G+73LxRyMV0Ll6cQZtU3
UEsDBBQAAgAIAPUxNUnfXoWp3wAAAFICAABmABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdmlkZW8td2l0aC1odHRwLXVybC1hbGxvd2VkLWJ5LWNzcC1tZWRpYS1z
cmMtc3Rhci1zdGRlcnIudHh0VVQJAAP+h+JX/ofiV3V4CwABBPUBAAAEFAAAAKWRQUsDQQyFz/ZX
5NhepLtYdYfSQ7cHhQrCIgrSQ3Y2nQ4dk2Umq/jvnRVvggf3mJD3veSloR7KApbXpliZqxLoIxXF
zWUQiwGi2ki9RPXsXsuquq0OsN5RO7iNgUTcPVBK6OjZ66lGJSfx08CchxAWs+bfZM9eR2ST6V74
no9i4OWxBivMZDX38sw7Bt9NcEmkP+vvxbk8sc2is4EsDDQJrBi1Fj56N0Qct/3OR976QGN1h9wF
igZqtCfqYAnE2GZPaNGec6pp2lVPieKY2c5bNb/Y+T+zi8Ukh7///gVQSwMEFAACAAgA9jE1STZR
fe+EAAAAwAAAAFkAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93
b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtc3RkZXJyLnR4dFVUCQAD/4fiV/+H
4ld1eAsAAQT1AQAABBQAAACdzL8KwjAQgPG9T3GjLmLq3wZxqYuDIGRQEIeYXuNBuJTkqvj2xldw
/fj4GRygVjBfa7XSywXgOyu1mYXobIAkLuEQkxD7W9002+YOuwM+Rr/XkJG7E+ZsPV5Inq0V9DF9
NEx4DGFamb9lYpIfaYpOkY/cRw3XcwsuMqOT0srzsoG66gtQSwMEFAACAAgA9zE1SWOqrGyCAAAA
qAAAAEAAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxs
b3dlZC1zdGRlcnIudHh0VVQJAAMCiOJXAojiV3V4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7
vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFL
dVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTx
mr5QSwMEFAACAAgA+DE1SWOqrGyCAAAAqAAAAFIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0
VVQJAAMDiOJXA4jiV3V4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgbYlAsIyml
/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQeFCaXZlgw
74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMEFAACAAgA5DE1
SSHaL1iEAAAAGgEAADUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvcnMtcG9zdC1yZWRpcmVjdC0z
MDEtc3RkZXJyLnR4dFVUCQAD3IfiV9yH4ld1eAsAAQT1AQAABBQAAADNzLEKwjAQgOG9T3GjLtIU
rTaIS10cBCGDgjjE9IwH4VKSq+LbG9/C9efnMzhCo6ButVrpegP4zkqtFyE6GyCJSzjGJMT+2nRd
u7zBdo/3ye80ZOThiDlbj2eSZ28FfUwfDTOeQphX5g9lYpIfaYpOkQ/8iBoupx5cZEYnpZXnZQMN
1RdQSwMEFAACAAgA7zE1SYbfZ3+2AAAA3AEAADoAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3Nz
LW9yaWdpbi13ZWJzcWwtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAPxh+JX8YfiV3V4CwABBPUBAAAE
FAAAAOXPvwrCQAwG8N2nyCQtqCc4iLeJ1kVEaP0z37WpHFyTkt4pvr2t6OQjuOUjvw+SLM+PuYYz
GesRAkOIQsAEjkrBBikYDyYGnt5NGWMDyRyIAxgCFGFJR+rCPjbYqa0JRmXXQl3R7l1QBUcpcUgb
FlQHrqLv2QNt1UtrOnxXhmFWtm2yWK5S0GCZPXxKWn+F1i1KzdIcW6Q1VRcUVz+TAU9+dTacBuN+
c9ppXQRxdINxOsr+6tsXUEsDBBQAAgAIAO8xNUko2Xk2sAAAAO4AAAAyABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1vcmlnaW4td2Vic3FsLXN0ZGVyci50eHRVVAkAA/GH4lfxh+JXdXgLAAEE
9QEAAAQUAAAAZc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFma
abiRsQ7BM/ggBEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiF
UzqwoLpwHdzInmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQa
zMfmetI699LSHebx7A1QSwMEFAACAAgA8jE1SZVGSCa9AAAAkgEAAD0AHABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1mcm9tLXJlbW90ZS1zdGRlcnIudHh0VVQJAAP4h+JX
+IfiV3V4CwABBPUBAAAEFAAAAKWQPYsCMRCG69tfMaU2h+vHHgaxcC0UtJLD4rhiNpmNwThZklnE
f2/usLPT8oV5n4d5D9TBuIRRpcqZmlRA11SWX58+aPQQRUfqQhTH9mc8n1fTX1isqentUkEi2VNK
aGkXrM0Xq1w6K8hFT6Y4vA4WjFIHbp3tI4oLfHRyqsOl8/SXNsjGU1RQoz6RgREQY5Od0KA+E5v0
jpzkO1HcchvWTot6YisYFB/DtwxsHsP9/4VCNsRb5nLv/bC4A1BLAwQUAAIACADzMTVJVHeyiYQA
AADAAAAAOgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc3JjLWZyb20tcmVtb3Rl
LXN0ZGVyci50eHRVVAkAA/mH4lf5h+JXdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy5iqlYa
xKUuDoKQQUEcYnqNB+GuJKni2xtfwfXn5zM4Qq1g2Wi10asG8J2U2i6COBsgZhdxlJiJ/a1u22Z9
h90BH5Pfa0jI/QlTsh4vlJ+dzeglfjTMeAphXpm/ZWLKP9IUnYSPPIiG67kDJ8zocmnledlAffUF
UEsDBAoAAAAAAOcxNUkAAAAAAAAAAAAAAAAhABwAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvVVQJAAPhh+JXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACADnMTVJBQDWk+8AAACJ
BAAATgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZp
ZGVvLWluLW1haW4tZnJhbWUtc3RkZXJyLnR4dFVUCQAD4YfiV+GH4ld1eAsAAQT1AQAABBQAAADt
0rFKBDEQBuDafYoptVk2d+hBEAv3CgUFYREFsZhN5nLh4mRJZhXf3kTtrOQKRSwTMl8yf2agCRYK
uhOtjrVaAL1kpVZtiAYDJDGJppjEs3tYdl23eoTTS97EMw0hOle2IQsmyW3bNsO3qTWNsytWJrmm
nNHR1Yd6Xop2GkphILsPXB/XR954NycUH/nOy7aPT1OgurpAtoGShh7Nlix0QIxjuRNGNDtim/fr
6jZTqnmtvRH9xdZw2Bwc/ef2A7mx/QzuvS8UcjG9FpfnEP6CvPwVsmcvlRyKXqam/qiG+5seTGQm
UyepnHnG4G3zBlBLAwQUAAIACADnMTVJP6/Tj4MAAADAAAAAQgAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWNzcy1pbi1pZnJhbWUtc3RkZXJyLnR4dFVUCQAD4Yfi
V+GH4ld1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLpJYtBDEpS4OgpBBQRxieqaBcFeSq+Lb
G1/B9efnszjBWoPaGr0xugV8F627VWLvEmTxGSfOEincWqVUd4fdAR9z2BsoSMMJS3EBL1HG3gkG
zh8DC5pTWjb2bzlSlB9pqx6ZjvRkA9dzD56J0Ett9Xm5FIfmC1BLAwQUAAIACAD8MTVJKNl5NrAA
AADuAAAAPwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5lZC13
ZWJzcWwtc3RkZXJyLnR4dFVUCQADC4jiVwuI4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JO
oVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/L
h6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rv
o812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIA
CAD8MTVJKNl5NrAAAADuAAAAQwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2lu
Zy1zdHJlbmd0aGVuZWQtd2Vic3FsLXN0ZGVyci50eHRVVAkAAwyI4lcMiOJXdXgLAAEE9QEAAAQU
AAAAZc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7B
M/ggBEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpw
HdzInmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI6
99LSHebx7A1QSwMEFAACAAgA/TE1SSckAG7jAAAAmAQAADkAHABodHRwL3Rlc3RzL3NlY3VyaXR5
L3ZpZGVvLWNyb3NzLW9yaWdpbi1jYWNoaW5nLXN0ZGVyci50eHRVVAkAAw6I4lcOiOJXdXgLAAEE
9QEAAAQUAAAA7ZJBSwNBDIXP9lfkaC/SLbbaQTy4PShUKCyiIB6yM+l06JgsM1mL/95Z8ebNPYke
A3nfI++loQ7mFcyWplqYxSXQMVfVxVkUixGS2kSdJA3sn+er1fL8Ba7W1Pb+2kAmvaec0dNGvC8b
N0V0MFCEkdyk+TlYMWktvAu+T6hB+DHovpbXLtIw3SK7SMlAjXZPDmZAjG3xhBbtgdjlMeakD5nS
He9kHayab2wDp5OT6SgHdl/Bfd6FSl7Se+FyH+NfIwcOOiCbQi/dDrkbeNrWYIWZ7NB32XnDGNy4
Vv9/9Vd91AdQSwMEFAACAAgAADI1SS9KlXYVAQAA5wEAAD8AHABodHRwL3Rlc3RzL3NlY3VyaXR5
L3ZpZGVvLXBvc3Rlci1jcm9zcy1vcmlnaW4tY3Jhc2gyLXN0ZGVyci50eHRVVAkAAw+I4lcPiOJX
dXgLAAEE9QEAAAQUAAAAnU5Na8JAFLz7K95RD01206jJUgqSUCy0INHSgnhYN8+4dN1N98Piv++K
0qu0vMvMm3nzZok9ZBTIhNExGxeA347SaaKM4AqsFxZ7Y73U3Tory0m+gYcat6F7ZOBQt6/oHO/w
Xfp9xT12xp4YDHVQajRY/jtZaunPkcuYLo1+1jvD4GNRgTBao/BxFz1HrmQ7WF/zy4SMiw3MV6tF
g18BnYed7Obe91day7ZBgfKIDbreaIcVV2rLxScDexFa2Ed/ZBcdcpLDEK01Fu5oVt4XI9hFfDax
NKXZNCFxKCsIIalDEaz0p1QbjS6IfXLo81v1Iq3DoX+Smqu35mWmY8eD8Thr29jCMeAXAL/P4ln0
QrDqTz1+AFBLAwQUAAIACAAGMjVJYEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADHIji
VxyI4ld1eAsAAQT1AQAABBQAAADtjjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2r
v76v90LeSqRJY06AzJk9LJEQVtXire36S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHx
GVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBAoA
AAAAAOgxNUkAAAAAAAAAAAAAAAATABwAaHR0cC90ZXN0cy9zdG9yYWdlL1VUCQAD44fiVzWK4ld1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgA6DE1SSjZeTawAAAA7gAAAEUAHABodHRwL3Rlc3RzL3N0
b3JhZ2UvY2FsbGJhY2tzLWFyZS1jYWxsZWQtaW4tY29ycmVjdC1jb250ZXh0LXN0ZGVyci50eHRV
VAkAA+OH4lfjh+JXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjC
OiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXs
QoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEa
li7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwMECgAAAAAA9zE1SQAAAAAAAAAAAAAA
ABoAHABodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L1VUCQADAojiVzWK4ld1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgA9zE1SX5/7RexAAAAAQEAAEEAHABodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtYXN5bmMtc3RkZXJyLnR4dFVUCQADAojiVwKI4ld1eAsA
AQT1AQAABBQAAABljbEKwkAQRPt8xVaioB42ggdWJoJYKImYQiwuySqHudtjs1H8ew0EVCxneDMv
SdNdqmHj76a2FazIC3qZHJ4Bx2D7Nhg2DgUZ3rnFaaSOVLcOGxUbMSrJM5VjsbWiMmq5xC6tiFGF
2siF2CmP8iC+qb3hBqve0kmmZQjD2WI+Ag0FUQ39VOvQoV/ksCTfCOSHtdaZsPVXGIwhxRLtHbkj
YDCC00+x/NzFrXPPP/05egFQSwMEFAACAAgA9zE1SX5/7RexAAAAAQEAAEAAHABodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtc3luYy1zdGRlcnIudHh0VVQJ
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
ci9jc3MzL1VUCQAD6YfiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA6zE1SQAAAAAAAAAA
AAAAACUAHABpZXRlc3RjZW50ZXIvY3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvVVQJAAPph+JXNYri
V3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACADrMTVJ5LRa/oQAAADAAAAAVQAcAGlldGVzdGNlbnRl
ci9jc3MzL2JvcmRlcnNiYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWF0dGFjaG1lbnQtbG9jYWwtc2Ny
b2xsaW5nLXN0ZGVyci50eHRVVAkAA+mH4lfph+JXdXgLAAEE9QEAAAQUAAAAncw9CgIxEEDhfk8x
pTayCfizQWzWxkIQUiiIRcyOcSDMLElW8fbGK9g+Hp/FEbSCdmXU0ugW8J2VWi+ieBchFZ9wlFSI
w1V33UbfYLvH+xR2BjLycMScXcAzlWfvCgZJHwMznmKcN/ZvmZjKj7RVJ+EDP8TA5dSDF2b0pbb6
vFykofkCUEsDBAoAAAAAABAyNUkAAAAAAAAAAAAAAAAJABwAaW1wb3J0ZWQvVVQJAAMviOJXNYri
V3V4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAQMjVJAAAAAAAAAAAAAAAADQAcAGltcG9ydGVkL3cz
Yy9VVAkAAy+I4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACgyNUkAAAAAAAAAAAAAAAAg
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAkAA1uI4lc1iuJXdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAABwyNUkAAAAAAAAAAAAAAAAlABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL1VUCQADSIjiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAHDI1
SQAAAAAAAAAAAAAAAC8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL1VUCQADSIjiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAIDI1SQAAAAAAAAAA
AAAAAEAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvVVQJAANLiOJXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAA2MjVJ
AAAAAAAAAAAAAAAATwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9VVAkAA3eI4lc1iuJXdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAB0yNUl+ytML9AAAAJcFAABnABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2V2ZW50X2NhbnBsYXktc3RkZXJyLnR4dFVUCQADSYjiV0mI4ld1eAsAAQT1AQAABBQAAADt
0r1KBDEQAODafYoptVluD93zgli4VygoCIsoiMVsMpcLFydLMqv49iZqZ6XXKFyZkPkm89PTCPMG
Zq1qWnXSAr2mplnUPmj0EEVHGkMUx/ZxvlyeHj/B2RWvw7kCH6zN15AEo6S6rqv+x9SKhslmK5Hc
UEpo6fpTvchBWwU50JPZBS6f6wKvnZ0iigt872TThefRUzldIhtPUUGHekMGZkCMQ84JA+otsUm7
VXWXKJZ+rZwW9c1WcFgdHO2Ugc1X4z7qQiEb4lt2efL+r8r7Wf/nWS/28i9lx04K2Wc972PZFQUP
tx3owEy67Gh+84LemeodUEsDBBQAAgAIAB0yNUkmiptf7QAAAKQEAAByABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL2V2ZW50X2NhbnBsYXlfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAANKiOJXSoji
V3V4CwABBPUBAAAEFAAAAO2TTUsDMRCGz/ZXzLG9SLdoP4J46PagoCAsoiA9zGanaWicLMms4r93
Vjzpae1BEI8JM8+8ecJU1MKsgOncFHNzvgB6zUWxOA3RYoAkNlEbk3h2T7PVanm2hYsN1Z27NJCJ
m1vKGR09eNmXKORiejMw5i6Eyaj6Mdmzlx5ZKd1HvuZdNPB4V4KNzGRF77TmBYNvvkxZDsovn/Fv
onNasdamgwFtDHQUWDBJGXnnXZewT/vhJz63gfrTFXITKBko0e6pgSkQY60zoUZ7UKv5uFfdZ0q9
s423Yr6x9X9GJ5N/b7/gbci+/HXykB1/B1BLAwQUAAIACAAgMjVJb8OAbvgAAABmBgAAbgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQJAANM
iOJXTIjiV3V4CwABBPUBAAAEFAAAAO2UTUsDMRCGz/ZXzNFeZLfYjw3iwe3BQgvCIgrSw2x2mobG
yZLMKv57s+JJT20FFXpMmHnmzROSiloY5ZBNVD5R4xnQa8zz6YXzGh0E0YFaH8SyeRoVxexyDVdz
qjtzrSASNyuKEQ09WNmWKGR8eFNwzp1zw0F1MNmylR5ZJbr1vOCNV/B4V4L2zKQl7aWaF3S2+TKl
2Cu/fMZfemNSxU1q2ilIjY6OAgsGKT1vrOkC9mk//Pjn1lG/ukVuHAUFJeotNZABMdZpJtSod8lq
PO5U95FC72xutahv7HQ/g7PhydsveNvnvZzI/5o8VVn2J8gH/qU/nP8dUEsDBBQAAgAIACEyNUlK
Ve437AAAAKQEAAB5ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdo
X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADTYjiV02I4ld1eAsAAQT1AQAABBQAAADdk8FKA0EM
hs/2KXK0F9kpYu0gHtweKigIiyiIh+xsOh06zSwzWcW3NyvePNkiqMeE5MufP6ShHmYGqjNr5raq
gF6LMfOTmBxGyOIy9SlLYP80WyzOT5/hYknt4C8tFOLulkpBTw9BNjUK+ZTfLBzzEON00uxNDhxk
RDZKD4mveZ0sPN7V4BIzOdGc1rxgDN0BUwrJp/yb5L1WXGnT1oI2RjoILJilTrwOfsg4qv3wJ+36
SGO0Qu4iZQs1ug11oGzGVmdCi26rrpZfuRXJfaE8HmMZnNgvovXwk6PpH/Ztj/XMj/3Lfyd/58ff
AVBLAwQUAAIACAAiMjVJKDu/zvAAAABmBgAAagAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVu
dF9sb2FkZWRkYXRhLXN0ZGVyci50eHRVVAkAA0+I4ldPiOJXdXgLAAEE9QEAAAQUAAAA7ZSxTsMw
EIZn+hQ30gXFEaLUQgykQ5FAQooQSIjh4lxdq+45si8g3h4HMcEUOtAho627735/ll1TB6WC4kKr
hS4U0HtSanHmg0EPUUykLkRxbF/K5fLy/BWuVtT09lpDIm7vKSW09ORkW6GQDfFDwyn33s9n9Z/J
jp0MyDrTXeBb3gQNzw8VmMBMRvJernlD79ofU8pR+eU7/l2wNlfc5Kadhtzo6SCwYJQq8MbZPuKQ
9stP2HeehtUaufUUNVRottRCAcTY5JnQoNllq+mwUz0mioOzlTOif7Hz/cxO5pO3f/A25r1M5Il8
3OQxv/QnUEsDBBQAAgAIACIyNUlWMXz16wAAAKQEAAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2V2ZW50X2xvYWRlZGRhdGFfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAANQiOJXUIjiV3V4CwAB
BPUBAAAEFAAAAO2TwUoDQQyGz/YpcrQX2a3F2kE8uD200IKwiIJ4yM6m06FjZpnJKr69WfHmqRak
B48JyZf8+UlNHUxKKK5MOTPFJdB7LsvZRYgWAySxibqYxLN7nszn19MXuFlQ07tbA5m43VDO6OjR
y65CIRfTh4Fz7kMYj+pfkz17GZC10n3kFW+jgaf7CmxkJiua05o3DL49Ykom+V5/HZ3Tijtt2hvQ
xkCnCRZMUkXeetcnHM7wdfj42gUaoiVyGygZqNDuqIUCiLHRmdCg3atd+ThVD5nSYMbCWzE/2Gr8
6Gz8L+/v/+Uw8vQkyIf8+CdQSwMEFAACAAgAIzI1SVXSmTLpAAAApAQAAG4AHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUCQADUYjiV1GI4ld1
eAsAAQT1AQAABBQAAADlk8FKA0EMhs/2KXK0F9ktrbWDeHB7sNCCsIiC9JCdTadDx2SZySq+vbPi
zZMWQfSYkHzJn5/U1MGkhOLclHNTTIFeUlnOz4JYDBDVRuokqmf3OFksLqZbuFxS07srA4m43VBK
6Oje675CJSfx1cAp9yGMR/W3yZ69Dsg6073windi4OG2AivMZDXncs0zBt8eMSWRfqy/FudyxXVu
OhjIjYF+J1gxaiW8866POJzh/fDy1AUaohvkNlA0UKHdUwsFEGOTZ0KD9pDtSsepuksUBzOW3qr5
xM7Gj07G/0ve7Mf+5a+Tv/Ljb1BLAwQUAAIACAAjMjVJ+k1bve4AAACkBAAAeQAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9sb2FkZWRtZXRhZGF0YV9ub2F1dG9wbGF5LXN0ZGVyci50eHRV
VAkAA1KI4ldSiOJXdXgLAAEE9QEAAAQUAAAA3ZPBSgNBDIbP9ilytBfZLdraQTy4PSgoCIsoiIfs
bDodOmaWmazi25stPelpFUE9JiRf/vwhNXUwK6GYm3JhihOg11yWi6MQLQZIYhN1MYln9zhbLk+P
n+BsRU3vzg1k4vaGckZH9142FQq5mN4MHHIfwnRSf5ns2cuArJXuI1/xOhp4uK3ARmayojmtecHg
2w9T5qP0y17+dXROKy60aWtAGwN9CyyYpIq89q5POKjd+ROfu0BDdIncBkoGKrQbaqEAYmx0JjRo
t+pq/pVbkdxlSsMxVt6K+SRaDz85mP5h3356vVH/8t/JY378HVBLAwQUAAIACAAkMjVJhBQZge8A
AACkBAAAaQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnQtc3RkZXJyLnR4
dFVUCQADU4jiV1OI4ld1eAsAAQT1AQAABBQAAADtk0FLAzEQhc/2V8yxvchuka4N4sHtwUILwiIK
4mE2O01D08mSzFb892bFk57WxUPBY8LM917eIxW1MM8hW6i8UNkC6C3meXHpvEYHQXSg1gexbF7m
y+X11SvcrKjuzK2CSNxsKUY09GRlX6KQ8eFdwZQ752aT6tdky1Z6ZJXo1vOad17B80MJ2jOTlnSX
Zk7obPNNpRjkX77sb7wxaeIuLR0UpEVHo8CCQUrPO2u6gL3bz3z8sXXUn+6RG0dBQYl6Tw1kQIx1
0oQa9SGlGse96jFS6DNbWS3qBzv1M7mYjVIY0vt/I+fdyF+Rh/zxD1BLAwQUAAIACAAkMjVJ63JU
WO4AAACkBAAAdAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnRfbm9hdXRv
cGxheS1zdGRlcnIudHh0VVQJAANUiOJXVIjiV3V4CwABBPUBAAAEFAAAAN2TwUrEQAyGz+5T5Ohe
pF3E7g7iwe5BQUEooiAe0ml2dtgxKTOp4ts7FU96qiKsHhOSL3/+kIZ6WJRQnJiyMkUF9JLKsjoK
YjFAVBupl6ie3cNitVoeP8LpmtrBnRlIxN01pYSO7rxua1RyEl8NHPIQwnzWfJvs2euIbDLdC1/y
Rgzc39RghZms5lyuecbgu09TlpP064f8K3EuV5znpp2B3BjoR2DFqLXwxrsh4qj23R956gON0QVy
FygaqNFuqYMCiLHNM6FFu8uupr3civQ2URyPsfZWzRfR+fCzg/kf9u2315v0L/+dPOXH3wBQSwME
FAACAAgAJTI1SUwmpIb1AAAAZgYAAHwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3Jk
ZXJfY2FucGxheV9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQJAANWiOJXVojiV3V4CwABBPUB
AAAEFAAAAO2UwUoDQQyGz/YpcrQX2SnFuoN4cHuwYEFYREE8ZGfT6dAxs8xkK769s+LN29aCiscM
yZc/f5jU1MFMQXGu1UIXJdBrUmpx5oNBD1FMpC5EcWyfZmV5MX+GyyU1vb3SkIjbNaWElh6cbCsU
siG+aTjl3vvppB5NduxkQNaZ7gKveBM0PN5VYAIzGclvOWeP3rUHdEkkn/Jvg7U54zoX7TTkQk8H
gQWjVIE3zvYRB7Uf/oSXztMQ3SC3nqKGCs2WWiiAGJvcExo0u+xq+pFTkdwnisMyls6I/iI6L35y
Mv3Fvh17vKP9lz9PVsU/eSR59C39Vv3vUEsDBBQAAgAIACYyNUkW5lW+7wAAAAwGAAB1ABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X29yZGVyX2NhbnBsYXlfcGxheWluZy1zdGRlcnIudHh0
VVQJAANXiOJXV4jiV3V4CwABBPUBAAAEFAAAAO2UwUoDMRCGz/Yp5mgv0hSxNogHtwcFBWERBfEw
m52moXGyJLOKb++seNLTWqGXHhNmvvnzhaSmDuYGZmfWLKyZAb0XYxYnMTmMkMVl6lKWwP55vlye
n77AxYqa3l9aKMTtHZWCnh6DbCoU8il/WDjmPsbppP4zOXCQAVkrPSS+4XWy8HRfgUvM5ET3tOYN
Y2h/TDGj8st3/NvkvVZcadPWgjZG2gksmKVKvA6+zzik/fKTXrtIw+oauY2ULVToNtSCqmFsdCY0
6LZqtex2qodCeXC2Ck7sL7bez+RoevC2B29j3suBfCD/B3nMX/oJUEsDBBQAAgAIACYyNUmMLZtT
8wAAAGYGAAB/ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X29yZGVyX2xvYWRlZG1ldGFk
YXRhX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUCQADWIjiV1iI4ld1eAsAAQT1AQAABBQAAADtlE1L
AzEQhs/2V8zRXqRZpLVBPLg9KFgQFlEoHmaz0zQ0TpZkVvHfmxVPCkI/0MseE2aeefOEpKIWCgWT
qVYzrRTQW1JqduaDQQ9RTKQ2RHFsV8V8fnH+DJcLqjt7pSERN0tKCS09OtmUKGRDfNdwyp3341G1
N9mxkx5ZZboLfMvroOHpvgQTmMlI3ss1r+hd821KsVN++Yp/F6zNFde5aashN3o6CCwYpQy8draL
2Kf99BNeWk/96ga58RQ1lGg21MAEiLHOM6FGs81W02GnekgUe2cLZ0T/YOf7GZ2MB2//4G2X9zKQ
B/IxyH/1l/6e/wNQSwMEFAACAAgAJzI1SWBdymbtAAAADAYAAHgAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvZXZlbnRfb3JkZXJfbG9hZHN0YXJ0X3Byb2dyZXNzLXN0ZGVyci50eHRVVAkAA1qI4lda
iOJXdXgLAAEE9QEAAAQUAAAA7ZRNSwNBDIbP9lfkaC/SqcXaQTy4PSgoCIsoSA/Z2XQ6dEyWmazi
v3dWvHmqBRHsMSF58vGS1NTB1MDkzJq5NadAb9mY+UkUhxGSukSdJA3sn6eLxflsBRdLanp/aSET
t3eUM3p6DLqpUMlLerdwzH2M41H9Y3LgoAOyLvQgfMNrsfB0X4ETZnJafCXmFWNo96iSSb/avxXv
S8RVSdpaKImR/iZYMWklvA6+Tzis4XPx8tJFGqxr5DZSslCh21ALEyDGptSEBt22yJX3m+ohUxrE
WAan9hu7CD86Gh/G+/172Y08O5D/EXmXX/oBUEsDBBQAAgAIACgyNUknc7fl9QAAAGYGAABlABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BhdXNlLXN0ZGVyci50eHRVVAkAA1yI4ldciOJX
dXgLAAEE9QEAAAQUAAAA7ZRNSwMxEIbP9lfM0V6kKf2wQTy4PShUEBZRkB5ms9M0NE6WZFbx35sV
T3pqK7RCjwkzz7x5QlJSA0MFg4lWU61GQO9JqemFDwY9RDGRmhDFsX0ZzmaXoyVczalq7bWGRFzf
U0po6cnJukAhG+KHhnNuve/3yp3Jjp10yDLTXeA7XgUNzw8FmMBMRvJernlD7+ofU8Zb5Zfv+Itg
ba64yU0bDbnR015gwShF4JWzbcQu7Zef8Np46la3yLWnqKFAs6YaBkCMVZ4JFZpNtpr2O9Vjotg5
mzsj+hc730/vrH/ydgBv27yXE/m/kydHQd79L/3L/J9QSwMEFAACAAgAKTI1SY/bkzHsAAAApAQA
AHAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Vfbm9hdXRvcGxheS1zdGRlcnIu
dHh0VVQJAANdiOJXXYjiV3V4CwABBPUBAAAEFAAAAO2TwUoDMRCGz/Yp5thepCnStUE8uD1YaEFY
REE8zGanaWg6WZLZim9vVjzpae1BKB4TZr7584WpqIWZgulcq0KrOdBbUqq49MGghygmUhuiOLYv
s8Xi+uoVbpZUd/ZWQyJuNpQSWnpysitRyIb4rmHMnfeTUfVrsmMnPbLKdBd4xdug4fmhBBOYyUi+
yzVH9K75NqUYlF++4q+DtbniLjftNeRGTyeBBaOUgbfOdhH7tJ9+wqH11J/ukRtPUUOJZkcNTIEY
6zwTajT7bDWd9qrHRLF3tnRG9A92/p/RxeTf2x94G7Iv504esuMfUEsDBBQAAgAIACkyNUneRyB/
9AAAAGYGAABkABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXktc3RkZXJyLnR4dFVU
CQADXojiV16I4ld1eAsAAQT1AQAABBQAAADtlMFKA0EMhs/2KXK0F+kWse0gHtweKigIiyiIh+xs
Oh06zSwzWcW3NyueFIRa0cvCXGZIvvz5h6SiFqYFTM5MMdMD9JKLYnYSosUASWyiNibx7B6ni8X8
9AnOl1R37sJAJm5uKGd0dO9lU6KQi+nVwDF3IYxH1Y/Jnr30yErpPvIVr6OBh9sSbGQmK/qmMc8Y
fPOpynwv/fIh/zo6pxGXmrQ1oImBDgILJikjr73rEvZq3/2JuzZQf1shN4GSgRLthhqYADHWWhNq
tFt1NR/W1V2m1Hu29FbMF7b+z+hoPPj2D77tMy8DeSD/Bvmvdun3+t8AUEsDBBQAAgAIACoyNUkN
vye15wAAAKQEAABvABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlfbm9hdXRvcGxh
eS1zdGRlcnIudHh0VVQJAANgiOJXYIjiV3V4CwABBPUBAAAEFAAAAO2TwUoDQQyGz/Ypcmwv0ili
3UE8uD0oKAiLKIiH7Gw6HTpNlpms4ts7K948aUEseExIvuTPTxrqYWFgfmrN0poK6DUbszyO4jBC
Upeol6SB/dOiqs5OnuF8Re3gLyxk4u6WckZPD0E3NSp5SW8WpjzEOJs0PyYHDjoim0IPwte8FguP
dzU4YSanJVdqXjCGbo8pmfRz/RvxvlRclqathdIY6W+CFZPWwuvgh4TjGT4OL7s+0hhdIXeRkoUa
3YY6mAMxtmUmtOi2xa68n6r7TGk0YxWc2i/sYvzkaPYv7/f/5RDJ3/nxd1BLAwQUAAIACAArMjVJ
qc+Uz/QAAABmBgAAZwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5nLXN0ZGVy
ci50eHRVVAkAA2GI4ldhiOJXdXgLAAEE9QEAAAQUAAAA7ZTBSgNBDIbP9ilytBfpLmLtIB7cHioo
CIsoiIfsbDodOs0sM1nFtzcr3rxtLah4zJB8+fOHSU0dlAXMzkwxN+UM6DUXxfwkRIsBkthEXUzi
2T2Vi8X56TNcLKnp3aWBTNzeUs7o6MHLpkIhF9ObgWPuQ5hO6tFkz14GZK10H/ma19HA410FNjKT
FX3TnBcMvt2jSyb5lH8TndOMKy3aGtDCQHuBBZNUkdfe9QkHtR/+xF0XaIhWyG2gZKBCu6EWlM3Y
aE9o0G7V1fwjpyK5z5SGZSy9FfNFtC5+cjT9xb4deryD/Ze/Ty7+ySPJ42/pd+p/B1BLAwQUAAIA
CAAsMjVJva48+vcAAABmBgAAcgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5n
X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADY4jiV2OI4ld1eAsAAQT1AQAABBQAAADtlMFKA0EM
hs/2KXK0F+muYu0gHtweFBSERRSkh+xsOh06ZpaZrOLbmxVPemqtoNDbZEi+/PnDTE0dlAVMTk0x
NXqg11wU06MQLQZIYhN1MYln91TOZmcnCzifU9O7CwOZuL2lnNHRg5dVhUIupjcDh9yHMB7VW5M9
exmQtdJ95GteRgOPdxXYyExW9E5zXjD49kuXciP98in/JjqnGZdatDaghYF+BBZMUkVeetcnHNR+
+BOfu0BDdIXcBkoGKrQramECxNhoT2jQrtXV/CenIrnPlIZlzL0V8020Ln50MP7Hvv32eBu9lz15
T94Fefu/9HiH+t8BUEsDBBQAAgAIACwyNUljdTAQ9gAAAAwGAABoABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVs
ZW1lbnRzL2V2ZW50X3Byb2dyZXNzLXN0ZGVyci50eHRVVAkAA2SI4ldkiOJXdXgLAAEE9QEAAAQU
AAAA7ZRBSwMxEIXP9lfMsb1Idy3WBvHQ7UGhBWERBelhNjtNQ+NkSWYV/71Z8ebJLgtSekyY+d7L
e5CSGsgzmF6rbK7yK6CPmGXzS+c1OgiiAzU+iGXzmi8WN7Mt3K6oas2dgkhcbyhGNPRsZV+gkPHh
U8GYW+cmo/JosmUrHbJMdOv5gXdewctjAdozk5Z0l2be0dm6h0ok+bG/9sakiWVaOihIi456gQWD
FJ531rQBO7ff+fi3xlF3ukeuHQUFBeo91TAFYqySJlSoDynV2O9VT5FCl9nKalG/2Kmf0cWkl8JQ
vZ9qIwPmdUTXs8G8n8n/j/yXv/QLUEsDBBQAAgAIAC0yNUmJcl8w7AAAAKQEAABzABwAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L21lZGlhLWVsZW1lbnRzL2V2ZW50X3Byb2dyZXNzX25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQAD
ZYjiV2WI4ld1eAsAAQT1AQAABBQAAADtk8FKAzEQhs/2KebYXqS7VGuDeHB7UFAQFlEQD7PZaRqa
zizJrOLbmxVPelp7EMRjwsw3f74wNXVQFjA/NcXSlAug11QUy+MgFgNEtZE6ierZPZWr1dniGc7X
1PTuwkAibm8pJXT04HVboZKT+GZgyn0Is0n9Y7JnrwOyznQvfM0bMfB4V4EVZrKa73LNCwbffply
Miq/fsa/EedyxWVu2hnIjYEOAitGrYQ33vURh7QffmTfBRpOV8htoGigQrulFuZAjE2eCQ3aXbaa
DnvVfaI4OFt7q+YbO//P5Gj27+0XvI3Zl79OHrPj71BLAwQUAAIACAAuMjVJuAY0Ce0AAAAMBgAA
agAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF90aW1ldXBkYXRlLXN0ZGVyci50eHRVVAkA
A2eI4ldniOJXdXgLAAEE9QEAAAQUAAAA7ZRNSwNBDIbP9lfk2F6ku0jXDuLB7UFBQVhEQTxkZ9Pp
0GmyzGQV/72z4s2TLYhIjwnJk4+XpKEeygLmC1NUplwAvaWiqE6DWAwQ1UbqJapn91wul+dnL3Cx
onZwlwYScXdHKaGjR6+bGpWcxHcDUx5CmE2avcmevY7IJtO98A2vxcDTfQ1WmMlq9uWYVwy+O6BK
Iv1q/1acyxFXOWlrICcG+ptgxai18Nq7IeK4hs/Fy64PNFrXyF2gaKBGu6EO5kCMba4JLdptlisd
NtVDojiKsfJWzTd2Fn5yMjuO9/v38v/J1ZG8J/knv/QDUEsDBBQAAgAIAC8yNUlLHunH8QAAAGYG
AAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3RpbWV1cGRhdGVfbm9hdXRvcGxheS1z
dGRlcnIudHh0VVQJAANpiOJXaYjiV3V4CwABBPUBAAAEFAAAAO2UsU7DMBCGZ/oUN7YLaiLUtBZi
IB2o1EpIEQIJMVycq2vVPUf2BcTb4yAmmEIHGDLauvvu92fZFbWQZzBfqKxQeQH0FrOsuHReo4Mg
OlDrg1g2z/lqtbx6ges11Z25URCJmx3FiIYerRxKFDI+vCuYcufcbFL9mmzZSo+sEt163vDeK3i6
L0F7ZtKS9lLNKzrbfJuyHJRfvuJvvTGp4jY1HRWkRkdngQWDlJ731nQB+7SffvypddSv7pAbR0FB
ifpADcyBGOs0E2rUx2Q1nneqh0ihd7a2WtQPdrqfycVs9PYH3oa8l5E8kv83ecgv/QFQSwMEFAAC
AAgALzI1SVg7lW2DAAAAwAAAAGwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfdm9sdW1l
Y2hhbmdlLXN0ZGVyci50eHRVVAkAA2mI4ldpiOJXdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9x
oy5iglgbxKUuDoKQQUEcYnrGg3BXklTx7Y2v4Prz81kcQStYro1qje4A31mpdhHFuwip+ISjpEIc
rrrrNqsbbPd4n8LOQEYejpizC3im8uxdwSDpY2DGU4zzxv4tE1P5kbbqJHzghxi4nHrwwoy+1Faf
l4s0NF9QSwMECgAAAAAAHDI1SQAAAAAAAAAAAAAAAFoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
aW50ZXJmYWNlcy9VVAkAA0iI4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAB0yNUkAAAAA
AAAAAAAAAABkABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL1VU
CQADSYjiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAHDI1SQen0GnLAAAA3QEAAHkAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svYWN0aXZlQ3Vlcy1zdGRl
cnIudHh0VVQJAANIiOJXSIjiV3V4CwABBPUBAAAEFAAAAKWQMWvDMBCF5/pX3NgsJg5UJaJkiDMk
0E6hdAgdztJZEVFPRjpT8u8jt90yFY/34H3v3jvSAKsGlko3Sj8poO/cNM91iAYDJDGJhpjEszut
1mulPuHlwH3caAjRuSJDFkyS67qujv9G7agbXWFlkjfKGR29/lK3xXTRUIyB7Bzw9FwbufduTCg+
8oeXcxu/hkDTtUe2gZKGFs2ZLCyBGLuSCR2aC7HN81q9Z0rTXjtvRN+xNTxWD4tZCWz/hvvphUIu
pmvh8hjCoroBUEsDBBQAAgAIAB0yNUn+2NYfgwAAAMAAAAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL2FkZEN1ZS1zdGRlcnIudHh0VVQJAANJiOJXSYjiV3V4
CwABBPUBAAAEFAAAAJ3MsQrCMBCA4b1PcaMuYgpGGsSlLg6CkEFBHGJ6pgfhriSp4tsbX8H15+ez
OEGrYK2N0majAd9Zqe0qincRUvEJJ0mFONzartP6DrsDPuawN5CRhxPm7AJeqIy9KxgkfQwseI5x
2di/ZWIqP9JWnYSP/BQD13MPXpjRl9rq83KRhuYLUEsDBBQAAgAIADAyNUnSut7F3QAAAOQDAAB3
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL25ldHdvcmtTdGF0ZV9kdXJpbmdfbG9hZHN0YXJ0LXN0
ZGVyci50eHRVVAkAA2uI4ldriOJXdXgLAAEE9QEAAAQUAAAA7ZIxSwNBEIVr71dMGRvJRjFmEYtc
CgUF4RAFsZjbnWyWrDPH7pziv3dP7MTKRtBy4L3v8WamowEWBuan1iztsQF6LcYsj5I4TJDVZRok
a+TwuFitzk6e4HxD/RguLBTSGyoFA11LCFWxrqa9hWpM5JvuF4IVs7bC2xjGjBqF76PuWnkeEk3T
JbJPlC206HbkYQ7E2NdM6NHtiX35Wau7QvmKt7KJTu0XtoVZc3D4X+/7BPaff/HRC5WC5LfK5TGl
v0aOHHVCdpVebzvt3cLDbQtOmMlN966aF0zRN+9QSwMEFAACAAgAMDI1SQONx0WEAAAAwAAAAG4A
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvbmV0d29ya1N0YXRlX2luaXRpYWwtc3RkZXJyLnR4dFVU
CQADa4jiV2uI4ld1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLmKqWBvEpS4OgpBBQRxieo0H
4a4kqeLbG1/B9efnMzhCrWC50arRKwX4Tko1iyDOBojZRRwlZmJ/q9t2u77D7oCPye81JOT+hClZ
jxfKz85m9BI/GmY8hTCvzN8yMeUfaYpOwkceRMP13IETZnS5tPK8bKC++gJQSwMEFAACAAgAMTI1
SdSEv+rmAAAATAUAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX2ZhbHNlX2R1cmlu
Z19wbGF5LXN0ZGVyci50eHRVVAkAA22I4ldtiOJXdXgLAAEE9QEAAAQUAAAA7ZNBSwNBDIXP7q/I
US/S3Yq1g3hwe1BQEBZREA/ZmXQ6dEyWmaziv3dWvHlrD4L0GHjve+SRdDRAU8Ps3NQLM2+APnJd
L06jWIyQ1CYaJGlg/9Islxdnr3C5on70VwYy6T3ljJ7uxPuiuC6mrYFijOSqbnewYtJWeB38mFCD
8FPQTStvQ6RpukF2kZKBFu2GHMyAGPuSCT3aLbHL+4STPmZKt7yWVbBqfrENHFdHJ/slHHrbKYHd
T3Hfe6GSl/RZuDzGeCD/DXn+z8mBg07IrtDLD033beD5oQUrzGSnvyqad4zBVV9QSwMEFAACAAgA
MTI1SQCkAVLuAAAApAQAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX3RydWVfZHVy
aW5nX3BhdXNlLXN0ZGVyci50eHRVVAkAA26I4lduiOJXdXgLAAEE9QEAAAQUAAAA3ZPBSgNBDIbP
9ilytBfptsXaQXro9qCgICyiID1kZ9Pp0DFZZrKKb++seNLTKoJ6TEi+/PlDKmphWsDk1BQLM5sB
PaeiWJwEsRggqo3USlTP7mG6XJ7Nt3C+obpzKwOJuLmmlNDRndd9iUpO4ouBY+5CGI+qL5M9e+2R
VaZ74UveiYH7mxKsMJPVnMs1Txh882HKfJB+fZd/Jc7linVuOhjIjYG+BVaMWgrvvOsi9mrf/JHH
NlAfXSA3gaKBEu2eGpgAMdZ5JtRoD9nV9Cu3Ir1NFPtjbLxV80l0PvzoaPyHffvp9Qb9y38nD/nx
V1BLAwQKAAAAAAAdMjVJAAAAAAAAAAAAAAAAagAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5
aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9VVAkAA0qI4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAB0yNUmDumctywAAAN0BAACRABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhl
LW1lZGlhLXJlc291cmNlL3BhdXNlLW1vdmUtdG8tb3RoZXItZG9jdW1lbnQtc3RkZXJyLnR4dFVU
CQADSYjiV0mI4ld1eAsAAQT1AQAABBQAAAClkDFvwjAQhefmV9xYloggIMKqOjQMRYIJIYaqw8U+
jIV7juyLEP8eB7p1qjLek9737r09dTCrYLpU1VItaqBrqqq69EGjhyg6UheiOLZfs9Wqnn/D24ZP
4V2BD9ZmGZJglFSWZbH/N2pNbW8zK5HsKCW0tH1SP7LpoiAbPZkx4OG5JvDJ2T6iuMBHJ+cm/HSe
husT2XiKChrUZzIwBWJscya0qC/EJo1rdUgUh73WTov6w1bwWrxMRiWw+R3u0QuFbIi3zOXe+0lx
B1BLAwQUAAIACAAdMjVJWpTZiSIBAAAVAwAAjwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5
aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wYXVzZS1tb3ZlLXdpdGhpbi1kb2N1bWVudC1zdGRlcnIu
dHh0VVQJAANJiOJXSYjiV3V4CwABBPUBAAAEFAAAAM2STU/DMAyGz/RX+AgHpnZs6xahSaw7gATS
tAqBVO2QpW4aLThTkvL163EnuHCtkPAtkf289muXeIRxBulMZDMxzQHfQpblI+uUtOCj8nh0PhrS
1XixyCc7uF7jvtNLAQGpfsAQpMYnE9tCRtTOfwg4p87ai6T8h2RDJvbIkunG0R01TsDzpgDliFBF
/uOcV2lNnVQ//NF8PGUGBxTbm1UJSw5obBfaDXfKOlu0KAOWGAVU6XveKJxP5pmcqHQHK+7rACm0
MgA5uvxE78Bjw5odRbgaZFT89uneac0ZJy0BXGixHgKO0sfCUWN052Vvy2kR7uVosX/dSqotegGF
VC3WPB2S3LMm7KU6sClh2FSPAX2/nLVRbOlvNh9CcvaXB/YFUEsDBBQAAgAIAB0yNUlLJI9kKwEA
AG8DAACPABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhlLW1lZGlhLXJlc291cmNl
L3BhdXNlLXJlbW92ZS1mcm9tLWRvY3VtZW50LXN0ZGVyci50eHRVVAkAA0qI4ldKiOJXdXgLAAEE
9QEAAAQUAAAAzZJNa8MwDIbP66/QcT2sJGVtWjMKa3rYYIPSMDYIPTiO4ph6crGdff36KaWn3kp3
mG420vNKr1TgHsYpJFORTsUkA/wMaZqNrFPSgo/K4975aEiX4/k8u93C3QqrTi8EBKT6GUOQGl9N
bHMZUTv/LeCaOmuHg+Ifkg2Z2CMLphtHj9Q4AW/rHJQjQhX5j3M+pDX1oDzyZ6M0mTCDA/LN/bKA
BQc0tgvtmjtlnQ1alAELjALK5CtrFM6qJFPjKtnCkvvaQQKtDECObn7QO/DYsGZHEdKTcWZnGRWP
Pj05rTnjoCWACy3Wl4Cj9DF31BjdednbcliEe99b7F8PkmqLXkAuVYs1T4ckK9aESqodmxIum+ol
oO+XszKKLT1l8yEMroYXKZxzYH9J/gVQSwMEFAACAAgAHTI1SXh0BLaEAAAAwAAAAIEAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGxheWJhY2tSYXRl
LXN0ZGVyci50eHRVVAkAA0qI4ldKiOJXdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy5iirY2
iEtdHAQhg4I4xPSMB+FSkqvi2xtfwfXn5zM4Qq1g2WjV6PUG8J2VahchOhsgiUs4xiTE/lp3Xbu6
wXaP98nvNGTk4Yg5W49nkmdvBX1MHw0znkKYV+ZvmZjkR5qiU+QDP6KGy6kHF5nRSWnledlAQ/UF
UEsDBBQAAgAIADIyNUkLDyP1hAAAAMAAAAB4ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3ByZWxv
YWRfcmVmbGVjdHNfbm9uZV9hdXRvcGxheS1zdGRlcnIudHh0VVQJAANviOJXb4jiV3V4CwABBPUB
AAAEFAAAAJ3MsQrCMBCA4b1PcaMuYmqxNohLXRwEIYOCOMT0jIFwV5Kr4tsbX8H15+czOEKtYLnW
qtWrBvCdlWoXkZ2NkMQlHDlJIH+tu27T3GC7x/vkdxoy0nDEnK3Hc5BnbwU9p4+GGU0xzivztxwo
yI80RQ9MB3qwhsupB8dE6KS08rxsDEP1BVBLAwQUAAIACAAyMjVJk5r/M+QAAABMBQAAcwAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19jYW5wbGF5LXN0ZGVyci50eHRV
VAkAA3CI4ldwiOJXdXgLAAEE9QEAAAQUAAAA7ZMxSwNBEIVr71dMGRvJRU3MIim8FAoKwiEKYjG3
O9ksWWeO3TnFf++e2ImVTZCUA2++x4P3WuphVsN0buqFOT0Hes91vTiJYjFCUpuol6SB/fNsubw4
e4HLNXWDXxnIpHeUM3q6Fe+L4qo87QyUx0iuavcQrJi0Ed4EPyTUIPwYdNvIax9pvK6RXaRkoEG7
JQdTIMaueEKHdkfs8t9SPWRKN7yRdbBqfrANTKqj40O83x3YfffiKxcqeUkfhctDjAfyfyPP94Ic
OOiIbAu9bGjst4Gn+wasMJMdd1U0bxiDqz4BUEsDBBQAAgAIADMyNUl4PnSu9QAAAGYGAAB6ABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX2NhbnBsYXl0aHJvdWdoLXN0
ZGVyci50eHRVVAkAA3GI4ldxiOJXdXgLAAEE9QEAAAQUAAAA7ZTBSgMxEIbP9inmqBfpVmlsKD24
PSi0ICyiIB5ms9M0NE6WZFbx7c2KJz2VVeyhx4SZLzP/B6mohUkB46kulL6YAr2lolDnPhj0EMVE
akMUx/ZpMptdXT7DfEl1ZxcaEnGzppTQ0oOTbYlCNsR3DafceX82qg6Q7NhJj6wy3QW+5U3Q8HhX
ggnMZCTf5ZpX9K4ZNL98jb8K1uaK69y005AbPQ0CC0YpA2+c7SL2037mE15aT/3pBrnxFDWUaLbU
wBiIsc5vQo1ml1NNw7a6TxT7zJbOiP7Bzn5GJ9/tqD/zfijkPVyr/3Stjq6P5F8k7/OXfgBQSwME
FAACAAgANDI1Scb4rFb0AAAAZgYAAHYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0
ZV9kdXJpbmdfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQJAANziOJXc4jiV3V4CwABBPUBAAAEFAAA
AO2UTUsDMRCGz/ZXzNFepFvF7Ybiwe1BoQVhEQXpYTY7TUPjZElmFf+9WfGkp35AL3tMmHnmzROS
ilqYZjC5VVmurnOgz5hl+ZXzGh0E0YFaH8SyeZsWxexmDfMF1Z25UxCJmxXFiIZerGxLFDI+fCm4
5M658ag6mGzZSo+sEt16fuSNV/D6VIL2zKQl7aWaD3S2+TNltld++Y2/9MakivvUtFOQGh0dBRYM
UnreWNMF7NP++PHvraN+9YDcOAoKStRbamACxFinmVCj3iWr8bhTPUcKvbOF1aL+sdP9jC7Gg7cz
eNvnvQzkgXwK8uF/aXHC/N9QSwMEFAACAAgANDI1SWXZQMj0AAAApAQAAHoAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVU
CQADdIjiV3SI4ld1eAsAAQT1AQAABBQAAADdk8FOwzAMQM/sK3zcLqgdE6MR4rDusElDQqoQSIiD
m3pZtOBUiQvi70kRJziVsgvHRPaz/SxX1MI8h+xS5Ut1UQC9xTxfnjuv0UEQHaj1QSybp3lRXC2e
4XpNdWduFETi5pZiREMPVg4lChkf3hVMuXNuNql+TbZspUdWiW49b3nvFTzelaA9M2lJfynmFZ1t
RlSJJF/t77wxKWKVko4KUqKjUWDBIKXnvTVdwL7bTz/+pXXUvzbIjaOgoER9oAYyIMY61YQa9TFZ
jeOmuo8Uemdrq0X9YKf9TM6+bWeRncjbMPAfexs61cm9DbiXf08ecuMfUEsDBBQAAgAIADUyNUn7
TNbk9gAAAGYGAABzABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX3Bs
YXlpbmctc3RkZXJyLnR4dFVUCQADdYjiV3WI4ld1eAsAAQT1AQAABBQAAADtlMFKA0EMhs/2KXK0
F+mWYu0gPXR7UFAQFlEQD9nZdDp0zCwzWcW3NyueFIRqFYUeMyRf/vxhUlEL4wJGx6aYmskI6CkX
xfQoRIsBkthEbUzi2d2NZ7OTyT2cLqnu3NxAJm4uKWd0dONlXaKQi+nZwCF3IQwH1ZfJnr30yErp
PvI5r6KB26sSbGQmK/qmOY8YfPOuS7GVfnmTfxGd04yFFm0MaGGgb4EFk5SRV951CXu1r/7EhzZQ
H50hN4GSgRLtmhpQaxhr7Qk12o26mv/kVCTXmVK/jKW3Yj6I1sUPDob/2LefHm+r/7In78m7IP/W
Lf1c/wtQSwMEFAACAAgANTI1SYEO/vmEAAAAwAAAAGwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
cmVhZHlTdGF0ZV9pbml0aWFsLXN0ZGVyci50eHRVVAkAA3aI4ld2iOJXdXgLAAEE9QEAAAQUAAAA
ncyxCsIwEIDhvU9xoy5iQrE2iEtdHAQhg4I4xPQaD8JdSVLFt7e+guvPz2dxBK1gvTGqMbUGfGel
mlUU7yKk4hOOkgpxuOm23dZ32B3wMYW9gYzcnzBnF/BC5dm5gkHSx8CCpxiXlf1bJqbyI+2sk/CR
BzFwPXfghRl9mdv8vFykvvoCUEsDBBQAAgAIADUyNUkPoJzQ1gAAAMICAACEABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3NyY19yZWZsZWN0c19hdHRyaWJ1dGVfbm90X3NvdXJjZV9lbGVtZW50cy1z
dGRlcnIudHh0VVQJAAN2iOJXdojiV3V4CwABBPUBAAAEFAAAANWQP2/CMBDF936KG9sh2EkDGG8I
hBg6VBGdUAdjXxoL/wm208/fq8LcrVKrW95P75307s58Jeu1bJvFqlm+w/F0eu3wNmEu0NuPYynj
HffWdKjRfmKHeYwh4045d1H6KiHNhoGB8kSzDy1v4RFTigmqutk8iyfoSX+HJGMuauWGmIsUgnM2
FO9YRq9CsToz9Bc0Bk2lYygYCvNorKrQoSfKrI/x4fxzd8L95MeDDcq9dS/bQAf4WHBrDFXMEtQs
oG7WC05T0xplYUrud0qKf/xg8Vcf/AVQSwMECgAAAAAAHTI1SQAAAAAAAAAAAAAAAFUAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvdHJhY2svVVQJAANKiOJXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAAAdMjVJAAAAAAAAAAAAAAAAYwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy90cmFjay90cmFj
ay1lbGVtZW50L1VUCQADSojiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAHTI1SRCQaUy9
AAAAkgEAAIIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxlbWVudC90cmFj
ay1hcGktdGV4dHRyYWNrcy1zdGRlcnIudHh0VVQJAANKiOJXSojiV3V4CwABBPUBAAAEFAAAAKWQ
MWvDMBCF5/pX3BgvwTY0xqJ0qD0k0EyhdAgdztJFEVZORjoT+u+rlm7d6vHBve/j3olmaGqodqre
qccW6J7qut36oNFDFB1pDlEc23PTdW31AU8DjYt9VpBIjpQSWnoN1uaLl1yaFOSiJ1Oc/g8WjNIH
vji7RBQX+N3JtQ+32dN32iMbT1FBj/pKBiogxjE7YUQ9EZu0Rk7ylige+BIGp0X9YSvYFA/lKgOb
3+F+/kIhG+Jn5vLifVl8AVBLAwQUAAIACAA2MjVJCM/a7b0AAADsAQAAYwAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy92aWRlb18wMDgtc3RkZXJyLnR4dFVUCQADd4jiV3eI4ld1eAsAAQT1AQAABBQA
AAC1kDGLAjEQhWv3V0zpNeKqnBrEwt1C4a4SuUIsZpMxBuNkSWYR//3lxO46xfLBvO9j3pZaGJUw
/FTlVE3GQNdUltOBDxo9RNGR2hDFsd2P5vPZ5ACLmprOLhUkkm9KCS19BWvzxSqXzgpy0ZMpts+D
BaNUgY/OdhHFBf5xcqrCpfX0l9bIxlNUUKE+kYEhEGOTndCgPhOb9IqcZJcobvgYaqdF/WMr6Be9
j5cMbB7D3f9CIRviLXO58/6d5F9QSwMEFAACAAgANjI1SRaMT2qEAAAAwAAAAGwAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvdmlkZW9fdm9sdW1lX2NoZWNrLXN0ZGVyci50eHRVVAkAA3eI4ld3iOJX
dXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy5iarE2iEtdHAQhg4I4xPSMgXBXkqvi2xtfwfXn
5zM4Qq1gudaq1c0K8J2VaheRnY2QxCUcOUkgf627btPcYLvH++R3GjLScMScrcdzkGdvBT2nj4YZ
TTHOK/O3HCjIjzRFD0wHerCGy6kHx0TopLTyvGwMQ/UFUEsDBAoAAAAAAB0yNUkAAAAAAAAAAAAA
AABRABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L3RoZS1hcmVhLWVsZW1lbnQvVVQJAANKiOJXNYriV3V4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAAdMjVJQ3RRU4QAAAAaAQAAZwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2Fy
ZWEtY29vcmRzLXN0ZGVyci50eHRVVAkAA0qI4ldKiOJXdXgLAAEE9QEAAAQUAAAAzcyxCsIwEIDh
vU9xoy7SFGxtEJe6OAhCBgVxiOkZD8KlJFfFtze+hevPz2dwgkZB3WrV6vUG8J2V6lYhOhsgiUs4
xSTE/tr0fVffYLvH++x3GjLyeMScrcczyXOwgj6mj4YFzyEsK/OHMjHJjzRFp8gHfkQNl9MALjKj
k9LK87KBxuoLUEsDBAoAAAAAACAyNUkAAAAAAAAAAAAAAABSABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hdWRpby1l
bGVtZW50L1VUCQADS4jiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAIDI1SbXGhhXeAAAA
0AIAAG4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvdGhlLWF1ZGlvLWVsZW1lbnQvYXVkaW9fY29uc3RydWN0b3Itc3RkZXJy
LnR4dFVUCQADS4jiV0uI4ld1eAsAAQT1AQAABBQAAADVkDFPAzEMhXd+hUcYrsmV63HNVlGhDgzo
VKaKIU3cXoSTHImP30/KMcOEBPLynv0sffZBtqpu1Wq9kM3qBXb7/VOPbxNmhpM775jHL7t1tkeD
7h17zGMMGe810VGbVwVpHlgYSr64eQ6NbOAaU4oJqnq5vu1u4FT0JaSEoGg0DTGz6jopxcCeREav
AzuTBfojWou2MjEwBhY8YKUn62KFhP7SyclcHb7HL3Y7+fHBBU3P/eMmlBt8ZNxYWyizAj0LqJd3
C1mqLmslC1OiX+Ns/9ebw0T0E/+f+PMn6AdQSwMECgAAAAAAHDI1SQAAAAAAAAAAAAAAACoAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9VVAkAA0iI4lc1iuJXdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIABAyNUnCF/UVogAAAE8CAABGABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTEtc3RkZXJyLnR4dFVU
CQADL4jiVy+I4ld1eAsAAQT1AQAABBQAAADtj7EKwjAURfd+xRvbxYCIlGzadhAVsQU7Spq8IZD2
hfSl+PnW0skvcHC8cM7l3qqub7WEAzP2noEJlJnUoBEUaOq9Q0YDOoaRQiIe5GKPoygVK1G1jWix
O1sWDcWg8ZMKCiiuZKKbMTsYfKExnRgxTBhEc79YxlN5LJbCjfY+3eZ5BhI6IgdrgZQz0iyKlF+O
lOvANNqB97snZ0n1P/EjJ95QSwMEFAACAAgAEDI1SbxxbNWZAAAAxQAAAEMAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9jb3VudC1zdGRlcnIudHh0
VVQJAAMwiOJXMIjiV3V4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFgIiUbNp2EBWxATtKmrwh
kPaF9KX4+dbSyfHCOYfbtO2jlXBixiEwMIG2sx4NggZDQ/DIaMGkOFHMxIt8GnAStWYtmk6JDvur
Y6EoRYO/VVFEcSeb/IK50eIHre3FhHHGKNTz5hgv9blagzsTQr4vywIk9EQetoCUC6JWRco/R8rt
YJ7cyMfDm4vsC1BLAwQUAAIACAAQMjVJvHFs1ZkAAADFAAAARAAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50Mi1zdGRlcnIudHh0VVQJAAMw
iOJXMIjiV3V4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFgIiUbNp2EBWxATtKmrwhkPaF9KX4
+dbSyfHCOYfbtO2jlXBixiEwMIG2sx4NggZDQ/DIaMGkOFHMxIt8GnAStWYtmk6JDvurY6EoRYO/
VVFEcSeb/IK50eIHre3FhHHGKNTz5hgv9blagzsTQr4vywIk9EQetoCUC6JWRco/R8rtYJ7cyMfD
m4vsC1BLAwQUAAIACAAQMjVJvHFs1ZkAAADFAAAARAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50My1zdGRlcnIudHh0VVQJAAMwiOJXMIji
V3V4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFgIiUbNp2EBWxATtKmrwhkPaF9KX4+dbSyfHC
OYfbtO2jlXBixiEwMIG2sx4NggZDQ/DIaMGkOFHMxIt8GnAStWYtmk6JDvurY6EoRYO/VVFEcSeb
/IK50eIHre3FhHHGKNTz5hgv9blagzsTQr4vywIk9EQetoCUC6JWRco/R8rtYJ7cyMfDm4vsC1BL
AwQUAAIACAAUMjVJvHFs1ZkAAADFAAAASQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NvdW50LXN0ZGVyci50eHRVVAkAAziI4lc4iOJX
dXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28WAiJRs2nYQFbEBO0qavCGQ9oX0pfj51tLJ8cI5
h9u07aOVcGLGITAwgbazHg2CBkND8MhowaQ4UczEi3wacBK1Zi2aTokO+6tjoShFg79VUURxJ5v8
grnR4get7cWEccYo1PPmGC/1uVqDOxNCvi/LAiT0RB62gJQLolZFyj9Hyu1gntzIx8Obi+wLUEsD
BBQAAgAIABQyNUm8cWzVmQAAAMUAAABKABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQyLXN0ZGVyci50eHRVVAkAAzeI4lc3iOJX
dXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28WAiJRs2nYQFbEBO0qavCGQ9oX0pfj51tLJ8cI5
h9u07aOVcGLGITAwgbazHg2CBkND8MhowaQ4UczEi3wacBK1Zi2aTokO+6tjoShFg79VUURxJ5v8
grnR4get7cWEccYo1PPmGC/1uVqDOxNCvi/LAiT0RB62gJQLolZFyj9Hyu1gntzIx8Obi+wLUEsD
BBQAAgAIABQyNUkEiukDnwAAAIoBAABKABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQzLXN0ZGVyci50eHRVVAkAAzeI4lc3iOJX
dXgLAAEE9QEAAAQUAAAA3Y+xCsIwFEX3fsUb7WJAREo2bTuIitiAHSVN3hBI+0L6Uvx8a+nkJzhe
OPdwb90090bCkRn7wMAE2k56MAgaDPXBI6MFk+JIMRNP8qnHUVSatahbJVrsLo6FohQNflNJEcWN
bPIz5gaLb7S2EyPGCaNQj6tjPFenchFuTQibXVHkIKEj8rAKpJwRtVSk/OlIuQ7cJDfwYf/iPKv/
4cQHUEsDBBQAAgAIABYyNUm8cWzVmQAAAMUAAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlNS1zdGRlcnIudHh0VVQJAAM7
iOJXO4jiV3V4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFgIiUbNp2EBWxATtKmrwhkPaF9KX4
+dbSyfHCOYfbtO2jlXBixiEwMIG2sx4NggZDQ/DIaMGkOFHMxIt8GnAStWYtmk6JDvurY6EoRYO/
VVFEcSeb/IK50eIHre3FhHHGKNTz5hgv9blagzsTQr4vywIk9EQetoCUC6JWRco/R8rtYJ7cyMfD
m4vsC1BLAwQUAAIACAAYMjVJvHFs1ZkAAADFAAAATgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUtc3RkZXJyLnR4dFVU
CQADQIjiV0CI4ld1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvbxYCIlGzadhAVsQE7Spq8IZD2
hfSl+PnW0snxwjmH27Tto5VwYsYhMDCBtrMeDYIGQ0PwyGjBpDhRzMSLfBpwErVmLZpOiQ77q2Oh
KEWDv1VRRHEnm/yCudHiB63txYRxxijU8+YYL/W5WoM7E0K+L8sCJPREHraAlAuiVkXKP0fK7WCe
3MjHw5uL7AtQSwMEFAACAAgAGzI1SQSK6QOfAAAAigEAAFgAHABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVhdGVfaW5fdmVyc2lvbmNoYW5n
ZS1zdGRlcnIudHh0VVQJAANGiOJXRojiV3V4CwABBPUBAAAEFAAAAN2PsQrCMBRF937FG+1iQERK
Nm07iIrYgB0lTd4QSPtC+lL8fGvp5Cc4Xjj3cG/dNPdGwpEZ+8DABNpOejAIGgz1wSOjBZPiSDET
T/Kpx1FUmrWoWyVa7C6OhaIUDX5TSRHFjWzyM+YGi2+0thMjxgmjUI+rYzxXp3IRbk0Im11R5CCh
I/KwCqScEbVUpPzpSLkO3CQ38GH/4jyr/+HEB1BLAwQUAAIACAAcMjVJvHFs1ZkAAADFAAAARgAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0
aW9uLXN0ZGVyci50eHRVVAkAA0iI4ldIiOJXdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28WA
iJRs2nYQFbEBO0qavCGQ9oX0pfj51tLJ8cI5h9u07aOVcGLGITAwgbazHg2CBkND8MhowaQ4UczE
i3wacBK1Zi2aTokO+6tjoShFg79VUURxJ5v8grnR4get7cWEccYo1PPmGC/1uVqDOxNCvi/LAiT0
RB62gJQLolZFyj9Hyu1gntzIx8Obi+wLUEsDBAoAAAAAADgyNUkAAAAAAAAAAAAAAAAtABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQJAAN8iOJXNYriV3V4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAAoMjVJLEkzw4oAAACbAAAAUAAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWFwcGVuZHdpbmRvdy1z
dGRlcnIudHh0VVQJAANbiOJXW4jiV3V4CwABBPUBAAAEFAAAAA3IsQrCMBAA0N2vuB+o5AK2pJvS
RXDS4iIO1+RaA2lSLi0Sv95uj6cV1pUylUZQdYtNi6cjooFum5c7R8fSC/NLG2OwRd3USr/hOsUk
Pk5gU1wlhd7PPFBmyLzCUMAGz3EXW9r2PT8fNC+BL9s4snQ+L4HKjQoLfCkDOccO1gQEuUT7kRT9
j+XwB1BLAwQUAAIACAAoMjVJVPLrXiIBAAApAwAATAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWF2dHJhY2tzLXN0ZGVyci50eHRVVAkA
A1uI4ldbiOJXdXgLAAEE9QEAAAQUAAAAzZBBbsIwEEX3PcVcABKbJCjZtaEUJJBQCGyqLow9gKXE
k9oOVXr6JlWlShVs267ma/QX7z8esmQUpiPOIEwyNs1YPI6jKczauinQKLSlRXzmaZqyjPFpEvIX
WJ4MWW1OIMl4S1WpazwIh+DQw6EDWWk0fUIp2v57v9+KuqnwoT0e0c60ayrRrUSHFt6EA6EUKvAE
Alxn5NmS0e9o7/g1tJjdRJtE6Z+iJfF/sBZsqbUScyHPGORkcY1Ki+80YnHCxzwKg40lT75r0AVz
fVqU5Wa4+SfFQhhVocpb56neFau+e9H9rLH8wvxZyC0KjwW6hozDmZZ+TvYJfYGvLTqfQU5tpcCQ
H+Zf0HrYlcuBf71cP8KAkcFVr0k8ue2VRb/l9QNQSwMEFAACAAgAKDI1SdwfLtijAAAABwMAAEwA
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJj
ZS1idWZmZXJlZC1zdGRlcnIudHh0VVQJAANciOJXXIjiV3V4CwABBPUBAAAEFAAAAM3RsQrCMBSF
4d2nuC+gJMGmppvSRXDS4iIOt8ltDaRJSVokPr19BSe7Hf7pgyMYl1umtoIDkxUvKy53oiignofx
St5QbCLRQyileMWFZHv2hHPvQ7S+Bx38FINr7EAtJoJEE7QZtLPkl0Ua56Ue7zccRkenueso1jaN
DvMFM0V4YwI0hgxMARBS9voVg7cfihvxG60slPovTa6XdljvoWoNtC9QSwMEFAACAAgAKjI1Sa+z
m4QtAQAAyAMAAF8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJj
ZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hLWJpdHJhdGUtc3RkZXJyLnR4dFVUCQAD
X4jiV1+I4ld1eAsAAQT1AQAABBQAAADl0M1uwjAMAOA7T+EbcIC2/IQNaRc60HaohIR2QgiFxIWI
NK7cdBtvv1SIgdC0F+AUx7Etf1nHYppMponoP43iDeQs95l0Jiert8u6OsxOHiuozN5Ja1EDMr/0
EhGPBHSOC/NbPGcm3n44/C5RedTvzvhX6WUXOitU5DS0c38q2yA9FYBOUe08MupuyEC0opoVplId
MEqJMUNt5DXqJWMx6A9GcbRk8hQGYRUtiAvp36TTFrmKMvo0GDUrNcEiQAp0/rJfX4E1DiERw7i1
vqLHzw+IFpMHRE8COs1Wsigtzuo8R04DNIyeh13O6Tt9Ap1wBNda7oi9cXuwRCWgZHsCXSN4agqJ
w28GqwqtO6mOm3+k2/DvBX4RH6u/0Oee81MjvF33/n6BDoUYtn4AUEsDBBQAAgAIACsyNUnzMibG
lgEAAGMEAABmABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtYXYtYXVkaW8tYml0cmF0ZS1zdGRlcnIudHh0
VVQJAANhiOJXYYjiV3V4CwABBPUBAAAEFAAAAOWRz24aMRDG7zzF3EIOsOuFOFmkHhoIaqQiRSXN
BSE0a8+Chddejb1Nt09fI5QmiqK+QE4ej+fP9/u8yeVMXM9EOZ7e5FuoGfcrdKb2Vu8eunC47SMF
CGbv0FrSQMxfRkLmUwnD49L8K75j9rz76eh3SyqSvncmLjDiJQzXpLzTcFHHvr0AjL4Bcsp3LhKT
vkwZyNa+Y0VzVAfK5p5pRdrgazQSV7IYF9M8e2AffRpEIVt6bjB+Q6ctcchW/peh7CTpFCwTSEMu
vugbK7DGEQg5yQebV+iy/HzQV0J+QuhJgp6v1ti0lm67uiaeJ9A0+i5pOaff0QsYpiNxbbDyHI3b
g/W+BUK2PeiOIPpToefkZmJVqbVCddz+h3SXfG/o2fMxfAR97jk/nQjfyn1/fwGdSDkZFLmQo7wc
FQLOyIUY34gcFl3T/iCniR+ZaFOUZSlmoriWYrqF+73zfMJK3xbZ20fTUIUh+UARqh6UNclYqEhh
l7Jfn96uX5jQWuy/Y08MzxgAtU7GJUsQQu/Ugb0zf4gHfwFQSwMEFAACAAgALDI1SRShuqGWAQAA
YwQAAGYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hdi12aWRlby1iaXRyYXRlLXN0ZGVyci50eHRVVAkA
A2SI4ldkiOJXdXgLAAEE9QEAAAQUAAAA5ZPBbhoxEIbvPMXcQg6wa7MxBSmHBoIaqUhRSXtBEZq1
Z8HCa69mvU23T18jmiaKqrxATh6PZ8b/91ve5moupnMpx2JSPELFuF+jt1VwZnfftYebPlILrd17
dI4MEPP1SKi8UDA8ruy/4lvmwLvvnn41pCOZO2/jEiNewnBDOngDF1XsmwvAGGogr0PnIzGZy5SB
bBM61rRAfaBsEZjWZCy+RCNxpeRYFnl2zyGGNIjabBW4xvgFvXHEbbYOPy1lJ0mnYJVAavLxWd9Y
g7OeQKhJPti+QF/JDwitph8Q+lOCXqw3WDeObrqqIl4k0DT6Nmk5p9/QCximJXFtsQwcrd+DC6EB
QnY9mI4ghlNh4ORmYtWptUR9fHyHdJd8r+kp8LH9H/S553x0Inwt9+3+GXSi1GQgc6FG+WwkBfxF
LsaFkrDs6uYbeUP8wERbOZvNxFzIqRLpt9/tfeATVnq2yME92JpKbJMPFKHsQTubjIWSNHYp+/nH
6+uXtm0c9l+xJ4YnbAGNScYlSxDa3usDB29/Ew/+AFBLAwQUAAIACAAtMjVJsZrx8T0BAAB6AwAA
XwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LXYtYml0cmF0ZS1zdGRlcnIudHh0VVQJAANmiOJXZojiV3V4
CwABBPUBAAAEFAAAAOWQzU7DMBCE7zzF3loOaeIQ3KYSB6BUIFGposClQtXW3qQWjh2tHSA8PanE
z0NwG41Gu/PNNpNzMZ3nxWQq5QtUjPUKnam81bt1Fw5XfaQAwdQOrSUNxHyRCJkVEsavS/MbvmH2
vHty9NGSiqTvnIkLjHgK4w0p7zSMqti3I8DoGyCnfOciMenTwYF04ztWdI3qQOm1Z1qRNvinEnEu
80leZOmaffTDIQrp0nOD8RadtsQhXfk3Q+mx0lEsB5CGXPzpN1FgjSMQ8iw72f5Bz/J/CF3O/gt0
ngmZZGWSC/jGl5OZFLDomvaBnCZ+ZKJtXpalmIt8KkXxAne182xcDQNNZG8fTUN7DASBIux7UNYM
/2BPCrvBvXzeYNNauuqqinhhQmuxv8eeGN4xAGo9rBk9IITeqQN7Zz6JT74AUEsDBBQAAgAIAC8y
NUkeiKbpPAEAAHoDAABhABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1z
b3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFtZXJhdGUtc3RkZXJyLnR4
dFVUCQADaYjiV2mI4ld1eAsAAQT1AQAABBQAAADlkUFrwkAQhe/+irmpB0022kiEHqpWKlSQansR
kXF3EpdudsPspm366xuhrT/C2+PxmHnfzD5Op2IyTSbDeJweIGcs1mh17ow6bmp/njWBPHhdWDSG
FBDz/UCkbRh670v9H35kdnx8tfRVkQykVlaHBQbsQ29L0lkF3Tw0VRcwuBLISlfbQEyq3zoQbV3N
kuYozxTNHdOalMarGoi7NBkm4zjasAuuHUQ+WjouMTyhVYbYR2v3oSm6VLqIZQtSkg1//YYSjLYE
Ih3Fnf0VOh3dIPTkZj6dxCIdxNkgEfCLnw3FaAyLuqxeyCriHRPtkyzLxFQkk1SMD7AqrGNtC2hp
Ajuz0yWd0BN4CnBqQBrd7oMTSaxb9+Fti2VlaFbnOfFC+8pg84wNMXyiB1SqvWZwgOAbK8/srP4m
7vwAUEsDBBQAAgAIADAyNUkUFOiKPQEAAHoDAABhABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFt
ZXNpemUtc3RkZXJyLnR4dFVUCQADa4jiV2uI4ld1eAsAAQT1AQAABBQAAADlkUFPwkAQhe/8irkB
B2i3QLEkHgQkkkhCBL0QQobdKWzc7jazW7X+ekuM8iO4vbxMZt73ZhenEzGeJFl/OEr2kDOeVmh1
7ow6rCt/ntaBPHh9smgMKSDm+55I42EKnfeF/h9+ZHZ8eLX0VZIMpJZWhzkG7EJnQ9JZBe081GUb
MLgCyEpX2UBMqts4EG1cxZJmKM8UzRzTipTGq+qJUZr0k2EcrdkF1ywiHy0cFxie0CpD7KOV+9AU
XSJdxKIBKciGv3x9CUZbApEO4tbuCp2ObxD67mY+ncQi7cVZLxHwiz8Q/dFAwLwqyheyinjLRLsk
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
PVVVDr4Sb3o7mzjhV1iZ76hqJiCzHprY/sx+mpu6Rlnlap41r01ea4tZMqw+BL1AmuhWYwv6oULV
MCj+EM8meNcrC1+IEgG+W8xNtc4YIeK63/P8jbOh9Uizo/bCZrQZgzRq69un6oWMPW1q/g+TZrdm
k9N1pNrBhwA3L4dodU74wcuts0J+mnQaTbxAnwpZ3MazZFdb/QOmUD1b0HkDOZjLUOP4Pbz7AFBL
AwQUAAIACAAxMjVJBE4C5dgIAAD2HQAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cmF0aW9uLXByZXR0eS1kaWZmLmh0bWxVVAkA
A26I4lduiOJXdXgLAAEE9QEAAAQUAAAAvVlrb9s4Fv2eX0Ek2AkwiCQnjtPETr1omwQ72JnZAil2
Pg4okbLYSKJKUrHT3f3ve/mSJVlyvGiwDRo9eEne9zlUbjNV5Muj24xiApeCKoySDAtJ1fvTWqXB
9Sm8luolp8ujec7KpzM0f2aSKUrQv44Q/FN0owJCEy6wYryco5KXdGGGYi4IFUHMleLFHJ1XG0Tg
npLF0X+O7HJukYTnXMzRyWR6Y8bCB5bTO5ambjzGydNK8LokgRdNr/VPeyO7g+Q5I+iEEGLHUl6q
IMUFy1/mqOAllxVOnIIFFisGKp/TAk3sq4qDccYOQXOw6JkahbLznqbT6XRgfYlLGUgqWNoalOw7
NXu0Nw1ymqo5moQz/54wWeUYFmEleMZpuGZEZTB5MvmL0w8TwspVM9Pq5kKj77rRceqyMgOlVCOe
8WcqehbNZrPFmLMptW4IdUx+hb2km5zmHIMZgq0y1Y2clvoE5mOwxW/FwfVMgYmTnskKxzkNEprn
HSsDs27HS+sMrAtMDHWqrQWutpo90kTHbjRpzORuyvTTxeWs9zsk1KTa2B3uNxWEF9YH0+gZCvWl
b+GoepIRGr/o38io+jHnydNnLFQIps5TJqQKkozlZNSxertHmH+2bzFBCwjt2Sv7uT28+23CBbEW
6aTdzGcdZItiCc4DnLMV1IbiA2YJqjP9b7gkOfXucOtoF+rnjNqAbvM5qYXUodFq9ysQxxCd2kcM
9mwSxxaPUW+fFp08302HlaAvi15ihrPX4mVdjELFX3VzmApe9Jzt+qPeQ3v997qIqYBsou3ssm+9
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
F4TQ1J60Fo4djR0g/HrCAbgsZ3IbPY1mvvfenSiWslwqNVXV/B5qxv0Gva2DMw/XXTyc94kiRLv3
6BwZIOZfE1mIWQEnj2v7ufybOfDDX08vLelE5tLbtMKEp3CyJR28geM69e0xYAoNkNeh84mYzOmg
QLYNHWu6QH2g7CIwbchY/Jomcl7k03wmsmsOKQyHKGbrwA2mP+iNI47ZJjxZyt6R3of1YKQhnz74
phqc9QSyUOIoF7KYiGqSS/i0X5QLWHVNe0PeEN8y0V1eVZVcyrxUs+oeLvc+sPV7GNwkDu7WNrTD
SBApwa4H7ezwD3aksRvUs39bbFpH511dE69sbB32V9gTwzNGQGOGNFMAhNh7feDg7Svx/9Eq+Q2a
ElVe/CRaKdR40cqxFlrK+beplQvxs2iL0Raal6NNTanxoo2i0DdQSwMEFAACAAgANTI1Sdqe4bqd
AAAANgEAAFsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9t
ZWRpYXNvdXJjZS1nZXR2aWRlb3BsYXliYWNrcXVhbGl0eS1zdGRlcnIudHh0VVQJAAN1iOJXdYji
V3V4CwABBPUBAAAEFAAAAL3OMQ6CMBSA4d1TvAtg2oLFsmlYTJyUuBiHUh7YpLTkFWLq6eUAurr9
+adPMC4zpjLBgcmKl1XBt3lZQL2M0wV9h9QQ4l0opXjFRZnvigecBh/I+gFM8DMF19gRWx0RIs7Q
JjDOol8LjV7We7hd9Tg5PC59j1TbODmdzjohwUtH0F2HHcwBNMTkzZOCt2+kjfhG28sftJwpIf9F
+wBQSwMEFAACAAgANTI1SVVAYPWLAAAAmwAAAFAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1saXZlc2Vla2FibGUtc3RkZXJyLnR4dFVU
CQADdYjiV3WI4ld1eAsAAQT1AQAABBQAAAANyLEOgjAQANDdr7gf0LRogLJpWEyclLgYh6M9sEm5
kivE1K+X7eUVSpd7ZfaFBlU2umpO+lBXGtp1mu/EjqQToldhjNGNPqqqVm+4jhzF8wg28iIxdH6i
HhNBogX6DDZ44k1kcd32/HzgNAe6rMNA0vo0B8w3zCTwxQToHDlYIiCkzPYjkf2PZPcHUEsDBBQA
AgAIADYyNUl2+43TEAEAAIQBAABIABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxheS1zdGRlcnIudHh0VVQJAAN4iOJXeIjiV3V4CwAB
BPUBAAAEFAAAAF1QwWrDMAy99yt0bA9JYyfNSGCHLV1hsF7WskspQ3GU1NSxg5JQsq+fSwsrO0l6
0pP03iFKc/GUJ3EohTxCsd1h2xl6HeuauEBjNo7fUJ1uMPS6sR6kCoj5WcDchwXMD1g6HrRtwDjX
ASGbCaqRYHDXQcdQs2tBeWqJ6nxcAA6w3LmRFRV+Oy0Lx7SlSuN3zdjSxfG5/wMDsUplKJPozrm1
lhvdPL77vw4VGG0J4jSNZzISaRBlgRRwl5yEK5nAemy7T7IV8Z6JDjLLMpGLOMpkeoT3xjq+ylLO
DuzMXrdUYu99oAHKCZTRZH1GCkePvnw9nl/rvjM4feBEDBfsAavKG+ctQegnq07srP4hnv0CUEsD
BBQAAgAIADUyNUnQqsHUiwAAAJsAAABXABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxheS10aGVuLXNlZWstYmFjay1zdGRlcnIudHh0
VVQJAAN2iOJXdojiV3V4CwABBPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/AtFWRsmFYTJyUuBiHoz2w
SWnJFWLq18v28pSQZSF0oSSIspbn+qj2VXWCdp3mOwVL3DHRS2mtZS0PQqvyDdcxRHZhBBPDwtF3
bqIeE0GiBfoMxjsKm8jgum3zfOA0e7qsw0DcujR7zDfMxPDFBGgtWVgiIKQczIdjcD/i3R9QSwME
FAACAAgANjI1Sem5nbqaAAAA9AIAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1wcmVsb2FkLXN0ZGVyci50eHRVVAkAA3iI4ld4iOJX
dXgLAAEE9QEAAAQUAAAA7c6xDoIwFIXh3ae4LyBVog6sVZREEoPwAKQ90SbYq+2tiW+vTC4u7kzn
DP/wqTOnYKB7c4XSHFDDuv775sv1Js/y1UKdAgvL646oSnc5tO1pXD04eDn03g6wOkXhW9ccP+3T
WYTMkPkZ6IBe0CDe2UdsnZGSwx7S4JEQpSDNabDkWciwfyIIdW1FwlRX9Y5GRkEzNeEn/P/4N1BL
AwQUAAIACAA3MjVJG4mt5YsAAACbAAAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJlZHVuZGFudC1zZWVrLXN0ZGVyci50eHRVVAkA
A3mI4ld5iOJXdXgLAAEE9QEAAAQUAAAADcixDoIwEADQ3a+4H8DQimDZNCwmTkpcjMPRHtiktORK
Y+rXy/byZCnqolSFFFDWrWja6rhvThV0aV7u5A1xz0QvqZQSrZDNoVJvuE4+sPUT6OBXDq63Mw0Y
CSKtMGTQzpLfRBrTtufnA+fF0SWNI3Fn4+Iw3zATwxcjoDFkYA2AELPXHw7e/oh3f1BLAwQUAAIA
CAA4MjVJfiePO04BAADqCgAASgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXJlbW92ZS1zdGRlcnIudHh0VVQJAAN7iOJXe4jiV3V4CwAB
BPUBAAAEFAAAAO2Tz2vCMBTH7/sr3nEe1KY/rbDDVicM5mXKLkVGmr7WYJrIa4t0f/0ijk3GPCvq
Kck3ecnn8yCpE45ZNPbDQeCPlpDM5rzaKHxqiwIp4UpNDT1zsdrHUMtS2xBzQKIHBvd26MF9yjND
jdQlKGM2gJxUB3mL0JjdQUNQkKlA2NKMi/WyB7yB4dy0JDCxt+MwMYQzzCX/KIhXuDW0rn/DPgtC
d+D6znfNfms4leUh7t/1QICSGsELQ+8uvT7R0A2uRDR2rkM0Yt5N9MJEo5voBYi6Dgv7Ttx3Gfwo
j1gEk7bavKHOkRaEmLpxHLMxcyMv8JfwUmpDOy1hdENGLWSFGa9tH7CBrAOhJGo7Q8Fbmz6+Hz4/
kfVG8e6Vd0iw5TXwPLeNsy3hUHdarMho+Yn0P5rrHUUL4vi0aPHZonnBETTPiUbOSdF8dr5oZ/EN
vgBQSwMEFAACAAgAODI1SXBUhlCbAAAANgEAAFQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS10aW1lc3RhbXAtb2Zmc2V0LXN0ZGVyci50
eHRVVAkAA3yI4ld8iOJXdXgLAAEE9QEAAAQUAAAAvc69DoIwFEDh3ae4L4Ch5acpm4bFxEmJi3G4
tBdsUlrSQkx9enkA4+h2cqaP56zOcplxBnndMNGUYi9LAe06zRdymkIXiO5cSskaxkVRFQ84jc4H
40ZQ3i3B285M1GMkiLRAn0BZQ24rUrhu93C74jRbOq7DQKE1cbaYzpgowAsjoNakYfGAEJNTz+Cd
eVPY8W+0iv+glf+ifQBQSwMECgAAAAAAPTI1SQAAAAAAAAAAAAAAAAMAHABqcy9VVAkAA4aI4lc1
iuJXdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFkyNUkAAAAAAAAAAAAAAAAHABwAanMvZG9tL1VU
CQADuojiVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAPTI1SSjZeTawAAAA7gAAADUAHABq
cy9kb20vY2FsbGJhY2stZnVuY3Rpb24td2l0aC1oYW5kbGUtZXZlbnQtc3RkZXJyLnR4dFVUCQAD
hojiV4aI4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu
0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6
Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R
9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIACABBMjVJXHQIhqEAAABmAQAAJQAc
AGpzL2RvbS9jdXN0b20tY29uc3RydWN0b3JzLXN0ZGVyci50eHRVVAkAA4mI4leJiOJXdXgLAAEE
9QEAAAQUAAAA1Y5BDoIwFET3nuIfQKFFo9iEVZGwMsawIy6QfqSh9Gspen3RsPAKZlZvMsm8km0F
jwXjwTqKL5AXxemMjxEHD42+5d7fZ0y1yiptZGXMtao7AUf0L3IdoHPkBCjqK22TTmaHT5F+UWbz
agk1KUxWnLHNEiSNRoElP7XWYu3BE/gWYUD3RBdAQw7a6VuEIY92AZvCw4F6HJ1ZlD/K+/9QfgNQ
SwMEFAACAAgAWTI1SSjZeTawAAAA7gAAADAAHABqcy9kb20vZXhjZXB0aW9ucy10aHJvd24taW4t
Y2FsbGJhY2tzLXN0ZGVyci50eHRVVAkAA7qI4le6iOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXg
e79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnj
wATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4Gcy
Hauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwME
CgAAAAAAwDI1SQAAAAAAAAAAAAAAAAYAHABtZWRpYS9VVAkAA3eJ4lc1iuJXdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAEEyNUn4r7Rw2AAAAFICAAAfABwAbWVkaWEvYXVkaW8tZGF0YS11cmwtc3Rk
ZXJyLnR4dFVUCQADiYjiV4mI4ld1eAsAAQT1AQAABBQAAADNkTFLBDEQhWv3V0ypjSQKngS5wr1C
QUFYREEsZpO5XLg4sySziv/erNjZeY3lwHvfY94baIIzC+bC2UtnLNBHtXZ1msVjhqK+0CRFE8eX
c2PM6hWuNjTOce2gkt5TrRjpTmJsiutm2jtoxkyhG/4OVizaC29TnAtqEn5Kuuvlbcq0XDfIIVNx
0KPfUQADxDi2TBjR74lDPSSc9LFSueWtbJJX94vt4Lg7OjkogcNPcd9/oVKU8tm4POf8P8mJky7I
odHbAks7Dp4fevDCTH5ZpWneMafQfQFQSwMECgAAAAAASjI1SQAAAAAAAAAAAAAAABMAHABtZWRp
YS9tZWRpYS1zb3VyY2UvVVQJAAOciOJXNYriV3V4CwABBPUBAAAEFAAAAFBLAwQUAAIACABKMjVJ
MojfW4oAAACbAAAASAAcAG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc3RhbGxlZC1o
b2xkcy1zbGVlcC1hc3NlcnRpb24tc3RkZXJyLnR4dFVUCQADnIjiV5yI4ld1eAsAAQT1AQAABBQA
AAANyLEOgjAQANDdr7gfwLQ1EGTTsJg4KXExDkd7QJNyJVeIqV8v28szSleFOhdGg6oaXTdGHU1p
oN3m5UHsSDohep+UUmWjdVnX5gO3kaN4HsFGXiWGzs/UYyJItEKfwQZPvIssbvteXk+cl0DXbRhI
Wp+WgPmOmQS+mACdIwdrBISU2U4S2f9IDn9QSwMEFAACAAgAbzI1SQEIlF7FAAAAJAMAACgAHABt
ZWRpYS9zb3VyY2VzLWZhbGxiYWNrLWNvZGVjcy1zdGRlcnIudHh0VVQJAAPhiOJX4YjiV3V4CwAB
BPUBAAAEFAAAAO2RsW4CMQyGZ+4pPNKlylEJ2ggxcDdQiU6oYqg6+BITIoJzSnyq+vZNKzY2Tt0Y
Lfn/Ptn/jnqY1aDmun7Rs2egr1zXi8cQDQZIYhL1MYln9/GklFp8wrKlbnArDZnkjXJGR9voXNlY
l9BJQwkGstXudrBgkibywbshofjIey/HJp77QL/TBtkGShoaNEeyoIAYu+KEDs2J2OYxcpL3TOmV
D7H1RvQVW8O0mjyMMrC9PO7vLhRyMX0XLg8hjCPfG/mPRn4AUEsDBBQAAgAIAG8yNUnvlv67igAA
AIABAAAwABwAbWVkaWEvc3ZnLWFzLWltYWdlLXdpdGgtbWVkaWEtYmxvY2tlZC1zdGRlcnIudHh0
VVQJAAPhiOJX4YjiV3V4CwABBPUBAAAEFAAAAM3OMQvCMBAF4N1fcaMuklSwNIhLXRwEIYOCOMT0
TA/CpSRXxX9v/Qu6uD4e33sWB6g0qLXRjakawGfRul7G5F2ELD7jkLIQh8tKKVVfYbPD2xi2Bgpy
d8BSXMATSd86wZDyy8CcxxgXM/u1TEzyIe2kU+I935OB87EFn5jRy5RNnYeL1P2w8h//31BLAwQU
AAIACABwMjVJz04p0pAAAAC9AAAAIQAcAG1lZGlhL3Vuc3VwcG9ydGVkLXJ0c3Atc3RkZXJyLnR4
dFVUCQAD44jiV+OI4ld1eAsAAQT1AQAABBQAAABtjkEOgjAUBfee4l9AUKIu2FYREkkIwgGa9kWb
YD+2vyTeXl25cTWzmMXkV07BQGlzR644oIV1+mfr7f5QZMVuk3eBheU1I+aVu9XD0H2pJgcvtfZ2
glUpCj/G/vJpF2cRMkPmb6ACtKBHnNlHHJ2RisMZ0uOZEKUkxWmy5FnIsF8QhMahIWFqm/ZE342S
Vm9QSwMEFAACAAgAqjI1SS65syJrAAAATQEAACYAHABtZWRpYS92aWRlby1wbGF5ZWQtcmFuZ2Vz
LTEtc3RkZXJyLnR4dFVUCQADT4niV0+J4ld1eAsAAQT1AQAABBQAAACLNjCzMjK0MrTQMzEzjVWw
AQIFz0BdZ0cFOyBQKMgsTE6MT80rLE0tTfXMTUxP9cxzdgQzAkFCVgrIPM+84tSiEjBfIS0xMyc1
RUchpTS3IDMvXSGtKDE3lSsabp2lmTH9rLPUMzE3p711AFBLAwQUAAIACADAMjVJZQAOSL0AAACS
AQAAHwAcAG1lZGlhL3ZpZGVvLXNyYy1ibG9iLXN0ZGVyci50eHRVVAkAA3eJ4ld3ieJXdXgLAAEE
9QEAAAQUAAAApZAxa8MwEIXn+lfcGC9FTklDRcgQe2ihnULoUDqcpbMsopyMdCb031cJ2bo144N7
38e9PU2wbEA962WjVy9A59w068cQDQZIYhJNMYln9/WklFp/w6ajfnZbDZnkg3JGR+/RuXKxK6Wj
hlIMZKv9/8GCSdrIg3dzQvGRP72MbTxNgS7pFdkGShpaNCNZUECMfXFCj+ZIbPM9cpJDpvTGQ+y8
Ef2HrWFRPdR3Gdjehrv+hUIupp/C5TmEuvoFUEsDBBQAAgAIAMAyNUlSPl+7gwAAABoBAAAhABwA
bWVkaWEvdmlkZW8tc3JjLWNoYW5nZS1zdGRlcnIudHh0VVQJAAN3ieJXd4niV3V4CwABBPUBAAAE
FAAAAM3MsQrCMBCA4b1PcaMuklS0GMSlLg6CkEFBHGJ6xoNwV5JU8e2Nb+H68/NZHKHVoNam1Wa1
AXxnrbtFFO8ipOITjpIKcbgulVLdDbZ7vE9hZyAjD0fM2QU8U3n2rmCQ9DEw4ynGeWP/UCam8iNt
1Un4wA8xcDn14IUZfamtPi8XaWi+UEsDBAoAAAAAAE4yNUkAAAAAAAAAAAAAAAAIABwAcGx1Z2lu
cy9VVAkAA6SI4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAE4yNUl8ULaargAAAPEAAAAv
ABwAcGx1Z2lucy9tb3VzZS1jbGljay1pZnJhbWUtdG8tcGx1Z2luLXN0ZGVyci50eHRVVAkAA6SI
4lekiOJXdXgLAAEE9QEAAAQUAAAATY9LC8IwEITv/oo9qqiBniRXLQgiQir2vCZrG0iyJQ/9+z5a
xOPMNwMztVJnJaG3GRAUBUOxtaajDE+bey4fW3OMlAYOxoYORrwCTxjSm94jegKboEd3X2sOKcei
M5mZuLIrnpLYY0ZRt41o6Xa0WTRcoqaP2nEkMWBHwqMW9YNCPmAwjuIJ9cb7eVVtFyDhxuxgykv5
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
aWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL1VUCQADMori
VzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAIzM1SXQ/tgdzAQAApgMAAFQAHAByZXRyaWVz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWR1cmF0aW9uLWFjdHVhbC50eHRVVAkAAzKK4lcyiuJXdXgLAAEE9QEAAAQUAAAAvZLPTsMwDMbv
fQprD8ADcANpSJOQQCp35KVuG5EmwXY29vY4XdlAEwIuXNIo/fzz5z/N403bwhOJghC9gCiyCqQI
XWFUbxflEt3xuqWQ9uAKM0V98hNBc47HnCl2t6XvicGlKQdSEshMO5+KHPmaPnjUnVM0dzeb+yPF
EA99q0w4/RGCIsT6TK8Fg1zDemceQQ/ZwidUN14BvWVyNWZVMT4OK9gWhSEprNSqKbkz5Kr53BNV
04Gg1XrKNJWg3pxBDRLokh3RIL3nqsrBV2snvRsxDl9a9YHV8RPVqgokYo8Y5z+jH8ZZXWdS5dYF
saIWec2tOGXY+xAsgG00S45lYhcZqkbA8Ju4w+C71li0Zk5svXGUZ9V+pAiR9uc4L984287Dtoby
XOFsdDYGqbcdmj9Vr4zuZVHLf5jEszWXOjt7rhO8aODiZROdLZxceDlNVtkPg601xgO0qbCjZc+P
K/MTpnB9m6jzCDngYVvb8Xt48w5QSwMEFAACAAgAIzM1SYwtodK3AQAABAQAAFIAHAByZXRyaWVz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWR1cmF0aW9uLWRpZmYudHh0VVQJAAMyiuJXMoriV3V4CwABBPUBAAAEFAAAAM2STW/bMAyG7/kV
RK6ZahQ7DNgpLZoCxQZsgIv1OMgybQuVJY2k4vbfj3aSZsW6w7DLLvqwXz58ScoYA9W3FMqIXN1Y
sdXuoa4esPnk5bhdFx/a6gab0lfBPqciRpDFEHIJwhWhkNdoP+ZEgm01vXfVhI3JwUqXaFzkXI3Y
ems4FXJ4uBzOpi1kxado8CmjU8KFPMlqs9n8P86sk2LD4mu7BXP57gNs5mW7XcEKvl7VNdwrChjx
EVgsCUOKcIoHoRLd4dhgSBO4QoRR7v2IrwA2Z4ztdek6JHBpzAHVI2TCvU+FDwkknYDYnnOszBmj
jC9dLYR2/FvK5vbq7vO/UiwzknzHH9o1/gi7vdYK8pw1fLTihgs4zRrWM8bHfg1NEeiTwFq0KyW3
ily/bq6ICoGtNu0l1aij9moN5iiGNukSldJ5mlU5+Nnbi94NNvYIb3Fl+AWrdQVk1o82Ln8G3w+L
ep7uLNc+sJZ1lM/JxY4ZJh+CBpAO+ZTkOPzfUswiBuXfxb0Nvq0VhjuiRNoeh3lRTQNGiDid4zz/
wVqzPBvtKS01Lk4XZ5A6fY7LNuuFrHs8qhlWPwFQSwMEFAACAAgAIzM1ST3GEtM6AQAAXQMAAFYA
HAByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21l
ZGlhc291cmNlLWR1cmF0aW9uLWV4cGVjdGVkLnR4dFVUCQADMoriVzKK4ld1eAsAAQT1AQAABBQA
AAC9ksFuwyAMhu95Cr/KJu3Q0yalL0DASVAJINs069vP0Kyp1E2bdtiFIPLz+ee3u7envocjsgAj
noDFkDCkCK6QEa8boRLtdTtgSCvYQoRRjn5B6Pb7JmeM7rmMIxLYtOSAggyZ8OxT4Stf0icP3V7i
jqKI17EXQrP8HcIo4uMEbNTiTbCUIF6BIOqcwSVdYhIYPVVVDr4Sb3o7mzjhV1iZ76hqJiCzHprY
/sx+mpu6Rlnlap41r01ea4tZMqw+BL1AmuhWYwv6oULVMCj+EM8meNcrC1+IEgG+W8xNtc4YIeK6
3/P8jbOh9Uizo/bCZrQZgzRq69un6oWMPW1q/g+TZrdmk9N1pNrBhwA3L4dodU74wcuts0J+mnQa
TbxAnwpZ3MazZFdb/QOmUD1b0HkDOZjLUOP4Pbz7AFBLAwQUAAIACAAjMzVJpSHLMdwIAAD+HQAA
WgAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtZHVyYXRpb24tcHJldHR5LWRpZmYuaHRtbFVUCQADMoriVzKK4ld1eAsAAQT1
AQAABBQAAAC9WWtv2zgW/Z5fQSTYCTCIJCeO08ROvWibBDvYmdkCKXY+DiiRsthIokpSsdPd/e97
+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
rwAf5FqURWFO6VJXyYhamQTq8Mf5t/PldyaaTRvTXL1MTG/je2i1taqXOYYktwsihg1jfvfzrPFE
5TVMfBxxsmaXmDbrEnNu0Rm1y5v7n9+++vndp/HreKrdv357n87L/dv/+cf0bz+5BX8ND+yHu//w
nydXcPz133/8+09//stPf/nzrz/+/c9/+fWHX/7y0x9++ftPv/7yf//jL/9rXjqheLsOLIHiHbpV
ejnBv3b+eHscr//hggFxnX5dx/ehU5t1jm6744/jt/uvP/z4H3/46w9//vXnX/7wy19+/ctPP8kr
rxR53ychIDJu5R9/nta+nCap+PV0uUyq6sfJv3Ea+d9/+uFXG8Eev4krKwV71msrNrfyX2zwYw/3
19H/2/jrXIkXuEniulUDO4Yeon+6nK3Bt6nNX78cbv8yuvLHX2tpoR7WccX4asjt7+k62lNdT2IZ
6CCsO8BdYcm1X/ebZZLbQpz1w//3T3//8V9//fPf//Tvf/vLj7/Q26rgtrBjh/DtnpIifT+shelz
Ya3zx+kkLtXBUl1ylEE8J30yxalczGs4Omwh/9nH+fOPf/jHz//2918KjxMEQKu1Prj41/7497//
9S9/+JGvrvr88f5i36dtMHoTBahK9hU6iOx4khZrFDek4XChCYMol7sfJHypby7ZCsrpcnXa6b+j
SFHCoCVoJGHnw/vty+U+XdYblQgqy6pGsYC6ajtFezoGfnc9HDI2CJOU3mfefp0+Mr/0H+bAxO/M
ysBZ3h8oZRxUVJT5f/nhp59/iW+Oi/+QXlgna1eQvh//8Le//PyPP/zJWa1fKyU+EjgN7JhQ/JCf
f/nph+nIubTV6S0OXNqIrDmYTha2Oi9snzwmLR6T2WWEN+ufL7/++LO4KFgOnPnyj+vlyf7+/Prr
DzY8/XC+W+HBgJxgg3I86sfLxbZUdLbj15fD6SZbELX53nqfWPx37Icmd7f7b+3Uf4pIJFPesjpB
jarW1sY7rAxVnwqsl9/6Thv+hx//71Rrcw2DHwBg3H/nkXKDAPds4y7Vqv1fxD+hJUoyJ/zTmyKy
3+S9p8RAiC+xIqYrOc+/jufX+5f/nttVd4nfnRGQ/ab86fJBhLw2xDEl6m+On/7yf/7x019+/vmH
v//ITPOgy9FZcnL/nXNr0wdbU9ciMhGyGsAoDRpmB6evIDLg+fl25Ftta83BabTLeBH+rCNRwwax
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
wyqilW0cvymQhwPYPzzgsuA4r62puN/T3tgF57M0kHMAMzOMcCpgQdP5TGn16XIxskQ7mcpTqTnu
7wLFiSXN2J1HhVoX1tQ10KDPa6JnY9zd/faw/01BHxhAXzDwM+dxOR773//9vwFQSwMECgAAAAAA
dDI1SQAAAAAAAAAAAAAAAAgAHABzdG9yYWdlL1VUCQAD64jiVzWK4ld1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAAxjI1SQAAAAAAAAAAAAAAABIAHABzdG9yYWdlL2luZGV4ZWRkYi9VVAkAA4SJ4lc1
iuJXdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJAyNUnCF/UVogAAAE8CAAApABwAc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLXN0ZGVyci50eHRVVAkAAyCJ4lcgieJXdXgLAAEE9QEAAAQU
AAAA7Y+xCsIwFEX3fsUb28WAiJRs2nYQFbEFO0qavCGQ9oX0pfj51tLJL3BwvHDO5d6qrm+1hAMz
9p6BCZSZ1KARFGjqvUNGAzqGkUIiHuRij6MoFStRtY1osTtbFg3FoPGTCgoormSimzE7GHyhMZ0Y
MUwYRHO/WMZTeSyWwo32Pt3meQYSOiIHa4GUM9IsipRfjpTrwDTagfe7J2dJ9T/xIyfeUEsDBBQA
AgAIAJAyNUnCF/UVogAAAE8CAAAxABwAc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXdv
cmtlcnMtc3RkZXJyLnR4dFVUCQADH4niVx+J4ld1eAsAAQT1AQAABBQAAADtj7EKwjAURfd+xRvb
xYCIlGzadhAVsQU7Spq8IZD2hfSl+PnW0skvcHC8cM7l3qqub7WEAzP2noEJlJnUoBEUaOq9Q0YD
OoaRQiIe5GKPoygVK1G1jWixO1sWDcWg8ZMKCiiuZKKbMTsYfKExnRgxTBhEc79YxlN5LJbCjfY+
3eZ5BhI6IgdrgZQz0iyKlF+OlOvANNqB97snZ0n1P/EjJ95QSwMEFAACAAgAkTI1SbYLDNuvAAAA
AQoAACgAHABzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC1zdGRlcnIudHh0VVQJAAMhieJX
IYniV3V4CwABBPUBAAAEFAAAAO3PwQqCQBAG4LtPMce8tBARsrdSD1ERKeQx1t05COrIOis9fiae
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
DAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgM
AoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwC
g8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAKD
wCAwCAwCg8AgMAgMAoPAIDAIDAKDwCAwCAwCg8AgMAgMAoPAIDAIDAJ/M4H3Tr5Eu5T5t2G8uA/C
g8sU0Aa0Ae0fHdpv15cXbzZBIeY6qa9BGDrFfc5U610yYJeavePwvKrbD9UlP6xRrqKWwzzhXTJ3
hIMkkvfUxudNtxa9eA6nZINXf8u+rkgRTBiFfoalT4bWaGibI2NimFeCqQbRS/zM5qVQbiKfc1PI
pj9QrDRWDCz0phi7diM/ZOV1NYWUJv60ZgQYl37G0LLssWGYurZlkU8FU7DAEYnymAmOYEMJc9iT
2NDxtYiTjq23pMXPIxqwzU94wTw4ejTjZIrpN68LLR2bEJzcRRik664dXBke5Us4EwpFZzbhI798
YVqm5k59FCs7Vzz4Lg8ataKzfCsUkpuLvH3uiLVf2xz81eixTH1oNm28ME5Z08iY2lbTaON+XTAn
t5wdlHw8YjiWsqDFycLRGauvHvwLUEsDBBQAAgAIAJ0yNUnk2bTP6AQAADokAAA0ABwAc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXR5cGUtYmluYXJ5LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADOoniVzqJ
4ld1eAsAAQT1AQAABBQAAADtWs1z2joQv3PKn+AjzLzM+Asw3Ihpphxe6TzS3oUlgloj82wT2sv7
29/Kjo1kSzJJyDTt5MBMsPZ797fadVjMb1YkfSDpdEqyHK1jmm3vUsQyFOU0Yb0vjP57IIv5zRzB
KcpImDBGijM1h3VtXcHH8e2x5w+9wIWPHbTlADeDJwfS4FVRUvaQfCfLPUkRJ5sxLDDd0R1J+4Pe
4uQJbtkaxklGsGyXb9u22b+owX+bJrswpoTlCi8nQ7fX3yHKBpbChQ5RfVGSOxkV7ghOTqdJ5X3h
7y1NwZ2+/WO82WyGthts/MgeGPQnhuAVwgy8W8RwTKrvdRoysPxuS1JiIfg4nu8HI8dxbWtPGKbs
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
UL4QkIj7b+PhZ8FnuXi6+TCkyhdgMIJcded3T1b03YyWdVBK01ji1Dkv8e3d9+8qtnlJa1uWbNna
17wp91xJJzYDQyPPV2UVFr+iVtn1yrbgkCe67X3vT51qt91vZUlRB+Y9zzlF8Yzp0/gQJCAwiQ5u
cgCPz4KQ4AvaJit8KXwpfCl8KXwpfCl8KXwpfCl8KXz9f/Cl2mCqDfaj22AXdyzz0zXlWttglaeQ
X/eyD8QFX8qfTwz76VUqo0TS0LRtq/bBEP0iuE40HFeJds7bGqf/nGBxTC01DvgtdK3gHy5c/QtQ
SwMEFAACAAgAejI1SSGyq7VeBQAAyiwAADwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVs
ZXRlZGF0YWJhc2UtMS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA/eI4lf3iOJXdXgLAAEE9QEAAAQU
AAAA7VpLc5s6FN5nlZ/A0p5pZgBjwN4ldjPXi1tn6rR7DHKsWxt8BYmbzf3t9wgwSCAJ40fT6bBo
ZozOS+fxHemos+nDApE3RMbjaIfC6cNX9O8ripOJF/pos0HBzbcQw5fZ9GHqJd7Si5GMUrvTbm9m
15MX5PSTKAyRn+AonGyiOKUzLN0ZWLarmwPHsay6jpJnPPYr/I8k2k42GIUJ1ViRZo/sm97Ww2Ff
ExjeIKrHStItvS/aPA7foh9ovkPEo4Luw+CZeGHspWKf8RaRXl9hQqRgfMQEHM640KdW1oSIrPqv
9q3X13r6T2e1Wg3d0coxbL2fxecRNEbkHQKENihBB/pD+ErXP0dFKIWUilWBhQ0GuoMgNVDuubUX
Bhs0TZU1k+W/izjFYNfzGhGkefDPsFzbtUbW0NYglwMcvty0E/UU7XaQyl6oFQH9pIXRXktUOpqs
nrwSAslYaFIwAMkqItucI/NKwZfGoBcshZxZuB48/weYtIBUUHkzwMG0Tn+VFHXLFBXm4MGSQgcQ
zlkkGo9JDknRdkcpAwFJFPJSFq++j+IYTLnT/MyZGuiLqRdxzGGLYbtUYCEqwPHOS/z157cCQJiC
GywBP9hyo6gp21yKqEwBab1b8I01dPWRMzSGZr8G1ApHN1YaSv0sA/YaBF+q2Bzz+sXG6LhasdGM
KkuN8+wAYi6rO+pctooop2EOdMcdOnpfXYPzCu9lQuIMRh/pLmdpKPcdJx5Jvme1OAEjXhDTMBvO
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
qU3dIGUPROG5ymIrBBhDVsZMtGEy6meaFEtDS/QiPwhj78GPJmHcCHZSsjQ1t2L9uGtIFPnpNJG/
8txrs6hTTxlHAVVFbv8AUEsDBBQAAgAIAHsyNUnqIRBqiwEAAEIEAABAABwAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtc3RkZXJyLnR4dFVUCQAD
+YjiV/mI4ld1eAsAAQT1AQAABBQAAACVVMtuwjAQvHPiE3wDpCKFAknwEUIlpEq0hX6AsTdgEezU
NrS99Nu7CSSiIgnqIQevZ3ZmH84imq7AnMBQqlNQ0fQNPo5g3YwpDkkCorWIpk+MO22+KRWQgIOI
ObZhFkiftLPrmVYKuJNarXWRrBrZcPuuJAojpohSehPq9kjX+wriOB6HkzgcCq+HzO6BSdUjFQl2
TIkEolzsPuxyXqZgWFaMRV/rHRggDL/BKPTD0WQ09gn2SUi1bf0v1YtOUxCEKaKL8ANR+pO4Jo17
rmdHY0C5UqmBgJBYm8OFce5Kyctn0BWbSuZ5XFPG92hphasArdXrs3QZ6jpK6Rbc0swtEhNpd0WG
hYo1Cohi3u06+q0QyUN4IrFMgHTaHYJmhbT7hkqFFNGt5av944m2cEOsGujPvSUc+PkS1j2Dwkmp
gcDl9UOj1FxenD6kGVJUQLT6m2V15BysRSt9ws/zJKhns0FKi3vkBcORH3qPw2Dgh1nCMhW2LmWO
7+anjIRTv64mGG68Xl0tNf+HX1BLAwQUAAIACAB7MjVJYDb0MlYAAACZAAAAQgAcAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUtc3RkZXJyLnR4
dFVUCQAD+YjiV/mI4ld1eAsAAQT1AQAABBQAAADzdHEKTi0qSy2yssovSM1zcQpKLSxNLS5xTsxL
Ts3JSU3h8nRxcktMLskvqrSySknNSS1JdUksSUxKLE5V0FUQAEk75+flpSaXZObnheTDDCNeJQ5r
AVBLAwQUAAIACAB7MjVJ0xIZHBABAAAhAwAAOgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9k
ZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXN0ZGVyci50eHRVVAkAA/mI4lf5iOJXdXgLAAEE9QEAAAQU
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
EqazQZoPw3gcsqM/8lH85ury7WU6S2/TaahrmbxJjo+ufl5/2ar9oMjzMJyNinwwLqaLdq1Os3fa
6fab7dNer9PZvccmc3ExfJJ/VxaTwXgU8tn8jk966553j04m6ShvJHsG/kxXJ9Wemp1mY9/Dj/Kv
xedwfR/KdN7RL3n2oUzzabro9sNoEsqTxoEhFAeC70ZlnPDKFA7no9zpZN+o/rPz3UkjOWn+1bu7
uzvrn9/1Wt1mY7k+7+Idi/JbXKAwDrPw2P5x+TZT/6FYL+Xelgeu7hnhMwPsn2aLAdbP3Kc0z8bh
cnGz55utPq/XaRrH9eFTKEOSxr9Wp9/td847Z90kWs5G+cej13X1vri/j5TTPFkv6D+SvHhIZofu
8dyoB1/KMmJc3+lAIDa5K8rJKrGclXVusQYn2e3e5HK53qbDz3FIN5HCodnMRtnlbvufQrS/IbrX
4ONI1veIDa+rJ9HFRbk6korJ/bxltqdJkW/3cvNlOAzTaRzKm2S4nMwk3m86n8XRdOtsaXX78w7X
XWWj6X06G3769ev6AKlsuNPbeH5Ut9v81Kx7uMWJWtlAyclxnJvOWb953jtrnbUbOwf1gYl+dqeF
xTzXHew7R/CP2my99s/fbJV7/LTNNhe12WpbM3sa17xu380nt7qL5slW+7TZ65/1mo3De/D6SfbH
LEnv9Px/OV2929bB557O0nL253IvDuIgPobKD+Yz7wxlSGehLrv73tBp9bq1C3cbPo7ySvxqeyn+
7jvCP8MkngsxV+1t927f9S7xQ5jEf501k/rT+bp6LL3sbN4Mp/IhjmAwX754t+TxHTKu18No9ml9
MleWrnveaiebF7tkc2jOraV3zWY77rBuL7ZvZsuD9IXElr9FlS8Ww3ziaO9PzB/3H8s0C7+FkIXs
RT8tzU480cLDnu//xk9O5YV3sQ+ub/8VJ2d56LyJPy3JcWPnyXZaLh5s8zHu6i+z6/KXLNuJrlb2
feW6oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg
oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoOB3
Breurys4bmo2blX06wybLyjVd50vyzDWFWfcW9uv/uJOtchnCgUeqLe927amxuZjydCdQE2VzH2F
DdNsXqEyub55rBZ5dZl0+v12t9s+b/dXPVW72XqumP4tPFR6XJfoPBT59a/RdF6pcnfIW0AeytGs
mr2Z1508WJ8zG2Xv6+bklQuUnAzT8fg2PkXjcNXUeM/BPio1BT/3tt0ayr5GVazfvxced95zW6C6
Q3e+Ozyf62YHCt6umxzmvT4HalR/Dt8WoKZX+Qv2wLKQ9+/zqqX7zL3schgWZe14IvCtBlsdbC6+
RPH710121Wy9wNpztXKtKqNSonVV9/sV1VU7rT3+oIUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
WmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpo
oYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
WmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpo
oYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
WmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpo
oYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
WmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpo
oYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
WmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpo
oYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGF
FlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZa
aKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmih
hRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUWWmihhRZaaKGFFlpooYUW
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
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
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
A2pADagBNaAG1IAaUANqCNAiQIsALXwWfBZQA2pADagBNaAG1IAaUANqQA2oATWgBtSAGgK0CNAi
QPvRfFaju1J7qvefJ+tswNirMEp5LZ/7xfP9GbvMCbKMOOdALW3u+ESzwLXswCF+/gCxqq/smjY8
fsI9/RBlz6se9Hp12dtJD+NMVkbBpa2W5QVFnTtdGcku8UlC1KTbrlu1k8xl7qLw4MW0ctt/2Gfv
dWYL55WpKPISeQn/VHde4MUb4rayP2kHtxjnUzLbyNqg//pmbzI0x9PeYGjejHtXEj294BB+I8uj
OVCquWpS46Bjp37MUFMwtSpN2Y0duD45/i5UiKniTxsSEcOm//rmdDw16X+msSOBSxHT+KSZxNTq
rmkm+gxZB14LIla43XrJMmrhXdYeywZUtFRTgXNz1UYSjebV31mWr5oIdUL2yqdgNr0JC8FaV0k1
oU3NXJe6R/bzQIxE71erKZPEKfapV8u5t9BWlDle+q5J5+1t7pe1MUs/a4VQ76Oq50hnxbl8PsE+
SnfR61APzAIKqHd5ZrXzGe2UWVZCnDNPRqOBbM5MAnplTxrn9C1n169am/5aU3LNkpTNGu3K6mkR
8IvF1y9KGta1jQ0rFrkr8uwFPEnvpau5JefFOl2/bmULqbzpWnvvZQX5mNiNK8hURlge1kueK+iE
PRkcMIADBrCJiE1EoAbUgBpQA2pADagBNaAG1IAaUANqQA2fseKIOxxxBx8KH4rXNVADakANm2nY
TINvhG8EakANqAE1oAbUgBpQA2oIOyPsjDAyfCICLgi4AFi8xIEaUANqQA2oATXM+DDjA7DwjUAN
vhG+EcDCNyKkjS+pETL/Cw3BSfNMillts/yTF8gwkjXYZHdOvXneAMWb+oHMn1GNhlBhm1S2lrSQ
wkIdjbAymW1WSJsRtYRark6bjjkl9au0lWoeq5E5Gn/43K+WjM+62VsS25L24RnSv9ICO5bfuDkD
bOVunIQ7aXrXVjdknUPHKSj8WJaz2ifu6dJld+QtlogNRpPJuCrj+GFM6kKDaVVoa/9YEYtJLnL3
UytB/1eOuWAPaUXu1f8BUEsDBBQAAgAIAIkyNUlxSECkMgwAAPV4AQArABwAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2luZGV4LTItc3RkZXJyLnR4dFVUCQADEoniVxKJ4ld1eAsAAQT1AQAABBQA
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
c3RkZXJyLnR4dFVUCQADGoniVxqJ4ld1eAsAAQT1AQAABBQAAADtnF1z2kgWhqv2kiv/hC7fGKqS
AdsYZO4S7FCubJYszsSXKSG1bW2EpBXCntzsb9/WJw1IAhJn7Mk8Fzs7Fqc/1P0+p19pSufq4u21
DB9kOBj4gfQu3k7kfxdyHg1Nz5KuK+3G756jrlxdvL0wI3NqzmVVpHgtDhrNmel4LVHSyPI9T1qR
43tD159L+13oz4auI70obiiax91O/7TbMzonpz2j123VdGVO/TD6FJre3Ew6TEa+Wt6JnUUO14ZU
cdoo/X6322ja09IhAhne+uHsTdlIG+HLcbbe5uoMeue9xgc588Nvqre3pvXV8e6uIz+susc0Vg/U
IrI2zdbTbEK/0+20qmYXqssPcjz9j+osufTODz/LcB53fG96dzJZOH1PKtSV9q91pHZPujKSE2n5
4b7qy2br2fKPfI6XXhQ6cn7jRPefTXch38tvZYOatp2NuG1GO46hpryyN2rWoRn/6ydnJsN3Tqim
3Oz80b+9vT0zzm/7XUut9nojy5/NnGjspYtYP2/VdqnDT36+7mkXWq873uB3ro624zuNvOx5Y6dL
VqJW2WujaYL4Sff6l278Z0DC0rA0L2CMx9CJ9GzyzvGc+b06fKqzie3YH/dxAIOB4z34X+U4z/Jv
PFtrlOT82oPZr2mYHBY1bdWBa7sy/7uYwlxN9dO9DKUw1f+Ou0bP6Kp/dIU6P211lMe5+p0aRi1X
vg95H7mhKjtQyiNrfi2Z8calZks/DI1Tu9OqNZPZLSeDPc3KnHfPesXK7NfVRz8I1GlueqLYxVfC
8x9FVDfGtlkPF2GofFkxUk2DzKxmLdJVKdqltrzC5qbbpXu7xvW//6lw2XB8dzIah5dz1dBV8OQ9
XHm3vhogN9xqpIrmmwOJ5JL6S9w6rhRHB0dCTdZ25l/rubzYnLJuOmJbu9GwbEP/t02Ex71EhFUY
5DMpxlCBY92axiks9aj+LIgj7ZIQ31vt5XphWXI+V1N5Lax0P8VDaqyFM195eDjuGXGHRVdq6QIz
su4vHwo7r/nL02nqLwviYxtddXOJxdYYFs0DtTbdM6Nz3j87PjtpbTj7moXeCrtM1rnK6W88Yz0V
7/2Tn8+7NsZP4z1W1JL2lZU9VXtehX68uCs8qpbHp3La7Z31VbMfTAO1CI/Xhn6aHe2fnj/naven
x526E16tWRitPCPrj0b17xRCaUayqu3me4Xucb9Xue9Teed4WvOr1a34XmtToZf10WqdRaqMPRPq
cp7aH2qYYbxo8fGyVKV4VDaySKf6C6fz4xOxfDcilpku3mHzttM56Rtnvb6K79hp9ttxY9O7XXmU
Xf07X5CNc+H34C40bfkvKW1p73QedLoqDcnHkusvz3jueWppz/kJC5q/V22aB+Kg5OXJemSyzPqD
QRqRPG+U7JP260bLYKHS4Bvb3miUKfSj9jsNaUjDX6Bh9mLC8hdeVBU/jH8UzTy6pbWLDZcyEXM/
rGo8ro74vtfH6xmweJNc9bK4LGVW/7jlle1GfM3b283Y+v8wM9xoUGFAys4L046PITG+zi3B1YU4
U8flefwfZDo7vRYa/uhiiKZluu5UzbVVb/7UmMOybalwUKWxK1MpC9KF8VS6S2S/m+KKQ7bs8i4L
m0Zu01cWtYuy0tBaTaW+4bXQNzVT0dn5ySuR/r680igcqZUwnkpPDSHUTNQTuTg8OGyk+McWbuok
Zkm4/qMMxVf5LXlFohyXWKjHz+LKHmrdczn3V2ixjbXaLKLKVbkhmx/XY57kt4lRPww2rtWvWxFW
8xxZhNQLsDhyal+lTeIHDaW+MPn/g1fCT2Qo5poOz46N7pZekpfmqptYTeWddI+7lZ0Ur93rezA6
naoeFp51L62v0lZ3nez8e9WNcvRpy1OjG78beiX+sXP7Yj6q1cFOcHzcb4d1LKql/rHKV2i/6XLU
HvyyV4B7PCV1j0tEDymQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQ
AimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAimQAikvkpQ7mX6Lvo2UPE4npbhWv45FWPXe
LEPqSRnlcdVlh9Iv61+XybLfMYyf9HXt5WQyngzEmyiSsyASkS9M+yGuOStMYeVlaLIhG+3PvruY
yXk7vr/25c11+0ZO3ztR+9pfhJaM/xqqWbc/+PbCVWFOLHNp29P2PFn5dnH36UR/s4KgeWIYLTEQ
U993RdZBUkMm36y1NjHKyQSbC8eLet0vUWsndkb77flu7Iw0ca2zMyoR6AthZ1mpYRs9qzUdSq7W
r6YWWFuhpwiqp0irH/F835qP97/53cRUUx1j5deVPcuYmMtI6W0i5ws30iopJSfdkwkvH8zyPbX0
C/lOHWlplTCVNpKhNqWm0FX6lE9Z9WOly20C3hi//If6nVyNrRbJWly9mK9WgivOhV1HXsrz6nvv
azeRXtXu53rAs0m1pAZvrtaq4jQXa2W+n6CLFwKMbqC38VJV7Ly+aH3lcHWSXQmrZ2VlYX/4YaN3
fmL88MPGmWFs6eR3bzGX9lvXn75z3KzL+U4MX3zfYu9G8LpI1wG+qFDLC/EuiBkx/zJixspgZbAy
ZH+yP1YGMSNmrAxWBiuDlSH7k/2xMogZMWNlsDJYGawM2Z/sj5VBzIgZK4OVwcpgZcj+ZH/EjJix
MlgZrAxWhuxP9sfKIGbEjJXBymBlsDJkf7I/VgYxI2asDFYGK4OVIfuT/bEyiBkxY2WwMs9jZfAh
pG5SN6mb1P2MqTuoKnqaJW29KCoNaUjDX6BhUnU5Nl5lFVuz+Kz4ax7d0tr51fU5s8Y1FTypBv6S
qoHXeTEKiFNqH7gotQ8pkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIp
kAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpkAIpT0HKnUw/29xGSh6nk1Jcq1/HIqx6b5Yh
9aSM8rgKceT9qAUrkWW/YxiNYSjVInl38Zfy8Wf6j050L1R3Qg0ZfhuIw4PDRvYFvzMXU8ez42DX
f5RhovijgyNherZYBMHySuNyMhlPBuJNFMlZEInIF6b9YHqWFKaw/FkQo2dnQzban313MZPzdnx/
7cub6/aNnL53ova1vwgtGf81VLNuf/DthavCnFjm0ran7Xmy8u3i7tOJ/mYFQfPEMFpiIKa+74qs
g8FA26y1NjHKyQSbC8eLet0vUWsndkb77flu7Iw0ca2zMyoR6AthZ/lR8zZ6Vj9/Lrlav5paYPUe
6UH1FGmfWv8cGnYR0nj/m99NTDUfkq/8+mzFNF5IESPqvlD3heqjVP2i6hfVRxEzYqaEHVYGK4OV
IfuT/bEyiBkxY2WwMlgZrAzZn+yPlUHMiBkrg5XBymBlyP5kf8SMmLEyWBmsDFaG7E/2x8ogZsSM
lcHKYGWwMmR/sj9WBjEjZqwMVgYrg5Uh+5P9sTKIGTFjZbAyWBmyP9mf7I+YETNWBiuDlcGHkLpJ
3aRuUvdfJ3UHVUVPs6StF0WlIQ1p+As0TKoux8arrGJrFp8Vf82jW1o7v7o+Z9a4poIn1cCpBk41
cOrmQwqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqkQAqk
QAqkQAqkQAqkQAqkQAqkQAqkQAqk/J1IqfuqHrj+HnDdyfSzzW1w5XE6XMW1+nUswqr3ZhlSD9co
j6sQR96PWrASWfY7htEYhlItkncXfykff6b/6ET3QnUn1JDht4E4PDhsZF/wO3MxdTw7Dnb9Rxkm
ij86OBKmZ4tFECyvNC4nk/FkIN5EkZwFkYh8YdoPpmdJYQrLnwUxaHY2ZKP92XcXMzlvx/fXvry5
bt/I6Xsnal/7i9CS8V9DNev2B99euCrMiWUubXvanicr3y7uPp3ob1YQNE8MoyUGYur7rsg6GAy0
zVprE6OcTLC5cLyo1/0StXZiZ7Tfnu/GzkgT1zo7oxKBvhB2lh81b6Nn9fPnkqv1q6kFVu+RHlRP
kfap9c+hYRchjfe/+d3EVPMh+cqvz1ZM44UUMaLuC3Vf/hrVRykcRuEwCodRwBQxI2bEjJgRM9Ye
a4+1x9pzgHCA4IYQM2JGzIgZa4+1x9pj7bH2HCAcIIgZMSNmxIyYsfZYe6w91p4DhAMEN4SYETNi
RsyIGWuPtcfaY+05QDhAcEOIGTEjZsSMmLH2WPtf0Nrjy8n+ZH+sDGJGzFgZrMyPW5mgquZZ5kD0
mmg0pCENf4GGSdHF+CmirGBbFp/VfsujW1o7v7o8V9a4poAX9UOptEsxUCrtUmkXuIALuCAFUiAF
UiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAFUiAF
UiAFUiAFUiAFUv5OpNzJ9LPNbaTkcTopxbX6dSzCqvdmGVJPyiiPqxBH3o9asBJZ9juG0RiGUi2S
dxd/KR9/pv/oRPdCdSfUkOG3gTg8OGxkX/A7czF1PDsOdv1HGSaKPzo4EqZni0UQLK80LieT8WQg
3kSRnAWRiHxh2g+mZ0lhCsufBTF6djZko/3ZdxczOW/H99e+vLlu38jpeydqX/uL0JLxX0M16/YH
3164KsyJZS5te9qeJyvfLu4+nehvVhA0TwyjJQZi6vuuyDoYDLTNWmsTo5xMsLlwvKjX/RK1dmJn
tN+e78bOSBPXOjujEoG+EHaWHzVvo2f18+eSq/WrqQVW75EeVE+R9qn1z6FhFyGN97/53cRU8yH5
yq/PVkzjhVTkou4LdV+oTk0VPAqHUTgMMSNmxIyYETMlHbH2WHusPQcIBwhuCDEjZsSMmBEz1h5r
j7XH2nOAcIDghhAzYkbMiBkxY+2x9lh7rD0HCAcIbggxI2bEjJgRM9Yea/9nq8zyZzMn+YhqucqP
jusOk+taaDrrqg+VipkP4+/DXFfaq12qhBKouzjudvoqqRidk5Ozfr+3GmO5/lyuB6kEthI0M79N
5TCOvMoWfa2F+mflvma9LH9LOrL3v7GVJczu7aDxf1BLAwQUAAIACACNMjVJESH6OuMFAAB6JQAA
QQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtYmFzaWMtcHJpdmF0
ZS1zdGRlcnIudHh0VVQJAAMaieJXGoniV3V4CwABBPUBAAAEFAAAAO1a3XPiNhB/z1P+BD/CTDNj
wNiGt8RcMkzbIw2567OwBXHPSFQ2IXnp317Jn7L1YftCmt60D2GC9Vtptfvb1a7McnGzhuQZkvkc
HyBa3DzAP48wTjyAfBhFMLj4gkL6ZLm4WYAEbEAMVUjjyri8GOxBiIaGRMjHCEE/CTHyIhzD4Jbg
vReFECVM0BiMLNOZWLZrjie2a1tDzVRgg0nySACKQTphuvKy2kmQI73GkhTHreI4lnUxCDbSJQ6Q
bDHZX8tWWv/2S5gw+A3wv4Vot04wUWklTF3p1GqSurb2zD6PdR3TMoe8uc7ieIrj9p5CCWD/PoZ7
SG5DQnED88XZbrdTd7Z1LD9Toibk4/0+TFYo04wNV+Z6xIW+GYoT5DcjDgr7kCyptWxjwhaeB2Fw
ryGPRCJEz/gbXBUGu0YBJ5Sab6CLBqwRTO1eMw9jhzCJTKu/hGeDYc2DI9scZo6/pSti8kr3DiOY
wAJf8ELmQzlSMyrRsEVBdxKkCqot9wRQEMFFulg7LP9e+immej0+QQINQP9Glmu71sya2gYNkoCm
hYt+U93jw4HGCEBG6dCfDIRPRqJbo01r70gITQLlShqBPOXlEplVSrmM9IpkmbmLz4b6+FiI+Heh
qFtRVMrBQpNyDQpc8SluPid5rsP7A0MGEghG9VnWR9+HcUxVuTL8zJgGXS9mVgzjWk4f2S6bsJwq
COMDSPynT89l4uYCbrLJUmYZbiwdqzaXpmougIzBJbWNNXXNmTMdTcfiCaAxdGukwdTOqhNDOPrO
FWzO+P2DjVvj3YKNMaoKtZplJ9TnqrhjxuWjiEmOxhPTcaeOOdTH4Kohex6XOJPZR5rL2Yy0+44T
QJKvWSx6VIkd1BYKtVqNQJBAlaxYr1kjx1Y6bgN3IeLEl3VXfG+N8Cvc07wgFKbN1d5US5yFJvTD
Kmmizs4rPi11y82VOtwXqoHH3EdXM4regPrrFCZPZWbm24/ZaGxUBbVRJU3GNbA1zTGNMNuheDPI
EmlHiknq5Pr3ohASjpgvhx0BAfwMYQCDTkeLadGMBk+S599x5HDlcBoHq80f1DhZ0rmiR4txKSnm
m8h0Y9XXArFEAXyRWIYbFSQPx2RFroNAEMo5cc+NpzPM5zuYqNB3MPkKoiPsMl7N9jN8PeOEPj4i
pYIeGzQGBXp4pm6r6aDWxkvmUfVgS+Ml4DU9mIjV9+2eIKDIjTI6g4DlJWO1LnLEcmFYrju27fFs
7OYz8dPU9kWlP8MTN2OZmHUin17CmOUnUeUa708kTHjZNcs22qxctaPeWx1kDHwQRRu6i6H+rKRr
ejKqKNK8FFtTRQbiyXquWEijq1sUlHlJ9riLYTNkG+dzVBe2Z1Atz3mIKhN343cK7cXstv02idrT
kv3JWXpQS8sSJSekwJi3U7E429p4yJ+BwjO93UqYpuIuIXrulSetgnjZ3cADK4RkxOs2DH1MlCtQ
jtUAtQmag/lpeyD4OWRlE4joBtKH7Djvws77fibmeanm2r2qnuHGeD5wlWF+3dCjqLNG5pkqCFoF
ZdZt42oJ5MlaPdSbssKp/cNh9HylpVfqbj2ndjJUjVghG06LuFtMKHd4Clc14gOMj1HCIdICXzLd
czVTJxbe9bVdNx7e8X5qEvFO5u2Sc3GxWzphQo5+cqQU8iKM4P+E/dEJ+2My8sOplrZtHZjmFb2f
8KzVlBlMS7Mc0sqyDKfmFz9eLx7ZgJJUwuiyJGIuH+ET9Qwd/502W5k/l6giX198R7L2MXBnqnrS
Lp4b+xcSNX8DWrPUKYwiT3jx+d97y9vSd0mFVB2YBqzsnzKhss/S3gXchiiMn7peBki16WLEXo2W
bJX6PfnUmtof8lL8n7zI9mRcFhpKSRxKbXipwNAuofmLAzFityG7OinuzCV6cElHchPNxPNkdb1N
IKnddHs5W4tbbP5WHB9qfh9PHcdu3Cyz975N0Nitg/bgdQPTn7gs8/zRkKCfSkcofhYkGCHX9lL7
blX8wUw/9N9QSwMEFAACAAgAjTI1SVQPiOJLBgAAdiQAADkAHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWJhc2ljLXN0ZGVyci50eHRVVAkAAxqJ4lcaieJXdXgLAAEE
9QEAAAQUAAAA7VpLc9s2EJ7pUSf9BEwulWbsipL4km427Xg0aSvXcpJjhw/IZk0RKh92fOlv74IU
SVAEQDJRxjnkEGcI7gu73+5iQa2uLjc4esbRcunZie3YMbZIGGI38UloBSTGHjpHU1Ux5qpuKrO5
Yajq4GPo/5vi1dXlVYNnuXSP+N9HZGcFPg4TkDQ8kqYv9MFoZ/vhGDWEtooasZIUVRkPODL88Jk8
4fUeRzYVdBF695EdxnYm9t7f4Wg0HqwqN5A9Dq8u7zDIiRPLDl0cBNjjSeZTUstOLk/sIiLZ2Hs/
Ak1i3kc79AJcPJcuikHl/SOOMLLh31Q1dVOFPyoC+zw/fKC7ew9qSPQKqMEBTkoZxeYrPNyTEl9c
SslbjsWNpdEYjZQvxna71czF1px7yljqrsOWM2Wn8cxC1fTSM/1E3ZL9HgJsh6iM4hkKyQtKZDra
rLbSKIIMKTVJGIBkS6LdgSP3SsmXA89zuJx5uC5t9wlM2gAU8GDz1+9+QqnY1eXyASfr6DoGxsCP
HwsJq3BLQEFRc0CTgL2pCGVL8IS2foDRr8NfERjr+fGTZKee7101TWbw59IC02DkBfS/NhBO9QyE
ojQoLCl1AOGaTf3lMjrUALLbU0qPQ0LCupRN6ro4jsGUc+Tm8USgL6aB9ONazZ3qJhVYigLX7e3E
fbx+LgtrtRtj7ijjWsbTMiXaXFbCmBxGoyH4RtVMZWFoU23WrLQSR7cmO878LKqkjdZ0qnw3Zt8/
3xkd3y3fKaKqbK95dg4xF6U+dW4tH4FzOseOqmsGsH1jGZCm8PpI9WkiaswXb+ltw5lSbwvFgM+i
5FOeyhYY8YCZPt9yFIuwnWARb/M4pk4NXRh3Bz/4IcO+qofia49eArwca5OeLHJk9CyolZ3MA6ix
qNNoe6lQiV785LEsp4zD9MV0hqpTKqoqHY2wvVWUmWFqugH0ipdXv46BzXfLLGRmchzS6Asf9w+R
7eE/Mfaw16kfKCqUIfzCWf/xDp49uxYzS2S5sHb+gVDldescuhMajht+blBmbq4eC4pV6OEvnDgx
bxuc+xTK4IXnNZgOCL1l3mcSssopor7BySc7SHGX95W0D/j1hAJdkoZCAy36Eo0K6qavSxRVuKnF
UXWVDgFah3kpEBUIbkTFLxuIbYGHZIBt0gqqa9EsGgyC+siDs+3RLEHrTVGxVldIg2xe0DFbkbfW
W5H+ns5AI9cOAgdsHct7E+i0eGERFHgubc0UHhELjFPhLkNyN8SVNYC33MWxOWUbvg5UXZCVk0ox
lZe1c8QG9YAibTE7Q/n7amVQNkzoMzGJcuiBCgSWwMCA3g3fDaz8FXQYx89qOQrIC47QE37NJjho
CCiF03G50gOtPd3ZH6FlGKXYLKn4qGzA5tvxWDSTNjCyTaexJvdbSSY55pYkcgCWrU066d/RcxCg
L8r+H54hksEQxQwOtamptkjBLono1RlFE1+IOlWFQqCQdpFgKopIQhq6j9h9wh7sOos8NF164Mg5
56ZKR9cz9Etn/tIe4Bp2So7bfhFm00IM9VvR+YV5x8KROZcebih6HOLUqXKiEwOcenIHtqVKScjm
SrUod2VFJ44PQyNPFzhqMYGXjNVH8HjDcnzT10/dMHfDxuQYdDe8yJb4iunbOA0SEJhEqZukABcr
ICH+Cc6f4HxjcL456rLprAPorGLEa6y1ujInkyLuQNIKuJxODLV81jzndWpDMc3vBL3ru7v13RJd
JAne7ROUEJjCnum3O2Qjt7huOqgcTD6RIN3heEL3N7n+vJl8xs4HP5lsSBq5mD5ZYPXkD+KlAZD5
NHuw5zmTOPP8pNx9buhv7n4/mpnmGC2RQ0iADgKyu6IiWEc89HSTGThK/TDR1b+Tcdf86RPzztlj
ce8PmHc/YO5AYHd+Ur9fevGDwMrW5bd436Cwdeg8Vl8bPRsvWyamfI+yj/PHm5V9MCymUC6TaB6V
E/czl5kauWK7eKPX6MjTUr9u11RN/+p78x/uZlY0HPNA2RiROQnF9eFQQAODh0OiltTb+vRGqPgI
wLGDqR6cq3XKfqg6F9sER7Wr+9yM7Lq9qRh60V72AUPwG5He1Oy3hUxjBbaZZhj60Y04/eR9TDQz
60Q7+9XB2a9vVofqc8QBf4XRF/yiaPA/UEsDBBQAAgAIAI0yNUkGjANBbgYAACQ0AABEABwAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWdldC1jb3VudC1mYWlsdXJlcy1wcml2YXRlLXN0
ZGVyci50eHRVVAkAAxqJ4lcaieJXdXgLAAEE9QEAAAQUAAAA7VtJc+I4FL7nlJ/gI1RNqozxBjeC
OxlqapquJD13YwviaWMztgnJZX57S14la7FMYIau4tCptvQkveV7i/zMwrl/BskbSKbTeAci5/4J
/LMHaTZ3Iw+EIfBvvkcBHFk4946buSs3BTxK5U65vRls3SAaKoxFXhxFwMuCOJqHcQr8hyTezsMA
RBlaqAxGumqNddNWtbFpm/qQdXAQvcU/wHIHEhdtNIv8l8SNUjff9iXYgmQwvFmcWCRsP7+kn7dk
gXQY+5al6wJFxAL2H4IE8oed6KH9qU1YEvxLjQ2GykB9t9brtWFP1tbIVIeFOA/wxDj5gPKAEGSg
oq+kbaR7iWvJmZSCWQaHHQzaYz9nkK+5VzfyQ+Dkh3WTlc81WlLI18srSIDiwn8j3TZtfaIbpgJN
7wfR5qbfVt/i3Q5a3o2U2qC/KVF8UDLRGV1cz/dJAl2iPkmwAJKs42Rbrii0Uq8rnNFfMVcW5rp3
vR+QpWcIBZE2/cB3aPqzQNRuIMrEYMVJfQYkXOKOO50mpQfH2x2i9BkkcUTu8rz3PJCmkJU7xSuU
qcDzUqTFICUce2TaaMN6Kz9Id27mvX55q8MY5nDjlTok3A0FGZ5weQDCHEgZ3ELd6IatTixjZGh0
XBMoutPTQK5nXhykotypnM3Szu9s2BlnczaEqMbVCM2Ooc15foeUi3sRWjnSxqplGxZaJvLBZWvt
aUxijSf/p7qs1Ugod5q5SfZX4YtzyMQGYAmThlADWBiVEuBmgLc29zAiaesjy+QabgU2QYQtX5Cm
OLZS+RNsYVyA6/Dd6NM+VUucBCbwj17DhB+dl3hYkovNDTvYA+RgjswHT1Oqkgva6xBkr3VkxsvF
yUhTmvJSaYImwpq7VlUNephpQXrVLwKpJMSKXIQN5Gy2cMRMMd93m8T1wVcAfOBLpRZVhxENHBjj
R6QcrOzO/WC5+hsqpwg6dzC1KLdDSjKKMheseawoFpEP3hmawWbRXP6f6XQDMvLpD/CBDXjxPsqo
rWqkwEllUFEPKYaKQobHEDZ7BEPig9rFVEttDD5aFD25uQCDEnN14GlCDQFE3VMlGFpGRfTgxRSm
BPxJKsh1qENwWaVpOamhynTUAk5wZ5nP9VFgVZbPVZBbOIpu25ppahPNLnfCtyHkgqu/ggO2Y51Z
REu+vAcpCrA0ywRCDkmQ4WufUbgUphWYB77xdNLTQMrAc8NwBaUYipM9PHPOggonTzFpSZdlEOFg
PZUv5M4l5wW1H7KGZRRbUHZhvqSSQXtBKsQ5TsKLPHL4zkl7IbtL3jZQe2qyPzhrCwphyY635PRp
oQizTp5pu3BY0eEgrMfEeqvJ+OZoSMTYe6zoOMDbkPMk6tDEQ5zAJPuESr1qDyzZ4rMy2HnspwAc
NXwkPGKabsPgkWEtrPAs32b0qBn1EQMTRwEJq5K6sNSqzVjDYoXilAI74VRiXDkYKQdaPkXCKxKl
oONIC3tk2HFIJQvfqXHDjsM26qnQ0qMaZNbR/EkZ/MhVgwxaGSxJVIO9uGgB5xOy9geRXGHldN+F
GETnKKyul4zrJeN6ybheMq6XjAu5ZHjxdhu0XmUdgjCc5+Pid66fOLAT9u3jCfBTkx2GK2QUfQPR
FlbUpq38gLmI5xECYi6ei0U17oWx+SGIgvQVBuc+tFL+weRcRuG9nIR1CtkJMnTD/MzHJzzHYyGN
cj+GlzC5vuXQLJPZKk46/GkdoERT9WEur73U0gp2eSWlzgTKZPdpCBJ4N3ZXIURoV5CoCVvWY3IC
j5r5PmpWw8c3oGTi0CZ4Ox9UQZoYLTsGrH7JI8iegBcnrK8ekM3LdwOzdQYSouU1LwNA+7sepuBC
F2OtoF3MMgyN5WIggiN70BkE5J3xqDzSs9nGcfgi+v2O3ADimtvFvizv4++Yw9kl4vuJ2uAd+W/W
ebBsHx1/XSBrHzYAW1lFsBUD/OZYE2dEwXb/uS/06VP+KlBuio7Z2UDd8UYm8KujW+fx40l+K+6o
H3IaqjRorxR+ZHkJOf/YNkaR/ST6GE2apAc7X+SXdMJWRkXT2csoCfnNDIKAqATe3HAPin6FbKui
n4jSzYpGnYxuBW2UC2lXXK+kv8CV9Hp1vF4dz3B1TLN4R9hOMyzLbH1phT5sbxNpNkm0dT9WIP8V
yKL069YK+JdrWs7PSShBSm5vhR+P079zOdE2PwFQSwMEFAACAAgAjjI1SflvcH4kBwAA6DQAADwA
HABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXN0ZGVy
ci50eHRVVAkAAxuJ4lcbieJXdXgLAAEE9QEAAAQUAAAA7VtLc9s2EL7rpJ+AySXSjF1REh+SbrJk
u5q0VWo5ybHDB2SzpgiVpOz40t/eBd8PACRtuXUnOsQTAovdxe63iwWXWi0vNth7xN5sZumBbug+
XhDXxWZgE3fhEB9b6BwNZUkby+pEGo01TZY7X1z7rwNeLS+WlTWzmVlaf+WR3cKxsRsAp26JmzpV
O72dbrt9VGFay6qX5yTJUr/D4GG7j+QBr/fY0ymjuWvderrr6yHbW3uHvV6/s8rMQPbYXV7cYODj
BwvdNbHjYIvFmU1JNTs6P76JiGBjV7YHkvhr73XXcnDynJrIB5G399jDSId/Q3miTmT4IyPQz7Ld
O7q7KxBDvGdADXZwkPJINp/h4Zak+GJSCmYZGleGen3Uk75r2+1WmUy3k7El9YXmirccCjuOZaay
oqaWacfqM9nvwcG6i1IvniGXPKFAJKNO68XB8yBCUkmCBUCyJd4uXhFZJV0XAc8ymCsjd13o5gOo
tAEo4M7m91/sgFLlR2ezOxysvUsfFjq2f59wWLlbAgKSnAOSOMurglA4BE9oazsYfex+RKCsZfsP
gp1atrWsqpzDn0kTTGUhy6F/14FwqIYg5IVBokkqAwjX+dCfzbw4B5DdnlJaDBLiFrlsDqaJfR9U
OUdm5E8E8nzqSNsv5NyhOqEMU1Zgur0emPeXj2lizXajjQ2pX4h4mqZ4mwtTWC6GUa8LtpGViTTV
lKEyqmZagaFrgx2HduZl0srRdKx410ZvH+85GW8W7xRRWbQXLDsGn/NCnxq3EI+wcjjGhqwqGix7
ZRoQhvC6JPo4HtXG0//S2poxpNbmsgGbecHXKJQXoMQdzp3zNaWYh/UA89ZWyzF5qKkvrqF4eDHw
ne3m6Fduk2OjvEpYWUTIaJlQMw1zDyBmQY1Gj5cMlejJDu7TdJozmDodjlBWpaIs01EP61tJGmkT
RdWAXrKi7NfQsdFucwOhmgyDVM6FL/s7T7fwbxhb2Gp0HkgypCH8xBh/f4Vny1Mrd5cIY2Ft/Amu
ivLWOZxOqNuv2LlCGZo5e0woVq6FvzP8lJulc+F/wgRYfPqEn3MDJjm4QYVViluYRL2Eul9RKKqS
eArlZl+gkFhQuSQsmY2hR4mipTbvwKGFuTQMMuAXgCibUgOF1m6Uy3gZjrkD/mQl5GrMIbiBV2k5
aT457SoLOAme5T7domGO1psk5a6WSIF0NKXvCSRxbfCZJ7+lMVDP1B3HAF374sMVZC5YbuGcUEza
YngwiPLAOBbuQiA3Q1yKedZwE8NGlHX4iqmaICsiFWIqCuNzlHdqjCJlOjpD0Xw20klPfDgofeJF
0AMRCDSBGw/60P3QWURTcEQadngYIYc8YQ894OfwCgonGjpAeZ+OtEBrS3O2R2jqRiE22QmuOH1c
PEKaD4+2OjAmdHkkpmNiu6VkfHdkJGIAXid0/CtOdFCfIxJCD/k57GnSZPJGSLu8uVnfzNA8CPBu
H6CAQCJ9pO8PkQ7FaVzyxiI7g6/EOeywP6D7G1x+2wy+YeOTHQw25OCZmD4tQOvBr8Q6OEBmU7dj
yzIGfmj5Qbr7SNGfzP2+N5pM+miGDEIcFDMI69XEWaU1s1msYO9gu4Eq/xH0G4XLdTuf5wOFD/7r
HLjKyL9mADRXascvXVrUpfKQEQYvip1cJVYXPqX6jzUsNmieUuCnPJU4lJY5UuGLvySXMwJKncpy
I9QsG+/zhUl2WbSv8K0fN8ku2f48FlBaFJvMMp0/2QQ6zYpNBm0TGDUoNiucOZAaT2Qxiy/uwcfW
hUOMK9vBN9gknuW3QOErDNcekc0K02X9vY1B9BaF6elCdLoQnS5EpwvRj3shgmp9Z5fecz3ZjrMI
x8Wvh18hsBb7ZfGFCKhM1jgu2qPoq4/yZkWd6CQYmIt4YSEmbqduDrxMtk2s0QrBLCnFPo4iK+pr
voXhRQULBpXYYECYqXWXQ7P25gbxasC+telRkPRz3l+bomSV3JWwuOtAYEx2v6dAgpOGal0Ep4Ql
7zE1AVFzy6Kdanh8xCgQ5x3Be3U7yaCF0fhdP6vTARfuqKhmtLaoz+Mb93wbYK/QOouwE7a7Ct8V
MTcuDDHWCsaXa4oyYoUYdmHkgGuTQPNgfFGSb9km4wT8le2CHX6mYQC45vag31f08TmGcIaDm9+M
PnbvOz6c5rWCW3bBW/uIDcLSySJgxfp0czwSn4oCdv96PLTpMv5f4JwVHvM3A3bNOwrbSkSX5PFz
yoZ+9VBTQ4Q0lfKgvPI9fhd7lJ5IdAI2aIpkR2V1sPYVeUwn7IskNLWNkZiQ3xmJCMCC9DbohSml
e8Z+BzeSmjYD2m21cTsgMyujH1B1zjtpCJzujqe74+nu+APdHSFr7gu+GymappY+kqKftZeJRpMi
0U5/NnD4C5tVHMylFfCX61rOr4YqG4m17QonuN+UV39A0476H1BLAwQUAAIACACOMjVJaQAYVKAE
AAC0IwAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9rZXlwYXRoLWJhc2ljLXByaXZhdGUt
c3RkZXJyLnR4dFVUCQADG4niVxuJ4ld1eAsAAQT1AQAABBQAAADtWs1vozgUv+fUP4FjIm0lIARI
bi2ZSjnspJp29u5gp/EOgayhzcxl//Z9hgAGbJNMU60qcUik4Pfl937v54+wWt4/EfZG2GKBUYY2
KCVBEsckzGgSB1GSEmzcGpZjelPH9U176nmOM/oe039eyWp5v+zoLBZhS/+BJfsgoiTOwNJNy5o7
d0fjPaLxxOgY7TU1Fi2ZjjkZSWzQ+C35QdYHwhA3dBfjZ4biFOVmn+mesPFktKrTkBxIvLz/RsBO
mgUoDkkUESyzLJfkkV3dnjpFiWZiD5SBJyGWkGexY0QWy7+dZ+OJMTZ/etvtdubPt57lmpNiog/g
MWG/AEAkIhkp5cs81NB4TiqoSSU1o5IIewL0pzgPUJ25HYpxRJa5s36x0+8KRynE9bwjjBgIPpbj
u74zd2auAUXENH4ZXWbqMTkcoNYoNqqC/mHEydHIdD76og5eGYNmqTxpFEBkm7D9SaPISqVXYBBv
pJpFue5R+ANCegIo6LKJKV525T8Eon4NUSkGy0gqHyC4FltwsWCnXkz2By6JJSJJ3LTy9BqGJE0h
lFsjLJJpgL+UZ5GmDe6zXJ8brExhmh5QFu6+vFUEJzTcdGNOGu3G6UI1uZxKhAYyxjeQG2fmm3Nv
Zs3sLuNpEt3baSTPs4rROkvEtZrNsz++2QQfH9ZsHFF1qzUyO4Waq/qOJ1fsIq5p2VPT82ceV9P1
4Lqle52SeNP5/5kub2Np551miGV/Fb0YQBAvRFgwe/Y0jKCMqHS7+xrH8tzf3oyoCr4hLzQW5FfN
Ev5J9sALoCE+7Wq9ay9xFZjAl1PBRM3Oa5GWzuPmOhzhB0QQ8PKBN6Pc40K9jjTbVcwslM6dW7ZR
bzyNmjQ51tDWNG3oMNcDeRMXRHomxIq1SHiQh9nCkXSJ+X54YQiTr4Rggs9aWkwHGI0cJc9/Y8kR
NuR5H6w3f0NyCtK5haXFuJl0ZtaRvKoh4SfQw2u2ZncYd1RPEHkUxj+RYmO8as26GRulckLzjNSt
46K/VF0nzbV6sEMDPYXTHPS6sgoSLNeCjoKC/mRAQ5hTj7F+KmlgtTQc37dd157b/smSaKYxL9D+
So6CRaDsfpUvP2nKKagbcgMgR0YzUfeJE4qWeIEpH1U5ubBAxjhEUbSBWUz0yyH4DGRQUTC5VLYR
ikxIBOvQC0MvDL1wrV4oV6G+FhBXq84zfT4rMc2uvhLRw7taExWoLu4fvvHNlgxF5w2TMGFKDwDZ
hkDDQD14Di4fL0ufiEI1ppS7BmFMrLWwszxdV1ywKXQsCaIGGA4wHGA4wHCA4QDDAYafGYZhst/T
rHlZc6RRFOTP9bdZ73DYexpru2+cxjqDPZv9Yo66/53bk9X9AVYew6RKqqOYRlh5dCqUqiOW9rD0
QGOa7gi+SPask5U08nMSftGRSualecc+c2bvuGP/JJfggQz3neOipGelObxRyAAZbRLW091bys+h
5X27JA6BoCS32Fz9RGx324ywxi15cEK27qUBxYsU7TjSLDmUZsSL+fxpDR975nlu606a//XcFrL9
ptAe/dqQ/G2U1YmyWhrwrayn4g2bC2f8H1BLAwQUAAIACACOMjVJWxwmMbAEAACYIwAAMQAcAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9rZXlwYXRoLWJhc2ljLXN0ZGVyci50eHRVVAkAAxuJ4lcb
ieJXdXgLAAEE9QEAAAQUAAAA7VpLb+JIEL7nxE/o24A0kWzwC24JTCSk1ZIdMnv3ow3eGDfbdpLN
ZX/7VtvYbtvdbZgw2hnJhxC5Xa+u+urrB6xX91tMXzFdLMgRJ6v7r/jvF5xmSzfxcRzj4OZbEsHI
enW/cjPXc1Msk0S3aHSzru0FJ/klSRLsZxFJljFJcznd0OyZYTnadGbbhtH1UessFn5L/4GSwzKO
cJIxjy1r1ty6GR/cKJkgQeA9psa8Jc3QJqLJR8krecabI6YuM3SXBE/UTVI3N/sUHTAdT/g0XCWt
8ikRRSAPEQVPct29mwQxLp+rKaXg8mmPKUYu/OmGYzkGfBgI4guiZMdm9wBuCH2HKuMYZ5WNEgN1
/Z5IhQehpOKtIOLO0HiCxto/dhiGpjMPnVmgTZTpOk05d3adzMwN06oyc5mpR3I8QoHdBFVV/IwS
8oYylY++qJcvlAKiK08KBRAJCT2cNIqsVHoF8AJPqFmU6971nyGkLUAB32z/+C3KmBQ/uljscLah
X1JQjKN0X1pYJyEBByVHgCeJetcRyofgCYVRjNGn0ScEwQZR+qyYaRAFq27IHP58RggdRVFB/+0D
oW7lIJS1QRlJ5QMEN3zrLxb0xAHkcGSSgUCEJE0r2xffx2kKodwiv6gnAn8pK2SUNjhStxxmsDIF
qTu6mb//8loRYT0be+Zpk0bHM5qSTS6nMK6H0XgEuTFMR5vbpm5Ou8yoSHRvs+M8zzIm7Swl1+p3
e/rj+53z8cP6nSGq7vZGZmdQc1nrs+Q2+hE09Rn2DMu0Qe2DNKBs4U3L9XUqas/m/2e2bU9n2Zaa
gZzR7M+ilZcQxA5z63zP1oliN8My3e72ydBtS1p3D++ihFNfN0vxvVslCV7a3pQ7iwIZFxJqHSf3
AG6WLGlsealRid6ibF/RKZcwa65PUb2rRDXTsQq7oaZNbce0bJDXgoL9zixsMVtuIA9TkJDOuvDt
uKNugH/HOMDBWeuBZgAN4TfB+M+38bxw1eL2/nkvbLy/oFQFb93C6oRGk06eO5JXNcQ9AkW8ACve
BUFH9QTYR+79L6TYeF8BpYZGo1SGr52Ruk1SdLuMA4S5lr/sgLKncIozZVdWQqDletBRkFCgCGhu
wBoBbbYlKa1XyISGnbOTr6ZePR9l/i9MBhr7bhx7EOtEvfyAz6WoLBIOF8o2QhEJ8cAYcDfg7tfE
XcmufXDjWbgzps5nJabYsVYiaihVXK88tH9lWxrADs3/jz4jkmcPpXkxC/SYumP0WME+oewW7Bm/
S4wYuiE1AsA9x4KjnQfix8tyzUNWDkDp0sm944HBbfZOx/4LdkaGLoDfgNkBswNmB8wOmB0wO2B2
wOzHz1HkcIiy5sXJWxTHy3xcfc/1AYe9p7W2+8ZprfOy54BSzFH1dXN7sqqv1MpjmlBJdlRTC18W
LndUE5o9JxsXndFEXpoX0qZhWt99s/zT3V3Kzp8iUHbOn4KGEuZwJJEBpvAI7Wm9MGIH2/KaXBAH
xx6Cy2emfmKduzDDtHG5XYSRX0iP2hfh5Nio+9S0bat168q+n20LTZ2m0MF993D+0471iQhaGvAp
LYTk5yrKrzq7v+top+w0t9GFZv4DUEsDBBQAAgAIAI4yNUnoi7gpAAUAAPkhAAAqABwAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2xlYWstMS1zdGRlcnIudHh0VVQJAAMcieJXHIniV3V4CwABBPUB
AAAEFAAAAO1aS4/aSBC+c+In9C0gZSQDfgA3BjKzSKslGyZ7N3bBeMfYbNszs7nsb99qG9tt98MQ
GCWR5pBIburV9fiqqjXLxe0a6AvQ6dR3U3fjJjCPowi8NIijeRgn4JMbMjANZ2TaY2M4chzT7HyN
gn+eYbm4XQg806nX4L+j8X4eBhClKKnbkGZP7E5v7wZRnwhCW0X1eEmGafQ7EhlB9BI/weoA1GWC
ZpH/QN0ocTOxD8EeaK/fWVZuiA8QLW6/AMpJ0rkbeRCG4MskyymZZVeXp3ZRrLnYXUBRE2eLx7wo
CJHZ8p9w1uuTnvGvs91urfFk6wxso59f9A41xvQbJhCEkEJBX/ihSo2HuEw1KaXmV4mFLQaOR35m
oNpzj27kh7DIlLWTHb/LPErQrodHoEBc/Dcwx/bYnJiWTTCIfhDtOueJ+hwfDhhrNyJlQD+SKH4l
qU5Hm9XzZ0qxWEpNGgYk2cZ0f+TIvVLy5Tnob6ScebhuXe8JTVpjKkBn/efvQcqo+NPpdAfpin5K
kDEMksdCwjLaxqiggB/UpGAXFZHsCL/INgiBfOh+IGisHyRPmpv6gb8QTX6TKhlXVSItg8KSUgcS
rngUmE7pEQ7i/YFR+hKSOKpLWT97HiQJmnJDvDyeBPUlLJBBUoPfgT1mAktR6LqDm3qPn15KjOVq
frQx+rWKZ4ilulyGZlwNk14XfWNaY2PiWANrKIKuxtGtxQ6Zn1WgKnSpa9W7M3z7eud0vFm9s4yq
qr3m2RHGXFX6zLm1ekTOwQg2pm05yHYhDGhLeNVQfZ2IOqPJj/S2sxkwbyvFoM9o+ldeynM0Ygdc
y2+Zyii4Kah4xcnMHDi2Mu4b2AURx76sh+J7pzBFvjS1aSeLPDPOBNTKTu4D1cyZ01h7qbKSvAbp
YwmnnMPsyWBIqoGVVEjHIuxuDWPojC3bQXrDz9HvxMDmt+UOMjMlDhH6wtfDjro+/AHgg39SPzBM
hCF4lZxfNINepTjxP7MszvO7FrdWZLWw2vyNocpx6wa7E+n2BT8LlAJFeffqtjXtpmecIHYV5Qms
SmupHeofBT+3XEqzgYm0CkwoIE5gUFS1LAiuz2JLVuuizpYLYmEOTtieaOgbwmeV/jOdQXqeG4Yb
tLWvR1TUOZeFRQFL89ZUkhHxiXGFvIv3+yCtF8NrEIbz7FwPORcobM3upvpadgs/tgQ0v6PuUaF5
Wd12U6S1lEmV2nri88zlUlsq9hRvnJXTMi312cDCHfSSpxZVhcjSQKgQSQpLre4qaFZ0tolpS7Jv
A1Z6xYzw87W+hle49ieZA9hljjvhbJsCrc0ZuVOy2aB7UVNNNXGTjys1Eij2gTawKAkbiSK1BFXN
fJ8tWvj5AiTVQ1wdnDkYzpYWgf44St5D+gW8mPqa3L4LIjT5NxZxDKFyhOdwT3pPbfHKOCRPrpY1
lBUvRHjyDK3wcv6L6snXlyts4JNGlOx9eTTUY6tG3CV3v7x1nsT0cwGTWmJWfjjZXH9nbOnbs1bF
5yydv4q7q5lh9maO188daEGhennqO80P6qUKxF6zlbxlGMlohDmjyXmtYXpX9Jm2FrnjG5J4qI9c
Raf2NkejL7+qNarfAnMCDNQTfCM0w/HuR5L3YpJkK9lxBxwNT9sB78+9Kj8fqzOi1uebqXAvCw73
FHMcwM4YscyB0X9f+97Xvve1733tO2ntk/pX8Ucdnf8BUEsDBBQAAgAIAI4yNUl1UjVTHwgAAIDK
AQBVABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1pbmRleC1ub3QtZGVsZXRlZC13
aXRoLW9iamVjdHN0b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADHIniVxyJ4ld1eAsAAQT1AQAA
BBQAAADt20Fv2kgUwPE7p3wEH0HaSAaMbXJLoNFy2FI1ae/GHoK3YLO2k7SX/ew7tsHYeGwgTVWt
9D8kKvBmPG/mzfCrNJlN7x5E9CKimxvPSZyFE4tJGATCTfwwmKzDWHjatdY3dGtomLY+GFqWYXS+
BP4/z2I2vZvW2tzcuEft76NwM1n7IkhkT1dHvZljs9PdOH7Q02qdnuyqW+5JN/ReR9GHH7yE38R8
KyIn7eg28B4jJ4idrNtHfyOibq9lCGFLw3s/El5ndphCNx1lrRPVqP6tvdftaV39u7VcLkf2eGn1
Tb2nXaWd38snhtEPuUBiLRKxj09nIP34MPWPYbGUysiWTxUjPDFAe+hlA2yeuZUTeGsxzR52Omz3
ulinWI7rcSUioTnyp2/Ypm2MjZGpbUXg+cFT57KuPoXbrSxlJ9CKBf1DC8JXLWl7xqlRT56jSBZj
8aSWBjJkGUabXYt8Vop22Rp0vYWyZb5cd477TQ7pQZZC22x6vjetx/+SErUPJaqswf1IimfIQJlx
ML37LGS/cXJzE+X/mISbbRrpKULCoNrLw7PrijiWQ7nW3HwyNfm8OJ1FP66cLX3TTjssuvL8eOsk
7urDS3GAlDbccCHPj/J2k4USNCWXflbeQFr3Ss6NMbL1sTXqjwa98pSXg9+000Q2z+rDKagfwe+1
2azBr99spWf8ss2WVtRhq1VmdijXvGnfpZNb3kVpy/5gqFv2yNJ77XtwftT2fZbEGo5/53RZi35r
3nHiRMnXfC9O5CCeROkL84QZIuEkoqlt3Q1G3zIbF24hnvyg1HxWXYq3GuEvsZHngmxX7q3+tJ+y
xLuUifxlFGXSfDrPy8fSeWfzYTilF3IEk3T55NO0vSHler36yao4mUtLZ477A+0AO+1waKa15ix1
fSB3mGnJeN3LD9IzSyz/Liq9kQ3zqI6UXzFftk+R44mPQnjCO+urRTfkiSZeFe+/4SunBN5sH8wX
f8vJyQ+da/nVol31apnVIrPEDi/3EbPAE98VM1P6tKPgxlHHlabKCHIgB3IgB3IgB3IgB3IgB3Ig
B3IgB3IgB3IgB3IgB3IgB3IgB3IgB3IgB3IgB3IgB3IgB3IgB3J4ew6ViOKy4eF6YeXymeHqZ2Q0
D/Ibg033CJVT0Pxh7WLjifls+dOQemzDddD97dZag4YLnar1d7z0MqU2f9hfbJxNNcO2B6Y5GA/s
XU/lbip5ydYfxWupx+I2aVuTD9/9OL1UWR9ypcReIz8pt31Ir0i2XiX1fO9T05xcuEBa13XW64XM
otd+wVc+c6IqlYa7qcrY6gZQBJWL9b32QrY7z9sFxUZWvX3OxOaRp2p+F3VOteehrXVeDmk6us6r
7yz0oso+le9xoV44k5cXZ7GCrWVZRKkLslYxP1+KtdP+VEEqvx6aP2yf0np8y5LVY9sLdVpr0FCu
XkNgpWjzoPPravqzU3FJjU1Vi9L6p1MnDsBpW1mAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIAB
MAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAA
GAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AA
DIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAA
BsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgA
A2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyA
ATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbA
ABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANg
AAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEw
AAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAY
AANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAM
gAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYOD/h4Fws/GTTmXqXv31epK9XwrV
rt7zgScP2+PHV47c2ocnjos8x5Yzt5bstUz31OmrbNR0DrcEN56ieaPitG0Vwb0f+PHqXBIoR3PO
JF503KqeIn/6hm4NDdPWB8ORMTI7iqH6wUv4Tcz39XUbeKVusmrr9tqOcFX11A5yReUrR33VEDOP
bhdhdGKPLP10x8oG23Qbt6xO2JJstrVa2q6cwFuL/eti2mI52Y8rIQ8wR/70Ddu0DfnL0LYiSKmr
mJV46yTu6sOLCLKZkV0F07vPQj4wTvJkHp5dV8Tx7TIR0VcRxbLhRD7/SUx21ZrV0qzUqtJrVgPl
Q2K40NuWMq/rP9ME5YgrDzxaX1UHYXn8EydwxXotZ/Li6MosxUm43Sd5WIPdu4fiHowsy6zGuOsw
FsdB8r8WlaCN82MhJmnkbHdIHrWQvxsnrLYTs468zn9QSwMEFAACAAgAjzI1SS49eWdQCAAA47kB
AE0AHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbWVtb3J5LWluZGV4LW5vdC1kZWxldGVkLXdp
dGgtb2JqZWN0c3RvcmUtc3RkZXJyLnR4dFVUCQADHYniVx2J4ld1eAsAAQT1AQAABBQAAADt201z
okgYwPG7p3yErrmMVk2qUFE0t0QnNVZtrbOTzNwR2sgGwQWSbC772beBiCBvcZKp3cP/kFSJ/cLz
9NP944CL+dWNDB5lcHFhO/a14znh5ovp2a7j3f2QQej43mxjenfyNjC90LQidUGci7POd8/560Eu
5ldzMzJXZihnvufJ5Pu2oeL+6q+va8ZQH0+0wdAYDwed7tZ0vJ4oDdw2XKeih+M9+vdyuZOBGd/R
pWfn7v/W2cqg2+ssDrH7O+nNr75JNU4YzUzPkq4r7aqRq1smKfmF49mlJM9cP0za5dNo6HrzwlhH
/a8DfztzHelFVYsyHTcsSstQ3fxImq713rJMuatJxtLmSYNrJ1Bp6Gp/G+v1ejSZrg3dUpPV37ff
MFsyWEPfTVx/cv85u+9QRXy7kYEUpvrr65PxRFf/dKHW1lblGodwrabxg2e1lNKVUTbGfqEPi3Tr
Z4te2bLh24o7Ll3q9vLJmgxtrad6toacTPY+mZnqo3GWmdOG+urvdmq1TU9kq/hJeP6TiJrmaLvr
2UMQqLLNZmrooJqs/WD70iPNStYvWYOuvao+w5K2V6Z1r27pRpWC7Nz88ZsTxa3yVy8u7mS0DD6H
qqOrjrz9CAtv7asJ9geBmqmme3kikVxSn8TacaX4ePZRqJu1nfC++cydl285V39WvOtLHasW9J+2
IuyPkyKs2wb7O8nmUA2X+WPz4iJ4OT/97S5uaVc08b3iKDcPliXDUN3KubDS9RSPqSvCCQsHYX88
iQfMhlKp25mRtfn8mJ12ufNnuNJ6hR0fH/F1wSXHf24Pi+6Zyo0+mmhTY9QfDcpKNSS6dbPLJM91
CpW8eK/9bgx+/X7PzfHL9ntcUYfdXsjsMDanZuvHyS3sR9WzP5QrfTwyVLc3HgONW3h5NPX7rKgx
nP6X2TZW/UbhVc6CqO7hteX5KJBmJJsefIvPSHrfGNeu+0reOV6u+6K4FD/7PFRTL8ezNT5ZpJVx
4oF6uM/cBzXNLE5azMuhKsWTE22y4zSXsPG0PxCHR0dxOOniFTbXmjYwJqOxodprdnr6vXJh02gL
T4rFz/uElFz4vrsLTFv+LqUt7Vd5oOnqGJJPFdf/fw+eJ6qVe8BP9sJy9adaqvTcOlc6ibPyE3mp
ZZLmw8d9i4Vny78r1in3bafioelo4ELXyhbEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzE
QAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzE8PMxnP6TjdaIll76/mLdW42VKaj/svSaXUs+G34KU25b
80ro/g3XUoealzqr1t+041f7xPJm/5rlYi5GQ308jX+wozW/D/y1bv4TkyG6lum6K3WvvdZfgs2q
lqXmrdTKtsViq2iUL4z3qrtkJ7yu4rJNU3X5NYlNW7bV10ur11RW2rSxptJz4FzkF/WlikbTwSeR
fn+40sne8rUegtAP0tJTUwh1J8Hzhfhw9qEzS79yQrFykhdQhes/yUDcy+fkZyemZ4uH3e5w5YRq
PTGdp1dotoyNtZm1qq7KUtm8vR5Lx2tbVVaex/VfNqe03L5hycptm6t1XurQ+KOm4jnoJ59EmC/d
4URvHuK79xBK+8r1V9eOK79Jyw/s8FVVOH9r4k6pyHnVEjb+OKrlzJw3FRFWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVW
YzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWYzVWv8uZ6W+3TtQppO7Jcd1Zcj3XVJy954St
5/Px9IVTuvRly+GSxthwTJeCPVfhth3YlZ3qju7mxqfdbu6ArRz2Ndk46ZStmkX99XXNULt3og2G
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
4ZzTnNTj6rnejpFJBFX5+5R86n/q1aLl0TZKq0Mkydgb8IpNn/ufsRlPyBbb8mbkJCItzl/8aWQy
nOKkt1LMqhHsJ6D4DYp7yLdZIZz6q7y5GPH2zrDpQei3cLeldTsyKFjtqks1zGzkJ1zydCqZPEbg
jn/1C3MkZVk9SVpyZjLPJWFNETzV84Ge84+u6zSSzo3xbAv8MKpeoAdi63VayH3kW5pls2rc3K1/
h8OjnVbbvdRpdV4eaS7qNZouytuLrS7Wj7RYSiVdm2UWPm+6QpulNHsKGmf1Vyov8rWa67jeh+/H
frobGF3vqCJlp3dUJJQSw75GBk9TEeNHUm+Vlk3p/rJPMQ+heiiu0Er1XdW5XmElk67o6mlU12r9
9nUe20hxH7m+77UuocrPPW2hUSALrcP3CKoPQ/NdIWhp4K82EJovTMYPNt2PbG3Idmvr9/4DUEsD
BBQAAgAIAJEyNUnZdAMFIQYAADg0AABDABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5z
YWN0aW9uLXNjaGVkdWxlci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADIYniVyGJ4ld1eAsAAQT1
AQAABBQAAADtW0tzozgQvueUn8DRrtpUYczLviV2knVt7Tg1yexdBtlhB4NX4Hjmsr99W2CDsB6A
HxPvTA5JFdDqbnV//UlqJZPx3TMmb5gMhz5K0QwleBRHEfbSII5GYZxgX7vReqbu9E3b1Y2+45jm
1Zco+GeNJ+O7MTdmOPT2xj+QeDkKAxyloOl6T5s9sK86SxREXY1TWquqw2rSTb17JdARRG/xVzxd
YYKootvIfyEoSlCm9iVYYtLpXk3KMMQrHI3vPmPQk6QjFHk4DLEv0iyWpJ4pphQrHHkICFhifPHo
rDklIl/+5d51ulpH/+bM53PLHcydnq13wTEQeACLMfkOCcchTvFOPvMbPpepfIkLaAglFV8FHtY4
6Pb9zEF55F5R5Id4nBmrF9s+F3lPwK+XV0ywhuCnZ7q2aw5My9YgiX4QLa7aqXqKVyvINYq0IqG/
aVG80VKVjTqvR2tCANyFJcUAEJnHZLkdkUelGJdj0J8JR+bpukPeV3DpGaCgiqYf+GNe/iwQdUuI
CjG486SwAYJTtgSHQ7KtxXi5opK+QCSOqlqe156HkwRcudG8PJga2EtoFIOkwlU926UKC1V+kKxQ
6r3evxWExBRcf6Z3K+VG6UI2uYxKmALSOtcQG9Ny9YFj9SyDZyhFoGsrDWdxljEaR+mnKjbHOH+x
MTbOVmwUUWWpVSLbh5zL6o4Gl60iOrJn9HXHtRw6TFWD072xp0mJ0x+8Z7icWU857yRFJP0rr8UR
OLHAzIJZswchGKVYNpbfh5g9x5YmboYXQcQMn1RTceie40+8BF6Acaw23tpRe4mTwAR+mQVM5Ow8
ZWmpGTeX7jAP4MGIpg+sabs9KeRrE6SvBTMzqbMHPUMrN4paSZoUa2iu6wZUmO2AvO7nRNoQYvla
xLzI3NzDkXCJ+bJaEOTjTxj72G+0tOgmMBreCN4fsOQwG+isDqazvyE4OencwNKiXXe5mXGS2cTK
R6jqdTolt77PDd1m9kn2vYBpCcyK26anN/BnGuVYkyFQOAH5R64kaqKhOKTwshIi2fEiN0BCBaLs
IZ+WoTZ93pXEZKyZrmvYtjEw3K0mVk1lXjD6E94wGgseUg25/xYktBx5lysA2ZAgZcc+0+JSkhCw
xpMsJi0TpHU8FIYzmEVXvTSAzZEIKhJWE8pWXBEJsWA9vhZ2lVdXAmyFcu/U8SzEFKt6IaKGd8ED
ElTn54/PlGxFKGr2GXsxkVoAyFYEKgrKj01w+dQufCwK5ZiSMiXzjc01s7JsjystFgWzJ0DUYZQc
L5dBWl1gNkEYjrL36oXzCIO1xL9vvkL83McaXsnnqGpJ7U9WddbeMb5wkIz1FcJSls4HFWyu5OWH
IAqS16bELPSmSRBbMbLISnWLbpmWfUx/T8bvIvRw/C5AvtDra4kMlPQsJjU1Mg/owrHbIF/evn8v
KgzpnLbPcTpNTNnSNlUVULreN6pCS/R9hrNO82TLOZURxmDgmlIoSbrngvMBzfM9ITG5naeYVE4f
2+TDc3ZquG7T9vlhzZsL9+kXv8doeVaU0GK+RvxOswHhlTZhLoujztRVrNh4hzZZr3+am63GaVVe
BR3U6OE6JEXb/XRtIMdu2QZqv0H9gPv/AO4HN8tSxSZQ3PiriIBNNAuhvOoOLIXg3q5T6AmYgtMg
TRw8vmEtVR+zFP27BU5lrbtHnG7PxD9/1SuzoNwQiEYItgKWZYjgiyN4s8a1J6mGQL8sKpJrzGCL
KufPE92f1Jy5b2sNN72AObSX8UFExxHRT1+pZZfl9mxVou7UgAc705OmF8wf/HIh/CJZqLNrl5qG
VibD9ar2Ryr/HOuSwfvuwbmEDt1BLffFjoDr1o4Fy9TvZZd/qUZMKScPf42BGlZ4bO2JhCXauSro
+r+hcI0fYvIH/t7c6SOcKfmgdQzYm4Kamcgr+1EKSPaj8FotoV+TdZiCwpSsvXQNmB2FcYQlt29n
j8Kx13sn2H29V01fQHrPziynq8f6cvlVccT+kVe8ql7kWI5j190PgZDhtrsfsuB3U9OVGW7F+GMU
oreG/I27+DLxTLNpe9vVbGbtPxwYix+e/bbxkt5u8v+EcjnS/wFQSwMEFAACAAgAkTI1SXbN+XrG
BgAAKkIAAEMAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVy
LTItcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMiieJXIoniV3V4CwABBPUBAAAEFAAAAO1bS3PiOBC+
58RP8BGqdqqMMbbhlphkltraIZVkds/GEsQ7xmZlEyaX/e0rPzCS9bANJpApDpMa4251qx+fpG55
Orl7hugNovF4CeMn6IYI3HwPvH83cDq5mzixM3ci+IKcIHLc2AsDkq67crygpzDkJM10LwDkr+0w
CGA6mO2HEQTKF6Wvq+ZANyxVG5imrt90wZw77hqiRYhWX8Wq7gcfj92SoAcUrmzfg0GMRXZKYo2R
cfMnXIXoHY9257g/vGD5HIeImk1GMJv/g4fNX745/gY+hOgP+C4xSIUqXVITVVd7FT5w5iGK//bi
13AT247vz7G+EukpOTFAIvM0nrnlSfoQJ3Hn2KJDMrGkTNYj3Q/2W7iGweTuCWK+CI8XuND3IWjH
R6LRU+omPqjW91DTSlWsFnve8cReBx54rMQ5PiQrXTePqt5lCKgba17wFv6AMxyhTkJ2GwCC6cVb
QdQ9g0DMsYeql7CASw98JRc4ylTky1mQsSREeRCMx1HyNtr4MR4wRhs33iAIMAgFkCILg+eN68Io
uhwtKAnhznSpsR48zK501Z/mYrEYWqOFqbtqj2FKU3mnD7Z5lhK5NOFMy7ByUbqIgzKUBFeqo4T3
1QmAD3fPRZhGOJxfXiGCioP/9XXLsHT8R1cwzgAMniRK8awme/eA/4thGMcO9GFcyN6BHzcEuZSS
t5yZMj91e6TvrAFQe1K4zE2VCmvHoiN9aBQWbTbUY7he4+BzAqXw/m9KEG6VWCajSmt7gxDemRSS
JAz5Gp9zZFYp+LKFR7A7yNxFrsJywJ2w9ITz3WRXxTDyrPlfVQT0jTQCxDA4oQItIZyR6+54jPIF
OFytE0rAIQkDepQc9rAqXxQ3M6aC5UWJFb2I2pT2DYvCTOBFayd2X+/fit0kgUWDeYZFRbolewTR
5NL9A5FASreDbaMPLXVkDvtDrcdsSySGrsw0mNpZtI1h9u5tJZupnT7ZCBknS7YkovapRll2gH0u
yrvEuGQWJZx9baCa1tBUKzY9sxJvOy4xB6Nzmsuc96XzjmIHxX9luWhjJZbkXrXisImgE0MRL3vg
1PumIXTcHC69gGCf0q44dNMpOFuVpV3exkOAzjMSluph814d4gFrYCfuw9KUXcEC+2uLT9MFMhOu
M0Z9Tdmf8pU9aCax5ixUVcMZZpiYXgUZkNYMsWwtovaS9PNuI8QsMd/XS+QA+A1CAEGtpUXVMaLB
Lef3A5YcovqR5gFRx8I83Y7SYXfJDGU6MbIAtt7EM3QL2DNI7tlH4v35NTj+3MDoQ56veDnAnYD4
pfwkztJLalwsrbwyZDMMAjDiec8BCRAos+ddUk4nim5ZmmFoI82qLPIA8A1uiRG7vRos9z+9KAEE
VmUqQLbIi0ne5yS9pTC4LyjYxzqILJlIFycs0+aFigBXubTlIoAtC9bjc2GXeVUpQGYo85vcngWZ
ZF9RkMjDu8ABQVRnJ6CnBO55UVTvNdkoYAukAIg7CfuXdeLysZn5yCgUx5QQKYl33HISVSequSzp
fU5EXSH5CslXSL5C8hWSPzkkh6uVF9N7/q3n+3b6u/w0dYTASuAvi6eAn3lZgSvZHGVN5vJkZQXY
HeJzmUSoLyEWonTGVKC5FJcfvMCLXiFoRFsLxLma1zF4I/TmSaFrPEN9aJygQ2jzIo1ZCzhZwtW6
I6DB6V9ueLL5tPCSRWZXYbm8wlHJKgRAtVsob28kIsWTPgcdUKo60GiilfM+h+k9k2mOTxSHNhpZ
ujCUBHdzOAWmxM/3CIXodhFDRJWvcufj57Ts1GnSN/iw6v+F69TgllS7N55Oea2sPs41LDYKYDFb
I35PvIHNK6ziXxZGnagtRck4Q5+lPzguIhq7VXqX4KBOAVNiL/q27fURTKNhH6H5ZvYa7p8g3A/u
tsSSTSC/c0SRYJnO3MfpVXW4KQhLu06uJlgUPjkmjsOPb1CJ5UcySftlCWNR54W6oPaLZ73UC9IN
AY+DsxUYDjVe+MIA/7KBp79keQ4oktyNTsLWoc6fLTXgq65PVwqu28E/tO5xBaLjgOiXz1TiOvTJ
skReqcEa7ERP695QuuLLheCLYKFOWzQVBa2UhqlVlTlrfv5wecF7duNcQoXuoPL8kvc1As+WS+E3
DR8o98O+iSQY637yeOxHim3O5PTfGLVmlTpf0VRYrvFHNvsW3MkNdWyPr4Vt1bmStf2Po6jW6Wmx
oNUAbxIBDWP9MwcIea83XNOtl6FpGlUdHUykWc06OkP8V9phYj8fLc8117XD/3CN7azXaASeeMhm
k70wr8j6bJ9I1WY+aED9P1BLAwQUAAIACACRMjVJiEa6WaIGAAAtQgAAQwAcAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItMy1wcml2YXRlLXN0ZGVyci50eHRV
VAkAAyKJ4lciieJXdXgLAAEE9QEAAAQUAAAA7VtLc+I4EL7PiZ/gI1TtVBljbMMtMckstbVDKsns
no0tiHeMzcoimbnMb9/2AyNbDxswCclySCqgbrXUj69bLWU6uX5A+Bnh8XiJyD1yI+x9+hb6/27Q
dHI9cYgzd2L0iJ0wdlziRyFN1105fthTGHKaZroTEK1ROLm+R0AcE9sJXRQECGbx5tw51ggvIrz6
Il6WaErls9L59CdaRfgnUF877nc/XD6QCJdWlhHM5v8gl+SDz06wQbcR/gP9bLDw/dZDzefl9HYU
hijVqh1EcUrX11VzoBuWqg1MU9dZGTue8dit8N/iaGUHPgpJIrEymzEyJAarmapLz6Tqaq/GR5x5
hMnfPnmKNqCGIJiDDSTSU3JqgiMUVuNNVzxJ7SpZ4HjcPbZokEwsLZO1SPeV7XZYxHNttI9WD1VF
0/htBQ/EWvV8764W+/iQrHTd3Gq98xDQLN7GYz98jr6jGXiAk5BdhR7F9OivEO6+gUDg2EHBY1TA
ke99oRNcSVX04CzMWBKi3AnAJ8KHjeuiOH6F6Uus0Xaz6fZufQye2FV/mIvFYmiNFqbuqj2GKQ2W
rSDQUubEuTThFqpheVZrEbtRJHGHdI0S3icn9AK0/Vw4VgwO+PiEMFIc+OnrlmHp8EtXABk8gCca
V3hak43dwp8AdOAUKECkkL2FK65vcSklo5ydMl91e7TtrIGn9qQAl6sqFdaORkf60Cg0ut9Ud9F6
Dc7nhEph/d+UMHpRiExG3artDcaQqwtJEoY86+UcmVYKvixVCPJlZi46z8khcsLSU8Z3kzqDYeRp
81edB/SN1APE+DYpOVpCOKMz5XiM85QZrdYJpcchicLyLDnswVI+K26mTAXkxYkW/bhUpvUNq4SZ
nh+vHeI+3TwX9RWFRYN5hkVFuCVZXbS5NONTAaR0O6AbfWipI3PYH2o9ppCQKLo20lCqZ1HhwVSz
bQWbqZ0+2CgZJwu2xKN2oVbS7ABsLoq7RLl0FCWcfW2gmtbQVGvKlFmFtx2TmIPRW6rLnPel+46J
g8lfWSzasIglXV3WHL8wcggS8bJHML1vGkLDzdHSDyn2adkUh5aJgrNJVdr5FR4CdJ7RsNQMm3fL
oT7ACuzEfCBN2R7hwV4vcL4skJkynTHqa8ru3KvsQDPxNWehqhpEmGECveplQNrQxbJcVKoly5+3
hRCTYr6tl9jx0FeEPOQ1Si2qDoiGXjjfH5ByqH5AGgdUtwp4uh2lw1bJDGW6MbrNtd6QGb7y2MNF
btk70fhBVTuzHvrYwvNA7gbEg/KTK0sv6bmwtPJOhc0wCKCAZz3HS8JQmT1sQ2I6UXTL0gxDG2lW
bRPD876iF2rGbq8By80PP07CkV1yyUFesE9o3ockuKQgtDuA28caiG4xSFMDyLR5riJANS5t9Wxt
y5z1+FjYRl5dCNARynwn12dBJsnqBYncvQscEHh1dv64T8CW50XNhulmPNve8zxxt3432MQv7/ZT
H+2FYp8SIiU1Vt+laZgU9D7How6D5Gi18kk5wbz4QWCn38sT5xECa4G/Kr4E/MxgDa5ke5R12Kub
lZ21t4jPZRKhvoRYiNIZU4HmUly+9UM/fmoKzNzVNFHiXojMk1Iu0Yf60DhBS9bmeQ+D7xzP5666
I6CBkK52mNkYWfhJ4tgWyOdX91e0QoFOu30OKtiS5lLZDVR1oJWJVs7POUqvu6Y5UpQ4tNHI0oUO
ILgi5FT1iXVuMI7w1YIgXDoz5CaDz2mt39mnWfNqLZePfpPcHAn2PE0JgCND0d8Ta4B6hW2K84ri
E/XdSjLeoJHUHxznEXubVXpZclArhOkhFI3p9holprFno2T/Eu7sktbBrRMiKQn4baASCch05gG4
Ul35WhBWahDuSkAUnA2SmISPz0gh8qJb0s1ZIiJq5HzhPcPiLlOaHXgcnLwwHGq80EUhfLNBLd7J
v3dnljyoSZzBKdX4LfWo697c1Ap+n03uRk9GTqZ0+eEKVrAVPW16J3ReFwVpX7DmxJXSMIepKmdb
jYYl720Mb/XcF6qneQLb+IHrsU9WT/7i6yQPluJkNN4EBCYkeOOSDVgazg4hOlHHrIVc+r8pLl73
qui46H3/hc0HwaEPXaJdoPRy+fDxLx8uFwqXC4UPfZyV34I0PeyexYuL8zu/vtKJ8bzv1S4PRC4P
RC4PRC412uWByKvWc++ld3q+1WXtAxH61XW0Lr/RGJqmUff0A4g0a7+nH0P4LX2Kwv47bnUb+Vo7
0oH95j8zRcjewLShuP8AUEsDBBQAAgAIAJEyNUnm70ktbgYAAGc7AAA7ABwAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0zLXN0ZGVyci50eHRVVAkAAyKJ4lci
ieJXdXgLAAEE9QEAAAQUAAAA7VtLc6M4EL7n5J+g29hVkyqwedi+JU4y66qtcXaS2TsG2WaDhRdw
Mrnsb98WGBAgCUjsxMn4kKQQre5WPz61WmR6dXmHg0ccjMf+BpOryx/43y0Oo4lFbOx52Dn7SVwY
mV5dXlmRNbdCLKJE56hzNj0cP2dHP/EJwXbk+mTi+WFMp2qKOdCModIfmKamVWXkc8ZjuzT/JvDX
E8/FJKISS9yMkXHWXVsu6SGO4jWsuiwnRVN6vMW75NF/wLMNDizK6II494FFQitme++ucdDt7d2s
4iX5EkVu3AAkieeuLOJ4OH3OlhSCyPsVDjCy4EfVhsZQg18aAv0clyzp6m5AjB88g5exh6OMRxoD
uf/u/SweuJSStxyNK0PdHuoqv8zFYqEPR4vhwFF6UnPtlhwL249lRppuZJZpx+rW32zAwRZBmRe/
IuI/oUgmo07ryTYIIKIzSZIJQLLwg/VuRmKVbF4SeM6cOzNx16VlP4BKdxAK+Ozurz/diFKxo+Px
Ekez4DqEiZ4brlIOU7LwQUCKESBJML0qCMVD8IQWrofRl84XBMo6bvggWanjOldVlZn4sykgVCby
HPpfXRCqRhyEojRINclkAOGMTf3xONhhgL/eUEqHQ+KTIpe7rW3jMARVzpGd+BOBvJA60g0LGKka
Q8owYwWm21iRvbp+zIAwX405mCu9QsZTmBItLoYwJodRtwO20fShMjJ1Ve9XkVFi6Npkx7GdRUha
2Ur2le9m//D5zsg4WL7TiMqzvWDZAfhclPrUuIV8hJnqAM81Qzdh2ithQJrCs5Lo/XjUHIze09rm
XKXWFrIBmwXR30kqT0CJJWb2+ZrSKcBWhEVzq+WTppqG0O9zvHQJM31KmsB/eZZoZ29aVgkgdcZi
STNAzWUzD6DehBqNbi95VKInN1plcMoYzBipfZRXlShHOupha6EofXOoGybQK06Cfg0dm2wgzECs
ZtmQvH3h52YZWA7+jrGDnUb7gaIBDOEnzvjxFZ4tdy2m9o9zYTb/B1yV4NY57E6o06vYuUIZmzl/
hMzeAphdOE5l6i7ObkXvM6PlZiqordlKA31mJIl8UT5wFyB+WXFQjTUk56sqrQBMUmysTBDACM97
lkODAs3u0gSdXiEdgndET4GKfCe5FclvaQzUtS3Pm4OuPTkUg8wJzy0CPOPSFlThEbGB8fq4S6O8
LtzYbKiMye2ZkUl20YxEHkpZzkkPEj8ozELsBPHfzlfkx9ZDYezMJHp0dajVcMG2H9CT+QN+FjDR
VE3IBAK3CYeh0iyIb9vZmg1ZcQAKIYx5xwYGswHtjiIt0FpTOeH3Mqz012s3KiL/k+t5k3hcvr++
QmAtIpfFFxC58rIGhJI1ytpc5cXKjvIpFHMnieBYTtxOXQaOuWybWKMVDvOkFAthXdONA1SpE14Y
VFCdE8JcrTsCGsjNuR/UBPvCpdtFWhAfX51XsgqDHvttRjBZQztAxTBQlEG/SLS2nuc4bh5Pdylf
mNEfjWDvEAWAoCHOqeKpd66DwA8uFhEOCmeEncvgOa7tO206Km/WFzldA6RI0PK8IgCOG5e44eoP
6g0wr7AZcFxZfKDmWEHGO7Rr1MF+LoYau1V6qfKi1kelZ5B1j/fXGDGNlo2R9rXY52lORJKSgN/2
KZDgtK9aV4dmhKUahKsJiIIin+YkPD5iFMmrZ0m/ZIkjUavkG46SsxCbGlw1pbsDbwZnX9D1Pi91
MYGRLd5jm/KjB7OYYxwMVoTFneCXmq3mgHJRK7hNC/qjmDs/HF0czPDyAxZokIqeNr19eSf8FeyQ
d7TRXnPqimkqB6ryzH11DZYp6tUB9pIHj/mg3HM5ndjaDI08/XKgFt/wFbpashabMeg36219a7vU
Zt2twq5TDoVvPOdkW3tI34ZbLwKGUbC1oy14HM4RBB+oDbaHffW3KTTe9mLmdVn88YucT4ZHn6Bs
47CKrAf8Hf+KfmwJgegp+X9nsp0xfOI9o3C72fhBFCKVTcSvcDJ30BNI9uAY6DyjlQWZqp5A/HSX
cbrLON1lnO4yPtVJWn4Bs59z9jGfbN/oLHnct26nj0aO6aORhMlPsg2xc+n58xvX27EMT9+ZnGqz
U23229VmH6X9eryVYu13JsLPSqr/0FfmBRC7SXto7Dff8SjzxYhumkbdhyhA1B+2+xBFh98v+RBF
uIY9maIdm/cy3P9QSwMEFAACAAgAkTI1SYngnS9CBgAAzmUAAEMAHABzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTQtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMi
ieJXIoniV3V4CwABBPUBAAAEFAAAAO1dTXOjOBC955SfwNGu2lRhjAH75uDJrGtrx64ks3cZZIcd
DF7A8eSyv30kMCBAEjhxdpzZPiRVgf6Qut9rtZSyPJ/dPuDoGUeTSbjDwez2Hv+zx3Fio8DBvo/d
q6+BR57MZ7czlKAVirFIUrlRrq/mpT33KG+HQYCdxAsD2w/jVG6gq+ZQNyxVG5qmrjd9lDqTiVPT
v4vCre17OEiox5o1Y2xc9bbIC/oKZ+AtpnqsJVVX+7zJe8Fz+A0vdjhC1NA0cB8jFMQoNfvobXHU
67NhOHdYz2JPHKJQMrE7LyKemLE4NIoNI7yx/Nt41usrPfW7uV6vR9Z4bQ4MtZ9N9I54DKMXAiDs
4wTn8nkcSmg8hgXUuJKSt5wRtgzQGrrpAMWRe0KB6+NZ6qxd7Ph3gaOYjOvxCUdYQeRnoFuGpY/1
kaGQJLpesLk6zdQy3O1IrlGgFAn9TQnCg5LIfLSN2t5HESFL4UmiQETWYbQ9amRRKfQyDLorrmaW
rlvkfCNDeiBQkEXT9dxZU/5dIGqVEOViMB9J4YMILlgKTibRkYvhdkclXY5IGFStPOwdB8cxGcqN
4mTBVIi/mEbRiyu1b2BY1GBhyvXiHUqcp0/PRYFjCDdcqf0K3Wi5EE0uLSUMgZTeNYmNPrLUsTka
jLRmxZMEupVpOI2zqKI1lohzkc3U3p9sjI93IxtFVEm1SmSHJOci3tHgsiyimgNtqJrWyKRqMg4u
arrnSYk5HP/McJmrgXTecYKi5K+MizYZxAYzC2ZLTxNhlGCRbrOv0QemIUzcCm+8gFGfV1PxJ94S
fhMN9mlT69W9zlt6ibPAhPzSC5iIq/OCLUvdanM5HOYPMgKbpo94U/Iel+Tr4CVPRWVmUmeMB5pS
Np5KWTQp1tBaVTXCMMMk8qqbFdKOEMvWIuZBOswajrhLzNfdJkIu/oKxi91OS4uqk4qGD5znr1hy
mIY85cFi9TcJTlZ0bsjSolz3GzNrSDYkCrSV+Kp41x21g9lFkEFGBCTuOMQvG8humZRk79KUFdSD
vLw1FASVgJcE5FI2KYuHHNnzmaJblmYY2lizjpZYM5V5Ee0v+MBYJGWiXeXTdy+mrGoOmXkymRwi
L2F1HyhHpLWEkH8pismJCVJ6DvL9FZlFX17hiU+bBxVBcbJb4c0TYsF6Bi6E262XVAl68HzfTp/L
C88bHLYyru6+wrjGy5aEZnOUHRHUJyvbq+RU4yqJ6CYRFtIjUypoJCXEnRd48VNXRnBH0yWIJ1GB
56Xa4ozIRvQt5y0iYvHQ0yAWB/ncUV8LZBbRdBVGLRxZe5SxeYNxeX1TLSrMSs5pIuhkjnvT6TrB
UaVJsY9ozRuQV/cHiSRv/F6nIkJ8opVPyNBWYwrBGlC4IyGupq5LN3zkz2esJGKAfMzxVyt7dU2q
VJ4NThryxz76M07usRNG7kkGd3tKJdcVWV0y7wWEz6rf75QGBNfC7RmzhnCDJ61oPA3OYfRopPEq
Gg7Ikz1urbmnnzX/OjPpnEi+w9ryIzHF+x/CUJMvnRJzb5n72xuq91O6rMVKbDEtaajSDtWOQ159
zCFvAaetjruew/zEjdJl5bJsUqfvllV5o0tGkLuedz3fvKxDrzTnLd1vKtNobOua59r05Ut8W0vD
tgKNZ/K0FWKSI+BCRE7rouEQsDf7Z9V9Wvo5FOz2OuuTBB4I3ysCFQPlyy40Wp4WPnaDJ0bYUtSy
Me/YXDPHkMf9wwk7BH3AW8DO1FACtgHbgG3ANmAbsA3YBmwDtgHbgG3ANmAbsA3YBmwDtgHbgG3A
NmAbsA3YBmwDtgHbgG3ANmAbsA3YBmwDtgHbgG3ANmAbsA3YBmwDtgHbgG3ANmAbsA3YBmwDtgHb
gG3ANmD7A2AbLtCBC3T+RxfowOf7/7PP9/9adxXBh/TPdsPSh/kI/ya/26dt5dmwlwA1H8rzWsqJ
c8HIyOlbXkckoOmmJlBZIJ6Rv8d3YfQHfulEhc+nTrFbWyS+U4l9yW2MYvo23vsJMZhEeyfZk0zb
fhhg6J+gfzqlf4Ke6NLueLnctqF1yau8jZNwJ/uWB8E3X5wszV6vnHosAaONTNOoXVFMv0CgLqRZ
VaEtelnh9DtF5sdiUtMgv4UZFHxPijQ+/Bc/AFBLAwQUAAIACACSMjVJljJax5YGAAAMbQAAOwAc
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNC1zdGRlcnIu
dHh0VVQJAAMjieJXI4niV3V4CwABBPUBAAAEFAAAAO1d3XOiSBB/z5N/wrytVm2qQBHUt8Rs9qy6
WnP5uHeU0XDBwQNMNi/7t1+DAgPMDJCYOnPXD0nKob+mu3/dPaRqnF1d3tHgmQaTib+l7Orylv69
o2E0tdmSeh51zh6YCyuzq8srO7IXdkhllOScdM5mHyfPOdBPfcboMnJ9NvX8MKHTDc0aGOZI6w8s
yzCqOnKeyWRZ4r8O/M3UcymLYo0laebYPOtubJf1iMDwGlFdXpJmaD3R5l327D/R+ZYGdizogjn3
gc1COxF7725o0O0pTPAVjNduAA6X8z7azPFo+jkzIQTj7x9pQIkNP7oxMkcG/DIIhMlx2ToOyjWo
8YNXiAr1aJTJSGOW+/vez+InpFQ8FVhcWer2SFf7aa1Wq+FovBoNHK0HnLVbTpQdxzNjY2hmnmkn
6sbfbiF/bUayKH4lzH8hkUpHndXTXRBABmaaFAxAsvKDzYFj75WML4lB11kIOffhurSXT2DSHaQC
Pbv743c3iqn41clkTaN58C0ERs8NH1MJM7byQUGKadAkYa8qIskSfCIr16PkS+cLAWMdN3xS7NRx
nauqyVz+LWMAVxhFAf1Vl4S6mSShDAapJZkOIJzzFXAyCQ6l0N9sY0pHQOKzopS73XJJwxBMOSfL
fTwJ6AvjQLphoabp5igWmIkC123taPn47TkrXPlurMEC6haP+LhayzaXVHIOw6TbAd8Yw5E2tob6
sN+rNAiFo2vBThM/yxpKpfQfC+9W/+Pxzun4MLzHGZWjveDZAcRcBv3YuQU8Aqc+oAvDHFrA9s4y
oITwvKT6OBG1BuN/09vWQtdUHR58FkR/7qE8BSPWlOvzNaNOQO2Iynir446hW+abZxR5vZvzQG9W
7XLd3AcwdhrvKK79ecqQFzd6zGodtxtzrPdJPqKRvAzF7rdXmta3RkPTAnrN2Zemhl7fV3duITGz
5Fph0X7YrgPboT8odajTqFhrBtQI+iJYP72psE1LkZWXBV27jLN5xppMGWWuNADcrJ5gYb74C7Jh
X7fOoTuRTq8SygplhSJzb+7QwgaNpdZA7JztMSJDjtAO+cOKL2s2pTjWVGklwUpLXIVBEiZREGwn
Th8yv0uhPLsiQ0jzcXz40tQN4Uamv6UzSHdpe94CbO2pKyronIrCIql809pUEhHxiXGEvPM3Gzcq
guHF9bxpsq6uau9QWJvdZfWF7K48rAnofo+qk3p5s6rTTZrWQiZZaquJ25nLpbZQbBNvtMppkZbi
bDCEM+gHzAZTURpUECJIYaHVHQnNPLhY+EFNsq/cGHrpGHJ63bXkFa7DCkaNeDOHM+HFKqJBYZTZ
OyUZPzpvOArmu4kUcRNPRAUSmp4H6opFRlhKFKEloOrCceKDFnx8piSSJ8jntL9YoovNhWsjyaGr
Qn+Ytr/T6JYu/cBpJXC7i6HkODKpN9xzCeCvXQZ++C2GAeS19FzDNQOh85QVTcQheLk7HPZFFY0y
WNnR2prbvPb993bSOJBihaX2oxAleic/6Ktbp0Lce/b+/sno45hOq1nJJSYlDaZd+QHvzf8iUc9y
F7WK25wsT8vdAlGR/UR/0J/R7Y4xKCAlRB52SMLk7OMz75WEu+0WJqSQ6Hy/+UrAJPICmj04pDiv
5NGGhqQ3mlwvPizU6ukXLEhVz5q+Lfx/RE3elO/it101Q3hCU5mvy5zHOkSmk0bdZMVPJJU1daJk
ZIpXuBmJurpkc4/yv1i3h4YWJH87X8l+1DoEdP/OY6iPjBopydgGYp7oq0SIoRtSIbbjNJEw0pq9
erlp52v+UCpPxxvZmMk94xODe8F6OPO0ONUYuqjpHmkIRiCcLBD2Qh7YLqTOpecvrl3vIDJE7CB2
EDuIHcQOYgexg9hB7CB2EDuIHcQOYgexg9hB7CB2EDuIHcQOYgexg9hB7CB2EDuIHcQOYgexg9hB
7CB2EDuIHcQOYgexg9hB7CB2EDuIHcQOYgexg9hB7CB2EDuIHcQOYgexg9hB7CB2EDt4ux3ebvcp
b7fDy3fefflOmwsCW14Be+KXCeKFOUe7AvHTXG6zTi/fq2sja/6WvuqiOq45nTwWHI0awvl9gfIL
3gszjmpGMwf9ZpPO97ZbbTbryC8/5B8Kp50wfhruvAgERsFuGe0g4lPPZxSHIhyKcCg63a8s+nQX
EL+p30m+das1dUEz1O5t9Ub9w2qeMP2hZZmlW/fjr9UpE/VHRaKN/bqgyTdozQ4VpMQBv6URlHwr
mHIP4gf/AFBLAwQUAAIACACSMjVJiXZ58o8GAAAMTQAAQwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNS1wcml2YXRlLXN0ZGVyci50eHRVVAkAAyOJ4lcj
ieJXdXgLAAEE9QEAAAQUAAAA7VxLc6M4EL7nlJ/A0a7aVGHMy74ldpJ1be04NcnsHYPssIPBK3A8
uexvn+YtjCTAj8SOOSRVQEvd6sfXUquTyfjuGeE3hIdDb4Xc8d139N8a+cHIcE3kOMi6+uHa8GYy
vhsbgTEzfMSiFG6E66vJ8eazEvqR57rIDGzPHTmeH9H1ZFHry6ouSn1Nk+Uyj3zMcGhujX/A3nLk
2MgNQo5bs6kD9aqzNGy3K1AEr5iqQ84kymKXtnjbffN+oukKYSOc6Na1XrDh+kY07Yu9RLjT5Yjg
cQY+2BgUTqjQDKUsTUKT6v/Su05X6Ii/tPl8ruiDudZTxW5snwfg6OF3MBByUIBS+tR8uepfvMyU
VErOV4qEFQLqfSsSkK25V8O1HDSOmFWTJc+ZnXyQ6+UVYSQY8NOTdVWXB7KiCuDLlu0urppN9eSt
VuDKhitkBv1DcL2NEPB4VEk9WmMMzphx4gwAkrmHl8mIWCvZuMgGHWtGHRmb684wf4JIz+AKPG1a
tjUu0x/FRfXcRak+mEqS8QDCKYlEwyFOIMlbrkJKi0LiucVZntemiXwfRLkRzFiZAvDzQy3afgFb
eqoeTphNZdn+ygjM1/u3DECIgOvPAD/IcAtRk7W4CFGJABI616AbWdHFgab0FKlbAmqOoisjDUV6
ZgF7CYIPFWyadPxgI3gcLdhCj8pDraDZPticFXehcskoCkf2pL6o6YomdvkxON0aexiTaP3BZ6pL
m/W46/YDAwf/xLE4AiEWiEiYFXsGjIwAscaW9w1yT1N3T/YMg8/QwnYJ+knRhH+jJeACjCDflkft
tZc4iJvALzlzEzY6T0lYqofNuTjEA0gwCs0H3IR0Dwn22tjBa4bMhOnUQU8S8o2dkINm6GvGXBQl
iDBVA3rRioG0povFuYh4EYm55UfUFPNjtcCGhb4hZCGrVmoRZUA0tKG83yHlEBveKA6ms39BOTHo
3EBqEa67pZWVKKOF5Y8Q1etgim8tqzQ0sewT8f3zJSh8zwIlD42C4mRTrCHP1I29nRUD1AWwP5aC
skIbnGNNmZYBSSkylwYwwIhmPcMKgUCYPqdBORkLsq5LqioNJD2ZiZymsC4Y/Q1tiBkBQKuH3P+y
/RAQyiIXHGSD7YAc+xyGNxcGAbeeWDppaCChYxqOM4NVdPnJCXiOaK7CwFUqbUEUGhHprPvHQhp5
VSFARmjpHV+fGRlnX5GR8N07wwGGV8cnoO8h3NO8qN5nZHqYyQFctkBQmCD/WMcvn5qpj/RCtk8x
kZL4RtqayG3JgalBWpJ7FI9qIbmF5BaSW0huIfnMIdlbLu2guOff2I4zit7zT1N7MKwE/m32BeAv
fazAlXiNvHuF7cXyCrAp4lMHsVCfQ8xE6XhQhuZcXH6wXdt/RVYj2logTpW8jsIboTeNS7HGo8jK
7jUeTi6geVopF1CihCr1NYMGwn/m4Yp4mtthkkkrLKdXONrSCgFQhy2UE4EZ3k4U3UAU+1KRaGm8
z1B0IThJUKUwQhoMdJnpAIxLTkpZKLTOPcYevp0HCBeKTonJ4DkqFl03qfZ/WM2+vdpNkaBhOY4B
HDGK/hlaA9TLrHOfVhQf6eKmwOMTbiJ6/f08orFZubftO9XSS0Xo7GbzcJV2TW1YaW++3Tu5pLVz
7T3gbAno9wgFEuBpzBxwpaqtbka4tQehSgKs4BwRxiQ8viEhYO89zlP+osdxLhMWKGDdIzyiIDkN
HmNC7rq56ZI2gpIoFUWiYRly4c0aVe7Em6Pe+a9k/2PpGYIbe8YouIzCmW/r8vrQd+VJor6tZHye
t+YXquq8CnB7tGXyKwkgQcp64tbveTtDqU+rGSQq81cURSKaUr1jeyR3n3xoNvvngUWa6qu2PQv2
JuPj+JZf8h0zp2M7UwWDClh6bCwJA6aaiUqper4Zzho9ePgv9F5f6D2EyWHnsa5YNVVEFlKb8d+B
ATtY2dtq8iP1jsMPv/prJ4AJA7w2gzUExcjxXMS+CjkNKfa6kDnAaeOz+V/MeXL35rST6Xg7z9z1
dc7Rx8nCh8tdFdnoS63k6x7uD5Tn243ESW8kLqUR5Dw6Ty6p7eUAHHdpnGkq5lEabU6n5edyWnPa
JqRTbkJqG6cu8u6A3+1V92bh6F3oR2fA18N53kF8UDn+tNsX2579tmf/XHv2Wzds3fDM/3TED7xV
etok/5w/ekv0biuapla1hAORpDdrCVfg9y4t4cw1MHvdy/+Q6+Sm+Sz9/wZQSwMEFAACAAgAkjI1
SaI7xLiYBgAAakIAAEMAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2No
ZWR1bGVyLTYtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMjieJXI4niV3V4CwABBPUBAAAEFAAAAO1c
S3PaSBC++8RP0BGqNlVCCAm42SL2UlsbXLGzexbSgLUREjsaTHLZ376tJyPNQxIGG8cc4opRT3dP
P77p7hGeTW8eEH5GeDJxbWIv7AhZYRAgh3hhYPlhhFzlk9LXVXOgGyNVG5imrl99C7x/t2g2vZky
ayYTp7L+Fodry/dQQIBTp8LNGBtX3bXtBT2FYVrLqktzUnW1xyr2iO0gsjPN7EWIyd8eeQq3xLJ9
f2E73yXSE3KKQSzzarY3WLhBwfTmK4J1EfALHOT7yL3qugsuuw3CyxCvr3lc/0TrEP8E8htQyQtW
DyTEIg04rPmaUJxptqxJur0G22ontp5fqth88Q84ONuui3xE0FfkhNg9aJslbrbrZqyASWnTwAfb
8X8fvTXCtx4GJl31h7lcLoej8dLUHQilOv2qTJ1wvfbIPEi3XavQPmMew9xSKQuKK4/LDnuE9uGt
F3jRE9+gQlrKPaxQeRKl9NKkrTBMHCSmdz33XpIanBVe8Bx+R/Pci9eBSy1KfAoRLRYYShYmwSBZ
+2QHro/y3wsVIlD18QlhpNjwr6+PjJEOP3QFItaFxIsNfgtiwEF5GOU88nThBQSfUvKUozHzUbdH
B/to4Ko9qX+yLSfCjmOZsT40Csu0Y3UfbjaQrXagFF78TQnCnUJkMuq0trYYw6FSSJIsyFA8W5Fa
pViXRroA/1N30UgsT4opS0+nbXwgMgt51vyvLgL6RhIBohjMNSlkAOGcRuLJBGeQHK43MaXLIQmD
MpeHreOgKAJVPilOakwF5EWxFb2oVCP0jVHMsGDletHGJs7T5+eiEKDAe7BQe6V0i08N0eaSE4VK
IKXbAdvow5E6Nof9ocYejBJD12YaSuwsOtiYUupYyWZqp082SsbJki2OqH2qlSw7AJ+L8i42Lp1F
8cq+NlDN0dBUe/IcnFfWHscl5mD8luYyF33pviNiY/JXmosWKLFC0uqgVPtjZBMkWsvW/3rfNISO
W6CVF1DLZ2VXHFoYCGrtqrTzKyAE6DynYakZNu/VoX4BDazYfSBNyXtB8NcO+qUCmSnXGeO+puwb
NGUPmnGs2UtV1SDDDBPoVTcF0oYhlp5FpaKz/HteCDFHzLfNCtsu+oKQi9xGR4uqA6KhHefzA44c
qgZO8oCqxWFNt6N0emzbUKVMNkYX8ZstmeNrl+04Ms/ei543anNq9Sk6GlHTwtuA+GFNc8HQS/oM
llbeeVvMAgEU8LwHzVucGPOHPCVmU0UfjTTD0MbaqLbNdt0vaEdxLHBItuTzDy+K05FVWdrlPcTJ
JQWhfctlvdRBStfJJik9+dEAMi1eqAhQjUtbUoVHRAfry3Mhz7y6FKAzlPlMbs+CTHKqFyTy8C5w
QBDV2fQiBlvJcKPmcTq/EI2rigGHdPrRJC7v25mPjkJxTAmRknpG+5o6WbJ2pcWhoPc5EXUYJKcT
l5Kldp7vW8ygpXNMgbXAzwyO3mCqVIP43EUi1JcQC1E6XdTttZq+NQJmrjZNjNgKkXlSyiX6UB8a
B9faEnznRQ+D75zI52rdEdBASldnimyOLL344MgL5POr+ytWoUCnvGsiMSa/gC6RAKbZCx8itC7x
C8KK97iagChA1XiKAL8+I4XI4UpSB68QEZXAd4jsJ+sXg3xUg7TplCq9Y4wB2Rl/vSQIl3pTKwP5
6gCeu00p5PJWcG5Fh0ONB7kogE+26Fg3JJednOVOXl6/nXRRy5mI4PhPa6Hf40MRTjnhsPG8zmLJ
qwIxdNmlau9I08q6twlqBTcdd9IXi039ww/1So0pYcV7IWSgyetjCbvXzbpLbDa60z+ZdHkvBBrk
oivyxKCUDM5qWpKEhuk2qiulF+rn0EYcdESs8qqyrv5b0eUn+6Hcc3s6sRkomtfCxxpB+4pbwHBV
IShVrs+2v0W3If4D/XynWdVE67u2EUCPMt7LddxRQUQsptThVfnf8RK1KNyi+Gm09QkwJHjrkC3Y
yPLDAImHnm8FHi8ath6hd/41QfOtUfmIYHlOqHwifDuSgLPBkvPQoiWyfJRbn/dxzfSR7riOIPGQ
W7K2ap7kVu187vc+zp3dZaeX6eIppouNL4IPezFKfH3c4pWp171p/rVux9/ndOIs7/TlT19p8HB5
f+7y/tzl/bnL+3OX9+cuFWrd0Pt865V2Z21Ewg331adGD4TfMGS//d6amv7uTCJxH2La0DSNyvdP
4m+HVom0UZlobf9coOQPK8wyqKqsgJ9Cnwv+WITYPv8DUEsDBBQAAgAIAJIyNUncsRpHCAUAANcu
AABLABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9ucy1zdG9wLW9uLW5hdmln
YXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMkieJXJIniV3V4CwABBPUBAAAEFAAAAO1aS3Oj
OBC+5+SfwNGu2lTxMmDfEjyp8WHHU+vM3DHIsWaw8AoSZy7721fiKUAS2CE1zq4PSZWhu9Xq/vpT
q4vl4n4N8AvA83l0AGhx/xf4+xnEieshH4QhCG6+IUieLBf3Cy/xNl4MRJLKrTK6Wb6fvSCXdyOE
gJ/ACLlhFKdymqnahmk5qm7Ytmm216h05nO/of+Ao70bQoASumLDmjWzbsZ7D6KJwnG8w9SYtaSa
6oS3eYheop9gdQDYo4buUPCIPRR7qdlHuAd4PJG4EEkUHyAmARfr7jwUhKD4XboQE+cfdwADxSN/
mulYjkn+mQpJUwDRE03KA1kmwr9IVkAIktJGkbMq3o9RmT+upOQtx+PWo/FEGauv9na7nTqzrWME
6oRodm45XWyYyMzMqVVG5jRTX6PDgeDXQ0qZxT8UFB2VRLZGl9fuM8YEgeVKEgUiso3wPtfIolLq
pTkYBxuuZpaue8//SVxaEyjIohnAYNGWZ5Lv0+ppKfKi+U8XAjQrRYAIg4Un5RpEcMXSz3yOcx6K
9gcqGXBEIlS3sn72fRDHxJVbxc+CqZD1YhpFGNcIRbMcarA0FcD44CX+7tNLyRrVbmxjQ0iDLTdK
laLNpTTKFJAyHpHYmFNHndlTbapPWuwsCXRnpYE0ziI2b/HuUMVm6+9fbMwa71ZsFFFVqdUia5Cc
i+qOBpetIqqp6YZqO1NbnchrcNXQHSYltjH7neGyN5p033Hi4eR7VosuceIJMKdkR6OAgZcAkW67
WTA12zr/hBckfAOeIGLkl/UU/gn2hBeIBvu0rXV5DYSAnVcsLfXj5sod5gfxwKXpI6spReNI8nWE
ya5kZiZ11kzTlaqbUyrSpFjztqqqkwqzbCKvBhmR9oRYdhYxD1I3GzjiHjHfDk/YC8AXAAIQ9Dpa
VJMwGjhynp9x5DBdbloHq80PEpyMdG7J0aKMJq2dtSTTjVU/C4klCsArJzLM29a7EqcVMmt+m77a
w6EVysAmgiB3B+KXrZroCIfkKtGWFTBCQYwtBQEX8NLnBbQOldW6qInlQjEdR7csfaY7uSXWTG1f
RPsLODIWCX91q3x6hTGtx7bLNYQcMUxY3TWtLikLEdr4KorJiQlSxr4Xhhuyi4n8bCBrujyoCGiN
K1tzhSfEgnWoWkiLq18VlHXIe9wnsJlkF+ZzqT5oz0SlOGdFRMzTD9+p6EnI7tpvE6gnRvJ0cJYZ
lMKSz7f11wNDMdrvYVI/ZY4wDN30ufz0fMOCnbBvLl8Df+tlR+KyPcqGR83Nyi7cRR1wlUQVIREW
4jlTKnEv5eYHiGC860vOXG/6BPEk4PNWqffpU3N6fp8uKSYeelolxUE+1+uRQGaF7zYR7qiRLaSH
R9ElX17z34gK045yOmG6mXzAcrdNAK512m6O1qKLPr/JpSOoGk50I5/VVEJ779cGpKPeZU4lTQ1d
FSJEML4edrwjwGZWqJ9pxkgKhNfh67S9qPHrmOxDjMlYwPZFufSY7ZivndWMXBb9XkeEv3tEeOao
71w2u44IryPC9xkRXi+C/4uL4PVyd73cfezLXVLP23CXpJN6zi50S0zx7kqGLq9Mibm3FMhH739l
t+v212qNUzw61LOgq5rVNUcwtNmJcwSiIZ4jiB2tZSb3dTSgmQsLRK+BylCfp136x5HXjy3fZfzD
AcX128KL+rbw7UfIsHu6hI8gbU3/L34EecIx9i9QSwMEFAACAAgAkjI1ScwEGpu5BgAACmQAAEMA
HABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb25zLXN0b3Atb24tbmF2aWdhdGlv
bi1zdGRlcnIudHh0VVQJAAMkieJXJIniV3V4CwABBPUBAAAEFAAAAO1dS3PiOBC+58RPUM1loGpS
ZcAP4JbApJaqrSU7yeyeDRaJN2Czskkml/3t27KxkbEk24lTy2z1YWYKub9P7X5JiLZnPru+o+yZ
sskk3NFgdv2N/r2nUTx1gxXdbKh3MZ9d37irOGSvk4lHNzSmMzd2l25EySXp8MvTMAjoKvbD4D7M
yOSSmqvfAx8mBplsdDIpDXV7pGv8cNbrtTUar0dDz+gBsrt1/aBHJASPbuBt6CyZrFrs8Hmxo8zl
NxOBXvePlFHiwp++ObJH5ti0bAJ28vzg4aIZ1W2421GPuAEJs+EvJAhfSKybo0rr6Z4xGsT5TBoA
iKxDtj0gUqvkuMQHXW8pRabuunZXT6DSHYQCvbj7/Vc/5lLi6GTyQOMF+xoBcONHjxnDPFiHMIGX
+bujgpcnIskQfCJrf0PJ585nAsp6fvSkuVPP92ZllYX4W23CiJaAMof+UxWEfTsJQlUaZJrkc4Dg
Qky0yYQdMi7c7rikJxEJgyLL3X61olEEqlySVepPAvNF3JF+BHFkOEPTHhmDodO3R5wwpwLT7dx4
9fj1mYPA6+LdOMOl0StkPC8KqptLCoaQw6TbAduY1sgYO1bfGvREk4vCb0p2mthZghSZj2q2le/O
4OPzXZjjw/KdR9Qx2wuWHYLPVanPjVvIR0D2h3Rp2pYDsHeWAW0KL06mbsejznD8X1rbWfa5tZU0
YDMW/5Gm8hSUeKD3zA0iN43pEuAY71DUGHVjqsImCXoplgaz79hKvy/pgx8I8HnRFRKEHzyHT0fb
XwWeAL/3t5R1lfFyOpt2Z5FGRsOCetRT+ADTTLnR+PJyjEry4sePeTkVDGaP+wOyylUix0rHPeyu
DWPgjCzbAXnDS6tfTcemdysMJGpKDFJaF77vHpjr0d8o9ahXaz0wTChD9EUyrgnLUOPWG5+BjVtJ
TvjLzJOz+ap1nDPNhcXyL3BVWrcuYXUinV7JziXJxMzHj5nEPPDoD4mfhKula7nVjnYq6G2ujBoK
LYI09FUJIb0D9cWShyrMoXasRFZRTbLiWAIo6oHMfa7Ho4Is7rIMnc+IBdE7duyxbeiXklvV/A2N
Qbord7NZgq49fS2GOacytygKmlS2oIpMSAyMtuIuCeR6EZfHvGy4jmFTyar4OkjViaxUVBtTaRpf
EtGphyiyxoMvJL1+HLnIFwioq1HI0tCDKQhoAhtk8qnz6WKaXoKKuvST2kU24Qtl5Im+Jt9YoACS
PewG85EG0drQnM0jNHejNjblBa54ueV4DLdbPy6W9Rd/s5km4/rF8x0TVsb+6fSFDChdrHBceo+a
FCjdrO57epYMUpAqLfTCzdQVgldKW8cajSJYNktxl2uZlv3m7aomK2RhUMoNSQhLte4oZBbsahmy
imBf+3wpyHa757eJO7GKsJGT7Gj5zRxON67WMWWFHXNqlGSX23nf9pCf/xTiZDA8HJQchbbu65JO
ueT8UBNOEQNDGSGleE2IvHbPVhSxeeMH8K37F+4xcIHyy6R4HqtQt5hKjmOaFV9BT/A3LNxON37m
lCIbbNu0lU9L1RWZDNPovSfH655R4UlTCydNLfipdoxnhaL55uDsqmh7RyGlM4T8NLm9gxLHbnhQ
8uZSHmuWYPkZSkGEZoeUVfu+XPCkhEo1gamuPI/nJHx8piTW71Y1hw+7Pd8EeF4JdPDsreo6kiIp
kiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiIpkiLp+ZFqOzG0bWkyhKQh
zbIGsu4kGsDInlb2stbvY/rZ25HUjEm/ixvT9p8cq+h5vqqcuMmjZz+LuY/91lcfZnh9zzZokE09
r/u05nl10N3xB/MqGrkTmVKP9imyrQcRsqJY1ZK2kxTHfEzvtlxM09SZi+gzLy/R2mf6v/HOTHAS
S/7tfCHpqkAi4Qkcqz8yK1joKmS8K5k/RyMnMfumksT1vDoMI8PQtmVL35FRMC/Q7aTthi5v5y8/
01Kjy1+kFJ8qTUaFVWxg9O2qZvdhf9yw2R0Qb2t2PzNV1f5rJt36G1EUU6ma0EuSpTes/B87+sup
9KcfP4Z7MEP6xJBuZ3KaYh/sgNYdWg4ffPFNWy++aWXZTiIsW7Nha5O68uDXSFUWTuNStv24lWwI
hP79r4yFDHE/Oa7qC46sfqn2OYpah3ZHHOIQhzjEIQ5xiEMc4hCHOMQhDnGIQxzizgenPCOu8ctI
059C6jQZ3Db7cVl8k1utHgaZXu2/uk3ZqFTtmcObcs6vh+fM/hsAfI//mbzHv8Gv2v8CUEsDBBQA
AgAIAJIyNUlqrgJFvwQAAHkzAABLABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3ZlcnNpb25j
aGFuZ2UtYWJvcnQtdGhlbi1yZW9wZW4tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMkieJXJIniV3V4
CwABBPUBAAAEFAAAAO1bS3OjOBC+5+SfoCOu2lQB5umbgye1Oex6apPZuwxyTA0WXkGSncv+9hVg
sAQSBmJPnF0OcZWhW93qx6f+rMrD8u4RkVdE5vN4j/Dy7g/01wtKUg9iH0URCm4elnf30E9j8mM+
D1CEUrSEKVzDBIFbMMleezHGyE/DGD/F5WJiyZa333BIDVOZ8ul83nikTIGi/m1vNhvTcTfOLFCn
VFPZwRBPgWCBLcRBhJa5sdNih++rPSIw20xC/XraIoIApH+a4ViO4RqmBWicghA/3/Rb6mu836MA
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
RqKUFUW9/wFQSwMEFAACAAgAqTI1SWvPe6V3CQAAt6QBAC4AHABzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jb3VudC1zdGRlcnIudHh0VVQJAANOieJXToniV3V4CwABBPUBAAAEFAAAAO3c
TXOjyBnA8btO/ghdexmpaicGhF6sm0f2TFybRBPbO3tMIWhZxAgUQPbMJZ89DZIQiBdJa0/infwP
rilBP91N9/NrXmturj7cyfBJhqNRsJT+1Ydb+a+VjOKx5dvS86TT+tV31Zabqw9XVmxNrUjWlRTv
xVnr5vvV52zKjwPfl3bsBv7YC6K0nG5qg67Z6w6NnqlpWrmNXcxoZO/FfwyDxdhzpR8nLRZr6170
jFZ7Ybl+R1R0/EBV7XxNxkW/U3Xwrv8UPMrJUoZWUtGl79yHlh9ZabX37kKG7U5DF4KGwI9uqAa8
PnZu+Y4nt7+zLkSq8/dzGUphqT+9a5rDvq4bmlDT5Lj+QzIpH1UzQfhNzYr0ZJzVsZ2z3XjfB9n8
VZZs2FvR49Kmdke0ta+D2WzW04wLretoHRV58JDTxl5nZHoD3chG5rSqPgfLpcpfyxfZLP4s/OBZ
xE1tHOr1eBWGKgOzlhoCVJFZEC42EetRyeLSOWg708rI9XR9sOxH1aU7lQqydff3v7hxUiq/dTR6
kPEkvI5UoOdG820NN/4sUA1sTauWasLLDYl0k/olZq4nxbuzd0J11nGjx4YjdVznqtzlXP7ZCeBS
YNWE/vtQEur9NAnrGGx7krWhCk7yK+BoFG6WwmCxTEo6FUUCv1jL3cq2ZRSprrwX9no+hWovSibS
jQprmmmYSYVZVWrollZsz6+fsoUrO5rhrDvVOgXxyWpdd3DpSp4zLNpnamzMgWFcXOj9vtkpnSAa
BvogdpmOc90JpbT0v5Z3Y/j9vefa+G7ek4zaaS+MbFfNeR39ZHALHlWk3tN6jtEbqLAXLgONhCd7
Tb/OjHb75v9wtIezqa41neHVmIXxlzXlserEg8yd5w9c6oTSimVdbPlyRzO7Ru28T+WD6+fCb4pT
8XsvbWryZb+1xiuLdWacuKDu+pn7oZoZJ4OWnF52WSme3XieLaf5tVTvD8XuKlDsVrpkhnsXmmY4
04F1MbQtZ6Z3WsdP7PpocxvSblYMSOm88OvyIbQc+TcpHekccz7o9jW1DMnniu1v78LzxLNW7lo9
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
lYbAqz228lLqDipj/fF74eHOe+oWKN+hWz9rv57rw1q+8NeHtPNe50CD6i/h2xLU7Cx7xj2wGmQ+
LFK7ztzzfh1G+bTx9RTAKwdUTrD55XMUv3/ZxS6bbRbYmKul35VllL6i7ueeF3y79Dsrf39i8tNO
O+2000477bTTTjvttNNOO+200769qK/zft58xHeJ3zzjU+arr63mp+0fRenA1j+LrQ9qt1+6Dg3a
8sdHlK706ucnJw2/iHbrhH5NJrfhXT79W/j2LKPnL780z3PaYqDy28onev+OZ2H+1zD/EGa3k3np
j1tFVKz+IPYqph+ebJRn83FWXLTbbPVXt715vnqqbYjj+UJveE3blVM+xXvr+et/0f5JVo9tRvLo
uHbqZ5WDG7SPaw6qAX9/WPTwObyG87PvvUDP037WCuPxAcwzzzzzzDPPPPPMM88888z/75qH2rLR
stGyUVArJ8oJ88wzzzzzzDPPPPPMM88888wzz7wFuwX7/9uC3QYdWn8V8lch7UK70C4EtaAW1ILa
6oN55plnnnnmmWeeeeaZZ555y0bLRstGy0bLRkGtnCgnzDPPPPPMM88888wzzzzzzDPPPPMW7Bbs
/q2QfysErb8K+auQdqFdCGpBLagFtdWH1QfzzDPPPPPMM88888xbvFi8WLxYvFi8CGrlRDlhnnnm
mWeeeeaZZ5555pm3bITastGy0bJRUCsnygnzzDPPPPPMM88888wzzzzzlo2WjZaNlo2CWjmR48wz
zzzzzDPPPPPMM88888wzzzzzFuwW7BbsFuyCWlArJ8wzzzzzzDPPPPPMM2/xYvFi8WLxYvEiqJUT
5YR55plnnnnmmWeeeeaZZ555y0bLRstGy0ZBrZwoJ8wzzzzzzDPPPPPMM88888xbNlo2WjZaNgpq
5UQ5YZ555plnnnnmmWeeeeaZZ5555pm3YLdgt2C3YBfUglo5YZ555plnnnnmmWeeeYsXixeLF4sX
ixdBrZwoJ8wzzzzzzDPPPPPMM88888xbNlo2WjZaNgpqQS2oBbWgFtSC2hRpimReOVFOlBPlRFAr
J3KceeaZZ5555plnnnnmLV4sXixeLF4sXgS1csI888wzzzzzzDPPPPPMM8+8ZSPUlo2WjZaNglpQ
C2pBLagFtaA2RTLPvHKinCgnyomgVk6UE+aZZ5555pln3hBqCDWEGkIFtaBWTphnnnnmmWeeeeaZ
Z97ixeLF4sXixeJFUCsnygnzzDPPPPPMM88888xbvFi8WLxYvAhq5UQ5YZ555plnnnnmmWeeeeaZ
Z96y0bLRstGyUVArJ8oJ88wzzzzzzDNvCDWEGkINoYZQQa2cKCfMM88888wzzzzzzDNv8WLxYvFi
8SKolRPlhHnmmWeeeeaZZ5555i1eLF4sXixeBLWgVk6YZ5555plnnnnmmWeeeeaZt2y0bLRstGy0
bBTUyolywjzzzDPPPPPMG0INoYZQQ6igVk7kOPPMM88888wzzzzzzFu8WLxYvFi8CGpBrZwwzzzU
yolyopwIauVEOWGeeeaZV8gVcoVcIRfUglo5YZ555plnnnnmDaFQG0INoYZQQa2cKCfMM88888wz
zzzzzDNv8WLxYvFi8SKolRM5zrxyopwoJ8qJciKolRPlhHnmmWdeIVfIFXKFXFArJ3KceeaZZ14h
V8gVcoVcIRfUyolywjzzzDPPPPPMG0INoYZQQ6igVk7kOPPMM88888wzbwg1hBpCDaGGUEGtnDDP
PPPMM88888wzz7zFC9QWLxYvFi+CWjlRTphnnnnmFXKFXCFXyAW1cqKcMM8888wzzzzzhlBDqCHU
EGoIFdTKiXLCPPPMM88888wbQg2hhlBDqKBWTuQ488wzzzzzzDPPPPPMW7xYvFi8WLwIakGtnDDP
PPPMK+RQK+QKuUIuqJUT5YR55plnnnnmmTeEGkINoYZQQS2olRPmmWeeeYUcaoVcIVfIBbVyopww
zzzzzDPPPPOGUEOoIdQQKqiVEznOPPPMM6+QK+QKuUKukAtq5UQ5YZ555plnnnnmDaGGUEOoIVRQ
KydynHnmmWdeIVfIFXKFXCEX1MqJcsI888wzzzzzzBtCDaGGUEOooFZOlBPmlRPlRDlRTpQTQa2c
MM8888wzr5Ar5Aq5Qi6olRPlhHnmmWdeIVfIFXKFXCEX1MoJ88wzzzzzzDNvCIXaEGoINYQKauVE
OWFeOVFOlBPlRFALauWEeeaZZ14hh1ohV8gVckGtnCgnzDPPPPMKuUKukCvkglpQKyfMM88888wz
z7whFGpDqCHUECqolRPlhHnlRDlRTpQTQS2olRPmmWeeeYUcaoVcIVfIBbVyopwwzzzzzDPPPPOG
UEOoIdQQKqiVE+WEeeaZZ5555plnnnnmLV4sXixeLF4sXgS1cqKcMK+cKCfKiXIiqJUTOc4888wz
r5Ar5Aq5Qq6QC2rlRDlhnnnmmWeeeeYNoYZQQ6ghVFArJ8oJ88wzzzzzzDPPPPPMW7xYvFi8WLwI
akEtqAW1oBbUgtoUaYpkXjlRTpQT5UQ5EdTKCfPMKyfKiXKinAhq5UQ5YZ555plXyBVyhVwhV8gF
taAW1IJaUAtqU6QcZ145UU6UE+VEORHUyolywrxyopwoJ8qJoFZOlBPmmWeeeYVcIVfIFXKFXFAL
akEtqAW1oDZFmiKZV06gVk6UE+VEUCsnygnzzDPPPPPMM88888xbvFi8WLxYvAhq5USOM88888wz
zzzzzDPPPPPMM2/ZaNlo2WjZKKgFtaAW1IJaUAtqU6QcZ145UU6UE+VEORHUyolywjzzzDPPPPPM
M8888xYvFi8WLxYvglo5UU6YZ5555plnnnnmmWeeeeaZt2y0bLRsXC0bbROhtSG3IdcutAvtQlAL
akEtqAW1oBbUglpQ21HLceaVE+VEObGjtqOGVqPWLrQL7UJQC2pBLagFtaAW1IJaUAtqO2o7auaV
E+XEjlr7gFaj1qi1C+1CuxDUglpQC2qrD+aZZ5555plnnnnmmWeeeeYtGy0bLRstGy0bBbVyopww
zzzzzDPPPPPMM88888wzzzzzFuxQW7D7t0L+rRC0/irkr0LahXYhqAW1oBbUVh9ynHnmmWeeeeaZ
Z5555plnnnnLRstGy0bLRstGQa2cMM8888wzzzzzzDPPPPPMM88888xbsFuwW7BbsFuwC2pBLagF
taAW1IJaUAtqQS2oBbV1n3Uf88wzzzzzzDPPPPPMM88888wzz7wFuwW7BbsFu6BWTuQ488wzzzzz
zDPPPPPMM88888wzz7wF+38F6h/3OMqvr8fzncpVvhtPJsPlz0uHrl715qDZPL8pXlenHx/2+oPe
UbffjXvd6jGjST4L1YM6x0f96kHXybfLMFwceXZ/GR8/onfQ+Endn2Xzu+WJ0rY9//oiD5NsFCaT
1dGVi3L/3nZ3/gNQSwMEFAACAAgArzI1SZ0i5R7xDQAALUYFAC8AHABzdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1jdXJzb3Itc3RkZXJyLnR4dFVUCQADWoniV1qJ4ld1eAsAAQT1AQAABBQA
AADt201v29jZBuC9V/4JxGzGBmYAfftjl8hxYaCt0yTTvSzSiRqZdCk5mWz623tEWRJpibSdZDpt
51oUbyNTpExe59Z9Hr+9OHv5Nsk/JfnpaTyaj65Gs2SYpWkynk+ydDjNZkkc/Ry1e62jbq/fPe70
e61Wa++XdPLPu+Ti7OXZ1ntOT8cP3n+eZzfD6SRJ5+FM+9WzdU/6nb2Dm9EkPYy2TvroqQ7KZ+qc
DA4bTjW6yvL5u3yUzkbFCRcn2LvY/PbZbZKevXyThPfN5sNROk6m0yTeO4ivdp7uNsmvs/zmxa6z
7jh899mLo/+S3GT5l3D0y9H44yR9/3ae5Q2ft/RScdp8tPiv7yY3SX4+ycM5D1q/Hl1fX/dbnePr
3rh1eH+B8tkr5ygudHC4de5xdnMzmV+myxtU9zHz8PKn5PLqH+ExFS+dZ/nfk3y2eGQfRun7pLhD
i5NviLzLVjd9eY3SZe8vUzpfcJlMk3nyJhlnebzr56M4rv+hN/8n3/w5n8zLus4n6WT2ISyj0kLb
fuZb62WHw8aQeHDCYqnUHx9P4tfPW72T9FP2MblcLbYXaVx6U7H0DpqiJ2t4Y7FmG94b1lA8TVb/
Xn+EWfio7z4keRKNwn/a3V7veNBud1pRyJk4rM7FDT8PlwkPaPVIV+dYBcmu9bj7yIaf7vjEWy8d
HJYy6aTVjVuHjc/n/lcuLvZ97kz/qN1Z35nnnep1dnsbQnWURuun+FOUZp+jedM1HvvUw7s8D19i
6ys1vOH+i+b+Hcu7sn7fUnrNV9TycZXjeu/t3/4cFuhWiL9P5pf5q1l44zQs19UZLtLrLFxgVQvC
lWrevn2hqHgp/Cu6nkyT6Mf9H6PwYePJ7GPzujzb/sjl5Fh0gK037nqg/3oMYXtQIKxbBqtPsr5G
OPCy/BW++OJbfpdnN7eLI+Mdh2Rp9Sxv78bjZDYLH+XnaLx8ntGn5XdlNJlValGv01uccH2qcOtu
R/Pxh1ef1t2n9DXfvWodVlb8om7U/XJFFSmt4ehgP9yb3lGnc3LSHgx6h1utqOFGP7rYk+I+1zWi
rfb4vdZ75/i3X++la/xm630harPaK3e2G5553dJf3NzKegzvbPdb/bjTPwpv+8YYaFzClw8u/X2e
aHfQ+x3v9vH1VbvV9A0f7lk+r9Texn5T2S3lyWie1L13e8fU6nU7tc/9Knk/SUtvv6g+iq+tNjVe
Hl6tsVksZTwzUDefs/SPcJnh4qYtvl42KqPPk/mHdZyWs7Q9OI42G8lok3SLJ9w/abU68dXR6OR4
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
ZWZldGNoLWludmFsaWRhdGlvbi1wcml2YXRlLXN0ZGVyci50eHRVVAkAA22J4ldtieJXdXgLAAEE
9QEAAAQUAAAA7dxNc9pK1gDgvVf5CSztqrlVgLFje+eLb2ZcUzOkksy7x0hONMGSR0B8s5nf/gow
IKEPsOPc8a16FlmYPqe71f0cIQfa11e/fgzTb2F6cREMp8Ob4STsJ3EcjqZREvfHySQMWr+0Or32
2+PeyfFZ96TXbrcP/hVH/5mF11e/XpVyLi5GW/nv0uSuP47CeJr19KbY2/H5Sffg8G4YxUetUqc7
uzrM99Q9Pz06qOgjir8lX8PBfZgO5x1dxsGndBhPhotuP0V3YXp4dHC9WYbkPoyvfv0QZv1Mpv1h
PArH4zCo6rk6cj6zF++vfomShgt7F6XZSLm5jOarWOqkai7/Lb12eNQ6bP/+9vb29qTdPbvtnLaP
lhf6LhsxSb9ngMJxOA1X8at12ND4lKypVUY2tFbMsHmC5+3jYDHB+pX7MoyDcXi1GGx32OPPa0eT
bF6fvoRp2Bpm/zrHvd7Z6cnbTreVbWIQxZ8PntbV++T+PtvrYdxab+hfWnHy0Jo2jbFr1v1ZmmbF
sh6pISELuU3Su8eM5aqs85YGg5vKzOV2/Tocfc2m9DGj0LSaQRRcleN/BtHz9oZopcHVTNZjZIGD
fAleXKSPtZjc3c8jg4qQJC728nE2GoWTSTaVX1qj5WK2svEm81WMJoV7X6/bm3e47iqIJvfD6ejL
b9/WN7hcwR3ftI8K5Ta/XdRd3OJWkiug1uGbbG16b7vd8/PO6WmvfMdrWOidlRYu1rnujlZ6i3ip
Yuue/fxiy43x04ptLmpTaoWVPc72vK7u5oubr6J5ZuekHbTDk7fztKYaHGzlvsyWHJ/2/ofLdXZ7
02m87sl0mE7/b1mL/WwSn8PcG+aOZ5o0HE7Dutzyc027d9x99sNI3YbfhJ+jOBd/XdzCf4R32X0h
y8i/Ws76oWeJF2HS6XTbayb1d+dB/ra03715M53cD9kM+vPty0ZrrZ5xs/16iKZf1nfm/G25c3rW
2jx4tjY3zbm1k/N2uxvcvB2en42GwW3n6GB/Ysv3otwLi2luOap8i/nX/ed0GIT/DMMgDPZ5azk+
bWd3tPCh4vVnvOXkHsgXdTC4+Xe2OMubzi/ZW0vrzVHpykqRpYi1to2vwui9UXuPbgfxkkwdpMp5
1DeWZO+4qIbfXcqxNXW9ur2VEmoqumoThsG8mlqDjyvZ11etk9OT9tlx7zzb82VP+W4K15Vl/zN8
yPWY3YV2p/z2ezSZV1V5yrlXLi4e0miaz/04r5HGe0lW/O/r1uSJG9Q6HA3H45vsKo6a7/DZmP0q
KjU3p/5O3lVBeawvUAvJ3V00LRboQzQe9xevN994fmDAnRW3PXyh4kqNOzZ0eY1N/0WwfbFNv6us
Sq0yqa7cGoJry2OZtC6jxoJ4F8XR5Mu+FVE5m30W8UmlUDVK8RGnk/0i+iP/31JXWFV6SoVVIb9y
1m9qYgbp5U2S7qiR22hesasHjNf33LS1Krl38oqHiPnFPP5uenk7DdPCQ0r/UevqAeTZzwfThn2r
ftYphGRjDm/GWTHsusesA7egVM4kG+oyCOa/8GU/fgtb0+Y7Y/GeXqjc+9lcThCUkh4fRt/n2iVK
lChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlCgxfTz62Z+lkySt
Sx0UImq+a788ePC3+TfQo/hz7cnI3PGNyu9dNx4mqMqo+DsQZ+2zqsMEYZy9Mgt3Hnd4+p952Pvy
qwfcOi/R0FXVxZ6dNZ/1aOjuR679x08A7ZX0ug5K1Pe4OA4wLBzF2TpS+9IneB+PH13uHHjfs7z/
w0N6r2svNwekLn/arjYfsspmsBr6et+z9a/rwPViz3ecvFrElA5VbWe+1IHD1RvkruNA+TfS0mvN
27YOa/jzA+uQ5rJev13XVO/yD6V8WNzFK0pwv+ZwlKS1I2T1XggodLBp3KeM3j9t+fKHC+uFva97
4Mm15fc6dwT+8ezaE06n9TrtIwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHE
EEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBD
DDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwx
xBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQ
QwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMM
McQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHE
EEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBD
DDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwx
xBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQ
QwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMM
McQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHE
EEMMMcQQQwwxxBBDDDHE8MUZZklxf5ZOknQXxE1knmLu1ebVzAXW71E+qBnkYBNZAybZjsiJWb5+
cVHT0HpThezbcDwL3yXp38PvezEbPH1p9qM2KOzENrZB9Y4+XvEknP41nH4IJ7PxnNVolqZzYF/D
79lFvxTL1WCjJJ5GcbZos3gxv9bhNFkOVYYYTed6w5rrepbtQpe7eJfGr25o3slibD2Srbhm6teF
4BrtUUVQBfjHsNZqH17C+fVzF2g/7deNMLYDmGeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnm
mWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555pln
nnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ555
5plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZ
Z5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWee
eeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnm
mWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnvk/gfnCEgbhOJyu2Zcm
nS67vlpEfQhHSRq8orIJctPaVTXB1iVUvt5MohDa4K0Q1lwxhYWtKZjH/obx57CqCPZrzo+gXbt2
7dq1a9euXbt27dq1a9euXbt27dq1a9f+52nf50PAq+d94LPfR4DbH5RtfwJ4VfOJ1Yt8sOdz6D/i
c2gfNO/rcbMy0838StMt/jzvrBSSjTm8GUeTL7tIrgM/FQesnEk21GUQZGUx//FbtsO5pvIckg2N
0ofo97PpIM36qvv4/H2uXaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIl
SpQoUaJEiRLnicl9GNd8KfwxdVAf8awDA6Pk7i6aFr9i/RCNx/3F65+2v1Hd+D3t0tfkN9/wrs5Y
fPH8l1an13573Ds5Putm/9pnBxXfzA/j7JVZuP0986pzBvG35Gs4WK3FZRzkkhYrc/hCZy1+YL13
fQ1+tL36DYcWkoZLXUyqIffLMA7G4ern9aJNssX99CVMw9Yw+9c57vXOTjudbruV4Qui+HNeQnmq
zaclHsHVz6nU4WKndxwY6Vcm1RwcGTUE5yMr5p3ZqTjC9JBG03z0uyjOoIf7HWeqnvo+i5g/a9JY
e9lglaMUa6/zttN9dkW9Lp/1PS6OigwLu3Ud5zf9R+4pNad9+uVqbtZ8uXOSFUeGlqPUmb8JP0dx
7aGaSiA7S2IYBL/9Hk2mWeOgeLimoufsDe8mSSsHaKylj9NhOg3Lb6W3GZ1BnPV9Pz+Qt1elXf60
vd9xCjEKVkNvjffq7upb884dEmvwvdiiTw0nxFYxJRrbmVXHtp7zLrt6ANv1Ppt/UCu91ryp67D6
fdiENJf7+nHwj/r7oaURskquP6C7adynyN4/bfn2Oy/5vu6BOtf2Ck/jYoghhhhiiCGGGGKIIYYY
YoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKI
IYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGG
GGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhi
iCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYogh
hhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYY
YoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKI
IYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGG
GGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhi
iCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYogh
hhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYY
YoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGxaS4P0snSboL4iYyTzH3avNq
5gLr9ygf1AxysImsAZNsR+TELF+/uKhpaL2pQvZtOJ6F75L07+H3vZgNnr40+1EbFHZiG9ugekcf
r3gSTv8aTj+Ek9l4zmo0S9M5sK/h9+yiX4rlarBREk+jOFu0WbyYX+twmiyHKkOMpnO9Yc11Pct2
octdvEvjVzc072Qxth7JVlwz9etCcI32qCKoAvxjWGu1Dy/h/Pq5C7Sf9utGGNsBzDPPPPPMM888
88wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPM
M88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPP
PPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzz
zDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wz
zzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM888
88wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPM
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
q1Gi5kdR5+0AvY1v9HihHtZdv6y6s/BTmmD/XZY791UoP2zh6/ug0iN4LH21b9/4v6i3p+KK/Wne
IryjOSobU+h72k6+VHPf42vYro6d/Gtd4b76bVsNq2mtXw2pP/NWr6i13y7ycXndTrK/D38JFj1B
wSRrDV30op43Ts92zJJ9j1A6zZfoW8UkZ41m5SSrbyKqn+HsfL+W2A9PW+t8s2A1xw9Vb2Byj+Vh
5LrSl71oT+g2azcbx8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMsss
s8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPM
Mssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLL
LLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyz
zDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wy
yyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMsss
s8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPM
Mssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLL
LLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyz
zDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wy
yyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMsss
s8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDLLLLPMMssss8wyyyyzzDK7CsWd
WTIZJbvUrkfm3eburV/N3MDqPcoPqtfbXY/sJFH6tOPboJ/dDh4G07sglRSk0eTbZfDq8NXBYmgw
mATXgzicDx6OHqIk0/T68HXQi8NgNh6v79kLUvfpT34/TN2Ntd7m1C3fs+yey8tJNP1zNP0YTWbD
OZx0UZI5oey8eTF4j8X6ozhd+ln0fhZnxxccTUeLUkVq6Zmd+owqntez9G5MuQtwoX75A/U7uTm2
GsnWuHrMVxuDKy6C+1Ze87x67vPaD+lV7X5uD0AVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVU
UUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFF
FVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVV
VFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRR
RRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUV
VVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVU
UUUVVVRRRRVVVP9jqHav/0gPfrmIYTSMpiuthYNOFlO/y0Z9jPqjJPyJtIe5w9qFPdx6CqX315PY
GFrjbWNYPfSNha1wvpyvF99G6Z4m2d+HvwSjbBuDyXxQcHrWPmm1Ly4ajYNOEqULGd/O9czpPgym
d0E6dZAeQvLtMnh1+OpgqXowCa4HcTgfPBw9REm2da8PXwe9OAxm4/H6nh3Hlh1/enDZ1pce2vn5
WaN+kt/j2SQKfxuOrt8PhsspJ+qqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqr
rrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq666
6qqrrrrqqquuuuqqq6666qqrrro/Xd19fh7h3fO+Cn+/H0fY/gmB7d9GeFfxXf4v8pMHfljj+T+s
8WN+T+DpCT/wsa/29cpM18dXONzN2/PJCkPSmr3r4WBytwv8auDnzYKlR5KWehuG6Uk3v/k1CvIP
FY9htP61ksKPl4xn026SzlX1syUfco8LCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCs6Do3EUV3wofBntVo94VjtCf3R/P5hufsT6YTAcdrL7P29/orr2c9qFj8mvP+Fd
nsg+eP5r0Gw3zk/apycXrfRP4+Kg5JP5UZzeM4u2P2de1sUQfx19ibqPa/E2DnOhbGWOXqiT4zvW
e9fH4Pvbq1/TtDCqearZQdVk73pxOIweb68WbZIu7ue7KImCXvqnedJuX5w1m61GkOKbt1iUrfu0
9yX6S/T36cdZHKcbvbVVy76QZQfSKB5+Cyaz8XiUTCdBM//B/V+yho2HtPIwiXrht+Cu9zU9hLy9
4uLU92csiVevQmHCzNaOBphOaaiiEaZfP/hph7vuUik/hn1WI9+mUnvapsVKq2yets3zZuvZJ+PP
Rbt6xqzLpDfNL+dVnN/n77kcVTQKdYoXgnqWb3ceZEm30aJKFd7r6HYQl3T4bIiseL0oGZO+8l2n
5/3n2madm3R3u3EaGM+b+fY6Gd7+sO3Z0cE4CB9Lb9X7uWAX9z3XAlZD8NO0t7FbZYCyMYX93k6W
NWU95zX08e3VrlfR/Nuwwn31m7oaVr0P6yH1Z+TqzV59x24vvo3SLUyyvytadhunZ9/d93vWaFZO
0gvDfWY4O2/tdUZ+eNpa79c6+aHqvXXusZ+w7ZdZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZpllltl/f7NpKO7Mksko2aV2PTLvNndv/WrmBlbvUX5Qvd7uemQnidKnHd8G/ex28DCY
3gWppCCNJt8ug1eHrw4WQ4PBJLgexOF88HD0ECWZpteHr4NeHAaz8Xh9z16Quk9/8vth6m6s9Tan
bvmeZfdcXk6i6Z+j6cdoMhvO4aSLkswJZefNi8F7LNYfxenSz6L3szg7vuBoOlqUKlJLz+zUZ1Tx
vJ6ld2PKXYAL9csfqN/JzbHVSLbG1WO+2hhccRHct/Ka59Vzn9d+SK9q93N7AKqooooqqqiiiiqq
qKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqii
iiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooq
qqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqo
oooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKK
KqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqqqKKKKqqooooqqqiiiiqq
qKKKKqqooooqqqiiiiqqqKKKKqqooooqqqii+h9DtXv9R3rwy0XsD6Ne8ViTxYyd+YO54T8R9P7W
oe2y3i95KpWP1csoDK+mVxxa776w4BX0t+dN93qU3Qom2c3Ts/ZJq33xptna67zofN8C5M+OQnK9
GVnFUlLlp1PZ0O0zqlPD4EVOFpfk51+SO0mUrlZ8O7+OzS+iD4PpXZAmg7RE8u0yeHX46mB5fR1M
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
dSy9GKMLE2tZf7i0/9AehBsc9B4ag4ewpM/a3U5QWGXEkwSebP3208vhzJaG9EXdfdu5oZB7ge4F
RuGGrpvSNc/t1FWZm37bdT0Ar3KzNgeSt3FfF3ALuxuNvy+Ev8Mw5nBAedd9DD52Br1W0P9Pa3D7
+xAiQ4VQMiVTMiVTMiVTMiVTMiU/swBvMQ8nUTIlUzIlUzIlUzIlUzIlUzIlUzIliyVTMiVTMiVT
MiVTMiVTMiVTMiVTMiW/1ljy2hbOtPUGAt7+TBqUTMmUTMmUTMmUTMmUTMmUTMmU/COUXMyD0EVE
pFeM9q7k8VURWwzH5+j7bKcBy/bm8xT9lpS82wXJ7MzO7MzO7MzO7MzO7MzO7J7/LvL5b5FtkW2R
bUqmZEqmZEqmZEqmZEqmZEr2/PfWPiy1+19SpGRKpmRKpmRKpmRKpmRKpmRKpmSfVE6KD+e0NSVT
MiVTMiVTMiVTMiVTMiVTMiVTsliyJ64pmZIpmZIpmZIpmZIpmZIpmZIpeSaXTbW7bhaKJVMyJVMy
JVMyJVMyJVMyJVMyJVPyq5xxu4iZvjKjvevOpl3QNNr55ulei+OUTMmUTMmUTMmUTMmUTMmUTMmU
bI7rvHNcL9N0MQLehL5iyZRMyZRMyZRMyZRMyZRMyZRMyZTsvWRPXFMyJVMyJVMyJVMyJVMyJVMy
JVMyJVMyJVMyJVMyJVMyJVMyJVMyJVMyJe/eE9feS6ZkSqZkSqZkSqZkSqZkSqZkSqZksWSxZEqm
ZEqmZEqmZEqmZEqmZEqmZEp+SUr2JShKpmRKpmRKpmRKpmRKpmRKpmRK9iWo7X8JKvez05sGrefo
m0PrlEzJlEzJlEzJlEzJlEzJlEzJlOy9ZF+CEkumZEqmZEqmZEqmZEqmZEqmZEqmZEqmZEqmZEqm
ZEqmZEqmZEqmZEqmZO8lm72LkimZkimZkimZkimZkimZkimZkr2X/IPeS/YlKEqmZEqmZEqmZEqm
ZEqmZEqmZEoWSxZLpmRKpmRKpmRKpmRKpmRKpmRKpuTnFEv+7l+NomRKpmRKpmRKpmRKpmRKpmRK
pmRKFkumZEqmZEqmZEqmZEqmZEqmZEqmZEo2x7U5rimZkimZkimZkimZkimZkimZkinZ7F1m76Jk
SqZkSqZkSqZkSqZkSqZkSqZksWSxZEqmZEqmZEqmZEqmZEqmZEqmZEr2XrL3kimZkimZkimZkimZ
kimZkimZkimZkimZkimZkimZkimZkimZkimZkimZkl/sE9e7/F6yJ64pmZIpmZIpmZIpmZIpmZIp
mZIpWSxZLJmSKZmSKZmSKZmSKZmSKZmSKZmSt6/kteWb09ZrTT09AzUlUzIlUzIlUzIlUzIlUzIl
UzIlU7I5rj1xTcmUTMmUTMmUTMmUTMmUTMmUTMk7+sQ1JVMyJVMyJVMyJVMyJVMyJVMyJVOyWDIl
UzIlUzIlUzIlUzIlUzIlUzIlU7JY8i7EknPQd4MXoCmZkimZkimZkimZkimZkimZkimZks3eRcmU
TMmUTMmUTMmUTMmUTMmUTMmU7L1kSqZkSqZkSqZkSqZkSqZkSqZkSqZk30umZEqmZEqmZEqmZEqm
ZEqmZEqm5Gep5Dx4LWKmr0zHrmTtFaPCxcSbvZdMyZRMyZRMyZRMyZRMyZRMyZQsliyWLJZMyZRM
yZRMyZRMyZRMyZRMya9SycW8LLsrsnpF8e8MF+34fGQ5xP5cSnqXRb8lJe/2jQNmZ3ZmZ3ZmZ3Zm
Z3ZmZ3aRbV9v9vVmkW2RbUqmZEqmZEqmZEqmZEqmZJFtkW2R7Xxi36T4ComKv67I9s5dgZid2Zmd
2Zmd2Zmd2Zmd2ZldZFtkW2RbZFtkm5IpmZIpmZIpmZIpmZIp+VUreWPtrpuFO/OG88t6SoGSKZmS
KZmSKZmSKZmSKZmSKZmSX/T832tHgXNGqtf6eBUlUzIlUzIlUzIlUzIlUzIlUzIlU/LOfiXLE9eU
TMmUTMmUTMmUTMmUTMmUTMmU7L1kSqZkSqZkSqZkSqZkSqZkSqZkSqZkSl5dyat7txhJJ9J3g0e7
KZmSKZmSKZmSKZmSKZmSKZmSKZmSxZIpmZIpmZIpmZIpmZIpmZIpmZIp2RzX5rimZEqmZEqmZEqm
ZEqmZEqmZEqmZLN3bTp719oR48wI9AZxYkqmZEqmZEqmZEqmZEqmZEqmZEqm5B2c49p7yZRMyZRM
yZRMyZRMyZRMyZRMyZQsliyWTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmU
TMmUTMmUTMmUTMmUTMmUTMmUTMmUTMmUTMm+BOVLUJRMyZRMyZRMyZRMyZRMyZRMyZT8A5WcB7lF
iDpTvyv52exdlEzJlEzJlEzJlEzJlEzJlEzJlCyWLJZMyZRMyZRMyZRMyZRMyZRMyZRMyd5L9l4y
JVMyJVMyJVMyJVMyJVMyJVMyJYsliyVTMiVTMiVTMiVTMiVTMiVTMiVTsljy2rHkDV4XnjFcLJmS
KZmSKZmSKZmSKZmSKZmSKZmSPXHtiWtKpmRKpmRKpmRKpmRKpmRKpmRKpmRKpmRKpmRKpmRKpmRK
pmRKpmRKpmTvJXsvmZIpmZIpmZIpmZIpmZIpmZIpmZJ9L9n3kimZkimZkimZkimZkimZkimZkin5
VSk5t3c3fbR7jr45EP2cvPk8Rb8lJe92QTI7szM7szM7szM7szM7szO7t6SLfEva898i2yLblEzJ
lEzJlPwilbyNBaRN2qRN2qQtOv4cnyEXHRcdf/nR8ZxjrB83yHBZd1lf/6K2+5853Mnbl7Gl/UH3
PlG+FlhQ0IKkBh22jM70ts5ZvdMI2u2EF/dk4LYWzDqep19nPXqtWj6oxtM02t1+EE9UOT2pxRPd
1f+6Cs6GKS+eRgbzaxwcpXb4C5ef0YbUEAss2EJH/H9QSwMEFAACAAgAwDI1SSoBqGxRDgAAWWgE
AC0AHABzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXN0ZGVyci50eHRVVAkAA3eJ
4ld3ieJXdXgLAAEE9QEAAAQUAAAA7d1NU9tIGgDge078BNVcBqqSKtsYY7glZDJL1daQnWT2bixB
vDEya5tkctnfvu0PbBlLsj14CJDnMDWF1OqWut9u9aOWldO3bz4k/S9J//i4d52kb9/8nvz3JhkM
T1ppO+l2k/jFH2knbDl9++Zta9g6bw2SopTRq2jnxek8v3ia/qSXpkl72OmlJ93eYJyuWq8c7tcP
9pu1g3qlUlkuY37M8XH7zvHv+r2rk24nSYejEhdz2z86qL3YvWp10r0o58RXZLWbzal21NjLu/hO
+qX3OTm7TvqtUUav0/hjv5UOWuNsP3aukv7uXrYatlKtxZfUKzmRd51+KKn42E+tNO4mt3/PLmkQ
ivz4KeknUSv8V92v15uNarVWicL5xZ30cnR170Ixvf630MpJNxnO8riNgXn7fezN4iE3ZcnenDNe
2rS7F+1W/jy8uLg4qNSOKvtxZa+0uqaXPC5sOzVzcFitzWpms6ze966vQwO30mjWii+jtPc1GpaV
seqsT276/RDRs5JKDghJLnr9q+kRk1qZHTcJvPg898hJc71ptT+HU/oQQiF58eFf/+wMR6myW4+P
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
0RAN0RAN0RAN0RAN0RAN0RAN0VaifVgMoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEa
oiEaoiEaoiEaor3ODdEQDdEQDdEQDdEQDdEQDdEQDdEQbSXaSjREQzREQzREQzREQzREQzREQzRE
QzREQzREQzREQzREQzREQzREQzREQ7TXub3ODdEQDdEQDdEQDdEQDdEQDdEQDdEQvbC6vDaM/TvR
EA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REO11boiGaIiGaIiGaIiG
aIiGaIiGaIiGaCvREA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REO11
boiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIh+CojexLXbePW7AMYb
UhyiIRqiIRqiIRqiIRqiIRqiIRqiIdpvov0mGqIhGqIhGqIhGqIhGqIhGqIhGqK9zu11boiGaIiG
aIiGaIiGaIiGaIiGaIj2OrfXuSEaoiEaoiEaoiEaoiEaoiEaoiHaSrSVaIiGaIiGaIiGaIiGaIiG
aIiGaIiGaCvREA3REA3REA3REA3REA3REA3REA3RVqIhGqIhGqIhGqIhGqIhGqIhGqIhGqKfy9e5
rURDNERDNERDNERDNERDNERDNERDNET7J64gGqIhGqIhGqIhGqIhGqIhGqIhGqK9zg3REA3REA3R
EA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3RXueGaIiGaIiGaIiGaIiGaIiGaIiG
aIj2T1z5sBhEQzREQzREQzREQzREQzREQzREW4m2Eg3REA3REA3REA3REA3REA3REA3REA3REA3R
EA3REA3REA3REA3REA3RzwjRz+tLV+D/l18rz6JuE+o/lcYA/g3Aj/RIj/RIj/RIj/RIj/RIj/TW
xa2LWxfHZOviEA3REA3REA3REA3REA3REO0zZz5zBtEQDdEQDdEQDdEQDdEQDdEQDdFWoq1EQzRE
QzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQ/TTep0boiEaoiEaoiEaoiEa
oiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiHah8UgGqIhGqIhGqIhGqIhGqIhGqIhGqIh
GqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqIhGqJ9ndtvoiEaoiEaoiEa
oiEaoiEaoiEaoiH6aSN6QxivDW6IhmiIhmiIhmiIhmiIhmiIhmiIhmiIhmiIhmiIhmiIhmiIhmiI
hmiIhmiI9jq317khGqIhGqIhGqIhGqIhGqIhGqIh2ofFfFgMoiEaoiEaoiEaoiEaoiEaoiEaoiEa
oiEaoiEaoiEaoiEaoiEaoiEaoiEaoh/p69wQDdEQDdEQDdEQDdEQDdEQDdEQDdE+LObDYhAN0RAN
0RAN0RAN0RAN0RAN0RAN0T4sBtEQDdEQDdEQDdEQDdEQDdEQDdEQbSUaoiEaoiEaoiEaoiEaoiEa
oiEaoiHaSjREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzREQzRE+yeufJ0b
oiEaoiEaoiEaop8Noh9iB4iDOIiDOIiD+I8J8cdH2qf50OCBIP64G/IhZlDfbwrhFvpsb6HP61sZ
j/Ix5cLeMI29zgWqHaU78oI0tHY6e6Jw0krbSbebxCowd8c80Kdb5yNIvVbZry2maXd7g2QxUfWo
WV9MdNX6dp6cjFKeTm8pd4/YbxQOMEvD3TgjrWeHHXb8cPeN/wNQSwMEFAACAAgAwDI1SUiL2HHH
BQAAOiUAAC4AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1zdGRlcnIudHh0
VVQJAAN3ieJXd4niV3V4CwABBPUBAAAEFAAAANVaS3OjOBC+++SfoNvYVZMqXsbYN8dOaly1tc6O
M3vHICdMsPAKkkwu+9unBQYESAJip2bmkEoh+qV+fN0SXq+ut5i+YDqfR0dMVtdf8X/POE6WLvFw
GGJ/8I0EsLJeXa/cxN25MZZRois0HKxLef6JfhkRgr0kiMgyjOKUTre0qWlNTMeYWJqmNXWUPPO5
V+O/pdFhGQaYJExjVZo5mxiD0cENyBgJDG8RNeIlGTN7LNp8QF6iJ7w5YuoyQQvi31OXxG4q9j44
YDoa8264iFvlW4oUhtwGFDRxtnhs1w0hIlv+b6yNxmik/Zju9/uJZjh73dbGWbxvQWNE3yDgOMQJ
zunzdChDeR8VqSGkVLwVWKg2cKaZfmqg3HOPLvFDvEqVtZOdnou4x2DX/SOmGLnwp5uW5diTqW4g
CKIfkIdBP1F30fEIsXYJKgL6GZHoFSUqHW1WL58pheQuNCkYgGQf0cOJI/NKwZfloL8Tcmbhuna9
JzBpC6mAB9t//goSRsWvzucPONnQmxgYwyB+zCWsyT4CBTlcgCYJe1MRSpfgCe2DEKNPw08IjPWD
+EmxUz/wV02TP6JKZlpZJcIyyC0pdADhhkeB+Zye4CA6HBmlLyCJSFXK9tnzcByDKVfIy+KJQF/M
AhnEFbi0DIsJLESB645u4j3evBSYyNW8udPGlYpniCXbXIpmXA2j0RB8Y00NYzbTbdtqgqTC0a3F
jlM/y0C10VUuVe+G8/H1zun4sHpnGVVWe8WzJsRcVvrMuZV6BE59ok18YzIFtjNhQFnCm5rqy0TU
tK1f6G1nv9OZt6ViwGc0+Tcr5SUY8YC5lt8yRVHsJljG25ykNMs03j3+yPJlhx8CwtGvSZe2UedS
ThZZZvQE1NJC7gHULJnTWHspsxK9BsljAac8luq2g8oBE5VIxyI8mWma4e+m7szxXH+vjwfdA5vt
lltIzRQ4pNEXvh0fqOvjvzH2sd+lH5i2BjCEXwXrZ82gFylOXTe0ojj7dy3uGJDWwmb3HUKV4dYV
dCc0HDf83KBM3Vw+QmU/A5gtfL/BesqzO9n7wmmlmypmW57WwZ4NyTJfVg/CDchfNgLU4g3FUatJ
KwGFHBsbDBI4EEXP9VlSoM02L9D1Ck1sgDDLcUxD3UnuZPp7OgONPDcMd2DrWA3FoHMpCosEz4S0
FVNERHxinJ93eZa3pRtfDY01tT8LMkUXLUjUqVTUnCSDnvDbzY8gTuI1qaYRvEDDzyhKF1GcrmZp
NDUgjZTnkq8MtUEGTf9LpGgTu0UK9iLqK02x4VQhEwJ10EWCPe1WE3f9QsdXgDyfpYjIvePzjOtn
p5NND/C3dEE2vw96o8MhSKqN5DUIw2W6rm7XZyhsBfi6+grAN162YFq2R9UFWn2zqpuBHNmFTDJ0
VxP3M5dDd6HYLt7oBesiLdW5Wp/qxjnXirImIUqDRpMQpLDQ6qGEBmpzF9GWZN8HrPvk8/XvNzbW
vMKhh2CGZps5oc5in2BamdEzp6Rz9fCsgTRRxE086ldIcH6WbgOLgrCWKEJLQBUgMbukgMcXjBI1
xF1oRr7McO2yNG1itTh7JSV1GxDw1BeWaJA50lM3B7dC9yoxQ8Qh+KrhaI4IMzCBlWfcimr9P1p0
3r5YYQ0WFaJEm3UcNaQrxJ2z9/M7diem3wsP5RLTqoczhfy65tK3Q6dxYdGquM890Z/i7nJUWXyY
49XjDliQq153vVr9RS1cgthbdovWMgOlNI3xps55qRk+7UN5VwYfZV91T3NCLNuKW2tT7zgp3VAa
0XP4pLaokyhrvApUqXfgDueHhYin5xFQdl6WiJZOIR9+7OyEECKrO8Slz1FGpKN2kjF0+/094A+B
lEWHUlw0h02RAy9wqCo0tZxhOs3Qghk5TqJjJciWoZlG7fKcfR2vEukzx6oSHdy3HU5/Y7M+4Uyd
w7SlXpf8bkj5obn5A5ve1BXnnDwxlL/4CVBLAwQUAAIACADAMjVJ3FfLFdIJAAB61AAAPAAcAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFjdGl2ZS1mbGFnLXByaXZhdGUtc3RkZXJyLnR4
dFVUCQADd4niV3eJ4ld1eAsAAQT1AQAABBQAAADtnUtzo7gWgPdZ5SewtKtuVwHGr+zSuNPjmppx
qpPpWWOQYyYYfAEnnc389hFgQEJPO063u3MWXlg65+j1HUlIQsxnH+9Q+oTSq6vAy72llyE3iWPk
52ESu1GSocD4YFiOOR44w8HEHjqmaV78FYf/36H57OOM0bm68jv6N2mycaMQxTm2dElbG0yH9kVv
44Vx32CMKk31SEv2dNS/4NgI46fkES22KPUKQ9dxcJ96ceaVZu/DDUp7/Yt5Ww3JFsWzj18QtpPl
rhf7KIpQwLPMlyxydnJ74ipKJAW7CVOcEpEXv6hFxggvL/8yYb2+0TO/jVer1dC0JytrZPargt7g
FJP0BQOEIpSjWr6uhxaN+6RBjSspieXkUJ7BqTkIygyKa27txUGEZmViarH9/4ajDOfrfo1SZHj4
Zw0cZzIaji3bwI0YhPHDxWGmbpPtFre1FxtNg/7PiJNnI5elocq1u0tT7CxNShIFLLJK0s1eo6qV
Rq9iMFhyNavm+uj5jzhLdxgFWW0GYTBj5d8C0anZIsplsM5JkwYWXJAueHWV7n0x2WwLyYAjksS0
lbud76Msw1n5YPhVZRo4vayoxTCj+j7HdgqDjakgzLZe7q8/PTUdHOFwg6XZp9yt6C5EhSu7EsKB
jN4lrhtnbNvTqTUaOWyPJ6lopaehsp5FPRozRJzK2ezJ2zsbkcabOVtBVOtqVM0OcJuL/K6oXNKL
Ck1raAYmGo4LNZkPLjq6p2mSwcj5gdU1WS0tabmz3Evzr5UvujgTD4gYMBVzmhR5ORLpsvMa0xnY
woZboocwJtTndFMcO4f5A21wv4D1SGtsaq+aS5wEE8uyzQYTce+8ILslvb65zQ7xB+fALZoPp2bU
c1zcXs9hvm56ZrJbtkYTo514Gm2nWbA2nJqmHSzH3nTie8HK6l/oI1aNRURAmc0OR9wh5q/tQ+oF
6E+EAhToDC2DkYl7NPTMCT9iyCEm5KUfLJb/4MqpOp0PeGgxLvtMyRjJsmDt31piHgfoG6dmiFgm
ruG0JZPKt+ObGhlaxBVsIgS5JRBHMj6hqA7JUw8rK+hJ6o6RURD0Bbzm84LCD43FXe0T85kxHA3N
ycCZYloqS6QZqlxY+0/0TFhsOiKZyqdvYVb4I5tlipDnNMxJ3bvCu6S9EO42bkV1cmADGT3fi6Il
LkVfPjbgNF0eKoJujStLZYUnRMJ6Kl8onUvPCxo/5AXrVGwlqWJ+L6VDeyUq5ZwUEfU8enyXogeR
rSpvF9QDa/JwOJsWlGLJ72/p6BOjmGw2YU6PMs9hFLlluHz0fEWCSuy7yVPwM5GKhqvKKFvn6hZW
9sBd+wFXSeQREmEhz5VSw720b74J4zBb63bO3NzoVOJB4PNSoefp1tiyX7NoKHImHj2MS3HI5+b6
UiCzSK+XSarwkVVYDB71LPn8Jv+dWiGmo5yZcFGY/QLL9SpHKTXTdve01rPooye5uaTd+BN2SgSn
6S0j7AyqPqYR7IDCzQlO6joIilUL/PcJGbm8Z5TMu8O6j6dCt7uCpyBgTO2fs26J+NMoPqBcpPMZ
5V+Qn6QnUqpWKG92Mb9N9/rVOt7bmfCTXSzMvFtEGj1ap3++NiLkpUIbRaTsya9YuXJ3aZYITSwo
ifeoXE61VLx/9aId0ol/K2u/o5dzNqiJeind/4F6R8KRqAPPwNb3UMPYnELzZ7D4lpracwjdYVgw
P64eFn4rZo14GihckiceubhzJekDAE+DcwBhYk54DwAoxiE7pHxEOfx8gXbx+Ql2nnEkpniFnUzk
z2cSc68p++uf2o9TetUsWC9i7wnKMHYCeUh0M7AcH1rP2CSzku8ZRc9IRP/20wFRQFNUzf/JkSPf
GwdqjRg/JPy8lgvEFsuHYo9akDrRrqpiEe5ambDutuxZ7Jpcv1k9yhf3cA7qpOe6BxPOa7e6rGXF
il8pwyzmdTVPtdBdD1mqZShyaGPC5M3WiEnObjQickdqlokE/vKIXkr+s3mssdFZDadfynkLx0X0
oqtZrCAF7I+UAGWgjdRxutvDKptcAhfzeCtaliPiSDKI0wb7FdYD1lAd61RTtl8L2tNjWA3SKf7z
hD7FeRqi7O8wX5cLH8XcCGj9nrQ+1M+6KlwfyIdiNlBela2cuH0IGTmy7eO5AJWHjgCFylPB2U2S
FqjpwPL50CLq4UKtMXR5+cxrlAaNrIjNdlGODebpzs93uKXdKIkRcAVc/eJckSOKCq2gs5fFDVfM
6klRSbNSYnLMZhpTs+8/6uogOzuu3vTA7W48dtmdCRoeuPw5uQTgXj3AlttxGuOrW68hMmHKoacS
kw6uexHl2FrJiYdWMp5dDa5G1gotzeH1kCJqD64ud3+UiANUABVABVD55VHxO2eklOeROWeqhHGK
g7Rdccm5ZEZUcSS5Ky86jcyX42xYap0mfl35DzpSzGkG0RlgjihzBFhCwZmA2m5aqhCltzc5ofJm
IQSlez6NkBxF4mCLAMKkK0E0RBV+dSWIkN4r0IK5OLzsep2e5NQOFUs12b5IGaqO6BRrFcSLhI/o
pXNsGrgD7oA74A64A+6AO+AOuAPu3vsWZ7kTpNznZKXYo8df2x1Pcsm/PelatSAhobgI7pw3RwE1
QA1QA9QANUANUPsZUXuv+1oUVLDrBSABSAASgPTLgPSOlr9KZOiFLyIIlryANWANWAPWgDVgDVgD
1oA1YA1YA9aANWANWAPWgDVgDVgD1oA1YA1uaHnPZyjg4wrwcQX4uAJ8XAE+rgAfV4CPK8DHFY75
uAJcjgo3+sKNvnCjL9zoC29VwHM93OgLXAFXcHMq3OgLN/rCjb4AHLwRBHdvAiqACqACqMCNvnCj
L9zoC8ek4MY3OJ4H3AF3wB1wB9wBd8AdcAfcwRYnXEgId18CaoAaoAaoAWqAGqAG+1pwfyaABCAB
SAAS3OgLt0DAkhewBqwBa8AasAasAWvAGrAGrAFrwBqwBqwBa8AasAasAWvAGrD2blnzk80mLDc7
2pp9DqPILcMJ0SrXp0pQ+ZpgN3nqPUEmUvGiXFVGyeuBTGHLExaKdwS5SqIXBSXCpCQn370+bzvt
OQ1zUvomjMNsjfRuVOBnXacSD3rHkJcK/lmOOR44w8HEHlpjy77gZDWMn5JHtKj5uo4DwkxJW0/m
ty6PHuadRQ753FxfCmQW6fUySRU+sgqLtyGxwra4R0LezQoLW7qWRHftxUGE6v9NtWW4su/XKEWG
h3/WwHEmI8uyTQN3XAEmjlMrRKejugC6TT7Lky3Vro5tDuyLzhu4SYZoIWs6cWihjfeyRG4hOd/3
D12NwUjY7AyEpaFANnQ2/a3rxT6KIsSeaNqX7VIacYD9/wBQSwMEFAACAAgAwDI1SVYsIJ9/CgAA
TeMAADQAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy1zdGRlcnIu
dHh0VVQJAAN4ieJXeIniV3V4CwABBPUBAAAEFAAAAO2dy3LiSBaG96z8CBm9aYgojyUhQLCzcbnG
0TOD23ZVLycESmyNhcRIwi5v5tk7dUWXzJQwuMx0/QuHg9TJk7fvnLxL15cXd9R/pv5kYpmhOTcD
OvVcly5C23OnjhdQi5wSVVdGfX3QN7SBrihK56tr/3dDry8vLmtxJpNFJf6V762mjk3dkGk6KWvr
jwdap7sybbdHakobVXWLmrTxsNfh6LDdZ++JztbUNyNF565175tuYMZq7+0V9bu9zvW2Grw1dS8v
binTE4RT011Qx6EWTzNfMsrZwfWJq8iTFOzK9llK4riPpms5NPudV1HAkrx/pD4lJvtT+7puDFVV
UwjLn2W7D1Hprlgynv/KqKEODXMdWeG3PNx7OV9cSclTTo5rQd0e6SrfR8vlcqBoY6VvKT1pdaVF
jhM7TM0MRqqW18xuqm689Zo1sOmSvBU/Edd7IaEsjaZcTze+zywkT0kSgYksPX+VxkhqJY+XgGfN
uTGT5rowF08sS3cMBdq5+/0fdhhJFUMnkwcazvzPAYvo2MFjpuHaXXosgcznsJQE0esJkTiI/SJL
26Hk15NfCcusZQdPkpJatnVZz3KBv0XkYGoReQ36vyYI1WEMocgMspzkaTDBWdH0JxM/9QHeah1J
WhwRzy1rudssFjQIWFZOySJpT8LSC6KGtIOSz9U1PVKYq2JVtzbDxePn59yx5qUxlv250itZfOSm
RIWLXVjBhkn3hNWNPtK08VgdDvW6p5VUdKOx07ieRZ601jUdyt414/3tvZDGu9l7RNTW2ks122dt
LjL9qHJL9shiqgNlYGmDEYu2pxuQmvCskvRhWrQ/1D+wto3lXI1qW6iG1ZkffktMecoy8UAL/XzD
UMynZkhFcevDMUXva28eQ4l4mdMH2y3IX7ttuo1qLOnIIiFjR4e6zWHhB0tmGlVa1L1sqSQvdviY
u9OiL1WHBtmOUsnW00UtPBgrimbNR+bYWJjWUu112jdsUtpCQJxNToXU+oWv6wfftOi/KLWo1aY/
6A8V5oboCyf8+AaeO/ZahblEbAuz+X9YUyV+65T1TuSkV6vnmmRczdufmcS1a9HvnHYqPK09y2tt
W0+lfOsLpUWGZm6CvsgguCUQP6y1UEN1SCZsdVmBV8icYy2CwB/wms+0IirI7C6z0OtLMhgyH6Yb
Rl+TdyU3ovR3rAzSXZiOM2d57cl9MUtzymsWgUPjypaywhMqgnEo7mKQ2xGXM88LblOxiWQTX6lU
G7ISUSlTiRmfkmKjphTpQ/0TSZ5vQzp5B8H8auD5CXosCcJywgbI5JeTXzrT5BHzqHM79l3E8V6o
T57oazxjYQ6QbNhoMA/ZgdYdq3N3QvNmlLLJd3Dlxwfm0Vut7LDs1l9sx5nG4fLOc48EG9mvJl+y
gNrDhoZLyihbE6sWVjZPz4yBG0lkFnLh3bJbgJertk1t7EQwL5XyKFcdqdo+K4Uiq+BhULMNDsLc
XJ8IZGb++dzzG2Bf2lFXkI12j28QV6mVwkCOM6KNCpOubpwvQ+qXRsxJpcSj3JO9hoehpN34A++S
CM1mtk3OIhesgMLNCUvq3LKiJQP285mSUO7iJCNWO3PWpdD1JuLJsmqq0vnSTeH5YSI+0FAU5wsN
b+nC8w8UKVk4vNq4/DZN4yeLaO+nYuFtXGHmp9FD0i3H6R2vDoeavlBH9FA2Z4qWjZJRkUjFrCTx
M0aOx0xNvH8znQ1t8/y9tP1GX49ZYUvUY+neB8Z7Ixxec+AR6PoR0Rg2h4j5/6DxPWO2HkO07YYF
4+Mr22XDnr9Ho0Y2DBQuaBfmTtyxknQCwIvBOXVgKAZvAkBdFrKhjVOU3Q8VtC4+P8HKHEeiildY
w5DPzyTq9in7/tPvVpGOa3Ij1hgP4c2QindCDr3xks79zxsT3nEL5oCTjnYPUsfTGFYfr+/yOO/H
3x6aDZAlg8Af+ag8ABT9SkdfooC8qC1/e28caLxzYKsO+kPC26ydnb+b85Cvv7EcZElX0hP383fR
tmbDMlgsU1vhqsY8xoNv+/dqmZtrWikqusNamLzZcjHJ4YRcRN575Cs5gk7iib5+/m4HYXDtljfn
on2Nk08k6R9IUNhWGWl9TX7c6zYdyvjxf4EWZTBs0BKPSKVZGSqqUIlpWW00DEftdhpvdmu64pq3
2NZuROtwhWdFzgrHBNIl1R0WTXVV6cEEjprZRMlXdxNQ68Lx5le2k6oMgPkPx/whmxU3cf5QnD7X
A+VVuZUTt09BRs76diIvPsdXwkWGu6GO20HzZdeitsOmtCpR5eYLr3FyRILoabBxQqYw9DeLcMNa
fOp4LgVf4Osn4avYJTUhZlV2wbjhDZONoqikWUtictxKe3N7d9+GoSh7d9+j0VB5S/fdhvPLt1V2
O9qr+5xV4C8FtADmvzjMIHPvbjzeJmzRi0+zxbZaWGPHlohJu/BUpLEHT+TEHXiy6XnKpW7MgHmf
A5Sfb29ntxNyHoZ0tQ5J6BHTeo5uURKTLLKD/2mSnbNvnrNZ0eAsKt/Z5z/uzv6g89/s8OzO2/gL
Gv2aslyf/dOzNg4Ti5eyqWXNz4K45s/y0icZ/dtive5qhtEjEzL3PIekCuLDQ1ljVeJEc684g92N
7YZD/d9hr+1oZpc2bz2WmXI3sgvPYDuwHdgObAe2A9v5yW1nUTnu2HhHgHM8Uvis4Ux8VVxyV6Am
2nBNoCovuiFQkRPZnNryEtZ+FbDT9QBOO4jO83NEa8f5JRgcCanbHfEmRst755xQebMUBKW7trmQ
nMXCIbWPu3A1273w7dye5Ahe6WmpzVLvHdDkvF20fFi43RvP0gEewAN4AA/gATyAB/AAHsDDCYTK
OlJ8DLfxGEJBKj75/nGEHt/xBVAH6kAdqAN1oA7U/SWpw9YgtgaxNQjbge3AdmA7sB3YzpHbDhaB
sQgM8AAewAN4AA/gATyAB/AAHsADeAAP4AE8gAfwAB7AA3gAD+DhjBPeY3ZEx5Tw8SJ8vAgfL8LH
i/DxIny8CB8vwseL3vLxIryLHK/jx3vK8Tp+vI4fmGOZAa9LB1/gC6/jxxvM8Tp+vI4fr+MHmbiD
hjtouIMG24HtwHZgO7Ad2A5ex4/X8eN1/DhkiUOWON0L8AAewAN4AA/gATyAB/BwkQYvC8bLgkEd
qAN1oA7UgTpQh61BbA1iaxDb6rAd2A5sB7YD24HtYBEYi8AAD+ABPIAH8AAewAN4AA/gATyAB/AA
HsADeAAP4AE8gAfwAN5xg7fwVis73m7Z1uyL7TjTOLwgmuT6UAk23tmtJl+6tFt72HBpNSmj5K5u
rbDRkaimC7vcSKJbu3Lh3bJbuL3LVdumNna6uMtLhf2pujLq64O+oQ3Ukap1OFm13Wfvic4yUM5d
q6AmxqYrM8ApD4PaRWAOwtxcnwhkZv753PMbYF/a0RXjabqDK3eewsLGNiKJ+8gcoEOz33m1Bayy
7x+pT4nJ/tS+rhtDVdUUwjxQ5EU5tVLwHk2fXyg9C0JvHUMk6X5yNzWNto0dh1oHVLOtjFTHljJd
U/pap3LL3gtoWUgdG3pZaGW+zuk0krxO3U41Rn8ohLBmErEiq/MnUEsDBBQAAgAIAMAyNUnsi8Dv
xAUAAKQ5AAA8ABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtcHJp
dmF0ZS1zdGRlcnIudHh0VVQJAAN4ieJXeIniV3V4CwABBPUBAAAEFAAAAO1bS3OjOBC+55SfwNFU
barEwxh8S/Ck1ocdp8aZvQuQE3YweIHEM5f97duAAWEkgV8bzyyHHAz9Uj8+tRplPntYkvidxNNp
tCHh7OEL+fuNJKmNQ5cEAfFuvoY+PJnPHmY4xQ5OCI9SupNub+aXk+ft6O0oDImb+lFoB1GS0yk6
mmj6WDPVsY4QauuoeaZTd4//MY7WduCTMM00NqVp1li9Ga2xH8oSw/AOUSNakmoZMmvxfvgefSOL
DYlxJug+9J5jHCY4F/vsr0k8kgUmRALGRz8Gh1MudDMrW0JYVv3TejaSpRH6PlmtVmOkmivFQHIR
n0fQGMU/IEAkICkp6cvw1a5/jqpQMikFbxkWig20kOblBvI994pDLyCzXFk32e53FacE7Hp+JTGR
MPwpmq6bxniiqBLksueHLzeHiXqKNhtIZRxKVUB/k8JoK6UiHV1W229xDMlYaRIwAMkqitc7jsIr
FV8eg5HnMDmLcD1g9xuYtIRUEHnT871Zm/4SKWqhOkWZOVhaUukAwgWNRNNpvIOkaL3JKD0GSRQ2
pSzfXJckCZhyJ7mFMyXQl2Re9JMGtuiqngmsRHl+ssGp+/rpvQIQquA0B8mNcstQk7e4HFGpApJG
t+AbfaKqlqUYhi63gFrg6M5KI7mfecDeguBzFZtqXr7YKB0XK7Yso+pSa3hWg5jz6i5zLl1FGacy
Rh4i4wmSxTW42OM9T0g0Q/9Ad5krRxGuO0lxnP5Z1KINRrwQasPs6BliglPC4233DUjXVG7gHPLi
hxT7vBmKY3uEP8gacAH4aGltbSf1EmdJE0VRUZUmfHRe0LDUD5trc6gfYIGdhQ+0SWUPCfHa+ulr
hcw0LCuGKdWNnVSDZpZrYwsh1XMm2DJd7K0U+aZ/ihV7EfUgN3Mvj5hbzNfNS4w98pkQj3h9thbN
QIBoZMt4fsSWQzW8eR0snL/AOQXo3MHWIt3KrZW1KPOF1T+hqt/SRXzveS3WXWSfeO+rNK0Ts2G2
7qIe9izCItd4GchcAP9lqyQ6vCE4VLRpOUBS4mKLgQMFrOhhLytDabEsS2I+k8bGGJmabkGyFJJo
MY11AfdnsqUkVjgkYvn03U+ycmyb3EiQbeynNO8yKy4hCAFqPPF8cmCApJGLg8CBVcjirQF02qxU
4aAak7ZhCouITtbTa6GsvK4SoCu09Uzsz4pMsKtXJOL0rnCAk9XF+eNLBrasLOr3mrhRzNUAKdsg
aAioX/bJy6fD3EdnIT+nuEhJvaNjTe0su+PKAZuCrjAy6jhIjtZrP21uMFs/COz8uXjjPEFhJ/Dv
q28Af+tlB64UaxSNkPYXKzprl4jPZOKhvoCYi9IFU4XmQlx+9EM/ee0LzExr+jjxIERmaWm26MpE
UT9kHvdf9tA2K5dbuw2jDpk+vOXQAMA4UdxRsSs/28bKdp1hBwU6jCY4Y9+B1f0qJXGjybZ32Vo2
0Ef3t6nAU+xevUECOrETQDF0YUxFuBcapiWgCgA8G1jAz3cipWJkPFPLzcmooth/zzIVUo97mqYg
k7lWYQGzOBizeROZrAImITx5I50Q07PU6cF03+WzFe5hlEAUa7GmKcZXgbhT1n76rtuL6boAlS8x
L0Hc2P7ONL7p2PLvOxX3nf984PnsumJZNyX3F4uquLEBC0rV877z2OtqMPKYd/QXOU2rddjnPFeT
Pxxuh8PtcLgdDrfD4faEru+nO05e3X4pPtxSJZLdd2gET7MMy2gSrfEPh+RXjOa7+t7n0E1u2DjX
poQH3/NfMvg/39464K7FcGPiDDcmzg98R3yLbn3ErW4Gne1Ltaqph3ypvjqMHMZ0p4/pfp0p2zA0
+oCh0SkuPP3C0bGuvoorBsPQaBgaDUOjYWg0DI2GodEwNBpuRFz8RkTjbZJGG+bhhn5BX0zOn9bR
1lWkqV2jKF2xTP2gURRwaIZwYNT+j8CDqa9sWaIJ22ELYwfyX1BLAwQUAAIACADAMjVJ5uiKMMIF
AABDOQAANAAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLXN0ZGVy
ci50eHRVVAkAA3iJ4ld4ieJXdXgLAAEE9QEAAAQUAAAA7VtLc6M4EL7n5J+g29hVkypextg3x57U
umprnR1n9o5BJGyw8AJJNpf97dMCg4WRBMSkxtniMDVl6Jda3V+3GmW1vNng6AVHs1m4x2R58x3/
84zjZGETBwcBdq9+EB+erJY3Szuxt3aMRZToGg2uVh8nzz3QL0JCsJP4IVkEYZzSqYYy0Y2xbmlj
Q1GUqo4jz2zmnPDfRuFuEfiYJFRjWZo+HWtXw53tkxHiGF4jashK0qbmiLd4n7yET3i9x5FNBc2J
ex/ZJLZTsff+DkfDUeduFS8plBhy60egScz7aBM3wPnvYkkxqLx/xBFGNvxTdcOwTFXVFAT2uT55
oKu7BTVh9Aa7jAOcFDLyGDju331YxAOXUvKWY3Hl0XCEhsq/E8/zxoo2VXRXGUnddVhyqqwbz4wn
qlZ4pp2ou3C/hw22CSp28Ssi4StKZDrqrF48RxFEdKFJwgAkXhjtDhyZVwq+LPDcLZcz264b23kC
kzYQCvhq8+fvfkKp2Kez2QNO1tG3GBgDP37MJayIF4KCHCNAk4C9qgilj+AX8vwAoy+DLwiMdf34
SbJS13eXVZOZ+HMoIFQYeRv6X10QqmYahKI0yC0pdADhmk392Sw6YEC421NKl0MSkrKUzbPj4DgG
U66Rk+0nAn0x3Ug/LmGkoRlUYCEKXLe3E+fx20sBhMVqLE/fKqNSxlOYEi0uhTAmh9FwAL4xJpo2
naqmaVSRUeLo2mTHqZ9FSFopJV3lu2Z9fL4zOj4s32lEHbO95Fkd9lyU+tS5pXwETnWsjF1tPAG2
M2FAmsLrE9Xd7KhuGr/Q25a3Vam3hWLAZ1HyV5bKCzDiATN1vqZ1irCdYBFvtX1SDF0T7vsWP/iE
YV+RJvB/yiWq7E3bKgGkrlksaQaoR93MDzBvQZ1Gy8sxKtGrnzwWcMpiqWpa6NhVoiPS0R0eTxVF
c7cTe2o5tuupo6vmG5sVEOZBauapI3l14cf+IbJd/AfGLnab1APdVACG8Cvn+eU1ni2rFtP7p7mw
3v4NW5Xh1jVUJzQYVfxcoUzdfPwJmf0MYDZ33QrrIc7uRO8Lpx3dVDLbcJQG9qxJFvmifOAuQPyy
skE13pCcr6q0AjDJsbHCIIAR3u7ZLg0KtN7kCbpaorEJEGZYlq7JK8mdSH9LZ6ChYwfBFmwdyaEY
dC542yLAMy5tyRQeERsY58ddHuV14cZmQ+WZ3J8FmaSKFiTyUCpyTnqQ+E5hFmInSv8ffEVh6j0U
p5uZRc9EGZs1UrATRvRk/oTfBEJMOAaIhEDgNpFgTpoF8V07X7MhKw5AIYQx79jAYArQ4SjSAq0N
lRN+78PKcLfzkzLyv/pBsEify+vrGQprEflUfQmRKy9rQChbo2zMdbpY2VE+h2IukwiO5cTtzGXg
mCu2iTda4TBPS7kRVieq9u4u9eJ6JlGN4QVlpcZwEorrw4GABpBiG0Y1qef5tHjl7TnHDgY9OE0v
ZT+gztxLcFRqqjMz0kZ4cFYHmUg8xe/NSyQ4P/zWgUVBeLI1XEtAFSAxnSrAzxeMEjnEddTUCiLq
1idg9m80UiH0hGdWBvu4a5UmMI+D8yHAUixeAmMCT55xhwfS1svnKzzBKIko3mItS46vEnHnrP38
8tmI6bIAVSwxTUHoyMVDkneXFHntntcqbjOd+SzuPvYN8w9zvLz3AAty1aumg8nL6gE2dAZV0wKk
NJXqfsrZVUPdnzr7U2d/6uxPnf2ps6tvI5d7zru4Kik/dTKxTm8LlDZPn5pTs0y0s9+2OL1otDok
6imHYQm3TXB5Snoi7f4TfX+Hq9FNhf6+QQf3DS7io3Dla2pxr6azT8aarrX5ZPz/+QLbz88qB5bP
P/7qpzn9NKef5vTTnH6a009z+mlOP83ppzn9HYLPcYdAOByp/rHWB1OzV4LDfSmKDE3RtbrZk6FO
LaPV7Ak4dPM9s6eSSw/WDn7xGoQ28V/8BFBLAwQUAAIACADBMjVJflKaUeUGAABxcAAARgAcAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy1wcml2YXRl
LXN0ZGVyci50eHRVVAkAA3mJ4ld5ieJXdXgLAAEE9QEAAAQUAAAA7R3JcqM49J5TPoGjXTWpYrON
fXPsTsY1Ne2uTnruMsgO0xg8QOL0Zb69BRgQIInFeNchh8B7evuiBXk2fXyB7gd0RyNnA+3p43f4
3zv0/AmwdWhZ0Lj7YZvoyWz6OAU+WAAP0iCFB+H+bnY54xk7+Ilj21D3TceeWI4XwkmqOFDUnqLJ
PVUUxSKNFGc00nP4T66znlgmtP2AYnY0ZdiT7zprYNpdgcB4yVAdfCR52O+ShDftD+cnnG+gC4KB
xrbx6gLbA+Gwr+Yaup0ugwWHgfhkukjhmAr1gMvCICSu/i8863SFjvg5WC6XPVHWllJf7Eb2eUIU
HfcXMhC0oA9j+Nh8qepfncSUREjGWwKHbAaHomKEDNI19wZsw4LTkFg52O7/xE4e4uv1DbpQAOhP
UlRV6/cGkiwgXzZMe3VXb6hvzmaDXBnYQmLQPwTb2Qo+i0YZ15N310XOmFBiICCQpeOudxiRVhK8
0AYdY0HEjMz1CPSfiKUX5AosbRqmMS3CH8JFh2LqokQfjDlJaCDAOZ6JRiN3l5Kc9SaANAggjp0d
5eVd16HnIVYeBD1SpoDoeYEWTS+TW1RZDQZMhjJMbwN8/e3LR5JAsIBTFmI3E25B1qQJF2ZULICE
zj3SjTqQ5eFQ6vfVbiFRMxRdGmkw1DMtsRdScFvBJmuHDzaMxsGCLfCoNNQymlWQzWlxFygXj6IA
U+qJhgh7A7HLjsF5Drcdkyh99YTq0pYLiSm35wPX/yeKxQliYgWxglnSM7gQ+JCGW+wbRFWRqYZb
wJVpY+izrCn+hmsU3wgDf1rEOkkv0YqbSJIsJm5Cz85zPC1Vy80pO9g/iINJYD5ETYh7SGSvrem/
JZkZT8tSXxPSxk5Ik2bga72hKMrGYgCGmg6MpdS9q+5iUS3CHoRs5vyIWGJ+bFYuMOBXCA1oVCkt
Sl9EGQ1uCc8blBys4Q3jYL74FyknSjoPqLQI992CZAXI8xwI+zeGmNkG/CTYCntbeJdEThorGU2q
uliBobkduT8tKIgS0F8WorREHYx5ThGWktviVF1AoGQ1kvmAEWQGYf4SR+lsKvT6PVFT1CHy32gk
fJiMXAj7K9xiI6KUV47y5dP0ggxRZDnjIVvX9HHclyDemXkRJbJvNJ3UNJDQ0YFlLZAUXXa1QjQn
JFehJFoibIYVEhDurDwWeCzwWOCxwGOBx8IhYiFsuqpFQdKfkR5XUWwEWebzO6gq3h6BMv0cB6F1
pNX8OwSt5dll8uYdtaYm6ztnYkGmW5L78Ozrll3RWa9NPzv72JqWNQmfs+d5exAsdfs8+YzzF16W
GC6SkbXjkReWtTQcxwERiRYRDGCqP0dIid8zc/OTaZveG0rOh4KtFEtEKasYp1ZAkahkV6qkgSQ3
XkpiBCnJKwuhSogoItf3FJi5O144bknsLc2gKMXrROe3/JXTCrYgQ1gLCoTZbTGMlz50M2tNk10U
xOtIjZd5fIbdyEtWGRBEEywsFAxluSsBzDkKkRNEamwYwbo9+vcDCj474zLalhrvuE64TrhOuE64
Tk6gk2t5cSG2vVr+r9ZirKjKzFVW0C/A7zZQn6H/HeqOazC6+Whq82fQ46KmlbqFjk08iXIypysk
DMKBPE3USNMVaKMn77B0QlV9YsMl4ZJwSbgkXBIuSZuSVC6nZIK5FT7GUCRhNY29OskYbh/Z918L
50hXhHReS7D0EcO2G2QW+XNnNRufwWRvmIxLCVc9JMpVfQaqTrd9xgcTk711hDiISc/s6p9qXCDX
3K1bdmv6qkB4yKVkiy+EKeze5TGZX+m0Soa7+426e6NGpUaMnMNRkWoELzMEbiUN8YA+34BudBTr
pOfALvbU25WnsiOfz2uBYpMTfnXZrHUisEamrnp4cK+MfvAjkM2PFVaV/9KOH97OQUveL/B+4fr6
hWubiZzvoecL5Zm3SUf7cOJYE9+z+VKENw+8TeJt0j7bAufTqRS+mqnxlnc5vMu5tS6naqVvVK33
aQ+OXOl5VbjmyfPFV4XbaT/5Iv19rerVVmLelby6C+9t1semi/OVa//Rz4/wuRSvmtdaNfls6Zpm
S+c786Dm6KaVj888LmnJphFrq/hL1jLuEsDbuqrndLspqcLZlDDDtLuRkg585M2TOum/RObnMhlW
+JfcpYWEcKPVB7De4ZPj/gV/HeXCpVuc6T7XDQVcwAu7u+qKFpAztyTkeX0mFR7s+vbdhV3lCqt4
YZcqtfW5Hr/T8ALuNOT3CfL7BFvLyZWvjDGJF6x6vrNhzeUoP/rGGuakLw4tA/7TIOHTNFRUWVTk
3I9ZBD9+lQWShpqaBVqDXwsY/t7cbJdG8xhKnxpJlN/Qo8vwG1BLAwQUAAIACADBMjVJ0A5xPusG
AABfewAAPgAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy1zdGRlcnIudHh0VVQJAAN5ieJXeYniV3V4CwABBPUBAAAEFAAAAO1dS3PiOBC+c+InqOYy
UJVU+QUYbgmZZKnaGmaTzN6NLYg3RmZlk8dlf/vKT/yQZHtCZpJMHzggt9St7lb315JLXlyc32D6
gOls5u8wuTi/xv/ucRDOLWJjz8NO7ztxWcvi4vzCCq2VFWARJTpF/d7i9cZzUvq5Twi2Q9cnc88P
YjrVUCa6MdJNbWQoilLncegzm9mV/pfU3849F5Mw4lgeTZ+OtN5ga7lkiDiCNww1KI6kTcdD3uRd
8uDf4+UOUysa6Iw4t9QigRUPe+tuMR0MJSL4ko6XLmUKF/e9s4jj4ex/LkLAhL+9wxQji/1U3TDM
sapqCmJmclyyiYxyydj49JlZBXs4zMfIbHbQ962f249LKXnKkbjWNBiigfI0Wa/XI0WbKrqjDFnP
xinHzI6jmdFE1XLNdBvqm7/bMf+1CMqteIKI/4hCGY8mqed7SpkH5pwkHRjJ2qfbtEeilbxfbIOB
s+L2TMx1btn3TKQb5gq4d/PXn24YURVbZ7MNDpf0S8A6em5wl42wIGufMcjWNOMk6F5nhOIm9g+t
XQ+jz/3PiAnruMG9ZKaO61zURS74nx0t4FpHnkH/a3JCdRw7oWgZZJLkPBjhshgBZzOahkJ/u4so
HQ6JT8qj3OxtGwcBE+UU2Yk9EeMXRIZ0g1JMMzQjGjAfiqluZ4X23ZeHPHDlszHX+koZllZ8FK1F
k4sjeWENo0Gf6caYaNp0qo7HxrCWICSKblzsONazKKHUQv+x1rtmvv56L/B4tfUeedRhtZc0qzOb
i5Z+pNzSemQ91ZEycrTRhHV7YRiQLuFlhfVxLKqPjV+obXO9UhVZhmc6o+HfyVKeMyE2uJDnG6AO
xVaIRX3rcEcxdO3HMYrAX1Z445IC/YK0SRvVXlJkkXhGx4B6kLDwh7GZR0qL0svBK9GjG97l4bQY
S9WxiQ4oEB0iXWTh0VRRNGc1saambTlrddhrb9hktoWGWEyOQmp54ftuQy0Hf8XYwU6bfKCPFRaG
8COn/e0Bz45Zq4DV47WwXP3DTJXErVOWnVB/WNNzjfJtDlT4m1EsiIOfOJ5TeFp7ltvxYLmSJg1b
aSHQkiSLUbREuTMQP6z5TIM6JCVanVYQp7JwXesgiFA881lO5KdoeZPFjMUFGo1ZVDVMU9fkye2b
iH9HZaCBbXneisk6lGcHxnPOM4sgxHJpS6LwiIqOAX4Hfgd+B34HftfN7+LE3c7j8hzPa26j2ISy
yb9SqjaelZBKfSqBLaeoaNTUi4yxcYKS54eWXg7RGbINfJq4HmOBmCT0eYY+9T/15skjhmlXbowe
kec/Yoru8XO8Z8QgKNqzejxv6eCtHdXZ3UNzM0p9kw/oyo+P7I/+duuGZRj76HrePG6Xly8vYNjo
+1X2pRVQe9hguGSOsl3/6mRlO6XZYuB2Ei0LOXE3cQvOyx22jTY6eTCPS3mfQZ2oP77PIFkVPDeo
rQ2OC3Ol7gtolvRs5dMGZ1+7USrI9hveXhld0UqhlObsKUSTSfeXz9YhpqU9i0Qp8T5D/0UFeiix
G3/ro0SCs73FpmCRE1YchSsJY3XmONGmLfv7gFEoD3ESsNDhGegEdAI6AZ2ATn6BTj7Kg3di2w8r
/4e1mGxVlc4kNjis0acHcVc4vMa2Tx0Jmr90CRP5jwjjMtAqPAAtVHrceUrLFV4PzltgpmLyyhVM
WMseNxZU7QsbmAnMBGYCM4GZwEyOOZPW6ZTPsLLDJxmKN1nTlO9OSoZ7ydxfvvkMnT5Qp7e1BSse
MYbdVojFb8wd+wW99ITirJFxl1f13pa6OUOF1j3+ip/C6z0hLGZXgmA6QxTEh5E+8Z5RsN/tfBoG
SC3WRCfxQeIj4+xRbDnP6M5iRZPa6jzm7NVMLT/TYRJkrBdt36f9PawmrkZvopc1G46WYpraqVG1
53GPRuEsFs5i4Sz2/Z7FvksgID9ABpgAMAFgAsAEgAkAEwAmAEx4VZgAaRLSJKRJSJOQJiFNQpp8
l2nyJ6UJyMaQJiFNQpqENAlpEjadoZqGahqqaYAJABMAJvy2L6nJIQVU01BNQzUNaRLSJKRJqKah
moZqGqppqKYBJgBMAJgAMAFgAsAEgAkAEwAmAEwAmAAw4UPCBEjaR7lt9t2k0E12L1lTUtsULzCr
N8otd6ATa7tAI1+ch6vUxF/eSgiYoaKrzml8T0v/BCV3t6XYKL1dXZ22u7X/qutUi0lK7BGle+Gq
rnDFM07hw0fpFcUdLiE21GNdQQLYC7AXYK8PfzF667svXe6nGVio3XFfPHjZA+GXOOtfX658gC4e
4+B/hqboWuUjZdF3UctE6tQ0ykRb63mF408gL9KAVO2hj4XuKfis889Qxasb539QSwMEFAACAAgA
wTI1STSQ3sE7CAAAZKAAADcAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3Mt
cHJpdmF0ZS1zdGRlcnIudHh0VVQJAAN5ieJXeYniV3V4CwABBPUBAAAEFAAAAO1dS3OjOBC++5Sf
wNGu2qni6eDcHDupdW3teGqT2TtGcsKODV7AeVz2t68AGwRI4mGcOHYfcrBoSa1Wd6u/pkVm09sH
7L9g/+bG22B3evsX/neLg3BiuTZerTDq/XQd0jKb3k6t0FpYAeZRSt+kq94sGw/t6Cee62I7dDx3
svKCmE7R5WtNNzRTNXRZlstzZH1ubuxC/3vfW09WDnbDaMb8aNrIUHv9teW4A4nBeMVQfXokdTQc
sBbvuC/eLzzfYN+KBhq76NG33MCKh3101tjvD2gxdCJW/pI8ASP3jk9monixo1WXBmHx8l+prT+Q
+vLb9XK5NGTVXCpDeZDs9z2Z0fPfyYbjFQ7xnn6vDtlWPnqpajApBU8ZHIoZHMkaihnkS+7ZctEK
T+PJqsl2v9N9Dwhfj8/Yx5JF/hRN182hca2oEtlE5LhPvWZD/fA2G7LXliulG/qb5HqvUiiao4rr
ydb3iXKnMwk6EJKl5693PRKppP0SHUQLZs9ku24t+xdh6YGogkiayEHTMv0xVHQkZyrK1ME9J+kc
hHBOm+DNjb+zRW+9iSgRg8Rz86M8bG0bBwFh5ZtkJ8KUyHxBJEUnyPkqXdWjAdOhkBNsrNB+vntJ
HRJlcNpCHuTMLXIXvMXFroQyIKl/RWSjX6vqaKQMh3rZQwkEXWlpOJYzz6OVXHpXxqaaxzc2ao6j
GVukUZmp5SSrkT3n2V0kXNqKop6KISMZG9dRN5ENzgt9u9kSbah/orjM5UIRrjsILT/8O7HFCWHi
CVMHZkUM4mMrxLy+5ThE1jWVu3EL/OS4VPdZfivaxhx/4jXxC6QfPVp5toNiiU7URFFUOVUTvnee
026pnm/O2KF+EA4m0faR2aR9TEr269UJn1PPTLtlZWhKWaAoZU4z0jVjJMsqWlxbI9O20FIZ9Oqr
WHIWUQ0xmwU9Yh4xPzdPvoXwd4wRRnWOFm0oE4+GXxntLY6cHMupkmRqkeuk24xOtrdeO2FeVq/O
ajWJ28UyOmDCuZvoE0/L7OL0uUik9LCk9qw1itBHcbGisGrv9JidOLZuC4hpSgbf/YoT44eInTqC
kfq2tVotCBcDsa8lkzFnyXtYhcTBh8AzjtOZsDQit5qUqFcUEUeZGTRzf7zw/Aq9XxJNn7t7/3Z6
brsgFcqRMHxYtJhdaDxehtjP+cjJTgP3/q+he6IsLAIPOT3RRgTH54nW1vsCx/h/tnMPxR66ydUQ
Tk6j28Cco5v3jusEz79HO0a2gBvIQAqGmYIRAByAKV3AlFOIu8m50P5UaBmv0/ZW10hFh3gpYG8V
EEGUD1F+62M0trr54h8inCS18I2cU9IVI8wuUsYLy37uKWYuwm8MyVBPe4ykYmHgfMTBoshNnVDw
praiCKyMSGoEZq0ASTzdHo8Qy0vy+7stCngGYhW4YUajxT2gUQ+bOJaJiGxaFC5NzGVODAMSgfN9
S3G4OuhozOrD8asWn5aLjeI+/UHXLjjDU8wF1JBjEzTFmqMAplRl2P7Y/CInzbiGLY3LToElwKtG
iMIgXMptEEUD5NiAGdWUOVgzXT0DvN35vuczoVt0MJPfGXwD9DGoxsengXFPBbOenA8B6HiR0PFE
X9m0hpiAuz4Bd50BWAfoWICOJ7BCQK+doNdjMHDqiLiVDhwBRl8IIgYM+rkY9Iu9KhVjO2NoNsR2
hip3i+0aRgPw+hJeXwIGBQwKGBQw6EVhUEBoAJAAIAFAAoDULUCK3UkS55JgLvD8QuMf+L3U/oTD
/C9CRDXY3nZXp0p7+8022juE6j9IEoX3WzfV1vzxscKWX2rd8ZZryy8O3g4CJARICJDwfCtaARIC
JLw0SNjuJpsIfjEvtbFWwH9YcXerRC84CMu0FXfbSh1499oY22ehSCuk+cPerGdTyRgasqnpI6Lw
VYALoe/4lRoxzYSJuty9OUHkUsos5zTk1XdCuu9D5CCENkFdsDt0gxrds2OpCu9mHIu2fa7gAFso
ZRf4VpDaIau5jmATyiqd31HV0faEVKjnNAnP89TT75i0kWZXrbeoqA0l2Vw50x0UqiXb39asGIAb
zed6o7mGb06i27rOGW4/w+1nyFixMlZw3xuyY5Adg+wYZMcOzo4dHYfChXLIIH74Z6NaX9SmnnZS
6H+eVRrTTEpwsbt+wUUThAiXwOESONSXwCVwuAQOl8ABT0IBfgEX1oV3hxXqN4WFB6LVungSwBiU
c3xcOUdL5NdZPcjhQBCJcBj/X2bwLLv0UIweyvQCmFKmFUO3EsTkeUbEIeTlBmphqemhomgCqqas
TRH+s4mK+on6N9ehlghqiaCWCAo4oIBjn56DYg8o9ricT92Hgn1jI5IcCZnTWqyIMVT5o5SwoChM
TshUY4SinAP5+YKlUOxFa50VzasgmCwL7ZDVg5FWNGWTZYfYJS1bXOkpmhcyNEPsVa5GMBRrsaYp
dpOC4TrLmLY6aL8gGBa8PIssycqdYh19+KHqDVzlxF/zH07VeiF3NKFXgFEH7aee1f3/bKf1fi2G
JxUxRUxTCheKPbsNuyHOh389BfH4ZcTj5xwkn0+MCyEbhGwQskHIBiEbhGwQskHIxg7ZDnnA/Jqu
oTb9mq6sf+7tMKikhMtdUIx3el/D7ajk7SNue0FNXY2aOvja0emVyUHBEhQsQcES2ALYAtgCZIig
eA8K/SBLBS8Wj/Fi8ZzXdkiBZm7cIPQ2lQ9o1Bu3Zhauq7KmViUpdWVk6o2SlKSHNhTyxE0+7qWS
fIhixb/Mx6c+RUFc5tQdbT+s4IAVnCmjzd1gR5/Z+cghP8pjfn3/2uht2P9QSwMEFAACAAgAwTI1
SbcISHOdCAAATKgAAC8AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3Mtc3Rk
ZXJyLnR4dFVUCQADeoniV3qJ4ld1eAsAAQT1AQAABBQAAADtXc1zokgUv3vyT+iay5iqSRUiEszN
6KTW2q11dpLsHaFN2CC4gMnksn/7PkCRj+4GFKMx7+ABeP31vvr9Ho92Mr65o94L9a6vqR/oM9vy
n+493fF1I7Bcp/XgWP+u6GR8M9bhqe7Tkes4NHrGbkEuSRt+XUW66in9nibDT9KK/UBrB+6saK4t
i9JyXtxnOl1STw/Jho6ZanRvLajXuWhNznEl7pI645ufFPrxg5HuGNS2qcnqmU0ZzQP7O63+Ogvd
ci4Io5GRqOTIdn1q3nruYmRb1AkiZeykdbErS59aVcyCGcc8y5qsIkmS2PRLeJ51AIO+3JD45IEa
iS9l/9HKY8cQuYJby4PldKRfV/P5vC/J2lwxpB0b8SftCpxR1Jmg7ZPumDbdXCduzYfl3j9RjxId
ft2eomhqF/SVgGBNy3kMl3ALw7jeG8iR2jRI+thIeSuhezeROJNS8JQx48KtzkWKWQOpZ0oXQhNd
LzkarBnO9K+6csKZel39cJdLkLbukESK34jjvpJANEbZrEcrzwOdTUYSNACSuest1i1iriTtYmdn
zpgtY3Hd6MYzTOkOVIG27v76wwpCqvTd6+tHGky975sNetPDxJm7MMDGC8BInObFgUh0C67I3LIp
+dr+SmCypuU/C1ZqWua4OOWU/hmhyRcasgT6X5kSdtVICXlmsJlJMgYQTtM+8/raWztPd7EMKU0G
ietke7lbGQb1fZjKJTFieRIYzw8FafkZL6jISthh0hWwbqkHxtP3l8TVpfxPbxY7rcTiQ//OW1zk
+1M2TDpt4I1yJcuDQVdVleKWJ2B0qbHTiM+8LaiwWTRl77J2eHtPjXEwew81amvtGc72wj2HY/oh
czP2CC27falvyv0raLanGxCa8DQ3dDMS7anKEbmtzWdd4Q4PPPOCv2NTHsEkHmllXGR4VA8or20x
QJKUnrwz7uHpy4w+Wk6KfuJU2TbyrYSRRawZNR3qdoapCxhmFDIt3F62WklereApcaeZMF7VyDZu
JFtPF0q4P5Ak2Zxd6QPN0M1596JVXbDxajORYvZ6w5DCvvCwfPR0k/5JqUnNKvtBT5XADdFXxv3T
Czxr7lr7x+eGu1hYQVZyr5Ztj6L7YontMeDUibWbp/NGfvhMMFN4WBACa40iaJRfrCg43Dg+ZiOO
vRti4nrTBYfwQzSHKtwgHUO37RlM8kLsZGEw5ihZ19qFEH6flBLH741YapBZTULUyrOIo8EMmqk3
nLleibLPQb2nzsbFnp7nyHEl5T0YbjRczDqkHs4D6mXcdMyUyLW2d/BJKbMKQUdGT3oDeaBmiRb6
24xGGYnJ2ifkWygaV0M4WZZmA3qObt5aDoR6v4USAxFwI5gzSwo1lTYWACOEN03Am1MIuGFfkJvQ
mMrWJty3m43UzyDLiWDjXcHGXltpZHnT2T/AnDgtcQl7FWkz4us8ZbSw7eWGYuKY9BeDM6mnLUZO
NNdxNupgUWSGjil4Q+thFFaEIhWCs52QSDTcBoiA5cUvc9Yi8nkGoudmw4xI8zJIwx02ccQTEdk4
z9w0MXdyYigQM5zvW/LdVYFFQ1Ybjm9l9t+wb92CJebMKjCoDlRijZFDSnJX3T0J9UG2kGEFIxkW
rZ3FwHYtuNCHWUq7wIUasLDGZGRN4gDJZPUMZPbd81yPicvCHReut9gMocVFOfg9DQB7KoB0Hx9y
iDeK2nz7RhHfnX0IcNk4NDvsS7fmIwp8U/e539QhlEcoj1A+C+VPYIWYTWgkm3CICWCGAjMUmKHA
DAVmKFgZCnHKoa9qNVMOfVlqNuVQM9rBDAVmKDBDgRkKzFBghgIzFJihQPyO8BnhM8JnhM8Inw8A
nyN3GcfoEEL6rpe7+Tt9K9yH0Dx7BUSpG4a7WlfOp3ez5SpUGtOs/iBOk9+unMRMstujTXWvcHc9
t8y97OKwpAETBpgwwIQBJgw+VMJgR+C/68aJCQNMGHyehMFunyOLwDnzy2TWCvgPS77FLdALwu0i
bckHyoUGvI+TGeLTzdAOyfRuYxOTMemr4MMUTevJ1T5O3pcZtb5RZomF91Uxi3b3rM0eelfI8/A1
LtF51u0qjI0py/RrTVVFs2JSoU7FZnxJ0kJda5GiKt9I/Hx7p5W4ZCOCOrHqwRAEZgJAg3xpf2nF
KCj0YTMr2i2I7b4CRHmmb9FxSbDlkBXEnsmdGtpak531NTQRo1A32Q6uYnkPngOB50DgORB4DgRm
yvDkCzz5Ak++wJMvjnTyxTuUebz74Rp48gXmlt4ht5TVsZ1PlEg9beQLmPMsUBlvuYQnUGCBChao
YIEKFqjgCRRYroHlGliugeUaWK5xggAeITVC6l2Dih3Bb2P1HvtjYVMERfn/zsSp2ig+FGOyIr3A
VRdpxei1gLLFfx2UFUKcKSF++kW73FfFXTw4KwiOb2x3dmvZ9Cc1XM/0K+HZ8b6MqwNsxywRCv+C
qKTCo/oZGFhZhJVFH6eyCCs5sJIDKznwHz0OUNcQCOTGjoIzJMkfGZc5C+Z/JPNmAkMNTTPMXcDl
CyWB2MVVcuT1SxzO52+d6yVUylyNoCvWYjVN7CYF3TWWvv0sf3QreO0WWhIEKc1/klL27q504I/7
TUulN4QHY3wJMrPMzdCTqnnF00o03YVJm5K4IqIphAz5ls3GxRiIYyCOgfgZB+LnHB2fT3CLsRrG
ahirYayGsRrGahirYawWVAidKj5gHtncl+se2Swpx/3YCws58Vst/FbrNL/VwuKqdy2uOrld7Vgn
85xQyReW02A5zfEO6kG9Q73DMi7MSGBGAjMS+Pao4tujc17bPuV3aTDkLjP2qshSTy5LLyndgabU
Si9Bi576eYfOCHI9+rElwc3TbZQqPt/BzsP202HeXlyt1uvuR2w00+U7yl6U5OWurJ4S1aM+jNxP
wprqL63+g6OI5uM7lYOx7X9QSwMEFAACAAgAwTI1SUqvKKf8BAAAgSgAAFcAHABzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13aXRoLWpzLXJlY3Vyc2lvbi1jcm9zcy1mcmFt
ZS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA3qJ4ld6ieJXdXgLAAEE9QEAAAQUAAAA7VrLcuI4FN1n
lU/wEqomVX4Bhh0xnRoW03QN6dkLWwRNG5mxndC9mW+fKxsb2XrYJGSSTrNggX0fuo9zdCWYz26X
OHnCyWSC0wytIpJu7hNEUxRkJKZXXyn55xHPZ7czBG9Riv2YUpy/k2sYN8Y1fCzXHDnuwPFs+Jie
aAe0KTx5xA1dmSShT/E3vNjhBDGxKQ05pXuyxUmvfzX/iJHEO0xnt39isJNmPqIBjiIcyizLJfN1
cPZCIXY/itNcjovTNU1Tn6+goX+XxFs/IphmkqyNB/ZVb4sI7RuShbeY6vGW7PHwVdNzsXex18Ue
B9pctEBzjt87koBcz/w+Wq/XA9P21m5g9p+npAZNrGGQ3JhGd4NoGOHye8VFKQR3v8EJNhB8LMd1
vaFl2aYBmQgJfWAh3IGbOPkBPIIjnFU2yrQcGeI+rhhHKql5K1mx8KjX55I1Np3Q7INma8i5s/Nk
ZjCy7Cozp5n6Eu92UG1EjaqKvxk03huZzkfbqv3HJAHOrDxpFEBkHSfbg0aRlUovr0EvXEk1i3Ld
ouAbLGkJraDLZkjCmSjPFT9gfC8oyrL5b1sHWMO8A1Q9WK6k8gGCCx7hk0lygHq83THJUCIS07qV
5WMQ4DSFpdwYQZFMA/ylLIskrW2Bru0yg5WpkKQ7lAWbT0/VPseB31kVjFHBjbGRKricqTgAGb1r
yI07su3x2BoOXXHD1CS6FWk4z7OKMIVJ4Vxgs73XBxvn49XAxjrqCLVaZh1G+ArcseTyKGKa1sAM
TTwYafcJ6PxFQ/c8JXGG7humy1uvLG3cMM4n2V8FFn1YxAPufBQIEowyrNIVx1vTdexnj/qqgq/w
A6Gc/Jw2SVTBcwse4H/gLdAHCPPKovGObHhcHfcFcuGzhIF1ozxcQIb2JNtUXMgToTX0jOPEbxxp
ilV3MDZNO1yN0NgLULi2+lfdiyoZzOrfy9FDIPWvu4cEhfgzxiEOu5C5MzSBQ/Be8vz9jWwnbjnc
uSzHwWL1N5SqIJ0b2FqMa3GWFSTPMyILZhe0aHRV+0vXoX4p5LklKM0RVpRV4LqkN0FBAVVZEVDI
amssliXO5jNjMByYnuOOoQMLS7yZWlyg/RnvOYvAQu0qn76TlGFcXDL3ZDLZJyTjdZcMsdrOBsr6
osrJiQUyegGKohVE0dczPPj0Za2ioFS/tb1lQnyzngEL8XZLsjpA9ySK/Py5ngZf4LAVcU33NcQJ
L1sKWsSouylqBqs7q5RQkyqp4KYRVsKjUKpgpAXEHaEk3XRFhHQ1XZJ4EhRkXuojjgUH0ZfcZqqA
JeseAViSzpeu+lohs0imqzhpwciaMMSW487728UbWeF2cslIw4I5nE2n6wwntZHJP3RrOQ49ez7I
NHWTT141kerGvY1jpJf5qpWAq2kYsgMffH3CRqZukJ9z/XVm77R/FZzzO2s+6CbloWh++SXoPUfS
uZByhw3S15iSBet5+g1LY+4lsf9P1+wf4G5ebTEnElQbQhqXCee+uzgMXtNWx12vJ97wePK+ankc
DaevVlX9eAkrKF3Pu94qvtHIpNgN85q3zJy5jDBONjXPe9S6nO0uZ7vL2e6XO9t96I1bf3B99W1d
94Op+CeQk6X5HybiXQ1Vrm06thD+QUzsUMSaWNwA5L3NcSb7/bzu1xp7bl1oi36scP7PqvmB8Jsa
zlCJY8W/xbpH1v7iP1BLAwQUAAIACADBMjVJFSFXWoUFAAAaKAAATwAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdpdGgtanMtcmVjdXJzaW9uLWNyb3NzLWZyYW1lLXN0
ZGVyci50eHRVVAkAA3qJ4ld6ieJXdXgLAAEE9QEAAAQUAAAA7VpLk9pGEL77xE+Ym6HKrtILENx2
hbeyVUlwzDo5D9JoUVaMiCQW7yW/PT1CEiPNQxCgvE72wEFSv6b7657uGfprHNEB+kqjv7bkfnY7
wzle4oxMp0EUfCZpmKTrGz+PnnFOHlJMMwwPCb2nt9h/iujjIk9S8k7CHtHn5InMNyTFjOGGBhz7
Q7QmaX8g8nE0hQWV6pY+4FiQ9Jmk02myIXR2+4WAnCz3MPVJHJNAZpGcEn1EvWvKC0p6L6GUFAvz
4iQr6EzHGNvO0HatoWMYhqjjwDOd+i3+uzRZe3FEaM40NqXZk6H1rq+MbIeoPi/Jmoy6woSXSZr/
EeWrZAtuiOMlREqjvSDnBFQOOyz2IamdFwWLHDfI3/WDpVTupgSrTPwvZJ2kL0DOo0htShuFhQ2l
EF6C6AbAdDuJ2guozZkv/4T1lqbs0qiRYHcRjbIVAE/tyESTW3dRquVdYRrEpHquszQDDzysSEoQ
hp9pO447Mk3LQAD1AFYtOKe24aAV9Y1v4zAMh4blho5vDASmwlNzug8yGL/PnTKRMhUW2sHSrI4r
XbII/9tqxWX1CcZ8pzDdgRoAGTiDxCSvZWizTUqp+SqxWHjVH3CAmBh2YAyAs3PJhbLLeGY4Nq3a
M6eJ+pxsNoBoTFEdxQ+IJjuU63R0We1t0xSKba1Jw1AWtZJj75War4iBqhzuw9XYNRe//QxFRqiC
jySfp58yYIyh5FQS7mmYgIJq+wJNCnZRESpewRMKo5ig9733CIwNouxJn7Mz0WQOfz7bqwRGWUD/
7gKhOSpAqN50Zg2sM8I5v9lPp2m56yfrDaMMJCQJbUpZbH2fZBmY8hH5+3gi0JexQEZZY/t2LIcJ
rEWB6zY491efnus9mqux9nJfY+uMZ42JanFF08LlMOr3wDfO2LImE3M0cgZCL6RxdGeyk8LPqt5J
6HIule+We/1853RcLd8Zog7Z3vCsDTFXpT5zbiMfgdMcGsPAGo6B7cwyoE3heUv1ZSJqj5zv6G03
XJrM20oxGevwft+nsgdGPPKNXEdXnxKYblS8YmdvOLaljPuSPEb08kOaAi9tbR19/JyvJccV1IOd
3AOo8ZjT2PZyQCXawfxRl1O+lpojFx0GHnSodCzCw4lhWMFyjCeuj4PQbHXv2sBKRoXmc+UQYV/4
unlMcUB+JSQgwTH7gT0yoAyRneT962s8T9y1uLG0yAVuKgKefg/1xAFCoLzMXCKIrWYUFayldqg/
6sdokV4zwYu0+qnYExgUWS0LAg5YbNF8UeXZ/QwNR1CJHNe1raPmMO9cZ6C+Xx4tDPQVFXR6srAo
ypLXCSUZEQ+MC+AuWa+jvJkMuyiOveK9vuScobAT3W31DXQLHzsCul+j7lCqvVjddFPBWsqkgrae
+DRzOWhLxR7jjZMwLdPS7A1MmEHPOdtQZYgMBkKGSCAstbqnoJmnwlGNCPYwYqlX9Qiv/Gissf1J
+gC2mHImvAlzkjb6jL1Tit6gd9ammmviJm9XGiSkmge6ikVN2AKK1BJQdRMEbNBix/sE5WqA/Jj2
N0v0URvR/sD3JwY+QJNymuBKsNRkbR2RcUhuD1zDldURQuHNllzhNPW/s5KjAylX2Cr6GlGyxbqu
fsPSiDtn7ef3I9djel1bhOZS7GpXrF3XZZ2KTxn/X5e7JaJy/ARz97f8y5ZSKCCtjCxXiLJi4kho
/IKy7WYDfQnM3XyV/4DAJLQDzTGMBsELWmHYBszjrqRe3W36/z1qJ1w+Ky+Hj7j1fZsV32bFt1nx
bVb8URsB/YB74i0Bf8iebBrgdCzDtgRtJVlP/m8SsSDKIcLVEHad3NRrTlynSbTGL0tS/EnqviyA
bQ57pEwHxR+/tDez4h/PjvbDUR9OUPwPUEsDBBQAAgAIAMEyNUkdgDCnSgUAAD0nAABLABwAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24tcHJp
dmF0ZS1zdGRlcnIudHh0VVQJAAN6ieJXeoniV3V4CwABBPUBAAAEFAAAAO1aS3PiOBC+c8pP8BGq
NlV+AYZbYia1qdodZpfM7lm2RNCOkVnZCTOX+e0r2cbI1sNOAjWZLQ6pCqZf6u6vHxbDLcBkZH0m
+N8ndL+4XYAcRCBD8znE8BOi65Rub+IcP4McPVBAMsA+pOSe3IL4CyaPqzylaKBgx+Q5/YKWO0QB
Z7ghUGB/wFtEhyOZT6ApLDiobuljHCtEnxFlRBVnmBKCCsYwSTMErWvL8e2p54+9wB37tm3L2o48
83nc4r+j6TZMMCI5k3TVlObNxu5gqPVch6ihKMmdTbrcAKKU5n/jfJM+5SFIkoh5wqC9IBcEcJ2i
w9IdIovbPxHjy5g8EqMkQXAwhJFS3K7KAZVUBblaekG9+uM3nHNqMZSvtvdluhndMdgPaZ08GK5y
0FDPSdtZWNAM2uhoczI1wz5o6unJXgDSK0wNjHeYMg8KPo55nkpCVFZ9l54NR9bQ/jpdr9dj2w3W
zsQelQ5veLE252hAg82P7ZHEVKTGkpRWsnOUMa0CnOmC2k4o8aCq7+7Yvyn9xmKEEpSjw7mMeaOk
NHyr8KTZkTPbg4Uj9RHeAAITtCiUdZNVn+t8yphdDxtEkQXYn+P5fjAZTx3XYiCCDJ2Dl4n6lO52
LKSAWHWkf7FIurdyk44uq8MnSlnZrDUZGKo6VXGUXqn5ihjoKlwZrkZ/MeJ4IdOfA0oz+wglTe1a
NBKNEy7FEjif06oWptsdp4QKkpQ0paye4hhlGTPl2opLZ1pMX8a9iLNGF/RdnwusRUGc7UAebz48
161OQLgXlQiv4cbLte5wRSkXAGQNr5hv/KnrzmbOZOKPpA5hcHQn0lDhZ11HkYaFU4HNDc4PNkHH
2cDGM+oItYZnPRZzHe64c0UUcU5nbEMbjaf2yIzBZYv3NCHxJv4PdFewjhzjuTM+cPxVYjFkRjyK
c2LHdEsRm6J1vPKEa/ue+/qhRBPwCD1iol8ifkdbVhek+bDN9aaZ5yRp4jiuXaeJvjovxbLUrzYf
zRE+MAtCHj6mzTpsOyxee7YR1JVZLMvOJLCOK4h1LJo818Yz23ZhNAWzIAZw7YwG/VNMMdY1Px8G
IanFfN49UgDRR4Qggn1aizexWUVDe8XzV7QcYTUrcLCM/mHOKYvONWst1pU8e0qUpxlpJbGH8VaX
SEo79F+aV0mZ3rDFyrTmFTGUGDSIVgUBQI4ma7k6ZPb9whpPxnbg+TMW81KSKKa5KED4Ee0FiawK
dbN8+IozjirZZOHJfL6nuPHuo9j7jLXkuOyFbw2QNYyrlX9krvBMZ6hKFU1xCjvTW0UkJusJsJBu
t7i1V+9xkoTFc3PheYPCTsS11TcQJ33ZEdDyjKaXRe3DmnaVA9SUTDq4GYi18CiZahgZAXGHCc42
fRGhtKaPE18EBZWW5ojjsEX01SOOAViq7JGApch8pdVXGpollV4jyRhZY47Yw4Dx/uamlleETq4Y
Ivhhqt30Zp0j2hhSwipbDwPIq+eD3BA39azTIGE6QZQwMHTVmJqwlShKS5iqGwj5wsffhiMr1yfI
z2l/s7L36l9lzfmVJx/LJu1SJFRupcnGOqLiUFwGBHagqiOIsCdP6FRvev+XJ+kdSLXCVtE3iFId
NgjMDcsg7i1nf/sYcz6m99UiDHdcZ7uR7LoG61Tc9y3GD1xP3lcs3/M988/yqumkl5iX3e6y2112
u8tud2ncysZtXlzP3tZNF6byr2TaxmZ5ulNufsUPI+Ry3SMTRZEnsky8jyieHqHtu7bntt7p8xv3
JpEzC/wm0RZ8i1Dxc6z7qkW0ObyJFvman5gN/gNQSwMEFAACAAgAwjI1Sc72C5qQBQAAGigAAEMA
HABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13aXRoLWpzLXJlY3Vyc2lv
bi1zdGRlcnIudHh0VVQJAAN7ieJXe4niV3V4CwABBPUBAAAEFAAAAO1aS3PaSBC++8RPmFugKq7S
CxDcbBHXump3yQZn9zxIg9FajFhJmPiS3749khAjzUMQIHF2feAgqV/T/XVP9wzdFQ5pD32m4T8b
cj+5neAMz3FKxuMgDD6SZBEnqxs/C59xRh4STFMMDzG9p7fYfwrp4yyLE3IlYQ/pc/xEpmuSYMZw
QwOO/SFckaTbE/k4mtyCneqGPuCYkeSZJONxvCZ0cvuJgJw08zD1SRSRQGaRnBJdo84l5QUlvRdT
SvKFeVGc5nSmYwxtp2+7Vt8xDEPUsecZj/0G/10Sr7woJDRjGuvS7FHfuuoqI9siqstLskaDtjDh
eZxkf4XZMt6AG6JoDpHSaM/JOQE7h+0X+xBXzguDWYZr5Iy0iZKc5qqJ3iYnqOkGc6lN6xLoMtPU
K4k14L4LE0DNb2QVJy/AxKNX4QK1niWmQUR2z1VKpcD2sCQJQRh+pu047sA0LQMBLgNQVmrnVYtx
gyRsOrRa1n4hqGt8GS4Wi75huQvHN0SmXNiUFoEDfxT5UCZHWpoynf8NES6dsE3CWkm5C2mYLsFp
Ciw0naZxGFe6ZJ7+1mrFZfURxrSj5PyRByF3oAZcDs4gEckqGdpsk1JqvkosFl51exx4RoYdGL1D
wJ4rO49n+kPTqjxznKiP8XoN6McUVVF8j2i8RZlOR5vV3iZJoNhWmjQMZWEqOQqvVHxF2VCUtCJc
tV1z9sevkHJCNXok2TT5kAJjBAm4k3BPFzEo2G1foEnBLipC+St4QoswIuhd5x0CY4MwfdLn7EQ0
mcOfz/YqgVEW0K9tIDQHOQjVm86khnVGOOU3+/E4KXf9eLVmlIGEJKZ1KbON75M0BVOukV/EE4G+
lAUyTGvbt2M5TGAlCly3xpm//PBc7dFcPbbnRT2uMp41JqrF5U0Ll8Oo2wHfOEPLGo3MwcDpCb2Q
xtGtyU5yP6t6J6HLOVe+W+7l853TcbF8Z4jaZ3vNszbEXJX6zLm1fAROs2/0A6s/BLYTy4A2hacN
1eeJqD1wfqC33cXcZN5WiklZo/lnkcoeGPHItzUtXX1CYLpR8YqdveHY1jf3Lyq8zMljSNXDnbpM
Tvn6oIBVU/iurTigoO4t5B6A32NOY9vLHpVoC/NHVU75WmoOXLQfeNC+0rEI90eGYQXzIR65Pg4W
Zu/q8MAWy6g1wfVnxUpj+nn9mOCA/E5IQIJD9gN7YEAZIlvJ+9fXeB65a3FjaZ4L3IwAPN0O6ojD
hkB5nhlGELubZ1QpILVD/VE/Rov0mglepNVPtp7AoEhXWRBwwGKLprNdnt1PUH8AlchxXds6aA7z
TnUG6vrl0UJPX1FBpycLi6KEea1QkhHxwDgD7uLVKmycX2zDKPLy9/qSc4LCVnQ31dfQLXxsCWix
Rt2hVHOx1+0HNp6USQVtPfFx5nLQloo9xBtHYVqmpd4bmDCDnnK2ocoQGQyEDJFAWGp1R0EzTYSj
GhHsi5Cl3q5HeH1bX8Mr3PYn6QPYYsqZ8GaRkaTWZxROyXuDzkmbaqaJm7xdqZGQ3TzQViwqwgZQ
pJaAqpsgYIMWO94nKFMD5Oe0v16iD9qIiuPPXxj4AE3KaYIrwVKTtXVExiG5PXANV1ZHCIU3G3KB
09T/zkoODqRcYaPoa0TJFuu6+g1LI+6UtZ/ej1yO6XVtEZpLsYtdsbZdebUqPmauf13ulojK8BPM
3V+yTxtKoYA0MrJcIUrziSOm0QtKN+s19CUwd/NV/j0Ck9AWNEcwGgQvaIlhGzAPu5J6dbfp//eo
fafL57dZ8W1WfJsV32bFn7UR0A+4Rx7/1yRB5V63fuCP5fO3ezg7lmFbh0vN/7whllA5qLiqwy6g
63rNkevUiVb4ZU7yv1XdlyWzyWEPlAmk+KuY9i5X/Kva0dRyr/0LUEsDBBQAAgAIAMIyNUlUaL6p
KAYAAMxQAABBABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd29ya2Vy
cy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA3uJ4ld7ieJXdXgLAAEE9QEAAAQUAAAA7VxLd6M2FN5n
lZ/A0j6nOQcw2Ni7BE/SnLbj6TjTrmUkO3QwuIDjZNPfXgkwFugBtuPU7miRReA+pKvvXn1X4riz
BH7Y1b6F/t9r9Di+G4MUzECCRiPowy8onkfx8tZL/ReQoqcYhAnA/0ThY3gHvO9+uJimUYyuOOp+
+BJ9R5MVigFRuA0hpf7kL1Hc6bJ6lEw2gq3rmj+sMUXxC4qxUKHpRmGIMkU3iBIEtRvNsPRBz7J7
jmlbuq6z3nY6o5FX07+Po6Ub+ChMsaXrqrXe0DavOsLINZjq0JbMYb8pDGAWxemffvocrVMXBMEM
R0LiPROnDBCfdMCiFQrHd18R1kuwvdBDQYAgbwn5kpm9Dpxxna8KxBw2hunvv/opMUgvtmBG+40X
y+0W+ykqwePDaQoqxoloHYWZzFU9O+qaJCzCVYkkiXDvx3jyYt1nEMIAbf8vUyrBM3t6RjHSAP4z
epbl9A3D1DUcBoijx8ykHMPOq9bRXwfz+dzWTWdueXqXUcqCPwnziOHB53EtgpyIAltfMsnsqDrT
cp1blRYKbXsMpnmZKLseyW7GCG/E/zDPOt1K6I2+3s1heo89RvEbjgsKUFquuhTFXEnJW84I5QMc
6j2YDbARpJmz98GyPTDMEsv7mfoSrVYY3CDUygX9SQujjZbKfDSN2l3HMS7ipSeJQlEHC408KqWe
tILmy1XZ7aS5M2blTwHRob6DqKCSjitAI4ITuiCPRnFRmaPlikhCjkgUVq1M156HkgQP5Ubz8mBq
2F9Cougnmt0f9Pp2z+g7xFZpBfrJCqTe86eXcs/VXw3bNKFhWXmNK9OMbBqiSWUbCpU4Wucax8Qa
mOZwaPT7VpfZ0yQBbswwlMVXtK8xlOW9ksx0Tp9klI+TJRlB0i7FKpHt4TUX5RsJLp09OVR0qCN7
QNRkuTep6b7PkvT61n8YLmc+M6TzTgjt+SPPQRcPYkGz1QaOHSPM5UW6LM/WrZ55MAEQLfgMLfxQ
3MqI69uETvDf0BKXD4aq1o2fHyNsUZN3fqh/sGmXLB82o217LrxeG9yXlBU5L8fmEO+pux5I29VL
AjN7qOsmnA3A0PEAnBvdq/boyrefCj2t/r/lPsyu8m21iAFEnxGCCDbtJrqF6xjaVB/tu8FQ7WCG
+snsLxyPvMTc4I1Eu2a5NiPZlsIXroHewuaWy4uQzh2E+KW8d2XlJW0zKyvvMl1GQZCVvBUAkGSE
NpluQfw4xqtt607PGvb1whJtptoVQfgZbSiLuOA0q3x69ROSQOyQqSej0Sb2K4ctWaMprQe7Hso9
doG0jlecMXTlxRz7dHlQEVRPtxHbPCEarMcmQrRc+rUufuMHgZs9l1eZQ7015lrddyXXmJcNS5lP
UHYuVZ9pi6Mcl6skSjSJsDAxcqUygaSpcO+HfvLcNhe4o2kTxL2SgOelymMM3GUec5AhSikGIEce
bDDp2ISoI3hIZcEEOciRmcTMKRGbrnOfVI4tp+HMjNq9OXSBqBeN5+08RXGFjrgFWrdU4zBOkEoO
HPmUpiKCHYJZgDOBLjBc61j9FkLSppGTdKSl9cDxsFWal52LRsfSFAGq8xT/mSALQ0XYaBzkUjpB
aaLzNDgXA47u8BIdhfjJGp3gbLN1wPgOa7VMYoo3WceR12GJucPburNqqCTXMCe7NGu6e2l0fJm9
a+cibyrPrv//iGswRdb//2RdEXAeAT+ERLei5o10+aNI+mkION3zLVB6rmRZRoB5c6jIF0etDyj9
irwohgcr7UPZP25UZ670wzYLijCfAWE+84/pLoMULrb53MTUFnTisw/lgdrJiZeTkpFj66GFseY0
FOCvzUgPzVPOWewLCNboPop/QW+tkP6wb8Bp0icGpbiq0y9piFD3gMWxXuuDOx4MfzDgNoJPQUVB
RUFFQUVBRUFFQUVBRUFFQUVBRUFF3eeo+xx1n6Pucy70Pud9PmgS3cuoywV1uaC+xlFf46ivcRR7
U+xNfQ5/Vp/DK/am2Jtib4q9Kfam2Jtib4q9qbO3Cz97q2gkabTiUrPjXtC/4ZA9LX47wc5/O4HK
RvKbRLv3lt2vvl+CtxnKfjnvsagilLDuiAfxL1BLAwQUAAIACADCMjVJoq2VN88FAACITQAAOQAc
AHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdvcmtlcnMtc3RkZXJyLnR4
dFVUCQADe4niV3uJ4ld1eAsAAQT1AQAABBQAAADtXMFyozgQvefkT9Bt7KpJFWCwsW+OM5l11dZ6
dpzZOwbZYYOFF0gyucy3bwMGhJEE2CSTpHTIwdCtbqlfdz9JjhfXV3OfEGxHrk9u/RUOHnEwnfp7
TK6vvuP/HnAYzS1iY8/DzsWiC2nHiqy1FeLi3dzzw1S+ZsQfxIUnIHd9GIMniS5R7yXH480B5FRd
GQ91Y2hqhq4oStVGoTOd2kf6N4G/m3suJlFssTzacGJoF/2d5ZIBYjheM1SfHkmbjAasybvk0b/H
yz0OrHigGXFuA4uEVhpBd4eD/kDggi9QvHEDWHC+7p1FHA9nn3MXQnD+9g4HGFnwpw513RypqqYg
CJPjkm0clBsw4wfPEBXs4SgfI4sZE4NMScFbhseVR/0B6is/x5vNxlC0iTJ0lAFo1k45MdbNyhhj
VctXpt1Q3/z9HvBrEZRH8TMi/hOKRDbqvJ4/BAEgMLckUACRjR/sDhrpquR6SQz6zpqpmYbryrLv
waUVQAFfrP7+041iKfrpdLrF0TL4EoKi54Z32QgLsvHBQJbTYImjXjWEkkfwCW1cD6NPvU8InHXc
8F4wU8d1rqsuU/iz4wSuKLIC+qsOhOooASEvDTJPchsguKQr4HQaHEqhv9vHkg5DxCflUVYPto3D
EFy5RHYaTwT2wjiQboiM0Xg4MobqyIzHykeBVdtbkX335TGvWcpP1dA0R9V1ZVDK9LhKC7sRlbuo
34M10ceaNpmoo5E+qDQGwQLXJjlO1pfXSColv6s818yXz3PKxovleYykIstLKzuEmPNSPl7cUh4m
UFEMRzPGoHZm+gtTd3lkupuIDkf6b1xtc7NWFVFnhzULon/SFJ6DE1tM9fcaihNgK8I83SrNUfSh
djo34eBljbcuoeQXpEm7ONYSMooUGW0K6ZsjUsUg1AfQm8chjJtckSPoyY3u8qKeVnRtAsygoKGo
KLkx1IyJomjOemxNTNtyNurgojnC0mWnHiQeMiJTaUw/9tvAcvBfGDvYqWtIig6lED+VH7XtURQj
T5C/XP8L65FWqUvoRag3qEymIlmRyBFRYIAybSkNxlySFKs8BDOd4L+sQK9mRoKdS1WWk8ZZNaso
cBKYFQHLieGOlqsMxItriDYUHd00h5q49n/j2W+5GKhvW563Bl8H4uIJNuessHAq0LwWRywhGhjn
gs7f7dyonAZPrufNk+fijD7VWi2uj22XcF15WRPKdIKibfjxTEVblwzQTCUeqMXC7dylQM0ctslq
tEIzy0qZAKiwwTyZAAhygwWDSm4w8Mv0undW92aPvwxmaz9obOaMRl+a9saNS0BGSxirQrU8Ro+N
1Q8bvtkmwkGph6cTS/pu7/RGGgmCxuYBJRGcMX66UjBHB/WZ48TbI/j4iFEkLlj1NTk3LcJd+8LX
SIOTBzcuAX/+iMEDaOByeqpGMichTHSWBuNA01RMVqJjAk8ecG0pal4SWk+fbfColgmGYk3WNMV1
WDDcBzmr5Y+Y5BuwEv4Wresd4aHzzmoNt9kbNumzsxebqrhXgweZ6UXTA4zftA/lVK5VvEWsaeCJ
TKW/Hmt2yD4l15Vc911z3e557CsQ2Kbs+WyuW1C85Pj4PfJS1hxK8oeDya84+o5tP3BOVmrDgF/P
qzeu1L4vfBBeLrmp5Ka13LQLNviG71leiptuswpTRxi3dCmqPhSHrZDjLxMlI0Z7URT5t7epAKzw
PX5GQbLR7n1Gab9DYXKyfjjKVyfNjvK/tp0qTQD54ORXePolHRzqzupwmtb4vOzkEyIJGQkZCRkJ
GQkZCRkJGQkZCRkJGQkZCRkJGXkBJC+A5AVQNxdA7/vLTh/gAqibrw7xLnLkbYS8jejyNuJtLbf8
3o783o6kbZK2ye/tyO/tSNomaZukbZK2SdomaZukbZK2Sdr2GrStpBFG/p7Jyc57Qf8MQfL08O//
Rvrv/1QKxr/MU7zXjVH5/c56XuPk97cWh9JBCSsm34n/AVBLAwQUAAIACADCMjVJAFZpz04GAAD+
TAAATgAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jvc3Mt
ZGF0YWJhc2VzLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADe4niV3uJ4ld1eAsAAQT1AQAABBQAAADt
XEtzozgQvueUn8DRrtpU8TIG3xJ7UpPDjlOTzN4FyAk7NniAxDOX/e0rgQHJSOLp2Ek4+GDollrd
X3+SWiruFjfzwPehE3uB/xg8wPAVhrNZsIX+4uY7/PUCo3gOfAeu19C9uGNLuyAGNohg8W6+DiK+
PL/1CokfvoeeILnFvkeepHQlXZLt8SxEcoouTzV9opnqRJdludxHoTObOQf6t2Gwma896Me4R7o1
zZqoF6MN8PyxxDC8oqkR2ZJqGWPW4D3/NfgJl1sYAtzQte8+hsCPQOpvbwPD0bh3t/KHFAgMufVC
OsQOHnWpEZYt/5WejcbSSP49Xa1WE1k1V4ohj9N436Ieg/APCjhcwxhm8hkcmOBlSgreMiwUG2jJ
mpsYyPfcM/DdNVwknVWL7f/ncY+QXY/PMIQSQD9F03XTmEwVVUJBdD3/6aJZU/fBdotiDXwpD+hf
kh/spFjUR5XV85cwRODOexIoIJFVEG72GqlXcr0Ug67N1EzDdQOcn8ikBwQFkTddz12U5Y8BUUsu
IMrEYGZJ3gcSXJIpOJuF+1wMNlss6TJEAp9u5eHFcWAUIVOuJCd1poT6i7AXvYjiKl3VcYN5U64X
bUHsPH95zQmJSDjNlsdDug3pNqTbadINz87CxRWRQNLoEvlGn6qqZSmGoZcXBAJHV2YaTPzMW0CU
VlB9JZtqHj/ZiD6OlmwYUUWqUZ7VUMx5eYedS2YR1lQmsivDyRSriXJweaDbT0g0Qz+hu8yVrQjH
HcUgjP9Jc3GOjHiCxPq0YskfQhBDnm552S/rmtp6rc4LuA2fPJ+Qv6ND+DfcIF5AGuTTslanpXsv
MFEUVc5hwmfnJUlL9bi5MIf4gyyY4/Ch3qRsC4jitfPi55yZSVpWDFMq9mVSQZoYaxNLllXXngLL
dIC7UsYX9SGWzkXEg8TMAxwxp5gf26cQuPAbhC5060wtmiEjRoM7xvMWUw6xX03yYGn/i5yTks4V
mlqky3FpZCXJZGDFX5TVL/EyvHbdkuo+sve89zlMC2BSZuuOXMOepZ9ijYdA5gD4L0spUeENQU2g
LMshhIwXSwocKmBFD7g4DaXlQ5YSdwtpYkxkU9MtBJa0JbIZalxI+xvcES0i+qpW+fLbi3A6lk2m
ALILvZjUfcDJJSQhxBr3PJ80DJA0csB6baNRjMVTA+pzzoIKh9WYspQpLCESrN1zIcu8qhQgM7T0
TOzPXEwwq+ciYnjnPMBBdbr/+I7JloWieq+hE4TcHhBkKQGqgeJlHVzeN3MfiUI+prhMSbwjY03M
LPvtSoNJQVcYiGpHycFm48X0BLPz1ut58lw8cXbosJL4D7uniL/0soJX0jGKKsCHgxXttTPGZyrx
WF8gzGXpVClncyEv33q+Fz3XJWamNXWc2IiRWb3QS3Rlqqhdyuk8fmehp8TvDOQzrb7kyKCUtoOw
IkdWHp44sgXy+a37D7xCkA5jEYwHsyer61UMQ2qRPd+jNVtAn6ykwgFFmiFfsavQ2Llb0KEm815q
MmS1um54hcReUcyp4juBBYwzSdM0xVwtaK4LZTafwc+Ls4aS2qlLai1LY20xW7ekNhSx3rqIdXaL
mVOV1IbK2FAZGypjfVXGhpLEUJIYShJDSeLkJYliNLEgbuyVFyWC+gT2GiVDFcfkggdAYVqCurp2
XbxfR39foRTzAfI+7aeZ/SinmD012lvJielAIauxNFjlBtlksRr00ZMXWMm7zW84f5yRNCsufdYq
0dspvZd6VEJrgFoS9VQS6eQB8RLyutLo/l3Y/dJUtavbbfu61azqbRe7xqOu90648T2vvDy7qvV9
3VC3haN4G4UsyLqunernbDV/PZYgtWIPlsiUtleHmsIr7b12M2RV/c3im13E+nDXv4bLZbUul/U3
jkb31CoG3fwa23HddNRLcse/4NfpDt7Z3LVuQzBHvdp4XPZqErSPQkdvftryzi/XnvSk6Nxv9n7a
k6xWzm5y/NUXiD7VMdobw7HJwV0r6PJP+xqBus7RYAPg1z1C7AL3d3zcOBxcDwfXvR1cExSEP69A
BU+zDMughTbgjw2TDxLd7WeKQw3dbPMZqDMxo/u3rvjS5C3KYEvZq6uypla5QVcsU2/kBqShGSUI
7Hu/PLFNzZzHHUHzFw06/h9QSwMEFAACAAgAwjI1SYdPxWlNBgAAaE0AAEYAHABzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1jb29yZGluYXRpb24tYWNyb3NzLWRhdGFiYXNlcy1zdGRlcnIu
dHh0VVQJAAN8ieJXfIniV3V4CwABBPUBAAAEFAAAAO1czXOiSBS/e/JP6Nto1aSKLxG9GZ3UWrW1
Zsdk70g3CRsEFzDZuezfPg8QBOluQHHVDIepKaDfR7+PX79+3XE+u18S75144zHWA32l+2TqOg4x
Ast1prbrE4zukKgIQ1kZyJo0UARB6Dw71j9bMp/dzwo047FxQP/gueupbREnAE7dPDd5NJA6vbVu
OX1UYFrKqpflJI3UfofCw3Le3Tey2BBPDxlNHPzk6Y6vR2yfrDXxev3OvDXDgRncDXFm998J8PGD
qe4YxLYJpnGmjww1++X4sV3ocgz/YHkgiU37qjvYJslz6kIfRD69Eo8gHf6JsqJoqihKAgL9sOW8
XJk2wOQBxLjeD8gxYpMg5ZG4Yp89T26ajdSRnK8UjQuven3UE/4dmqY5EKSRIGOhz3XebsqRsGYs
MxiKUmqZeqwe3c0Gwk13UOrFr8hxP1DAk1Gm9XTreYAnqSQOAQwxXW+9o4itktLFaYBXVMrYXfe6
8QYqLSEUSGf55+9WEI7Kvh2PX0iw8L75QGhb/mvCYe6YLghIEBokMciLglD0Cp6QadkEfel+QaAs
tvw3zkyxhWdFlTPxZ4RwXCCkOfS/siAU1SgIWWmQaJLKgIGLLBCNx94Okdz1JhyJKUNcJ89luTUM
4vugyh0yYn8ikOeHjrT83AqlSErIMGUFptvogfH67T1dhtLZaKa8EvptxrcZ32b8L5vxYZnEmlxU
QmVyGPW6YBtlKEmjkaiqSrES5Ri6NNlJZGdWJVco3ZvKd0k7f75nZJwt38OI2md7zrIy+JyV+qFx
c/kIlOJAGGBpMASyE2GAm8KLA9HNeFRWlQtaWzNXYmhtJhuwmRf8FafyFJR4IZnKvmSr6hE9ICza
4nZVUGTp6D0mK15W5MVyMuPnTpVl45CKW1nEkVETUPcaZh5AzDQ0Wri87KMSfVjBawqnWSwVVQ3t
d/Foj3ShhwcjQZDwaqiPNEPHptjvVHdsPNvMi0hNikEK68Lz5sXTMfmDEExwlfVAVgWAIfJBeX99
W82aq1am1xLlwmL1N7gqxq07WJ1Qt1+wc2FkZOb9I2T2FsBsgnGBdBdnj6zvqdH2ZsqprRhCBX0W
Thz5rHygToD9seCgEmtw+lnFsQxQSLCxQMCAA5r3dBwGBVoskwSdz9BABQhTNE2W+CvJI0t+TWOg
nqHb9gp07fOhGGROaW5h4Bl1bE4V2qBsYJwed0mUl4VbNhsK7/j2TIdxVtF0CD+U0pzjbiS+hzAL
seNF/3e/IjeyHvIjZ8bRMxQGagkXYrhe2Bl8Iz8YTFTYBrCYQOBW4aAOqwXxYz1bZ0OWHYBMCMt8
ywZGZgHabUVqoLUiUsLvOKx012sryCP/h2Xb0+g9f309QWApIh+KzyFy4WMJCMVz5B0rHE6Wt5VP
oJhKxIJj/uB66mbgmMq2ijVq4TBNSr4QFoeidMphCwvVaWFQQHVKCFO17jLGQG6uXK8k2E0rXC6S
gvj66rwDq2TQg1L0hpPZoc7EDIiXK6pjo0SFcPeifQ9GUDxYDuyIfwtNBXNnbvTaxsmtNE6yXe2q
7uUidEnHpQzvOBpQTqw1TeNjNYfd0ZB5YtPoqJX8Vs50275X2/dq+15t3+syfa+2fdW2r26zfdW2
AtpWQNsKaFsBzbUC9rMJOH6jlyu5ISTZ0pSBRTrwIFComoCoCcbhPhke3wkK2AFym/rnIfos53MN
MW2s1UM1IBfVaBS0bb6g0VCNOPBmS0pxt/69888zk3pNnU/QnWmkOjof0a00ciJYg4qX3RM4ugVx
igX4teCkVOnmTVinNXIRc59qsmYmuC+WJ2ebKr/gBg0S0ZWD4ja1bv/Mh13VLMN+XslOJhpT2KQc
UnJbnU2LucwFmU93Lae99FPt0k/M5NnZ+gTf2+7qwbJ3LP0m7glVtFOt+0TNGLX+raRG3NDQ1abT
XXOey1FXczv1Rm8JtolwiTt+F8HG//004fyXNi96WHHWaLqFk5Bmgv6Ig5OrjOT2pOZSJzUXBYIb
OyZqT1g/Z97eSpPkdlCkkDqZWA//SD7nPHmkjtT8oLX+Y0Wi3zOa70DlkELRmIZi/EbTFanBvP5d
/I2hQ8tCZbqhnqdW+lBPcPa6XcRjP3VFEmSpzKKKONKUWhYFClm9sOh6NmrClT8BUEsDBBQAAgAI
AMIyNUmBWVEhIAYAANw1AABNABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29vcmRp
bmF0aW9uLXdpdGhpbi1kYXRhYmFzZS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA3yJ4ld8ieJXdXgL
AAEE9QEAAAQUAAAA7VtLc+JGEL5z8k/QEariKr0QEjcb1g6VyuJae3MfpAErKyQiCXt9yW9Pj4TE
SPOQeNkQ74EDmn5NT/fXPS2YjG8fcfyC4+HQQymaoQSPojDEbupH4SiIEuwp14pmqgPD7Bu23jdV
Ve18D/1/1ngyvh0zPMOhW+O/i6PlKPBxmIKkq6o0w+nrne4S+WFPYYQ2iurSknTH6nU4MvzwJfqB
pyscIyLoJvSeYhQmKBP75C9x3O11Jr/cUHNDtMLh+PYbBjlJOkKhi4MAezzJfEpi2aeTJz7CSOL4
Oz8GTZQtLjllRgjPln+ZZ92e0lV/DubzeV/V7blmqb1zNgwI7kBjFL9B5uEAp7igLw5om1NPUZmj
XErJKsdCuYGOangNnntGoRfgcaasmWzzvUzABOx6esYxVhB8NMM0bas/0HQFosvzw0VnN1EP0WoF
QYhCpTzQ35QwelVSmY4mq0frOAaUKTVJGIBkHsXLDUfulZIvTw5vxuXMj+sWuT/ApEcIBZk3Pd8b
s/SnCFFH3YYoNwYLS0odQDilsWE4jDcgES1XhNLjkERhVcrj2nVxkoAp14qbO1MBfQnxop9Uioap
m0RgKcrzkxVK3ecvL2VloBLOmKm9SroRHBNtLsM4KoGU7hX4xhzouuNolmWypULi6MZMw5mfRVDL
1NZjJZtunz7ZKB0nSzYSUdtUq3jWgDMX5R1xLp1FhFPrq56K+wPCJsvBaY33OEdiWOYHusuezzTp
vpMUxelfeS6OwIgFpgpmQzMYY5RiES/bEKqmoe/dxYkOfIYXfkjRT6pH+CdeAi4AB/2U5TqolzhK
mGiarpZhIkbnKQ1L7bB5aw71BSwYkeMDbUpxOYDzevXT5xKZaVjWLFvZduzKFjRJrPUdVdW92QA5
tou8udbrtA+xvBZRDzIza3HELTHfV4sYefgrxh722pQWw1IB0fAr5/keJYe6yWR5MJ39Dc7JQeca
Soty1WN2xlBmG9t+haxep9P4xvMY1s3JPojWyzDdBmbFbNNVW9gzDfNYE0UgdwPiRSYlGrwhuS2y
tAJAKHCRYRBAAe/0kEfSUJk+FikxGSt9q6/ahulAsOSSaDGVfQH3V/xKSQT4amb58tNPSDqyJlcC
5DX2U5r3kSSXFIQANR5EPtnxgJSui4JgBrvoyUsD6BzxQkWAalzaiik8IjpYD8+FIvOaUoDOUOaZ
3J8lmaSqlyTy8C5xQBDV+f3jGwFbXhS1W8ZuFAs1QMhWCCoCtott4vJhN/fRUSiOKSFSUmv0WVOV
ZXNd2aEomBonovaD5Gi59NNqgXn1g2CUPZcXzgMUNgJ/XX0F+JnFBlzJ9yibDdY3K7trF4jPZRKh
voRYiNI5U4nmUly+80M/eW4LzFxr2jhxJ0Tmaam26NpA0w8ZtIrwnRc9DL5zIp9r9ZWABlJ6FsUN
OTL3SeEoGuTz6/trXqFAh9MEk81swOpmnuK40mSPNtFaNNB797ep5Nz4vXqFBHSiWQDJ0IQxJWEt
ULiWgCoAcDKwgK8vWEnFAXKZ9leRXXJlWOBUdFu4x+mmDJ9CoCDZc+T7naQAxLRwtEDVD67jpGjG
4+C8gbJVm4dmOIQna9yIt7u/YPr/7KT1QfIV1kqPRBRvs7YtL5sScYfs/fBm6nRM51WoxBIzOEOV
Vqg2kjv2BHDT/t00Kr7MWeBFurpN03u8A9t3m/IGGywtTDzJ7t7banHFzmZIDd15RsM03nVO6ZvF
o6o578Z9rzqwKJqrpkZzIW7r3k8v+1AemFs6sfuPpUAOX/c7WSIAoTpBpYN+QcEa30XxH/itvTGN
itrAzn1bs1r6kp4v7KZ/DwVi6BBfZOhF7jgvIavJOkhBYBqv3XQNSTEKohCLp37nYcVBs8cj3O/e
ffb5UQC448z1tMjXGi/22nojyDSMhxtQpfX0+D2w5J3H00fDjdPPuVsiU9tx+GW+Pfk1mD/nwfyH
vtu6sLcCn/Y93OdJ4Uv5fdrlAAqTRVTYk59bVw7PcCzHqhIt0dsMZ39dmWzwpc5h2kJHCf6OI/3l
Mvs/jvqWkjRayVqRPcQIF+if92VPt1s3ddXQmzxqao5t7uRR4DCszn9QSwMEFAACAAgAwjI1SVdG
kygIAQAAJQMAAD8AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1pbi10YXNr
cy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA3yJ4ld8ieJXdXgLAAEE9QEAAAQUAAAArZKxboMwEIZ3
pjyCRzxUwsaQwFZASEyVWvoALj41VuGcGBKpb1/TtE1ToFWlDB5s3f/df/+5KrIHsEewaarkIJ9k
D7lBhGbQBvPW9KDIDWEiWIciCjc8EkEQeI+o9weoiqyYaNK0+aEvrenyVgMOjrS6pIVJxD2/kxop
mUD/RPnfSTyJqTfD0Hg0L3C3AytH0C2q2krs5Tu21h1Yn3rVOQazAyyye3CcfsglNtC2oObI85Wj
s6vzliMyvwxWaus6LWu3ElULn/eviHrXst6CBSLdYaEQm5gxHhDnT2l8HqcrXRtjX0+mx4fzD6jN
xegf9NPCVpT4Ys15krA4FvS6pEXhNP3/Vb8BUEsDBBQAAgAIAMIyNUkoBGnqLAEAADMEAAA3ABwA
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtaW4tdGFza3Mtc3RkZXJyLnR4dFVU
CQADfIniV3yJ4ld1eAsAAQT1AQAABBQAAACtk8tugzAQRfes+AQvQWol834sAVVilapJP8DBQ4NK
xtSQPv6+RhVJGyANUhZeeDT3zvG1nWfJGuQ7yDgWDWDGOrZlLWjPWL0dIM+SoRLHo5JhEoN+BmVZ
etSOqAPUJPqU8rdzKhCh6CqBmrFnFZpkQrBjyGsY9qsGJOsVLbknmx1IIEwty3Hd0PcCOyTKn1f4
oi2zehRNA5wwJGIo3xEUH6S7NOM/6vQgJWB3nHRBoFpKIfcnBR5Vf5N1qKnl19/UTN7nDskTKGXb
pQwLqGvgmsG3k6B9e8KKV3X+dSdULorO8iin4AUKbQ5hNECFrl+BscxvPl9e8dUZ+U0enRe54elB
KJMHVijzrx/MvnBKfSOmbq0HJ4auPpAb2HYUWb7vmrd1mhWO817W/Q1QSwMEFAACAAgAwjI1SYsk
8yBZBAAA4xcAAD8AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9y
dC1wcml2YXRlLXN0ZGVyci50eHRVVAkAA3yJ4ld8ieJXdXgLAAEE9QEAAAQUAAAA7VhLk6M2EL77
5J+go12VqeLlF7cZPFNxVbLexLO5CyRsZbFwgBnvXvLbtwUGBEjgmXiTPeTgA9Dv/r5Wy5v1w44m
rzRx3fhE+Rpn2McpHX3i7K8Xulk/lG9ct/NqMkUT48siDMOZYa0MmxpTNFZpypa9mHMaZCzmo8kR
Mz5FCoUD5iSi5fP2RBMsNFJ0h54PNKEIw8+0HWc5ny2sJQL7hPH96G2mPsanEyUIcxSXr39CPD6j
rM/HUNTeS5JQnlWeehRAJIyTY63BK61mZW1jOtpoOjUhvtK4EHrAwWeIeZfFkAtYNGfGjFizBZi7
vk1txw+/U9BMMw/zgEYRJVpbHUko+ni0++0XlglpOTrX3dNsmzymYCBi6aG0tOFhDFrk8gjqtw5H
3x7CyLZVxNtg1p47NZ7AyBMOwPhX8EgjmlU28vDgc92L57hMXS3Z8/U9hCY5oQdTzp3dis2m9f3Z
LPn4bmwuqlLzOYeahqpFu67EGaBy3ZWXmh9EcUo7iqpq/j2EAHOeI0CHwTKSygcIbmWmuW5yoVx8
PAlJohCJedPK7iUIaJpCKHcoKIqJwF8qqshSZDrGwnZm9tKa2Y7lCIOVKcLSE86Cw+OrUIKSS9ks
Q9svxmhFNzEVdMnJw7CwNIbaOAvLWq3M+dzRD+T/j84f7eh84xFJDJofkf/1yfCvl2sZ+mZv3nA6
J9kfBRc9CGJPnxPMU1yAsqNQAxamUkJxRnW6OcPuZG4bjm2pQMn4a/y5LuI9J5KZZ3akyUTfcJ/u
GZfkN80W/kqPMBc6m0lbq6dAcU9cTyyB+XcTmJimZcgLhGY6b+WxdN1srsORHiACT7QPvEmbGDqz
7FBNZnksm/MlCqqQUD00BdZmK8OwiL/Aq2WASWhOR9dDrDiLpBd5mC0cKY+YT6d9ggn9QCmh5Jqj
xZ4bMNHoWfH+HUdOnV/Bg63/JxSnGDp3cLSg8bSTWUeyI1GhrcZXw7sTGFeY3fICMjogKePQf+wg
eyApPSEUshpel+Oto6BhtKoJmAg2oe2uRPZmjWbzmbG0nRX0vLAkm2nkBdof6FmyCFNoWOXxC0sF
q7ohS29c95zAhUnS3QmO9M4SIP9HXU3e2CA0CXAU+ZDFtH/Cg09PBRXNcPIG4a0SksF6Ay7ExyPL
mgQ9syjy8vf9g+cfOBxkXNt9g3GdjwMNLXLsoVkn2b67Skk1pZKObj3CWnoUShWNegnxxDhLD9cy
QhnNNUV8ExVUXporjgkX0XevOD3EUqGnQywF8pVRjzUy2+Tej5MBjoRMMLZcMH68valVFekkVywR
IpnL3fQ+zGjSWFK8C1rLBeTd+0HW0zf1rtMQoeUfaEMzphJsAUUZCbi6J0Rc+ODxlaKs3XUNFAte
/iwaBBXXXhz6ruDdv/da62J8arDKsQy4OLTLchHr1gsLEHcPADW2pZkp/mNp+jVXS6cpdMRffeoJ
yc2lGW0Ne64tXmeq5IbI9ZlVH74BUEsDBBQAAgAIAMMyNUmA0HD6egQAACAYAAA3ABwAc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtc3RkZXJyLnR4dFVUCQADfYni
V32J4ld1eAsAAQT1AQAABBQAAADNWElzm0gUvvukn9C3SFXjKjYhpJuN4oqqpkaZkTP3BhqpY9Ro
GixPLvPb8wCDGvWCFSs1OXAA3vq9tXu1vN8QfiR8sSBFiaOMFrtHjlmB45Lm7OYLo/88k9Xyfonh
Ly5ImDNG6n9qDnSLRvDYnjVzvakbOPBYgSwHuBl8eSZnvCpKyo75E1kfCMcV2R1LBKZHuid8PLlZ
nTxJaPJAGdj1CbMko2z7N+EFkIY7zLbDCkUXzaJUzgbBzXiPKZsghSdmcdfwPT8Qtrz/i4Ccogwx
i0mWkUQlWU1ZQyJiKYESZnlR0wlue5ZlmYGMz/gfeL4PM0pYqQBxPnUMIA6IGouSnLlfwyOAVnve
oFnj90A5uDO2/p2laTq1nCD1YusHmfRG54YI1sIMvLsqWUj73uVCAe4+7ggnCMNju54X+LbtWAgC
m0BuVS48gJqcf4M4koyUnYw2yqcIPeZdxJWUhr8Ki6VP44kA1txyE2sCnIMu18qug8x0ZjsdMpeJ
+pwfDhBtzFAXxd8Qy19QadIxZHX4zDnkbKfJwAAkac73rxwNKh1fHYNxEqkbTk17j+MnMGkDqUBu
Nn/+TsuKSvy6WGxJueYf247eSlixNAcFbRcATRp2WRGqP8EbSmlG0IfRBwTGJrR4MjfIpWyykH9x
VfISoyqg/w0loe3XSagrg9aSTgcQrsWeuVjw1+aZ7w8VZaIgyVlfyuY5jklRgCm3KG7iiY7NEEC0
6HVBz/EqgZ0ogO6Ay3j38di1OqH/uFHTtLqKr/q7zrm69ws1jMYjwMabOc58bvu+J48UA9CDxU5q
nHUjSBoW16p3J/j59S7o+Gn1XmXUqdp7yLrVzNGUfgVurx6B055a08SZzoDtnW3AWMLrM9XXiajr
e/8j2kEa2cYJD5jxUrdpDixHnOCSmLbU/oJkea6jjXtEtpQJ7Kt+KH50x9Tky7k242bRZMaFDfVk
p/ACasIKtGq8nLISvdBy17VTsZfafoBOeyM6dboqwtO5ZTlJNMPzIMZJak9u3h7Yxtvepth/bwGR
5sKXw5bjhPxBSEKSt8wD17egDZEXxfdfb/G8cGoJ231dC+voK4Sq6Vu3MJ3QSN7IJcrrLPqS2DVr
EliX1ko79D8lnAecMhyEZFpNT2hbnMSgqWpVEHBSxRatN22drZZo6kMn8oLAdcwD4bNO/4VgoHGM
sywCWyeD5/ZQFRZNWwoHU0lFJCbGFfIu3+9p2S+GF5plYf3d3HLeoXAwu8/V97Jb+jkQ0MZH09n+
3FnT6aZNayWTLrXNxJeZK6S2Uuxb0Lgop1Va+ruBDWfQ91wk6SpElQZShShSWGn1SEOz5ndRzgeS
PaVV6bU7wq83+s5QEcafYg+onHk9E96lJeG9PaMBpd4NRu8aqqUhbup1pUfSXfQONQvlHbLOElB1
lyTVQQtejwSV51HXpOLb7nYlJ4oyPyi9w1XKyX1XnYniWljLO5We51gwB/vtrLqt6BPZ88DrE+3x
t4jUV5mrV3jPOVxfC4fmetbovfZGQL43/g5QSwMEFAACAAgAwzI1ScSwdEQuBwAAa14AADYAHABz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1wcml2YXRlLXN0ZGVyci50eHRVVAkA
A32J4ld9ieJXdXgLAAEE9QEAAAQUAAAA7Rxdc6o49L1P/Qk86szeGUBU7JvVdtbZ2WvntnffI8TK
FsENaNuX/e0bgmAgH4Di1vbmwZlCzklyTs53yplNbx8h2kF0cwOjGCx8L1o9IRBEwIm9MLj6GXj/
bOFsejsFeBREcBIGASRjfAztm3aNf4alD3tWv2eb+Kfb7DwYO8BvtrCEy4P0gl34AucbiEACNg5c
CunJW0PU6V7NDpS4nnvvBXhfv4PA9b3g+S+IIgw6WYHguXpBmkT5VDxibfuqswZe0NU4lMina4V2
hoiJH0bQLW7T0nVdTrhTwr9H4XriezCIOUSP+qaE6IqpOvRM5mhQICfcwGB6+wPiOaN4AgIH+j50
eYziQ5ITxnAU0whoyk3Cv3sPYbiO/jZcLpd93bSXlqN3j0MSMyGUnCCZTIK7SoQFZs+5LESYuKcV
RFAD+Gf0LMseGIapa5gTLpathIR7vEyI3rFcQB/G+RwZWw4n/hTmEsSFlIxydsy86nQpZo30nqt3
MWYlyWSxdjjTHxpmzplmUz2Emw0+bRBo+Sn+pgXhqxbL1qja9WSLENaBfCUJAgZZhmi9x0i5kuOR
M+i4C77BIbC3wHnBW3rEogDl1mnKwlOH7yT6yyDyuPlvlQQYAyIBIhnMdpKvgQHntIbf3KC9qofr
TQLpckDCoDjL49ZxYBThrXzTnJSZ2i61wJoXFUyaZVrJhPlUrhdtQOys7na53aKUv7dILUaubok1
EhFHLBWlQFrnGvPGGprmaGQMBhZrACWMrtQ0SPgsMpiM5W9L2Uz7/MpGrXE2ZUsk6qBqBc72EoMv
0LuEubQWJZhGX3d12B9K/QSW/HkJt50j6Q2sD2SXvVwYUrpxKIliUZxWEaogCGIoi/GK4Ypu9Uzh
wS3gsxdQ6LPiURwbof0J19guYDx6Nna1ywsgBNZ5Tpulerb5sB3qAe9gkhwfXk3LQld8Xq9evMot
M22WjYGtHeJJ7WA0E1nrj3TddBdDMLId4C6N7lV9EeOEicXnLBBiXMzPzTMCLvwOoQvdOq6lN9Cx
RYOvnPdHuBwqziZ6MF/8jZmTGp1v2LVo12wsy0ASwg6PWKu38RyNXZdB3Z/sg2j8qNia2c88SGVN
JIFcAsSDjEpUcEOSy7CwAkOS2UUGQWAKeKcH3EQNtfljphKzqdYf9HW7Z42wsKQz0dMU6MLY3+Er
NWNuh2Qod29elKgju+WCgLwiL6ZxHxPlkhohbDUeRDxpeEBaxwG+v8BUdCvT9wlPVARWjQtb2AoP
iBbW03Uh07wqFaA1lHkn52cOJvHqOYhcvHM7IJDqF/hOBCqaBTV0IM1WfpBaCEfm6g1DJ0TC/WAB
LwAUJjgM1pHih2bMpmVWLIFCu0qN0ZJB+aF9ctPAhVjGsXUOxoCH67UXF93Rq+f7E/Je7mZPWLDS
TZSXL7gJZrDCCqU0yupcZWJlmXnmH7hIIh8hARba9BQpt/1SK54WJ+uace5u6jCxkf3mrVIM6I2h
YZ5SOxV5A570MN6AI/ncXV8LYLBKL0JUoSNLL3EzWTh9eVlCiSuU0eGEzAkxe2M1XsYQFULyyV5a
s3D76Gg4lpwbP7IvgOR3G1U2hnttItoJXgob8KS8gR93UIulpw4SwWCNKl9eBEJc7yKEtovqHugz
3wP9khcd4hmJnoGCj2upolPh18eVC3/OklCdwGB8NqbLgwu8g2zpWd0K6mWV1UgWXRFxEBgmmChj
thVoEx+U+UDMo/Rmde+VIxEpoOSiaKvMjMkPNXWCEg0ve8MaQfeYhyPKGMWw4jJKgtPp1lMW3vw1
WNIkhuatUQqhTWNwhhB6zJEDRmXZKIe35Rbi53GFKF1k8PylItqwpZLz14lVVeh1waHXB1bLVWyn
Yrtzx3a/xFXDZyzl3yEUolML+SRKnGJnFd4Dz4fufq7TqkwqofjQhKLtEv4XSD4+i/m/xFRIJR8q
+VDJh0o+VPKhkg+VfKjk46TkIwffBg7YPq/iuzcHblIdJZjkrpPzb3IqUVGJikpUVKKiEpWWExWV
/ajsR2U/KvtR2Y/KftRXHuorDyW0SmjVp0nq0yT1aZL6NEl9mlTiDOltUzg8a2DadhFoDd4XkHSx
mu31u4xh6cJjE3TmOk/fmK/QB6yFT4Cq2ueoJjhtNMG5hK4uSXX22K4udYsSp3V/aVrMqNl9pUHN
QzVqaa1Ry8X5uYYfytauDad6OAtc+MZhPTXaZisYMmG9JjD52rzXdfqKpJBVLV/2UHWavaSg0jYv
NIiI29kMyd94BRTuvERIgY+TLfLyD/heC6Z+S5aGTGvehiU/LGkDFr44FYeFTVfUbbK6TVbf3J3l
/rYi++ljv3RU9tMg9WywGdPWq+6UOY0pyH+/cNtSJAESft63pvhkeW7D6ODkZhLC/JXt5VzeexSH
G+7VfK2Blhamg1HylkryTb1nVtYOjJFtNasdGKPe4P9g3UeR9h9QSwMEFAACAAgAwzI1ScbhDoF5
BwAAsVwAAC4AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1zdGRlcnIudHh0
VVQJAAN9ieJXfYniV3V4CwABBPUBAAAEFAAAAO0cXXOiSLDqHn3yJ0zty2rVpgoQEX0zJqmz7mrN
bbL3jjBGLgoeYJJ9ud9+PYPgIDMDrHob9+Zha8uhu6env3sIPb25fsDRC45GI89JnLkT40kYBNhN
/DCYrMIYe+gK6aY26Jn9nm30TU3TWl8D/+8tnt5c35RwRiP3AP8uCteTlY+DBCi1i9R6w77R6qwd
P+iiEtFKUh2WkjG0ui0ODT94CZ/xbIMjhxAaB95j5ASxQ8k++mscdbqtKSMG37vzAz9e/uoE3soP
nv7EUUw4WDrBE2ZwCQssYrjBwc31FwwMxMnECVy8WmGPxxIf8lLoMSKgoKlcqSTv/AjgOtrbYLFY
9DXDXpiu1pUoOJSohRKT4C6JfnD2O1dwDHw+LnGEkQP/9J5p2pauGxqCQ3mgTnKEO9gmjL6BsvEK
JzmN7IR7a34Mc7PgQkqecjguLXW6jLCGWs/TuoBZeWS62Wkk0x/oRi6ZZqTuw80GtO0EKNfiJxSE
ryiR7VHF9WQbReDf+U4SBABZhNF6h5FKJcejOuh4cy5mqq5rx30Glh7AFHDr4Y/f/YRAsauj0RNO
ZtFtDIgrCAkZhWmwCGGDLGLCTgL08kaILsEvtPBXGH1sf0TArOfHz5KTQky6KbPM2J9LwmMJkafQ
f6qMULeoEYrcIOMk3wMAZ2y8GI2iXeAI1xsC6XFAwqBI5WHrujiOgZUr5Kb6RC9p3EV+XMgYpmES
gjkpEN3GSdzl7UueFpj405tr3YLHk9gmOhyNe4wPo04bZGMODGM41C3L7JbCqUTQlc6OqZxF4beU
WE/l74Z9fn9n9jibvxOL2nt7QbI9knMErk+EW/BHwNT7Wt8z+gNAOzIMSF14drD1aTTas8wfKG17
MdelGR5kFiWiEqqikIywk2BZ+VUsJjWzZ3x3BSiylzl+8gMGfhrUSRuHWNLKIrWMhgF1zyHzA7aZ
EKGR9LK3SvTqJ8s8nLKxVLdstK+x0T7SEQ33h5pmePOBM7Rdx1vo3VZ9xXIqxeLvTCClvPB18xQ5
Hv6MsYe9OvmgZ2kQhvArZ/39FZ4NsxbTCVFfmM3/AlWlcesKshNqd0tyLkFSMe9/gmdvIZiNPa+E
urOze9HzWsV+JT+zILV8kT9wDyB+WFJQhTQk3WYZVhAUsthYQhCEA572HI8YBZo9ZA46vUF9C0KY
ads9Q55J7kX7NxQG6rjOajUHXrvyUAx7TnhqEcQzLmyBFR4QaxjH211m5VXmxnpDaU0uzxxMkkVz
ELkp5T4nsKBn/O32zY+TeBoUzQgeoPYnFNJFFNPV1IwGBpiRtC/5QqI20Ijo/wIqWt+qoILdMPKk
rFjQVYiIgB/UoWAN6vnEfTPVsR4gtmdhRGSesXbG5LNdZ9Mg+Js6x5q/L/SG67WfFBPJq79aTei6
PF0fsWFlgD/cvhDgSw8rYlp6Rtkd4uFhZTcDWWTnIomiuxy4GbtMdOeSrSONRmGdt0uxrtYHunHM
zaooSfDMoJQkOCbM5botgAHfnIdRhbEvfJJ9svr6/ZWNB1JhogenhiaH2UWd8SLBUaFGT4VC6+r2
UQVpItEbv9QvgOCsl64KFjnggaFwOYGtIBKTSwr4+YJRItW6QwyjHB359iIw4nqvCtgAxz2Q1Et5
GJxXKbZm87wUB7CyxZVx5NxvSqoCkYQU77C2LQ+iEnLHnP34HHmBb0zEFKmfQRUvviA59X3MLkGP
KzducjNzKeLeFwfjswleXmAAB9nW07qXmT8oaQoi9gO5t6qoOihMqaA4xDxV1UzzUJYHQUbpG9dd
Zo5FR3EO0hQbmUvP5EpNE6HEyw8zYo0KeszDEbWAXPp1vICHWOOsTQpk3h4H9bEB3e3p6+MxR8El
XyyXMDyWT1Acjyts5F1Wxj9VuRqe6Er35ylEVV2l6ipVV6m6Sr0BkLwBuMRL89soCqNjr8xppXcD
CSe8c/wV9na0jrsGUtW+qvaPqPYvJZi/x95DVfuq2lfVvqr2VbWvqn1V7atqfw++DVxn+7RMbt9c
vEmdmGLSt3+cvydTnYHqDFRnoDqD/3dnoNoN1W6odkO1G6rdUO2G+rxAfV6gXEC5gHIB9YWN+sJG
fWGjvrAR3B/QQSsF5ZmWYdtFoLXzbY7pxKrpzlEPMUxNqDbBFK7zDDFRM79qzXJRE1lOMZHlPcwI
Ibe0/8Wsj5/9GlhNLDnPxJLmn2TWvsZNXWUaePiNc1jm6SnnflCC9SZ+5HvzlusMtkghq+Z77KDq
TPZIQaUzPVJxXiG2ZdxN8TAt8xNKn+9XWrm1g5HEYZRaOmyBgBNI7ehD+0Nrkj4C85j71BHRKnyF
IoI0b2RgHHgz2kLoz1dEPG4Dd4ndZ0xaKMrJbwB/hTq7xtO27S7pBn+pjZ/3kYDVPnrX+jNOGhpB
87kmufFJJ5rw3aP4WDjFRL11Vm+d1ddnld1RH8qQ7+qOGrSmDZgxbK3q3TNn/gL9kxbu9AVSD8Hv
3QSGC+uDG5YmR89MKHATJ+GG+1L+TA/YwpGuMh28ofWMyosBfWibzS4G9GHPkvb15fHNjaEv5lh8
xfwLUEsDBBQAAgAIAMMyNUn3NTUe/gUAAF00AABCABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tZXZlbnQtcHJvcGFnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAN9ieJXfYniV3V4
CwABBPUBAAAEFAAAAO1bzXOqSBC/e8qfwFGqNlV8qejNaFLrYZ+pZ967DzBGNgjuQOLLZf/2nQHB
GeYDjFov2eLgQeju6en59a+7QRfzuxVEbxBNJgHIgAdSOEviGPpZmMSzKElhoN1qpmOMbGdgu9bA
MQyj9yMO/3mFi/ndnNOZTPya/gNKtrMohHGGLd2w1uzxwOr1tyCMdY0z2miqT1uyxkO9J7ARxm/J
C1zuIALE0DQOnhCIU5CbfQq3EPX13oIKQxg8hHGYbv4EcRCF8fNPiFLiwQbEz5DSJS7QiskOxvO7
7xA7kGYzEPswimAgckks+VXsUSHIRYu45pF8CBGW6xu/Ruv1emBY7trxDV1xwIniWHJj9AZ8ggHO
iGgD/3LX+jrjljk09GI3D3jFBL3jc4cRzGApX272COynpEKIUFJxV+Ch2sGxYQe5g/LIbQg64Txf
rFns8L3KghT79bSBCGoAf0zbcdzhYGRaGj75AGO+d5qpx2S3wwcPYq060D+0ONlrmWqNJq9nrwjh
VK9WUihgkXWCtgeNIiqVXn4G/cATahbHdQf8F+zSCkNBFU3MDXNe/hoQHRtHiAoxWHpSrYEFl3Te
TibokMDJdkckA4FIErNWVq++D9MUu3Kr+UUwtbeC/7QwZZjbsRxisDIVhOkOZP7m/q2iZyrhbM/Q
mXQjHCPbXM4/VAJp/RscG2dkWeOxORw6OkdrikA3ZhrM4yyjQa7AXSrZLPf6yUatcbVkI4g6phoT
WZtwvyTvSHDpLCKa5sAIDDgYKUsGRv6ypnuZI7GHzm8Ml7v2TOW+0wygTNaLNHRkCIIMqvoYtisz
HNv6cCslO3APPocxJb9gj/AvuMW8gDXoq7zWWb3ERWBimpZRwUTOzkualtpx89Ed6gv2YEaOD6+m
lR06Pq99mG0qZqZp2Ry62rFt1o6kSbA2GBuGFXgjMHZ9EKxNvdceYoLmj/1eNkJcifmxe0YggN8g
DGDQprTYQwMzGtwLrn+g5FDjRJ4HS+9vHJyCdG5xadFudG5nnGS+seNXnNWv2RJNg4BTPZzso+x+
q4650Z9lXGBNhkDhBuQ3uZRoiIZiZONlJYRQ8iKnIKEC0emBgKShtlyVKbGYa4PhwHBtZ4zBUlii
zTD7wtrf4J6yiOmrWeX+V5iSdORdZgCyR2FG665IcilJCLPGoywmJx6Q1vdBFHl4F7q6NOA1ZyKo
SFhNKMu4IhKiwXp+LpSZ15QCdIZy19TxrMQUVb0SUcO74gEJql/gew6odBG3yIFiWvlOqFmEuXa3
oZ8gqT8Y4IwAY+B4sw2KH08LNo1ZOQKlvErdo5FB1aHDcHNCCXFMAf4+RuDJdhtmbDnah1E0y6+r
y+wZCzaWifryTJngbjawULFH1eO8+mZVk3lZH4RKshqhEJZyeqFUcb+SxYtHg21pXOhNmyCexN+i
VdiG3hyZ1jnPRmXVQIQerhoIkC/0+kYig1PaS1BDjqxDUmbKdvrzTQm1qFCkI2iZyWYOZDVdZxAx
LfnsgNay3f5wN5wpzk3c2TMieE3gRTgZmjimEqwBRegJXgoTOHm8gb++QS1TM+OFGnQJvtu9B6Ap
U7hXZQKLNATvSVzDFSUwjPGVV9hIMdd+DdLEUQpTos26rppfFebO2fv5Vffqr0MuT05yi3kKAqb8
1R7aXPoZ0aHkTxsXbvu06DdOc5/rLI9NyfRqp6pubLAH5dK19eQEnEe5ob/IZbjWoa6pfJf2GXqC
bhSWjcJfcdS8RyhB5w6agLS9c1zdkwcQRjA42BLL8aNli675Q6DLlyv3jTOm+IHAwblUFk9Q84aG
IndPfYrFfhV1q77xFlPmVKQje0Qil5VXGqJzhRFT6HeL8J0yYIrWqM2Xljm8wnw5FWCGqyk8+EUu
X2C4nDbA7lNOlt24Jxj3/j/TWjd8dMNHN3ycM3x8ld8TXHQU6oaP7j1c9x6uew/XvYfr3sN17+GO
0xJzN82SnepvAJL/U5wsLV2U/mFefvWIJMcybKv24zby03NWyBy7Diu0Be8ezP9LszgwUl3DHkqB
Jvl/kHwP/wFQSwMEFAACAAgAwzI1SVhzuGrvBQAACDMAADoAHABzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1zdGRlcnIudHh0VVQJAAN+ieJXfoniV3V4CwAB
BPUBAAAEFAAAAO1bS3OjOBC+5+SfoNvYVZMqXsbYN8dOal21tc6OM3vHICdssPAKkkwu+9unBQYL
kASOnZrMDIdUCtEv9ePrFuDF/GqF6TOmk0m0w2R+9QX/94TjZOYSD4ch9i++kgBWFvOruZu4azfG
Mkp0iXoXi/eT5+/pZxEh2EuCiMzCKE7pdEsbmdbQdIyhpWlaXceBZzLxKvw3NNrOwgCThGksSzPH
Q+Oiv3UDMkACwxtE9XlJxtgeiDYfkOfoES93mLpM0JT4d9QlsZuKvQu2mPYHChMiBeNNQMHhct4H
l/ghzq8LE2Iw/u4BU4xc+NNNy3JsXTc0BGHyA3LPgnIDaiL6ClHBIU4KGXnMDv6+i4r4CSkVdwUW
15b6A9TXvo02m81QM8aa6WsD4GzccqrsPJ4ZjnSj8Mxxom6j3Q7y1yWoiOJnRKIXlKh0NFk9e6IU
MrDQpGAAkk1Et3uOzCsFXxqDvr8WcmbhunK9RzBpBamAL1Z//xkkjIpfnUzucbKk1zEwhkH8kEtY
kE0ECvKaBk0S9roilC7BFdoEIUafep8QGOsH8aNip37gz+smc/nnsQKuMYoC+n9TEup2moSyMsgt
KXQA4ZJHwMmE7qEw2u4YpS8giUhZyurJ83AcgymXyMviiUBfzAIZxCVMswyLCSxEget2buI9XD8X
wFXsxtmYa21QqniG1rLNpUjO1TDq98A31sgwxmPdtq1BrUEoHN1Y7Dj1s6yh1KD/XPVuOO9f75yO
d6t3llGHai951oSYy0qfObdUj8CpD7WhbwxHwHYiDChLeFlRfZ6Imrb1A73tbNa6purw4DOa/JOV
8gyMuMdcn28YdSh2EyzjrY87mmUab59RJPmyxvcB4egXpE3bqHIpJ4ssM44E1IOF3AWomTGnsfZy
yEr0EiQPBZzyWKrbDjpMgeiAdCzCw7GmGf565I4dz/U3+uCifWCz3XILqZkCh9T6wtfdPXV9/BfG
Pvbb9APT1gCG8Itg/eMNnkd2LW5WT2thuf4XQpXh1iV0J9Qb1Pxco0zdfLiEyn4CMJv6fo11n2e3
svuF0w5uKplteVoLe5Yky3xZPQg3IL9ZC1CDNxTnoTqtBBRybKwxSOBAFD3XZ0mBlqu8QBdzNLQB
wizHMQ11J7mV6T/SGajvuWG4BlsHaigGnTNRWCR4JqQtmSIi4hPj9LzLs7wp3fhqqK2p/VmQKbpo
QaJOpaLmJBn0iF+vvwVxEi9IOY3gBup9RlG6iOJ0NUujkQFppDyXfGGoDTJo+l8iRRvaDVKwF1Ff
aYoNpwqZEKiDNhLsUbuauD0udHwFyPNZiojcPT7PuH62P9kcAf6WLsjmt0FvtN0GSbmRvARhOEvX
1e36BIWNAF9VXwL42s0GTMv2qHrKVd2s6slAjuxCJhm6q4mPM5dDd6HYNt44CtZFWspztT7S3z5X
K5qEKA1qTUKQwkKrexIaqM11RBuSfROw7pPP1x9vbKx4hUMPwQzNNrNHnekmwbQ0o2dOSefq3kkD
aaKIm3jUL5Hg/CzdBBYFYSVRhJaAKkBi9pACLp8xStQQd6YZWZLfNwEBs/9gUYcwSo/AHPYJ96os
YBGH4D2AozmiAsYEVp5wI8S0L/Wjty9WWMEohSjRZh1Hja8Kcafs/fT22YrpY4GTXGJagjDgy5+d
nPtRzb53TxsVH/PQ5mdx92FumL6b49WzB1iQq160fc75g/qpBLFX7JFWw0CS0tRmjSrnuQbq7hBr
mD/nue+a0oieeupz2eg6hw4d3bhBiP29LDFd/ZzXYvJ9U1am6vJ9Q+VmHz3sjYtl/nQr1vC5Wrun
jmK2X0XvqW68xZFvKuKRPbMQym+DzSLGFns95kQn0lE50Bm6/Q4HuqkgwLUOUc9UkclnOM1NG3Lk
Qx7luvOV4Hz16xyPumm/m/a7ab+b9rtpv3tl1b2y6l5Zda+suldWv+Urq9JdAM2d6gM5yU8xVGL4
z9TS1UNuWIYGTaZcb+zr6TKRPnasMtHWfV3j9IcSiz1YVDlMW5o6kh9/nMsV3wFQSwMEFAACAAgA
wzI1SVMQTC9vBQAANi8AADkAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1vcmRlcmlu
Zy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA36J4ld+ieJXdXgLAAEE9QEAAAQUAAAA7VpLc6M4EL7n
lJ/A0a7aVImHbeybgyezrq0dT00yexeo7bCDwStIPLnsb18BBgRIwk7siWfWhxwM/VJ3f61PCvPZ
7T3QZ6CTSbSBcHb7Bf55gjhxcOhBEAC5+hr67Ml8djvDCXZxDDJJ7Ua7vppX9shO3onCELzEj0In
iOJMTrfQyLQGpm0MLIRQ20elM5l4Df07Gq2dwIcwST3WrZnjgXHVW2M/7GuCwDtM9XhLxnjYFy3e
D5+jb7DYAMWpoWlIHigOY5yZffDXQHt9Pg1HSat8SZEikDufMk9cLF666pYRUSz/tp71+loPfR8t
l8sBMuylPkT9vN53zGNEX1jBIYAECvmiHapSPkRlawglFW8FEaoDHCOTZAHKM/eIQxLALHPWLbb7
XdY9ZnE9PAIFDbM/3bQsezgY6YbGikj8cHV1mKnP0WbDao1DrSzob1oYbbVE5aMraueJUtbcpSeF
AhNZRnS908izUurlPUhcoWZerlvsfWMh3bNWUGWT+GTWlj9Fi45R1aLCHiwiKX0wwQUPwcmE7rAY
rTepJBGIRGHdyv2T50Ecs1BuNC9Ppsb8xWkW/bg2qyzDSg2Wpogfb3DiPX54LgcSBzjTRf0a3NJx
IVtcNko4AGm9a5Yba2QY47E+HFrtCaVIdCfSIMuzbKK1RvqxwGbYpwcb5+NkYEs7qoJaLbMmq7kM
d2lyeRSlmvoAEQSDUaqmwuCioXuckphD6x3TZS9dXbnuOME0+SvHosOCWAG3YXZwEAo4AZlum4cg
yzReTR5kBXdh5Yec/Lxewj9hzeYC0+CftrXexCWO0ia6bqCyTeTTecGPpf1mcxUO94NF4KTlY960
gpOyem395LGczPxY1oe2VhFFrRqaaa8NxggZxB3hse1hstT7V/u3WL4XcQ+yMBt9JNxivm5WFBP4
BECA7LO1mEPEJhpsBc9fseVwBDrDwcL9myUnHzo3bGvRrvutlbUkWxJlt1X9VfNueWgPs4swbxlZ
IwnjkL9sdXbHohRnjbasBNfFeGspSBAtKgImKZq0xX3R2fOZNhgOkG1aY1bz3BJvprYupv0JtpxF
NoW6VT589+MUVe2QuSeTyZb6Ca97n2JEOUsY+D/LcnJggbSeh4PAZavoqyc88+mIWkUynJzO9hYJ
8c16BCxE67Wf1AG69YPAyZ6rB88bHHYirum+hrjWy46C5mtUHembi1WdVQqoCZVkcFMIS+GRK5Uw
UgLizg/9+HFfRAij2SeJB0FB5KVOcXR2EH3L/YgMWKLuaQFL0PnCqK8lMgs6dSPagZGlnyK2IBjn
x5saWeF2cgGJSBezO5tOlwnQGklxdt1aEJBX84NEUTcx16mJMJ/YDRgYumZMKdhoFGEkzNWUkPTA
x34+g5bIG+TnjL8+2et7Um3yrCBpye949EdIvoAXUXISgxKw55Pv9xQCrKelRzNu/xAmTjnNRBqC
i2Mb2aJpBiF78gSd8/bwe+FfZyV7F1LssLH1KEyJFmvb6m1TYe4ta387mTqd0nltVHKL2TjDNSrU
uNI49g3Kjv5NOx3ve5fyjoek86plRVCnJ6uqmuSyCArX833vNs/rwiureQfzzWRapLapeawD36rY
w7v4zIrf7NsP1ZWr5OTZ5mTU2K5ohwTDq4ZADYbPOHiCu4j+AS97NfvHQ5fIH8LknSAnY/xLvijc
ZeGO5R/A4y39WPvT5UriciVxuZL4n15J/NJMT33fchaX5efHvH4Q1znvm7kL87owrwvzujCvC/O6
MK/3+meQ9BvB9ofJTVtxEm2E/+zgXxxmn/9eJrNRdZJlINNofHOSfhFaF9LHtlUXWuMXF7KPuue7
idTUMIfSRpN8qC5f8X9QSwMEFAACAAgAwzI1SZ+wh0maBQAA8i4AADEAHABzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1vcmRlcmluZy1zdGRlcnIudHh0VVQJAAN+ieJXfoniV3V4CwABBPUB
AAAEFAAAAO1aS3PiNhy/58RH0G1hJpnxCzDcCGy2zHTKNmR7N5YMboxMbZNsLvvZ+/cT2ZZks4GW
tBxywP6/nz8pns/ulyR4IcF47O8Ind0/kr/2JIymFrWJ5xF884268GQ+u59ZkbWyQiKiRHeoczM/
nzyc0U99SokduT6den6Y0KmGMtSNvm5qfUNRlLqOA894bFf4HwJ/O/VcQqNYY1maPuprN92t5dIe
4hjeIKrLStJGgx7PeZe++M9ksSOBFQuaUPwUWDS0ErFP7pYE3Z7EBF/C+OAGEHAx78ai2CP578KE
EIx/2pCAIAv+VN0wzIGqagqCNGGXruOkPIAaP3iDrBCPRIWMPGeHeD/5Rf64lJK3HItrj7o91FW+
Dx3H6SvaSNGx0gPORpcTZaeJTH+oakVkjhP11d/toH4tioos3iLqv6JIpqPJ6uk+CKACC00SBiBx
/GCbcaRRKfiSHHTxisuZpuvesp/BpCWUArlZ/v6rG8VU7NPxeE2iRfA5BEbPDTe5hDl1fFCQ9zRo
ErDXFaHkEfxCjusR9KnzCYGx2A2fJZ5iF8/qJjP1Z8cNXGPkJfRHUxGqg6QIRW2QW1LoAMIFOwHH
4yAbhf52F1NiDolPy1KWe9smYQim3CE7zScCfWGcSDcszTRDM2KBhSgI3c6K7M3nl2JwFd6Yjr5S
eqWOj6e1yLlkkjM9jLodiI0x1LTRSB0MjF5tQUgC3djsJImzaKHURv+p+l0zz9/vjI6z9XtcUYdu
L0VWh5yLWj8ObqkfgVPtK32s9YfA9s4xIG3hRUX1aTKqD4x/Mdqms1IV2YaHmAXRH2krT8GINWH2
fAPUCYgVERFvHe4ohq79PEYR1MuKrF3K0M9pm7VR5ZIii7QyjhyoBwuZH6BmGgctXi+HqkSvbrQp
xik7S9WBiQ4oEB0mXZzh/khRNLwaWiPTtrCj9m7aJzb1lnmQmMkJSG0vfNutAwuT3wjBBLfZB/pA
gTFEXjnPLw94Hrm1GKye9MJi9SekKp1bd7CdUKdXi3ONskZR+H7wtqTdsJUWYhc0LWBRWXPtEL+s
xbnBKcmxpk4r6O18xNUYBF3NS4KF49yixTLvs/kM9QcwiQzT1DX5Qvgq0n9kMFDXtjxvBbb25BMV
dE55aRGMpWljKfGI2MI4Qd35260blZvh1fW8afJcPnLeobCxuqvqS9Vde9mQ0NRH2Um96qzsdJOX
NZdJVNpy4uPMZUqbK7ZNNI6qaZ6WMjZQ4Qz609hA0iG8Mqh1CKeEuVZ3BDSLYLLyg4Zid9y49XKM
cHmrrxIVZv1xcEDsTHYmnDgRCUo4Iw1Kgg0671qqkSRvfLhSIiH5eaBpWBSElULhWgKqJhjHBy34
+UJQJC6Qj2l/eUSXlwuzRpJDV40+g8JfSPRIbD/AZxEoaPYHl0IMfolbAGpaeKZhFgE3cNJpxuPg
XOyaismbZoTCkz1pnLft595/z5PWieQrrKweiSies6YpX5sSce/x/f2o6HxMl7WoxBKTcQZIV3wX
cOqrhwzHTRoVH3MJcVnh5oiKrGc4/X+PHveUwgCpdGTmIQqTc49PvTcU7nc7QEdw+md3zS0Ck9Ar
aPbggILf0MaCZaS2Qq2Ts6VajnzBglz1vO1N4f8ja+KlvIyvoRoAeEJTw9ZVzlMdINc5lGiCVWsW
c9QfymvlQCfOL0MjHzEH9CO+/04JIJnP5A0FyYLr3KIUbmWJze491FG7e48vx7rKngnFFSHGhuxL
NjnM9WN26DjiWGGop1qX16uO61XH9arjo191fEgEKb+fOQ2+vGR89Q/hi8u+lLuinSvauaKdK9q5
op0r2jnZP3ZKb2Fw7rj/imj1QvjJXv0z7cqXKomMQ9EYmqJrle8r4g8oy0TqyDTKRFvrbUWSb6Xn
2RSpcugDYU0Jvv8+0rG/AVBLAwQUAAIACADDMjVJf3hQ3RgGAACcMwAAPAAcAHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLW92ZXJsYXBwaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADfoni
V36J4ld1eAsAAQT1AQAABBQAAADtW0lzozgUvueUn8DRrppUsRmDb4nd6XFNTTvVSc9dBtlhGoNH
yEnnMr+9JTAg0ALeEnt6Dj4YvU1v+fT0sKeTu0eIXiAajZI1jCd3X+E/G5jiMYh9GEUwuPoWh+TJ
dHI3ARjMQQpllNqNdn01reQFW/pxEsfQx2ESj6MkzegMWx9a9sByzYGt6zqvo+IZjfwG/z1KVuMo
hDGmGuvSLG9gXvVWIIz7msDwFlE9VpLpOX3R5sP4JfkOZ2uIABV0GwdPCMQpyMQ+hSuIen3WDUdx
q3xLicKQ+xARTYwtPt01J0Rky7/cs15f6+k/hovFYqCb7sJw9H4e73uiMUFvJOAwghgW9EU6VKF8
SsrUEFIqVgUWqg30dCvIDJR77hnEQQQnmbJ2su33Mu4psevpGSKoAfIxLNt2ncHQMDUSxCCMl1e7
iXpI1msSaxBrZUB/0+LkVcMqHW1WjzcIkeQuNSkYCMkiQastR+6Vki/PwWAu5MzDdQf878SkR5IK
Km8GYTDh6U+Rop5epagwBwtLSh2EcMaW4GiEtrWYrNaUMhCQJHFdyuPG92GaElNuND93pkb0pdSL
YVrDKtu0qcBSVBCma4D9508vJSAxBWfN9X6t3ChcyDaXQQlTQFrvmvjGHpqm5xmOY/MIpXB0a6XB
zM8yROMg/VjFZrqnLzZGx8mKjWZUVWo1z1ok5rK6o85lq4hyGgM90OFgSNlUNThr8B4nJJZjf6C7
3MXcUO47xQDhv/JaHBMjlpA5MFt6EAQBhjJevg/Rbcvcu3mQBXwOl2HM0E/rIfwTrgguEA72Kc91
UC9xlDQxDFMv00SOzjMWlrphc2UO84VYMKbhI9q0oicl8XoN8XOJzCwsG46rVY2iVoEmzbWBp+tm
MB8Cz/VBsDD6V91TLD+LmAeZmY08Eh4x39ZLBAL4BcIABl2OFsvRCaLBV8HzPY4cpoHO6mA2/5s4
JwedG3K0aNd9bmccZbax6iup6g2eodsg4Fi3kX2QrZdpWiVmzWzb1zvYM4vzXJNloHAD8kWuJFq8
obik8LQSQChwkWOQQIEoeiCgZajNHouSmE60gTPQXcv2SLLkklgxtX0R7i/wlZFI4Kud5dOPMKXl
yJtcS5BXFGKW95EWlxKECGo8yHyyY4C0ng+iaE520VcfDUTnWJQqElQT0tZMERGxyXp4LRSV11YC
bIVyz9T+LMkUp3pJok7vEgckWZ3fP75SsBVlUbdl6CdIqoGkbI2gJqBa7JKXD7u5j81CeU5JkZJZ
Y2PNnCzb68oOh4JtCDJqP0hOVqsQ1w+Y1zCKxtlz9cF5gMJW4G+qrwE/t9iCK/keVSOp5mZVd+0C
8YVMMtRXEEtROmcq0VyJy/dhHKbPXYFZaE0XJ+6EyCIt9RbdGBrmIfM9Gb6LsofDd0HmC62+ltCQ
kp4nqKVGFiE9OIoG+fz6/oZXGNARNMF0M1uwul1giGpN9nibrUUDvXd/ixVxE/fqNRKiE8wjUgxt
GFMSNhJFaAlRRQCcDizI1xeoYXmCXKb9dWRXXBmWEMtuC58h3h7DpxAoKfYc+X6nJUByWjpaYM4P
oeOUaCbiELz4cHVXhGYwJk82sBVvd3+v8d/ZSedAihU2jh6FKNFmXVd9bCrEHbL3w5up0zGd10El
l5jBGai1Qo2R3LEngNv277ZV8WXOAi/S1V2a3uMFbN9tqhtsYmlh4kl2dz5Wn9eIO5totdwVMhru
GtDkVL7nPLaaw8+BZdFctTWaS3lb9356+YfqxKzo5Mn0jgpaIK5qdCUgtGwQ1DroFxBt4H2C/oBv
R1TUBXY+dzWroy/Z+cJu+vdQIC9W+UWGXRSO81K6mm4iTARitPHxhhTFOEpiKJ/6nYcVB80ej3C/
e/fZ50cB4I4z1zMBpr223goyLePhFlTpPD1+Dyx55/H00XBjrzl3R7A5yTj8Mt+e/D+YP+fB/Ie+
27qwtwK/7Hu4X6eEL+XyfjmAwlURk/b059a14Fme4zl1ohV4m8PsHxPTLb40OWxX6ijJv0A4I1Oc
rIUvpdgF6W+d+T9YNH6Xl8mobLZN3TLbXGEbnmvv5ArCYTm7Gyre709QSwMEFAACAAgAwzI1SThY
VKlYBgAAvUoAADQAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1vdmVybGFwcGluZy1z
dGRlcnIudHh0VVQJAAN+ieJXfoniV3V4CwABBPUBAAAEFAAAAO1cTXPiOBC9c+In6DZQNanyF8Zw
S2AyS9XWkE0yeze2AG+MzNommVz2t2/LYCPbkgyBzJIdHaambLe6W92vn1rC8WR884DjZxwPh76b
ujM3waOIEOylQURGYZRgH10h3dL6ptUzHaNnaZrW+k6Cvzd4Mr4Z18YMh15l/G0crUZhgEkKmtpl
beagZ7Q6KzcgXVRT2qiqw2oyBna3xdERkOfoCU/XOHapomviP8YuSdxM7WOwwnGn25rswxCtMRnf
3GPQk6Qjl3g4DLHP08yXpJ6dXZ84RJFkYrdBDJbEY5cu8UOcXxchSsDk4xLHGLnwTzcty7F13dAQ
+OcHZEFndwtmovgVUINDnBY68snv8fAYFfjiSkqecjyu3ep0UUf70Z/P5z3NGGimr3Wl4dpNOTN2
nsj0+rpRROY4VXfReg0JdgkqsvgZkegFpTIbTV6PNnEMFVJYkgwAkXkUr3YjtlEpxm2B58+4I7fp
unG9J3DpAaCAWw9//B6kVIq9OxwucDqNvyQwMAySZa5hQuYRGMg5BywJhtcNoewWXKF5EGL0qf0J
gbN+kDxJZuoH/rjuMoM/jxJMbSAvof80gVC3MxCKyiD3pLABglO29IfDeMcB0WpNJX2OSETKWh42
noeTBFy5Qt42nwjsJTSRQVLiXMuwqMJCFYRu7abe8stzQazFbJy5OdO6pYqnNCWaXEZhTA2jThti
Y/UNYzDQbduqM60k0I3FjrM4i5i0tjSdq94N5/3rnbHxbvVOEbWv9lJkTci5qPRpcEv1CCP1ntbz
jV4fhp1IA9ISnlZMnyejpm39h9F25jOdRluoBmIWp39uS3kETiwws843tGIxdlMsGltvxzTLNN7c
Q4nwMsOLgDDyE1LlYAFNTll+EMCqqjxvKw4g1L2HzAWMH9Gg0eVlj0r0EqTLgk5ZLtVtB+27VLRn
Oprh3kDTDH/WdweO5/pzvds6PLHbaTA3MjebZxqR7+tF7Pr4G8Y+9g9ZD0xbAxrCL5z7l9d4Hrlq
MXuJrBams78gVVveuoLVCbW7tTjXJLMw7y+hsjdAZte+Xxu6w9md6HkRtH2YSm5bnnaAP1OyrRJR
7XAnIH5YS1BDNCT7tbqsgBRybqwNENQ5L3uuT0GBpg95gU7GqGcDhVmOYxryleROZP/IYKCO54bh
DHztyqkYbI54aRFwH1e25ApPiAXG6bjLUd4EN7Yaavfk8SzEJKtoISKHUlFz0o3EPaVZwE6c/d/+
jKIseijJkrlFT1/r2Q1asBfFdGf+hF8FSmzYBoiUAHAP0WD3DwPx3XGxZiErBqCQwphnLDCYBWi3
FTmCrS2dA7+3cWW0WgVpmflfgjAcZffl6+sJBhsZuWq+xMi1hw0ktJ2j7NisOlnZVj6nYu4gER3L
hY9zl6FjrtpDonEUD/OslBthva8bpxwmilidB4Maq3MgzPW6LZCB2pxFcQPY5wFdLvKG+PL6vEpU
GPbgNL10MjvWuZ6nOC411dugZI1w+6QOMpXkjd+bl0RwvvltIotCsAIUridgCpiYnirA5TNGqRgg
H9P/MkVLmvIFTkX9+Fecbhfcd1EoKPbbgEAMfqMlAJgWbuCZhYAbOCmb8UZwfmVxNIfHZpjAnQ1u
5Nvjf0T5/8zk4ETyDVaWHokq3mQdR75sStSdMvfTu6L3G3RZC5VYY0ZnsDsTH3yd+5xt18ddNxo+
5ijtssLNUZW6T/gb/pHebwgBAqlU5G6Gu31VRMJXlGzWa+iOEqSza81nBC6hF7Acwqbaf0VLFxYj
/aCu9frdUi3vfMGD3PTk0GPxXyNr4kX5gZ65NjTgmUytt66OPNcGcpG3Ek1t1YLtOeo35VjZy4nz
y8jIKWbf/Yh/7CkdcMhOWxx9cNgxx9djp3rYQYe4N2Qfco86Evo02YQpKEzjjZduIOOjMCL4nU5E
zt79KsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwH5cwKpXKdWr
lOpVyl/xVcoP+YaK/P3P87y/csnvb/yk9xcu+6Vf1RSppkg1RaopUk2Raop+9t+XMFin3wUpJc8c
2AO7LLRyX2c4+0TRZFeo1RGWI0yb4LNL1b8Vj9YlnZahmUaTq5Y+cKyjXIURpi39ukf9U0ZHS5di
v5tZ+w0P/gVQSwMEFAACAAgAwzI1SW6+0QEVBgAABzMAADoAHABzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1yZWFkLW9ubHktcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAN+ieJXfoniV3V4CwAB
BPUBAAAEFAAAAO1bzXOiSBS/e8qfwFGrNlV8qegt0XHX2toxlWT23sIzYYPgNhgnl/3btwGBbvoD
jDpJZnLIQXjf/d6vX78m8+n1HeBnwOOxhxK0RDFMojAEN/GjcBJEMXjapWbY+tCy+5Zj9m1d1zvf
Qv/fLcyn11OOZzx2a/wzHK0ngQ9hQiRdsNKsUd/sdNfID3saJ7RRVJeWZI4GvY5Ahh8+R0+w2ABG
qaCr0LvHKIxRJvbeXwPu9jrzKgzRBsLp9S0QOXEyQaELQQCeSLKYMrXs5PLkIYoUjs18TDRRtrhp
FDkhIlv+4551e1pX/z5crVZ93XRWxkDv5Y7OiMYIv5AEggASKOiLOFSpcR+VqSakVLwVWKg2cKRb
XmagPHKPKPQCmGbKmsn2v8s8iold94+AQUPkz7Bs2xn0h4apkUX0/PChc5iom2izIWuNQq1c0N+0
MNppiUpHk9WTLcakWEpNCgZCsorwes+RR6Xky3PQWwo58+W6Ru4TMemOpIIqmp7vTXn6c6ToSK9S
VJiDhSWlDkK4oEtwPMb7WozWm5TSE5BEISvlbuu6EMfElEvNzYOpEX1xGkU/ZrDPNu1UYCnK8+MN
StzHL88lwFEFZy31HlNuKVzInMughCogrXtBYmMPTXM0MgYDm0c8RaAbKw2yOMsQjdsiTlVspnP+
YqN0nK3Y0oyqSo2JrEXWXFZ3aXDpKko5jb7u6dAfpmyqGlzUeE+zJNbAfsNwOaulofQ7ThBO/s5r
cUKMeABqw2zoaTCgBGS8fF+j25YpXbglPPghxT5nl+K1PcxfsCa4QPhoaby2o3qJk6SJYZh6mSZy
dF7QsNQOmytzqB/Egkm6fESbVvS4ZL12fvJYIjMNy8bA0arGU6tAM821/kjXTW85RCPHRd7K6HXa
p1i+F1EPMjNreSTcYr5tHjDy4CuAB16brcUa6ATRYCd4/ooth2rIszpYLP8hwclB55JsLdpFj/OM
o8wcq36Sqt4mC3zleRzrfmVvZO/LNK0SkzHbdvUW9izCPNdkGSh0QP6SK4mGaCgOPTytBEgKXOQY
JFAgWj3kpWWoLe6KkphPtf6grzuWPSLJkkuixTB+Ee6vsKMkljikYvny3Y/TcuRNZhJkh/2E5r1L
i0sJQgQ1bmQxOXCBtK6LgmBJvOiptwaicyJKFQmqCWkZU0REdLIeXwtF5TWVAF2h3DN1PEsyxa5e
kqjTu8QBSVbn54/bFGxFWdTuNbgRlmogKcsQMAKql23y8uaw8NFZKM8pKVJS7+i1pnaW/XHlgE3B
NgQZ9TpIjtZrP2E3mJ0fBJPsuXrjPEJhI/DX1TPAz71swJXcR9WIq+6s6qxdIL6QSYb6CmIpSudM
JZorcXnmh3782BaYhda0CeJBiCzSwrboxtAwj5kXyvBdlD0cvgsyX2j1hYSGlPQywg01svLTjaNo
kN9f31+LCgU6giY4dWYPVlerBDDTZE/22Vo00K/ubxPFuol7dYaE6ETLgBRDE8aUhLVEEVpCVBEA
TwcW5OczaIkaGVu23L+M0/kOP9uGaoU/o+vpiGiyxXGEZYesBUMhwbQc4P9IK52UrnSCQm2TQn+V
oC3iENwXObojAm0IyZMtNG4rh18HfXry/jxpnZJihbVeQSFK5KzjqPschbhjfD+++31nTO+rHZFL
zEAYMQ3viQa2DU3+VaPijznxfZNQtziZNMf76AU792hffYwirhYmzsP297U35/bu9FZ/IsiJEUTe
G2ZD2YbjbkbDnWTrnMqr+pOq+Uz305/fP9IEsLXCH5TzbzrZ/ODKqyNukwHsYfgHD3Q/yAi59lXQ
PlwHDZbVznBSmyfQStwrhJ1/YP764XZbRw8dgjf4TI12TjUulwQsUmg6qMOlhle5vPFY8qIMKzPv
ekbBFmYR/hNefqHLiDaeqpJBUqBMqn2Qb4be7+3Lz2XzQj5YZt4ye/K+omNIfofkFuJtkFBfMj3B
S+3yhrmdVl8Wqd8eeLNdGMpfHLxtxxsn0UZ4DXHcC+n3w/w/LdS+dctkVChmm7pl1r4XS7/mZomM
kWOzRGv0soTsHzzm+3Spc1gDaS5K/mnlQMf+B1BLAwQUAAIACADEMjVJpk/rqIUGAAANOQAAMgAc
AHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS1zdGRlcnIudHh0VVQJAAN/
ieJXf4niV3V4CwABBPUBAAAEFAAAAO1bS1PjOBC+c8pPUM1lkiqo8iuOkxuEYTdVuxMWmN2zYyvg
xZGzsgPDZX/7tvyKbEuyA2EWhhymGNvd6lY/vm49Mjs/u8b0AdPJJFpjcn52hf/Z4DiZusTDYYj9
o28kgDez87NzN3EXboxllOgE9Y5m2/H8nH4aEYK9JIjINIzilE63tJFpDU3HGFqapjVlbHkmE6/G
f0Gj1TQMMEmYxOpo5nhoHPVXbkAGSKB4y1B9fiRjbA+ait1Ql8Rurpm7iGjyV5DcRRswQxguXO9e
IT0l5waoG2wvDuj7C6HwNabLiK5ORTr8jlcRfQLyM5hAQG6vk4jK9M1oecKmSfoDNq3Ke9CYuuy/
N8EK04uAgrp97ftouVwONcNZWp7WZPKi1SpI5iQzEPu8jYubqDBbRsUx8jZtflS7NKNXhlBtwMzq
Uno/8C8VphdwBOQhusfzwmCnxOeYUvOBfeUCIwVjancF751L/BAXz6UKMah6c4cpRi78003Lcmxd
NzQEYehDGDCDX4AYCAyYMA5xUo5RxLjIcWJKxVeBxo1X/QEXV2PN9LWB0j/5lFNh+7HMcKQbpWV2
G+oyWq8hMVyCSi8eIxI9okQlo03r6YZSgLhSkoIhR4mcI7NKyafEl8xdPC4cXf/xW5DgBqzc4mRO
v8TAGAbxXTHCjCwjEFAUDZAkYW8KQukreELLIMToc+8zAmX9IL5X5+V5U2UeOViFaDCKHPpvWxDq
dhqEsjQoNCllAOGcR/jJhOZQH63WjNIXkESkOsr1xvNwHIMqJ8jL/IlAXswcGcSVomkZFhuwHApM
t3YT7+7LQ1kZOag2FxlUlxnPqpFscmml4nIY9XtgG2tkGOOxbtvWoFEAFYZuTXac2llWMBu9xb7y
3XBeP985Ga+W7yyittlesawJPpelPjNuJR+BUx9qQ98YjoDthTCgTOF5TfR+PGra1v9obWe50DVV
hQeb0eTPLJWnoMQtVvY3lV6aYjfBMt5mP61ZpvH8HkUSLwt8GxCOfka6lI06l7KzyCJjR0Ddasg9
gJgpMxorL9uoRI/Q9ZdwymOpbjtou8xAW6RjHh6ONc3wFyN37Hiuv9QHR90dm8220qxWnwuDNOrC
t/UtdX38FWMf+13qgWlrAEP4UfD+7TWeO1YtrpNPc2G++BtcleHWCVQn1BOsQ+qUqZm3j5DZGwCz
U99vsOZxdin7/rx1UV2f1iWSaALyjy1LpAa9YrXUpFWvT6cNBgkciLzn+iwo0Py6SNDZORraAGGW
45hGp0Xa9KXGQH0v3wkYqKEYZE5FbpHgmZC2ooqIiA+Ml8ddEeVt4cZnQ+Od2p4lmaKKliTqUCpz
TrmQuGIwC7FD07+9YxSl1kNx6swsekba0G4ZBXsRZRsw9/hJMogNywDZIBC4XUawR92C+HI3W/Mh
Kw9AKYRx3/jA4ApQvhTZAa0tXdvrHlIV+R+DMJw29nF6H27TqgWKhUwyOFYT76YuB8fCYbtYYycc
FkmpNsL6SH9+I6xAdVEYNFBdEMJCrXsSGsjN+t5jM9iXASsXRUP89vq8mlU49BA0vWwyOeqcLhNM
K011ZpS0Ee69qINMFH4T9+YVElwsftvAoiSsBYpQExAFSMx2FeDxAaNEDXEdm9oPM+msnl9siFrg
zzh1to8z3dA4orJlzLxCIcG0i4CA6r+yTIfUle5TcPVOOF8laIs4BKeBjuaIQBsTeLPB+zqLOczk
Tc+kc0iKBdZ6BcVQosk6jrrPUQz3krm/vI19Y0xvqx1RnPEzEIY1uHx7c9+7qcXBfqvgXfZV35a5
BUMl7j3+ir8nVxtCAHVqaZzPMF89RyR8QvFmvYYeOEY6XyGPEaiEHkFySLHrP6E7F0qo3u08/9Vc
rV7fgAaF6FnXw4+P4TV5T3LNdtZbllkpTWMFVefc7zbBYV/isC9x2Jd4v/sS77IRUG+mHNqEn71N
+EFl8tCNHNqEQ5twaBMObcKhTXgfzjis7Xc4j3s3K+3tsUZbVasegAjeqp3HESq9VRKpM5Q7bClv
IHrpc3a5CTIQASt9mqBPvU9HGSm7srcIUiehMHrENL1Pwq7EsyYF+pftm06JMN998t2uk8zlh02V
rxWfpW8mkxgnv+DkCsebMOFuM6Y3Z/Z29aQQ1jwQ/OFdHX9DNFpXKrtlaKZRu9fIfrhQJdLHjlUl
WrlPC5z+CG6WG7jOYdpS70l+2Kf8DUDzd211o+Rz6+35ww4a/QdQSwMEFAACAAgAxDI1SZbhBgcK
BgAAOUIAAEQAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3JpdGUtZXhjbHVz
aXZlLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADf4niV3+J4ld1eAsAAQT1AQAABBQAAADtXEtzm0gQ
vuvkn8BRqtpU8ZKEdLNRXKuq3cgbObtnYEY2Gwm0A7KSS377zoBAM8wDJKNYSTikKoLunp7u/vox
gOezuyVELxBNp8BLPd9LoBtHEQzSMI7cdZxAoL3TDFsfW/bQcsyhret671MU/reD89ndjOOZToMK
/z2KN+46hFGKJd2w0qzJ0Oz1N14YDTROaK2oPi3JnIwGvGKPyIsS76CZ58co/SdMn+Nd6nrrte8F
nxWrZ+SUALJmb340WLyF0ezuI8R8CZYXBXC9hqAnkCSmbCivD3yheluIVjHa3Iq0PE2H5V9/hCmh
vsMGCaOnZRojxf4Zm2KxyCP/fQw3EN2HCMvs61/Gq9VqqJvOyg70AccUxJtNmC6ifOfk9jGAHuPC
HjkVxUgbi7+p9n1Or4y1isBsu3J6EIKH0zwQRi/xZ7goDHYbAYopM19/oFgwVjBmdmfMQ/DCCRFp
9Y271h8wHjRG+iB3/D1eMUZf8d7hGqawoC/iQuRDMaXirkBDtYIT3QKZgnLLPXsRWMNZtlg92eF3
6acE6/X4DBHUPPzPsGzbGQ3HhqlhQAGMlt5poh7i7RZjxIu00qG/aVG811LVGnVauzuEcFosV1Iw
HPLGgSO3SsmXB70k4+TuopOEGh8znv4SITrRjyEqjMFCk3INTLig0+F0ig55Md5sCSUQkMQRK2W5
CwKYJFiVd1qQG1PD6yXEimHCVDnbtInAUhQIk62XBs/vX8pSRgHO8vOUWcKNpG7Z5rK0TgFI699g
29hj05xMjNHIHnAVRmHoWqTBzM6y6sI1A22BzXQuDzZqjYuBjUTUEWqMZS3scxnuiHFpFBFOY6gD
HQ7H+kCNwUWFtx2XWCP7Dc3lrHxDue8k9VD6d45FFyvxBJWNAtO9IuilUMbLd7C6bZnnF3uJw334
FEYU/Zx14Z9wg/MC169VuV7VS7QSJoZh6mWYyLPzgk5LzXLzUR3qB9bAJe7Dq2nFNIP9tccdf5mZ
6bRsjBztOGJox6RJYm040XUT+GNv4gQeWBmDXvMQE/TJ7O+iEeJKzKftE/IA/AAhgKBJabFGOs5o
cC+4fkbJodrhDAcL/19snDzpvMOlRbsRNPNVypZmhKrY2nFBpIf8Zs24wNErJgeeVj2yuRyDBNEi
J3iAoElbLIvIns+04WioO5Y9wT7PJdFi2BEYgA9wT0nEWaie5f2XMCGo4lWmrkyne4THSIp3STCi
zCXHIcp9rYO0fnAY6QfqDI/XdEWhIklObm14i4joYG1rXmYBug/Xa5ebWX+9Ab0GakImGdwUxFJ4
5EwljJSAuA+jMHluigihNk2MeBIURKuwLY6BB9GzWxwFsETRwwFLEPlCrW8kNAvEHc/wGFmFBLFF
g3F9fVPFKlQlFzQRZDOH2fR2lULENCnuIVqLBuTNRlJJUOQI+Z2YCu9d2sKfMNN+t8mUPtdquhEx
pCsQVYgSnKg7jqNOLwpxr0H56UXnumB2oYMFZo03mJQNcrDQfvI+Y2TjZp3yAK21gc60zFMGuqvL
82dPa6miioonT4YEr+n5a5wV6jq+krCSjIWa4KVuASAowT9foJbKy/WPqT+b8tgJgekDtzvShwDA
MR1w8iC735ZQ5f6V9UfEIao6uiPKMjDCV3awrYdjP9VOXj+l/YBVVvG0nYDMY8alyrFn26esxQP0
2oWbnre+4UHKdfmSejZ+Ma+qB2GsQbH0vOnzj+s6FM98XjMdZzTc4FvlbOtQqCg4dUV2Kyg85TW1
20oyReNbkqhhXZY/CXrzh9kfs7FHAMFmt2EQI+kKGO8MASPgeLMJjB5OMx99ACSPMGnXQd2jfc23
7if0rLYhKmAX6Zm62O5iu4vtLra72O5iu4vtLra72O5iu4vt7uWD7uWDX+3lg+7s89Vnn6e8v9H0
nFT+nsd5J6hN3g454ZT1e7xI0p2Qtvb6S3d+2vVzXT/X9XNdP9f1c1fy7O56X22trabM3SSNt6qv
eyVfrLcnhv7eJpNxjCTb1C2z8s0K+aKUJTImjs0SbbyvPsz+nMD8kJGqHNZI6lrJn0j4qTcmduX/
UEsDBBQAAgAIAMQyNUnUCq5xHQYAAJNCAAA8ABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tcmVhZHdyaXRlLWV4Y2x1c2l2ZS1zdGRlcnIudHh0VVQJAAN/ieJXf4niV3V4CwABBPUBAAAE
FAAAAO1bS3PiOBC+58RP0G2galLlF8ZwI2RSS9XWkA3J3o0lgjdGZm2TTC7727dlY+OHJOMBNmHH
h6kp5H5I3f31Q7GntzdzErySYDTyN4Te3jyQv7ckjCY2dYjnEXz1RF1Ymd7e3NqRvbBDIqJE16hz
NT2fPLyjn/iUEidyfTrx/DCmUw1loBt93dL6hqIoVR17ntHIKfHfBf564rmERkxjUZo+7GtX3bXt
0h7ibLxGVDcvSRuaPd7hXfrqv5DZhgQ2EzSm+DGwaWjHYh/dNQm6vdas5zGreAu+hPHODcDgYt6V
TbFH0t/ZFkLY/OOKBATZ8E/VDcMyVVVTELgJu/SZOeUO1PjBO3iFeCTKZKQ+29v70c/8x6WUPOXs
uLLU7aGu8mOwXC77ijZUdKz0gLP2yLGy01imP1C1zDLNRN37mw3Er01R5sWviPpvKJLpqNv1ZBsE
EIGZJgkDkCz9YL3jSKyS8cU+6OIFlzNx143tvMCW5hAK5Gr+x+9uxKjyq6PRM4lmwbcQGD03XKUS
pnTpg4IU06BJwF5VhOIl+IWWrkfQl84XBJvFbvgiOSl28W11y7n4cxiAK4w8h/5TF4SqGQehCAbp
TjIdQDjLZ8DRKNilQn+9YZSYQ+LTopT51nFIGMJWrpGT+BOBvpA50g0LOc3QDCYwEwWm29iRs/r2
miWu7DTWUl8ovQLiWbYWHS7O5DkMo24HbGMMNG04VE3TqBYIiaFrwU5iO4sKSiX1nwrvmnV+vOd0
nA3vLKL2aC9YVgefi6DPjFvAI3CqfaWPtf4A2I5MA1IIz0qqT+NR3TQ+0NrWcqEqsgoPNguiPxMo
T2ATzyRX52tanYDYERHxVtsdxdC1n+9RBPGyIM8uzdFP6SFlo8wl7SySyGiYUPc7zP0ANRNmNFZe
9lGJ3txolaXTfC5VTQvtu0C0z3TMw/2homh4MbCHlmPjpdq7OtyxyWlzC/E2OQap1IWnzXNgY/Kd
EEzwIfVANxVIQ+SNs/75Gs+GVSvXq8dYmC3+AlcleesaqhPq9Cp2rlBWKLKz709b0G44ygFiZzQJ
YFFYc/chflixc82hJGNNlVaA7TTFVRgEqOY5wcbMt2g2T3E2vUV9EzKRYVm6Ji8I9yL9DY2Buo7t
eQvYa0+eUUHnhOcWQVqa1IYSjygfGCeIO3+9dqMiGN5cz5vE6/KUc4TC2uguqy9Ed+VhjUOTM8om
9fJhZdNNGtZcJlFoy4mbbTcX2lyxh1ijUUzztBR7AxVm0GOuhUQI4YVBBSGcEObuuiOgmQXjhR/U
BPvSZdBLe4TPV/pKVsmVP04fwA6zmwnHy4gEhT4jMUrcG3Q+dBQUBMWdS2FI+I2ZCs4u7H0bzJL/
2USYv9I69CB8SJcgKhHFube0LEueXiTijkF58+rxuWB2poG+oOMDRkyVDfSnT94/MXVVxpXs4upk
M5mma01msv/PiBNJqih/eCyQkPR2pq51ywhLyZi7E1A1xpihBH6+EhSJy/Vl7r+Y8oqtfq6pB7Bu
WR+CcYVph5N70fNTCZWeX1p/eBy8qqNYvCxDKKxs6yte878xXv5Jjh+3LrDKiiXGIINpWHxfeOrr
yV0JHdcqbnJR+embmsh+Id/Jj+hhSyngoRTRuxOiML4b8an3jsLtZgMTVIjUfAb8Cr0PRm+g2YMK
jd/RyoYUqR402Y7P5mr5dAw7SFVPD/1rwq/hNXGjN2dX1TVDekxTmb/LnKe6ZErrXl2t33DqX7Ym
D5SMTNJ/ZyTy7JJVYelfuR92w1wQ/9/5ipLCv3Nocic6UPpmjRTi+AF7K+aFvAuEmIoqFGJjfIgE
c3DY1ex9M1vnL63E4SjslHLP8oFRHTca9NmGyiu6Z+nzWiC0QGiB0AKhBUILhBYILRBaILRAaIFw
sUBo39Zo39a4xLc12svioy+Lm7zw0vAN2E/+ckx7wXuyV3ray9hfvdFKhDzRbUjwjecv7lxvJzJs
e7O2N2t7s7Y3++gSdnHv9daW3cJTSJob2bdHgq/cG1MLlea/F4pX95FkaIqulb5yYZ+xFonUoWUU
idb2+4LEX6xPd6mlzKGbQtcKvsJvfuILOhjfOf8CUEsDBBQAAgAIAMQyNUnTXTJDaAYAALswAAA5
ABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJhY2stcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAAN/ieJXf4niV3V4CwABBPUBAAAEFAAAAO1aS3PiOBC+55Sf4CNUbar8Agw3YiZZamuH
VJLZu7AF8cTYrGzC5LK/fSQ/JethE2CS2skhB6Rudau7v08txfPZ9QNELxBNJvEWRrPre/jvDiap
CyIPhiH0L75FAR6Zz65nIAVLkECZpHalXV7Mz7eeX8i7cRRBLw3iyA3jJJMzbH1k2QPLMQe2ruu8
jVpnMvEa+jco3rhhAKOUWGRXs8YD86K3AUHU1wSOtyzVo1cyx8O+aPNB9BI/w8UWIkAWmkb+IwJR
ArJlH4MNRL3+Z1jPE1a5C7FC8SZAOOBUCD3iJbeIyKv/uLFeX+vpP0ar1Wqgm87KGOr9PD832GKM
XnGCYAhTWMqX6atD/xhXqRRKKmYFHqodHOuWnzkoj9wTiPwQzjJj7WLF7ypPCfbr8QkiqAH8Z1i2
7QwHI8PUcC37QbS+OGypu3i7xaUMIq1K6B9aFO+1VGWjzWt3hxAuxsqSQgGLrGK0KTTyqFR6WQ56
/lKomafrGnjP2KUHXAqqaPqBP+Plz1GiY70uUWENlp5UNrDggmaiyQQVlBRvtkTSF4jEEbvKw87z
YJJgV640Lw+mhu0lJIpBwnCLbdpkwWopP0i2IPWevrxUBEIBzlrqfQZuhDVlm8sYlQKQ1rvEsbFH
pjkeG8OhzRO1ItCtSINZnGXEzlHwqcBmOucHG2XjbGAjFVVDjYmshXMuwx0JLo0iomkMdF+Hg5He
V2Nw0dA9TUqsof2O4XJWS0O57yQFKP0nx6KLnVhD6sBs6RkQBCmU6fJ9g25b5tsPe0nCl3AdRJT8
nE3h33CDeQFr0KO81lG9xEnKxDBMvSoTOTsvaFrqxs21O9QP7IFL0oetaWUPifO1D9KniplpWjaG
jlY3dlpNmqTWBmNdN/3lCIwdD/gro3/RvcTys4gayNxs1JHwiPm2XSPgw68Q+tDvcrRYQx0zGtwL
xt9w5FANb4aDxfI7Dk5OOlf4aNEu+9zOOElOoqq2ur4Y67and1h2EeUlIyskoR/ySa6yWzaluBvw
shJcl/TGKUgQLUoC8AmatMVDWdnzmTYYDnTHssc45/lK9DLMvrD2V7inVsQs1K7y5UeQEFTxLlMj
k8keBSmt+0AwouQSDP47WUwOTJDW80AYLvEu+mqGxzZdUalIyMltLW+REF2sJ8BCvNkEKQvQfRCG
bjauJp4jDLYirmmeQRw32ZLQfI+qK3hzs6q7Sgk1oZIMbgphKTxypQpGSkDcBFGQPHVFhNCbLkE8
CAoiK2yLY+CL6DHPRDJgiaqHA5ag8oVeX0pkFmi6jFELRlYBQWzZYHy8vqkRFeokFzQRZDPF3XS6
SiFimhS3qNayAXlzf5Aq8ibudRgRbBMsQwyGNo6pBBuFIvQEm5r6Prnw4Z8vUEvVzMhyOoPc7Y5U
ju9zSkUzekfNS+o7B/ufJOs4jdLbCEWZwr0qASzSELxtOrojAjCM8MgOtlLM4S/CnbcvNtjgKMVS
os06jppfFcsds/fjT91OSh+LnOQrZhAEzPHXuMae+tZcHPnTVsNd78/v2Bh/rFzWTcn0bFlVNzbY
g9L0vOt71sd65Mhy3tLtZDJcI9PUPFWTX55xbUcwfRZyY+q0VWKKJ79KRA3r6sSVoPcZvmZoTOZR
h5t1/q+M+4zzBYDtNg29GEn9wezACDAL1JNdQHd3WLDp9l9ej3eyDoeaoyuDeqQqussD+kfbyOuP
CQJ51nZ3KImRrMtayCXeesAW67XVPOubYFSdCkpQyU+VkLr2qThIqi1uSlCRzscnE8lEdcVlkvMC
wh28idFf8LVTjS4OD023OlXUADPLZLTYcQLTW5jew2QXptRTKqaKxu3nmJpmewJy2eQfajrcQd9U
0Jm5cuf4mMs/qSg2kMiiChre0CXOzamzme9X0QU2N97hzWYq0pGxrFxW3rcRHfGDjYDYJbx96tce
4aY7xP6Qtx6RjcZTj2kM3+XTlV/ZiU0F5c81mzyORQE8watTZUn9yPPbvLysYSprBzIuz9D3v3o0
+XwD+MBvAJ9X9M8r+vtd0dcl47WR9VpEjfWgOnO1nDzalIwaejVJSyC2bggcde24PXSL3S4dzEnT
LIFbUVJOf5X45f8pTtJ4W7YM9Icu2Wh9MtqmbpmNj0XIp5yskDF2bFZoA16XMPt6el7EralhDaUp
kXwRrtyDdEL6HSX/Dfth0j8BUEsDBBQAAgAIAMQyNUnVGST/rwYAALQwAAAxABwAc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJhY2stc3RkZXJyLnR4dFVUCQADf4niV3+J4ld1eAsA
AQT1AQAABBQAAADtGk1zm0b0rpN+wk4ukWaSGUAIId1sHKeaaSM3dtozgpVMjUBdkB1f+tv7li8t
7Adgy02a+JBxgPe17/s97fLi/BqTe0wWC99N3bWbYCeOIuylQRw5YZxgH71HuqnNJuZ0YhtTU9O0
wZco+PuAlxfnFxzOYuE18C9JvHPCAEcpUBrWqU3mU2Mw2rlBNEYc0VZSI5aSMbfGvGA3xI0St5DM
Xcck/TNIb+ND6rhhuHa9OwX3DJwhQHkOlkeFxXscXZx/xoCXAL3Iw2GI/cHIXwvJ7THZxGR3JqIq
ABdTz6B/w7uYPAL0ORwgiLbXaUyeLm9OjSXFK2007ikiwNWoAChx6X9vgh0mlwEBuJH2dbbZbKaa
YW9MTxtzSF682wXpKsoPQD8f/ewmLo+VQzGI7Jn5j2oXyeGVLtkgmB1XDu8H/lU/wwfRfXyHV6XC
ziKfQcrUB9aQM4wViJneFbi3buSHuHyuREhA1JtbTDBy4Z8+MU3b0nVDQ2B/H5yGKvwS2IAbwYFx
iNOKRukMIsOJIRVfBRJzr0Zjxq/m2sTXxkr7FEfOmJ1GM9OZblSa6UfqKt7vITDcCFVWfIei+AGl
Kh5tUjsHQiBlVpwUCEWOKjByrVR4uadLsltuLjaLDK5//zVIMZemtjhdkQ8JIIZBcltSWEabGBiU
RQg4SdB5Rih7BU9oE4QYvR2+RSCsHyR36ri84EVmMwetOByiyKD/tDmhbmVOKAuDUpKKBwCu2NS6
WJAix8a7PYX0BSBxVKdyffA8nCQgynvk5fZEwC+hhgySWhE2DZMSrEiB6vZu6t1+uK8qLZOqJ+s8
VVcRT8uA7HBZiWBiGI2GoBtzZhjzuW5Z5pgrUApFtwY7zvQsq1Rcr3KqeDfsl493hseLxTv1qGO0
1zQ7AZvLQp8qtxaPgKlPtalvTGeA9sw0oAzhVYP1aSw6scxvqG17s9Y1VYUHnZH0jzyUHRBii5X9
Ta03J9hNsQyX7881c2I8vUeR+Msab4OIgV9GXcpGE0vZWeSe0TOhHiVkHoCNQ5VGy8vRK9EDTBFV
OmVzqW7Z6Di2oGOmoxaezjXN8Nczd257rr/Rx4PuhhU01fXnUiFcXfiy3xLXx58w9rHfpR5MLA3S
EH4QvP/+Gs+eVYvp5LNYWK3/AlPlees9VCc0FMwhTcgTjTdNsq2TjkgO+ceWSYeDVww9PKx6yHU4
BElUi4zg+tS2aHVdxtnyAk0tyESmbU+MTrOW81xloJFXLAjG6owKPB2RWSRpyWl1JREQ6xinGqvr
wfAQhKHDjbY/3xzf4tZCJJlrq4H7icu4tpBsF2308mkRl3pvoMMM+uTeQBEhIjfgIkTgwkKphxKY
FeHWMbyzbwIaemWP8P2VvoZWmPIn6APoYYqZ8GyTYlLrM3KlZL3B8FlFNVXYTdyu1EBwOQ+0JYsK
sOEoQkmA1Znv00ELHu8xStUprp6cmTQMeeBAPcf3OaSin7xivkv8+zKIQOxfqNXBjNI2nsl9wrMq
A1iEIVi+25otCmAcwZsDPtWqkt3pdT2+mGEjRylIiQ5r2+r8qiD3nLM/v3x2Qvq+kpPiRxUagtDd
yOe/U4+b5e8urYz7DJ7/F3UzPz+8mOLVvQdIULJedt3VfKN6KsnY13Qsb2lIMhiu12hinqqhLstQ
W5VkyxX3Tm22CkyxzqpA1JFXFUVJgN3hxw9fgyRNllF9EIQPaPgO5QUZJdnbfBCcGTAIKn8g+FyU
AZL9lVDRplYLFezFxFeKYmm6lAhMsl0oWLNuU+1VP9Ox/b7cu69kLQ3zjfUzZrFUtJM9GkZTz725
1lTR/bFzIElMZG3VSg7x1Ipa0GuLoLpsgrdqUzCAymxXAakjidFDtZT0sud8UQJuiACVPC7Qm+Gb
QQ5Kt3jrIEtyKIwfMMlckf5KBpkSHfb745tOXrjqf/hunqiwcu1rzWbZm8UiwelHnH7GySFMmQVn
FnQn81r+XgS/ROkwVj7JZTN25cmhLObXLYoDJDKtNq+EsE7MfetweabvbZmn3IWR5VIh/ZPdu+DP
2mddIuLR2JYYUCZ+mNsekgg+E7gb1wzycSNS4AkWNxUn9Z7kp1lebHEqK7BZ7qSNyo+1d3gdo1/H
6Ncx+nWMlvRU2zLrtSXsrSg9Hl+qLXeEk2ubgVGH3zFRy6/V1EZO1fxr6/Nug+fHvkft1vDXqk7T
FT6KjHP6Nv6/+AWVveER72vF0DS0idG4l0AvHtaB9Llt1oF27uMaZ5fil4V6mhgTS6p5yUV/7piF
tEPl5T7+QvlLk/kXUEsDBBQAAgAIAMQyNUns8pF5AQYAAN9EAABBABwAc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2VxdWVuY2luZy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA4CJ
4leAieJXdXgLAAEE9QEAAAQUAAAA7VxLc+JGEL5z8k/QEaqyVXoBgpst1g6VZNks3uQ8aAasrJDI
SJj1Jb89IwmJkeYhgSEm3jm4ykjdPT3d8/V8PRJMJ3dzhJ8RHo8hSMACxMiNwhB5iR+FbhDFCGof
NMPWh5bdtxyzb+u63vka+n9v0XRyN2F0xmOvpn+Po7Ub+ChMiKWbqjVr1Dc73TXww57GGG001aUt
maNBj3XsEYMwBnvPwCLCyZ9+8hRtExcEwQJ43ySjZ+KUgXTMzvQQsGiDwsndF0T0YmIv9FAQINjh
WOJLZva6cMEdfIPwMsLr29N8mP/+q5+kBu/IFP1wNU8iLJrRcf4SuUpMiSgG6b+P/hrhex8Tua7+
fbhcLvu66SxtT+8xSl60XvvJLMxnkd4+LKDHqJhbLkUp0hNnb8pzn8tL11rNYJ4eoTz04WdJjjga
fvgcfUOzImC3IaSUsvB1e5IBI4liFvdKeFK8MEZ4Xv3DXOv2Khk0BnovT/w9GTHCL2TuKEAJKuSL
dcHLIV9ScpfjodzBkW7BzEFx5J5ACAM0yQZrFtt/LvMUE78enxBGGiB/hmXbzqA/NEyNgAQSbHWO
M/U52mwIRkColQn9SQujnZbIxmjy2t1iTMpiOZJEYV9Z9hp5VEo9aU3K00WXFDk+Jqz8JZboSD8s
Ue4aLDwpxyCCM7rEjcd4X+ui9SaVhByRKKxamW89D8UxceWD5uXB1Mh4cRpFP67scrZppwZLU9CP
NyDxnj4+l1sZBThrkZfMEm5pORZNLivVFIC07g2JjT00zdHIGAzsHrNbSALdiDSUxVm0YzBk4Fxg
M53Lg40a42JgS1fUAWqVyFok5yLcpcGlUZRqGn0d6qg/1HtyDM5quudJiTWw3zBcznJhSOcdJwAn
f+RYdIkTKyQlChX2ihFIkEiXZbC6bZmnb/aChC/Qyg8p+Wk1hb+hNakLDLura72KS5xlmRiGqZfL
RFydZ3RZalebD+5QH4gHbpo+MppWdDMkXzvC+MvKTJdlY+BohxZDOxTNdK31R7puwsUQjBwPwKXR
67RfYhyeXP1cECFmi/m6WWEA0SeEIIJtthZroJOKhnac6ydsORQdznAwW/xFgpMXnQ9ka9FuOGS+
Lnmdhs7QtdTNNjYwPD/ENxsaGEZe0suwsvI202UUBDWGlwQAU3xrs3mBtelE6w/6umPZI7IKc0u0
mWpTDuEntKMskrrYrPLxux+nOGddpq6MxztM2mBKd56iVlrdDm2d+9oEaV1vf8jQk+85ZEyXt1QE
5dJtXN48IXqxKiwoLCgsKCwoLCgsnBkL+TFrJXQ7Pwhc5nT1xztKboAaV0kEN4mwEB65UgkjKSDu
/dCPnwgiLiXbCmncWbZJzlEQ441SbfKNoXF6ky8BLG9VMoDlIIrr9Y1AZoaZBxQs9pZ+WgmKFvv6
Tg5qUaF6WU4bnU5mfzp7u0wQrrTp7h4FRQt+coecSPLG7/YrImRMsAgIGJpqVylYWyhcT8hQtxCm
R57k4zPSEnnFre4VFeSuUMLI709iHlDyBXkRhiogKiDNARFUv3wr+DmtCQTkwtNaaqPmzlNa3nka
nLcQHN3hlXcUkitbdK5Hu2omVz2T1kuSP2CNVUhM8SbrOHJGJDH3mrm/nn9fmdJ1ERfJu0Vp8QUV
alx7yHPuZ0rFC0WNA7d9uvSGzfh15ZJ6E+hiWZU3PcSDYuhp26e91/UIMMt5QyeUyTBNTl3zXAcL
q4LCNLGvFc112IvyzB3kxNGmZOTYPrAuAYZXNYEKDJ9BsEX3Ef4FvbRa7A/HTpFuysUroUId60vg
gZcU6vHpvus7oq+zjXPtT+ro650dff04R1SKNf1nrOmY08DTGJb4DPEI7tXmuPFk99oeUh7n72nn
mYq8ne0UVlE7Re0UtVPU7p091VQ0UNHAN6WBTYTuPAzsNdTrOEJ3wSNDRQMVDVQ0UNFARQMVDVQ0
8F3QwP/j63Mn7ZGCn3Ko24qTaMN9XajVDfoLbNnVw6KxTd0ya1+5Sr+iXRUyRo5dFVqDlwXKfp9j
ui9UdQ1rIMyi4DdHpHM4Inj/AlBLAwQUAAIACADEMjVJaQUaTdoFAAD9PwAAOQAcAHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLXNjb3BlLXNlcXVlbmNpbmctc3RkZXJyLnR4dFVUCQADgIni
V4CJ4ld1eAsAAQT1AQAABBQAAADtG8ly2kj07hOf0LdAlV2lDRDcMMQeqqZCxjhzF1IDGosWIwk7
vuTb52nfulso4Iqm0gcfaN6+9XuvzXJxv8beK/amU/eIyeL+Cf97wn4wN4iJHQdbN9+IDSfLxf3C
CIyN4WMWJLpDvZtlTs9K4OcuIdgMbJfMHdeP4GRNGqvaUNWVoSZJUp1HjjOdmhX8B889zB0bkyDk
WKamTobKTf9g2GSAKII3kOoXKSmT0YCmvE1e3Re8OmLPCAnNiPXsGcQ3IrLP9gF7/UHRDFcxK1sl
lyPIg+0BJzbu3iCWg9PPmUo+sHzeYw8jA/5kVdP0kSwrEgL5LJvsQu0egI3rvYOXsYODjEYaA7n/
nt0sHqiQnG8pEteO+gPUl76Pt9vtUFImkmpJA665EpUjZtexzHAsK5ll2pH66h6P4GCDoMyLt4i4
byjg8WiSen7yPIjojBMHAUC2rndIMGKrZHhx4FkbKmbsrnvDfAGR1hAK+Gb91592EEIVT6fTHQ5W
3mcfEB3b36cUlmTrAoO0RgAnBnqdEYqO4BPa2g5Gn3qfEAhr2f4LR1PLthZ1kQvxZ4YFoYZIc+iP
piCUR1EQstIglSTjAYCrYupPp15SA9zDMYS0KCAuKVNZn0wT+z6IcofM2J8I+PmhI22/VCM1RQsJ
ZqTAdEcjMPefX7NCmGmjb9WNNChlfFimWMpFJayQw6jfA9toY0WZTOTRSKtXRo6hG5MdR3ZmVdLa
VXKtfFf0j8/3Ao8Py/cwovJsL1lWBZ+zUj80bikfAVMeSkNLGY4B7cIywE3hVYX1dTyqjrRfaG19
u5FDazPJgM284O84lecgxA4X7vmG1snDRoBZuPX2SdJU5ad7Hla8bPDOJgX4JTnn2qhicTuLODJa
FtRcwsIHYDMPjRZeL3lUojc72GfltFhL5ZGO8q4S5ZUu9PBwIkmKtRkbE900rK08uDnfsbG2hYNI
TIpBavfCt+POMyz8BWMLW+fcB+pIgjKE3yjn3Ws8W95ahd4/yoXV5h9wVVy37uB2Qr1Bzc41yG4S
KkFk3sjtX7KHZkpnkF2ROKVYiUaVg/1lzfMNSnEGtzoso9qkRbeGwKgzNCcYVhhtaLVOM3+5QMMR
1EZN11WFf0V9ZfFvaQzUNw3H2YCsA36NB55zmlsYhXLeGEo0oGJgiLgTcSfiTsSdiLuz4849HOyg
fPm/2Y4zj875Td8FDBuju8q+FN21LxscGuvI271WleXtl9KwpiKxQpsP3E7cQmhTyZ5jjVYxTeNS
ns7ksaxcspFmZQgtDGoZQglhqtQ9BszKm21cryHYt3aYeumU1r3ho2KVwgBCmcRCZZKt3GwbYK80
6cVGiaaz3kVjTcDxG31gLIHgdCPTVCwywEqgUCUBVjPLCldd8PEVo4Bf4srFuVCGo7VRDT4Z5h9x
8IRN17OEQYRBmg3CqH4PNgGR/whrAiQ5c81WuBmpenLLOw2D8napSzqtvGMCJyfceAG1f5oUmnRP
k7NDks6w0lVwSNGU1XV+R8Qhd4nulze8HUPqVuPCphgVX5h82Nv5az8GJH39rJFxm2eBbpmbQiow
XvAX/D14OhECVaeSxomGyI/mYJc478g/HY/QLftILt6MtwhEQm/A2YGB1XpHewOuTvmsKWb2Ya7m
T0IgQcp6ee7b3e/hNXZPsg4fhhoGsgimNmtVMa+1UNilnVRTE7grtlz1Q36s5HBs/xZg+CUmb/7Y
L9IxADjzBb8jL7oVe7co7jYTxyZ7MHly3h7ssa2qxR0BOyJKnWw1FB5pzik8CCZDaIsxU5OvdV2K
1ZdYff3q1Zfoxtos/y7u3Njbw5b/6tGJTaPooDrdQfE3sqK/Ev2V6K9EfyX6K9FfdXrb1aZBa9lF
dfwlV/RXV3t/Ft2O6HZEtyO6HdHt/D7dzv/x37p+6iJj/Iy6SgvK7LG+P0pO8xDQFElVKr/GCH8A
WgaSJ7pWBjoY7xsc/XZ8mdSEKoY6YvqE8Xt4rg7ML65ho/8AUEsDBBQAAgAIAMQyNUl5pTdD/QIA
AJUNAABEABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJl
ZC1wcml2YXRlLXN0ZGVyci50eHRVVAkAA4CJ4leAieJXdXgLAAEE9QEAAAQUAAAAxVdLc9owEL5z
yk/QEWbaGfmJzS2YZoZDS6chvcvWAp4YyZWd0Fz62yvZYMv4QZKS6YEDYh+fvt1vtSwX83sQzyBm
M54CW8x/wK8nyPKAsAiSBOjogcXyZLmYL0hOQpJBnyX6jG5GyzoePdoHnDGI8pizIOFZYWfYeGrZ
juWZjo0xbueofWaz6Mz/TvB9kMTAcpWxGc3yHXM03pOYTVAH8Auhxnok03cnXZeP2TN/hFUKgqhA
t4yuBWEZKcKu4z2I8USn4Sq09l+JDwC5i4XMpGGJ1K1bQbqw/GmdjSdojH9PN5uNg01vY7h4Utb7
Tmbk4kUWHBLI4WR/aoe6lGtetUan5cCvHQiHAfrYogXAfuZ2hNEEFkWyy2bH71XdM4lrvQMBiMiP
Ydm25zpTw0SyiDRm29HbQn3naSprTRiqCvoJMX5A+VCOS6iDJyFkc1eZBhykyYaL/dGjZKXyK3uQ
hp2eZbnmJHqUkO5lKwyxSWO6aNt/RIv6uG7Rzh48IalySMOVLsHZTBy1yPepsqQdJpw1o9w/RRFk
mYTyGUUlmUjmyxSLcdaYVbZpq4BVKBpnKcmj3ZfnaiBpgrNCPGnITY2LvssVo0QTEBrfSG7sqWn6
vuG6dntCDRB9UWlQ8Nw30Voj/VpiM72PF5uW48PEpjqqllqDWUvWvE93ilxdRcrTcDDF4EyV25AG
V2e+1ymJ5dr/kS5vExqD985yIvKfpRYDCWIL2oN5YQcRQHLo823vIdi2zHcvD30FD2EbM81+2Szh
V9jLuSA99NO21z/tEldpE8MwcdUm/dN5pY+l183mGo72RSIIVPlkNnTaSWW9DnG+qyazPpYN10P1
oojqoal6zfExNmk4Jb4XEboxJqPXt1j5FmkHBcyzPup8Yh7SrSAUvgFQoK95WiwXy4kGh47zdzw5
vS9Me609Y4OnDV3YJpa6OCfhaNZmh4Rc5M2QhzhJbtVxi1dty1crRDOv4Xt202hPXkIo/gUsWXmn
cw/L7W3Onn82b+eqm4e/UEsDBBQAAgAIAMQyNUkjtFhVfQMAACEQAAA8ABwAc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC1zdGRlcnIudHh0VVQJAAOAieJX
gIniV3V4CwABBPUBAAAEFAAAAM1XS3PaMBC+c+In6BaYaWbkJ49bgGSGmba0hfQurDVoYiRXdpLm
0t9e2Qa/ZJvQJtMeMhOL3f1W3z61XMzWIJ9ATqciBL6YfYMfjxDFc8I9CAKgvXvO1MlyMVuQmGxJ
BG2S6Br1e8vCHj3KzwXn4MVM8HkgolTOsPHIsh1rbDo2xljHKHSmU6+mfyfFYR4w4HGCWLVmTRyz
NzgQxoeowfEzpgZlS+bEHXaYIlsh440kPCKpwfrtW9gc0G2juRCkL+ThpsnqJzgI+aLEZ8R7YHy3
joVs8yCTLQuWJI46g+HlQa1YUaKSJP9u2AHkHZNKboB/jnzfd7A59m0PDzWlFHrFM35uOM0gjnhR
Il4EfSNONNYvWaZY+027le7ApRFtF6eMfukIWoMG40/iAVYn8hQHJaWUykFK2506UUFUEBBADCcD
p1A00dQg2e656PAgDWaH7p5wGuRA+V0iBbnZgwRE1J9h2fbYNQwTI5VUVGVipS/ovjYAaUeDYSnH
JtiieNh5y6OnKdjbXMgZGWZ+octMfRFhqIqEcJST/wFx8YziLoxzXs8fpVS9K0fqUDj2l6NGxkqu
l+VLS2fKwlXuKL31148sBq0h7SBeydtIKQYs2p8sLLkvFMBpGiikFnUdCKVH6gv5LAB01b9CylnK
oofuulzoLpfyz0tav6bYFNBf55LQcNMkbCvKkyc5hhJcldvsdCqP/VYcwkSSNogIXrWyfvQ8iCLl
yjXysngihRclgWRRZRrapp0YzE0p6kISe/vbp3zkldq2tcXV/pOMhLbLpeOiVMNo0Ffc2CPTnEwM
17WH2jDsIPpssUPKc9vU0paGt6p3c/z+9V7CeLd6TzKqqPYKs5aKeVvpJ+RW6lFpGg52qOmMlNpf
toHOEl7VoN8mopZr/0O2x/7WwF07peJMxt+zUp4rJ3bQud1UlmQJJIY2XX1RxrZl/vGO0pYvW9gx
XpJf8teMjbpW556TZcaFDbXwsPShYOYJacl4KbISPbN4n7fTci813DEq3g+o6HRJhJ0Jxibdjshk
7BHqG8Pe6wPbsGBXv0+EaHPhPtxJQuEzAAX6mnlguVi1IXhuOP//9sULp1brkNIfYXW6o1iEjQ+d
7MlQudAzCwJt4e/Xw53aKxi2TazKrfoUTbaQqpAxGdtVoQN52UL6VF0eH051DcttLZWW5/eFXP0G
UEsDBBQAAgAIAMQyNUnyYyH1pQQAAOsgAAA+ABwAc3RvcmFnZS9pbmRleGVkZGIvdW5ibG9ja2Vk
LXZlcnNpb24tY2hhbmdlcy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA4CJ4leAieJXdXgLAAEE9QEA
AAQUAAAA7VlLb9s4EL77lJ+gowW0APWwLOWWyA1qYLvubtLeKYmKhcqUl1KS7WV/+1JPU+Ijlu3E
LtBDgEia4Qzn8c1Herm4vUfkGZHr62yL8OL2b/TPE8oLH+IQpSmKJt9wQt8sF7cLWMAA5kgmqX3U
ribTDUywrgmUwgxjFBZJhv00y1F0R7KNnyYIF6WiNjVsMLfsmeWaM8swga5YCgYZKR4IxDmsFqws
L3c7iRpJf2CSyjFWbAAAv7udzqsu91azvJk5mUaB0OEtInFGNjciv08TMdNz9Mn9X38kRbnGLQx/
JPjxvsjIHuE6SeKpHGOiEiWw/Pch2SBylxAqNwX/zuM4ngHTje2QpnioVHm6wrVjNziqTTT28lJ8
l56HrPV/uD9FSKMk+qrIhUAjwc/ZD7Rqd0OdYpSqvU11NpgjnMkUi1YBY9cNyxLgFhF5/B/3bqr3
Qm84QK8zdkctZuQnjQtKUYFa+TahomCLJRVfBR6qHfSAFVUOyiO3hjhK0aIy9rpY89zlMKd+PawR
QRqkf4Zl264zmxumRqs7om0zGbfU12y7pcUNsdYl9IOGsxetUNl4zWv/iRDa6Z0lhUKDLo1GHZVO
r8YYCS7V6WLRQt07C17+LUrUA7sSFdZg60lngwquWGy6viYNSGWbbSkZCUQy3F/l/ikMUZ5TVz5q
YR1MjdrLyygmeQ/sbdMuF+yWipJ8C4tw/em5Q2em4aygxrqu3UoclW2uwlimgbTpFY2NPTdNzzMc
x9Y56FYE+tVOQ1WcZVDPzcRTNZvpvn2zMTberNnKitq1Wi+yVklhJH1XBpftolLTmIEIoNlcyXxo
5a8GuqdJieXYZwyXGweGct95AUnxve5FnzrxiNgRqyZxBMECyXR5IgdsyzyYCMgSHqDHBDPyy34K
v6ANxQWOuA21juISJykTgzLzrkzk6LxiYWk/bN65wzxQD/wyfdSa1pJ6mq+XpFh3yNw7NziutmPN
2g40y1qbeQCYUTCHnhvCKDb0yf4lJiC4/eeWCHEj5tv2kcAI/YlQhKJ9RovlAIpo6EXw/qwjhyfq
/fi9JGnKkeqrMcPq3UbOJZ1VVEcHbsuCHIw8JR9yQpWgE5TLsoK8z1P9hCc0fnltGsI0DagLunoy
UFMiG/1xYJiGc/g4+EXw+kZQlb3AtjKTYa7EHb8T2cCfAaquL5ZNqwyuTWwbSB2TXONwTtBBskmK
FTnaGdMF3NZjmo0V7nY/APjy6ydCMnITF4j0xkcz3uhzBfsXckN1utumIy5LBrXFDLIDRpykpu8S
nOTrz2Wv0OKXcsfLatE3Ogz1bJyB3RvWhbB7e+4B+73ZPdv3+9alavByx4LfRPwMRHw8g7w4NjAS
aI/nzGE1qPlzQz3A1Wk+wmDL0mWNEg7N9241uY9qDtrsUTVoh5vdg5j7QiUJQIQKYSk1r5X25OZi
d/YJzBh2LrQyoOdzwzyGiUhw0xdVxJAR+4JqFnp9NZKxCvhnC9GXByJqLiegy801u5AwVxXYQvi7
8sDhTvIi27aOsLOpessQChNYZl+m+hmkL2R4rj3qKEI1LOeQc5H0eof/fVe143HLjJM+VzT/B1BL
AwQUAAIACADEMjVJU4lgpqgEAAA+IQAANgAcAHN0b3JhZ2UvaW5kZXhlZGRiL3VuYmxvY2tlZC12
ZXJzaW9uLWNoYW5nZXMtc3RkZXJyLnR4dFVUCQADgIniV4CJ4ld1eAsAAQT1AQAABBQAAADtWcmS
okgYvnvyEfLWGjEdkSwierOwKtqIibFnqnruCSSaUZjYCVU1fZlnnx8UZEkSl1rsiT54IPn39SNd
zG/uqXimYjr1mX/HOIvXXwj3Q8ZXf1MRs4g7a8JX9EEQHhMvgQP0GfV73zj7/kQX85s5SYhLYupE
nNPsfZeolB9+monHhjkybB1+tt0bbAjjQ9QQ3CWuJ+Fg/Dl6pMstFSS1aMb9kv0PbEPFYNhblHxv
OOGEUUz9qpkmxljtuFfjvxPRxgkZ5YnE6clIVzjdIWpQlqRPrOFrhCHaUj6/+YuCnDhxCPdoGFJf
JllOmVXGTyCvFIWMdBeeLCB3TADdAP8zDoJghHU7MD08VOQpUkQ3E6bgXaf1TPPnIk8x2PmwpoIi
Aj/NME3b0jQdI3DKh/JPXbgDNZH4AaVLQ5oUMnIPD0X5EBVFLqVUvJVY3DgaDEvBmmDDx0Pg7HQ5
U/Y6kRmNNb2IzGmivkbbLWSbcFRk8TfEoxeUqHR0We08CQFtWmhSMABJEInNnmMXlYIvy8HAd+Uz
MaO9Id4jmHQPpUB793/+zpKUqnw6na5oshS3MTCGMEJzCQseRKAgH3ygqYW9qQhlR/CEAhZS9Kn/
CYGxPosf1TN83jS5VH9eOuUajLKE/ttVhJqVFWFbG+SWFDqAcFmeF9Op2A+OaLNNKX0JScSrUu6f
PI/GMZjyGXm7fKLn3Z5CLK4MflM3U4GFKAjdliTe+va5mO6l+WO4eFjp+HS2tTmXzb1SD6NBH2Jj
jnV9MtEsy2yOe0WgO5udZnFuG7+N/fha/a7bb9/vJR1v1u9pRR26vRJZI905La2fBrfSj8CpjfDI
10djYLtwDChbeFlT/ToZNSzzA6NtB66m3PAQM5G0geEOPCgoSagKSFcxITYN/Wwg11YvLl0xXqJf
8GPWRp1LiSx2lXHiQD1YWHoANU4atHS9HKoSvbBkXYzT8izVLBsdoDI6TLo0w6MJxrrvjsnE9ogf
aMPe8YmVIMXqcx6Qxl74tl0J4tM/KPWpf8w+MCwMY4i+SM6vD3h+2NaqpIK4kUiq2XxhYThLjxtJ
PHbfvdvWOusTRBqCJd85BzWw+8rZpyduCzWpRagcn8a7hsuSHLRHpy5OiWf3s3om42mZUHL5qvX1
VaHkCF/RwCNh6IIRw877D5mO6qzXdM06f9Zf21hoWQszSblVApvT9Oq5krfygWRDfrg0uxpZ7Hug
dr1imrjVsJbrnoYRsK82DHDTxcboNm64HkA2lrzwvrZH0re3QkRiFiRUVLbUfovCc7Zd+r9usoqb
rFptlTbUGburpaaPuyW9shZ9ow+lio4PgO6acSXQ3RxPsHnl0P28m/5fmP+9Mf//44b6xGF7OSD2
smXd/CjYLXF1mi9QmEPwtkbx6uort56Nl2ocuvdRtWzrzh6Buh0pU8t08dTEp5l7AOVyG46Jximw
XKqlhsvHmn4JBGkZlo6sDOpQ2JGUsNTq/olQVQI887l8fZNDDeIkOHl/9y5FyhCUA0p+VwCouuxo
/olZ9ztOom1udnl9Zacl3KFjQ6/SZP+kVIm0iW2e9MUCHIZ1zufTz+JDexZOoP4PUEsDBBQAAgAI
AMQyNUlb++pADwEAAMEDAAAtABwAc3RvcmFnZS9pbmRleGVkZGIvdW5wcmVmaXgtcHJpdmF0ZS1z
dGRlcnIudHh0VVQJAAOAieJXgIniV3V4CwABBPUBAAAEFAAAAM2QsU7DMBCG90w8QsZ4QHLTpE27
kUQRmZCgsJv40lok52KHiolnxzEDhljJwsDg5fzfp/u/uswfQF1A7fdc8Eqg0KdbhrwTeHwCpYXE
4sTwCAfFULNmMIPwOrwKHlG8vkFd5iUb2DPTUEhEsP9LqHHfvFVCt+skXWexeVkWRD0TSMIJeAkX
eDYEXuQL3J1BsfGiG+TO/QfRg4pIUH93l2fAMr8Hw9FDwbCBrgPuI/uTVonD4xMpRSe1zTm1E0rp
vMjm136lZF90AnDwSNyl8YzEBVTkkuLdhvxHrX/Fc6620a86tkAllMlF9H3btm1K46xNGkpmvMoZ
GxbmFmhG9ROIr8DHZBaRH2etNpSYNp9QSwMEFAACAAgAxTI1SdddviJ3BAAAFxcAADQAHABzdG9y
YWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOBieJX
gYniV3V4CwABBPUBAAAEFAAAAMVYTXPiOBC955SfoCNUbar8xedtYiYpamuH1JDZu7Aa4omRWVmE
yWV/+7ZsbMvYMiZLag6piqXXrVb3ey2J+ez+gQYyFu/TKYMIJMyopCuaALkjtzfz2b0fcw6BDGP+
HC9BvIEwIVtmf/Dwnz0gJh+dTmtDvT7pWb9G6/V6YDkTy2VWHy17WxryPmlw8EI5i2CWLnYedvxe
7EBQtZkE43p+AQGE4p/tet54OBjZDtkBZyHf3Fzm6ine7YARykmcD/9BeHwgsm2Nc1H7eyGAy2Kl
FgOErGOxPVpkWSns0hr02KrRMivXPQ1eMaQlUqEtmyxkszpeK34QxQnUDJuy+e85BtjDlAEmDuaR
FGsgEHfMZ/ffAf0mcjoV2T9+vN0pJGuAxLzqZbkPAkgSDOWOBFkyCa6XqCyGCbE9a+R6A3fsDFzP
8ZTDwhULkx2VwcvXN2WEKdd2M167K6uv4IXckCjctDk1pwuI9G4xN97IcSYTezj0+nrKdfCHlAZp
nhssdc9lmNcSmzP+fLFpa3ya2BSjSqlVMutizU26U8nVVaQs7YHFLBiMlFmbBhcnttcpiTv0fmO6
xuuV3brvRFIh/8606GMQG3gWlCc0I2XNoCQsdiUBVILJNlXYna5ty3MdY+FWsAm5Zj6vluIv2KK+
0UIfrVs1cT7kb/FrWaMvnGkGz+EWRK8tQXGL4UMosP9dhSa27VgFTczdeaG3pW69uQxH+8AIfFU+
XI2wfOyWHEL5UnRmvS3bwzEJipBI2TQV1wYTy3LYakQn44Cytd2/6U6x7CzSBtIwT3jUeMT82G0E
ZfANgAHrcrS4Qws7Ghwaxj9w5JT7y3SwWP3E5GRN5w6PFnLbr+2shkw3Vn6iqvdyIb4wVjM9VvbJ
NF/QtCRmJWwvsDrEs+AZ10wMbNyAebImiTPZMCupAWtoJHlfrBkYWkhT9ShTMiSLZS6J+YwMhgNr
7HoTJEvmSXdT2Rdaf4OD5hH7y3mTr7/CRMmxHnKFIAcRSt12qcTV2oSwazyZcnJhgUgvoFG0wl30
248GXNNvooqhqzViK6E0gXSy/n8t5Mo7JwFdobWx9nwWsJZTvYC007voAwZWv8J7SqhkzjtoIHut
fFetuYlz3aYhiIUxHiR4BVBxUE52YfHTZcnWOWtmoLGvanM6M7Rz6Pi4ueAI8eyMf5UkbECamv4j
yGN+rsL0Te7uHNU3+rr1wfb8lzhzUTVMO93LDBj4tTkBVFL7RqM9PMTiT3jvxLDHS7fYjWPmMuqT
jSxL1GyyjyQ6lGIfyD1W2o9iDp9DRvWMwpdFEgsTJxdmxIdIWa54jpXV2BpG24umAVsv/QWonZla
HgzUjE8RWqaz8enUMIE33yvQeXF5aroRuoUDldlKRY87RkY/5qTWru54bmXX/atw+go35Hi7DWX1
vn8Io8hPx2vvGOPPTnnkPuUBRFH2MrsMXYkrkfEufxnpL610tHzceI6Fb+7qTVr9llgF2ZOxVwVt
6fsKfIWcH2t3auEOjcSo3QdTR+zmP1BLAwQUAAIACADFMjVJ4TbNhmoFAACGHAAALAAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVmaW5lZC1zdGRlcnIudHh0VVQJAAOBieJXgYniV3V4CwAB
BPUBAAAEFAAAAM1ZS3PiOBC+c+InqOYyUDVT5TeQWwJJiqrdJRsye7ctQbwxFiubMLnMb9+2jG0J
WzIkpHYPUxnL/ZC6v/7UbeazmyVhr4RdXdEtSWY3j+SfHUmzqZ+EJI4J7v1IIliZz25mfuYHfkpU
kug76vfmF7Y32PhRMkQtSiFNEhJmEU2mMU0JvmN0M40jkmS5IhqYjjGyHdceW65tWsZQY8oPKMue
mJ+kPjd4fBJ8kJweuQQ5wYtjGEbzdLVO55Yla/bEtXoDHLRueEvYirLNddu+LxMxa+INe7+TDWVv
YOPGD1+iZL3MKFOFq5AVBQWJg85AaZLB8itZBH/D/vjSHWV/EZbme332kzXhRz1oC2KQGxKTjDyS
kDKc50zyCsBifv7fp2hD2F3EIGcD4+dotVq5hjVeOSHg4lgppJtNlC2SIvttPn2Ma4d1gp9oCZjC
hGC1zcqeRZkYpLsoidJngkXkNQ018tqydy0Gjgx2YAZH+EEDthaNKHmlL2RRRv46wYISz8OAx/wO
ViAkZQZLA2XttYW1XVLztmV7jaXBUIDExLCxMdRGBOCIYzLjzrrFDs9VOFLY19MzYQT58M+0HWfs
uSPTQkCBGOqhd56pB7rdAqb9BFVQ/4YSukeZzkfXrqc7xoAVKk8ahQMTHTSKqFR6BbYUHFakS6QB
jRuqgRMv68tkwoSLoorS8s/foEAbVLUm2YLdpmAthnItzc6TFQWD5U0B51aoN4+N+BI8oVUUE/S1
/xVB6HCUvujrctYMoMgcOcU3FNvg9aurJEyPl4SqKMudVD5AcCHe6Dm9F1c73WxzSdwiQhPZynIX
hiRNYSvfUVigC70WNwKKUummdCwnN1iZgtBt/Sx8vn2trjaB8+3AkPkn7z5Uh+OdicAoaNCH2Dgj
y5pMTM9zho2GRxPoTuohPM6qBqnRUFyKfazx57OP4OPT2CdHVM09UmTtvP9TEFEeXKkeQdN0DRdb
7gjUPkgD2hJeHLm+TEZtz/kPoz1eBaa224aYsUxq7rT9jdRAM+JnRKXbbKINx7be3aOo8BKQdZQI
8nM5hQq8HGtp+5wCGWcSar1D4QHcTPOg5ddLjUq0j7Lnik6lSckbo3pOQDXT5Rl2J4Zh4WDkT8ah
j1fmsHd6YovTSs2q/FwGpHEv/NiumY/JH4Rggk+5D2zPABoi+5b1/1mLcf6tJXTyvBaEiQJ0Bn3U
bxlojiV5mMVRZLsDMrvGzQHqgLMH1fv3DVjH+6lmLdU41XYA9cuOEakhr5mWmrL6iXzaUFDQQVv2
YKzMy3SxLAt0PkOuBxTmjMfAY6cMadOPBgMNQj+OA9jrUE/F4HPalhYFn7XKSltpExKB8XHclSjv
gptYDY01fTwrMc0tWonooVTVnAJBL+Tt9meUZuk8kWEEL1D/G6J8EaV8tYDRyAIYaeeSx5y1wQbj
fxVWDNfrsMI/jmi34sFUoTJSfV7RW/BGp9XEw3mpEytAjWclIwrvRJwJ99lhsjmD/B2zQLPE2dCA
quj6nmSX/CC2Ls11Fc5a9Ntc1Me/llMnVZDRF08dAXX7LmFMB/ixOTkNaffnHvU0rKnTKb5sRVua
v013cQYGM7YLsx1kfBrThHwOKPNZCuaDlDIVNhdqiXeBs/bYhU55by2r+qQJgtomshLSI1SIQ9Wg
h/y5uPsBtwhU2dsV+tL/0itE8442iHjviGK6J4xjN/9iBA0o2sE0Xq2cBNjF+Yc/DbKaLEtvpZzx
FY7Z+xK2QrPPb4KLofZSPxPIPfk+iuNp4wt7c/IBdtnqBkDFT2dnS4uzGfdYj0OOZUAzIHe7+SdD
WcicjB1ZaOO/BYT/fjQ/5O5Yw/aUwFD8jtb7F1BLAwQUAAIACADFMjVJT3tkiD8FAADrLQAANQAc
AHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJ
AAOBieJXgYniV3V4CwABBPUBAAAEFAAAAO1aS2/jNhC+55SfoKMNNIBeft4SeVMYbddpnO2dkuhE
jUy6FB1vLvvbSz1Nig85iYMFWh0CROTMcDjzfTOkrOXiZg3JCyTzOd5BtLi5h//sYUYDgCKYpjC+
+IYSNrJc3CwABSHIoE7SurIuL5ZntjfYggQNLYVShBGCEU0wClKcwfiW4G2QJhDRXNEaOL498fyR
N3VHnuPaQ4MpEGJCHwhAGSgMtncSV5JBa0kmx63i27Yt7+6o0+myYM2bjdwz7d6djdnu41BpaAfJ
BpPttSoE6z9/T2gufgOi5wQ9rikmhnBxQ0VOCcj/fUi2kNwmhIVrYH+fbDabke1ON37EUtJWivB2
m9AVKgOfTx/D94DrdJRSnCKfK3lS2rRiSWOkWwY7cBkn8Z0hpgqNBL3gZ7iqA3aNYk6pCN+gCNUt
G8HklS0BU0hhbaAOvypUaknDrMI9aWgw5DI5s73YHhoj8gRQnMJFsVi3WPXchCNjfj08QQItwP4c
z/en49HEcS1WNGIGyou3mbrDux2DIkBWg9BfLIQPFjWt0eV1sCeEca9ZyaBQEa7SKKPS6JXY0lC1
TBfPRcMy2ACngo0CafIaIhlRRfaHGQ3TjTPuQAPjx0LeyGc4M7MrZ3TkqD1p1mCCK74Xzeekakp4
u8slY4UIRqKV9T6KYJYxV66sqMyyxdbL8vQmmVDjfdfPDTam4iTbARo9fXlpCjkXWi+0xTqQ903d
5oqeyjHbGlyy2PgT153NnPHYH0qt2hDozhIAizjrWrvUCs9VBdzp51cBbo1PqwI5oo41QIisZ+t7
dx5cnkW5pjOyYxuOJsYDD0P+qqV7npR4Y/8nhmu6CR3jvjMKCP2r5GLAnHiExoOCcHYjEFCo05XP
b7bvue9u9rqEh/AxQZz8UkzhH3DL6oJ0XmtrfahrnAUmDjuQNzDRV+cVX5ZOq81Hd7gH5kGQp4+t
ZtVneZavQ0KfmsosXBfGU+t4wLaORTPH2mhm224cTsBsGoF44wwvToeY4pwsPtcnNKnFfNs9EhDD
rxDGMD6ltXhjm1U0eFCMv6PlcMfhgger8G8WnLLoXLHWYl0qDvNtyWJjx0fG6j1dkes4llSrzN7p
5t93uWj703nPUG1AP9lxz5DkDVcOWdZ8ewskBU0pUGUPxDkNrdW6psRyYY3GI3vq+TMGltISb0bY
F9P+Cg+cRVa+ulW+fE+ynI6yywJADoTdPznddU4uYxE63r6CjybIGkQgTUO2i6G5NbA1AxVUNFVN
KSu4ohLiwfpxLtTM66IAz1BpzBzPRszQ1RsRM7ybOqBB9SNEeQzgb/D1634bsu1oBJ/ha4G8bIlO
IEt537rPa7gKnKdNwwgTreOMCYKAYOA4eQrc796WFR7ceqhqCzA3x0OIa1jVLegNvcZ3SqD+xBbR
06KnRU+LnhY9LXpa9LToafEfoUX+njDYkwwTHTFWeol3UeO4Yhc5RN8Uo+ZUcILGt1qNkJkkXBw0
aMNtCS7S5fh8rpmwLlUIfQHpHt5iwnh3EkZXbw/NaTg1YECYFTJa7TiD9FdI72G2Tyn3boqVivJ9
1lkwXS8WYUQTxIK2R+VLswHF5VIyEBNaFLVzYlsw2QVvaX31hDmToqweJC05M9SXgrAG7YlCSAH4
Ssyq83AOnC/fG6DT0L40AqMt0GO+x3yP+R7zPeZ7zPeY/39jvgf1qaA+1weh4i/QhyRNA+mjzEvj
h1DyZ8itH+3xTvh8w3dtz2398J1/liYKObOpLwptwWsIiy9yl1XQ2xreWJtXzVfGUlAqb9+6438B
UEsDBBQAAgAIAMUyNUnnrpCGugUAAKwvAAAtABwAc3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9k
ZC10eXBlcy1zdGRlcnIudHh0VVQJAAOBieJXgYniV3V4CwABBPUBAAAEFAAAAO1aS3PiOBC+c+In
qOYyUDVT5RcGcksgbFG7O2STzN79EIk3RmJlE4bL/PZt2dhI2JIhYXZ2q3yYyljul7q/7lYLz6c3
D5i9YnZ1RdeYTG/u8d8bnKQTjwQ4jnHY+UoiWJlPb6Ze6vleglWU6DPqdnorLyJ9VMMUUEJwkEaU
TGKa4HDG6GoSR5iknBH1TMcY2s7AHlkD27SMvkaU51OWPjKPJF4mMNM8P+wk3FNOjlQCnaDFMQyj
ursDT6PJkjR7PLAutHtr7MLuQ79W0BqzJWWr6wYXKIL5O15RtgO6Gy94icjTQ0qZyqHnBT6XLIoV
5O019PoqAxgsv+KF/xf4KFuaUfYnZgn317NHnnC2X75BSSrYwzz+38dohdksYmBMz/g2XC6XA8Ma
LZ3AKFQKsgEgOMYpvscBZWFFaEBXqyhdkNyV/PUBE4+0cHBOJTDW6fHCcK+kyQgtsxDXk9RKkith
rNmsXr0O1UfWCFB4415rXm5ZlIpWzyISJc9YZ1gYhXeaRKnhiMgrfcGLAlDXJBSYMnj1dCWJahgz
XGp4AeBhjIvn0oQETH18xgwjD/6ZtuOMXBMqI4IkDCF1OCxmoAbcVTi4kFFUgzrg1lNq3tZYXFnq
9YW8Gxt2aPS1zWC/5UzZZTwzGJpW6ZnzRN3R9RoKh0dQGcVPiNAtSnU6mqyebBiD8l5q0jDsa/qe
I/dKyZe3VUU3yMMl1tLOwx+/QbpUKuwTThfsNgHGGJKnkDAnSwoKioYJmhTsVUUoW4IntIxijD52
PyIwNoySF31eTqsmi/WNd8cKY11AvzeB0HQzEKrSoLCk1AGEC7G/8a6UNzq6WnPKsIaEElnKwyYI
cJKAKZ9RkMcTveaNDEWJdGBwLIcLLEWB69ZeGjzfvpanAqGV2T60MjHjeS9WbS7r00IOo14XfOMM
LWs8Nl3X6VeOChpHNyY7zvysOi5UzlWXyndr9OPzXdDxw/KdI+qQ7ZJnbUN9EOTOlfIROM2BMQit
wRDY3lkGtCm8OFJ9mYjarvMTvT1a+qZ26ACfsVQ6k4qnMP0cwbCXYhVvdZYwHNt6+xlFgRcfP0VE
oJ+TU9rGMZf2ZJEj48yCerBQeAA1E+403l4OqETbKH0uy6k0MLojdBix0KHS8QgPxoZhhf7QG48C
L1ya/c7pgc13Kx2Z5efCIZW+8HX9xLwQf8E4xOEp/cB2DShDeFuz/t87eJ7ZtYSRIcsF4XwPPL0u
6varc9gxZeZmcTBYb6CYXYfVEW6PszvV+5PmxkZ7GkfEug2oXzYMahV6zVhWpdXfJkwqDIpyUBc9
mN14mi4eigSdT9HAhRLmjEa2ddKQNnmvM1Av8OLYB1v7+lIMOid1YVHUs1payZQ6IhEY78ddgfIm
uInZUFnT+7Mk03TRkkQPpTLnlAcQwn2Af8W7L5uVD9tREL7g3e23KEmTOZHxBi9Q9xOi2SJKstUc
b0ML8KYdYO55eQcZLPurkGIM3AYp2VWF1hQXxg+VkPKyQy/BHZ6WPHfnxVhMFTXwlaVTeCcCUmh8
+xHojC7hmDnsf2Jxb5OsTbI2ydoka5OsTbI2ydoka5Psf5Zk/Dp0smEJZao0W6gp3pRoB41NqSbb
VrOqD4VAqL0HKon0KSf4obxjC7LnfHwHGCJgZbsr9KH7oZOT8kspP8quf1BMt5hlUOQ/+ngkRJv1
+rByEgoX52/+NCRqoiy9lWKWrVxdJTj9Baf3ONnEqXBflyXdxVBbKAsoAddv8GxD8ovEXkpzVVWo
QVngRfCS6JVENgG4or/+hT6SMq0aJEd0ejDPJWJFBT1V8wGe87fu6zSQzrXxPCZoodpCtYVqC9UW
qi1UW6i2UP33oHqBH03z70slL2+jOJ5UvhztHv8qT9fSVxGOZcC4Lv/OyT8Wk4nM8ciRiVbezsfZ
R9fzvRuPOWxXGSnFh+Ta766qX12fTS25cO+JbucfUEsDBBQAAgAIAMUyNUlmlyfBhgUAAOwsAAA5
ABwAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAAOBieJXgYniV3V4CwABBPUBAAAEFAAAAO1aS3PiRhC+c+In6AhVcZXeSNxsYVeoSpZN
8OY+SAMoKyQyEsZ7yW/PjITEiHkIyfKjNj5s1QLdPT3d/XX3J3k+u1tC9ATRdBqADKxACr0kjqGf
hUnsRUkKA+VG0Ux1YpiW4eiWqarq4Fsc/nOA89ndjNGZTv0L/QeU7LwohHGGLQ3r1gzX0gejHQjj
scIYbTQ1oi3prj2WmAKrBGWPCMQpyA0SA4P5+fbJHsazuz8h1kszD8Q+jCIYDDiW+JKvYm8UrLiX
2UO0TtDulnen5R+/hRkRvwP+9zDeLLMESe5PfZW7ggD572O4g+ghRNiPkfo8Wa/Xlqo7a9NXx4yS
n+x2YbaIi5uTn8/V8JiU8SikKEU6WOyPzKU5R0oL58JgEU6hfBAGXyUx5WiE8VPyHS7KgN3GAaWU
h28kK8dEopjHvRYeUvyMEZ5X/zLfjca1DGq2Oi4S/4BPTNAPfHcYwQyW8mVd8HLIl5T8yvFQ7qCr
GkHuoDhyWxAHEZzlhzWLnT5XeUqxX49biKAC8D/NME3HtiaarmAQBhgtg3amvib7PcYIiJUqob8o
cXJUMtkZTV57B4Rwj6tOkiicOsFJo4hKpSftIUW66CYhx8eMlX+NEnXVc4lya7D0pDoDCy7oFjqd
olMvTXZ7IhlwRJK4bmV58H2YptiVG8Uvgqng81ISxTCtjSxTN4nBylQQpnuQ+dv7p2ouUYAzVkXL
rOBG2r3ocvkooACkjIY4NuZE111Xs21zzEwYSaAbkQbzOIsmEjPZ+wKb7rw+2KgzXg1spKLOUKtF
1sA5F+GOBJdGEdHULDVQoTVRx3IMLi50+0mJYZvvGC5nvdKk904zgLK/Cix62IkNlC4KtVUUQZBB
kS67jqqmoXcf9oKEr+AmjCn5eT2Fv8Md7gvMvnap9aJdopcy0TRdrcpE3J0XdFu6rjef3aE+YA88
kj58mlJSE5yvY5htq85Mt2XNdpQzX1DOTZPUmuWqqh6sJsB1fBCstfHg+hLj7Mn1z+UixIyYb/sN
AgH8AmEAg2tGi2GruKPBI+f7DiOHWodzHCxWf+PgFE3nBo8WZchZ5i8le+IIl2Yb6QLPD/GPDXSB
kZcwB1ZWTsI8RkGAaF4SQEDQpCyWZWXPZ4plW6pjmC7OeWGJNlO7F9b+Ao+URdyFmlXun8OUoIp1
mfpmOj0iTCMp3SXBiLSXnEmU99IEKSMfRNEK32Is7/D4TI9XKoLm5DWWN0+ILta++HIdoMcwijyG
s/7/CHoD1LhKIrhJhIXwKJQqGEkB8RDGYbq9FhFcb64JYiso8E6przgaJqKdVxwJsHjVwwCLU/lc
r4cCmQViHs+wGFmHBLHlgvHx9qaLqFCTnLNEkMucuOntOoOotqR4p2otF5Du+wFh77U6MW3Mw+tC
O/BjBfPnsPNTK6lrWK7tCCtE8Gy5X2YsqM0CqL+SjOEUCJnE/Od6FP4CjF/7hOHzOUEfzwk+AvHF
c0F/bQLbQ0FeDeZrZv3LV+FO29knj//k8V3ndPHMXkpfeBK9PQioHD/EPjhsttn9sw/3RU/I75Dj
kkOU8rePswN8TB5AGMHgZIgvx1KjK7a+TswoP64kRhh1xdvXk3OpCByXr1J5q+7sMg9CDtlEOIWn
yslDEcmW78O7vG8WtH8glhV3ZKLTknz13IPbvghm/W/D13hnXNA1Ha/h7/H6+S1Hze0VgLplOwMv
gMNWnMXCXqpdOEsLbtrCGd1RBWy2uj2HHt4jlCAuOSSTGX8+E8RPfjNuZuAfg0V/FFb84XrIJzl9
Q3L65pytVz7CLPLVX3n0xlZ0Q2/JVn4Cxti5Q6ZZsq+3O1019MYuqrmO2a6Laq5hd5nrwibL/iXn
+16sVkWn04ftb9BOuqdD3yts/wFQSwMEFAACAAgAxTI1SZ+yvY9qBQAAyCwAADEAHABzdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1zdGRlcnIudHh0VVQJAAOBieJXgYniV3V4
CwABBPUBAAAEFAAAAO1aS3PiNhy/c+Ij6LYw08z4jeFGIJky0ynbku1d2DK4MTKVTbJ76WevZOOn
JBsD2SXbHHKw0f/9/MlZzO9XiLwgMpm4MIZrGKFZiDFyYj/EsyCMkAvugGooI90wdVszDUVRel+w
/88BLeb3c45mMnFq9I8k3M0CH+GYcupXueljU+sNdtDHQ8AxbWU1KHPSxtawJ+Dh45fwGS33iEDG
aIrdJwJxBBO2T/4OkcGwtyjcEO4Rnt//iSifKJ5B7KAgQK6Is/gk0+x/x08ewrDB8Y8+oZLktFuI
3QBlz3kIIyryaYsIApD+qbph2Jaqagqg+rk+3jDrHqmYkHyjWY0CFOc8MuOLfH0K8/wXnmz4VaAx
92owBAPl68jzPFPRxoruKsNGdx1NToRdxzPmSNVyz3Rj9Tnc72mAIQZ5FH8BOHwFcZOMNq1nB0Jo
BeeSGgjoES8kuyNF6pWcLk08dy2kTMN1D51nqtKKpgLqrf74zY/ZqfLbyWSD4iV5iChh4EfbjMMC
eyEVkPVEKklCzgsCySv6BDw/QOBT/xOgyrp+9Nxgqeu7c17lUv45rAFyhKKA/tuWhKqVJKGsDDJN
chn04LJc+pMJOfaAcLdnJ13BkRBXuawOjoOiiKpyB5w0noDKi1gg/agyEwzNYAxzVtR1exg724eX
vPHn1tievlaGlYpnbUpmXNLCSjUMBn3qG2OkaeOxalkGPwkaHN1a7Cjxs6yTcqPzWvWu2W9f7yUZ
b1bvLKOKaq94Vqcxl5U+c26lHimlaiqmq5kjSnZhG2gs4WVN9HUiqlvGD/S27a1V5m0pG+ozEv+V
lvKMKrFBpTnfsioSBGMko+XXRcXQtbN3PFm+rNHGx6XzC3zK2KhTNW4WaWZ0bKiFhqUHKmbGnMbG
S5GV4NWPt3k7LfdS1bJBsUWDotOxCJtjRdHc9QiObQe6njrsnR7Y1NrSi0RNgUO4ufBlvyHQRb8j
5CL3lHmgWwptQ+hV8P72Fs+OU6uEdZJaWK7/pqFK+9YdnU6gP+T8zJ3kTuS2F9ZWpBuOcgLbJU4T
WJbWQj3kP3J+bjGqARbyZyW1nbU4jkBS1aIgQJfFFixXWZ0t5sC0aCcybFvXmgfCZ5n8js4AAwcG
wZrqOmzuqFTmTBQWSVuataaS6FA5Ma6Qd+Fu58fVYnj1g2CWvG9uORcIbM3uuvhKdnM/tgQ0tbHp
pqNubBO6ydJaSCRL7ebD3dQtpbaQ7Sne6JTTIinV3UClGPSS+x9ZhYjSgKsQQQoLte5LzizJdB2S
lmT3fFZ62Y5we6Ov5pXS+BPsAcyYIyacejEilT0jdUqyG/QvG6oMNVfyxLAo/q0e2sFva5RcMC6O
PaFKYY4tW5ohkkvT6yJSSW4++philV9ZxGgIpCv44uOOV3TH24DsP/D5NfD5LSBGOhe0c5HfuYnW
ETF2LuiMsPsmdHMj4wMtf1e0fMkoTS+6G6GC6MTVAG6u+AE78LDZxg9fHbRPyzaxISkbASiBbLOa
H9BT+Aj9ALlHRuJzPAw5YTE7C4Uk4jIQQqsu/aB2VC6SFQesaSPaRuf1OEjxWhu4k0pt3u9TT8ob
Rp3dKVhnKqKRdFoh/ys3zAIBCTU7wUFd8I9IRg3+aHStPftq9J3MhekJ2T/ly1jkwH4nDGBSLZVz
MEAHrNdBGc1WJOgwt14Atx4ICYkQbLExSp8LwPWBF4btiPY2UOmtoMxLeshbfOe2veI798cX3XeB
GM8GQz/mU/D1N4qf+Pvxz76anAFZOayX/4/M1QCtpmsdAW3HoSYdNvx/FNbLJYrDfdNXczmbMuhO
eJTGoqboWuu0Vce20W3aqmPduqIF78be8/fd76vqf1BLAwQUAAIACADFMjVJDuGDieMCAAAAGgAA
PwAcAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2ZW50LWJhc2ljLXByaXZhdGUt
c3RkZXJyLnR4dFVUCQADgYniV4GJ4ld1eAsAAQT1AQAABBQAAADtWE1z2jAQvXPKT9ARzzQz8ic2
twDNDIc2nYbkLltr8MSWXNmB5tLfXhkTY+MPCE3adOIDB2t2367ePqHVzmeTWxBrEOMxj4HNJt/h
xyMk6ZQwD8IQ6OCOBXJlPpvMSEpckkCbJbpEF4P5x8WjO/spZwy8NOBsGvJka6caeKQbpm5rpoEx
rsfY+4zH3oH/teDRNAyApVnEKprumNpgGJGAKagh8SNQwzKS5lhK0+YDtuYPcBODIBnQFaMLQVhC
trCLIAIxVDpS4B2O14GQhJco9LIsayBNWf2qrQ0VNMQ/R77vm1izfdXCSl6faxmRi6e8jNnCnuwF
r4hhh5RzcyHxjJGmOY5qWYby3yA1eTcx2E2gg3XYEth2HGrC7dDAijAawvN3IaVEbmqxAgGIyJ+q
G4ZtmSPNRhKfBmw5eBnUNx7H8rQRhgrNfUKMb1DaFeNY1tNHIeR5KSJ1OEgTn4to78EKryqzOlZa
KzWkbts5YhPiPcicb2XBIUNUTUwxmCOs9AXuC9wX+O8W+MxCtkenAb058H2dkuiW8Q/psn1X7dx3
khKR3oNIsj5FJrGEUqNwpFcSQFJo8633S9jQtdbCubAMWMl9Xi3Fub3RF4jkBS39ymj1aL0wemH0
wnifwjj7WXSeoP5cGMdfXa8iE1XV8Aky6bNpeeHtzm/RG0qzm/KsYTwWu6EDj+IQ0vy1vE+n9CEz
mGbSltHQ8yRCankTpCu0ztVeGRyolo324wG0f1Vm59B0MNaoOyKO7RHqq8rg9OOXP7pLC9s0D85Y
w045u4uXglD4CkCByl72Enn5/0SxgSCp7EG3sOwPYdOw3jPeM/4RGC+gaZDEJPVWn9fFdK90n+pu
/iJ9W/Myezyu3KOGhuU9ekjazqzOJnG5SKuQmyAMr7LlWh1K885sfliNqzq2UTWKyJML23nonOUi
PfTQrVYxt8x4O0d49Rnzi617Zk/n6g14aIU8pS7vhMTmPfwGUEsDBBQAAgAIAMUyNUlPG8Vo6QMA
ADEoAAA3ABwAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXZlbnQtYmFzaWMtc3Rk
ZXJyLnR4dFVUCQADgoniV4KJ4ld1eAsAAQT1AQAABBQAAADtWklv2kAUvnPKT/ARS6003thuARIJ
qS1pQ3of2w8YxZ6hYydp/n3H2Bgb28PmpCHyIVIgb1++92Ymk/HwHvgz8MHAxSG2cQAjRik4IWF0
5LEAXOWropmoa5iW0dMtEyHUeqDkzxNMxsNxgWcwcHb4bznzRx4BGgpJV3lpRt/SW20fE6oqBaF7
RbWzkvR+R5WIwjbj4YxjGuC1wEhAa7L1nq2Ajoe/QPAF4QhTBzwP3FaJpHLKtby2a5cqXwGfM+5f
l9lQj/eajtTWd/AZfxUyhth5JHRxHzJe5XpMmyXMUCQ87TcI6CkhOi4Jx0RhclL5Hxi7pkvq65Jz
EnVYKdSbrbPb6+ikCu6cCpEAjqNfZ8QHfku4iFAb/e3O53ML6b256aAi09quKY1DfU3dOHFJFoOI
fBuVGdtkZDeejS3VtlT+rVADRQPOaNxPqK6a3CXu3XHjhNBn9gjTTWmIDGeY1oUibdbPr5BJGNc9
JOFdYup6sPmcmhAIU2dL4KBg8aMZptnraGKPUcTkcAVqNtZIrBFCboUaMWPiUVsFQesxnEiPB8eV
qrTNrq73+1qnY6oXI6mMu6zQC1+11Qy+95EBSJXslIXhX0/yrK7eS5N3nKg7tlqJGYWpkhbaF4Wy
FyWU6dhn9eiJc7FMpJokDMletuWgKVc+skY8OUszVbX0RUTZNSmSqFnIcnWri9QzEnz/8xsJobD7
LSCc8ptAcHokWG5ETOiciVBvVsumPt69PppO/miZOrFjpUvLdIe3npQYHfOMcJ0JFOdGuze3NWnY
hAk8/A08iM6CwocFSBfr3LGVAw6hird4dEWmoZ+8PFZM+yTraaMLsmn2bmAw4MklAfNXHoRiXcrp
znwQxo4ij0SSMhlQXki4VJ5jJ3MHca3TU7bnaGW7YUTht/oI6a7dxf2eg925prYOj3p82MkdYfKf
N+ehHU8ZfVgtOHbhB4ALrsCzr4oTl0fqAAlyPhgdJDACXkq+/3graeqoS4IVDp3lzXN6YZEpeMNG
Nd1XOMz3SZjP3AvxvNH6e3nGzlC4uQmoqnlnV3127BX/KD8cJz7Krop2nZXdsjXw3cB3A98NfDfw
fZHwbcOC0Azx5FBALoPvCuzc1bHnuvXdoP7TYfWel7BRaWVUJM2RE5fVZDMqahoVJzbrm0+Yevp7
+9hQXpCH4J/SdrDn2cKMPe/iQlmplnz3aF3tPbrn1AaRdt1Fj/0TK72eQvxP8clCBVvlCtHUkYDx
/DiPnuvzRFq/Z+aJfPxqw/phf5LsIrscRqcSZiv+/6EAVIm1V+Wv2cWtq/CUeHVh3l+QqZXvYsV/
rjmaurII6hDzD1BLAwQUAAIACADFMjVJyJOdjHUFAAAkLwAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRi
L3ZlcnNpb24tY2hhbmdlLWV2ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADgoniV4KJ4ld1eAsA
AQT1AQAABBQAAADtWktz2kgQvnPyT9ARquKq0ROJmw1xxVW7UXZx9j5II6MEJHYkm/iyvz0zSIiR
5iHAwqa8HFxlUL+mu7/u6Rb9JYyTgfY9if99QveT2wnM4QxmaDQK4/AbwlGKl+N0uYzzBwyTDAZ5
nCbatXbV41gYgtEo2PBo/QAuFjMY/Bzw9OM0SVBJTpQJtZA/3QJD07JN17D1oW70BKbGyXP6E/kr
hCFlvElCRsxDvES4P+gRjp3Gh3SK8DPCYs2UtnaaiqjXdBFv9ZWExsc3sxSrSJfwZYbGizRD90lh
Xv34pmlZnGlRjJGfEBWrBcoRfVydjPPzRnZYF2oBANSxCRr8dzhdjhcxSnI+QqZnG72+NKdaRPVZ
SYbnDF4T7I/kBrko2Myp6yKr3v/04Uxo8KqoKTciuzv02PSvP+KcyrglxSdOHqd5imXu6iDJ0hVK
Jrd/IyIny8cwCdBigUKRZDFlM2znKu9/UEH7e3TEm47TqGZPuiXfENwR60KtD34NoyiygeFGVgB4
pk1i++WhiZ4icmUYM1nomnBQHD5VHGJjI5tuAQ0BJ0Tkof+47/qD2ml1BwyUpeFimNgwRjgXZvLs
jvyb4heS1Yim/VaWEuhCSsVTgfVq4z1ghi1encMkXKAJasFqSVZ+rhCYEbse5ggjDZI/nZQD17HJ
rVIjVS8kbaJ3mKhv6WpF0AkTrQr2Jy1J11qu0tFm9fgJY9LZKk0KhrKblhyFVyq+oqdK+nARLrY7
qivfhKc/Rfp6YJe+kmYzqSUaJfTZnjUa4bJ5lRU9FJCkSV3K9CkIUJYRU661oHCmRvRl1ItxVmsh
lrFpIZWoMM5WMA/mn5+r2wgDRnNWFOsKbrS/yg636b0MgLT+FfGNNTQMz9Mdx+KvHApHtyINbfws
uwJwd8CuwGa4pwcbo+NkYKMZtYNazbMmibkMd9S5LIoop26DECB7CAZqDPoN3m5CYjrWO7rLjWa6
8txZDnH+T4HFMTHikV00tAwtGMEcyXj5wQVY5vH7BVnAZ+gxThj6+3oI/0RLUhe4QaXJ9ap7Ridp
ousGqNJEXp19tiztV5t35jAfiAVjGj6iTdsOsSRe6zifV5WZLcu642q7KVHbFU2aa7YHgBHOhtBz
AxhG+qC3f4oVvah22a5/3l6EuBbzffWIYYi+IhSicJ/WYjqAVDS0Fnx/RMthpucNDvzZD+Kcouhc
k9aiXfFjBEfZzXTCid1OKrJEEtohf9iyi+ToFYsGnla9yBhzDBJEi4IAQ4omzZ9uM/t+otmODVzT
8kjMC0msmPrMF4Zf0ZqRSKpQO8vnX3FGUcWbzHwzGq1xnLO8U4oRZS1hFsavDdBBe2NRqsj2FK3p
LSJik7UDLAjWIOt4sZDsQbpS2Io40QpH/nCf7b9ynyd6pdAGNSGTDG4KYik8CqYKRkpA3MVJnM33
RcTlFcoJF4DHrfPe6d7U8ArTyQWXCHqYcja9iXKEa5eUcZmt2wvIu42kkqQoEPKFuoqcXXqFP2Cm
fbPJlN1r7XsQMaQbEFWIErxIcV1XXV4U4t52H31eMDvRYqGm4x0mZd1UejpJ8zh62SVc5kfNBNsl
l0Xyy5GBl5adGmtVn3baxDSCIYdNaNt0PmnlDEhcLiU5dpKrVz7mtaDlWRao78ktxM1JdItZ95Jj
Ou5B75gIhwGkRVHyNlZZRGWh+ODv+ctsLpJp+z6yIdcvKogwDWs6dOfoctjFTxCkYTxl2TxFAXLP
ZFVnDT3XOvXK7ehNYOf97ORT/WWf99b7vLObSw6cHi6LkMsi5LIIuSxCPsAi5NXri9pJsjxdqX5F
I/kp3sHUUqVsH9x8y1ybDGAarTOPTu9WB808umc6x8w8Z2aqxNm/AVBLAwQUAAIACADFMjVJjlLC
zBIFAABLKAAAMQAcAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2ZW50LXN0ZGVy
ci50eHRVVAkAA4KJ4leCieJXdXgLAAEE9QEAAAQUAAAA7VpLc+I4EL5z4ifoNrhqUuUXxnBLYFJL
1dZ6dsns3Q8ZtDEyKzvJ5rK/fSSDjWxLMpCwYWY55IDdD6n760+tduazuwUkz5BMJhGK7hFG2eoX
H0cJwss/IclQiqcrHy/hA/Fx5oc5fQBuQL/3DaO/n+B8djfzcz/wMzhNMYbF+y5TTJ/+GbY+suyh
5Zr0z3V7g7WPsAZahrvM9QQaCD+nj9DbQOKzFd3iiFv/A1pDMtB68/3e0w3Es7s/ILWT5VMfhzBJ
YCSyLJYsQnJGe1EryNMkzQo5Loy2ruvqxIQN/XuSrqcJgjgXJGU8NBVJ6TA14C2ZY0e7pDRxXgrR
rfvC4T0iVG6g/zOK43iom25sh7qmiEOqWH1hTKG7YniG5e8qDhld58MKEgh8+mdYtu06hmHqgG4q
ovBnW7inblLySqEBE5hXNsod7pP+kFYgEkoq3gpW3Ho00LhgjXUr0jWq2bnlwtn7RGY4MswqMseZ
+ppuNjTbPgZVFj8DnL6AXOWja9XTJ0JoGVSeFApUJE7JeqexjUqlV+RgEAViTixk7/zwkS5pQaEA
e4vff0U5k+KfTiZLmHvkS0YVE0qhpYU5jlPqoCQW6kmi3nYEikf0F4hRAsGn/idAFxuh7FHN4bP2
kjn8hYxFWoqihP7bBULDKUAoK4NyJZUPKujxfDGZkB1xpOsNk4wEIimuW1k8hSHMMrqUGxBu8wme
t+cUQFmNWG3TZgYrUzR0Gz8PV1+eK/bk+McKdK1W8YzbZJsreI+rYTDo09jYI9Mcjw3Hsdt0qgh0
Z7HDIs4y+m2dP+9V76Z7/nrnfJyt3hmi9tVei6zFzhxJ6bPg1uqRahpDfRiZwxFVeyMNKEvYa7h+
n4xajv2B0XbjwFCe8DRmJJc1wx39FoF+DlWNdL3n0m3LPLlRkuElgEuEOfk5bnKwhCY9nh8ksGoa
L9uKAwh1v0LuB9WfsqCx42WPSvCC8lVFpzyXGo4L9q0o2DMdy/BwrOtmFIz8sRv6UWxovcMTK+gU
678lO03xt82S+BH8DcIIRoecB5ajUxqCL4Lnl9d4HnlqcReGoha84C+aqi1v3dDTCfS1Vpxbkqf1
7J1mPbwFu6wEhOuQv2zFuWNTirtVW1ZS2yXFtRQk5SpKgh+x3AJvUdbZfAaGDmUi23UtU30gfJX5
PzIYYBD6SRLQtWqdo4WpKC0SCpt2QkkkxAPjHXCXrtcorxfDC0qSafFcTTlvcNiJ7qb7GrpbLzsS
ut2jalzQ3KzqdlPCWqgkg7Za+LjlctAWmj0kGkdhWuSl3hsY9A76liGKrEJEMGhViADCwlX3JTIe
uQ1S0gH2GLHSK3uEyzv6GlHhjj9BH8A2s7sT3sY5JLU+YxuUojfof+hVUAKKwwbBx9wl/7Mb4fz/
PdH+0UebZ7rQ13x8wBXTsJSRxmmO4tc94DIvbgJsDy6b4suRFS+jnZpqxU97b2IZwT2FB/TQcj6D
3TWOhlwqcuplrM583OcDe2zbulbHLWxdLtj0sB4lx3LcutDafw1g8bVivuuNmhqmLiVFyRcYJYnK
UvGTf9bZoXkLpvIbTMOut2UQIQxrPgznZDp8hy9O8jSekzbPQUDuhcy47NHYtU+dVZ2a0WOGV2dp
HQ+ZsF2nZtepWaBr16HDdehwHTpchw6XNnR486hAOqRo/0dP48BJN/UWwtQts7P/N1ifcVT/b4wt
5/iFHiddS+duZ33liwsLhPQi9B1QSwMEFAACAAgAxTI1SXUMZoAwBQAAkTgAAD0AHABzdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQJ
AAOCieJXgoniV3V4CwABBPUBAAAEFAAAAO1bz3fiNhC+c+JP8BHea96Tf2Ds3BKzeeXQJW/J9i7b
IrhrbCo7YffSv72SjY2EJRkCadqtDhywZkajmW8+CTSez+6XCL8ifHsbJ/FDkiXF+leYxWmSPf+O
cJHkWbCG2TN6wjArYFSSB8aNMRx8zZI/X9B8dj+DJQxhgYI8y1A13meK6pOP6YCp7UxszyIfzxuM
NjDJxkbHcJ+5gUAjyV7zb2ixRRhSj+6ymPH/KdkgPBoP5oe151uUze6/IGKnKAOYRShNUSyyLJas
QvIfshd3khakeVHJMWlxAADqREdH+g843wRpgrJSkGR/YimS3GNqxFqyfHd8SdqZp1XEavFK4CHB
JAwj8H26Wq0mwPJWTgTGCr9zxWyVMTbuEV1ax4hoKX91no3GnFumC8Z1Uh/IjDn+QbKKUlSiRr7J
+SFfT3mbf6GkYlTgodpBH9hx5aA8cmtazWhWTdYvtv/eJrcgfj2tEUYGJB/TdhzPnUxNyyAFEBOO
GJxn6jHfbkniYWa0Cf3FyPKdUarm6PM6eMGYILidSaFARFY53uw16qi0elUORnEopsdK9h5G34hL
SwIFpObSWVf+PSDqgwNEhRhsPGnnIIILlr5ub/Gex/LNlkrGApE8460sX6IIFQVx5caI6mAar/V+
YSQFR0iO5VCDrak4KbawjNafXlvWYQrODsGYKzdKtbLFVTTMFJAxGpLYOFPL8n3TdZ0rWxIJv6lm
UZUx2b7S2QGuVbaW9/5ly8zxbmVLsXkoWi6yNjgrU7J4SziAirMVTec2JyAGaDJVbl+kChdHutdJ
qu06HxhwbxWaynUXJcSl7ITbc+jBCJZIdTrmDz7AsS1p4kL0nGSM+pxPxW9oQxiCaLBPu1pvPgxd
cq65CkxM0wItTOQ7xYItl9P2iYM7zBfiQUDTR2YzmkMwydcuKdftLsFuEabrGYeTqXGgXYq1iQ+A
FYdT6HsRjFfmeHA6xOp9kTuI8t+bQ1lnu/u6fcYwRp8RilF8yjZnu4BwItoJnr9h+2NO7FUdLMI/
SHBq0rkhm5Mx7B6xO5K8oZIBMl3xQY6U+0u5wHdx3LG5T/mjbPykY32vo4usBqEMmsKVyQc7tdIT
JsXPpa6shGEawuwoSLhFlFYY0/o0FsumVuYzY+JOgGc7PkFRbYk1w62LaH9GO8YiIZ5+lU/fk4LW
addlDiA7nJSs7pJWnZKdCJ08ymJyZoKMUQTTNCSrGPf+IxKIoCKhO6Es54pIiAXr5bXQVF5fCbAV
2nmmjmcrptjuWxE1vFsekKC6/pH0pfrDSICi04ZRlGPpDASynABn4DB4Ci4fzwsfi0I5pqRMyYyx
uWa2nP1vqjN2C8esEfWBXK7xq/Gr8avxq/Gr8avxq/Gr8avxq/Gr8avxq/Gr8avxq/Gr8avxq/Gr
8avxq/Gr8SvE7xWulPPNJin5C+9dkqZB9VzdEXDBhL0X18fTcxfXncGee9F6jarm3uPFqhoamxtr
oZLs1lohLL1lrpXa22jlvXLdgX7qxbLQm1OCeNaNsmgWvvfInJrWT98cFIiw3LktF9ShMIZDiQwh
mDDHPRW7Sug1fNOHJPCDIR1Bdw9V35PV3apEmOseCvZobTqDzmzckQTvtHc+uPbw/+GLIv/sGwPX
L5536qrl5viAJk+TdtVekNbrdRt22vTaPvSr9SJatnVOL+K/jr2vwFeS96CO2i7zLccajgVs66h1
kb7kwAuZvufwQhv4I0TVy0jz/WHqWMN2pSCSvGB1/sI45tmvbfjzxudvUEsDBBQAAgAIAMUyNUmy
0YTWPQUAABk6AAA1ABwAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
LXN0ZGVyci50eHRVVAkAA4KJ4leCieJXdXgLAAEE9QEAAAQUAAAA7VvNb+I4FL/3xJ/g24A0lZxP
ArcWplqk1dIdOnsPiQPZBod10nZ72b997ASCQ2yHFKpOVz6MRiTvy+/93s9O8zKb3i4QeUZkPE63
CE9vv6N/nlCWT3wcoCRB4dUPHNMrs+nt1M/9pZ8hmSS4Br2r2cFeuJOfpBijII9TPEnSrJAzbDi0
bMfyTMeGEDZ9HHTG4+BI/46km0kSI5wzj3Vr1sgxr/obP8YDIAi8xVSft2SO3IFo8TF+Th/RfIuI
zwzd4PCB+DjzC7MP8QaR/oBPw6XTqst0uTLJQ0gVincxoQmX6659HCZo/7sKIaPBP6wRQcCn/wzL
tj3XMEwIaJnCGK9YUe6om5S80qqgBOWVjX3NDvl+SKv6CSUVdwURNy71B6AP/x1GUeRAcwStEA6o
ZuuSC2eXyYwzNMwqM91M3afbLcWvj0FVxa8Apy8gV/loi3ryRAhFYOVJoUBFopRsdhplViq9ogb9
cCnULMt16wePNKQFhQK6Wvz5e5wzKf7qeLxC+Zx8y6hiEmfrvYUZjlLqYN/T1JNEvekIFJfoLxDF
CQJfel8ADTaMs0fFSsM4nDZD5vAXsAZuKIoK+l8bCA23AKGsDfaRVD6o4JxnwPGY7Kgw3WyZZCgQ
SXHdyuIpCFCW0VCuQVDWE1B/GStknNU4zTZtZrAyRVO39fNg/e25Iq5qNV5kLeGg1vGMrWWLK5ic
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
AO4AAABGABwAc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxp
Z2h0LWZhaWx1cmUtc3RkZXJyLnR4dFVUCQAD64jiV+uI4ld1eAsAAQT1AQAABBQAAABlzkELgkAQ
BeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgh
eePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPg
ZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBL
AwQUAAIACAB0MjVJx++ozroAAAC4AwAAKAAcAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9u
LXN0ZGVyci50eHRVVAkAA+yI4lfsiOJXdXgLAAEE9QEAAAQUAAAA7Y8xCsJAEEV7TzGVJKCuYCFu
JxobESHRpN5NJhLYzIRxV/H2JqKVNxC7+cz78F+SpsdUw5mMdQiewQchYIKGSsEWyRsHJnie3kwZ
QgvRHIg9GAIUYYlHKmcXWryqrfFGJUWmCrT7xquMg5Q4pA0LqgNXwfXYHW3Vk9Zc8VUZjlnZddFi
uYpBg2V28C5p/SG07lBqlvbYIa2pylGa+hEN8OSbToZpMO4/p53WmZeGLjCOR8nf9m/7E7ZPUEsD
BBQAAgAIAHQyNUko2Xk2sAAAAO4AAAAyABwAc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0
cmVzcy10ZXN0LXN0ZGVyci50eHRVVAkAA+yI4lfsiOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXg
e79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnj
wATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4Gcy
Hauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwME
FAACAAgAdDI1SYbfZ3+2AAAA3AEAADQAHABzdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2NrLWFm
dGVyLXJlbG9hZC1zdGRlcnIudHh0VVQJAAPsiOJX7IjiV3V4CwABBPUBAAAEFAAAAOXPvwrCQAwG
8N2nyCQtqCc4iLeJ1kVEaP0z37WpHFyTkt4pvr2t6OQjuOUjvw+SLM+PuYYzGesRAkOIQsAEjkrB
BikYDyYGnt5NGWMDyRyIAxgCFGFJR+rCPjbYqa0JRmXXQl3R7l1QBUcpcUgbFlQHrqLv2QNt1Utr
OnxXhmFWtm2yWK5S0GCZPXxKWn+F1i1KzdIcW6Q1VRcUVz+TAU9+dTacBuN+c9ppXQRxdINxOsr+
6tsXUEsDBBQAAgAIAHUyNUko2Xk2sAAAAO4AAAApABwAc3RvcmFnZS93ZWJzcWwvZW1wdHktc3Rh
dGVtZW50LXN0ZGVyci50eHRVVAkAA+2I4lftiOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXge79i
TqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnjwATP
y4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4GcyHauq
76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwMEFAAC
AAgAdTI1SSjZeTawAAAA7gAAACoAHABzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLXN0
ZGVyci50eHRVVAkAA+2I4lftiOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXge79iTqFQbdAh2luU
XSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnjwATPy4epQuggWgOx
B0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4GcyHauq76PNdheDBsvs
4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwMEFAACAAgAdTI1SSjZ
eTawAAAA7gAAADIAHABzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1yb3dzQWZmZWN0ZWQtc3Rk
ZXJyLnR4dFVUCQAD7YjiV+2I4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JOoVBt0CHaW5Rd
IgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/Lh6lC6CBaA7EH
Q4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rvo812F4MGy+zg
O9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIACAB1MjVJKNl5
NrAAAADuAAAAPwAcAHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQtc3RkZXJyLnR4dFVUCQAD7YjiV+2I4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7
v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePA
BM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzId
q6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQU
AAIACAB2MjVJKNl5NrAAAADuAAAALgAcAHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLXN0ZGVyci50eHRVVAkAA++I4lfviOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXge79iTqFQ
bdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnjwATPy4ep
QuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4GcyHauq76PN
dheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwMEFAACAAgA
djI1SYbfZ3+2AAAA3AEAAD8AHABzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2Fy
YmFnZS1jb2xsZWN0aW9uLXN0ZGVyci50eHRVVAkAA/CI4lfwiOJXdXgLAAEE9QEAAAQUAAAA5c+/
CsJADAbw3afIJC2oJziIt4nWRURo/TPftakcXJOS3im+va3o5CO45SO/D5Isz4+5hjMZ6xECQ4hC
wASOSsEGKRgPJgae3k0ZYwPJHIgDGAIUYUlH6sI+NtiprQlGZddCXdHuXVAFRylxSBsWVAeuou/Z
A23VS2s6fFeGYVa2bbJYrlLQYJk9fEpaf4XWLUrN0hxbpDVVFxRXP5MBT351NpwG435z2mldBHF0
g3E6yv7q2xdQSwMEFAACAAgAdjI1SUTqVta5AAAAygIAAEQAHABzdG9yYWdlL3dlYnNxbC9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtc3RkZXJyLnR4dFVUCQAD8Iji
V/CI4ld1eAsAAQT1AQAABBQAAADtz78KwkAMBvDdp8gkLagnOIi3idZFpND6Z75rUylck5LeKb69
rejkG4hbQn4f5EuyLM00nMhYh+AZfBACJqipEGyQvHFggufpzRQhNBDNgdiDIUARlnikzuxCg53a
Gm9UcsnVBe2+9irnIAUO24YF1YHL4Hp2R1v20poOX5FhmBVtGy2Wqxg0WGYH75DWH6F1i1KxNGmL
tKbyjFJXj2jAk2+dDK/BuL8cd1rnXmq6wjgeJf+2P9v2CVBLAwQUAAIACAB2MjVJKNl5NrAAAADu
AAAALwAcAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1zdGRlcnIudHh0VVQJ
AAPwiOJX8IjiV3V4CwABBPUBAAAEFAAAAGXOQQuCQBAF4Hu/Yk6hUG3QIdpblF0iBC097+oYwjoj
427Rv0+jTt3m8b4Hk2RZmmm4kbEOwTP4IARM0FIl2CF548AEz8uHqULoIFoDsQdDgCIs8UwV7EKH
gzoab1RS5qpEe269yjlIhVM6sKC6cB3cyJ5o61FaM+BnMh2rqu+jzXYXgwbL7OA70vontO5RGpYu
7ZH2VBcobfOKJrz418n0GszH5nrSOvfS0h3m8ewNUEsDBBQAAgAIAHYyNUko2Xk2sAAAAO4AAAAo
ABwAc3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3Mtc3RkZXJyLnR4dFVUCQAD8IjiV/CI4ld1
eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+
B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtu
vco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8
+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIACAB2MjVJht9nf7YAAADcAQAASAAcAHN0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3Rk
ZXJyLnR4dFVUCQAD8IjiV/CI4ld1eAsAAQT1AQAABBQAAADlz78KwkAMBvDdp8gkLagnOIi3idZF
RGj9M9+1qRxck5LeKb69rejkI7jlI78PkizPj7mGMxnrEQJDiELABI5KwQYpGA8mBp7eTRljA8kc
iAMYAhRhSUfqwj422KmtCUZl10Jd0e5dUAVHKXFIGxZUB66i79kDbdVLazp8V4ZhVrZtsliuUtBg
mT18Slp/hdYtSs3SHFukNVUXFFc/kwFPfnU2nAbjfnPaaV0EcXSDcTrK/urbF1BLAwQUAAIACAB3
MjVJx++ozroAAAC4AwAAOQAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24t
Y2FsbGJhY2stc3RkZXJyLnR4dFVUCQAD8YjiV/GI4ld1eAsAAQT1AQAABBQAAADtjzEKwkAQRXtP
MZUkoK5gIW4nGhsRIdGk3k0mEtjMhHFX8fYmopU3ELv5zPvwX5Kmx1TDmYx1CJ7BByFggoZKwRbJ
GwcmeJ7eTBlCC9EciD0YAhRhiUcqZxdavKqt8UYlRaYKtPvGq4yDlDikDQuqA1fB9dgdbdWT1lzx
VRmOWdl10WK5ikGDZXbwLmn9IbTuUGqW9tghranKUZr6EQ3w5JtOhmkw7j+nndaZl4YuMI5Hyd/2
b/sTtk9QSwMEFAACAAgAdzI1SSjZeTawAAAA7gAAADUAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVUCQAD8YjiV/GI4ld1eAsAAQT1AQAABBQA
AABlzkELgkAQBeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz
+CAETNBSJdgheePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd
3MieaOtRWjPgZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr3
0tId5vHsDVBLAwQUAAIACAB3MjVJKNl5NrAAAADuAAAANAAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2UtZXhwYW5kLXF1b3RhLXN0ZGVyci50eHRVVAkAA/GI4lfxiOJXdXgLAAEE9QEAAAQU
AAAAZc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7B
M/ggBEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpw
HdzInmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI6
99LSHebx7A1QSwMEFAACAAgAdzI1SYbfZ3+2AAAA3AEAADkAHABzdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLXN0ZGVyci50eHRVVAkAA/GI4lfxiOJXdXgLAAEE
9QEAAAQUAAAA5c+/CsJADAbw3afIJC2oJziIt4nWRURo/TPftakcXJOS3im+va3o5CO45SO/D5Is
z4+5hjMZ6xECQ4hCwASOSsEGKRgPJgae3k0ZYwPJHIgDGAIUYUlH6sI+NtiprQlGZddCXdHuXVAF
RylxSBsWVAeuou/ZA23VS2s6fFeGYVa2bbJYrlLQYJk9fEpaf4XWLUrN0hxbpDVVFxRXP5MBT351
NpwG435z2mldBHF0g3E6yv7q2xdQSwMEFAACAAgAdzI1SYbfZ3+2AAAA3AEAAEUAHABzdG9yYWdl
L3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLXN0ZGVy
ci50eHRVVAkAA/KI4lfyiOJXdXgLAAEE9QEAAAQUAAAA5c+/CsJADAbw3afIJC2oJziIt4nWRURo
/TPftakcXJOS3im+va3o5CO45SO/D5Isz4+5hjMZ6xECQ4hCwASOSsEGKRgPJgae3k0ZYwPJHIgD
GAIUYUlH6sI+NtiprQlGZddCXdHuXVAFRylxSBsWVAeuou/ZA23VS2s6fFeGYVa2bbJYrlLQYJk9
fEpaf4XWLUrN0hxbpDVVFxRXP5MBT351NpwG435z2mldBHF0g3E6yv7q2xdQSwMEFAACAAgAdzI1
SSjZeTawAAAA7gAAADkAHABzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1u
b3dyaXRlLXN0ZGVyci50eHRVVAkAA/KI4lfyiOJXdXgLAAEE9QEAAAQUAAAAZc5BC4JAEAXge79i
TqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/ggBEzQUiXYIXnjwATP
y4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzInmjrUVoz4GcyHauq
76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LSHebx7A1QSwMEFAAC
AAgAdzI1SUTqVta5AAAAygIAAEcAHABzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFu
c2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXItc3RkZXJyLnR4dFVUCQAD8ojiV/KI4ld1eAsAAQT1
AQAABBQAAADtz78KwkAMBvDdp8gkLagnOIi3idZFpND6Z75rUylck5LeKb69rejkG4hbQn4f5Euy
LM00nMhYh+AZfBACJqipEGyQvHFggufpzRQhNBDNgdiDIUARlnikzuxCg53aGm9UcsnVBe2+9irn
IAUO24YF1YHL4Hp2R1v20poOX5FhmBVtGy2Wqxg0WGYH75DWH6F1i1KxNGmLtKbyjFJXj2jAk2+d
DK/BuL8cd1rnXmq6wjgeJf+2P9v2CVBLAwQUAAIACAB4MjVJht9nf7YAAADcAQAAQAAcAHN0b3Jh
Z2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LXN0ZGVyci50
eHRVVAkAA/OI4lfziOJXdXgLAAEE9QEAAAQUAAAA5c+/CsJADAbw3afIJC2oJziIt4nWRURo/TPf
takcXJOS3im+va3o5CO45SO/D5Isz4+5hjMZ6xECQ4hCwASOSsEGKRgPJgae3k0ZYwPJHIgDGAIU
YUlH6sI+NtiprQlGZddCXdHuXVAFRylxSBsWVAeuou/ZA23VS2s6fFeGYVa2bbJYrlLQYJk9fEpa
f4XWLUrN0hxbpDVVFxRXP5MBT351NpwG435z2mldBHF0g3E6yv7q2xdQSwMEFAACAAgAeDI1SSjZ
eTawAAAA7gAAACgAHABzdG9yYWdlL3dlYnNxbC9zcWwtZGF0YS10eXBlcy1zdGRlcnIudHh0VVQJ
AAPziOJX84jiV3V4CwABBPUBAAAEFAAAAGXOQQuCQBAF4Hu/Yk6hUG3QIdpblF0iBC097+oYwjoj
427Rv0+jTt3m8b4Hk2RZmmm4kbEOwTP4IARM0FIl2CF548AEz8uHqULoIFoDsQdDgCIs8UwV7EKH
gzoab1RS5qpEe269yjlIhVM6sKC6cB3cyJ5o61FaM+BnMh2rqu+jzXYXgwbL7OA70vontO5RGpYu
7ZH2VBcobfOKJrz418n0GszH5nrSOvfS0h3m8ewNUEsDBBQAAgAIAHgyNUmG32d/tgAAANwBAABB
ABwAc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LXN0ZGVyci50eHRVVAkAA/OI4lfziOJXdXgLAAEE9QEAAAQUAAAA5c+/CsJADAbw3afIJC2oJziI
t4nWRURo/TPftakcXJOS3im+va3o5CO45SO/D5Isz4+5hjMZ6xECQ4hCwASOSsEGKRgPJgae3k0Z
YwPJHIgDGAIUYUlH6sI+NtiprQlGZddCXdHuXVAFRylxSBsWVAeuou/ZA23VS2s6fFeGYVa2bbJY
rlLQYJk9fEpaf4XWLUrN0hxbpDVVFxRXP5MBT351NpwG435z2mldBHF0g3E6yv7q2xdQSwMEFAAC
AAgAeDI1SSjZeTawAAAA7gAAADIAHABzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2stc3RkZXJyLnR4dFVUCQAD84jiV/OI4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JO
oVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/L
h6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rv
o812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIA
CAB4MjVJht9nf7YAAADcAQAAQwAcAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA/SI4lf0iOJXdXgLAAEE9QEAAAQU
AAAA5c+/CsJADAbw3afIJC2oJziIt4nWRURo/TPftakcXJOS3im+va3o5CO45SO/D5Isz4+5hjMZ
6xECQ4hCwASOSsEGKRgPJgae3k0ZYwPJHIgDGAIUYUlH6sI+NtiprQlGZddCXdHuXVAFRylxSBsW
VAeuou/ZA23VS2s6fFeGYVa2bbJYrlLQYJk9fEpaf4XWLUrN0hxbpDVVFxRXP5MBT351NpwG435z
2mldBHF0g3E6yv7q2xdQSwMEFAACAAgAeDI1SSjZeTawAAAA7gAAACoAHABzdG9yYWdlL3dlYnNx
bC9zdWNjZXNzLWNhbGxiYWNrLXN0ZGVyci50eHRVVAkAA/SI4lf0iOJXdXgLAAEE9QEAAAQUAAAA
Zc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiRsQ7BM/gg
BEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqwoLpwHdzI
nmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfmetI699LS
Hebx7A1QSwMEFAACAAgAeDI1SSjZeTawAAAA7gAAAEMAHABzdG9yYWdlL3dlYnNxbC9zdWNjZXNz
LWNhbGxiYWNrLXdoZW4tcGFnZS1kZWZlcnMtbG9hZGluZy1zdGRlcnIudHh0VVQJAAP0iOJX9Iji
V3V4CwABBPUBAAAEFAAAAGXOQQuCQBAF4Hu/Yk6hUG3QIdpblF0iBC097+oYwjoj427Rv0+jTt3m
8b4Hk2RZmmm4kbEOwTP4IARM0FIl2CF548AEz8uHqULoIFoDsQdDgCIs8UwV7EKHgzoab1RS5qpE
e269yjlIhVM6sKC6cB3cyJ5o61FaM+BnMh2rqu+jzXYXgwbL7OA70vontO5RGpYu7ZH2VBcobfOK
Jrz418n0GszH5nrSOvfS0h3m8ewNUEsDBBQAAgAIAHkyNUko2Xk2sAAAAO4AAAApABwAc3RvcmFn
ZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLXN0ZGVyci50eHRVVAkAA/WI4lf1iOJXdXgLAAEE9QEA
AAQUAAAAZc5BC4JAEAXge79iTqFQbdAh2luUXSIELT3v6hjCOiPjbtG/T6NO3ebxvgeTZFmaabiR
sQ7BM/ggBEzQUiXYIXnjwATPy4epQuggWgOxB0OAIizxTBXsQoeDOhpvVFLmqkR7br3KOUiFUzqw
oLpwHdzInmjrUVoz4GcyHauq76PNdheDBsvs4DvS+ie07lEali7tkfZUFyht84omvPjXyfQazMfm
etI699LSHebx7A1QSwMEFAACAAgAeTI1SSjZeTawAAAA7gAAAD4AHABzdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtc3RkZXJyLnR4dFVUCQAD9YjiV/WI
4ld1eAsAAQT1AQAABBQAAABlzkELgkAQBeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d
5vG+B5NkWZppuJGxDsEz+CAETNBSJdgheePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaq
RHtuvco5SIVTOrCgunAd3MieaOtRWjPgZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3z
iia8+NfJ9BrMx+Z60jr30tId5vHsDVBLAwQUAAIACAB5MjVJht9nf7YAAADcAQAAPQAcAHN0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRV
VAkAA/WI4lf1iOJXdXgLAAEE9QEAAAQUAAAA5c+/CsJADAbw3afIJC2oJziIt4nWRURo/TPftakc
XJOS3im+va3o5CO45SO/D5Isz4+5hjMZ6xECQ4hCwASOSsEGKRgPJgae3k0ZYwPJHIgDGAIUYUlH
6sI+NtiprQlGZddCXdHuXVAFRylxSBsWVAeuou/ZA23VS2s6fFeGYVa2bbJYrlLQYJk9fEpaf4XW
LUrN0hxbpDVVFxRXP5MBT351NpwG435z2mldBHF0g3E6yv7q2xdQSwMEFAACAAgAeTI1SYbfZ3+2
AAAA3AEAAEMAHABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1zdGRlcnIudHh0VVQJAAP2iOJX9ojiV3V4CwABBPUBAAAEFAAAAOXPvwrCQAwG
8N2nyCQtqCc4iLeJ1kVEaP0z37WpHFyTkt4pvr2t6OQjuOUjvw+SLM+PuYYzGesRAkOIQsAEjkrB
BikYDyYGnt5NGWMDyRyIAxgCFGFJR+rCPjbYqa0JRmXXQl3R7l1QBUcpcUgbFlQHrqLv2QNt1Utr
OnxXhmFWtm2yWK5S0GCZPXxKWn+F1i1KzdIcW6Q1VRcUVz+TAU9+dTacBuN+c9ppXQRxdINxOsr+
6tsXUEsDBBQAAgAIAHkyNUko2Xk2sAAAAO4AAAA0ABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2stc3RkZXJyLnR4dFVUCQAD9ojiV/aI4ld1eAsAAQT1AQAABBQAAABl
zkELgkAQBeB7v2JOoVBt0CHaW5RdIgQtPe/qGMI6I+Nu0b9Po07d5vG+B5NkWZppuJGxDsEz+CAE
TNBSJdgheePABM/Lh6lC6CBaA7EHQ4AiLPFMFexCh4M6Gm9UUuaqRHtuvco5SIVTOrCgunAd3Mie
aOtRWjPgZzIdq6rvo812F4MGy+zgO9L6J7TuURqWLu2R9lQXKG3ziia8+NfJ9BrMx+Z60jr30tId
5vHsDVBLAwQUAAIACAB6MjVJKNl5NrAAAADuAAAALwAcAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLXByb3RvdHlwZS1zdGRlcnIudHh0VVQJAAP3iOJX94jiV3V4CwABBPUBAAAEFAAAAGXOQQuC
QBAF4Hu/Yk6hUG3QIdpblF0iBC097+oYwjoj427Rv0+jTt3m8b4Hk2RZmmm4kbEOwTP4IARM0FIl
2CF548AEz8uHqULoIFoDsQdDgCIs8UwV7EKHgzoab1RS5qpEe269yjlIhVM6sKC6cB3cyJ5o61Fa
M+BnMh2rqu+jzXYXgwbL7OA70vontO5RGpYu7ZH2VBcobfOKJrz418n0GszH5nrSOvfS0h3m8ewN
UEsDBBQAAgAIAHoyNUmG32d/tgAAANwBAABFABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
c3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQJAAP3iOJX94jiV3V4
CwABBPUBAAAEFAAAAOXPvwrCQAwG8N2nyCQtqCc4iLeJ1kVEaP0z37WpHFyTkt4pvr2t6OQjuOUj
vw+SLM+PuYYzGesRAkOIQsAEjkrBBikYDyYGnt5NGWMDyRyIAxgCFGFJR+rCPjbYqa0JRmXXQl3R
7l1QBUcpcUgbFlQHrqLv2QNt1UtrOnxXhmFWtm2yWK5S0GCZPXxKWn+F1i1KzdIcW6Q1VRcUVz+T
AU9+dTacBuN+c9ppXQRxdINxOsr+6tsXUEsDBAoAAAAAAMkyNUkAAAAAAAAAAAAAAAAEABwAc3Zn
L1VUCQADioniVzWK4ld1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAyTI1SQAAAAAAAAAAAAAAAAsA
HABzdmcvY3VzdG9tL1VUCQADioniVzWK4ld1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAyTI1SdIx
9gl+AAAAjQAAACQAHABzdmcvY3VzdG9tL3plcm8tZGFzaGFycmF5LXN0ZGVyci50eHRVVAkAA4qJ
4leKieJXdXgLAAEE9QEAAAQUAAAADci7DoJAEAXQ3q+4PyBxtxDZGBswNlZqZyxGuYkkyywZFl9f
L+U5Zw7wDqt18D64DfgenSuLmB4S0Uz9cKK2tIuRV19Vpb9huzdLtguoD3XSzE8+Mx87ZSPjM6DT
l8SuRTsLYibfAMmIlDEjKcHInprRT3PcCU26/NFSsfgDUEsDBAoAAAAAAI8yNUkAAAAAAAAAAAAA
AAALABwAc3ZnL3N0cm9rZS9VVAkAAx6J4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAI8y
NUnh/pwZfgAAAI0AAAAlABwAc3ZnL3N0cm9rZS96ZXJvLXdpZHRoLWhhbmctc3RkZXJyLnR4dFVU
CQADHoniVx6J4ld1eAsAAQT1AQAABBQAAAANyLsOgkAQBdDer7g/IFkgarIxNkBsrMTOWIxyE0mW
WTIsvr5eynNajihyuK0vnC8d+J7yfJeF+JCAeh7GM7WjXYy8ls65zQ37xizawaM6VlETP6llOvXK
WqanR68vCX2HbhHETL4ekhAoU0JUgoEDNWGYl7gTGnX9o8Vs9QdQSwMECgAAAAAAzTI1SQAAAAAA
AAAAAAAAAAYAHAB3ZWJnbC9VVAkAA5GJ4lc1iuJXdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAM0y
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
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIExNUlnZ4J4rAAAABQDAABFABgAAAAAAAEAAACk
gY2xAQBjb21wb3NpdGluZy9yZWdpb25zL3dlYmtpdC1mbG93LXJlbmRlcmVyLWxheWVyLWNvbXBv
c2l0aW5nLXN0ZGVyci50eHRVVAUAAyGH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOMTVJ
/pe5h78AAADyBgAAPAAYAAAAAAABAAAApIG4sgEAY29tcG9zaXRpbmcvc2hvdy1jb21wb3NpdGVk
LWlmcmFtZS1vbi1iYWNrLWJ1dHRvbi1zdGRlcnIudHh0VVQFAAM7h+JXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAfTE1SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1B7bMBAGNvbXBvc2l0aW5n
L3ZpZGVvL1VUBQADHYfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHwxNUlvu3ifsAAAAN4D
AAAwABgAAAAAAAEAAACkgTm0AQBjb21wb3NpdGluZy92aWRlby92aWRlby1ib3JkZXItcmFkaXVz
LXN0ZGVyci50eHRVVAUAAxuH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB9MTVJK86Z+sIA
AADyBgAAMgAYAAAAAAABAAAApIFTtQEAY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tY2xpcC1jaGFu
Z2Utc3JjLXN0ZGVyci50eHRVVAUAAx2H4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACHMTVJ
AAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UGBtgEAZGlzcGxheWxpc3RzL1VUBQADLYfiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAIcxNUmjV/3oUAAAAI4AAAAyABgAAAAAAAEAAACkgci2AQBk
aXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJyLnR4dFVUBQADLYfi
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIcxNUnylpXVRwAAAEkAAAApABgAAAAAAAEAAACk
gYS3AQBkaXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4dFVUBQADLYfiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJkxNUkAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQS64
AQBlZGl0aW5nL1VUBQADUYfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKgxNUkAAAAAAAAA
AAAAAAATABgAAAAAAAAAEADtQXC4AQBlZGl0aW5nL3Bhc3RlYm9hcmQvVVQFAANsh+JXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAmTE1SX6p8SDpAAAAggEAADAAGAAAAAAAAQAAAKSBvbgBAGVk
aXRpbmcvcGFzdGVib2FyZC9jb3B5LXJlc29sdmVzLXVybHMtc3RkZXJyLnR4dFVUBQADUYfiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKgxNUlXGBNJ2gAAAFABAAAsABgAAAAAAAEAAACkgRC6
AQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9wbHVnaW4tc3RkZXJyLnR4dFVUBQADa4fiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKcxNUlXGBNJ2gAAAFABAAAyABgAAAAAAAEAAACkgVC7
AQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9wbHVnaW4teGh0bWwtc3RkZXJyLnR4dFVUBQAD
aofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKgxNUl3TYsd4wAAAHcBAAAsABgAAAAAAAEA
AACkgZa8AQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9zY3JpcHQtc3RkZXJyLnR4dFVUBQAD
bIfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKgxNUlKLj4w4gAAAHsBAAAyABgAAAAAAAEA
AACkgd+9AQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9zY3JpcHQteGh0bWwtc3RkZXJyLnR4
dFVUBQADa4fiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAszNUkW3Pu1igoAAKg3AAANABgA
AAAAAAEAAACkgS2/AQBlcnJvcl9sb2cudHh0VVQFAAMFiuJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAETI1SQAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1B/skBAGZhc3QvVVQFAAMxiOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtzE1SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BPcoB
AGZhc3QvY2FudmFzL1VUBQADiofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALIxNUm5DqLR
rgAAAN4DAABMABgAAAAAAAEAAACkgYPKAQBmYXN0L2NhbnZhcy9jYW52YXMtY3NzLXNpemUtYWZ0
ZXItaGVpZ2h0LWNoYW5nZS13aXRoLWRpc3BsYXktZmxleC1zdGRlcnIudHh0VVQFAAN/h+JXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtzE1SRGMMPmFAAAAGgEAACYAGAAAAAAAAQAAAKSBt8sB
AGZhc3QvY2FudmFzL2NhbnZhcy1saW5lRGFzaC1zdGRlcnIudHh0VVQFAAOKh+JXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAETI1SQAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BnMwBAGZhc3Qv
Y3NzL1VUBQADMYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABEyNUmBti9esQAAAM4BAAA2
ABgAAAAAAAEAAACkgd/MAQBmYXN0L2Nzcy9wZXJzcGVjdGl2ZS1vcmlnaW4taW5pdGlhbC1pbmhl
cml0LXN0ZGVyci50eHRVVAUAAzGI4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACuMTVJAAAA
AAAAAAAAAAAACQAYAAAAAAAAABAA7UEAzgEAZmFzdC9kb20vVVQFAAN4h+JXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAArjE1SQAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1BQ84BAGZhc3QvZG9t
L011dGF0aW9uT2JzZXJ2ZXIvVVQFAAN4h+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArjE1
SSjZeTawAAAA7gAAAD8AGAAAAAAAAQAAAKSBl84BAGZhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIv
ZGF0YWJhc2UtY2FsbGJhY2stZGVsaXZlcnktc3RkZXJyLnR4dFVUBQADeIfiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAALMxNUkAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQcDPAQBmYXN0L2Zv
cm1zL1VUBQADgofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALMxNUkuX9jvewEAAPg5AAAz
ABgAAAAAAAEAAACkgQXQAQBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNo
LXN0ZGVyci50eHRVVAUAA4KH4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD5MTVJAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UHt0QEAZmFzdC9mcmFtZXMvVVQFAAMFiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA+TE1SSjZeTawAAAA7gAAAC8AGAAAAAAAAQAAAKSBM9IBAGZhc3QvZnJh
bWVzL3NhbmRib3hlZC1pZnJhbWUtc3RvcmFnZS1zdGRlcnIudHh0VVQFAAMFiOJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAuzE1SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BTNMBAGZhc3Qv
aGlzdG9yeS9VVAUAA5GH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7MTVJKNl5NrAAAADu
AAAAQAAYAAAAAAABAAAApIGT0wEAZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Ut
bm8tdHJhbnNhY3Rpb24tZGItc3RkZXJyLnR4dFVUBQADkYfiV3V4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAMMxNUkAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQb3UAQBmYXN0L2ltYWdlcy9VVAUA
A56H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDMTVJIY+9ODIAAAAzAAAALAAYAAAAAAAB
AAAApIED1QEAZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94LXN0ZGVyci50eHRVVAUA
A56H4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADVMTVJAAAAAAAAAAAAAAAACQAYAAAAAAAA
ABAA7UGb1QEAZmFzdC94c2wvVVQFAAPCh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1DE1
SXL9ZfKFAAAA6QAAACUAGAAAAAAAAQAAAKSB3tUBAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9j
LXN0ZGVyci50eHRVVAUAA7+H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADUMTVJzgkoAo0A
AADwAAAAJwAYAAAAAAABAAAApIHC1gEAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRl
cnIudHh0VVQFAAPAh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1DE1Sc+PZg5QAAAAoAAA
ACQAGAAAAAAAAQAAAKSBsNcBAGZhc3QveHNsL3hzbHQtY29udGVudFR5cGUtc3RkZXJyLnR4dFVU
BQADwIfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANUxNUmBSnetSwAAAKwAAAA0ABgAAAAA
AAEAAACkgV7YAQBmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRl
cnIudHh0VVQFAAPCh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJDM1STTrpa5XAQAABwIA
ABEAGAAAAAAAAQAAAKSBF9kBAGZ1bGxfcmVzdWx0cy5qc29uVVQFAAMziuJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAA1jE1SQAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BudoBAGh0dHAvVVQF
AAPEh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9zE1SQAAAAAAAAAAAAAAAAsAGAAAAAAA
AAAQAO1B+NoBAGh0dHAvdGVzdHMvVVQFAAMCiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
2jE1SQAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BPdsBAGh0dHAvdGVzdHMvY2FjaGUvVVQFAAPM
h+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2jE1SVq1zFo0AQAA8gQAADAAGAAAAAAAAQAA
AKSBiNsBAGh0dHAvdGVzdHMvY2FjaGUvbWVtb3J5LWNhY2hlLXBydW5pbmctc3RkZXJyLnR4dFVU
BQADzIfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANoxNUmiQujMgwAAAMAAAAA9ABgAAAAA
AAEAAACkgSbdAQBodHRwL3Rlc3RzL2NhY2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJldmFsaWRh
dGlvbi1zdGRlcnIudHh0VVQFAAPMh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA1jE1SQAA
AAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BIN4BAGh0dHAvdGVzdHMvY2FudmFzL1VUBQADxIfiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANYxNUkAAAAAAAAAAAAAAAAYABgAAAAAAAAAEADtQWze
AQBodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9VVAUAA8SH4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADWMTVJUtNONG8AAACkAAAAOwAYAAAAAAABAAAApIG+3gEAaHR0cC90ZXN0cy9jYW52YXMv
d2ViZ2wvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLXN0ZGVyci50eHRVVAUAA8SH4ld1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAADXMTVJAAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UGi3wEAaHR0
cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9VVAUAA8aH4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADXMTVJZdEZiH8AAACVAAAAUQAYAAAAAAABAAAApIEL4AEA
aHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhl
YWRlci1zdHJpcHBlZC1zdGRlcnIudHh0VVQFAAPGh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA1jE1SWXRGYh/AAAAlQAAAGoAGAAAAAAAAQAAAKSBFeEBAGh0dHAvdGVzdHMvY29udGVudGRp
c3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1t
ZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVyci50eHRVVAUAA8SH4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADXMTVJZdEZiH8AAACVAAAAawAYAAAAAAABAAAApIE44gEAaHR0cC90ZXN0cy9jb250
ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13
aXRoLW1ldGEtcmVmZXJlci1kZWZhdWx0LXN0ZGVyci50eHRVVAUAA8WH4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADXMTVJZdEZiH8AAACVAAAAaQAYAAAAAAABAAAApIFc4wEAaHR0cC90ZXN0
cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJp
cHBlZC13aXRoLW1ldGEtcmVmZXJlci1uZXZlci1zdGRlcnIudHh0VVQFAAPFh+JXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA1zE1SWXRGYh/AAAAlQAAAG8AGAAAAAAAAQAAAKSBfuQBAGh0dHAv
dGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXIt
c3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVUBQADxYfi
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANcxNUll0RmIfwAAAJUAAAB+ABgAAAAAAAEAAACk
gablAQBodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVy
ZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW5vLXJlZmVycmVyLXdoZW4tZG93
bmdyYWRlLXN0ZGVyci50eHRVVAUAA8WH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADXMTVJ
ZdEZiH8AAACVAAAAagAYAAAAAAABAAAApIHd5gEAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRp
b25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVm
ZXJlci1vcmlnaW4tc3RkZXJyLnR4dFVUBQADxofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ANcxNUll0RmIfwAAAJUAAABuABgAAAAAAAEAAACkgQDoAQBodHRwL3Rlc3RzL2NvbnRlbnRkaXNw
b3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0
YS1yZWZlcmVyLXVuc2FmZS11cmwtc3RkZXJyLnR4dFVUBQADxofiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAANcxNUkAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQSfpAQBodHRwL3Rlc3RzL2Nz
cy9VVAUAA8WH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADXMTVJW3DzZ8cAAABTAgAALgAY
AAAAAAABAAAApIFw6QEAaHR0cC90ZXN0cy9jc3MvYm9yZGVyLWltYWdlLWxvYWRpbmctc3RkZXJy
LnR4dFVUBQADxYfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOAxNUkAAAAAAAAAAAAAAAAV
ABgAAAAAAAAAEADtQZ/qAQBodHRwL3Rlc3RzL2luc3BlY3Rvci9VVAUAA9OH4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADgMTVJAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UHu6gEAaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9VVAUAA9OH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADgMTVJTPuv094HAABdKwAANwAYAAAAAAABAAAApIFF6wEAaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9yZXNvdXJjZS10aW1pbmctc3RkZXJyLnR4dFVUBQAD04fiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAOoxNUkAAAAAAAAAAAAAAAARABgAAAAAAAAAEADtQZTzAQBodHRwL3Rlc3Rz
L21lZGlhL1VUBQAD54fiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAN0xNUkAAAAAAAAAAAAA
AAAaABgAAAAAAAAAEADtQd/zAQBodHRwL3Rlc3RzL21lZGlhL2NsZWFya2V5L1VUBQAD0ofiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN0xNUkF+XQsUgEAAH8DAAA5ABgAAAAAAAEAAACkgTP0
AQBodHRwL3Rlc3RzL21lZGlhL2NsZWFya2V5L2NsZWFyLWtleS1obHMtYWVzMTI4LXN0ZGVyci50
eHRVVAUAA9KH4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADjMTVJAAAAAAAAAAAAAAAAFQAY
AAAAAAAAABAA7UH49QEAaHR0cC90ZXN0cy9tZWRpYS9obHMvVVQFAAPah+JXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA3TE1SXn/Ycu5AQAA0AQAAEAAGAAAAAAAAQAAAKSBR/YBAGh0dHAvdGVz
dHMvbWVkaWEvaGxzL2hscy1hY2Nlc3NpYmxpdHktZGVzY3JpYmVzLXZpZGVvLXN0ZGVyci50eHRV
VAUAA9KH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADdMTVJsYGJZ8YBAABFBQAAOgAYAAAA
AAABAAAApIF6+AEAaHR0cC90ZXN0cy9tZWRpYS9obHMvaGxzLWF1ZGlvLXRyYWNrcy1oYXMtYXVk
aW8tc3RkZXJyLnR4dFVUBQAD0ofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOAxNUlCb41f
zQEAAJ8FAABBABgAAAAAAAEAAACkgbT6AQBodHRwL3Rlc3RzL21lZGlhL2hscy9obHMtYXVkaW8t
dHJhY2tzLWxvY2FsZS1zZWxlY3Rpb24tc3RkZXJyLnR4dFVUBQAD04fiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOAxNUl0ZdSF0AEAAOsEAAAwABgAAAAAAAEAAACkgfz8AQBodHRwL3Rlc3Rz
L21lZGlhL2hscy9obHMtYXVkaW8tdHJhY2tzLXN0ZGVyci50eHRVVAUAA9SH4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADhMTVJ9Ach6SQBAADeAwAALAAYAAAAAAABAAAApIE2/wEAaHR0cC90
ZXN0cy9tZWRpYS9obHMvaGxzLXByb2dyZXNzLXN0ZGVyci50eHRVVAUAA9WH4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADhMTVJcOCyUyQBAACEAwAAMAAYAAAAAAABAAAApIHAAAIAaHR0cC90
ZXN0cy9tZWRpYS9obHMvaGxzLXZpZGVvLXJlc2l6ZS1zdGRlcnIudHh0VVQFAAPVh+JXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA4jE1SZOWZup2AQAAKgYAADoAGAAAAAAAAQAAAKSBTgICAGh0
dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWNvbnRyb2xzLWxpdmUtc3RyZWFtLXN0ZGVyci50eHRV
VAUAA9iH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADjMTVJb/R2c5QCAADoLwAAPAAYAAAA
AAABAAAApIE4BAIAaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJp
bGl0eS1zdGRlcnIudHh0VVQFAAPah+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3TE1SXjg
ttnNAAAANwIAADIAGAAAAAAAAQAAAKSBQgcCAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1l
bnQtcmVmZXJlci1zdGRlcnIudHh0VVQFAAPRh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
3TE1SSZtYmblAAAArAIAACoAGAAAAAAAAQAAAKSBewgCAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
ZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQAD0ofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOEx
NUm+nHjF7wAAAMYDAAA5ABgAAAAAAAEAAACkgcQJAgBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXBs
YXktc3RyZWFtLWNodW5rZWQtaWN5LXN0ZGVyci50eHRVVAUAA9WH4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADgMTVJAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UEmCwIAaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2UvVVQFAAPTh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4DE1
STNAQOSKAAAAmwAAAFwAGAAAAAAAAQAAAKSBfgsCAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXBsYXktdGhlbi1zZWVrLWJhY2std2l0aC1yZW1vdGUtY29udHJvbC1z
dGRlcnIudHh0VVQFAAPTh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4TE1SQk1kYntAAAA
XwEAAC0AGAAAAAAAAQAAAKSBngwCAGh0dHAvdGVzdHMvbWVkaWEvcGRmLXNlcnZlZC1hcy1wZGYt
c3RkZXJyLnR4dFVUBQAD1ofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOIxNUlZWd8iwQAA
AJIBAAAvABgAAAAAAAEAAACkgfINAgBodHRwL3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFs
b2ctc3RkZXJyLnR4dFVUBQAD2IfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOMxNUkChsgB
SAEAAHQCAAAvABgAAAAAAAEAAACkgRwPAgBodHRwL3Rlc3RzL21lZGlhL3RleHQtc2VydmVkLWFz
LXRleHQtc3RkZXJyLnR4dFVUBQAD2YfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOAxNUkA
AAAAAAAAAAAAAAAXABgAAAAAAAAAEADtQc0QAgBodHRwL3Rlc3RzL21lZGlhL3RyYWNrL1VUBQAD
04fiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOAxNUlteNDwhAAAAMAAAAA9ABgAAAAAAAEA
AACkgR4RAgBodHRwL3Rlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC1zbG93LWxvYWRpbmct
Mi1zdGRlcnIudHh0VVQFAAPTh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5TE1SURZ4+wJ
AQAAeAMAADYAGAAAAAAAAQAAAKSBGRICAGh0dHAvdGVzdHMvbWVkaWEvdHJhY2staW4tYmFuZC1o
bHMtbWV0YWRhdGEtc3RkZXJyLnR4dFVUBQAD3YfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOUxNUkosddTiQEAAGwHAAAmABgAAAAAAAEAAACkgZITAgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LWF1dGgtc3RkZXJyLnR4dFVUBQAD3ofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOYxNUkb
/+6/3gAAAFICAAAtABgAAAAAAAEAAACkgXsVAgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWVycm9y
LWFib3J0LXN0ZGVyci50eHRVVAUAA9+H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADmMTVJ
V1roFBMBAADjAQAANgAYAAAAAAABAAAApIHAFgIAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJv
ci1kb2VzLW5vdC1leGlzdC1zdGRlcnIudHh0VVQFAAPgh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA5zE1SabRXJ3NAAAAJAMAACwAGAAAAAAAAQAAAKSBQxgCAGh0dHAvdGVzdHMvbWVkaWEv
dmlkZW8tbG9hZC10d2ljZS1zdGRlcnIudHh0VVQFAAPhh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA5zE1SZNaE3ziAAAAbAMAAC8AGAAAAAAAAQAAAKSBdhkCAGh0dHAvdGVzdHMvbWVkaWEv
dmlkZW8tcGxheS1wcm9ncmVzcy1zdGRlcnIudHh0VVQFAAPhh+JXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA6TE1SbPs8CKEAAAAwAAAAD0AGAAAAAAAAQAAAKSBwRoCAGh0dHAvdGVzdHMvbWVk
aWEvdmlkZW8tcGxheS1zdGFsbC1iZWZvcmUtbWV0YS1kYXRhLXN0ZGVyci50eHRVVAUAA+WH4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADpMTVJuE6HOrwAAACSAQAAKwAYAAAAAAABAAAApIG8
GwIAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1xdWVyeS11cmwtc3RkZXJyLnR4dFVUBQAD5YfiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOkxNUlFQSeeNAEAAMEFAAAqABgAAAAAAAEAAACkgd0c
AgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAUAA+aH4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADqMTVJ6TzJZOIAAAAGAwAAKwAYAAAAAAABAAAApIF1HgIA
aHR0cC90ZXN0cy9tZWRpYS92aWRlby11c2VyYWdlbnQtc3RkZXJyLnR4dFVUBQAD54fiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAAwyNUkAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQbwfAgBo
dHRwL3Rlc3RzL21pc2MvVVQFAAMniOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6jE1SV6E
9GnmAAAAYgEAAC0AGAAAAAAAAQAAAKSBBiACAGh0dHAvdGVzdHMvbWlzYy9jb3B5LXJlc29sdmVz
LXVybHMtc3RkZXJyLnR4dFVUBQAD54fiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOoxNUmr
kjnCwAAAAP4AAAA/ABgAAAAAAAEAAACkgVMhAgBodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZyYW1l
LWR1cmluZy1yZWFkeXN0YXRlY2hhbmdlLXN0ZGVyci50eHRVVAUAA+iH4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADqMTVJlLvMmMEAAAD+AAAAWwAYAAAAAAABAAAApIGMIgIAaHR0cC90ZXN0
cy9taXNjL2RlbGV0ZS1mcmFtZS1kdXJpbmctcmVhZHlzdGF0ZWNoYW5nZS13aXRoLWdjLWFmdGVy
LXZpZGVvLXJlbW92YWwtc3RkZXJyLnR4dFVUBQAD6IfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAwyNUkVNTWSegAAALwAAAAqABgAAAAAAAEAAACkgeIjAgBodHRwL3Rlc3RzL21pc2MveHNs
dC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAUAAyeI4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAAGMjVJAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UHAJAIAaHR0cC90ZXN0cy9zZWN1cml0eS9V
VAUAAxyI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADkMTVJv+civL0AAACSAQAAVQAYAAAA
AAABAAAApIEOJQIAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtcmVtb3Rl
LXZpZGVvLWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4tc3RkZXJyLnR4dFVUBQAD24fiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAOQxNUn/kmtiIgEAABUDAABIABgAAAAAAAEAAACkgVomAgBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1yZW1vdGUtdmlkZW8tbG9jYWxob3N0
LXN0ZGVyci50eHRVVAUAA9yH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADkMTVJ8zr9zNoA
AACsAgAARwAYAAAAAAABAAAApIH+JwIAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3Rl
LXJlYWQtcmVtb3RlLXZpZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAUAA9yH4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAD4MTVJAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UFZKQIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAMDiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAA4zE1SQAAAAAAAAAAAAAAAC4AGAAAAAAAAAAQAO1BvSkCAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9VVAUAA9qH4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADjMTVJAAAAAAAAAAAAAAAAOAAYAAAAAAAAABAA7UElKgIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL2NoaWxkLXNyYy9VVAUAA9qH
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADjMTVJJQMS04QAAAAaAQAAXAAYAAAAAAABAAAA
pIGXKgIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL2NoaWxk
LXNyYy9mcmFtZS1hYm91dC1ibGFuay1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA9qH4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADjMTVJnJgQm9cAAAD4AQAASwAYAAAAAAABAAAApIGxKwIAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYXVkaW8tcmVkaXJlY3QtYWxs
b3dlZC1zdGRlcnIudHh0VVQFAAPah+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4zE1SU/g
yKjlAAAAQwIAAEwAGAAAAAAAAQAAAKSBDS0CAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50eHRVVAUAA9qH4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADkMTVJyP19AKcAAACKAQAAWAAYAAAAAAABAAAApIF4
LgIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvYi11cmwtZG9l
cy1ub3QtbWF0Y2gtc291cmNlLXNlbGYtc3RkZXJyLnR4dFVUBQAD24fiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAOUxNUkAAAAAAAAAAAAAAABEABgAAAAAAAAAEADtQbEvAgBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3Rz
L1VUBQAD3ofiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOUxNUlgJQYc6AAAACYDAAB5ABgA
AAAAAAEAAACkgS8wAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4t
bWFpbi1mcmFtZS1zdGRlcnIudHh0VVQFAAPeh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
5TE1SQAAAAAAAAAAAAAAAD0AGAAAAAAAAAAQAO1ByjECAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAUAA92H4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADkMTVJSONpX+UAAABDAgAAUwAYAAAAAAABAAAApIFBMgIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2Fs
bG93LWF1ZGlvLXN0ZGVyci50eHRVVAUAA9uH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADl
MTVJPQTDqL0AAACSAQAAUwAYAAAAAAABAAAApIGzMwIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93LXZpZGVvLXN0ZGVyci50
eHRVVAUAA92H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADlMTVJ0KXSRYMAAADAAAAAggAY
AAAAAAABAAAApIH9NAIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
dXNlckFnZW50U2hhZG93RE9NL2Jsb2NrLWxvYWRpbmctdXNlci1hZ2VudC1pbWFnZS1mcm9tLW5v
bi11c2VyLWFnZW50LWNvbnRlbnQtc3RkZXJyLnR4dFVUBQAD3YfiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAPUxNUnfXoWp3wAAAFICAABLABgAAAAAAAEAAACkgTw2AgBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS92aWRlby1yZWRpcmVjdC1hbGxvd2VkLXN0ZGVy
ci50eHRVVAUAA/6H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1MTVJhQgi9r0AAACSAQAA
TAAYAAAAAAABAAAApIGgNwIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdmlkZW8tcmVkaXJlY3QtYWxsb3dlZDItc3RkZXJyLnR4dFVUBQAD/YfiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAPUxNUnfXoWp3wAAAFICAABmABgAAAAAAAEAAACkgeM4AgBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS92aWRlby13aXRoLWh0dHAtdXJsLWFs
bG93ZWQtYnktY3NwLW1lZGlhLXNyYy1zdGFyLXN0ZGVyci50eHRVVAUAA/6H4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAD2MTVJNlF974QAAADAAAAAWQAYAAAAAAABAAAApIFiOgIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMt
Y3NwLWJsb2Nrcy1ldmFsLXN0ZGVyci50eHRVVAUAA/+H4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAD3MTVJY6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIF5OwIAaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADAojiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPgxNUljqqxsggAAAKgAAABSABgAAAAAAAEAAACkgXU8
AgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3Rl
ZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQFAAMDiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA5DE1SSHaL1iEAAAAGgEAADUAGAAAAAAAAQAAAKSBgz0CAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29ycy1wb3N0LXJlZGlyZWN0LTMwMS1zdGRlcnIudHh0VVQFAAPch+JXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA7zE1SYbfZ3+2AAAA3AEAADoAGAAAAAAAAQAAAKSBdj4CAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdlYnNxbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA/GH
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADvMTVJKNl5NrAAAADuAAAAMgAYAAAAAAABAAAA
pIGgPwIAaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td2Vic3FsLXN0ZGVyci50eHRV
VAUAA/GH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADyMTVJlUZIJr0AAACSAQAAPQAYAAAA
AAABAAAApIG8QAIAaHR0cC90ZXN0cy9zZWN1cml0eS9sb2NhbC12aWRlby1zb3VyY2UtZnJvbS1y
ZW1vdGUtc3RkZXJyLnR4dFVUBQAD+IfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPMxNUlU
d7KJhAAAAMAAAAA6ABgAAAAAAAEAAACkgfBBAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXZp
ZGVvLXNyYy1mcm9tLXJlbW90ZS1zdGRlcnIudHh0VVQFAAP5h+JXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAA5zE1SQAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1B6EICAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50L1VUBQAD4YfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOcx
NUkFANaT7wAAAIkEAABOABgAAAAAAAEAAACkgUNDAgBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVk
Q29udGVudC9pbnNlY3VyZS1hdWRpby12aWRlby1pbi1tYWluLWZyYW1lLXN0ZGVyci50eHRVVAUA
A+GH4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADnMTVJP6/Tj4MAAADAAAAAQgAYAAAAAAAB
AAAApIG6RAIAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtY3NzLWlu
LWlmcmFtZS1zdGRlcnIudHh0VVQFAAPhh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/DE1
SSjZeTawAAAA7gAAAD8AGAAAAAAAAQAAAKSBuUUCAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFn
ZS1ibG9ja2luZy1sb29zZW5lZC13ZWJzcWwtc3RkZXJyLnR4dFVUBQADC4jiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAPwxNUko2Xk2sAAAAO4AAABDABgAAAAAAAEAAACkgeJGAgBodHRwL3Rl
c3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhlbmVkLXdlYnNxbC1zdGRlcnIu
dHh0VVQFAAMMiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/TE1SSckAG7jAAAAmAQAADkA
GAAAAAAAAQAAAKSBD0gCAGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2luLWNh
Y2hpbmctc3RkZXJyLnR4dFVUBQADDojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAAyNUkv
SpV2FQEAAOcBAAA/ABgAAAAAAAEAAACkgWVJAgBodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLXBv
c3Rlci1jcm9zcy1vcmlnaW4tY3Jhc2gyLXN0ZGVyci50eHRVVAUAAw+I4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAGMjVJYEtmEJEAAAD7AQAARQAYAAAAAAABAAAApIHzSgIAaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIu
dHh0VVQFAAMciOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA6DE1SQAAAAAAAAAAAAAAABMA
GAAAAAAAAAAQAO1BA0wCAGh0dHAvdGVzdHMvc3RvcmFnZS9VVAUAA+OH4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADoMTVJKNl5NrAAAADuAAAARQAYAAAAAAABAAAApIFQTAIAaHR0cC90ZXN0
cy9zdG9yYWdlL2NhbGxiYWNrcy1hcmUtY2FsbGVkLWluLWNvcnJlY3QtY29udGV4dC1zdGRlcnIu
dHh0VVQFAAPjh+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9zE1SQAAAAAAAAAAAAAAABoA
GAAAAAAAAAAQAO1Bf00CAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvVVQFAAMCiOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA9zE1SX5/7RexAAAAAQEAAEEAGAAAAAAAAQAAAKSB000CAGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1ibG9iLWNvbnRlbnQtdHlwZS1hc3luYy1zdGRl
cnIudHh0VVQFAAMCiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9zE1SX5/7RexAAAAAQEA
AEAAGAAAAAAAAQAAAKSB/04CAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1ibG9iLWNv
bnRlbnQtdHlwZS1zeW5jLXN0ZGVyci50eHRVVAUAAwKI4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAB2MTVJWwRYDqIFAABNEAAACgAYAAAAAAABAAAApIEqUAIAaHR0cGQuY29uZlVUBQADD4fi
V3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOsxNUkAAAAAAAAAAAAAAAANABgAAAAAAAAAEADt
QRBWAgBpZXRlc3RjZW50ZXIvVVQFAAPph+JXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA6zE1
SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BV1YCAGlldGVzdGNlbnRlci9jc3MzL1VUBQAD6Yfi
V3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOsxNUkAAAAAAAAAAAAAAAAlABgAAAAAAAAAEADt
QaNWAgBpZXRlc3RjZW50ZXIvY3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvVVQFAAPph+JXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA6zE1SeS0Wv6EAAAAwAAAAFUAGAAAAAAAAQAAAKSBAlcCAGll
dGVzdGNlbnRlci9jc3MzL2JvcmRlcnNiYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWF0dGFjaG1lbnQt
bG9jYWwtc2Nyb2xsaW5nLXN0ZGVyci50eHRVVAUAA+mH4ld1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAQMjVJAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UEVWAIAaW1wb3J0ZWQvVVQFAAMviOJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAEDI1SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B
WFgCAGltcG9ydGVkL3czYy9VVAUAAy+I4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAoMjVJ
AAAAAAAAAAAAAAAAIAAYAAAAAAAAABAA7UGfWAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9VVAUAA1uI4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAcMjVJAAAAAAAAAAAAAAAA
JQAYAAAAAAAAABAA7UH5WAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL1VU
BQADSIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABwyNUkAAAAAAAAAAAAAAAAvABgAAAAA
AAAAEADtQVhZAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L1VUBQADSIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACAyNUkAAAAAAAAAAAAAAABAABgA
AAAAAAAAEADtQcFZAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvVVQFAANLiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
NjI1SQAAAAAAAAAAAAAAAE8AGAAAAAAAAAAQAO1BO1oCAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9V
VAUAA3eI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAdMjVJfsrTC/QAAACXBQAAZwAYAAAA
AAABAAAApIHEWgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXktc3RkZXJyLnR4
dFVUBQADSYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0yNUkmiptf7QAAAKQEAAByABgA
AAAAAAEAAACkgVlcAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfY2FucGxheV9ub2F1dG9w
bGF5LXN0ZGVyci50eHRVVAUAA0qI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAgMjVJb8OA
bvgAAABmBgAAbgAYAAAAAAABAAAApIHyXQIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2Nh
bnBsYXl0aHJvdWdoLXN0ZGVyci50eHRVVAUAA0yI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAhMjVJSlXuN+wAAACkBAAAeQAYAAAAAAABAAAApIGSXwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2V2ZW50X2NhbnBsYXl0aHJvdWdoX25vYXV0b3BsYXktc3RkZXJyLnR4dFVUBQADTYjiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIACIyNUkoO7/O8AAAAGYGAABqABgAAAAAAAEAAACkgTFhAgBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQFAANPiOJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIjI1SVYxfPXrAAAApAQAAHUAGAAAAAAAAQAAAKSB
xWICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2FkZWRkYXRhX25vYXV0b3BsYXktc3Rk
ZXJyLnR4dFVUBQADUIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACMyNUlV0pky6QAAAKQE
AABuABgAAAAAAAEAAACkgV9kAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkbWV0
YWRhdGEtc3RkZXJyLnR4dFVUBQADUYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACMyNUn6
TVu97gAAAKQEAAB5ABgAAAAAAAEAAACkgfBlAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRf
bG9hZGVkbWV0YWRhdGFfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAANSiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAJDI1SYQUGYHvAAAApAQAAGkAGAAAAAAAAQAAAKSBkWcCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnQtc3RkZXJyLnR4dFVUBQADU4jiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACQyNUnrclRY7gAAAKQEAAB0ABgAAAAAAAEAAACkgSNpAgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZHN0YXJ0X25vYXV0b3BsYXktc3RkZXJyLnR4dFVU
BQADVIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACUyNUlMJqSG9QAAAGYGAAB8ABgAAAAA
AAEAAACkgb9qAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9jYW5w
bGF5dGhyb3VnaC1zdGRlcnIudHh0VVQFAANWiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
JjI1SRbmVb7vAAAADAYAAHUAGAAAAAAAAQAAAKSBamwCAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9l
dmVudF9vcmRlcl9jYW5wbGF5X3BsYXlpbmctc3RkZXJyLnR4dFVUBQADV4jiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIACYyNUmMLZtT8wAAAGYGAAB/ABgAAAAAAAEAAACkgQhuAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfbG9hZGVkbWV0YWRhdGFfbG9hZGVkZGF0YS1zdGRl
cnIudHh0VVQFAANYiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJzI1SWBdymbtAAAADAYA
AHgAGAAAAAAAAQAAAKSBtG8CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9vcmRlcl9sb2Fk
c3RhcnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADWojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACgyNUknc7fl9QAAAGYGAABlABgAAAAAAAEAAACkgVNxAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfcGF1c2Utc3RkZXJyLnR4dFVUBQADXIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACkyNUmP25Mx7AAAAKQEAABwABgAAAAAAAEAAACkgedyAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfcGF1c2Vfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAANdiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAKTI1Sd5HIH/0AAAAZgYAAGQAGAAAAAAAAQAAAKSBfXQCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5LXN0ZGVyci50eHRVVAUAA16I4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAqMjVJDb8ntecAAACkBAAAbwAYAAAAAAABAAAApIEPdgIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAANgiOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKzI1SanPlM/0AAAAZgYAAGcAGAAAAAAAAQAAAKSBn3cC
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5nLXN0ZGVyci50eHRVVAUAA2GI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAsMjVJva48+vcAAABmBgAAcgAYAAAAAAABAAAApIE0
eQIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlpbmdfbm9hdXRvcGxheS1zdGRlcnIu
dHh0VVQFAANjiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALDI1SWN1MBD2AAAADAYAAGgA
GAAAAAAAAQAAAKSB13oCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzcy1zdGRl
cnIudHh0VVQFAANkiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALTI1SYlyXzDsAAAApAQA
AHMAGAAAAAAAAQAAAKSBb3wCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzc19u
b2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA2WI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAu
MjVJuAY0Ce0AAAAMBgAAagAYAAAAAAABAAAApIEIfgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2
ZW50X3RpbWV1cGRhdGUtc3RkZXJyLnR4dFVUBQADZ4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAC8yNUlLHunH8QAAAGYGAAB1ABgAAAAAAAEAAACkgZl/AgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfdGltZXVwZGF0ZV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA2mI4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAvMjVJWDuVbYMAAADAAAAAbAAYAAAAAAABAAAApIE5gQIAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3ZvbHVtZWNoYW5nZS1zdGRlcnIudHh0VVQFAANpiOJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAHDI1SQAAAAAAAAAAAAAAAFoAGAAAAAAAAAAQAO1B
YoICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1VUBQADSIjiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAB0yNUkAAAAAAAAAAAAAAABkABgAAAAAAAAAEADtQfaCAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svVVQFAANJiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAHDI1SQen0GnLAAAA3QEAAHkAGAAAAAAAAQAAAKSBlIMCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9hY3RpdmVDdWVzLXN0ZGVyci50eHRV
VAUAA0iI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAdMjVJ/tjWH4MAAADAAAAAdQAYAAAA
AAABAAAApIEShQIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL2Fk
ZEN1ZS1zdGRlcnIudHh0VVQFAANJiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMDI1SdK6
3sXdAAAA5AMAAHcAGAAAAAAAAQAAAKSBRIYCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9uZXR3b3Jr
U3RhdGVfZHVyaW5nX2xvYWRzdGFydC1zdGRlcnIudHh0VVQFAANriOJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAMDI1SQONx0WEAAAAwAAAAG4AGAAAAAAAAQAAAKSB0ocCAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9uZXR3b3JrU3RhdGVfaW5pdGlhbC1zdGRlcnIudHh0VVQFAANriOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAMTI1SdSEv+rmAAAATAUAAHIAGAAAAAAAAQAAAKSB/ogCAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9wYXVzZWRfZmFsc2VfZHVyaW5nX3BsYXktc3RkZXJyLnR4dFVU
BQADbYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADEyNUkApAFS7gAAAKQEAAByABgAAAAA
AAEAAACkgZCKAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX3RydWVfZHVyaW5nX3BhdXNl
LXN0ZGVyci50eHRVVAUAA26I4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAdMjVJAAAAAAAA
AAAAAAAAagAYAAAAAAAAABAA7UEqjAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhl
LW1lZGlhLXJlc291cmNlL1VUBQADSojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0yNUmD
umctywAAAN0BAACRABgAAAAAAAEAAACkgc6MAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWlu
Zy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2UtbW92ZS10by1vdGhlci1kb2N1bWVudC1zdGRlcnIu
dHh0VVQFAANJiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHTI1SVqU2YkiAQAAFQMAAI8A
GAAAAAAAAQAAAKSBZI4CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1y
ZXNvdXJjZS9wYXVzZS1tb3ZlLXdpdGhpbi1kb2N1bWVudC1zdGRlcnIudHh0VVQFAANJiOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHTI1SUskj2QrAQAAbwMAAI8AGAAAAAAAAQAAAKSBT5AC
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wYXVzZS1y
ZW1vdmUtZnJvbS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAANKiOJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAHTI1SXh0BLaEAAAAwAAAAIEAGAAAAAAAAQAAAKSBQ5ICAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wbGF5YmFja1JhdGUtc3RkZXJyLnR4
dFVUBQADSojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADIyNUkLDyP1hAAAAMAAAAB4ABgA
AAAAAAEAAACkgYKTAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcHJlbG9hZF9yZWZsZWN0c19ub25l
X2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA2+I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAy
MjVJk5r/M+QAAABMBQAAcwAYAAAAAAABAAAApIG4lAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3Jl
YWR5U3RhdGVfZHVyaW5nX2NhbnBsYXktc3RkZXJyLnR4dFVUBQADcIjiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADMyNUl4PnSu9QAAAGYGAAB6ABgAAAAAAAEAAACkgUmWAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfY2FucGxheXRocm91Z2gtc3RkZXJyLnR4dFVU
BQADcYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADQyNUnG+KxW9AAAAGYGAAB2ABgAAAAA
AAEAAACkgfKXAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfbG9hZGVk
ZGF0YS1zdGRlcnIudHh0VVQFAANziOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANDI1SWXZ
QMj0AAAApAQAAHoAGAAAAAAAAQAAAKSBlpkCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0
YXRlX2R1cmluZ19sb2FkZWRtZXRhZGF0YS1zdGRlcnIudHh0VVQFAAN0iOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgANTI1SftM1uT2AAAAZgYAAHMAGAAAAAAAAQAAAKSBPpsCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19wbGF5aW5nLXN0ZGVyci50eHRVVAUAA3WI
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA1MjVJgQ7++YQAAADAAAAAbAAYAAAAAAABAAAA
pIHhnAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfaW5pdGlhbC1zdGRlcnIudHh0
VVQFAAN2iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANTI1SQ+gnNDWAAAAwgIAAIQAGAAA
AAAAAQAAAKSBC54CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9zcmNfcmVmbGVjdHNfYXR0cmlidXRl
X25vdF9zb3VyY2VfZWxlbWVudHMtc3RkZXJyLnR4dFVUBQADdojiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAB0yNUkAAAAAAAAAAAAAAABVABgAAAAAAAAAEADtQZ+fAgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEt
ZWxlbWVudHMvdHJhY2svVVQFAANKiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAHTI1SQAA
AAAAAAAAAAAAAGMAGAAAAAAAAAAQAO1BLqACAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy90cmFjay90
cmFjay1lbGVtZW50L1VUBQADSojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0yNUkQkGlM
vQAAAJIBAACCABgAAAAAAAEAAACkgcugAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svdHJh
Y2stZWxlbWVudC90cmFjay1hcGktdGV4dHRyYWNrcy1zdGRlcnIudHh0VVQFAANKiOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgANjI1SQjP2u29AAAA7AEAAGMAGAAAAAAAAQAAAKSBRKICAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy92aWRlb18wMDgtc3RkZXJyLnR4dFVUBQADd4jiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADYyNUkWjE9qhAAAAMAAAABsABgAAAAAAAEAAACkgZ6jAgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvdmlkZW9fdm9sdW1lX2NoZWNrLXN0ZGVyci50eHRVVAUAA3eI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAdMjVJAAAAAAAAAAAAAAAAUQAYAAAAAAAAABAA7UHI
pAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L3RoZS1hcmVhLWVsZW1lbnQvVVQFAANKiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAHTI1SUN0UVOEAAAAGgEAAGcAGAAAAAAAAQAAAKSBU6UCAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1l
bGVtZW50L2FyZWEtY29vcmRzLXN0ZGVyci50eHRVVAUAA0qI4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAgMjVJAAAAAAAAAAAAAAAAUgAYAAAAAAAAABAA7UF4pgIAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hdWRp
by1lbGVtZW50L1VUBQADS4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACAyNUm1xoYV3gAA
ANACAABuABgAAAAAAAEAAACkgQSnAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWF1ZGlvLWVsZW1lbnQvYXVkaW9fY29u
c3RydWN0b3Itc3RkZXJyLnR4dFVUBQADS4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABwy
NUkAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQYqoAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9VVAUAA0iI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQMjVJ
whf1FaIAAABPAgAARgAYAAAAAAABAAAApIHuqAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTEtc3RkZXJyLnR4dFVUBQADL4jiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABAyNUm8cWzVmQAAAMUAAABDABgAAAAAAAEAAACkgRCqAgBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9jb3VudC1z
dGRlcnIudHh0VVQFAAMwiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEDI1SbxxbNWZAAAA
xQAAAEQAGAAAAAAAAQAAAKSBJqsCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4X2NvdW50Mi1zdGRlcnIudHh0VVQFAAMwiOJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAEDI1SbxxbNWZAAAAxQAAAEQAGAAAAAAAAQAAAKSBPawCAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50My1zdGRlcnIudHh0
VVQFAAMwiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFDI1SbxxbNWZAAAAxQAAAEkAGAAA
AAAAAQAAAKSBVK0CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlX2NvdW50LXN0ZGVyci50eHRVVAUAAziI4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAUMjVJvHFs1ZkAAADFAAAASgAYAAAAAAABAAAApIFwrgIAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQyLXN0ZGVyci50
eHRVVAUAAzeI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAUMjVJBIrpA58AAACKAQAASgAY
AAAAAAABAAAApIGNrwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfY291bnQzLXN0ZGVyci50eHRVVAUAAzeI4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAWMjVJvHFs1ZkAAADFAAAASwAYAAAAAAABAAAApIGwsAIAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlNS1zdGRl
cnIudHh0VVQFAAM7iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGDI1SbxxbNWZAAAAxQAA
AE4AGAAAAAAAAQAAAKSBzrECAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUtc3RkZXJyLnR4dFVUBQADQIjiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABsyNUkEiukDnwAAAIoBAABYABgAAAAAAAEAAACkge+yAgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVhdGVf
aW5fdmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQFAANGiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAHDI1SbxxbNWZAAAAxQAAAEYAGAAAAAAAAQAAAKSBILQCAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLXN0ZGVyci50eHRVVAUA
A0iI4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA4MjVJAAAAAAAAAAAAAAAALQAYAAAAAAAA
ABAA7UE5tQIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQF
AAN8iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKDI1SSxJM8OKAAAAmwAAAFAAGAAAAAAA
AQAAAKSBoLUCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21l
ZGlhc291cmNlLWFwcGVuZHdpbmRvdy1zdGRlcnIudHh0VVQFAANbiOJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAKDI1SVTy614iAQAAKQMAAEwAGAAAAAAAAQAAAKSBtLYCAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWF2dHJhY2tzLXN0
ZGVyci50eHRVVAUAA1uI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoMjVJ3B8u2KMAAAAH
AwAATAAYAAAAAAABAAAApIFcuAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtYnVmZmVyZWQtc3RkZXJyLnR4dFVUBQADXIjiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACoyNUmvs5uELQEAAMgDAABfABgAAAAAAAEAAACkgYW5AgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25m
aWctY2hhbmdlLW1wNC1hLWJpdHJhdGUtc3RkZXJyLnR4dFVUBQADX4jiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIACsyNUnzMibGlgEAAGMEAABmABgAAAAAAAEAAACkgUu7AgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hh
bmdlLW1wNC1hdi1hdWRpby1iaXRyYXRlLXN0ZGVyci50eHRVVAUAA2GI4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAsMjVJFKG6oZYBAABjBAAAZgAYAAAAAAABAAAApIGBvQIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNo
YW5nZS1tcDQtYXYtdmlkZW8tYml0cmF0ZS1zdGRlcnIudHh0VVQFAANkiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgALTI1SbGa8fE9AQAAegMAAF8AGAAAAAAAAQAAAKSBt78CAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1j
aGFuZ2UtbXA0LXYtYml0cmF0ZS1zdGRlcnIudHh0VVQFAANmiOJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgALzI1SR6Ipuk8AQAAegMAAGEAGAAAAAAAAQAAAKSBjcECAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2Ut
bXA0LXYtZnJhbWVyYXRlLXN0ZGVyci50eHRVVAUAA2mI4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAwMjVJFBToij0BAAB6AwAAYQAYAAAAAAABAAAApIFkwwIAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQt
di1mcmFtZXNpemUtc3RkZXJyLnR4dFVUBQADa4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ADAyNUle0f64CAEAABUCAABKABgAAAAAAAEAAACkgTzFAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1kZXRhY2gtc3RkZXJyLnR4dFVUBQAD
a4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADEyNUl0P7YHcwEAAKYDAABMABgAAAAAAAEA
AACkgcjGAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1kdXJhdGlvbi1hY3R1YWwudHh0VVQFAANuiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAMTI1STkKYauyAQAA9AMAAEoAGAAAAAAAAQAAAKSBwcgCAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cmF0aW9uLWRpZmYudHh0
VVQFAANuiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMTI1ST3GEtM6AQAAXQMAAE4AGAAA
AAAAAQAAAKSB98oCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNl
L21lZGlhc291cmNlLWR1cmF0aW9uLWV4cGVjdGVkLnR4dFVUBQADbojiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADEyNUkETgLl2AgAAPYdAABSABgAAAAAAAEAAACkgbnMAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1kdXJhdGlvbi1w
cmV0dHktZGlmZi5odG1sVVQFAANuiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMTI1ST8Q
wVpgAQAAaAYAAEwAGAAAAAAAAQAAAKSBHdYCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1cmF0aW9uLXN0ZGVyci50eHRVVAUAA26I4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA1MjVJ2p7hup0AAAA2AQAAWwAYAAAAAAABAAAApIED
2AIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3Vy
Y2UtZ2V0dmlkZW9wbGF5YmFja3F1YWxpdHktc3RkZXJyLnR4dFVUBQADdYjiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIADUyNUlVQGD1iwAAAJsAAABQABgAAAAAAAEAAACkgTXZAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1saXZlc2Vl
a2FibGUtc3RkZXJyLnR4dFVUBQADdYjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADYyNUl2
+43TEAEAAIQBAABIABgAAAAAAAEAAACkgUraAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1wbGF5LXN0ZGVyci50eHRVVAUAA3iI4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAA1MjVJ0KrB1IsAAACbAAAAVwAYAAAAAAABAAAApIHc2wIA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
cGxheS10aGVuLXNlZWstYmFjay1zdGRlcnIudHh0VVQFAAN2iOJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgANjI1Sem5nbqaAAAA9AIAAEsAGAAAAAAAAQAAAKSB+NwCAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXByZWxvYWQtc3RkZXJy
LnR4dFVUBQADeIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADcyNUkbia3liwAAAJsAAABS
ABgAAAAAAAEAAACkgRfeAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1yZWR1bmRhbnQtc2Vlay1zdGRlcnIudHh0VVQFAAN5iOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAODI1SX4njztOAQAA6goAAEoAGAAAAAAAAQAAAKSBLt8CAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJl
bW92ZS1zdGRlcnIudHh0VVQFAAN7iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAODI1SXBU
hlCbAAAANgEAAFQAGAAAAAAAAQAAAKSBAOECAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXRpbWVzdGFtcC1vZmZzZXQtc3RkZXJyLnR4dFVU
BQADfIjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAD0yNUkAAAAAAAAAAAAAAAADABgAAAAA
AAAAEADtQSniAgBqcy9VVAUAA4aI4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABZMjVJAAAA
AAAAAAAAAAAABwAYAAAAAAAAABAA7UFm4gIAanMvZG9tL1VUBQADuojiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAD0yNUko2Xk2sAAAAO4AAAA1ABgAAAAAAAEAAACkgafiAgBqcy9kb20vY2Fs
bGJhY2stZnVuY3Rpb24td2l0aC1oYW5kbGUtZXZlbnQtc3RkZXJyLnR4dFVUBQADhojiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAEEyNUlcdAiGoQAAAGYBAAAlABgAAAAAAAEAAACkgcbjAgBq
cy9kb20vY3VzdG9tLWNvbnN0cnVjdG9ycy1zdGRlcnIudHh0VVQFAAOJiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAWTI1SSjZeTawAAAA7gAAADAAGAAAAAAAAQAAAKSBxuQCAGpzL2RvbS9l
eGNlcHRpb25zLXRocm93bi1pbi1jYWxsYmFja3Mtc3RkZXJyLnR4dFVUBQADuojiV3V4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAMAyNUkAAAAAAAAAAAAAAAAGABgAAAAAAAAAEADtQeDlAgBtZWRp
YS9VVAUAA3eJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABBMjVJ+K+0cNgAAABSAgAAHwAY
AAAAAAABAAAApIEg5gIAbWVkaWEvYXVkaW8tZGF0YS11cmwtc3RkZXJyLnR4dFVUBQADiYjiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEoyNUkAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQVHn
AgBtZWRpYS9tZWRpYS1zb3VyY2UvVVQFAAOciOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
SjI1STKI31uKAAAAmwAAAEgAGAAAAAAAAQAAAKSBnucCAG1lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS1zb3VyY2Utc3RhbGxlZC1ob2xkcy1zbGVlcC1hc3NlcnRpb24tc3RkZXJyLnR4dFVUBQADnIji
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG8yNUkBCJRexQAAACQDAAAoABgAAAAAAAEAAACk
garoAgBtZWRpYS9zb3VyY2VzLWZhbGxiYWNrLWNvZGVjcy1zdGRlcnIudHh0VVQFAAPhiOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbzI1Se+W/ruKAAAAgAEAADAAGAAAAAAAAQAAAKSB0ekC
AG1lZGlhL3N2Zy1hcy1pbWFnZS13aXRoLW1lZGlhLWJsb2NrZWQtc3RkZXJyLnR4dFVUBQAD4Yji
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHAyNUnPTinSkAAAAL0AAAAhABgAAAAAAAEAAACk
gcXqAgBtZWRpYS91bnN1cHBvcnRlZC1ydHNwLXN0ZGVyci50eHRVVAUAA+OI4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACqMjVJLrmzImsAAABNAQAAJgAYAAAAAAABAAAApIGw6wIAbWVkaWEv
dmlkZW8tcGxheWVkLXJhbmdlcy0xLXN0ZGVyci50eHRVVAUAA0+J4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADAMjVJZQAOSL0AAACSAQAAHwAYAAAAAAABAAAApIF77AIAbWVkaWEvdmlkZW8t
c3JjLWJsb2Itc3RkZXJyLnR4dFVUBQADd4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMAy
NUlSPl+7gwAAABoBAAAhABgAAAAAAAEAAACkgZHtAgBtZWRpYS92aWRlby1zcmMtY2hhbmdlLXN0
ZGVyci50eHRVVAUAA3eJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABOMjVJAAAAAAAAAAAA
AAAACAAYAAAAAAAAABAA7UFv7gIAcGx1Z2lucy9VVAUAA6SI4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABOMjVJfFC2mq4AAADxAAAALwAYAAAAAAABAAAApIGx7gIAcGx1Z2lucy9tb3VzZS1j
bGljay1pZnJhbWUtdG8tcGx1Z2luLXN0ZGVyci50eHRVVAUAA6SI4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD1MTVJSosZUGYCAACiFQAAGgAYAAAAAAABAAAApIHI7wIAcHl3ZWJzb2NrZXQu
d3MubG9nLWVyci50eHRVVAUAA/2H4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1MTVJE2nO
/gkBAACPAgAAGgAYAAAAAAABAAAApIGC8gIAcHl3ZWJzb2NrZXQud3MubG9nLW91dC50eHRVVAUA
A/2H4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB3MTVJAAAAAAAAAAAAAAAAGwAYAAAAAAAA
AAAApIHf8wIAcHl3ZWJzb2NrZXQud3NzLmxvZy1lcnIudHh0VVQFAAMRh+JXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAdzE1SQAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBNPQCAHB5d2Vic29j
a2V0Lndzcy5sb2ctb3V0LnR4dFVUBQADEYfiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACQz
NUlFJh050ScAAMuqAAAMABgAAAAAAAEAAACkgYn0AgByZXN1bHRzLmh0bWxVVAUAAzOK4ld1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAAjMzVJAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UGgHAMA
cmV0cmllcy9VVAUAAzKK4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAjMzVJAAAAAAAAAAAA
AAAAEQAYAAAAAAAAABAA7UHiHAMAcmV0cmllcy9pbXBvcnRlZC9VVAUAAzKK4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAAjMzVJAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UEtHQMAcmV0cmll
cy9pbXBvcnRlZC93M2MvVVQFAAMyiuJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAIzM1SQAA
AAAAAAAAAAAAACgAGAAAAAAAAAAQAO1BfB0DAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9VVAUAAzKK4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAjMzVJAAAAAAAA
AAAAAAAANQAYAAAAAAAAABAA7UHeHQMAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9VVAUAAzKK4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAj
MzVJdD+2B3MBAACmAwAAVAAYAAAAAAABAAAApIFNHgMAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1kdXJhdGlvbi1hY3R1YWwu
dHh0VVQFAAMyiuJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIzM1SYwtodK3AQAABAQAAFIA
GAAAAAAAAQAAAKSBTiADAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyYXRpb24tZGlmZi50eHRVVAUAAzKK4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAjMzVJPcYS0zoBAABdAwAAVgAYAAAAAAABAAAApIGRIgMAcmV0
cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNv
dXJjZS1kdXJhdGlvbi1leHBlY3RlZC50eHRVVAUAAzKK4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAjMzVJpSHLMdwIAAD+HQAAWgAYAAAAAAABAAAApIFbJAMAcmV0cmllcy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1kdXJhdGlvbi1w
cmV0dHktZGlmZi5odG1sVVQFAAMyiuJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIzM1SUQ5
e55gAQAAaAYAAFQAGAAAAAAAAQAAAKSByy0DAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyYXRpb24tc3RkZXJyLnR4dFVU
BQADMoriV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACQzNUnPTalSK8gIAELSLgAKABgAAAAA
AAEAAACkgbkvAwBzdGF0cy5qc29uVVQFAAMziuJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
dDI1SQAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BKPgLAHN0b3JhZ2UvVVQFAAPriOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAxjI1SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BavgLAHN0
b3JhZ2UvaW5kZXhlZGRiL1VUBQADhIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJAyNUnC
F/UVogAAAE8CAAApABgAAAAAAAEAAACkgbb4CwBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNp
Y3Mtc3RkZXJyLnR4dFVUBQADIIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJAyNUnCF/UV
ogAAAE8CAAAxABgAAAAAAAEAAACkgbv5CwBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mt
d29ya2Vycy1zdGRlcnIudHh0VVQFAAMfieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkTI1
SbYLDNuvAAAAAQoAACgAGAAAAAAAAQAAAKSByPoLAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNv
dW50LXN0ZGVyci50eHRVVAUAAyGJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUMjVJ/P1/
XqMAAAAUAwAALQAYAAAAAAABAAAApIHZ+wsAc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtbXVsdGll
bnRyeS1zdGRlcnIudHh0VVQFAAMnieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlDI1Sbxx
bNWZAAAAxQAAAC0AGAAAAAAAAQAAAKSB4/wLAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVs
YXRpb24tc3RkZXJyLnR4dFVUBQADKIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJcyNUlk
Cr4zugUAAEwwAABFABgAAAAAAAAAAACkgeP9CwBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LW9wZW4taW4tdXBncmFkZW5lZWRlZC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAy6J4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACXMjVJ3POnkNIFAABiMwAAPQAYAAAAAAAAAAAApIEcBAwAc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLWluLXVwZ3JhZGVuZWVkZWQtc3RkZXJyLnR4
dFVUBQADLoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJcyNUkYM1YFRQQAACQXAABBABgA
AAAAAAAAAACkgWUKDABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLW9wZW4td2l0aC12ZXJz
aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADLoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJgyNUnb8dnuQAQAAMQWAAA5ABgAAAAAAAAAAACkgSUPDABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLW9wZW4td2l0aC12ZXJzaW9uLXN0ZGVyci50eHRVVAUAAy+J4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACYMjVJ6uAvVQIFAAB/OAAAUQAYAAAAAAAAAAAApIHYEwwAc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1hc2NlbmRpbmctcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAMvieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmDI1SWf3
XqoZBQAAwTkAAEkAGAAAAAAAAAAAAKSBZRkMAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24t
cGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtYXNjZW5kaW5nLXN0ZGVyci50eHRVVAUAAy+J4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACYMjVJHruzo+AEAAAKLAAAUgAYAAAAAAAAAAAApIEBHwwA
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1kZXNj
ZW5kaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADL4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJgyNUmgaI1V/QQAAPgpAABKABgAAAAAAAAAAACkgW0kDABzdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1jaGFuZ2VzLWRlc2NlbmRpbmctc3RkZXJyLnR4dFVU
BQADMIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJgyNUnCJYmpvgQAACYpAABMABgAAAAA
AAAAAACkge4pDABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1j
aGFuZ2VzLXNhbWUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMwieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAmDI1SeIUX8r7BAAALi0AAEQAGAAAAAAAAAAAAKSBMi8MAHN0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtc2FtZS1zdGRlcnIudHh0VVQF
AAMwieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmDI1SU/aaCgTBAAANxoAADsAGAAAAAAA
AAAAAKSBqzQMAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVyc2lzdGVuY2UtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAMwieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmDI1ScTb/mzl
AwAA/RcAADMAGAAAAAAAAAAAAKSBMzkMAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVy
c2lzdGVuY2Utc3RkZXJyLnR4dFVUBQADMIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJky
NUlolvnyLwUAABwqAAA/ABgAAAAAAAAAAACkgYU9DABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJz
aW9uLXJldmVydC1vbi1hYm9ydC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzGJ4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACZMjVJbgNYPjAFAACvKwAANwAYAAAAAAAAAAAApIEtQwwAc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1yZXZlcnQtb24tYWJvcnQtc3RkZXJyLnR4dFVUBQADMYni
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJkyNUkp7MjL6gMAAJYYAABFABgAAAAAAAAAAACk
gc5IDABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9ucy1w
cml2YXRlLXN0ZGVyci50eHRVVAUAAzGJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACZMjVJ
Iu2svxUEAAD9GQAAPQAYAAAAAAAAAAAApIE3TQwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi10d28tb3BlbnMtbm8tdmVyc2lvbnMtc3RkZXJyLnR4dFVUBQADMYniV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJkyNUl88RmLGwUAAM9BAAA4ABgAAAAAAAAAAACkgcNRDABzdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLXVwZ3JhZGVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADMoniV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJkyNUnLntQQTgUAAF1EAAAwABgAAAAAAAAAAACkgVBX
DABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXVwZ3JhZGVzLXN0ZGVyci50eHRVVAUAAzKJ
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACZMjVJXfN2EiYDAAD+EAAAMQAYAAAAAAAAAAAA
pIEIXQwAc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADMoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJoyNUkNNRhrrgMAAHUSAAApABgAAAAA
AAAAAACkgZlgDABzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtc3RkZXJyLnR4dFVUBQAD
M4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJoyNUkrE+9V1wsAAFyZAQAyABgAAAAAAAAA
AACkgapkDABzdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADNIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJsyNUlDWEbX+gsAAE+dAQAqABgA
AAAAAAAAAACkge1wDABzdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLXN0ZGVyci50eHRV
VAUAAzWJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACbMjVJwEBAEfgEAACnMwAAQAAYAAAA
AAAAAAAApIFLfQwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVz
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADNYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJsy
NUkLKbersQUAACw1AAA4ABgAAAAAAAAAAACkgb2CDABzdG9yYWdlL2luZGV4ZWRkYi9rZXktc29y
dC1vcmRlci1hY3Jvc3MtdHlwZXMtc3RkZXJyLnR4dFVUBQADNoniV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJsyNUnfrU47KgUAAPwsAAA4ABgAAAAAAAAAAACkgeCIDABzdG9yYWdlL2luZGV4
ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADNoniV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAJsyNUni3UaqpQUAAAgvAAAwABgAAAAAAAAAAACkgXyODABz
dG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLXN0ZGVyci50eHRVVAUAAzaJ4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACcMjVJvDc25dYHAAAmtQAAMwAYAAAAAAAAAAAApIGL
lAwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAM3ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAnTI1SQfjOZyjBwAAnLgAACsAGAAAAAAA
AAAAAKSBzpwMAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LXN0ZGVyci50eHRVVAUA
AzqJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACdMjVJ5Nm0z+gEAAA6JAAANAAYAAAAAAAA
AAAApIHWpAwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYmluYXJ5LXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADOoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJ0yNUlXYQ4W7gQAAFokAAAs
ABgAAAAAAAAAAACkgSyqDABzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1iaW5hcnktc3RkZXJy
LnR4dFVUBQADOoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKAyNUlzeHicMAQAAKAXAAA2
ABgAAAAAAAAAAACkgYCvDABzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1pbmZpbml0eS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAAzuJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACgMjVJ+W7d
T7MEAABpGgAALgAYAAAAAAAAAAAApIEgtAwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtaW5m
aW5pdHktc3RkZXJyLnR4dFVUBQADO4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKAyNUl3
5riWxAYAAF03AAAzABgAAAAAAAAAAACkgTu5DABzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWFy
cmF5cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzuJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACgMjVJRnR6qKgGAAB1NQAAKwAYAAAAAAAAAAAApIFswAwAc3RvcmFnZS9pbmRleGVkZGIva2V5
cGF0aC1hcnJheXMtc3RkZXJyLnR4dFVUBQADO4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AKEyNUn/zwzgqQMAAKBPAAAzABgAAAAAAAAAAACkgXnHDABzdG9yYWdlL2luZGV4ZWRkYi9rZXlw
YXRoLWJhc2ljcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAz2J4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACiMjVJ35hPrJEEAAApdAAAKwAYAAAAAAAAAAAApIGPywwAc3RvcmFnZS9pbmRleGVk
ZGIva2V5cGF0aC1iYXNpY3Mtc3RkZXJyLnR4dFVUBQADP4niV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKIyNUk9+LdEVwYAALBbAAAyABgAAAAAAAAAAACkgYXQDABzdG9yYWdlL2luZGV4ZWRk
Yi9rZXlwYXRoLWVkZ2VzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADP4niV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAKIyNUlIjX35sgUAALE2AAAqABgAAAAAAAAAAACkgUjXDABzdG9yYWdlL2lu
ZGV4ZWRkYi9rZXlwYXRoLWVkZ2VzLXN0ZGVyci50eHRVVAUAA0CJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACiMjVJ/lJw4QAFAADXOQAANgAYAAAAAAAAAAAApIFe3QwAc3RvcmFnZS9pbmRl
eGVkZGIva2V5cGF0aC1mZXRjaC1rZXktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANAieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAojI1SY7X9vDRBQAAYz4AAC4AGAAAAAAAAAAAAKSBzuIMAHN0
b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZmV0Y2gta2V5LXN0ZGVyci50eHRVVAUAA0CJ4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACjMjVJyfRR9+YGAADSWQAAQQAYAAAAAAAAAAAApIEH6QwA
c3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1pbnRyaW5zaWMtcHJvcGVydGllcy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA0GJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACjMjVJS99GvPEGAACU
WQAAOQAYAAAAAAAAAAAApIFo8AwAc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1pbnRyaW5zaWMt
cHJvcGVydGllcy1zdGRlcnIudHh0VVQFAANBieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ozI1SVM6vZfVAAAAQAIAAC0AGAAAAAAAAAAAAKSBzPcMAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADQoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AKQyNUk5Crb+/QcAAJ2AAAA6ABgAAAAAAAAAAACkgQj5DABzdG9yYWdlL2luZGV4ZWRkYi9sYXp5
LWluZGV4LXBvcHVsYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANDieJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgApDI1SWZ129pACAAA1H8AADIAGAAAAAAAAAAAAKSBeQENAHN0b3JhZ2Uv
aW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi1zdGRlcnIudHh0VVQFAANDieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgApDI1SRQjYsJ1BgAA9lkAADUAGAAAAAAAAAAAAKSBJQoNAHN0
b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtdHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAND
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApDI1SUQHvSNpBwAAYWQAAC0AGAAAAAAAAAAA
AKSBCRENAHN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtdHlwZXMtc3RkZXJyLnR4dFVUBQAD
RIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKQyNUmWdeTD1wAAAEACAAA1ABgAAAAAAAAA
AACkgdkYDQBzdG9yYWdlL2luZGV4ZWRkYi9sZWdhY3ktY29uc3RhbnRzLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADRIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKUyNUnwyWBSJAUAAE+EAAAy
ABgAAAAAAAAAAACkgR8aDQBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADRYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKUyNUmWAdnwjAUA
AIp6AAAqABgAAAAAAAAAAACkga8fDQBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLXN0
ZGVyci50eHRVVAUAA0WJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAClMjVJ6sMtSgYGAABS
UQAALQAYAAAAAAAAAAAApIGfJQ0Ac3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAANFieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApTI1STaS9E/6BAAA
Ex8AADIAGAAAAAAAAAAAAKSBDCwNAHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXJhY2UtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAANGieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApTI1SbqQ
Y72iBQAAXiMAACoAGAAAAAAAAAAAAKSBcjENAHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXJh
Y2Utc3RkZXJyLnR4dFVUBQADRoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKUyNUkua2h5
hgYAAN9SAAAlABgAAAAAAAAAAACkgXg3DQBzdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1zdGRl
cnIudHh0VVQFAANGieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAkzI1SQAAAAAAAAAAAAAA
ABkAGAAAAAAAAAAQAO1BXT4NAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9VVAUAAyWJ4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABzMjVJ7qJtBXwGAACoRgAARAAYAAAAAAAAAAAApIGwPg0A
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Fib3J0LXJlcXVlc3RzLWNhbmNlbGxlZC1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA+qI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABzMjVJ3BRS82MG
AABmTQAANwAYAAAAAAAAAAAApIGqRQ0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Fib3J0ZWQt
cHV0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD6ojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AHQyNUn/yZuMdAYAALZMAAAvABgAAAAAAAAAAACkgX5MDQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vYWJvcnRlZC1wdXQtc3RkZXJyLnR4dFVUBQAD64jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAHQyNUn/UJ98cwYAAKlrAAA3ABgAAAAAAAAAAACkgVtTDQBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vYXV0b2luY3JlbWVudC1hYm9ydC1zdGRlcnIudHh0VVQFAAPriOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAdDI1Say/FQLtBAAA+hwAADUAGAAAAAAAAAAAAKSBP1oNAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9iYXNpYy1hZGQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPriOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdDI1SRMJTjgFBQAAYR0AAC0AGAAAAAAAAAAAAKSBm18N
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iYXNpYy1hZGQtc3RkZXJyLnR4dFVUBQAD64jiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHQyNUnAGKn1zwQAADIaAAA1ABgAAAAAAAAAAACkgQdl
DQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0LXByaXZhdGUtc3RkZXJyLnR4dFVU
BQAD7IjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHQyNUlv5U/Y3QQAAKUaAAAtABgAAAAA
AAAAAACkgUVqDQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0LXN0ZGVyci50eHRV
VAUAA+yI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB1MjVJ2apBDH0GAACdPAAALwAYAAAA
AAAAAAAApIGJbw0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2ItY3Vyc29yLXN0ZGVyci50
eHRVVAUAA+2I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB1MjVJbxGrwfsIAAA0pwAALwAY
AAAAAAAAAAAApIFvdg0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXN0ZGVy
ci50eHRVVAUAA+6I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB1MjVJfVM7zf4JAACOowAA
NwAYAAAAAAAAAAAApIHTfw0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXdv
cmtlcnMtc3RkZXJyLnR4dFVUBQAD7YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHYyNUk1
vRDTEwYAABw0AAAyABgAAAAAAAAAAACkgUKKDQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxv
Yi1zdmctaW1hZ2Utc3RkZXJyLnR4dFVUBQAD74jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AHYyNUmIa0NmSwYAAEoyAABEABgAAAAAAAAAAACkgcGQDQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVlc3RzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD74jiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHYyNUm8olo+oQYAAHAzAAA8ABgAAAAAAAAAAACkgYqX
DQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVlc3RzLXN0ZGVy
ci50eHRVVAUAA++I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2MjVJt9jwJRgGAAAaLwAA
QQAYAAAAAAAAAAAApIGhng0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZS1pbmRleC1m
YWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA++I4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAB2MjVJ/JTNAxUGAAD9KwAAOQAYAAAAAAAAAAAApIE0pQ0Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2NyZWF0ZS1pbmRleC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAPwiOJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAdjI1SfhhK7cMBgAAe0MAAEMAGAAAAAAAAAAAAKSBvKsNAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGVvYmplY3RzdG9yZS1iYXNpYy1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA/CI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2MjVJKg5rrEsGAAAPRQAA
OwAYAAAAAAAAAAAApIFFsg0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0
b3JlLWJhc2ljLXN0ZGVyci50eHRVVAUAA/CI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB3
MjVJbuWuVaQEAAC4GwAARgAYAAAAAAAAAAAApIEFuQ0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2NyZWF0ZW9iamVjdHN0b3JlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD8YjiV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHcyNUk0YwhtRAQAADwYAAA+ABgAAAAAAAAAAACkgSm+
DQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3JlYXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMtc3Rk
ZXJyLnR4dFVUBQAD8YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHcyNUmqufLm1wUAANBW
AAA0ABgAAAAAAAAAAACkgeXCDQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAPxiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdzI1SY9L
/VQPBgAA9lgAACwAGAAAAAAAAAAAAKSBKskNAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMS1zdGRlcnIudHh0VVQFAAPyiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdzI1SWvP
g5H8BQAA1XkAADQAGAAAAAAAAAAAAKSBn88NAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItMi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/KI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAB4MjVJp7kmMAwGAAAidQAALAAYAAAAAAAAAAAApIEJ1g0Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci0yLXN0ZGVyci50eHRVVAUAA/OI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAB4MjVJkc7MYL8FAADHVQAANAAYAAAAAAAAAAAApIF73A0Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci0zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD84jiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHgyNUn8y1yF3AUAAM5UAAAsABgAAAAAAAAAAACkgajiDQBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTMtc3RkZXJyLnR4dFVUBQAD84jiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHgyNUl98B/OuQUAABNQAAA0ABgAAAAAAAAAAACkgeroDQBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP0iOJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAeDI1SaXZ3PjVBQAAhE8AACwAGAAAAAAAAAAAAKSBEe8NAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNC1zdGRlcnIudHh0VVQFAAP0iOJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAeDI1SShkE0OZBQAACS4AADQAGAAAAAAAAAAAAKSBTPUNAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/SI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5MjVJOcbjsd0FAACLLwAALAAYAAAAAAAAAAAApIFT
+w0Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci01LXN0ZGVyci50eHRVVAUAA/WI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5MjVJYdzYv5kFAAAJLgAANAAYAAAAAAAAAAAApIGW
AQ4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci02LXByaXZhdGUtc3RkZXJyLnR4dFVU
BQAD9YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHkyNUmRk1oR1AUAAOcuAAAsABgAAAAA
AAAAAACkgZ0HDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTYtc3RkZXJyLnR4dFVU
BQAD9YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHkyNUkogpqGiAUAAJQoAAA0ABgAAAAA
AAAAAACkgdcNDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTctcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAAP1iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeTI1ScrHP1uzBQAAqCkA
ACwAGAAAAAAAAAAAAKSBzRMOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNy1zdGRl
cnIudHh0VVQFAAP2iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeTI1Seq4elCHBQAAlCgA
ADQAGAAAAAAAAAAAAKSB5hkOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItOC1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA/aI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5MjVJAsQt
CbAFAABSKQAALAAYAAAAAAAAAAAApIHbHw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNv
ci04LXN0ZGVyci50eHRVVAUAA/aI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5MjVJMpip
BOMFAAAgQAAANgAYAAAAAAAAAAAApIHxJQ4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RhdGUt
YmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP2iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAejI1SYvadaL3BQAAlUEAAC4AGAAAAAAAAAAAAKSBRCwOAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9kYXRlLWJhc2ljLXN0ZGVyci50eHRVVAUAA/eI4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAB6MjVJIbKrtV4FAADKLAAAPAAYAAAAAAAAAAAApIGjMg4Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP3iOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAejI1SQPZ96uABQAAAy4AADQAGAAAAAAAAAAAAKSBdzgOAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0xLXN0ZGVyci50eHRVVAUAA/eI
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6MjVJ9+mEqQwGAADbMAAAPAAYAAAAAAAAAAAA
pIFlPg4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTItcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAP3iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAejI1SRumCg4LBgAA
fDEAADQAGAAAAAAAAAAAAKSB50QOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRh
YmFzZS0yLXN0ZGVyci50eHRVVAUAA/iI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6MjVJ
Cx4BzM8AAACSAgAATgAYAAAAAAAAAAAApIFgSw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Rl
bGV0ZWRhdGFiYXNlLW51bGwtbmFtZS1leGNlcHRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP4
iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAejI1ScHNvopPAQAAnQMAAEgAGAAAAAAAAAAA
AKSBt0wOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LWV2
ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+IjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AHsyNUnqIRBqiwEAAEIEAABAABgAAAAAAAAAAACkgYhODgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1zdGRlcnIudHh0VVQFAAP5iOJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAezI1SWA29DJWAAAAmQAAAEIAGAAAAAAAAAAAAKSBjVAOAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQAD+YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHsyNUnTEhkcEAEAACED
AAA6ABgAAAAAAAAAAACkgV9RDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJh
c2UtcmVxdWVzdC1zdGRlcnIudHh0VVQFAAP5iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ezI1SUan5vYnBwAA3DcAADkAGAAAAAAAAAAAAKSB41IOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9kZWxldGVpbmRleC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+YjiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAHsyNUlWswFyngcAAAw4AAAxABgAAAAAAAAAAACkgX1aDgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMS1zdGRlcnIudHh0VVQFAAP5iOJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAezI1SQoHKKF4BwAAx08AADkAGAAAAAAAAAAAAKSBhmIOAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
+ojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHsyNUkxdohBAAgAADRQAAAxABgAAAAAAAAA
AACkgXFqDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi1zdGRlcnIudHh0
VVQFAAP6iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAezI1SYXCFl4vBQAAASQAADkAGAAA
AAAAAAAAAKSB3HIOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLXByaXZh
dGUtc3RkZXJyLnR4dFVUBQAD+ojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHsyNUmTaqy8
jAUAAPgkAAAxABgAAAAAAAAAAACkgX54DgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRl
aW5kZXgtMy1zdGRlcnIudHh0VVQFAAP6iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfDI1
SeDetQOABQAAeiwAADkAGAAAAAAAAAAAAKSBdX4OAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9k
ZWxldGVpbmRleC00LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+4jiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHwyNUniQWwICQcAACRoAAA/ABgAAAAAAAAAAACkgWiEDgBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vZGVsZXRlb2JqZWN0c3RvcmUtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/uI
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB8MjVJqKJsyhMHAAC0agAANwAYAAAAAAAAAAAA
pIHqiw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZW9iamVjdHN0b3JlLTEtc3RkZXJy
LnR4dFVUBQAD+4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHwyNUkFdUcYuQMAAJwUAAA4
ABgAAAAAAAAAAACkgW6TDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLWFib3J0LXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQAD+4jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHwyNUnR
3X0V5QMAAHQTAAAwABgAAAAAAAAAAACkgZmXDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZG91
YmxlLWFib3J0LXN0ZGVyci50eHRVVAUAA/yI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB8
MjVJYWdwgFgDAADLEgAANwAYAAAAAAAAAAAApIHomw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2RvdWJsZS1vcGVuLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD/IjiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHwyNUlHYYyakQMAAI0VAAAvABgAAAAAAAAAAACkgbGfDgBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vZG91YmxlLW9wZW4tc3RkZXJyLnR4dFVUBQAD/IjiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAHwyNUlci6rQjQQAAFQkAAA+ABgAAAAAAAAAAACkgaujDgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vZ2MtY2xvc2VzLWRhdGFiYXNlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
/IjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH0yNUknUH8DsAQAACclAAA2ABgAAAAAAAAA
AACkgbCoDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2MtY2xvc2VzLWRhdGFiYXNlLXN0ZGVy
ci50eHRVVAUAA/2I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB9MjVJjaw8MicGAAAfNwAA
PgAYAAAAAAAAAAAApIHQrQ4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2dldC1pbmRleC1mYWls
dXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/2I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAB9MjVJCvNKBl8GAADGNQAANgAYAAAAAAAAAAAApIFvtA4Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2dldC1pbmRleC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAP9iOJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAfTI1SfMQMXWSCQAAeO8BADgAGAAAAAAAAAAAAKSBPrsOAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9nZXQta2V5cmFuZ2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP+iOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgDI1STXlKrK/CQAA9wQCADAAGAAAAAAAAAAAAKSBQsUO
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9nZXQta2V5cmFuZ2Utc3RkZXJyLnR4dFVUBQAD/4ji
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIAyNUm4TPseRAUAADYdAAA2ABgAAAAAAAAAAACk
gWvPDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaGFuZGxlLXVzZXItZGVsZXRlLXN0ZGVyci50
eHRVVAUAAwCJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACAMjVJco3huxsGAADDNAAAUgAY
AAAAAAAAAAAApIEf1Q4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmRhdGFiYXNlLWRlbGV0
ZW9iamVjdHN0b3JlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADAIniV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAIAyNUnUhKjaJgYAALc1AABKABgAAAAAAAAAAACkgcbbDgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiZGF0YWJhc2UtZGVsZXRlb2JqZWN0c3RvcmUtZmFpbHVy
ZXMtc3RkZXJyLnR4dFVUBQADAIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIAyNUldmClF
kgQAADIZAABMABgAAAAAAAAAAACkgXDiDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiZGF0
YWJhc2UtdHJhbnNhY3Rpb24tZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMAieJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgTI1SdDO1N+hBAAA/xgAAEQAGAAAAAAAAAAAAKSBiOcO
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1mYWlsdXJl
cy1zdGRlcnIudHh0VVQFAAMBieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgTI1SRDxAwBR
BQAAnTQAAEUAGAAAAAAAAAAAAKSBp+wOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJpbmRl
eC1wcm9wZXJ0aWVzLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADAYniV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAIEyNUmLgszdgQUAAKk0AAA9ABgAAAAAAAAAAACkgXfyDgBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtcHJvcGVydGllcy1iYXNpYy1zdGRlcnIudHh0VVQF
AAMBieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgjI1SchOaSihCwAA4MkFAEEAGAAAAAAA
AAAAAKSBb/gOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXktZXF1YWxpdHkt
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMEieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhDI1
SZKHG6+mDQAAy9sGADkAGAAAAAAAAAAAAKSBiwQPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJrZXktYXJyYXktZXF1YWxpdHktc3RkZXJyLnR4dFVUBQADB4niV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAIQyNUnby6F/AwcAAGRyAABCABgAAAAAAAAAAACkgaQSDwBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
AweJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACEMjVJ9wxeXd4GAAA0cgAAOgAYAAAAAAAA
AAAApIEjGg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNsZWFyLTEt
c3RkZXJyLnR4dFVUBQADCIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIQyNUmD5BENrwcA
ABeZAABCABgAAAAAAAAAAACkgXUhDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0
c3RvcmUtY2xlYXItMi1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwiJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACEMjVJnONjlrUHAACJmwAAOgAYAAAAAAAAAAAApIGgKQ8Ac3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNsZWFyLTItc3RkZXJyLnR4dFVUBQADCIniV3V4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIUyNUmdeBJhSwYAAAisAABCABgAAAAAAAAAAACkgckx
DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtMS1wcml2YXRl
LXN0ZGVyci50eHRVVAUAAwmJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACFMjVJXwH6W1gH
AAAX4QAAOgAYAAAAAAAAAAAApIGQOA8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVj
dHN0b3JlLWNvdW50LTEtc3RkZXJyLnR4dFVUBQADCYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAIUyNUk0HBwU8wUAANwuAABJABgAAAAAAAAAAACkgVxADwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAMKieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhTI1SR6JhSAGBgAAtC4AAEEAGAAAAAAA
AAAAAKSB0kYPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC1m
YWlsdXJlcy1zdGRlcnIudHh0VVQFAAMKieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhTI1
SfQNQM8cCQAAf50BAEMAGAAAAAAAAAAAAKSBU00PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJvYmplY3RzdG9yZS1kZWxldGUtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwqJ4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACGMjVJMinZDIQKAAD+4wEAOwAYAAAAAAAAAAAApIHsVg8Ac3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS0xLXN0ZGVyci50eHRV
VAUAAwyJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACGMjVJuunN1mkGAACCNQAAQwAYAAAA
AAAAAAAApIHlYQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0
ZS0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADDIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AIYyNUneRaBHdAYAABc1AAA7ABgAAAAAAAAAAACkgctoDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItc3RkZXJyLnR4dFVUBQADDIniV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAIYyNUlSDxqMIwYAAM84AABKABgAAAAAAAAAAACkgbRvDwBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLWZhaWx1cmVzLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADDIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIYyNUl/eekiZwYA
APc4AABCABgAAAAAAAAAAACkgVt2DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0
c3RvcmUtZGVsZXRlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAwyJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACHMjVJmx7pFucFAADaLgAARwAYAAAAAAAAAAAApIE+fQ8Ac3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAAw2J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACHMjVJq+GNpAIGAACyLgAAPwAY
AAAAAAAAAAAApIGmgw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdl
dC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMNieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
hzI1SexB7YkgBgAA1jgAAFEAGAAAAAAAAAAAAKSBIYoPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pZGJvYmplY3RzdG9yZS1wdXQtYW5kLWNsZWFyLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADDYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIcyNUlLqna8cwYAAP44AABJABgA
AAAAAAAAAACkgcyQDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtcHV0
LWFuZC1jbGVhci1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMNieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAhzI1SRWJ8Il+AwAAExEAAE8AGAAAAAAAAAAAAKSBwpcPAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAAw6J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACHMjVJ/g6XVg8EAADb
EwAARwAYAAAAAAAAAAAApIHJmw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5zYWN0
aW9uLW9iamVjdHN0b3JlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAw6J4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACHMjVJx7cgrm8BAAC/BAAARQAYAAAAAAAAAAAApIFZoA8Ac3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2lkYnZlcnNpb25jaGFuZ2VldmVudC1jb25zdHJ1Y3Rvci1zdGRlcnIu
dHh0VVQFAAMOieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiDI1SVPEwdoXCAAAfVYBADMA
GAAAAAAAAAAAAKSBR6IPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0xLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADD4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIgyNUnFBoY8CgkA
ACJpAQArABgAAAAAAAAAAACkgcuqDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMS1z
dGRlcnIudHh0VVQFAAMQieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiTI1SToP96W2CwAA
Xm4BADMAGAAAAAAAAAAAAKSBOrQPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0yLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADEYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIkyNUlx
SECkMgwAAPV4AQArABgAAAAAAAAAAACkgV3ADwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtMi1zdGRlcnIudHh0VVQFAAMSieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiTI1STqH
o9IjBgAASEsAADMAGAAAAAAAAAAAAKSB9MwPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRl
eC0zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADEoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AIkyNUmc9o0m1AYAABlQAAArABgAAAAAAAAAAACkgYTTDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaW5kZXgtMy1zdGRlcnIudHh0VVQFAAMSieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ijI1SUgTW2tcBgAAS4IAADMAGAAAAAAAAAAAAKSBvdoPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pbmRleC00LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADE4niV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAIoyNUkeybh0wgcAALSQAAArABgAAAAAAAAAAACkgYbhDwBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaW5kZXgtNC1zdGRlcnIudHh0VVQFAAMTieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAijI1SSzIOKKtBQAA7SMAADMAGAAAAAAAAAAAAKSBrekPAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pbmRleC01LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADE4niV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAIoyNUn0VBs9swUAABUhAAArABgAAAAAAAAAAACkgcfvDwBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNS1zdGRlcnIudHh0VVQFAAMTieJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAijI1SciDMXglBwAAXg0BADoAGAAAAAAAAAAAAKSB3/UPAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAxSJ4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACLMjVJeLY6QLUIAAAuFQEAMgAYAAAAAAAAAAAApIF4
/Q8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0xLXN0ZGVyci50eHRVVAUA
AxWJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACLMjVJsR7Ocs4HAACsKAEAOgAYAAAAAAAA
AAAApIGZBhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0yLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADFoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIwyNUlBKJkT2wgA
AIknAQAyABgAAAAAAAAAAACkgdsOEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vy
c29yLTItc3RkZXJyLnR4dFVUBQADF4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIwyNUmx
O6RxpAsAAA4SAgA6ABgAAAAAAAAAAACkgSIYEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtY3Vyc29yLTMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMYieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAjTI1SbryEjTkDgAAET8CADIAGAAAAAAAAAAAAKSBOiQQAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMy1zdGRlcnIudHh0VVQFAAMaieJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAjTI1SREh+jrjBQAAeiUAAEEAGAAAAAAAAAAAAKSBijMQAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtYmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAAMaieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjTI1SVQPiOJLBgAAdiQAADkAGAAA
AAAAAAAAAKSB6DkQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtYmFz
aWMtc3RkZXJyLnR4dFVUBQADGoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI0yNUkGjANB
bgYAACQ0AABEABgAAAAAAAAAAACkgaZAEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgt
Z2V0LWNvdW50LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADGoniV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAI4yNUn5b3B+JAcAAOg0AAA8ABgAAAAAAAAAAACkgZJHEABzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXN0ZGVyci50eHRVVAUA
AxuJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOMjVJaQAYVKAEAAC0IwAAOQAYAAAAAAAA
AAAApIEsTxAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2tleXBhdGgtYmFzaWMtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAMbieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjjI1SVscJjGwBAAA
mCMAADEAGAAAAAAAAAAAAKSBP1QQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9rZXlwYXRoLWJh
c2ljLXN0ZGVyci50eHRVVAUAAxuJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOMjVJ6Iu4
KQAFAAD5IQAAKgAYAAAAAAAAAAAApIFaWRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2xlYWst
MS1zdGRlcnIudHh0VVQFAAMcieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjjI1SXVSNVMf
CAAAgMoBAFUAGAAAAAAAAAAAAKSBvl4QAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9tZW1vcnkt
aW5kZXgtbm90LWRlbGV0ZWQtd2l0aC1vYmplY3RzdG9yZS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
AxyJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACPMjVJLj15Z1AIAADjuQEATQAYAAAAAAAA
AAAApIFsZxAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1pbmRleC1ub3QtZGVsZXRl
ZC13aXRoLW9iamVjdHN0b3JlLXN0ZGVyci50eHRVVAUAAx2J4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACPMjVJWg2/gZ4FAAAZJwAAQgAYAAAAAAAAAAAApIFDcBAAc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL25ldy1kYXRhYmFzZS1hZnRlci11c2VyLWRlbGV0ZS1zdGRlcnIudHh0VVQFAAMd
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjzI1SXz+FZqHBQAAey4AAEIAGAAAAAAAAAAA
AKSBXXYQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1hdHRyaWJ1dGVzLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADHoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI8yNUm6
j3rsWwUAABorAAA6ABgAAAAAAAAAAACkgWB8EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2Jq
ZWN0c3RvcmUtYXR0cmlidXRlcy1zdGRlcnIudHh0VVQFAAMeieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAjzI1SaRmZj9mBwAAyYoAAE8AGAAAAAAAAAAAAKSBL4IQAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9vYmplY3RzdG9yZS1jdXJzb3ItYWR2YW5jZS1mYWlsdXJlcy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAAx6J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACPMjVJzZ0MB5oHAAAq
jgAARwAYAAAAAAAAAAAApIEeihAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3Jl
LWN1cnNvci1hZHZhbmNlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAx6J4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACQMjVJA5kqNG0HAAAnjgAAUAAYAAAAAAAAAAAApIE5khAAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWN1cnNvci1jb250aW51ZS1mYWlsdXJlcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAAx+J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACQMjVJB8jP
O50HAABqkQAASAAYAAAAAAAAAAAApIEwmhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVj
dHN0b3JlLWN1cnNvci1jb250aW51ZS1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMfieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAkDI1SfbnmMNyBgAARzYAAD8AGAAAAAAAAAAAAKSBT6IQAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVuY3Vyc29yLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADH4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJAyNUnzb7uGxgYAAK42AAA3
ABgAAAAAAAAAAACkgTqpEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmN1cnNvci1mYWls
dXJlcy1zdGRlcnIudHh0VVQFAAMgieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkDI1Scav
G3mVAgAA8AkAAEYAGAAAAAAAAAAAAKSBcbAQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVu
ZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAyCJ4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACQMjVJzfVELOcCAABvCwAAPgAYAAAAAAAAAAAApIGGsxAAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1yZXF1ZXN0LWV2ZW50LXN0ZGVyci50
eHRVVAUAAyCJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACQMjVJXvSFf1YBAAC0BAAAQAAY
AAAAAAAAAAAApIHlthAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1yZXF1
ZXN0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADIIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJAyNUmWdLBpMgEAAGMGAAA4ABgAAAAAAAAAAACkgbW4EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vb3BlbmRhdGFiYXNlLXJlcXVlc3Qtc3RkZXJyLnR4dFVUBQADIIniV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJAyNUlOYihSDQQAAMYjAABUABgAAAAAAAAAAACkgVm6EABzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFiYXNlLXN1Y2Nlc3MtYWZ0ZXItdmVyc2lvbmNoYW5nZS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAAyCJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACQMjVJ
BM0LgEwEAAAkJAAATAAYAAAAAAAAAAAApIH0vhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29w
ZW5kYXRhYmFzZS1zdWNjZXNzLWFmdGVyLXZlcnNpb25jaGFuZ2Utc3RkZXJyLnR4dFVUBQADIIni
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJEyNUlrhT7cYwQAAJAsAABBABgAAAAAAAAAAACk
gcbDEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFiYXNlLXZlcnNpb25zLXByaXZh
dGUtc3RkZXJyLnR4dFVUBQADIYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJEyNUkVkWTC
bAQAAL4pAAA5ABgAAAAAAAAAAACkgaTIEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRh
dGFiYXNlLXZlcnNpb25zLXN0ZGVyci50eHRVVAUAAyGJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACRMjVJhb7EHLcEAAC2GwAAPgAYAAAAAAAAAAAApIGDzRAAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL3JlcXVlc3QtcmVhZHlzdGF0ZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAyGJ4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACRMjVJBi7eYNEEAACgGwAANgAYAAAAAAAAAAAApIGy0hAA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3JlcXVlc3QtcmVhZHlzdGF0ZS1zdGRlcnIudHh0VVQF
AAMhieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkTI1Sdl0AwUhBgAAODQAAEMAGAAAAAAA
AAAAAKSB89cQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXIt
MS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAyGJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACR
MjVJds35esYGAAAqQgAAQwAYAAAAAAAAAAAApIGR3hAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3RyYW5zYWN0aW9uLXNjaGVkdWxlci0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADIoniV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAJEyNUmIRrpZogYAAC1CAABDABgAAAAAAAAAAACkgdTlEABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTMtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAMiieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkTI1SebvSS1uBgAA
ZzsAADsAGAAAAAAAAAAAAKSB8+wQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlv
bi1zY2hlZHVsZXItMy1zdGRlcnIudHh0VVQFAAMiieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAkTI1SYngnS9CBgAAzmUAAEMAGAAAAAAAAAAAAKSB1vMQAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAyKJ4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACSMjVJljJax5YGAAAMbQAAOwAYAAAAAAAAAAAApIGV
+hAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci00LXN0ZGVy
ci50eHRVVAUAAyOJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACSMjVJiXZ58o8GAAAMTQAA
QwAYAAAAAAAAAAAApIGgAREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNj
aGVkdWxlci01LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADI4niV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAJIyNUmiO8S4mAYAAGpCAABDABgAAAAAAAAAAACkgawIEQBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTYtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMj
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkjI1SdyxGkcIBQAA1y4AAEsAGAAAAAAAAAAA
AKSBwQ8RAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbnMtc3RvcC1vbi1uYXZp
Z2F0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADJIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJIyNUnMBBqbuQYAAApkAABDABgAAAAAAAAAAACkgU4VEQBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vdHJhbnNhY3Rpb25zLXN0b3Atb24tbmF2aWdhdGlvbi1zdGRlcnIudHh0VVQFAAMkieJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkjI1SWquAkW/BAAAeTMAAEsAGAAAAAAAAAAAAKSB
hBwRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWFib3J0LXRoZW4tcmVv
cGVuLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADJIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJMyNUlCBTfKTgUAAJA8AABDABgAAAAAAAAAAACkgcghEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vdmVyc2lvbmNoYW5nZS1hYm9ydC10aGVuLXJlb3Blbi1zdGRlcnIudHh0VVQFAAMlieJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkzI1ScLxmnvsBAAA7CgAAD8AGAAAAAAAAAAAAKSBkycR
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWV2ZW50LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADJYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJMyNUmYPKV3MQUAANsp
AAA3ABgAAAAAAAAAAACkgfgsEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdmVyc2lvbmNoYW5n
ZS1ldmVudC1zdGRlcnIudHh0VVQFAAMlieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkzI1
SeMqXPQ9AQAAmwQAADQAGAAAAAAAAAAAAKSBmjIRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi93
b3JrZXJzLWRpc2FibGVkLXN0ZGVyci50eHRVVAUAAyWJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACmMjVJIz19w78GAADQYwAANAAYAAAAAAAAAAAApIFFNBEAc3RvcmFnZS9pbmRleGVkZGIv
bXV0YXRpbmctY3Vyc29yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADR4niV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAKYyNUntIytvzwYAAIthAAAsABgAAAAAAAAAAACkgXI7EQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3Itc3RkZXJyLnR4dFVUBQADR4niV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAKYyNUnqXeyJMgQAANUVAABEABgAAAAAAAAAAACkgadCEQBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3QtbG9va3Vwcy1pbi12ZXJzaW9uY2hhbmdlLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADR4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKYyNUm0ZJGUTAQAAPYWAAA8ABgA
AAAAAAAAAACkgVdHEQBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3QtbG9va3Vwcy1pbi12ZXJzaW9u
Y2hhbmdlLXN0ZGVyci50eHRVVAUAA0eJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACmMjVJ
bn2rl38HAACOawAAPgAYAAAAAAAAAAAApIEZTBEAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYXV0b2luY3JlbWVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0iJ4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACnMjVJRp7VRlYHAAC8ZgAANgAYAAAAAAAAAAAApIEQVBEAc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC1zdGRlcnIudHh0VVQFAANJieJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApzI1SW/e5upyCQAA/YwAADcAGAAAAAAAAAAAAKSB1lsR
AHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1wcml2YXRlLXN0ZGVyci50eHRV
VAUAA0mJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACoMjVJtyb7zgUKAAAckgAALwAYAAAA
AAAAAAAApIG5ZREAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXN0ZGVyci50
eHRVVAUAA0uJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACnMjVJnn1mm4gKAADajwAANwAY
AAAAAAAAAAAApIEncBEAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtl
cnMtc3RkZXJyLnR4dFVUBQADSoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKgyNUmNHwM1
DgcAAJ43AAA2ABgAAAAAAAAAAACkgSB7EQBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1j
bGVhci1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0yJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACoMjVJ3pFbDEMHAABXNgAALgAYAAAAAAAAAAAApIGeghEAc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY2xlYXItc3RkZXJyLnR4dFVUBQADTIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAKkyNUnBOY6ZvwgAAHF6AQA2ABgAAAAAAAAAAACkgUmKEQBzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jb3VudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA02J4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACpMjVJa897pXcJAAC3pAEALgAYAAAAAAAAAAAApIF4kxEAc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtY291bnQtc3RkZXJyLnR4dFVUBQADToniV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAK0yNUkGB2Eq+A0AAAOsBQA3ABgAAAAAAAAAAACkgVedEQBzdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANVieJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArzI1SZ0i5R7xDQAALUYFAC8AGAAAAAAAAAAAAKSB
wKsRAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci1zdGRlcnIudHh0VVQFAANa
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsDI1SVqMMXr1BgAApUcAAEIAGAAAAAAAAAAA
AKSBGroRAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADW4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALAyNUnj
Q31dZwcAAIBHAAA6ABgAAAAAAAAAAACkgYvBEQBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1yZW1vdmVvYmplY3RzdG9yZS1zdGRlcnIudHh0VVQFAANbieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgApjI1SanQ6as8AwAA9g4AAEMAGAAAAAAAAAAAAKSBZskRAHN0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A0iJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACmMjVJupqDlKIDAAAwEQAAOwAYAAAAAAAA
AAAApIEfzREAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRz
LXN0ZGVyci50eHRVVAUAA0iJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACwMjVJYHeJoosI
AADP8AAAMAAYAAAAAAAAAAAApIE20REAc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAANbieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsTI1Sbjb
xhAzBAAAkTAAADYAGAAAAAAAAAAAAKSBK9oRAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tYmFkLXZl
cnNpb25zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADXYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALEyNUkkBiBevwMAAE0gAAAuABgAAAAAAAAAAACkgc7eEQBzdG9yYWdlL2luZGV4ZWRkYi9v
cGVuLWJhZC12ZXJzaW9ucy1zdGRlcnIudHh0VVQFAANeieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAsTI1SdFYOUCZBAAABh8AADAAGAAAAAAAAAAAAKSB9eIRAHN0b3JhZ2UvaW5kZXhlZGRi
L29wZW4tY3Vyc29yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADXoniV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALEyNUkpSUaZSQUAABYiAAAoABgAAAAAAAAAAACkgfjnEQBzdG9yYWdlL2luZGV4
ZWRkYi9vcGVuLWN1cnNvci1zdGRlcnIudHh0VVQFAANeieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAsjI1Sc9FZTQhBgAAGjoAADwAGAAAAAAAAAAAAKSBo+0RAHN0b3JhZ2UvaW5kZXhlZGRi
L29wZW4tZHVyaW5nLXRyYW5zYWN0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADX4niV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIALIyNUlUOVUU9AUAAAM8AAA0ABgAAAAAAAAAAACkgTr0EQBz
dG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1zdGRlcnIudHh0VVQFAANf
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsjI1SeO0bEPTBAAAJjUAADIAGAAAAAAAAAAA
AKSBnPoRAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tb3JkZXJpbmctcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAANfieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsjI1SSdIsG3/BAAAWTYAACoAGAAA
AAAAAAAAAKSB2/8RAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tb3JkZXJpbmctc3RkZXJyLnR4dFVU
BQADX4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALIyNUn2/qiJzQMAAGYfAAAvABgAAAAA
AAAAAACkgT4FEgBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLXR3aWNlLXdvcmtlcnMtc3RkZXJyLnR4
dFVUBQADYIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALIyNUkEHroPowcAAKmJAAAzABgA
AAAAAAAAAACkgXQJEgBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuY3Vyc29yLWtleS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA2CJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyMjVJGSYsWL8HAACW
kwAAKwAYAAAAAAAAAAAApIGEERIAc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1rZXktc3Rk
ZXJyLnR4dFVUBQADYIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALMyNUkuA+M1VwkAAIfn
AAA3ABgAAAAAAAAAAACkgagZEgBzdG9yYWdlL2luZGV4ZWRkYi9vcHRpb25hbC1hcmd1bWVudHMt
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAANhieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAszI1
SSTkIjSpCQAAfeIAAC8AGAAAAAAAAAAAAKSBcCMSAHN0b3JhZ2UvaW5kZXhlZGRiL29wdGlvbmFs
LWFyZ3VtZW50cy1zdGRlcnIudHh0VVQFAANiieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
tDI1SZRjmLJ+BgAAYToAADUAGAAAAAAAAAAAAKSBgi0SAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRp
bmctYWN0aXZpdHktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANkieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAtjI1SXvfS1XmBgAAjjwAAC0AGAAAAAAAAAAAAKSBbzQSAHN0b3JhZ2UvaW5kZXhl
ZGRiL3BlbmRpbmctYWN0aXZpdHktc3RkZXJyLnR4dFVUBQADaIniV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALUyNUlJ3+FgOgcAAAU9AAA1ABgAAAAAAAAAAACkgbw7EgBzdG9yYWdlL2luZGV4
ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtc3RkZXJyLnR4dFVUBQADZoniV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALYyNUkGQ9JyqQQAAP8dAABDABgAAAAAAAAAAACkgWVDEgBzdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4aXQtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANoieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtzI1Sau5RC6SBAAA6xoA
ADsAGAAAAAAAAAAAAKSBi0gSAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFu
Z2Utb24tZXhpdC1zdGRlcnIudHh0VVQFAANpieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
tzI1Scchl14lBAAAnxoAAEEAGAAAAAAAAAAAAKSBkk0SAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRp
bmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANpieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAtzI1SY1tmPxZBAAAeh4AADkAGAAAAAAAAAAAAKSBMlISAHN0
b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stc3RkZXJyLnR4dFVU
BQADaoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALcyNUkG3FT2ngQAAGQgAABWABgAAAAA
AAAAAACkgf5WEgBzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNr
LXdvcmtzLXdpdGgtdGVybWluYXRlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADaoniV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALcyNUkwjRijzAQAANIiAABOABgAAAAAAAAAAACkgSxcEgBzdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVy
bWluYXRlLXN0ZGVyci50eHRVVAUAA2qJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4MjVJ
E3to6gMGAAAGYAAAMAAYAAAAAAAAAAAApIGAYRIAc3RvcmFnZS9pbmRleGVkZGIvcGVyc2lzdGVu
Y2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANrieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
uDI1SYYUsmsCBgAAq18AACgAGAAAAAAAAAAAAKSB7WcSAHN0b3JhZ2UvaW5kZXhlZGRiL3BlcnNp
c3RlbmNlLXN0ZGVyci50eHRVVAUAA2uJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4MjVJ
Ix8G+IYHAACYZgAAOwAYAAAAAAAAAAAApIFRbhIAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gt
YnVnZml4LTEwODA3MS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA2uJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC4MjVJowLCZaUHAACiZAAAMwAYAAAAAAAAAAAApIFMdhIAc3RvcmFnZS9pbmRl
eGVkZGIvcHJlZmV0Y2gtYnVnZml4LTEwODA3MS1zdGRlcnIudHh0VVQFAANsieJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAuTI1Sd0qyWxeEgAAjuUGADoAGAAAAAAAAAAAAKSBXn4SAHN0b3Jh
Z2UvaW5kZXhlZGRiL3ByZWZldGNoLWludmFsaWRhdGlvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A22J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC6MjVJaCFnRrAUAABZagcAMgAYAAAAAAAA
AAAApIEwkRIAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtaW52YWxpZGF0aW9uLXN0ZGVyci50
eHRVVAUAA2+J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC6MjVJtiWZoKgGAAD4VQAAMgAY
AAAAAAAAAAAApIFMphIAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtcmFjZS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA3CJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC6MjVJ0ukOT5UGAAC2
UwAAKgAYAAAAAAAAAAAApIFgrRIAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtcmFjZS1zdGRl
cnIudHh0VVQFAANwieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAujI1SZQ2hwQBBgAA4D8A
AEYAGAAAAAAAAAAAAKSBWbQSAHN0b3JhZ2UvaW5kZXhlZGRiL3ByaW1hcnkta2V5LXVuaXF1ZS10
by1vYmplY3RzdG9yZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3CJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC6MjVJYPg8R0UGAABVSAAAPgAYAAAAAAAAAAAApIHauhIAc3RvcmFnZS9pbmRl
eGVkZGIvcHJpbWFyeS1rZXktdW5pcXVlLXRvLW9iamVjdHN0b3JlLXN0ZGVyci50eHRVVAUAA3CJ
4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC6MjVJ7qLoP8cEAABvHgAANAAYAAAAAAAAAAAA
pIGXwRIAc3RvcmFnZS9pbmRleGVkZGIvcXVldWVkLWNvbW1hbmRzLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADcIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALoyNUnlmpzNfwUAADQiAAAsABgA
AAAAAAAAAACkgczGEgBzdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMtc3RkZXJyLnR4
dFVUBQADcIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALsyNUmniPUIeQUAACwgAAAtABgA
AAAAAAAAAACkgbHMEgBzdG9yYWdlL2luZGV4ZWRkYi9yZWFkb25seS1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA3GJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7MjVJXBc5PTUDAADrDgAAOAAY
AAAAAAAAAAAApIGR0hIAc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHktcHJvcGVydGllcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA3GJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7MjVJhNKQ
r6ADAAAwEQAAMAAYAAAAAAAAAAAApIE41hIAc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHktcHJv
cGVydGllcy1zdGRlcnIudHh0VVQFAANxieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuzI1
SUS/bnq5BQAAdyAAACUAGAAAAAAAAAAAAKSBQtoSAHN0b3JhZ2UvaW5kZXhlZGRiL3JlYWRvbmx5
LXN0ZGVyci50eHRVVAUAA3GJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7MjVJYN82sE4G
AAA3LAAAOwAYAAAAAAAAAAAApIFa4BIAc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1jb250aW51
ZS1hYm9ydC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3GJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC7MjVJYEhU6E0GAABKKgAAMwAYAAAAAAAAAAAApIEd5xIAc3RvcmFnZS9pbmRleGVkZGIv
cmVxdWVzdC1jb250aW51ZS1hYm9ydC1zdGRlcnIudHh0VVQFAANxieJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAuzI1SVNYCv4KBgAApz8AAD4AGAAAAAAAAAAAAKSB1+0SAHN0b3JhZ2UvaW5k
ZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANy
ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuzI1SQQSo38aBgAADz8AADYAGAAAAAAAAAAA
AKSBWfQSAHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24tc3RkZXJy
LnR4dFVUBQADconiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALsyNUnQtoyb7wUAAAkpAAA5
ABgAAAAAAAAAAACkgeP6EgBzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LXJlc3VsdC1jYWNoZS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA3KJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7MjVJ
01PGkBEGAADXKAAAMQAYAAAAAAAAAAAApIFFARMAc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1y
ZXN1bHQtY2FjaGUtc3RkZXJyLnR4dFVUBQADconiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALsyNUlcP8DMrAQAACsgAAA4ABgAAAAAAAAAAACkgcEHEwBzdG9yYWdlL2luZGV4ZWRkYi9zZXRf
dmVyc2lvbl9ibG9ja2VkLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADconiV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALwyNUlEbsK/EgUAAPgiAAAwABgAAAAAAAAAAACkgd8MEwBzdG9yYWdlL2lu
ZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLXN0ZGVyci50eHRVVAUAA3OJ4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC8MjVJAAa8WIAEAACJJwAATgAYAAAAAAAAAAAApIFbEhMAc3RvcmFn
ZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja2VkLWJ5LXZlcnNpb25jaGFuZ2UtY2xvc2UtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAANzieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvDI1SauQ
hW9kBAAAzicAAEYAGAAAAAAAAAAAAKSBYxcTAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24t
YmxvY2tlZC1ieS12ZXJzaW9uY2hhbmdlLWNsb3NlLXN0ZGVyci50eHRVVAUAA3OJ4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC8MjVJkCfih40EAAAHJQAAOwAYAAAAAAAAAAAApIFHHBMAc3Rv
cmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ub3QtYmxvY2tlZC1wcml2YXRlLXN0ZGVyci50eHRV
VAUAA3OJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC8MjVJi/quP7UEAACKJQAAMwAYAAAA
AAAAAAAApIFJIRMAc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ub3QtYmxvY2tlZC1zdGRl
cnIudHh0VVQFAANzieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvTI1SZaBAubcDgAACGME
ADUAGAAAAAAAAAAAAKSBayYTAHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAN1ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwDI1SSoB
qGxRDgAAWWgEAC0AGAAAAAAAAAAAAKSBtjUTAHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQt
Y2xvbmUtc3RkZXJyLnR4dFVUBQADd4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMAyNUlI
i9hxxwUAADolAAAuABgAAAAAAAAAAACkgW5EEwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hYm9ydC1zdGRlcnIudHh0VVQFAAN3ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwDI1
SdxXyxXSCQAAetQAADwAGAAAAAAAAAAAAKSBnUoTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWFjdGl2ZS1mbGFnLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADd4niV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMAyNUlWLCCffwoAAE3jAAA0ABgAAAAAAAAAAACkgeVUEwBzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy1zdGRlcnIudHh0VVQFAAN4ieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAwDI1SeyLwO/EBQAApDkAADwAGAAAAAAAAAAAAKSB0l8TAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADeIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMAyNUnm6IowwgUAAEM5AAA0ABgA
AAAAAAAAAACkgQxmEwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1z
dGRlcnIudHh0VVQFAAN4ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwTI1SX5SmlHlBgAA
cXAAAEYAGAAAAAAAAAAAAKSBPGwTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1v
YmplY3RzdG9yZS1jYWxscy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3mJ4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADBMjVJ0A5xPusGAABfewAAPgAYAAAAAAAAAAAApIGhcxMAc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLXN0ZGVyci50eHRVVAUA
A3mJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBMjVJNJDewTsIAABkoAAANwAYAAAAAAAA
AAAApIEEexMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADeYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMEyNUm3CEhznQgAAEyo
AAAvABgAAAAAAAAAAACkgbCDEwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3Mt
c3RkZXJyLnR4dFVUBQADeoniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMEyNUlKryin/AQA
AIEoAABXABgAAAAAAAAAAACkgbaMEwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21w
bGV0ZS13aXRoLWpzLXJlY3Vyc2lvbi1jcm9zcy1mcmFtZS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A3qJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBMjVJFSFXWoUFAAAaKAAATwAYAAAAAAAA
AAAApIFDkhMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1y
ZWN1cnNpb24tY3Jvc3MtZnJhbWUtc3RkZXJyLnR4dFVUBQADeoniV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAMEyNUkdgDCnSgUAAD0nAABLABgAAAAAAAAAAACkgVGYEwBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13aXRoLWpzLXJlY3Vyc2lvbi1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA3qJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADCMjVJzvYLmpAFAAAaKAAA
QwAYAAAAAAAAAAAApIEgnhMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUt
d2l0aC1qcy1yZWN1cnNpb24tc3RkZXJyLnR4dFVUBQADe4niV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMIyNUlUaL6pKAYAAMxQAABBABgAAAAAAAAAAACkgS2kEwBzdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADe4ni
V3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMIyNUmirZU3zwUAAIhNAAA5ABgAAAAAAAAAAACk
gdCqEwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLXN0ZGVy
ci50eHRVVAUAA3uJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADCMjVJAFZpz04GAAD+TAAA
TgAYAAAAAAAAAAAApIESsRMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29vcmRpbmF0
aW9uLWFjcm9zcy1kYXRhYmFzZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN7ieJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAwjI1SYdPxWlNBgAAaE0AAEYAGAAAAAAAAAAAAKSB6LcTAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jvc3MtZGF0YWJhc2VzLXN0
ZGVyci50eHRVVAUAA3yJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADCMjVJgVlRISAGAADc
NQAATQAYAAAAAAAAAAAApIG1vhMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29vcmRp
bmF0aW9uLXdpdGhpbi1kYXRhYmFzZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3yJ4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADCMjVJV0aTKAgBAAAlAwAAPwAYAAAAAAAAAAAApIFcxRMAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtaW4tdGFza3MtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAN8ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwjI1SSgEaeosAQAAMwQAADcA
GAAAAAAAAAAAAKSB3cYTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLWluLXRh
c2tzLXN0ZGVyci50eHRVVAUAA3yJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADCMjVJiyTz
IFkEAADjFwAAPwAYAAAAAAAAAAAApIF6yBMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
Y3Jhc2gtb24tYWJvcnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN8ieJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAwzI1SYDQcPp6BAAAIBgAADcAGAAAAAAAAAAAAKSBTM0TAHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LXN0ZGVyci50eHRVVAUAA32J4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADDMjVJxLB0RC4HAABrXgAANgAYAAAAAAAAAAAApIE30hMA
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXJyb3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAN9ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwzI1ScbhDoF5BwAAsVwAAC4AGAAAAAAA
AAAAAKSB1dkTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLXN0ZGVyci50eHRV
VAUAA32J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDMjVJ9zU1Hv4FAABdNAAAQgAYAAAA
AAAAAAAApIG24RMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRp
b24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN9ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
wzI1SVhzuGrvBQAACDMAADoAGAAAAAAAAAAAAKSBMOgTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLXN0ZGVyci50eHRVVAUAA36J4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADDMjVJUxBML28FAAA2LwAAOQAYAAAAAAAAAAAApIGT7hMAc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tb3JkZXJpbmctcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN+ieJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwzI1SZ+wh0maBQAA8i4AADEAGAAAAAAAAAAAAKSB
dfQTAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW9yZGVyaW5nLXN0ZGVyci50eHRVVAUA
A36J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADDMjVJf3hQ3RgGAACcMwAAPAAYAAAAAAAA
AAAApIF6+hMAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tb3ZlcmxhcHBpbmctcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAN+ieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwzI1SThYVKlY
BgAAvUoAADQAGAAAAAAAAAAAAKSBCAEUAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW92
ZXJsYXBwaW5nLXN0ZGVyci50eHRVVAUAA36J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADD
MjVJbr7RARUGAAAHMwAAOgAYAAAAAAAAAAAApIHOBxQAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tcmVhZC1vbmx5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADfoniV3V4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMQyNUmmT+uohQYAAA05AAAyABgAAAAAAAAAAACkgVcOFABzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHktc3RkZXJyLnR4dFVUBQADf4niV3V4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMQyNUmW4QYHCgYAADlCAABEABgAAAAAAAAAAACkgUgVFABzdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3JpdGUtZXhjbHVzaXZlLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADf4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMQyNUnUCq5xHQYAAJNC
AAA8ABgAAAAAAAAAAACkgdAbFABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3Jp
dGUtZXhjbHVzaXZlLXN0ZGVyci50eHRVVAUAA3+J4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADEMjVJ010yQ2gGAAC7MAAAOQAYAAAAAAAAAAAApIFjIhQAc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tcm9sbGJhY2stcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN/ieJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAxDI1SdUZJP+vBgAAtDAAADEAGAAAAAAAAAAAAKSBPikUAHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLXN0ZGVyci50eHRVVAUAA3+J4ld1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADEMjVJ7PKReQEGAADfRAAAQQAYAAAAAAAAAAAApIFYMBQAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2VxdWVuY2luZy1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA4CJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADEMjVJaQUaTdoFAAD9PwAA
OQAYAAAAAAAAAAAApIHUNhQAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2Vx
dWVuY2luZy1zdGRlcnIudHh0VVQFAAOAieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxDI1
SXmlN0P9AgAAlQ0AAEQAGAAAAAAAAAAAAKSBIT0UAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOAieJXdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAxDI1SSO0WFV9AwAAIRAAADwAGAAAAAAAAAAAAKSBnEAUAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQtc3RkZXJyLnR4
dFVUBQADgIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMQyNUnyYyH1pQQAAOsgAAA+ABgA
AAAAAAAAAACkgY9EFABzdG9yYWdlL2luZGV4ZWRkYi91bmJsb2NrZWQtdmVyc2lvbi1jaGFuZ2Vz
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADgIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMQy
NUlTiWCmqAQAAD4hAAA2ABgAAAAAAAAAAACkgaxJFABzdG9yYWdlL2luZGV4ZWRkYi91bmJsb2Nr
ZWQtdmVyc2lvbi1jaGFuZ2VzLXN0ZGVyci50eHRVVAUAA4CJ4ld1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADEMjVJW/vqQA8BAADBAwAALQAYAAAAAAAAAAAApIHEThQAc3RvcmFnZS9pbmRleGVk
ZGIvdW5wcmVmaXgtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOAieJXdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAxTI1SdddviJ3BAAAFxcAADQAGAAAAAAAAAAAAKSBOlAUAHN0b3JhZ2UvaW5kZXhl
ZGRiL3ZhbHVlLXVuZGVmaW5lZC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4GJ4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADFMjVJ4TbNhmoFAACGHAAALAAYAAAAAAAAAAAApIEfVRQAc3RvcmFn
ZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLXN0ZGVyci50eHRVVAUAA4GJ4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADFMjVJT3tkiD8FAADrLQAANQAYAAAAAAAAAAAApIHvWhQAc3RvcmFn
ZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4GJ4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADFMjVJ566QhroFAACsLwAALQAYAAAAAAAAAAAApIGd
YBQAc3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy1zdGRlcnIudHh0VVQFAAOBieJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxTI1SWaXJ8GGBQAA7CwAADkAGAAAAAAAAAAAAKSB
vmYUAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0LXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADgYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMUyNUmfsr2PagUAAMgsAAAx
ABgAAAAAAAAAAACkgbdsFABzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1z
dGRlcnIudHh0VVQFAAOBieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxTI1SQ7hg4njAgAA
ABoAAD8AGAAAAAAAAAAAAKSBjHIUAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2
ZW50LWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADgYniV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMUyNUlPG8Vo6QMAADEoAAA3ABgAAAAAAAAAAACkgeh1FABzdG9yYWdlL2luZGV4ZWRk
Yi92ZXJzaW9uLWNoYW5nZS1ldmVudC1iYXNpYy1zdGRlcnIudHh0VVQFAAOCieJXdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAxTI1SciTnYx1BQAAJC8AADkAGAAAAAAAAAAAAKSBQnoUAHN0b3Jh
Z2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
goniV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMUyNUmOUsLMEgUAAEsoAAAxABgAAAAAAAAA
AACkgSqAFABzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1ldmVudC1zdGRlcnIudHh0
VVQFAAOCieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxTI1SXUMZoAwBQAAkTgAAD0AGAAA
AAAAAAAAAKSBp4UUAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA4KJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADFMjVJ
stGE1j0FAAAZOgAANQAYAAAAAAAAAAAApIFOixQAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1j
aGFuZ2UtZXhjbHVzaXZlLXN0ZGVyci50eHRVVAUAA4KJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADGMjVJ0rHv7KQDAAB5EwAASQAYAAAAAAAAAAAApIH6kBQAc3RvcmFnZS9pbmRleGVkZGIv
dmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADg4niV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMYyNUm9RiZt4AMAAAMUAABBABgAAAAA
AAAAAACkgSGVFABzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVk
b21vYmplY3Qtc3RkZXJyLnR4dFVUBQADhIniV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHoy
NUkAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQXyZFABzdG9yYWdlL3dlYnNxbC9VVAUAA/eI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB0MjVJKNl5NrAAAADuAAAALQAYAAAAAAABAAAApIHF
mRQAc3RvcmFnZS93ZWJzcWwvYWx0ZXItdG8taW5mby10YWJsZS1zdGRlcnIudHh0VVQFAAPriOJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdDI1SSjZeTawAAAA7gAAADUAGAAAAAAAAQAAAKSB
3JoUAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1zdGRlcnIudHh0
VVQFAAPriOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdDI1SSjZeTawAAAA7gAAAEYAGAAA
AAAAAQAAAKSB+5sUAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXBy
ZWZsaWdodC1mYWlsdXJlLXN0ZGVyci50eHRVVAUAA+uI4ld1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAB0MjVJx++ozroAAAC4AwAAKAAYAAAAAAABAAAApIErnRQAc3RvcmFnZS93ZWJzcWwvY2hh
bmdlLXZlcnNpb24tc3RkZXJyLnR4dFVUBQAD7IjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AHQyNUko2Xk2sAAAAO4AAAAyABgAAAAAAAEAAACkgUeeFABzdG9yYWdlL3dlYnNxbC9jbG9zZS1k
dXJpbmctc3RyZXNzLXRlc3Qtc3RkZXJyLnR4dFVUBQAD7IjiV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAHQyNUmG32d/tgAAANwBAAA0ABgAAAAAAAEAAACkgWOfFABzdG9yYWdlL3dlYnNxbC9k
YXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1zdGRlcnIudHh0VVQFAAPsiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAdTI1SSjZeTawAAAA7gAAACkAGAAAAAAAAQAAAKSBh6AUAHN0b3JhZ2Uv
d2Vic3FsL2VtcHR5LXN0YXRlbWVudC1zdGRlcnIudHh0VVQFAAPtiOJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAdTI1SSjZeTawAAAA7gAAACoAGAAAAAAAAQAAAKSBmqEUAHN0b3JhZ2Uvd2Vi
c3FsL2V4ZWN1dGUtc3FsLWFyZ3Mtc3RkZXJyLnR4dFVUBQAD7YjiV3V4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHUyNUko2Xk2sAAAAO4AAAAyABgAAAAAAAEAAACkga6iFABzdG9yYWdlL3dlYnNx
bC9leGVjdXRlLXNxbC1yb3dzQWZmZWN0ZWQtc3RkZXJyLnR4dFVUBQAD7YjiV3V4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAHUyNUko2Xk2sAAAAO4AAAA/ABgAAAAAAAEAAACkgcqjFABzdG9yYWdl
L3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LXN0ZGVyci50eHRV
VAUAA+2I4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2MjVJKNl5NrAAAADuAAAALgAYAAAA
AAABAAAApIHzpBQAc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHItc3RkZXJyLnR4
dFVUBQAD74jiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHYyNUmG32d/tgAAANwBAAA/ABgA
AAAAAAEAAACkgQumFABzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1j
b2xsZWN0aW9uLXN0ZGVyci50eHRVVAUAA/CI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2
MjVJROpW1rkAAADKAgAARAAYAAAAAAABAAAApIE6pxQAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLXN0ZGVyci50eHRVVAUAA/CI4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAB2MjVJKNl5NrAAAADuAAAALwAYAAAAAAABAAAApIFxqBQA
c3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLXN0ZGVyci50eHRVVAUAA/CI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2MjVJKNl5NrAAAADuAAAAKAAYAAAAAAABAAAApIGK
qRQAc3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3Mtc3RkZXJyLnR4dFVUBQAD8IjiV3V4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAHYyNUmG32d/tgAAANwBAABIABgAAAAAAAEAAACkgZyqFABz
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLXN0ZGVyci50eHRVVAUAA/CI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB3MjVJx++o
zroAAAC4AwAAOQAYAAAAAAABAAAApIHUqxQAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1j
cmVhdGlvbi1jYWxsYmFjay1zdGRlcnIudHh0VVQFAAPxiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAdzI1SSjZeTawAAAA7gAAADUAGAAAAAAAAQAAAKSBAa0UAHN0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1zdGRlcnIudHh0VVQFAAPxiOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAdzI1SSjZeTawAAAA7gAAADQAGAAAAAAAAQAAAKSBIK4UAHN0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2UtZXhwYW5kLXF1b3RhLXN0ZGVyci50eHRVVAUAA/GI4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAB3MjVJht9nf7YAAADcAQAAOQAYAAAAAAABAAAApIE+rxQA
c3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1zdGRlcnIudHh0
VVQFAAPxiOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdzI1SYbfZ3+2AAAA3AEAAEUAGAAA
AAAAAQAAAKSBZ7AUAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rp
b24taW4tcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQAD8ojiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAHcyNUko2Xk2sAAAAO4AAAA5ABgAAAAAAAEAAACkgZyxFABzdG9yYWdlL3dlYnNxbC9wcml2
YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLXN0ZGVyci50eHRVVAUAA/KI4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB3MjVJROpW1rkAAADKAgAARwAYAAAAAAABAAAApIG/shQAc3RvcmFn
ZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLXN0
ZGVyci50eHRVVAUAA/KI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4MjVJht9nf7YAAADc
AQAAQAAYAAAAAAABAAAApIH5sxQAc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVu
bmluZy1jb25jdXJyZW50bHktc3RkZXJyLnR4dFVUBQAD84jiV3V4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAHgyNUko2Xk2sAAAAO4AAAAoABgAAAAAAAEAAACkgSm1FABzdG9yYWdlL3dlYnNxbC9z
cWwtZGF0YS10eXBlcy1zdGRlcnIudHh0VVQFAAPziOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAeDI1SYbfZ3+2AAAA3AEAAEEAGAAAAAAAAQAAAKSBO7YUAHN0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAPziOJXdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeDI1SSjZeTawAAAA7gAAADIAGAAAAAAAAQAAAKSBbLcU
AHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1zdGRlcnIudHh0VVQFAAPz
iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeDI1SYbfZ3+2AAAA3AEAAEMAGAAAAAAAAQAA
AKSBiLgUAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLXN0ZGVyci50eHRVVAUAA/SI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4MjVJ
KNl5NrAAAADuAAAAKgAYAAAAAAABAAAApIG7uRQAc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxs
YmFjay1zdGRlcnIudHh0VVQFAAP0iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeDI1SSjZ
eTawAAAA7gAAAEMAGAAAAAAAAQAAAKSBz7oUAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJh
Y2std2hlbi1wYWdlLWRlZmVycy1sb2FkaW5nLXN0ZGVyci50eHRVVAUAA/SI4ld1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB5MjVJKNl5NrAAAADuAAAAKQAYAAAAAAABAAAApIH8uxQAc3RvcmFn
ZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLXN0ZGVyci50eHRVVAUAA/WI4ld1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAB5MjVJKNl5NrAAAADuAAAAPgAYAAAAAAABAAAApIEPvRQAc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLXN0ZGVyci50eHRVVAUA
A/WI4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5MjVJht9nf7YAAADcAQAAPQAYAAAAAAAB
AAAApIE3vhQAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtc3RkZXJyLnR4dFVUBQAD9YjiV3V4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHkyNUmG32d/
tgAAANwBAABDABgAAAAAAAEAAACkgWS/FABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAP2iOJXdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAeTI1SSjZeTawAAAA7gAAADQAGAAAAAAAAQAAAKSBl8AUAHN0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLXN0ZGVyci50eHRVVAUAA/aI4ld1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAB6MjVJKNl5NrAAAADuAAAALwAYAAAAAAABAAAApIG1wRQA
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tcHJvdG90eXBlLXN0ZGVyci50eHRVVAUAA/eI4ld1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6MjVJht9nf7YAAADcAQAARQAYAAAAAAABAAAApIHO
whQAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1zdGRlcnIudHh0VVQFAAP3iOJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAyTI1SQAA
AAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1BA8QUAHN2Zy9VVAUAA4qJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADJMjVJAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UFBxBQAc3ZnL2N1c3RvbS9V
VAUAA4qJ4ld1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADJMjVJ0jH2CX4AAACNAAAAJAAYAAAA
AAABAAAApIGGxBQAc3ZnL2N1c3RvbS96ZXJvLWRhc2hhcnJheS1zdGRlcnIudHh0VVQFAAOKieJX
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjzI1SQAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1B
YsUUAHN2Zy9zdHJva2UvVVQFAAMeieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjzI1SeH+
nBl+AAAAjQAAACUAGAAAAAAAAQAAAKSBp8UUAHN2Zy9zdHJva2UvemVyby13aWR0aC1oYW5nLXN0
ZGVyci50eHRVVAUAAx6J4ld1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADNMjVJAAAAAAAAAAAA
AAAABgAYAAAAAAAAABAA7UGExhQAd2ViZ2wvVVQFAAORieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAzTI1SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BxMYUAHdlYmdsLzEuMC4yL1VUBQAD
kYniV3V4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAM0yNUkAAAAAAAAAAAAAAAAYABgAAAAAAAAA
EADtQQrHFAB3ZWJnbC8xLjAuMi9jb25mb3JtYW5jZS9VVAUAA5GJ4ld1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADNMjVJAAAAAAAAAAAAAAAAIQAYAAAAAAAAABAA7UFcxxQAd2ViZ2wvMS4wLjIv
Y29uZm9ybWFuY2UvdGV4dHVyZXMvVVQFAAORieJXdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
zTI1SbMahgd2AAAAdAEAADgAGAAAAAAAAQAAAKSBt8cUAHdlYmdsLzEuMC4yL2NvbmZvcm1hbmNl
L3RleHR1cmVzL3RleHR1cmUtbnBvdC1zdGRlcnIudHh0VVQFAAORieJXdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAIzM1SRlyE0n6AgAA5hcAABkAGAAAAAAAAQAAAKSBn8gUAHdwdHdrX3Byb2Nl
c3NfbG9nLm91dC50eHRVVAUAAzKK4ld1eAsAAQT1AQAABBQAAABQSwUGAAAAAK4CrgLVWAEA7MsU
AAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289488</attachid>
            <date>2016-09-21 16:32:35 -0700</date>
            <delta_ts>2016-09-21 16:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161409-20160921192945.patch</filename>
            <type>text/plain</type>
            <size>168289</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
MTZjNDRiMzVlNGNkOTNlZDNhNWEyMjE3OWJkYWY2NDRmMGY0ZGYwLi4yZDQ3Y2Y5YzA0ODQxMmE5
MDBkYjBmYTIyMGQwOGZmOWRmMTA1YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzcgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZXMgZnJvbnRlbmQgcGFyc2luZyBmb3IgdGhlIGFzeW5jIGZ1bmN0aW9uIHByb3Bvc2FsIHNvb24g
dG8gYmUKKyAgICAgICAgcmF0aWZpZWQgaW4gRUNNQTI2MiAoaHR0cHM6Ly90YzM5LmdpdGh1Yi5p
by9lY21hc2NyaXB0LWFzeW5jYXdhaXQvKS4KKworICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKToKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24pOgorICAgICAgICAqIHBhcnNlci9BU1RC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmlzQXJyb3dGdW5jdGlvblBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0
aW9uU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnRMaXN0SXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46Om1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydENsYXVzZUl0ZW0p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9k
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJl
ckV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVVuYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
cmludFVuZXhwZWN0ZWRUb2tlblRleHQpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJj
ZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlND
OjpTY29wZTo6aXNNb2R1bGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93
RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlND
OjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVy
cm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpw
cm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhw
cmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3Ip
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwdXNoU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lkZW50aWZpZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbik6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZVBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgor
ICAgICAgICAoSlNDOjpvbmVPZlNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1
bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6
aXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc1Byb2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9y
UGFyc2VNb2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICog
cGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3Jl
YXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVGdW5jdGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaDoKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoK
KyAgICAgICAgKEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rp
b25FeGVjdXRhYmxlKToKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld01ldGhvZERl
ZmluaXRpb24pOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAg
ICAgICAoSlNDOjpBd2FpdEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIHBhcnNl
ci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUF3YWl0KToK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAg
ICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJOb2RlKToK
KyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVt
ZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExp
c3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFtZXRlcnMpOgorICAg
ICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRpb24pOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZU1lbWJlckV4cHJlc3Npb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzc2lvbik6IERlbGV0ZWQuCisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwcmludFVuZXhwZWN0ZWRUb2tlblRleHQp
OiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6U2Nv
cGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJjZVBhcnNlTW9kZSk6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29w
ZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNB
c3luY0Fycm93RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0
aW9uKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAg
KEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhw
cmVzc2lvbkVycm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFz
c2lmaWVyOjpwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fy
cm93RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNz
aW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFi
bGVLaW5kKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwdXNoU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lk
ZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJB
d2FpdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJl
YXNvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRl
ZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRp
Y2F0ZXNQb3NzaWJsZVBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJN
b2Rlcy5oOgorICAgICAgICAoSlNDOjpTb3VyY2VQYXJzZU1vZGVTZXQ6OlNvdXJjZVBhcnNlTW9k
ZVNldCk6CisgICAgICAgIChKU0M6OlNvdXJjZVBhcnNlTW9kZVNldDo6Y29udGFpbnMpOgorICAg
ICAgICAoSlNDOjpTb3VyY2VQYXJzZU1vZGVTZXQ6Om1lcmdlU291cmNlUGFyc2VNb2Rlcyk6Cisg
ICAgICAgIChKU0M6OmlzRnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5j
RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBh
cnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAg
KEpTQzo6aXNNZXRob2RQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9k
ZSk6CisgICAgICAgIChKU0M6OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNv
bnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpT
eW50YXhDaGVja2VyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6
OmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlWWllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVGdW5jdGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaDoKKwogMjAxNi0wOS0yMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlcXVpcmUgV1RGTW92ZSBmb3IgU3RyaW5nOjphZG9wdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCBjMTFkMTM2YTYyZTZjZGQ3Y2ExODY2ZTg5NmQ1MjY3YjY3NDRkYmNjLi42ZDlkMjczNTIz
YzExZDk3NjU1YjY3NzM2NGViMDA1ZGU4ZjQ1M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2
LTA5LTIxICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pT
Q10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgor
CiAyMDE2LTA5LTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmVxdWlyZSBXVEZNb3ZlIGZvciBTdHJpbmc6OmFkb3B0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzRlMDY2YTg4NDE2N2M3OGZiMDRiOTZiYTVkYWUwZmJjYmU1NGU2Mi4uMzg1OGRlOWVlOWNm
MWE0ZWZlYmU5ZjE2N2RiNzc0NDAyNzIyMGFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE2LTA5LTIxICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMh
KS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
CiAyMDE2LTA5LTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbRmV0Y2hdIEFsaWduIEFjY2VwdCBoZWFkZXIgZGVmYXVsdCB2YWx1ZXMgd2l0aCBmZXRjaCBz
cGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggOGY2Yjg3NDI5M2IwYWZmNjhjY2Y4NGYyMjAxZDg5NDQy
ZjhlOGRlNy4uNjA0YjZmODE4NmM5ZTgzM2QyMmE0N2NkNjQ0OWU3YTk1MDdjNTQxMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTA5LTIxICBDYWl0bGluIFBvdHRlciAg
PGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2Yg
QXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE2
LTA5LTE5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgRU5BQkxFKFRFWFRfQVVUT1NJWklORykgYXV0b21hdGljIHRleHQgc2l6ZSBhZGp1c3RtZW50
IGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCA4ZWYxNzE5ZmI0YWNmMjM2NzA0NGUyMGYxMDc4NmE1OTUxYTU5
N2JhLi41MmZjN2U2MTk2YzE2N2E5MGE0YTY4ZmJjNzZmMGM1MDRmNzBkMmU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdh
bGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDktMjAgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IENsZWFuIHVwIERhdGFPYmplY3RHdGsgaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEw
ZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFU
SDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVf
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
W3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpd
ID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nk
az1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMCw0ICsyMDEsNCBA
QCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFC
TEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5U
UykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRT
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChF
TkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVf
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkp
ICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKaW5kZXggMDU0ZDYzZGY1
OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uZjAyOGQ0ODgwYzk1NzI2ODZkMzgyYzUz
OWFkZDVhNzY4Y2QzMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCkBAIC04OSw2ICs4
OSw3IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgLCBtX3R5cGVQcm9maWxpbmdFbmRP
ZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9kZS0+c291cmNlKCkubGVuZ3RoKCkg
LSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5wYXJhbWV0ZXJDb3VudCgpKQogICAg
ICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJzZU1vZGUobm9kZS0+cGFyc2VNb2Rl
KCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0KCkp
CiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5G
dW5jdGlvbihraW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKQpAQCAtOTgsNyArOTksNiBA
QCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUo
Vk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV9jb21tZW50TW9kZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQogICAgICwgbV9zdXBlckJpbmRpbmcoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSkKICAgICAsIG1fZGVyaXZlZENvbnRl
eHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKQotICAgICwg
bV9zb3VyY2VQYXJzZU1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgp
KSkKICAgICAsIG1fbmFtZShub2RlLT5pZGVudCgpKQogICAgICwgbV9lY21hTmFtZShub2RlLT5l
Y21hTmFtZSgpKQogICAgICwgbV9pbmZlcnJlZE5hbWUobm9kZS0+aW5mZXJyZWROYW1lKCkpCkBA
IC0xMTIsNyArMTEyLDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICBBU1NFUlQobV9j
b21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKTsKICAgICBB
U1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVy
QmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENvbnRleHRUeXBlID09IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsKLSAgICBBU1NFUlQobV9zb3VyY2VQ
YXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7CiAK
ICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAocGFyZW50U2NvcGVURFpWYXJpYWJs
ZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAxZTNjYmFmZmVjMjg4N2M3OTYwN2Q0
ZDA3NzgzMTQzNTZhMTgwZTMyLi44OWFhYjhhYmY3MTcxZThkNDk4Y2I1YWMzMTg3NDJkYzczMDU3
MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMTU1LDYgKzE1NSw3IEBAIHByaXZhdGU6
CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0OwogICAgIHVuc2lnbmVkIG1f
cGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7CisgICAgU291cmNl
UGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVuc2lnbmVkIG1faXNJblN0cmljdENv
bnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMgOiAxOwogICAg
IHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwpAQCAtMTY0LDcgKzE2NSw2IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8gSlNQYXJzZXJDb21tZW50
TW9kZQogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKICAgICB1bnNpZ25lZCBtX2Rl
cml2ZWRDb250ZXh0VHlwZTogMjsKLSAgICB1bnNpZ25lZCBtX3NvdXJjZVBhcnNlTW9kZSA6IDQ7
IC8vIFNvdXJjZVBhcnNlTW9kZQogCiAgICAgV3JpdGVCYXJyaWVyPFVubGlua2VkRnVuY3Rpb25D
b2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDYWxsOwogICAgIFdyaXRlQmFycmllcjxV
bmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZUJsb2NrRm9yQ29uc3RydWN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAppbmRleCAwNzVmNWNkOTZhYjllMmQ2ZmEyYThiZTA3MDAwNjFmZTFh
NTAzOTZkLi44MDYxM2QwNmMzMGVlM2I4YjcyMmZiYzI3OTY2NTZhODU5YTg1ZmZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcApAQCAtMjk4NiwxNyArMjk4NiwxNCBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNF
eAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25F
eHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5jRXhwck5vZGUqIGZ1bmMpCiB7Ci0g
ICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUpOworICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5wYXJz
ZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlIHx8IGZ1bmMtPm1l
dGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMt
Pm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbihSZWdpc3RlcklEKiBkc3QsIE1ldGhv
ZERlZmluaXRpb25Ob2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5jLT5tZXRhZGF0YSgpLT5w
YXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1v
ZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFy
c2VNb2RlOjpHZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRh
ZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUpOworICAg
IEFTU0VSVChpc01ldGhvZFBhcnNlTW9kZShmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSkp
OwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0
YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDlmYzk2OTViMTAyMmM2MmE4MTBi
YjA1NmJmOTdmYWE4MzI0YTdhOWEuLjhiYTNmNGE1Yzk4NzI3ZDQ3OTAwYzc0OTJmNGU2MDBjNTc2
YjM1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAKQEAgLTM1MDcsNiArMzUwNywxOCBAQCBSZWdpc3RlcklEKiBZaWVsZEV4
cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRAogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGlu
YXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gQXdhaXRFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
CitSZWdpc3RlcklEKiBBd2FpdEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklE
PiBhcmcgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7CisgICAgZ2VuZXJhdG9yLmVtaXROb2Rl
KGFyZy5nZXQoKSwgYXJndW1lbnQoKSk7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHZhbHVlID0g
Z2VuZXJhdG9yLmVtaXRZaWVsZChhcmcuZ2V0KCkpOworICAgIGlmIChkc3QgPT0gZ2VuZXJhdG9y
Lmlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TW92ZShnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB2YWx1ZS5n
ZXQoKSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xO
b2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB2b2lkIENsYXNzRGVjbE5v
ZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklE
KiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IDFj
MTEzYmFlMTRkNTZkNzgwOWExMGRmYjljNWY2Mzc4NjAwYjcwMDEuLmZkYmQyZjQ4NDIyODk5MGE0
MDc1MGFmNzc1YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCkBAIC0zNjcsNiArMzY3LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IG5vZGU7CiAgICAgfQogCisgICAgQXdhaXRFeHByTm9kZSogY3JlYXRlQXdhaXQoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50LCBjb25zdCBK
U1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3Qg
SlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICB7CisgICAgICAgIEFTU0VSVChhcmd1bWVudCk7Cisg
ICAgICAgIEF3YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEF3YWl0RXhw
ck5vZGUobG9jYXRpb24sIGFyZ3VtZW50KTsKKyAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24o
bm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOworICAgICAgICByZXR1cm4gbm9kZTsKKyAgICB9CisK
ICAgICBDbGFzc0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPEFTVEJ1aWxkZXI+JiBjbGFzc0luZm8s
IFZhcmlhYmxlRW52aXJvbm1lbnQmIGNsYXNzRW52aXJvbm1lbnQsIEV4cHJlc3Npb25Ob2RlKiBj
b25zdHJ1Y3RvciwKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIHBhcmVudENsYXNzLCBQcm9wZXJ0
eUxpc3ROb2RlKiBpbnN0YW5jZU1ldGhvZHMsIFByb3BlcnR5TGlzdE5vZGUqIHN0YXRpY01ldGhv
ZHMpCiAgICAgewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9u
SW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2Rl
KQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
QXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9
IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8uc3RhcnRPZmZzZXQsIGZ1
bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbigpID8gZnVuY3Rp
b25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0LCBmdW5jdGlvbklu
Zm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uKTsKKyAgICAg
ICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhw
ck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25JbmZvLmJvZHksIHNv
dXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0TG9jKGZ1bmN0aW9uSW5m
by5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwg
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVu
Y3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlTWV0aG9kRGVm
aW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7CiAgICAgICAgIE1ldGhv
ZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIE1ldGhvZERlZmlu
aXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJs
ZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKaW5kZXggNDU4
MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3ZGZjNTVjMGRhOGMwMzFk
NjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVFVE9LRU4KIGZhbHNlCQlG
QUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJVAogYnJlYWsJCUJSRUFL
CiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggNjliNDQyOGU4NzljYTgwMGU5Y2ExYjg3YjM2
MmEyMzcwODg3N2JjNi4uYzFkNTQ3YmM3ZjkwMWMwNmM2NTM5ODYyODlkMzViNTQ1MjA1MDM2NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgK
QEAgLTkzOCw2ICs5MzgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAg
IGlubGluZSBBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCkKKyAgICAgICAgOiBFeHByZXNz
aW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2FyZ3VtZW50KGFyZ3VtZW50KQorICAgIHsK
KyAgICB9CisKICAgICBpbmxpbmUgQ2xhc3NEZWNsTm9kZTo6Q2xhc3NEZWNsTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogY2xhc3NEZWNsYXJhdGlv
bikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fY2xhc3NE
ZWNsYXJhdGlvbihjbGFzc0RlY2xhcmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDU4ZTI3NDUzZGQwMDUzNzY3MDNiZDM4Mzc5NWI0YTAxMTM1Zjg2MDQuLmIwYzQ5
N2EwZWViNTc3OGQwZWVmZjdmMjU0N2IzODJmMTRkOTZhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKQEAgLTIwMDcsNiArMjAwNywxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgYm9vbCBtX2RlbGVnYXRlOwogICAgIH07CiAKKyAgICBjbGFzcyBBd2FpdEV4cHJOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lv
bkRhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXdhaXRFeHByTm9kZShjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpOworCisgICAgICAgIEV4cHJlc3Np
b25Ob2RlKiBhcmd1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJndW1lbnQ7IH0KKworICAgIHBy
aXZhdGU6CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRv
ciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUq
IG1fYXJndW1lbnQ7CisgICAgfTsKKwogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBw
dWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBWYXJpYWJsZUVudmlyb25tZW50Tm9kZSB7CiAg
ICAgcHVibGljOgogICAgICAgICB1c2luZyBQYXJzZXJBcmVuYURlbGV0YWJsZTo6b3BlcmF0b3Ig
bmV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDQzNzA4ZmZh
ZTI2NDkzOTI4ZDViMjEzOTQyMjhmYzZjYzJmODg5YzYuLmY0Zjk2NWNkNGM3ZDQ4Y2I5MDA4OTU1
ZGU3OTk2NDU2OWJlY2ZjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRo
ZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsg
XAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRUb2tlbkZsYWcpIFwKICAgICAgICAg
c2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3JkICciLCBnZXRUb2tlbigpLCAiJyBh
cyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdh
aXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWlsKCJDYW4ndCB1c2UgJ2F3YWl0JyBh
cyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24o
KSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0yNTYsMTUgKzI1
OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRp
ZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIHNjb3BlLT5zZXRJc0xleGljYWxT
Y29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJz
ZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9u
UGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNz
aW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IHBh
cnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICYm
ICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZ0Z1bmN0aW9u
KCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+IGZ1bmN0aW9uSW5m
bzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJv
ZHlNb2RlKQorICAgICAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9u
Qm9keVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gY3Jl
YXRlR2VuZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291
bnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1bmN0
aW9uUGFyYW1ldGVycyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAgICAg
ICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlICYm
ICFoYXNFcnJvcigpKSB7CisgICAgICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpICYmICFoYXNFcnJvcigpKSB7CiAgICAgICAg
ICAgICAvLyBUaGUgb25seSB3YXkgd2UgY291bGQgaGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFyc2lu
ZyBpcyBpZiB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwogICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjgx
LDE2ICsyODMsMTYgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0
IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBTb3VyY2VFbGVtZW50
cyogc291cmNlRWxlbWVudHMgPSBudWxscHRyOwogICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBjYW4g
ZXJyb3IgdGhpcyBlYXJseSBpcyBpZiB3ZSByZXBhcnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1biBv
dXQgb2Ygc3RhY2sgc3BhY2UuCiAgICAgaWYgKCFoYXNFcnJvcigpKSB7Ci0gICAgICAgIGlmIChp
c0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkKKyAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRz
ID0gcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlLCBp
c0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCiAgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291
cmNlRWxlbWVudHMoY29udGV4dCk7CiAgICAgICAgIGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VNb2Rl
KHBhcnNlTW9kZSkpCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlTW9kdWxlU291
cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZSkKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJh
dG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICB9Cisg
ICAgICAgIGVsc2UgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGUpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2Vu
ZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBib29s
IHZhbGlkRW5kaW5nID0gY29uc3VtZShFT0ZUT0spOwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0cmlu
ZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVO
YW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFyaWFi
bGVzKQogICAgICAgICB2YXJEZWNsYXJhdGlvbnMubWFya1ZhcmlhYmxlQXNDYXB0dXJlZChlbnRy
eSk7CiAKLSAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3Jh
cHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUp
IHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkgewogICAgICAg
ICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXNDb250YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
cmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAgICAgIGNvbnRleHQucHJvcGFnYXRlQXJndW1lbnRz
VXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICszNTYsMTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xh
cmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiBib29sIFBhcnNlcjxMZXhlclR5cGU+
Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIHsKLSAgICBib29sIGlzT3BlblBhcmVuID0g
bWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlzSWRlbnQgPSBtYXRjaChJREVOVCk7Ci0gICAg
Ci0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAhaXNJZGVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKLSAgICBTYXZlUG9pbnQgc2F2
ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwotICAgICAgICAKLSAgICBp
ZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0KCk7Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9
IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBT
YXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAg
ICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAgICAg
ICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAg
ICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0Y2goQVJST1dGVU5DVElPTik7CkBAIC0zODAsMTQg
KzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0
ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWduZWQgcGFyYW1ldGVyc0NvdW50ID0gMDsKICAgICAg
ICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhzeW50YXhDaGVj
a2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKSwgcGFyYW1ldGVy
c0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFSRU4pICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04pOwot
ICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICBwb3BTY29wZShmYWtlU2NvcGUsIHN5bnRh
eENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKICAgICAgICAgfQorICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNB
cnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAgICAgCi0gICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAgICAgCi0gICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlv
bjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4
dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04p
OworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAg
ICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KQEAgLTU0MCw2ICs1MzksNTAgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit7CisgICAgQVNTRVJU
KGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSk7CisgICAgYXV0byBz
b3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKKworICAgIHVu
c2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIEpTVG9rZW5M
b2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRp
b24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVt
biA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2Vu
Lm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1
aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJ
ZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgaW5mby5w
YXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5zdGFydE9mZnNldCA9IHBhcmFtZXRlcnNTdGFydDsK
KyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgIFNvdXJjZVBhcnNlTW9kZSBp
bm5lclBhcnNlTW9kZSA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbk1vZGUKKyAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bkJvZHlNb2RlCisgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1v
ZGU7CisgICAgeworICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYXN5bmNGdW5jdGlvbkJvZHlTY29w
ZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgICAgIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUtPnNl
dFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7CisgICAgICAgIFN5bnRheENoZWNrZXIg
YXN5bmNGdW5jdGlvbkNvbnRleHQoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgp
KTsKKyAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQorICAgICAgICAg
ICAgZmFpbElmRmFsc2UocGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlTb3Vy
Y2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkg
b2YgYXN5bmMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZmFp
bElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCwgbW9kZSks
ICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgZnVuY3Rpb24iKTsKKyAgICAgICAgcG9w
U2NvcGUoYXN5bmNGdW5jdGlvbkJvZHlTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyk7CisgICAgfQorICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25N
ZXRhZGF0YShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCB0b2tl
bkNvbHVtbigpLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFt
ZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1fc3VwZXJC
aW5kaW5nLCBpbmZvLnBhcmFtZXRlckNvdW50LCBpbm5lclBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24pOworCisgICAgaW5mby5lbmRMaW5lID0gdG9rZW5MaW5lKCk7Cisg
ICAgaW5mby5lbmRPZmZzZXQgPSBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA/IHRva2Vu
TG9jYXRpb24oKS5lbmRPZmZzZXQgOiBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5w
YXJhbWV0ZXJzU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjsKKworICAgIGF1dG8gZnVuY3Rpb25F
eHByID0gY29udGV4dC5jcmVhdGVBc3luY0Z1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBpbmZv
LCBpbm5lclBhcnNlTW9kZSk7CisgICAgYXV0byBzdGF0ZW1lbnQgPSBjb250ZXh0LmNyZWF0ZUV4
cHJTdGF0ZW1lbnQoc3RhcnRMb2NhdGlvbiwgZnVuY3Rpb25FeHByLCBzdGFydCwgbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5saW5lKTsKKyAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VF
bGVtZW50cywgc3RhdGVtZW50KTsKKworICAgIHJldHVybiBzb3VyY2VFbGVtZW50czsKK30KKwor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0SXRl
bShUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCiB7CiAgICAgLy8gVGhlIGdyYW1tYXIgaXMg
ZG9jdW1lbnRlZCBoZXJlOgpAQCAtNTYyLDcgKzYwNSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRM
aXN0CiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgdW5kZXIgYSBnZW5lcmF0b3IgY29udGV4
dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAieWllbGQiIHJldHVybnMgYGZhbHNlYC4KICAg
ICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVudGVyIHBhcnNlVmFyaWFibGVEZWNs
YXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5kZXIgdGhlIGNvbnRleHQgb2YgcGFyc2VWYXJp
YWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAvLyB0byByYWlzZSBjb25zaXN0ZW50IGVycm9y
cyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAibGV0Ii4KLSAgICAgICAgICAgIGlmICghKG1h
dGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSkgJiYgIW1hdGNoKE9QRU5C
UkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKKyAgICAgICAgICAgIGlmICghKG1hdGNoKElE
RU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSB8fCBtYXRjaChBV0FJVCkpICYmICFt
YXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCiAgICAgICAgICAgICAgICAg
c2hvdWxkUGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KQEAgLTU4Miw2ICs2MjUsMjEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRl
Y2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElERU5UOgorI2lm
IEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VM
WSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7
CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
bi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBjb3VsZCBi
ZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAgICAg
ICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYg
IW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0g
cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNl
IEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgLy8gVGhpcyBpcyBhIGNvbnZlbmll
bnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVtZW50cwogICAgICAgICAvLyAoZXZlbiB0
aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1hbCBzdGF0ZW1lbnRzKQpAQCAtNjkwLDYg
Kzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsCiAgICAgICAgIGlmIChtYXRjaFNwZWNJ
ZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoZGVj
bGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFy
YXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiksIAogICAgICAg
ICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRpZmllciBuYW1lIGZvciBhIExl
eGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlz
YWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEg
IiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoZGVjbGFyYXRpb25UeXBlKSwgIiAiLCBk
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9z
aXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIEpTVG9r
ZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgICAg
ICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYgKzEwNzAsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2xhc3NpZnlFeHBy
ZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBFcnJvckluZGljYXRlc05vdGhpbmcp
OwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGlzRXZhbE9yQXJn
dW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVydHlOYW1lLT5pbXBsKCksICInIGluIHN0
cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChpZGVudGlmaWVy
VG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBkZXN0cnVjdHVyaW5nS2luZFRvVmFy
aWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29u
KCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0
dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVydHlOYW1lLCBpZGVudGlmaWVy
VG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTA3OSw2ICsxMTM5LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQg
YSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAg
ICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoa2luZCA9PSBEZXN0cnVjdHVy
aW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5kID09IERlc3RydWN0dXJpbmdLaW5kOjpE
ZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFt
ZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVl
KGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQn
IGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwg
ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgcGF0dGVybiA9IGNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICptX3Rva2VuLm1f
ZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIp
OwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTYzMSw0MyArMTY5Miw4IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIHJlc3VsdCA9IHBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjogewotICAgICAgICBpZiAoIXN0cmljdE1v
ZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93
ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dy
YW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4g
YSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQncwotICAgICAgICAgICAgICAgIC8v
IGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50
LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAgICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRo
ZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0ZW1lbnQuCi0gICAgICAg
ICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6Ci0g
ICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAgICAg
aWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAg
ICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoKLSAgICAgICAgICAgICAgICAvLyBm
dW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAgICBpZiAoY29uZCkgeyBmdW5jdGlv
biBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICBBdXRv
UG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgICAgICAg
ICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKLSAgICAgICAgICAgICAgICBibG9j
a1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Ci0gICAgICAgICAgICAgICAgaW50
IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAgICAgICAgICBUcmVlU3RhdGVtZW50IGZ1
bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAgICAg
ICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoZnVuY3Rp
b24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBr
ZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1l
bnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwotICAgICAgICAgICAgICAgIGNv
bnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0YXRlbWVudChsb2NhdGlvbiwg
c291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1cnJl
bnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgpLCBjdXJyZW50U2NvcGUoKS0+
dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAgICAgICAgICAgICAgIHBvcFNjb3BlKGJs
b2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBC
LjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjawot
ICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9yLgotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEz
Ci0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKLSAgICAgICAg
ICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJG
dW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3
aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIGNvbnN0IGJvb2wgaXNB
c3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25T
dGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlv
bkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgU0VNSUNPTE9O
OiB7CkBAIC0xNzE5LDYgKzE3NDUsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAg
ICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQgb2YgYSBzZXQgb2Ygc291cmNlIGVsZW1l
bnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgSURFTlQ6CisjaWYgRU5BQkxFKEVTMjAx
N19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1f
ZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBtYXliZVBhcnNlQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIHJlc3VsdCwgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KSkpCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2Ug
WUlFTEQ6IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVu
dCA9IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVt
ZW50KGNvbnRleHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3
NDQsNiArMTc3Niw2OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1l
bnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NG
dW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVl
KHN0cmljdE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGlu
c2lkZSBibG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBm
YWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJG
dW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVt
ZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3VycmVu
dFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBh
bm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwg
YmFjaworICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAg
RGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAg
bV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAgICAg
cmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAgIC8v
IEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50
YXggZXJyb3IgdW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYg
aXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0
cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3Rh
dGVtZW50LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxl
OgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBm
b28oKSB7IH0KKyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8g
ZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9
IH0KKyAgICAvLyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOworICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tT
Y29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOworCisg
ICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAg
ICBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNl
CisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4
dCk7CisgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4
cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQi
KTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0
ZVNvdXJjZUVsZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxl
bWVudHMsIGZ1bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3Jl
YXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52
aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsK
KyAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJ
bmZvKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rp
b25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIEFTU0VSVCgqbV90b2tlbi5tX2RhdGEu
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgIFNhdmVQb2ludCBzYXZl
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgaWYgKG1hdGNoKEZV
TkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICBjb25zdCBi
b29sIGlzQXN5bmMgPSB0cnVlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJl
c3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJv
b2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYg
Y29udGV4dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlzdCwgdW5zaWduZWQmIHBhcmFtZXRl
ckNvdW50KQogewogI2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xhdGlvbigpIFwKQEAgLTE3
NjYsNiArMTg2MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAgICAgICAgIAogICAgICAg
ICBpZiAobWF0Y2goRE9URE9URE9UKSkgewogICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgJiYgbWF0Y2go
QVdBSVQpLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3lu
YyBmdW5jdGlvbiIpOwogICAgICAgICAgICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRlc3Ry
dWN0dXJpbmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBEZXN0
cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5vdEV4
cG9ydGVkLCAmZHVwbGljYXRlUGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOwog
ICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHBhcmFtZXRlciA9IGNv
bnRleHQuY3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1ldGVy
Q291bnQpOwpAQCAtMTgzMyw2ICsxOTI4LDE0IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiAiZ2Vu
ZXJhdG9yIGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlv
bk1vZGU6CiAgICAgICAgIHJldHVybiAiYXJyb3cgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGZ1bmN0aW9uIjsK
KyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICByZXR1
cm4gImFzeW5jIG1ldGhvZCI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGFycm93IGZ1bmN0aW9uIjsKICAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVF
dmFsdWF0ZU1vZGU6CkBAIC0xODQ1LDEyICsxOTQ4LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlciwgY2xhc3MgRnVu
Y3Rpb25JbmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxpc3Qg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rpb25J
bmZvKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQcm9n
cmFtTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUgJiYg
bW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSk7CisgICAgUkVMRUFT
RV9BU1NFUlQoIShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKG1vZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBhcmFt
ZXRlckxpc3QgcGFyYW1ldGVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlz
dCgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBo
YXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFy
c2VQaGFzZTo6UGFyYW1ldGVycyk7CiAgICAgCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAh
bWF0Y2goT1BFTlBBUkVOKSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0
KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgeworICAgICAgICBpZiAoIW1h
dGNoU3BlY0lkZW50aWZpZXIoKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93
IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTk0MSw3
ICsyMDQ0LDkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVu
dFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAKLSAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRv
ciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpOworICAgIGJvb2wgaXNEaXNhbGxvd2Vk
QXdhaXRGdW5jdGlvbk5hbWUgPSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbik7
CisgICAgY29uc3QgY2hhciogaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBp
c0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRS
ZWFzb24oKSA6IG51bGxwdHI7CisKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0
aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNlUGFyc2VNb2Rl
KG1vZGUpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVj
dGVkU3VwZXJCaW5kaW5nKTsKQEAgLTE5ODMsNyArMjA4OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkCiAgICAgICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5k
TG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgRnVu
Y3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlOwotICAgICAgICAgICAgaWYgKG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAgICAgICAgIGlmIChVTkxJ
S0VMWShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9k
ZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2Rl
KSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9k
eUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1
bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGZ1bmN0
aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpAQCAtMjAyNiw3ICsyMTMx
LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFN5bnRheENoZWNrZXIgc3ludGF4
Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwogCi0gICAgaWYg
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgeworICAgIGlmIChV
TkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlv
bk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMo
bW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAg
ICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CiAgICAgICAgIHN0YXJ0
Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIwNDEsNyArMjE0Niw4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFBhcnNlIGZvcm1hbCBwYXJh
bWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4gb3JkZXIgdG8gYmFuIFlp
ZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8vIGluIEFycm93Rm9ybWFsUGFyYW1ldGVycywg
cGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3Mt
ZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2NvcGU6Ok1heWJlUGFyc2VBc0dlbmVyYXRvckZv
clNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29wZSwgdXBwZXJTY29wZUlzR2VuZXJh
dG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBw
YXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVudFNjb3BlLT5pc0dlbmVyYXRvcigp
KTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2FpdChtX3Bh
cnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9kZSkpOwog
ICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwg
ZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgIH0K
QEAgLTIwNzMsMjEgKzIxNzksMjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAg
Ly8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAgICAgIC8vICAgICBmdW5jdGlvbiAqIEJpbmRp
bmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNbWWllbGRdICkgeyBHZW5l
cmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVuY3Rpb25F
eHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVy
YXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZp
bml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7
CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQgb2Yg
Z2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOwor
ICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlv
blR5cGU6OkV4cHJlc3Npb24gJiYgU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6
Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlKS5j
b250YWlucyhtb2RlKSkpCisgICAgICAgICAgICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1cHBl
clNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAgICAgICAgIGlmIChyZXF1aXJlbWVudHMgIT0g
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgICAgICBBU1NFUlRf
V0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6
Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9uTmFt
ZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGZ1bmN0aW9uSW5mby5u
YW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBzaWRlLiIpOwogICAgICAg
ICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIodXBwZXJTY29wZUlzR2VuZXJhdG9yKSkgewog
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVuY3Rp
b25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlzYWxsb3dlZEF3
YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVl
KGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFy
YXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBk
ZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlv
bk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbldy
YXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5pdGlv
blR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikKKyAgICAgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBuYW1l
ZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAgIGlm
ICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRy
dWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5uYW1l
KSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIiciLCBmdW5jdGlvbklu
Zm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgfSBlbHNlIGlm
IChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZCkgewotICAg
ICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFp
bCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAg
ICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsICJG
dW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0
aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwor
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tl
eXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAg
ICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0yMTA1LDggKzIyMTgsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAog
ICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwg
ZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgeworICAg
ICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3Rh
dGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CisgICAgICAg
ICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlv
bkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAn
eycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKICAgICAgICAgCkBAIC0yMTUzLDkgKzIyNjksMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRheENo
ZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBleHBl
Y3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRl
ckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2Rl
OjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKG1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGdlbmVy
YXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgIGdlbmVyYXRvckJvZHlT
Y29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1v
ZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQYXJz
ZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uV3Jh
cHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAgICAgICAgaW5uZXJQYXJzZU1vZGUgPSBtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICAgICAg
ICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAg
ICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAg
ICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5u
ZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldENvbnN0cnVjdG9y
S2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUt
PnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKIApAQCAtMjE3
NCw3ICsyMjk2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAg
ICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVpcmVtZW50cyAhPSBGdW5j
dGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQpIHsKICAgICAgICAgQVNTRVJUKGZ1bmN0aW9u
SW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgbW9k
ZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IG1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgUkVMRUFT
RV9BU1NFUlQoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rp
b25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkg
fHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmZ1bmN0aW9u
SW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZh
bGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgc2VtYW50aWNGYWls
SWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAi
JyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9u
IG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg5LDYgKzI0MTEsNjAgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQs
IEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNsYXJh
dGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOworICAg
IEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVk
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQoKTsKKyAgICBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAgICBTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZTsK
KyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9
PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KSB7CisgICAgICAgIC8v
IFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0aW9uIGRlY2xhcmF0aW9u
IGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisgICAgICAgIC8vCisgICAgICAg
IC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAgICAg
ICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVEZWNsYXJhdGlvblt+WWllbGQs
ICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLworICAgICAgICAv
LyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAg
ICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAgICAgICAgLy8g
ICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQorICAgICAgICAv
LworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06Cisg
ICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZhdWx0XSBmdW5j
dGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rpb25Cb2R5W35ZaWVsZF0g
fQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bWWllbGQs
IERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAgIFsr
RGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lpZWxkXSApIHsgR2VuZXJh
dG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UgdXNlICIq
ZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBuYW1lLgorICAgICAgICBy
ZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmU7CisgICAgICAgIGZ1
bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0
YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0
cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9u
KSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNl
KGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUg
YSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1bHRNYXNrLCBTY29wZVJl
Zj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlvbihmdW5jdGlvbkluZm8ubmFt
ZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0ID0gZnVuY3Rp
b25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZGVjbGFyYXRpb25S
ZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICJDYW5ub3QgZGVj
bGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwo
KSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNs
YXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9uKQorICAgICAgICBpbnRl
cm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1bmN0
aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAnIiwg
ZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAo
ZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgeworICAgICAgICBzZW1hbnRpY0Zh
aWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwgIkNhbm5vdCBleHBvcnQg
YSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCks
ICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBvcnRCaW5kaW5nKCpmdW5jdGlv
bkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0
LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworICAgIGlm
IChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbi5z
ZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9uSW5mbykpOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0VHlwZSBleHBv
cnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENvbnRl
eHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsKQEAgLTI0MDUsOCArMjU4MSwx
MiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBib29sIGlzR2V0dGVyID0gZmFs
c2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVy
YXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICAg
ICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOwor
CitVTlVTRURfTEFCRUwocGFyc2VNZXRob2QpOworcGFyc2VNZXRob2Q6CiAgICAgICAgIHN3aXRj
aCAobV90b2tlbi5tX3R5cGUpIHsKICAgICAgICAgbmFtZWRLZXl3b3JkOgogICAgICAgICBjYXNl
IFNUUklORzoKQEAgLTI0MTUsMTIgKzI1OTUsMjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQK
ICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElE
RU5UOgorICAgICAgICBjYXNlIEFXQUlUOgogICAgICAgICAgICAgaWRlbnQgPSBtX3Rva2VuLm1f
ZGF0YS5pZGVudDsKICAgICAgICAgICAgIEFTU0VSVChpZGVudCk7CiAgICAgICAgICAgICBuZXh0
KCk7Ci0gICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIChtYXRjaElkZW50aWZpZXJPcktl
eXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdF
UikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgeworICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRv
ciAmJiAhaXNBc3luY01ldGhvZCAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0
Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9Q
RU5CUkFDS0VUKSkpIHsKICAgICAgICAgICAgICAgICBpc0dldHRlciA9ICppZGVudCA9PSBwcm9w
ZXJ0eU5hbWVzLmdldDsKICAgICAgICAgICAgICAgICBpc1NldHRlciA9ICppZGVudCA9PSBwcm9w
ZXJ0eU5hbWVzLnNldDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmFz
eW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICFpc0FzeW5jTWV0aG9kKSkgewor
ICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIERPVUJMRToKQEAgLTI0
NTIsNyArMjY0MCwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgICAgICAgICAgYm9v
bCBpc0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5h
bWVzLmNvbnN0cnVjdG9yOwogICAgICAgICAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9
IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKLSAgICAgICAgICAgIGlmIChpc0dlbmVyYXRv
cikgeworICAgICAgICAgICAgaWYgKGlzQXN5bmNNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBp
c0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNl
UGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWls
SWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsICJDYW5ub3Qg
ZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZSciKTsKKyAgICAgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNv
bnN0cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdjb25zdHJ1
Y3RvciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNHZW5lcmF0b3IpIHsKICAgICAgICAg
ICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgcGFyc2VNb2Rl
ID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOwogICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3IgbmFtZWQgJ3Byb3RvdHlw
ZSciKTsKQEAgLTI1MzUsNiArMjcyOCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTAogICAg
ICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChsb2NhdGlvbiwgZXhwcmVzc2lvbiwgc3Rh
cnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CiAgICAgICAgIH0KKworICAgICAgICBp
ZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0
JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CisKICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAg
ICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICBu
ZXh0KCk7CkBAIC0yNzMxLDcgKzI5MjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAg
ICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwog
ICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBh
IHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgZmFp
bElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1l
IGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgIGxvY2FsTmFtZVRva2VuID0g
bV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIG5leHQoKTsKQEAgLTI3NTMsNyArMjk1MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJU
CiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1l
cy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBtYXRjaE9yRmFpbChJ
REVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlv
biIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhw
ZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAg
ICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgICAgICBsb2NhbE5hbWUg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI3NjQsNyAr
Mjk2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxk
ZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgY2FzZSBJbXBvcnRTcGVjaWZp
ZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIEltcG9ydGVkRGVmYXVsdEJpbmRp
bmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAgICAgQVNTRVJUKG1hdGNoKElE
RU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlmaWVyKCkpOwogICAgICAgICBs
b2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+
ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzczLDYgKzI5NzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExl
eGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1lVG9r
ZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQnIGFzIGFuIGltcG9ydGVkIGJp
bmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2NhbE5hbWVUb2tlbi5tX3R5
cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3b3JkIGFzIGltcG9ydGVkIGJp
bmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJhdGlvblJlc3Vs
dCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNs
YXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lmaWVyVHlwZTo6TmFtZXNwYWNl
SW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWROYW1lc3BhY2UgOiBEZWNs
YXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQg
IT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yODAzLDcgKzMwMDEsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wgaXNGaW5pc2hlZFBhcnNpbmdJ
bXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7CisgICAgaWYgKG1hdGNoU3Bl
Y0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAg
ICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8gc3BlY2lmaWVyID0gcGFyc2VJ
bXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmllclR5cGU6OkRlZmF1bHRJbXBv
cnQpOwpAQCAtMjkyOCw2ICszMTI2LDIwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAg
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KIAorI2lmIEVO
QUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKFVOTElL
RUxZKGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRl
bnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICBTYXZlUG9p
bnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRv
cigpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlmIChtYXRj
aChJREVOVCkpCisgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRh
LmlkZW50OworICAgICAgICAgICAgICAgIGlzRnVuY3Rpb25PckNsYXNzRGVjbGFyYXRpb24gPSB0
cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9p
bnQpOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBpZiAoIWxvY2FsTmFtZSkKICAgICAg
ICAgICAgIGxvY2FsTmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5z
dGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CiAKQEAgLTI5MzcsMTAgKzMxNDksMTggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50
RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVw
dGggPSAxOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlv
bihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29u
dGV4dDo6RXhwb3J0RGVmYXVsdCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1h
dGNoKENMQVNTVE9LRU4pKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VDbGFzc0Rl
Y2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRl
ZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKICAgICAgICAgICAgIH0KKyNpZiBFTkFCTEUo
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0g
bV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9y
dFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZh
dWx0KTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgLy8gZXhwb3J0IGRlZmF1bHQgZXhwcjsKICAgICAgICAgICAgIC8vCkBAIC0zMDU3LDkgKzMy
NzcsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIGJyZWFrOwogCiAg
ICAgICAgIGRlZmF1bHQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgICAgIGlmIChVTkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikg
JiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkg
eworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJ
ZkZhbHNlKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4
cGVjdGVkICdmdW5jdGlvbicga2V5d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGgg
bm8gcHJlY2VkaW5nIGxpbmUgdGVybWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9y
dGVkKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAg
ICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBlaXRoZXIgYSBkZWNsYXJhdGlvbiBv
ciBhIHZhcmlhYmxlIHN0YXRlbWVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
KwogICAgICAgICBmYWlsSWZGYWxzZShyZXN1bHQsICJDYW5ub3QgcGFyc2UgdGhlIGRlY2xhcmF0
aW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydExvY2FsRGVjbGFyYXRp
b24oZXhwb3J0TG9jYXRpb24sIHJlc3VsdCk7CiAgICAgfQpAQCAtMzEyMSwzNCArMzM1MCw0OSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIEFTU0VSVCghaGFzRXJyb3IoKSk7CiAgICAg
CiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworCisgICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAh
aXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpKQorICAg
ICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24oY29udGV4dCk7CisKICAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBpbml0aWFsQXNzaWdubWVudENv
dW50ID0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQ7CiAgICAgaW50IGluaXRpYWxOb25M
SFNDb3VudCA9IG1fcGFyc2VyU3RhdGUubm9uTEhTQ291bnQ7CiAgICAgYm9vbCBtYXliZUFzc2ln
bm1lbnRQYXR0ZXJuID0gbWF0Y2goT1BFTkJSQUNFKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCk7CiAg
ICAgYm9vbCB3YXNPcGVuUGFyZW4gPSBtYXRjaChPUEVOUEFSRU4pOwotICAgIGJvb2wgaXNWYWxp
ZEFycm93RnVuY3Rpb25TdGFydCA9IG1hdGNoKE9QRU5QQVJFTikgfHwgbWF0Y2goSURFTlQpOwor
ICAgIC8vIERvIG5vdCB1c2UgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGhlcmUgc2luY2UgaXQgaXMg
c2xvd2VyIHRoYW4gaXNJZGVudGlmaWVyT3JLZXl3b3JkLgorICAgIC8vIFdoZXRoZXIgc3BlYyBp
ZGVudGlmaWVyIGlzIHdpbGwgYmUgdmFsaWRhdGVkIGJ5IGlzQXJyb3dGdW5jdGlvblBhcmFtZXRl
cnMoKS4KKyAgICBib29sIHdhc0lkZW50aWZpZXJPcktleXdvcmQgPSBpc0lkZW50aWZpZXJPcktl
eXdvcmQobV90b2tlbik7CisgICAgYm9vbCBtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0g
d2FzT3BlblBhcmVuIHx8IHdhc0lkZW50aWZpZXJPcktleXdvcmQ7CiAgICAgU2F2ZVBvaW50IHNh
dmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIHNpemVfdCB1c2VkVmFyaWFibGVzU2l6
ZSA9IDA7CisKKyNpZiAhRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKICAgICBp
ZiAod2FzT3BlblBhcmVuKSB7CisjZWxzZQorICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgKHdhc0lk
ZW50aWZpZXJPcktleXdvcmQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFzeW5jKSkgeworI2VuZGlmCiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXplID0g
Y3VycmVudFNjb3BlKCktPmN1cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBjdXJy
ZW50U2NvcGUoKS0+cHVzaFVzZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmIChtYXRj
aChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVy
YXRvcigpKSkKLSAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQpOwot
CiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29u
dGV4dCk7CiAKLSAgICBpZiAoaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9G
VE9LKSkgeworICAgIGlmIChtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRjaChF
T0ZUT0spKSB7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChBUlJP
V0ZVTkNUSU9OKTsKICAgICAgICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4pIHsK
ICAgICAgICAgICAgIFNhdmVQb2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBvaW50
ID0gY3JlYXRlU2F2ZVBvaW50Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7Cisg
ICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFzeW5j
QXJyb3dGdW5jdGlvbigpKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRleHR1
YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAgICAg
bmV4dCgpOworICAgICAgICAgICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2VGVy
bWluYXRvcigpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlv
blBhcmFtZXRlcnMoKSkgewotICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisgICAg
ICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAgICAg
ICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxlcyh1
c2VkVmFyaWFibGVzU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5j
dGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3JhdGlv
blNhdmVQb2ludCk7CiAgICAgICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBAIC0z
MjcyLDYgKzM1MTYsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFTU0VSVChj
dXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUobV9wYXJz
ZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0
ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7Cisg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0
UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5leHQoKTsK
KyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihjb250
ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBhd2FpdCBl
eHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXdhaXQobG9jYXRpb24sIGFy
Z3VtZW50LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigp
KTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ29uZGl0
aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewogICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4NCwxMSArMzY0MywxNiBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQgPSBmYWxzZTsKICAgICBi
b29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNzUHJvcGVydHkgPSBmYWxz
ZTsKKyAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBpZiAoY29uc3VtZShUSU1F
UykpCiAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNlUHJv
cGVydHkpOworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAg
ICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgorICAgIGNhc2UgQVdBSVQ6CiAgICAg
ICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBTVFJJ
Tkc6IHsKQEAgLTMzOTYsMTAgKzM2NjAsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAg
ICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsK
ICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYgKCpp
ZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5nZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3Bl
cnR5TmFtZXMtPnNldCkpKQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJG
bGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAq
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpCisgICAgICAgICAgICBuZXh0RXhw
ZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CisjZW5kaWYKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0ln
bm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRlcjo6RG9udEJ1aWxkS2V5d29yZHMpOwogCi0g
ICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgbWF0Y2goQ09MT04pKSB7CisgICAgICAgIGlmICgh
aXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgbWF0Y2goQ09MT04pKSB7CiAgICAgICAg
ICAgICBuZXh0KCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbk9yUHJvcGFnYXRlRXJyb3JDbGFzcyhjb250ZXh0KTsKICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiBmb3IgcHJvcGVy
dHkgZGVjbGFyYXRpb24iKTsKQEAgLTM0MDgsMTEgKzM2NzYsMTEgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVy
dHkoVHJlZUIKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0g
ICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRl
bnQsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0
eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3IsIGlzQXN5bmNNZXRob2QpOwogICAg
ICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZVByb3BlcnR5KGlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3Bl
cnR5Tm9kZTo6S25vd25EaXJlY3QsIGNvbXBsZXRlLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgaXND
bGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9y
LCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOworICAgICAgICBm
YWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRob2QsICJFeHBlY3RlZCBhIHBhcmVu
dGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAgICAgZmFpbElmRmFsc2Uod2FzSWRl
bnQsICJFeHBlY3RlZCBhbiBpZGVudGlmaWVyIGFzIHByb3BlcnR5IG5hbWUiKTsKIApAQCAtMzQz
NCw2ICszNzAyLDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgICAgICB0eXBl
ID0gUHJvcGVydHlOb2RlOjpHZXR0ZXI7CiAgICAgICAgIGVsc2UgaWYgKCppZGVudCA9PSBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5zZXQpCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpT
ZXR0ZXI7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
ZWxzZSBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jICYm
ICFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAgICAgICAgIGlzQXN5bmNN
ZXRob2QgPSB0cnVlOworICAgICAgICAgICAgZmFpbElmVHJ1ZShtX2xleGVyLT5wcmV2VGVybWlu
YXRvcigpLCAiRXhwZWN0ZWQgYSBwcm9wZXJ0eSBuYW1lIGZvbGxvd2luZyBrZXl3b3JkICdhc3lu
YyciKTsKKyAgICAgICAgICAgIGdvdG8gcGFyc2VQcm9wZXJ0eTsKKyAgICAgICAgfQorI2VuZGlm
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSAn
OicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+aW1wbCgpLCAiJyIpOwog
ICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwgY29tcGxldGUsIHR5cGUs
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgaXNDbGFz
c1Byb3BlcnR5KTsKQEAgLTM0NDUsMTEgKzM3MjAsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJl
ZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1ha2VO
dW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFtZSk7Ci0g
ICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlk
ZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAg
ICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFBy
b3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0Ns
YXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3Is
ICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZh
aWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50
aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9O
LCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDY0
LDExICszNzM5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhhbmRsZVBy
b2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQgcHJvcGVy
dHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAg
ICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAg
ICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5Tm9kZTo6
VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQpLCBQ
cm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQs
IGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVy
YXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAg
ICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBw
YXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwo
Q09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAg
LTM0ODMsMTMgKzM3NTgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJv
cGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5l
cmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBj
b25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5
bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1ldGhvZElu
Zm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlz
R2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2Rl
IDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9k
TW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVk
LCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6
TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6
TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0K
QEAgLTM3NTUsNiArNDAzMCwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04p
KTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1
bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7
CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAg
ZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7
CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSwg
IkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworfQorCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0
ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJpbmdz
QnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1wbGF0ZUhl
YWQpIHsKQEAgLTM4NDIsMTQgKzQxMzEsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAg
ICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzVGhpcygp
OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7CiAgICAg
fQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZpZXJFeHBy
ZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
ICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dGVU5DVElP
TikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCiAgICAgICAgICAgICByZXR1
cm4gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF0
Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkKKyAgICAgICAgICAg
IHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworI2VuZGlmCisK
ICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFzdElkZW50
aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2Nh
dGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CkBAIC00MDI1LDYg
KzQzMjEsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgIGZhaWxEdWVU
b1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgYm9vbCBiYXNlSXNBc3luY0tleXdvcmQgPSBmYWxzZTsKKyNlbmRp
ZgorCiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgIFNjb3BlUmVmIGNsb3Nlc3RPcmRp
bmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3JkaW5hcnlGdW5jdGlvbk5vbkxleGlj
YWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5p
c0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmlzRXZhbENvbnRl
eHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5leHBlY3RlZFN1cGVyQmluZGlu
ZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlz
IGNvbnRleHQiKTsKQEAgLTQwNDIsOSArNDM0MiwyNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJl
cwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvblN1cGVyQmluZGlu
ZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlz
IGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoIWJh
c2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpIHsKKyNpZiBF
TkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjb25zdCBib29sIGlz
QXN5bmMgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRh
LmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jOworI2VuZGlmCisKICAgICAgICAg
YmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAKKyNpZiBFTkFCTEUoRVMy
MDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fu
bm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaXNBc3luYyAmJiBjb250
ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAg
ICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAgICAgICAgICAgICAgIC8v
IEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNlQ2xhc3NpZnlFeHByZXNz
aW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOworICAgICAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYmFzZUlzQXN5bmNLZXl3
b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgZmFpbElmRmFsc2Uo
YmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKICAgICB3aGlsZSAodHJ1ZSkg
ewogICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKQEAgLTQwNzgsNiArNDM5NSwx
NCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0gbGFzdFRva2VuRW5kUG9z
aXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFyZ3VtZW50cyA9IHBhcnNl
QXJndW1lbnRzKGNvbnRleHQpOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgICAgICAgICBpZiAoYmFzZUlzQXN5bmNLZXl3b3JkICYmICghYXJndW1l
bnRzIHx8IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkgeworICAgICAgICAgICAgICAgICAgICBmb3Jj
ZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9u
KTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAg
ICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShhcmd1
bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1bWVudHMiKTsKICAgICAgICAgICAgICAgICBp
ZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAgICAgICAgICAgU2NvcGVSZWYgZnVuY3Rpb25T
Y29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7CkBAIC00MTM2LDcgKzQ0NjEsNyBAQCBlbmRN
ZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJv
b2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CiAKQEAgLTQxNDQs
NyArNDQ2OSw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvCiAgICAgbG9jYXRpb24gPSB0b2tl
bkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwog
ICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVx
dWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0
cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lv
bikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKworICAgIFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8gU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsK
KyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZv
LCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJy
b3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogfQpAQCAtNDE4OCw2ICs0NTE1LDEyIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAgYm9vbCBtb2RpZmllc0V4cHIgPSBmYWxzZTsK
ICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0
b3IgPSAwOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBp
ZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJlbnRGdW5jdGlvblNjb3BlKCktPmlzQXN5
bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICByZXR1cm4gcGFyc2VBd2FpdEV4cHJlc3Np
b24oY29udGV4dCk7CisjZW5kaWYKKwogICAgIHdoaWxlIChpc1VuYXJ5T3AobV90b2tlbi5tX3R5
cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjksNiArNDcwMiw3IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2Vu
VGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRlIG5hbWUgJyIsIGdldFRv
a2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAorICAgIGNhc2UgQVdB
SVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNkZDVlNzc4YjhmZGI1OTIz
YWE3OThhZWQxMjMuLjk0YzhhNTEyOWU2YmU2Yjg4YjUxNjg5NWRmYzViMzMyYTY4ZWZiNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0
cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGUpOwogCiBwdWJsaWM6
Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0
b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24pCisgICAgU2NvcGUoY29u
c3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0
TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1bmN0aW9uKQogICAgICAg
ICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRzKGZhbHNlKQogICAgICAg
ICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAgcHVibGljOgogICAgICAg
ICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5j
dGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFy
eShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0FzeW5jRnVuY3Rpb24pCisg
ICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lz
TGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KGZhbHNl
KQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAgLTE4MSw2ICsxODMsOCBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KG90aGVyLm1faXNHZW5l
cmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihvdGhlci5tX2lzQXJy
b3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1f
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24ob3Ro
ZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFy
eShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNMZXhpY2Fs
U2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBtX2lzRnVuY3Rpb25Cb3Vu
ZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJp
Y3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgsNiArMjQyLDE0IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkK
ICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5j
QXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJ
c0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKICAgICAgICAgICAgIHNl
dElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1Nyw2ICsyNjksMTUgQEAg
cHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBi
cmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6
CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAg
ICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICAg
ICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAg
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICAgICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNl
TW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNGdW5jdGlvbkJv
dW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5l
cmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBt
X2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb25C
b3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7IH0KIAog
ICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBcmd1bWVudHM7IH0K
IApAQCAtNzEwLDYgKzczMywzNCBAQCBwcml2YXRlOgogICAgICAgICBtX2lzQXJyb3dGdW5jdGlv
biA9IHRydWU7CiAgICAgfQogCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpCisg
ICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVu
Y3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24g
PSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uQm9keSgpCisgICAg
eworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFs
c2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5j
RnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jQXJy
b3dGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7Cisg
ICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9u
ID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAg
fQorCiAgICAgY29uc3QgVk0qIG1fdm07CiAgICAgYm9vbCBtX3NoYWRvd3NBcmd1bWVudHM7CiAg
ICAgYm9vbCBtX3VzZXNFdmFsOwpAQCAtNzI0LDYgKzc3NSw4IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2lzR2VuZXJhdG9yQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbjsKICAg
ICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnk7CisgICAgYm9vbCBtX2lzQXN5bmNGdW5j
dGlvbjsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lz
TGV4aWNhbFNjb3BlOwogICAgIGJvb2wgbV9pc0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBt
X2lzVmFsaWRTdHJpY3RNb2RlOwpAQCAtODg2LDggKzkzOSw5IEBAIHByaXZhdGU6CiAgICAgfTsK
IAogICAgIGVudW0gRXhwcmVzc2lvbkVycm9yQ2xhc3MgewotICAgICAgICBFcnJvckluZGljYXRl
c05vdGhpbmcsCi0gICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybgorICAgICAgICBFcnJvcklu
ZGljYXRlc05vdGhpbmcgPSAwLAorICAgICAgICBFcnJvckluZGljYXRlc1BhdHRlcm4sCisgICAg
ICAgIEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uCiAgICAgfTsKIAogICAgIHN0cnVj
dCBFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyIHsKQEAgLTkxMSw2ICs5NjUsMTEgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNhdGlvbjsKICAgICAgICAgfQogCisg
ICAgICAgIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JD
bGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICAgICAgeworICAgICAgICAgICAgbV9jbGFzcyA9IGNs
YXNzaWZpY2F0aW9uOworICAgICAgICB9CisKICAgICAgICAgdm9pZCByZWNsYXNzaWZ5RXhwcmVz
c2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIG9sZENsYXNzaWZpY2F0aW9uLCBFeHByZXNz
aW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KG1fY2xhc3MgIT0gb2xkQ2xhc3NpZmljYXRpb24pCkBAIC05MjAsMTEgKzk3OSwxMiBAQCBwcml2
YXRlOgogCiAgICAgICAgIHZvaWQgcHJvcGFnYXRlRXhwcmVzc2lvbkVycm9yQ2xhc3MoKQogICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAobV9wcmV2aW91cyAmJiBtX2NsYXNzICE9IEVycm9ySW5k
aWNhdGVzTm90aGluZykKKyAgICAgICAgICAgIGlmIChtX3ByZXZpb3VzKQogICAgICAgICAgICAg
ICAgIG1fcHJldmlvdXMtPm1fY2xhc3MgPSBtX2NsYXNzOwogICAgICAgICB9CiAKICAgICAgICAg
Ym9vbCBpbmRpY2F0ZXNQb3NzaWJsZVBhdHRlcm4oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09
IEVycm9ySW5kaWNhdGVzUGF0dGVybjsgfQorICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxl
QXN5bmNBcnJvd0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzcyA9PSBFcnJvckluZGlj
YXRlc0FzeW5jQXJyb3dGdW5jdGlvbjsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgRXhwcmVz
c2lvbkVycm9yQ2xhc3MgbV9jbGFzczsKQEAgLTkzOCw2ICs5OTgsMTIgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Y2xhc3NpZnlFeHByZXNzaW9u
RXJyb3IoY2xhc3NpZmljYXRpb24pOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBm
b3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZp
Y2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikK
KyAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllci0+Zm9yY2VDbGFzc2lmeUV4
cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CisgICAgfQorCiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xk
Q2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAg
IHsKICAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcikKQEAgLTk1OSw2ICsx
MDI1LDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBEZXN0cnVjdHVyaW5nS2luZDo6RGVz
dHJ1Y3R1cmVUb1ZhcmlhYmxlczsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IGNo
YXIqIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKERlY2xhcmF0aW9uVHlwZSB0eXBlKQor
ICAgIHsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25U
eXBlOjpWYXJEZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAidmFyaWFibGUgbmFtZSI7
CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpMZXREZWNsYXJhdGlvbjoKKyAgICAgICAg
Y2FzZSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRpb246CisgICAgICAgICAgICByZXR1
cm4gImxleGljYWwgdmFyaWFibGUgbmFtZSI7CisgICAgICAgIH0KKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuICJpbnZhbGlkIjsKKyAgICB9CisK
ICAgICBBTFdBWVNfSU5MSU5FIEFzc2lnbm1lbnRDb250ZXh0IGFzc2lnbm1lbnRDb250ZXh0RnJv
bURlY2xhcmF0aW9uVHlwZShEZWNsYXJhdGlvblR5cGUgdHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAodHlwZSkgewpAQCAtOTcxLDYgKzEwNTAsMTIgQEAgcHJpdmF0ZToKIAogICAgIEFMV0FZ
U19JTkxJTkUgYm9vbCBpc0V2YWxPckFyZ3VtZW50cyhjb25zdCBJZGVudGlmaWVyKiBpZGVudCkg
eyByZXR1cm4gaXNFdmFsT3JBcmd1bWVudHNJZGVudGlmaWVyKG1fdm0sIGlkZW50KTsgfQogCisg
ICAgU2NvcGVSZWYgdXBwZXJTY29wZShpbnQgbikKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3Nj
b3BlU3RhY2suc2l6ZSgpID49IHNpemVfdCgxICsgbikpOworICAgICAgICByZXR1cm4gU2NvcGVS
ZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEgLSBuKTsKKyAgICB9CisK
ICAgICBTY29wZVJlZiBjdXJyZW50U2NvcGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNjb3Bl
UmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXplKCkgLSAxKTsKQEAgLTEwMjcsMTMg
KzExMTIsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBpc1N0cmljdCA9IGZhbHNlOwogICAg
ICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1bmN0aW9uID0gZmFsc2U7CiAgICAg
ICAgIGlmICghbV9zY29wZVN0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaXNTdHJpY3Qg
PSBtX3Njb3BlU3RhY2subGFzdCgpLnN0cmljdE1vZGUoKTsKICAgICAgICAgICAgIGlzRnVuY3Rp
b24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzRnVuY3Rpb24oKTsKICAgICAgICAgICAgIGlzR2Vu
ZXJhdG9yID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0dlbmVyYXRvcigpOwogICAgICAgICAgICAg
aXNBcnJvd0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0Fycm93RnVuY3Rpb24oKTsK
KyAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNBc3lu
Y0Z1bmN0aW9uKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFu
ZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dG
dW5jdGlvbik7CisgICAgICAgIG1fc2NvcGVTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQobV92bSwg
aXNGdW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBpc0Fycm93RnVuY3Rpb24sIGlzQXN5
bmNGdW5jdGlvbik7CiAgICAgICAgIHJldHVybiBjdXJyZW50U2NvcGUoKTsKICAgICB9CiAKQEAg
LTEzNDYsMjEgKzE0MzMsMjUgQEAgcHJpdmF0ZToKICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5h
dGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlv
bnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wg
bWF0Y2hTcGVjSWRlbnRpZmllcihib29sIGluR2VuZXJhdG9yKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1hdGNoKElERU5UKSB8fCBpc0xFVE1hc2tlZEFzSURFTlQoKSB8fCBpc1lJRUxETWFza2Vk
QXNJREVOVChpbkdlbmVyYXRvcik7CisgICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0
Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5U
KGluR2VuZXJhdG9yKTsKICAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVj
SWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2hTcGVjSWRlbnRpZmllcihj
dXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgIHJldHVybiBtYXRjaChJREVO
VCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNr
ZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKICAgICB9CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZUdlbmVyYXRvckZ1
bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
QXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlUGFyc2VNb2Rl
LCBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBTb3VyY2VFbGVtZW50c01vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2
ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYs
IGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoID0gMCk7CiAgICAgZW51bSBjbGFzcyBFeHBvcnRUeXBlIHsgRXhwb3J0ZWQsIE5vdEV4
cG9ydGVkIH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRU
eXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwg
RXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRD
b250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMsIGJvb2wgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
VHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xh
cmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFy
ZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBt
YXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25E
ZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRGVj
bGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZURvV2hpbGVT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwpAQCAtMTM4
Nyw2ICsxNDc4LDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19J
TkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHBy
ZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBd2Fp
dEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVz
c2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXJy
YXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3ICsxNDg2LDE4IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUV4cHJl
c3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24g
cGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRzKFRyZWVCdWlsZGVyJik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9u
IHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVudFR5cGUmKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWls
ZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dlbmVyYXRvcik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9k
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29s
IGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwg
Ym9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBTeW50YXhDaGVja2VyJiwgY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBTdXBl
ckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBib29sIHBhcnNl
Rm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0LCB1
bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BD
b250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QoVHJl
ZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuJiBs
YXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRp
b24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0LCBEZWNsYXJhdGlvblR5cGUsIEV4
cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RIYXZlSW5pdGlhbGl6ZXIpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXJy
b3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXIm
KTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVCaW5k
aW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJpbmdLaW5kLCBFeHBvcnRUeXBlLCBj
b25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVudENvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gY3JlYXRlQXNzaWdu
bWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVzc2lvbiYsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gcGFyc2VCaW5k
aW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgRGVzdHJ1Y3R1cmlu
Z0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVy
LCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNzaWdubWVudENvbnRleHQgYmluZGlu
Z0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1NTUsMjEgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwoKTsKICAgICB9CiAKKyAgICBib29s
IGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBKU1Rva2VuJiB0b2tlbikKKyAgICB7
CisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0YXRl
LmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkg
fHwgbV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cik7CisgICAgfQorCisgICAgY29u
c3QgY2hhciogZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpCisgICAgeworICAgICAg
ICBpZiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50U2NvcGUoKS0+aXNBc3lu
Y0Z1bmN0aW9uQm91bmRhcnkoKSkKKyAgICAgICAgICAgIHJldHVybiAiaW4gYW4gYXN5bmMgZnVu
Y3Rpb24iOworICAgICAgICBpZiAobV9tb2R1bGVTY29wZURhdGEuZ2V0KCkgIT0gbnVsbHB0cikK
KyAgICAgICAgICAgIHJldHVybiAiaW4gYSBtb2R1bGUiOworICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBl
bnVtIGNsYXNzIEZ1bmN0aW9uUGFyc2VQaGFzZSB7IFBhcmFtZXRlcnMsIEJvZHkgfTsKICAgICBz
dHJ1Y3QgUGFyc2VyU3RhdGUgewogICAgICAgICBpbnQgYXNzaWdubWVudENvdW50IHsgMCB9OwpA
QCAtMTQ3MCw2ICsxNTc4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgRnVuY3Rpb25QYXJzZVBoYXNl
IGZ1bmN0aW9uUGFyc2VQaGFzZSB7IEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSB9OwogICAgICAg
ICBjb25zdCBJZGVudGlmaWVyKiBsYXN0SWRlbnRpZmllciB7IG51bGxwdHIgfTsKICAgICAgICAg
Y29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSB7IG51bGxwdHIgfTsKKyAgICAgICAg
Ym9vbCBhbGxvd0F3YWl0IHsgdHJ1ZSB9OwogICAgIH07CiAKICAgICAvLyBJZiB5b3UncmUgdXNp
bmcgdGhpcyBkaXJlY3RseSwgeW91IHByb2JhYmx5IHNob3VsZCBiZSB1c2luZwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCmluZGV4IDlmZDdiNzdkZWFiZWFhOGRh
NGJmMjc4MzM5MzFlYjRiZGNmODlhNDYuLjJhYWM2ODIxYWVkMmM4ZTAxYjk5MzUwZTgwMmMwNGFk
ZmQ0ZTgxNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
TW9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgUGFyc2VyTW9kZXNfaAogI2RlZmluZSBQYXJzZXJN
b2Rlc19oCiAKKyNpbmNsdWRlICJDb25zdHJ1Y3RBYmlsaXR5LmgiCiAjaW5jbHVkZSAiSWRlbnRp
Zmllci5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQzLDgwICs0NCwxMzAgQEAgZW51bSBEZWJ1
Z2dlck1vZGUgeyBEZWJ1Z2dlck9mZiwgRGVidWdnZXJPbiB9OwogCiBlbnVtIGNsYXNzIEZ1bmN0
aW9uTW9kZSB7IEZ1bmN0aW9uRXhwcmVzc2lvbiwgRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWV0aG9k
RGVmaW5pdGlvbiB9OwogCi1lbnVtIGNsYXNzIFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQ4X3Qgewot
ICAgIE5vcm1hbEZ1bmN0aW9uTW9kZSwKLSAgICBHZW5lcmF0b3JCb2R5TW9kZSwKLSAgICBHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAotICAgIEdldHRlck1vZGUsCi0gICAgU2V0dGVyTW9k
ZSwKLSAgICBNZXRob2RNb2RlLAotICAgIEFycm93RnVuY3Rpb25Nb2RlLAotICAgIFByb2dyYW1N
b2RlLAotICAgIE1vZHVsZUFuYWx5emVNb2RlLAotICAgIE1vZHVsZUV2YWx1YXRlTW9kZQorZW51
bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50MTZfdCB7CisgICAgTm9ybWFsRnVuY3Rpb25N
b2RlICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAwMDEsCisgICAgR2VuZXJhdG9yQm9keU1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAwMTAsCisgICAgR2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZSAgPSAwYjAwMDAwMDAwMDAwMDAxMDAsCisgICAgR2V0dGVyTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDEwMDAsCisgICAgU2V0dGVyTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMTAwMDAsCisgICAgTWV0aG9kTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAxMDAwMDAsCisgICAgQXJyb3dGdW5jdGlvbk1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDEwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbkJv
ZHlNb2RlICAgICAgICAgPSAwYjAwMDAwMDAwMTAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0
aW9uQm9keU1vZGUgICAgPSAwYjAwMDAwMDAxMDAwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbk1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDEwMDAwMDAwMDAsCisgICAgQXN5bmNNZXRob2RNb2Rl
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMTAwMDAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSAgICAgICAgPSAwYjAwMDAxMDAwMDAwMDAwMDAsCisgICAgUHJvZ3JhbU1vZGUgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDEwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlQW5hbHl6ZU1v
ZGUgICAgICAgICAgICAgPSAwYjAwMTAwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlRXZhbHVhdGVN
b2RlICAgICAgICAgICAgPSAwYjAxMDAwMDAwMDAwMDAwMDAsCiB9OwogCi1pbmxpbmUgYm9vbCBp
c0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCitjbGFzcyBTb3Vy
Y2VQYXJzZU1vZGVTZXQgeyAKK3B1YmxpYzogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gTW9k
ZXM+IAorICAgIFNvdXJjZVBhcnNlTW9kZVNldChNb2Rlcy4uLiBhcmdzKSAKKyAgICAgICAgOiBt
X21hc2sobWVyZ2VTb3VyY2VQYXJzZU1vZGVzKGFyZ3MuLi4pKSAKKyAgICB7IAorICAgIH0gCisK
KyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29udGFpbnMoU291cmNlUGFyc2VNb2RlIG1vZGUpIAor
ICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgJiBtX21h
c2s7IAorICAgIH0gCisKK3ByaXZhdGU6IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2ln
bmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKTsgCisgICAgfSAKKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFJlc3Q+IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGlj
IHVuc2lnbmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSwgUmVz
dC4uLiByZXN0KSAKKyAgICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KG1vZGUpIHwgbWVyZ2VTb3VyY2VQYXJzZU1vZGVzKHJlc3QuLi4pOyAKKyAgICB9IAorCisgICAg
Y29uc3QgdW5zaWduZWQgbV9tYXNrOyAKK307IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5j
dGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJu
IFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVu
Y3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6U2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9k
ZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAg
ICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29s
IGlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sg
CisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
LCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Fycm93RnVu
Y3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVy
biBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUg
Ym9vbCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUg
Ym9vbCBpc0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30g
CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc01ldGhvZFBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUg
cGFyc2VNb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpQcm9ncmFtTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6
ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KAor
ICAgICAgICAvLyBGSVhNRTogR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSBpcyBub3QgZ3Vh
cmFudGVlZCB0byBiZSBhIG1ldGhvZC4KKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1v
ZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0
aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNb2R1bGVQ
YXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNl
TW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpT
ZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19CitBTFdB
WVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKIAotaW5saW5lIGJv
b2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAg
c3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5v
cm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1l
dGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZh
bHNlOworQUxXQVlTX0lOTElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1v
ZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZ
U19JTkxJTkUgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKSAKKyAgICAgICAgcmV0dXJuIENvbnN0cnVj
dEFiaWxpdHk6OkNhbkNvbnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpD
YW5ub3RDb25zdHJ1Y3Q7CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShj
b25zdCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1
ZDc2M2FjZWY3OWM2OWNkMjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMw
MjQxYTUyZTY2MWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCkBAIC04Myw2ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9L
RU4sCiAgICAgRVhURU5EUywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0Ug
PSAwLAogICAgIENMT1NFQlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCAxYzBkMThlZDg3MWE3MjE0ODBmZWE4
MjEyMDhhMjc3ZmEyZDgyNjg2Li41YWM2NWFiZDA0NTVmZWY2NzgxYjY0YTA3M2ViZDkyNTJhM2Nk
ZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNr
ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApA
QCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgICAgIENsYXVzZUxpc3RSZXN1bHQsIENvbW1h
RXhwciwgRGVzdHJ1Y3R1cmluZ0Fzc2lnbm1lbnQsCiAgICAgICAgIFRlbXBsYXRlU3RyaW5nUmVz
dWx0LCBUZW1wbGF0ZVN0cmluZ0xpc3RSZXN1bHQsCiAgICAgICAgIFRlbXBsYXRlRXhwcmVzc2lv
bkxpc3RSZXN1bHQsIFRlbXBsYXRlRXhwciwKLSAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZ
aWVsZEV4cHIsCisgICAgICAgIFRhZ2dlZFRlbXBsYXRlRXhwciwgWWllbGRFeHByLCBBd2FpdEV4
cHIsCiAgICAgICAgIE1vZHVsZU5hbWVSZXN1bHQsCiAgICAgICAgIEltcG9ydFNwZWNpZmllclJl
c3VsdCwgSW1wb3J0U3BlY2lmaWVyTGlzdFJlc3VsdCwKICAgICAgICAgRXhwb3J0U3BlY2lmaWVy
UmVzdWx0LCBFeHBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0CkBAIC0xODIsOCArMTgyLDEwIEBAIHB1
YmxpYzoKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVFbXB0eUxldEV4cHJlc3Npb24oY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIEFzc2lnbm1lbnRF
eHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlWWllbGQoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJikgeyByZXR1cm4gWWllbGRFeHByOyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlWWll
bGQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGJvb2wsIGludCwgaW50
LCBpbnQpIHsgcmV0dXJuIFlpZWxkRXhwcjsgfQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUF3
YWl0KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50
KSB7IHJldHVybiBBd2FpdEV4cHI7IH0KICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NF
eHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckNsYXNzSW5mbzxTeW50YXhD
aGVja2VyPiYsIFZhcmlhYmxlRW52aXJvbm1lbnQmLCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lv
blR5cGUsIFByb3BlcnR5TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0K
ICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4g
RnVuY3Rpb25FeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRh
eENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0
aW9uTWV0YWRhdGEoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJC
aW5kaW5nLCB1bnNpZ25lZCwgU291cmNlUGFyc2VNb2RlLCBib29sLCBJbm5lckFycm93RnVuY3Rp
b25Db2RlRmVhdHVyZXMgPSBOb0lubmVyQXJyb3dGdW5jdGlvbkZlYXR1cmVzKSB7IHJldHVybiBG
dW5jdGlvbkJvZHlSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVNZXRob2REZWZpbml0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhw
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmgKaW5kZXggNDA1MTI2MmRhNTFiY2JkYWI3NzVjZjYxYjBjMGNiYzBmZjU3MTFmMS4uNzM4
OWY5ZWNlY2U1Zjg4YTM4ZjQ2MjdkMjM4N2Q2MjE3Yjk2NWZmYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0xMDksNiArMTA5
LDcgQEAKICAgICBtYWNybyhhcmd1bWVudHMpIFwKICAgICBtYWNybyhhcykgXAogICAgIG1hY3Jv
KGFzc2lnbikgXAorICAgIG1hY3JvKGFzeW5jKSBcCiAgICAgbWFjcm8oYmFjaykgXAogICAgIG1h
Y3JvKGJpbmQpIFwKICAgICBtYWNybyhibHVyKSBcCkBAIC0yNzEsNiArMjcyLDcgQEAKICAgICBt
YWNybyh5ZWFyKQogCiAjZGVmaW5lIEpTQ19DT01NT05fSURFTlRJRklFUlNfRUFDSF9LRVlXT1JE
KG1hY3JvKSBcCisgICAgbWFjcm8oYXdhaXQpIFwKICAgICBtYWNybyhicmVhaykgXAogICAgIG1h
Y3JvKGNhc2UpIFwKICAgICBtYWNybyhjYXRjaCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5k
ZXggOWU5Y2Y0NDBmODQ0Y2NlODA3NjY2Nzg5MzkzZjI1YmM0NjIxNjRkYS4uMDYwNWMxNTFmODkx
MjE1MzAyZGRlMDA5NjQ0ZTAwNDFkOGM1NjNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBA
IC0zNjAsNiArMzYwLDEwIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQg
dG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBmaWxlCiAjZGVmaW5lIEVOQUJM
RV9FUzZfTU9EVUxFUyAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9FUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVgpCisjZGVmaW5lIEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9T
WU5UQVggMAorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05T
KQogI2RlZmluZSBFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TIDAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEw
ZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipd
ID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9K
SVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVN
RU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5W
QVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VT
Nl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFN
X0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1B
VElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3
OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxF
X0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9
IDsKK0VOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tz
ZGs9aXBob25lKl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkdbc2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAw
LDQgKzIwMSw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9K
SVQ7CiAKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NU
UkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VS
Q0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJF
QU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVT
KSAkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQ
SSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJ
QV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJH
TDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVf
U1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFi
ZDJjNDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2Zk
YmY5YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNf
UEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVf
RVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9
IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RP
TV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxF
X0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRV
UkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lP
TikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
V1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVO
QUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCmluZGV4IGM3MWU1YTc2YjhlYjU5OTU4MWNkODhjZDMwMDYwM2ZlM2U0MWIzYmEu
LmIzNzNjMDU2NjI1ZmU2NGFlNTZmMmU2NjE2YzUyNzc3NGJhY2RlZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UKQEAgLTExMyw2ICsxMTMsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JF
R0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVESUEgIlRv
Z2dsZSBFTUUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiAiU3VwcG9ydCBFTUUgdjIiIFBSSVZBVEUgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfTU9EVUxFUyAiVG9nZ2xlIEVTNiBt
b2R1bGVzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzIwMTcgYXN5bmMgZnVu
Y3Rpb25zIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9GRVRDSF9BUEkgIlRvZ2dsZSBGZXRjaCBBUEkgc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRklMVEVSU19MRVZFTF8yICJUb2dnbGUgRmls
dGVycyBNb2R1bGUgTGV2ZWwgMiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMgIlRvZ2dsZSBGb250IExvYWQgRXZlbnRzIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDE1ZGNmM2I5ZWY0Y2ZiOWY1OTUzZmYyODdiZWJmYTJhYjI5Y2IwMjMuLmFi
N2E0MjMzMDdlNTRkZjRmNGVlNWNlNzcxNzRkMWI4YmRmNTYxYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0w
OS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0Nd
IEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWpzYzoKKyAgICAg
ICAgKGNNYWtlQXJnc0Zyb21GZWF0dXJlcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDktMjAgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBPcHRpbWl6ZSBVUkxQYXJzZXIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWls
ZC1qc2MKaW5kZXggMjM0NzdhZmI1MGRmOWIwOTdlYjQyZjdiNDJkM2E1NzI3MDVmYjYwYS4uZjVk
MGYzOTcyNWY0MzlkZDE1NDJmMWI4YmMyOTljNzc2NWQ3MTU3YiAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy9idWlsZC1qc2MKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKQEAgLTMzLDEz
ICszMywxNiBAQCB1c2UgRmluZEJpbjsKIHVzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNz
X3Rocm91Z2gpOwogdXNlIGxpYiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7Cit1c2Ug
d2Via2l0cGVybDo6RmVhdHVyZUxpc3QgcXcoZ2V0RmVhdHVyZU9wdGlvbkxpc3QpOwogdXNlIFBP
U0lYOwogCitzdWIgY01ha2VBcmdzRnJvbUZlYXR1cmVzKCk7CiBzdWIgd3JpdGVDb25ncmF0cygp
OwogCiBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiAKIG15ICRzaG91bGRSdW5TdGF0aWNBbmFseXpl
ciA9IDA7CitteSAkbWluaW1hbCA9IDA7CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICRz
aG93SGVscCA9IDA7CiBteSAkZnRsSklUID0gaW50KGlzQXBwbGVNYWNXZWJLaXQoKSAmJiAhd2ls
bFVzZUlPU1NpbXVsYXRvclNESygpIHx8IGlzWDg2XzY0KCkgJiYgKGlzR3RrKCkgfHwgaXNFZmwo
KSB8fCBpc0pTQ09ubHkoKSkpOwpAQCAtNTAsNiArNTMsMjAgQEAgbXkgQGNtYWtlQXJnczsKIG15
ICRjb3B5TGlicmFyaWVzID0gMTsKIG15ICRzdGFydFRpbWUgPSB0aW1lKCk7CiAKK215IEBmZWF0
dXJlcyA9IGdldEZlYXR1cmVPcHRpb25MaXN0KCk7CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJv
bSBkZWZhdWx0cworZm9yZWFjaCAoQEFSR1YpIHsKKyAgICBpZiAoJF8gZXEgJy0tbWluaW1hbCcp
IHsKKyAgICAgICAgJG1pbmltYWwgPSAxOworICAgIH0KK30KKworIyBJbml0aWFsaXplIHZhbHVl
cyBmcm9tIGRlZmF1bHRzCitmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAkeyRfLT57dmFsdWV9
fSA9ICgkbWluaW1hbCA/IDAgOiAkXy0+e2RlZmF1bHR9KTsKK30KKwogIyBBZGRpdGlvbmFsIGVu
dmlyb25tZW50IHBhcmFtZXRlcnMKIHB1c2ggQEFSR1YsIHNwbGl0KC8gLywgJEVOVnsnQlVJTERf
SlNDX0FSR1MnfSkgaWYgKCRFTlZ7J0JVSUxEX0pTQ19BUkdTJ30pOwogCkBAIC02Nyw3ICs4NCw3
IEBAIFVzYWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVp
bGQgc3lzdGVtXQogICAtLWNtYWtlYXJncz08YXJndW1lbnRzPiAgICAgICBPbmUgb3IgbW9yZSBv
cHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz0iLURGT089YmFyIC1EQ01BS0Vf
UFJFRklYX1BBVEg9L3Vzci9sb2NhbCIpCiBFT0YKIAotR2V0T3B0aW9ucygKK215ICVvcHRpb25z
ID0gKAogICAgICdhbmFseXplIScgPT4gXCRzaG91bGRSdW5TdGF0aWNBbmFseXplciwKICAgICAn
Y292ZXJhZ2UhJyA9PiBcJGNvdmVyYWdlU3VwcG9ydCwKICAgICAnaGVscCcgPT4gXCRzaG93SGVs
cCwKQEAgLTc5LDYgKzk2LDIxIEBAIEdldE9wdGlvbnMoCiAgICAgJ2NtYWtlYXJncz1zJyA9PiBc
QGNtYWtlQXJncwogKTsKIAorbXkgJGRpZEFkZEZlYXR1cmVVc2FnZSA9IDA7Citmb3JlYWNoIChA
ZmVhdHVyZXMpIHsKKyAgICBpZiAoJF8tPntqYXZhc2NyaXB0fSkgeworICAgICAgICBpZiAoISRk
aWRBZGRGZWF0dXJlVXNhZ2UpIHsKKyAgICAgICAgICAgICR1c2FnZSAuPSAiXG5GZWF0dXJlczpc
biI7CisgICAgICAgICAgICAkZGlkQWRkRmVhdHVyZVVzYWdlID0gMTsKKyAgICAgICAgfQorICAg
ICAgICBteSAkb3B0ID0gc3ByaW50ZigiJS0zMXMiLCAiICAtLVtuby1dJF8tPntvcHRpb259Iik7
CisgICAgICAgICR1c2FnZSAuPSAiJG9wdCAkXy0+e2Rlc2N9IChkZWZhdWx0OiAkXy0+e2RlZmF1
bHR9KVxuIjsKKyAgICAgICAgJG9wdGlvbnN7IiRfLT57b3B0aW9ufSEifSA9ICRfLT57dmFsdWV9
OworICAgIH0KK30KKworR2V0T3B0aW9ucyglb3B0aW9ucyk7CisKIGlmICgkc2hvd0hlbHApIHsK
ICAgIHByaW50IFNUREVSUiAkdXNhZ2U7CiAgICBleGl0IDE7CkBAIC0xMDQsNiArMTM2LDggQEAg
aWYgKGlzQ01ha2VCdWlsZCgpKSB7CiAgICAgcHVzaCBAY21ha2VBcmdzLCAkZm9yY2VDTG9vcCA/
ICIgLURFTkFCTEVfSklUPU9GRiIgOiAiIC1ERU5BQkxFX0pJVD1PTiI7CiAgICAgcHVzaCBAY21h
a2VBcmdzLCAkZnRsSklUID8gIiAtREVOQUJMRV9GVExfSklUPU9OIiA6ICIgLURFTkFCTEVfRlRM
X0pJVD1PRkYiOwogCisgICAgbXkgQGZlYXR1cmVBcmdzID0gY01ha2VBcmdzRnJvbUZlYXR1cmVz
KCk7CisKICAgICBteSAkYnVpbGRUYXJnZXQgPSAiIjsKICAgICB1bmxlc3MgKGlzQW55V2luZG93
cygpKSB7CiAgICAgICAgICMgQnkgZGVmYXVsdCB3ZSBidWlsZCB1c2luZyBhbGwgb2YgdGhlIGF2
YWlsYWJsZSBDUFVzCkBAIC0xMTQsNyArMTQ4LDcgQEAgaWYgKGlzQ01ha2VCdWlsZCgpKSB7CiAg
ICAgfQogCiAgICAgIyBUaGlzIGNhbGwgb25seSByZXR1cm5zIGlmIG5vdGhpbmcgd3JvbmcgaGFw
cGVuZWQKLSAgICBidWlsZENNYWtlUHJvamVjdE9yRXhpdCgwLCB1bmRlZiwgJGJ1aWxkVGFyZ2V0
LCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMoKSwgQGNtYWtlQXJncykpOworICAgIGJ1aWxkQ01h
a2VQcm9qZWN0T3JFeGl0KDAsIHVuZGVmLCAkYnVpbGRUYXJnZXQsIChjbWFrZUJhc2VkUG9ydEFy
Z3VtZW50cygpLCBAZmVhdHVyZUFyZ3MsIEBjbWFrZUFyZ3MpKTsKICAgICB3cml0ZUNvbmdyYXRz
KCk7CiAgICAgZXhpdCBleGl0U3RhdHVzKDApOwogfQpAQCAtMTIzLDYgKzE1NywyMCBAQCBpZiAo
aXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgcHVzaCBAb3B0aW9ucywgKCRmb3JjZUNMb29wID8g
IkVOQUJMRV9KSVQ9RU5BQkxFX0pJVD0wIiA6ICJFTkFCTEVfSklUPUVOQUJMRV9KSVQiKTsKICAg
ICBwdXNoIEBvcHRpb25zLCAoJGZ0bEpJVCA/ICJFTkFCTEVfRlRMX0pJVD1FTkFCTEVfRlRMX0pJ
VCIgOiAiRU5BQkxFX0ZUTF9KSVQ9RU5BQkxFX0ZUTF9KSVQ9MCIpOwogCisgICAgc3ViIG9wdGlv
bigkJCQpCisgICAgeworICAgICAgICBteSAoJGZlYXR1cmUsICRpc0VuYWJsZWQsICRkZWZhdWx0
VmFsdWUpID0gQF87CisgICAgICAgIHJldHVybiAiIiBpZiAkZGVmYXVsdFZhbHVlID09ICRpc0Vu
YWJsZWQ7CisgICAgICAgIHJldHVybiAkZmVhdHVyZSAuICI9IiAuICgkaXNFbmFibGVkID8gJGZl
YXR1cmUgOiAiIik7CisgICAgfQorCisgICAgZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgICAg
IGlmICgkXy0+e2phdmFzY3JpcHR9KSB7CisgICAgICAgICAgICBteSAkb3B0aW9uID0gb3B0aW9u
KCRfLT57ZGVmaW5lfSwgJHskXy0+e3ZhbHVlfX0sICRfLT57ZGVmYXVsdH0pOworICAgICAgICAg
ICAgcHVzaCBAb3B0aW9ucywgJG9wdGlvbiB1bmxlc3MgJG9wdGlvbiBlcSAiIjsKKyAgICAgICAg
fQorICAgIH0KKwogICAgIGlmICgkY29weUxpYnJhcmllcykgewogICAgICAgICBteSBAY29weUxp
YnJhcmllc0FyZ3MgPSAoInBlcmwiLCAiVG9vbHMvU2NyaXB0cy9jb3B5LXdlYmtpdGxpYnJhcmll
cy10by1wcm9kdWN0LWRpcmVjdG9yeSIpOwogICAgICAgICBwdXNoIEBjb3B5TGlicmFyaWVzQXJn
cywgIi0tZGV2aWNlIiBpZiB3aWxsVXNlSU9TRGV2aWNlU0RLKCk7CkBAIC0xNTMsNiArMjAxLDIy
IEBAIHN1YiBidWlsZE15UHJvamVjdAogICAgIGNoZGlyV2ViS2l0KCk7CiB9CiAKK3N1YiBjTWFr
ZUFyZ3NGcm9tRmVhdHVyZXMoKQoreworICAgIG15IEBhcmdzOworICAgIGZvcmVhY2ggKEBmZWF0
dXJlcykgeworICAgICAgICBteSAkZmVhdHVyZU5hbWUgPSAkXy0+e2RlZmluZX07CisgICAgICAg
IGlmICgkZmVhdHVyZU5hbWUpIHsKKyAgICAgICAgICAgIG15ICRpc0VuYWJsZWQgPSAkeyRfLT57
dmFsdWV9fTsKKyAgICAgICAgICAgIGlmICgkaXNFbmFibGVkICE9ICRfLT57ZGVmYXVsdH0pIHsK
KyAgICAgICAgICAgICAgICBteSAkZmVhdHVyZUVuYWJsZWQgPSAkaXNFbmFibGVkID8gIk9OIiA6
ICJPRkYiOworICAgICAgICAgICAgICAgIHB1c2ggQGFyZ3MsICItRCRmZWF0dXJlTmFtZT0kZmVh
dHVyZUVuYWJsZWQiOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVy
biBAYXJnczsKK30KKwogc3ViIHdyaXRlQ29uZ3JhdHMoKQogewogICAgIG15ICRlbmRUaW1lID0g
dGltZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDY5ZGNl
NzZkZWMwNjJiMzA4MWYwN2QxYjNiZGUxMmJiMzNkZGJmNmEuLjliN2FmYjM1NGNjZDkyMTcyYzAz
MTViODZlNmEwYTdlZGEwOWMyZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KQEAgLTUxLDYgKzUxLDcgQEAgQkVHSU4gewogbXkgKAogICAgICRhY2NlbGVyYXRlZDJE
Q2FudmFzU3VwcG9ydCwKICAgICAkYWxsSW5PbmVCdWlsZCwKKyAgICAkYXN5bmNmdW5jdGlvblN5
bnRheCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0ZXJ5U3RhdHVz
U3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNzMsNiArMTc0LDEwIEBAIG15
IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWxsaW5vbmUtYnVpbGQiLCBkZXNjID0+
ICJUb2dnbGUgYWxsLWluLW9uZSBidWlsZCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BTExJ
Tk9ORV9CVUlMRCIsIGRlZmF1bHQgPT4gaXNXaW5kb3dzKCksIHZhbHVlID0+IFwkYWxsSW5PbmVC
dWlsZCB9LAogCisgICAgeyBvcHRpb24gPT4gImFzeW5jZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9
PiAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIsCisgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDAsIHZh
bHVlID0+IFwkYXN5bmNmdW5jdGlvblN5bnRheCwKKyAgICAgIGphdmFzY3JpcHQgPT4gMSB9LAor
CiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVudCIsIGRlc2MgPT4gIlRvZ2dsZSBB
dHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkYXR0YWNobWVudEVsZW1l
bnRTdXBwb3J0IH0sCiAKQEAgLTI2NCw3ICsyNjksOCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9HQU1FUEFEIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGdh
bWVwYWRTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiZ2VuZXJhdG9ycyIsIGRlc2MgPT4g
IlRvZ2dsZSBFUzYgZ2VuZXJhdG9ycyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0VTNl9HRU5FUkFUT1JTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGdlbmVyYXRvcnNTdXBw
b3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0b3JzU3VwcG9ydCwKKyAgICAgIGphdmFzY3JpcHQgPT4g
MSB9LAogCiAgICAgeyBvcHRpb24gPT4gImdlb2xvY2F0aW9uIiwgZGVzYyA9PiAiVG9nZ2xlIEdl
b2xvY2F0aW9uIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0VPTE9DQVRJT04i
LCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNJT1NXZWJLaXQoKSB8fCBpc0d0aygp
IHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJGdlb2xvY2F0aW9uU3VwcG9ydCB9LApAQCAtMzQyLDcg
KzM0OCw4IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX01IVE1M
IiwgZGVmYXVsdCA9PiAoaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRtaHRtbFN1cHBv
cnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJtb2R1bGVzIiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBt
b2R1bGVzIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X01PRFVMRVMiLCBk
ZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkbW9kdWxlc1N1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJG1vZHVsZXNT
dXBwb3J0LAorICAgICAgamF2YXNjcmlwdCA9PiAxIH0sCiAKICAgICB7IG9wdGlvbiA9PiAibW91
c2UtY3Vyc29yLXNjYWxlIiwgZGVzYyA9PiAiVG9nZ2xlIFNjYWxlZCBtb3VzZSBjdXJzb3Igc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUiLCBkZWZh
dWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkbW91c2VDdXJzb3JTY2FsZVN1cHBvcnQgfSwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThhZjc4MmE3Nzk5
ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVT
ID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
W3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0y
MDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRM
X0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVM
RVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hf
QVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJM
RV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No
YW5nZUxvZwppbmRleCA5YzY3Y2ExMTE5NTljMDA2ZDJhMzBhYTUwNmMwMzc1N2ExMDIxNjRhLi41
ZjY5ZWZlNmU2MTMxZWZjNjg5NDhlMTAzZDJmOWQ1MjkwNTk0YTZlIDEwMDY0NAotLS0gYS9DaGFu
Z2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDktMjEgIENhaXRs
aW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQg
cGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgor
CiAyMDE2LTA5LTIwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAYW0uc29ueS5jb20+CiAK
ICAgICAgICAgW1dpbkNhaXJvXSBVc2UgZmluZF9wYWNrYWdlIGNhaXJvIGluIGJ1aWxkCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIzZjY4
ZDJmY2VlZTVkNzAyNDJjMzI5ZmRjMDM2OWEyY2FhMzU2MzAuLjExYTQ2YjdkMDU4YWJkMTZmMzIz
Zjk5YmVmNDI5Y2Q5ZGVjY2QwYzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4g
UG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFy
c2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qczogQWRkZWQuCisg
ICAgICAgICh0ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3RTeW50YXhFcnJvcik6CisgICAgICAg
ICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4KToKKyAg
ICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKToKKyAgICAgICAg
KHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKToKKyAgICAgICAgKHRlc3RU
b3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlLnRlc3RTeW50YXgpOgorICAgICAgICAo
dGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXguYXN5bmMpOgorICAgICAgICAodGVzdE5lc3RlZEFz
eW5jQXdhaXRTeW50YXguZm9vKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50
YXhTbG9wcHlNb2RlLnRlc3RTeW50YXhFcnJvcik6CisKIDIwMTYtMDktMjAgIEJlbmphbWluIFBv
dWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRG8gbm90IHVzZSBF
YWdlclJ1biBvbiB0ZXN0cyBjb3VudGluZyByZWNvbXBpbGF0aW9uCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVzcy9hc3luYy1h
d2FpdC1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhZTc3ZDZlNjI0ZjU0YzlkNjczYWY3YzkyOWE1
OTk3ZTI0YmE4MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FzeW5jLWF3YWl0
LXN5bnRheC5qcwpAQCAtMCwwICsxLDI4MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBW
OCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8vIFRoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFY
IHRvIGJlIGVuYWJsZWQgYXQgYnVpbGQgdGltZS4KKy8vQCBza2lwCisKK2Z1bmN0aW9uIHRlc3RT
eW50YXgoc2NyaXB0KSB7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0g
Y2F0Y2ggKGVycm9yKSB7CisgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9y
KQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJy
b3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworICAgIH0KK30K
KworZnVuY3Rpb24gdGVzdFN5bnRheEVycm9yKHNjcmlwdCwgbWVzc2FnZSkgeworICAgIHZhciBl
cnJvciA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVycm9yKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHN5bnRheCBlcnJvciBub3QgdGhyb3duXG4g
ICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7CisKKyAgICBpZiAodHlwZW9mIG1l
c3NhZ2UgPT09ICJzdHJpbmciICYmIFN0cmluZyhlcnJvcikgIT09IG1lc3NhZ2UpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSArICJcbiAgICAg
ICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKK30KKworKGZ1bmN0aW9uIHRlc3RUb3BM
ZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgeworICAgIHRlc3RTeW50YXgoYHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRh
eChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdhaXQgMTsgfTtg
KTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IGF3YWl0ICd0ZXN0
JztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdhaXQgeCAr
ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgeyBh
d2FpdCAxOyB9YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCgpIHsg
YXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyBbJ21ldGgn
ICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsg
YXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIg
TyA9IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNz
IEMgeyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBj
bGFzcyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7
CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9KSA9PiBmb287
YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSA9IHt9
KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5
bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0g
YXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRlc3RUb3BMZXZlbEFz
eW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0
IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdhaXQgMTsgfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0
aE5hbWUoKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2
YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IGF3YWl0ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4ICsgJ3Rlc3Qn
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24gYXN5bmNG
bigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsg
fSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdt
ZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3Qi
OyB2YXIgTyA9IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgo
YCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcg
KyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0
IjsgY2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyh7
IGZvbyA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFy
IGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSA9IHt9KSA9PiBmb287YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3luYyh5aWVsZCk7
IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBnKCkgeyB2YXIg
ZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0TmVzdGVk
QXN5bmNBd2FpdFN5bnRheCgpIHsKKyAgICB2YXIgY29udGV4dERhdGEgPSBbCisgICAgICAgIHsg
cHJlZml4OiAiZnVuY3Rpb24gb3V0ZXJGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisg
ICAgICAgIHsgcHJlZml4OiAiZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyAiLCBzdWZmaXg6
ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJGdW5jRXhwciA9IGZ1bmN0aW9u
KCkgeyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyR2Vu
RXhwciA9IGZ1bmN0aW9uKigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZp
eDogInZhciBvdXRlck9iamVjdCA9IHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07
IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgKm91dGVyR2VuTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0
ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07
IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyAq
b3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZp
eDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgb3V0ZXJTdGF0aWNNZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNz
IHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZp
eDogImNsYXNzIG91dGVyQ2xhc3MgeyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9
IH07IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgb3V0
ZXJTdGF0aWNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZp
eDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0aG9kKCkgeyAi
LCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJBcnJvdyA9
ICgpID0+IHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogImFzeW5jIGZ1
bmN0aW9uIG91dGVyQXN5bmNGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAg
IHsgcHJlZml4OiAidmFyIG91dGVyQXN5bmNGdW5jRXhwciA9IGFzeW5jIGZ1bmN0aW9uKCkgeyAi
LCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQXN5bmNBcnJv
d0Z1bmMgPSBhc3luYyAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2QoKSB7ICIsIHN1
ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9
IGNsYXNzIEMgeyBhc3luYyBvdXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIg
fSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3Rh
dGljIGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9
LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBhc3luYyBvdXRlckFzeW5j
TWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFz
cyBvdXRlckNsYXNzIHsgc3RhdGljIGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRob2QoKSB7ICIs
IHN1ZmZpeDogIiB9IH07IiB9LAorICAgIF07CisKKyAgICB2YXIgdGVzdERhdGEgPSBbCisgICAg
ICAgIGB2YXIgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGxldCBhc3luYyA9
IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgY29uc3QgYXN5bmMgPSAxOyByZXR1cm4gYXN5
bmM7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGFzeW5jKCkge30gcmV0dXJuIGFzeW5jKCk7YCwKKyAg
ICAgICAgYHZhciBhc3luYyA9IGFzeW5jID0+IGFzeW5jOyByZXR1cm4gYXN5bmMoKTtgLAorICAg
ICAgICBgZnVuY3Rpb24gZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAor
ICAgICAgICBgZnVuY3Rpb24gZm9vKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAg
IGBmdW5jdGlvbiogZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAorICAg
ICAgICBgZnVuY3Rpb24qIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBg
dmFyIGYgPSAoKSA9PiB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2FpdDsgfWAsCisgICAgICAg
IGB2YXIgTyA9IHsgbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH0gfTtg
LAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZChhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH0gfTtg
LAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoKSB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBh
d2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZChhd2FpdCkgeyByZXR1cm4g
YXdhaXQ7IH0gfTtgLAorCisgICAgICAgIGAoZnVuY3Rpb24gYXdhaXQoKSB7fSlgLAorICAgIF07
CisKKyAgICBmb3IgKGxldCBjb250ZXh0IG9mIGNvbnRleHREYXRhKSB7CisgICAgICAgIGZvciAo
bGV0IHRlc3Qgb2YgdGVzdERhdGEpIHsKKyAgICAgICAgICAgIGxldCBzY3JpcHQgPSBjb250ZXh0
LnByZWZpeCArIHRlc3QgKyBjb250ZXh0LnN1ZmZpeDsKKyAgICAgICAgICAgIHRlc3RTeW50YXgo
c2NyaXB0KTsKKyAgICAgICAgICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgJHtzY3JpcHR9
YCk7CisgICAgICAgIH0KKyAgICB9Cit9KSgpOworCisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxB
c3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBh
c3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHsgdmFyIGF3YWl0ID0g
J3Rlc3QnOyB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyBh
d2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5j
Rm4gPSBhc3luYyBmdW5jdGlvbihhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoYXdhaXQpIHt9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgYXN5bmMgZnVuY3Rpb24gYXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uKGF3YWl0KSB7fWApOworCisgICAgLy8gRklYTUU6IE1ldGhvZERlZmluaXRpb25zIGRvIG5v
dCBhcHBseSBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzIHJlc3RyaWN0aW9ucworICAgIC8vICAgICAg
ICBpbiBzbG9wcHkgbW9kZSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MTQwOCkKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3lu
YyBtZXRob2QoYSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJP
YmplY3QgPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgLy90ZXN0
U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30g
fWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIDAo
YSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNBcnJvd0ZuID0g
YXN5bmMoKSA9PiBhd2FpdDtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbiooKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgYXN5bmMgZnVu
Y3Rpb24qIGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBP
ID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50
YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRo
b2QqKCkge30gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3lu
YyBmdW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgYXN5bmMgZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQgMSkgPT4geDtgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3YWl0IDEpIHsg
cmV0dXJuIHg7IH0gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVy
R2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMgeWllbGQgPT4gMTsgfWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5
bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHgg
PSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVy
R2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoe3ggPSB5aWVsZH0pID0+IDE7
IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9y
KCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0
ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGBjbGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBw
cm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMo
KSA9PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8gSGVucmlxdWUg
RmVycmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1bmN0aW9u
IGZvbzEoKSB7IH0gZm9vMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1
bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
YyBmdW5jdGlvbiBmb280KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5
bmMgZnVuY3Rpb24oKSB7IH0gZm9vNSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFz
eW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5
bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYy5m
b282ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNyBmb284ID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vOSAoKSA9PiAxKWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydm
b28xNCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE1J10gZm9v
MTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTcnXSAoKSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzE4J10gPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMjEnXSAoKSA9PiAxYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKCIoYXN5bmNgZm9vMjJgID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIo
YXN5bmNgZm9vMjNgIGZvbzI0ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNg
Zm9vMjVgICgpID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjZgLmJh
cjI3ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjhgLmJhcjI5IGZv
bzMwID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMzFgLmJhcjMyICgp
ID0+IDEpIik7CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBm
b3IgY2FsbHMgdGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50
YXhFcnJvcihgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAgICAgYXN5bmMo
eyBmb28zMyA9IDEgfSlgKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3
YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgpIHt9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3
YWl0ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
YXN5bmNGbiA9IGFzeW5jICgpID0+IHsgdmFyIGF3YWl0ID0gJ3Rlc3QnOyB9O2ApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGF3YWl0ID0+
IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUo
YXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3lu
Y0ZuID0gYXN5bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihhd2Fp
dCkge31gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJP
YmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRoJyArICdvZCdd
KGEsIGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91
dGVyT2JqZWN0ID0geyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgMChhLCBhKSB7
fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jQXJy
b3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiooKSB7fWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiogYXN5bmNHZW5lcmF0b3Io
KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgKmFz
eW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9
IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3lu
YyBhc3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEp
IHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5
bmMgZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4O2Ap
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0
aG9kKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNB
cnJvd0ZuID0gYXN5bmMgeWllbGQgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyh5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3lu
Yyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMo
e3ggPSB5aWVsZH0pID0+IDE7IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBjbGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IGFz
eW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyBjbGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7fTsgY2xhc3MgQzIgZXh0ZW5kcyBD
IHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkg
PT4geCkoKTtgKTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzEoKSB7IH0g
Zm9vMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMg
ZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gZm9vNSA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24o
KSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFz
eW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYy5mb282ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNCddID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTUnXSBmb28x
NiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2Zv
bzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFz
eW5jKClbJ2ZvbzE4J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgKGFzeW5jKClbJ2ZvbzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIyYCA9PiAxKScpOworICAgIHRlc3RT
eW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjNgIGZvbzI0ID0+IDEpJyk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yNWAgKCkgPT4gMSkn
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI2YC5iYXIy
NyA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9v
MjhgLmJhcjI5IGZvbzMwID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmlj
dCI7IChhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSknKTsKKworICAgIC8vIGFzc2VydCB0aGF0
IGVycm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZlIGJlZW4gYXN5
bmMgZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9u
IGFzeW5jKCkge30KKyAgICAgICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7
CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1l
dGhvZChldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oZXZhbCkge30gfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoZXZhbCkge30g
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMg
MChldmFsKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIG1ldGhvZChhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhcmd1bWVu
dHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jICdtZXRob2QnKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgMChhcmd1bWVudHMpIHt9IH1gKTsKKworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKGR1
cGUsIGR1cGUpIHt9IH1gKTsKK30pKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289489</attachid>
            <date>2016-09-21 16:35:24 -0700</date>
            <delta_ts>2016-09-21 18:18:49 -0700</delta_ts>
            <desc>Async Function Parsing v7</desc>
            <filename>bug-161409-20160921193235.patch</filename>
            <type>text/plain</type>
            <size>160262</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NjE2NmU1NDBmNmY2MDk2YTQ5MzhjOTVkNDNlODI2MmM3Yjg4YjYyLi5jNDA3ZjYyOWQxNzE3OTc5
NmZkM2JiZjY0YWJmYTQ4OTY4NGI2MjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MSBAQAorMjAxNi0wOS0wNyAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNl
cyBmcm9udGVuZCBwYXJzaW5nIGZvciB0aGUgYXN5bmMgZnVuY3Rpb24gcHJvcG9zYWwgc29vbiB0
byBiZQorICAgICAgICByYXRpZmllZCBpbiBFQ01BMjYyIChodHRwczovL3RjMzkuZ2l0aHViLmlv
L2VjbWFzY3JpcHQtYXN5bmNhd2FpdC8pLgorCisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUpOgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1
aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXN5bmNGdW5jdGlvbkJv
ZHkpOgorICAgICAgICAqIHBhcnNlci9LZXl3b3Jkcy50YWJsZToKKyAgICAgICAgKiBwYXJzZXIv
UGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6aXNBcnJvd0Z1bmN0aW9uUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudExpc3RJdGVtKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybik6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6bWF5YmVQYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpzdHJpbmdGb3JGdW5jdGlvbk1vZGUpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0Q2xhdXNlSXRlbSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydERlY2xhcmF0aW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwb3J0RGVjbGFyYXRp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUF3YWl0RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2Qp
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVy
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVW5hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBy
aW50VW5leHBlY3RlZFRva2VuVGV4dCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNl
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjppc01vZHVsZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6
OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OnBy
b3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHBy
ZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzR2VuZXJhdG9yQm91bmRhcnkpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmluZGljYXRlc1Bvc3Np
YmxlUGF0dGVybik6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6Cisg
ICAgICAgIChKU0M6Om9uZU9mU291cmNlUGFyc2VNb2Rlcyk6CisgICAgICAgIChKU0M6OmlzRnVu
Y3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUp
OgorICAgICAgICAoSlNDOjppc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZSk6CisgICAgICAg
IChKU0M6OmlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpp
c0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNZXRob2RQYXJz
ZU1vZGUpOgorICAgICAgICAoSlNDOjppc01vZHVsZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6
OmlzUHJvZ3JhbVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEFiaWxpdHlGb3JQ
YXJzZU1vZGUpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBc3luY0Z1bmN0aW9uQm9keSk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUZ1bmN0aW9uRXhwcik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oOgorCiAyMDE2LTA5LTIxICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5j
b20+CiAKICAgICAgICAgSW5saW5lIGZ1bmN0aW9uIG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJh
Nzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFU
SCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2
X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVO
QUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9F
TEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJ
VEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVT
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
UzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJs
ZS5jcHAKaW5kZXggMDU0ZDYzZGY1OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uZjAy
OGQ0ODgwYzk1NzI2ODZkMzgyYzUzOWFkZDVhNzY4Y2QzMzQ3MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuY3BwCkBAIC04OSw2ICs4OSw3IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpV
bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAg
LCBtX3R5cGVQcm9maWxpbmdFbmRPZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9k
ZS0+c291cmNlKCkubGVuZ3RoKCkgLSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5w
YXJhbWV0ZXJDb3VudCgpKQogICAgICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJz
ZU1vZGUobm9kZS0+cGFyc2VNb2RlKCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUt
PmlzSW5TdHJpY3RDb250ZXh0KCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNl
KQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihraW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0
aW9uKQpAQCAtOTgsNyArOTksNiBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV9j
b21tZW50TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQogICAgICwgbV9z
dXBlckJpbmRpbmcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSkK
ICAgICAsIG1fZGVyaXZlZENvbnRleHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVk
Q29udGV4dFR5cGUpKQotICAgICwgbV9zb3VyY2VQYXJzZU1vZGUoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSkKICAgICAsIG1fbmFtZShub2RlLT5pZGVudCgpKQogICAg
ICwgbV9lY21hTmFtZShub2RlLT5lY21hTmFtZSgpKQogICAgICwgbV9pbmZlcnJlZE5hbWUobm9k
ZS0+aW5mZXJyZWROYW1lKCkpCkBAIC0xMTIsNyArMTEyLDYgQEAgVW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3QKICAgICBBU1NFUlQobV9jb21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
Y29tbWVudE1vZGUpKTsKICAgICBBU1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENv
bnRleHRUeXBlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsK
LSAgICBBU1NFUlQobV9zb3VyY2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5v
ZGUtPnBhcnNlTW9kZSgpKSk7CiAKICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAo
cGFyZW50U2NvcGVURFpWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAx
ZTNjYmFmZmVjMjg4N2M3OTYwN2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi44OWFhYjhhYmY3MTcxZThk
NDk4Y2I1YWMzMTg3NDJkYzczMDU3MDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtMTU1
LDYgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zm
c2V0OwogICAgIHVuc2lnbmVkIG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1f
ZmVhdHVyZXM7CisgICAgU291cmNlUGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVu
c2lnbmVkIG1faXNJblN0cmljdENvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVy
ZWRWYXJpYWJsZXMgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwpA
QCAtMTY0LDcgKzE2NSw2IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTog
MTsgLy8gSlNQYXJzZXJDb21tZW50TW9kZQogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDog
MTsKICAgICB1bnNpZ25lZCBtX2Rlcml2ZWRDb250ZXh0VHlwZTogMjsKLSAgICB1bnNpZ25lZCBt
X3NvdXJjZVBhcnNlTW9kZSA6IDQ7IC8vIFNvdXJjZVBhcnNlTW9kZQogCiAgICAgV3JpdGVCYXJy
aWVyPFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDYWxs
OwogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3VubGlua2Vk
Q29kZUJsb2NrRm9yQ29uc3RydWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCAwNzVmNWNkOTZhYjll
MmQ2ZmEyYThiZTA3MDAwNjFmZTFhNTAzOTZkLi44MDYxM2QwNmMzMGVlM2I4YjcyMmZiYzI3OTY2
NTZhODU5YTg1ZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjk4NiwxNyArMjk4NiwxNCBAQCBS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiBkc3QsIEZ1bmNFeAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5j
RXhwck5vZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUpOworICAgIEFTU0VSVChm
dW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVz
c2lvbkNvbW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CiAK
IFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3TWV0aG9kRGVmaW5pdGlvbihS
ZWdpc3RlcklEKiBkc3QsIE1ldGhvZERlZmluaXRpb25Ob2RlKiBmdW5jKQogewotICAgIEFTU0VS
VChmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvcldyYXBwZXJGdW5jdGlvbk1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFy
c2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMt
Pm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZQot
ICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1v
ZGU6Ok1ldGhvZE1vZGUpOworICAgIEFTU0VSVChpc01ldGhvZFBhcnNlTW9kZShmdW5jLT5tZXRh
ZGF0YSgpLT5wYXJzZU1vZGUoKSkpOwogICAgIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21t
b24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsKICAgICByZXR1cm4gZHN0OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4
IDJlZGVhOGNiMWJmMDk0Mzg0YTAzYTZmOTBiYWY4ODMwNjU2MTA3YWYuLmY0MmJlZGUzOWM3NmYy
YzUwM2FmYWQ0NzVhYzgwYWQ4NWIzMTM0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM1MDIsNiArMzUwMiwxOCBA
QCBSZWdpc3RlcklEKiBZaWVsZEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRAogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUo
Z2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOwogfQogCisvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXdhaXRFeHByTm9kZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorCitSZWdpc3RlcklEKiBBd2FpdEV4cHJOb2RlOjplbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQorewor
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBhcmcgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7Cisg
ICAgZ2VuZXJhdG9yLmVtaXROb2RlKGFyZy5nZXQoKSwgYXJndW1lbnQoKSk7CisgICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IHZhbHVlID0gZ2VuZXJhdG9yLmVtaXRZaWVsZChhcmcuZ2V0KCkpOworICAg
IGlmIChkc3QgPT0gZ2VuZXJhdG9yLmlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TW92ZShnZW5lcmF0b3IuZmluYWxEZXN0
aW5hdGlvbihkc3QpLCB2YWx1ZS5nZXQoKSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCiB2b2lkIENsYXNzRGVjbE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCmluZGV4IDFjMTEzYmFlMTRkNTZkNzgwOWExMGRmYjljNWY2Mzc4NjAwYjcw
MDEuLmZkYmQyZjQ4NDIyODk5MGE0MDc1MGFmNzc1YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNjcsNiArMzY3LDE0IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCisgICAgQXdhaXRFeHByTm9kZSog
Y3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5v
ZGUqIGFyZ3VtZW50LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChhcmd1bWVudCk7CisgICAgICAgIEF3YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcgKG1f
cGFyc2VyQXJlbmEpIEF3YWl0RXhwck5vZGUobG9jYXRpb24sIGFyZ3VtZW50KTsKKyAgICAgICAg
c2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOworICAgICAgICBy
ZXR1cm4gbm9kZTsKKyAgICB9CisKICAgICBDbGFzc0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4cHIo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPEFT
VEJ1aWxkZXI+JiBjbGFzc0luZm8sIFZhcmlhYmxlRW52aXJvbm1lbnQmIGNsYXNzRW52aXJvbm1l
bnQsIEV4cHJlc3Npb25Ob2RlKiBjb25zdHJ1Y3RvciwKICAgICAgICAgRXhwcmVzc2lvbk5vZGUq
IHBhcmVudENsYXNzLCBQcm9wZXJ0eUxpc3ROb2RlKiBpbnN0YW5jZU1ldGhvZHMsIFByb3BlcnR5
TGlzdE5vZGUqIHN0YXRpY01ldGhvZHMpCiAgICAgewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUq
IGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAg
ICBTb3VyY2VDb2RlIHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlv
bkluZm8uc3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbigpID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8u
ZW5kT2Zmc2V0LCBmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVy
c1N0YXJ0Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3ICht
X3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwg
ZnVuY3Rpb25JbmZvLmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9k
eS0+c2V0TG9jKGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBs
b2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0
aW9uRXhwcihsb2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNzaW9u
Tm9kZSogY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykK
ICAgICB7CiAgICAgICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFy
c2VyQXJlbmEpIE1ldGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5h
bWUsIGZ1bmN0aW9uSW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5
d29yZHMudGFibGUKaW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQy
YS4uMmY3ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVl
CQlUUlVFVE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAgICAg
ICBBV0FJVAogYnJlYWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggNjliNDQy
OGU4NzljYTgwMGU5Y2ExYjg3YjM2MmEyMzcwODg3N2JjNi4uYzFkNTQ3YmM3ZjkwMWMwNmM2NTM5
ODYyODlkMzViNTQ1MjA1MDM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTkzOCw2ICs5MzgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJOb2Rl
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVu
dCkKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2FyZ3Vt
ZW50KGFyZ3VtZW50KQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ2xhc3NEZWNsTm9kZTo6
Q2xhc3NEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9u
Tm9kZSogY2xhc3NEZWNsYXJhdGlvbikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9u
KQogICAgICAgICAsIG1fY2xhc3NEZWNsYXJhdGlvbihjbGFzc0RlY2xhcmF0aW9uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGUyZWFhZTEwMzg4MzI4M2YzMDFiZjAyNzM5
NGYzMTA5ODJjYjAzMWUuLmJmMWE5MDhhMjZkMTJjZDU0ZmZkZmE1MmUxM2U3ZjI5ZjU4ODZjYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTIwMDYsNiArMjAwNiwxOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBtX2RlbGVnYXRlOwogICAgIH07CiAKKyAg
ICBjbGFzcyBBd2FpdEV4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJs
aWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXdhaXRF
eHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQp
OworCisgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
YXJndW1lbnQ7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRCeXRl
Y29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisKKyAg
ICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fYXJndW1lbnQ7CisgICAgfTsKKwogICAgIGNsYXNzIENs
YXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBWYXJpYWJs
ZUVudmlyb25tZW50Tm9kZSB7CiAgICAgcHVibGljOgogICAgICAgICB1c2luZyBQYXJzZXJBcmVu
YURlbGV0YWJsZTo6b3BlcmF0b3IgbmV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwCmluZGV4IDQzNzA4ZmZhZTI2NDkzOTI4ZDViMjEzOTQyMjhmYzZjYzJmODg5YzYuLmY0
Zjk2NWNkNGM3ZDQ4Y2I5MDA4OTU1ZGU3OTk2NDU2OWJlY2ZjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50
aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBh
cyBhICIsIF9fVkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRU
b2tlbkZsYWcpIFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3Jk
ICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWls
KCJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJ
ZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CkBAIC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAg
IHNjb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFy
c2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlv
blBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbkJvZHlNb2RlICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVy
LT5pc1JlcGFyc2luZ0Z1bmN0aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKQorICAgICAgICBpZiAoU291cmNlUGFyc2VNb2Rl
U2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9k
ZSkgfHwgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAg
ICAgbV9wYXJhbWV0ZXJzID0gY3JlYXRlR2VuZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0LCBmdW5j
dGlvbkluZm8ucGFyYW1ldGVyQ291bnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3Bh
cmFtZXRlcnMgPSBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1
bmN0aW9uSW5mbyk7CiAKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlICYmICFoYXNFcnJvcigpKSB7CisgICAgICAgIGlmIChTb3VyY2VQ
YXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpICYmICFo
YXNFcnJvcigpKSB7CiAgICAgICAgICAgICAvLyBUaGUgb25seSB3YXkgd2UgY291bGQgaGF2ZSBh
biBlcnJvciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgog
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwogICAgICAg
ICAgICAgbmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNl
TW8KICAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBudWxscHRyOwogICAgIC8v
IFRoZSBvbmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBlYXJseSBpcyBpZiB3ZSByZXBhcnNlIGEg
ZnVuY3Rpb24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sgc3BhY2UuCiAgICAgaWYgKCFoYXNFcnJv
cigpKSB7Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAg
ICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkKKyAgICAg
ICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMo
Y29udGV4dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tG
b3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24pCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNp
bmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoY29udGV4dCk7CiAgICAgICAgIGVsc2Ug
aWYgKGlzTW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkpCiAgICAgICAgICAgICBzb3VyY2VFbGVt
ZW50cyA9IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlKTsKLSAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgICAgICBzb3VyY2VF
bGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBD
aGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHNv
dXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmlj
dE1vZGUpOwotICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCisgICAgICAgICAgICBzb3Vy
Y2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzb3VyY2VF
bGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2Rl
KTsKICAgICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5nID0gY29uc3VtZShFT0ZUT0spOwpAQCAt
MzEwLDcgKzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25z
dCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgZm9yIChhdXRvJiBl
bnRyeSA6IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAgICB2YXJEZWNsYXJhdGlvbnMubWFya1Zh
cmlhYmxlQXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChTb3VyY2VQ
YXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2Rl
KS5jb250YWlucyhwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUo
cGFyc2VNb2RlKSkgewogICAgICAgICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXNDb250YWlucyht
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAgICAgIGNvbnRl
eHQucHJvcGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICszNTYsMTAgQEAg
dm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyog
c291cmNlRWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIHsKLSAg
ICBib29sIGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlzSWRlbnQg
PSBtYXRjaChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAhaXNJZGVudCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxz
ZTsKLSAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dCgpOwotICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAobWF0Y2goT1BF
TlBBUkVOKSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgewogICAgICAg
ICAgICAgbmV4dCgpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0Y2goQVJST1dG
VU5DVElPTik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpp
c0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWduZWQgcGFyYW1l
dGVyc0NvdW50ID0gMDsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBhcnNlRm9ybWFs
UGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZvcm1hbFBhcmFt
ZXRlckxpc3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFSRU4pICYmIG1h
dGNoKEFSUk9XRlVOQ1RJT04pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICBwb3BT
Y29wZShmYWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKICAg
ICAgICAgfQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQp
OworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAgICAgCi0gICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAgICAgCi0gICAg
cmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkp
IHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9
IG1hdGNoKEFSUk9XRlVOQ1RJT04pOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOworICAgIH0K
KworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
QEAgLTU0MCw2ICs1MzksNTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3Vy
Y2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2Rl
IG1vZGUpCit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFy
c2VNb2RlKSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNl
RWxlbWVudHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5T
dGFydCgpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAg
ICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisKKyAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1lID0gJm1fdm0t
PnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVyYXRvclBhcmFt
ZXRlcnMoY29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5zdGFydE9mZnNl
dCA9IHBhcmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2VuTGluZSgpOwor
ICAgIFNvdXJjZVBhcnNlTW9kZSBpbm5lclBhcnNlTW9kZSA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUKKyAgICAgICAgPyBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlCisgICAgICAgIDogU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgeworICAgICAgICBBdXRvUG9wU2NvcGVSZWYg
YXN5bmNGdW5jdGlvbkJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgICAgIGFzeW5j
RnVuY3Rpb25Cb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7Cisg
ICAgICAgIFN5bnRheENoZWNrZXIgYXN5bmNGdW5jdGlvbkNvbnRleHQoY29uc3RfY2FzdDxWTSo+
KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uKQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VBcnJvd0Z1bmN0aW9uU2lu
Z2xlRXhwcmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCksICJD
YW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhhc3luY0Z1
bmN0aW9uQ29udGV4dCwgbW9kZSksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgZnVu
Y3Rpb24iKTsKKyAgICAgICAgcG9wU2NvcGUoYXN5bmNGdW5jdGlvbkJvZHlTY29wZSwgVHJlZUJ1
aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgfQorICAgIGluZm8uYm9keSA9IGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9u
KCksIHN0YXJ0Q29sdW1uLCB0b2tlbkNvbHVtbigpLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIG1fc3VwZXJCaW5kaW5nLCBpbmZvLnBhcmFtZXRlckNvdW50LCBpbm5lclBh
cnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pOworCisgICAgaW5mby5lbmRM
aW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5lbmRPZmZzZXQgPSBpc0Fycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbiA/IHRva2VuTG9jYXRpb24oKS5lbmRPZmZzZXQgOiBtX3Rva2VuLm1fZGF0
YS5vZmZzZXQ7CisgICAgaW5mby5wYXJhbWV0ZXJzU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjsK
KworICAgIGF1dG8gZnVuY3Rpb25FeHByID0gY29udGV4dC5jcmVhdGVBc3luY0Z1bmN0aW9uQm9k
eShzdGFydExvY2F0aW9uLCBpbmZvLCBpbm5lclBhcnNlTW9kZSk7CisgICAgYXV0byBzdGF0ZW1l
bnQgPSBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQoc3RhcnRMb2NhdGlvbiwgZnVuY3Rpb25F
eHByLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKKyAgICBjb250ZXh0LmFw
cGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgc3RhdGVtZW50KTsKKworICAgIHJldHVybiBz
b3VyY2VFbGVtZW50czsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRp
ZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCiB7CiAg
ICAgLy8gVGhlIGdyYW1tYXIgaXMgZG9jdW1lbnRlZCBoZXJlOgpAQCAtNTYyLDcgKzYwNSw3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgdW5k
ZXIgYSBnZW5lcmF0b3IgY29udGV4dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAieWllbGQi
IHJldHVybnMgYGZhbHNlYC4KICAgICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVu
dGVyIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5kZXIgdGhl
IGNvbnRleHQgb2YgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAvLyB0byBy
YWlzZSBjb25zaXN0ZW50IGVycm9ycyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAibGV0Ii4K
LSAgICAgICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJ
RUxEKSkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKKyAgICAg
ICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSB8
fCBtYXRjaChBV0FJVCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tF
VCkpCiAgICAgICAgICAgICAgICAgc2hvdWxkUGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uID0gZmFs
c2U7CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0K
QEAgLTU4Miw2ICs2MjUsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAgcmVz
dWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIElERU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFz
eW5jRnVuY3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAg
ICAgICAgIC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0
aW9uRXhwcmVzc2lvbi4KKyAgICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVT
YXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VM
WShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4
dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9V
R0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAg
Ly8gVGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVtZW50
cwogICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1hbCBz
dGF0ZW1lbnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsCiAg
ICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJZlRy
dWUobWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0
RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3RE
ZWNsYXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRl
bnRpZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgc2Vt
YW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNh
bid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoZGVj
bGFyYXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwog
ICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24o
KTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYg
KzEwNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5n
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBF
cnJvckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1
ZUlmU3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVydHlO
YW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50
aWZpZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBk
ZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRl
cm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJv
cGVydHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVu
dGlmaWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTA3
OSw2ICsxMTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJh
bWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAm
JiAoa2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5kID09
IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQn
IGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2Vu
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxl
S2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsK
ICAgICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4
cG9ydFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRleHQs
IGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFrOwpA
QCAtMTYzMSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5cGU6
OlZhckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjogewot
ICAgICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2UocGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFy
YXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhl
IHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcGUo
KS0+aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xh
cmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQn
cwotICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGlu
IGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAgICAg
IC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9j
ayBzdGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAi
dmFyIi4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAg
ICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAgICAg
ICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoK
LSAgICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAg
ICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8vIH0K
LSAgICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2Nv
cGUoKSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsK
LSAgICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0g
ICAgICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7
Ci0gICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAgICAg
ICAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNv
bnRleHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAgICAg
ICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1l
bnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygp
OwotICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRz
LCBmdW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9j
a1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVu
ZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVu
dCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAgICAg
ICAgICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJp
YWJsZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBv
bmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhl
cndpc2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2
aW9yLgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRl
bWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRlbWVu
dERlcHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFy
YXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dl
ZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7Cisg
ICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBwYXJz
ZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxs
b3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTIgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQgb2Yg
YSBzZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgSURF
TlQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYg
KFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
c3luYyAmJiBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRl
eHQsIHJlc3VsdCwgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KSkp
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBj
YXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9u
RGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4
cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNvbnRleHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlv
bkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiArMTc3Niw2OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3lu
YywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7Cisg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmljdE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9u
cyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4g
c3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dl
ZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3Jh
bSIpOworICAgIGlmICghY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgeworICAgICAgICAv
LyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2Rl
LiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjaworICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlv
ci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRl
bWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAgIGlmIChp
c0FzeW5jKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQpOworICAgICAgICByZXR1cm4gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQpOworICAgIH0KKworICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0
IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBp
Zi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2ls
bCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQg
aXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtl
IGEgInZhciIuIEZvciBleGFtcGxlOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAg
IGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KKyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSBy
ZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQp
IHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAgICAvLyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJs
b2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNh
bFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOworICAg
IEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIGludCBzdGFy
dCA9IHRva2VuTGluZSgpOworCisgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAg
aWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlv
bihjb250ZXh0KTsKKyAgICBlbHNlCisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0
aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWls
SWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRl
ciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxl
bWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBl
bmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50
IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVs
ZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUo
KS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5j
dGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRl
cjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
U3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJv
b2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIEFT
U0VSVCgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMp
OworICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0
KCk7CisgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KSkgeworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSB0cnVlOworICAgICAgICByZXN1bHQg
PSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFy
YW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlz
dCwgdW5zaWduZWQmIHBhcmFtZXRlckNvdW50KQogewogI2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJ
ZlZpb2xhdGlvbigpIFwKQEAgLTE3NjYsNiArMTg2MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRy
ZWVCCiAgICAgICAgIAogICAgICAgICBpZiAobWF0Y2goRE9URE9URE9UKSkgewogICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCFtX3BhcnNlclN0YXRl
LmFsbG93QXdhaXQgJiYgbWF0Y2goQVdBSVQpLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBwYXJh
bWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIpOwogICAgICAgICAgICAgVHJlZURlc3Ry
dWN0dXJpbmdQYXR0ZXJuIGRlc3RydWN0dXJpbmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5n
UGF0dGVybihjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRl
cnMsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCAmZHVwbGljYXRlUGFyYW1ldGVyLCAmaGFzRGVz
dHJ1Y3R1cmluZ1BhdHRlcm4pOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAg
ICAgICAgIHBhcmFtZXRlciA9IGNvbnRleHQuY3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0cnVjdHVy
aW5nUGF0dGVybiwgcGFyYW1ldGVyQ291bnQpOwpAQCAtMTgzMyw2ICsxOTI4LDE0IEBAIHN0YXRp
YyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUp
CiAgICAgICAgIHJldHVybiAiZ2VuZXJhdG9yIGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6CiAgICAgICAgIHJldHVybiAiYXJyb3cgZnVuY3Rp
b24iOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICByZXR1
cm4gImFzeW5jIGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRo
b2RNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIG1ldGhvZCI7CisgICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGFy
cm93IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAg
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0xODQ1LDEyICsxOTQ4LDEyIEBA
IHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2Rl
IG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlciwgY2xhc3MgRnVuY3Rpb25JbmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6
OkZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJh
bWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rp
b25JbmZvVHlwZSYgZnVuY3Rpb25JbmZvKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0g
U291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6
TW9kdWxlQW5hbHl6ZU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1
YXRlTW9kZSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNl
UGFyc2VNb2RlOjpQcm9ncmFtTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9k
ZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKG1vZGUpKSk7
CiAgICAgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyYW1ldGVyTGlzdCA9IGNvbnRleHQuY3Jl
YXRlRm9ybWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQ
aGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBh
cnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVycyk7CiAgICAgCi0gICAgaWYg
KG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAgICAgICBp
ZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgIGlmIChVTkxJS0VM
WSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUs
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkp
KSkgeworICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50aWZpZXIoKSAmJiAhbWF0Y2goT1BFTlBB
UkVOKSkgewogICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3Nh
Z2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOwogICAgICAg
ICB9IGVsc2UgewpAQCAtMTk0MSw3ICsyMDQ0LDkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQK
IAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAKLSAgICBib29s
IHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpOwor
ICAgIGJvb2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPSBpc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXQobV90b2tlbik7CisgICAgY29uc3QgY2hhciogaXNEaXNhbGxvd2VkQXdhaXRG
dW5jdGlvbk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA/IGRpc2Fs
bG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7CisKICAgICBBdXRvUG9wU2Nv
cGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29w
ZS0+c2V0U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldEV4cGVj
dGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKQEAgLTE5ODMsNyArMjA4OCw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAgICBBU1NFUlQoZW5kTG9jYXRp
b24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlOwotICAg
ICAgICAgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkK
KyAgICAgICAgICAgIGlmIChVTkxJS0VMWShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlKS5jb250YWlucyhtb2RlKSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlw
ZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJs
b2NrOwpAQCAtMjAyNiw3ICsyMTMxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAg
IFN5bnRheENoZWNrZXIgc3ludGF4Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4
ZXIuZ2V0KCkpOwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0
aW9uTW9kZSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBh
cnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0aW9uID0g
dG9rZW5Mb2NhdGlvbigpOwogICAgICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0gdG9rZW5M
aW5lKCk7CiAgICAgICAgIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIwNDEsNyAr
MjE0Niw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAg
IC8vIFBhcnNlIGZvcm1hbCBwYXJhbWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVyaXphdGlv
biwgaW4gb3JkZXIgdG8gYmFuIFlpZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8vIGluIEFy
cm93Rm9ybWFsUGFyYW1ldGVycywgcGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRp
b25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2NvcGU6Ok1h
eWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29w
ZSwgdXBwZXJTY29wZUlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNl
QXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVu
dFNjb3BlLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92
ZXJyaWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rp
b25QYXJzZU1vZGUobW9kZSkpOwogICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMo
c3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHByb3BhZ2F0
ZUVycm9yKCk7CiAgICAgICAgIH0KQEAgLTIwNzMsMjEgKzIxNzksMjggQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKICAgICAgICAgLy8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAgICAgIC8v
ICAgICBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFt
ZXRlcnNbWWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAgICAgLy8g
VGhlIG5hbWUgb2YgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGlu
IHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlv
blR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBwZXJTY29w
ZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhw
cmVzc2lvbiBhbmQgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2
ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVyU2NvcGVJ
c0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRpb25UeXBl
ID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgU291cmNlUGFyc2VNb2Rl
U2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jRnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCisgICAgICAgICAgICB1cHBlclNj
b3BlSXNHZW5lcmF0b3IgPSB1cHBlclNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAgICAgICAg
IGlmIChyZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7
CiAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09IEZ1bmN0
aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBz
cGVjaWZ5aW5nIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0
aWFsaXplIGZ1bmN0aW9uSW5mby5uYW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNh
bGxlciBzaWRlLiIpOwogICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIodXBwZXJT
Y29wZUlzR2VuZXJhdG9yKSkgewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0g
bV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0
RnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAgaWYgKFVO
TElLRUxZKGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25E
ZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNl
TW9kZShtb2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNE
aXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQp
ICYmIGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhw
cmVzc2lvbikKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFy
ZSBhc3luYyBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAgbmV4dCgp
OwogICAgICAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAgICAgICAg
ICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlQ2Fs
bGVlKGZ1bmN0aW9uSW5mby5uYW1lKSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0
TW9kZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwog
ICAgICAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1lUmVxdWly
ZW1lbnRzOjpOYW1lZCkgewotICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYm
IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBu
YW1lIik7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAg
ICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpO
b3JtYWxGdW5jdGlvbk1vZGUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUi
KTsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMg
bXVzdCBoYXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBz
ZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IG5hbWUiKTsKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTA1LDggKzIyMTgsMTEgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMo
c3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFnYXRlRXJy
b3IoKTsKKyAgICAgICAgeworICAgICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVB
bGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlvblBhcnNl
TW9kZShtb2RlKSk7CisgICAgICAgICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhzeW50YXhD
aGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3Io
KTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAi
RXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKICAgICAgICAgCkBAIC0yMTUzLDkgKzIyNjksMTUg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIHN5bnRheENoZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwg
Y29uc3RydWN0b3JLaW5kLCBleHBlY3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwg
ZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAgaWYgKG1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKSB7Cisg
ICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25N
b2RlIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAgICAgICAg
QXV0b1BvcFNjb3BlUmVmIGdlbmVyYXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0g
ICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNl
TW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQ
YXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAgICAgICBp
ZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAgICAgICAg
aW5uZXJQYXJzZU1vZGUgPSBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZQorICAgICAgICAgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Cb2R5TW9kZQorICAgICAgICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uQm9keU1vZGU7CisgICAgICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5z
ZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5
U2NvcGUtPnNldENvbnN0cnVjdG9yS2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAg
ICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3Vw
ZXJCaW5kaW5nKTsKIApAQCAtMjE3NCw3ICsyMjk2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVp
bGQKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9sZXhlci0+
Y3VycmVudE9mZnNldCgpKTsKICAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYm
IHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQpIHsKICAg
ICAgICAgQVNTRVJUKGZ1bmN0aW9uSW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQo
bW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlN
b2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25N
b2RlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBh
cnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUs
IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2Vu
ZXJhdG9yQm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSkuY29udGFpbnMobW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZSht
b2RlKSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5h
cmd1bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5p
bXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
ICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlz
IG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0y
Mjg5LDYgKzI0MTEsNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVCht
YXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgp
OworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0
aW9uSW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWly
ZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFy
YXRpb25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnRE
ZWZhdWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQs
IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUu
CisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAg
Ly8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFi
bGVEZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgor
ICAgICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERl
ZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/
RGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQs
ID9EZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlv
bltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAg
ICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsg
RnVuY3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJh
dG9yRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgor
ICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRl
cnNbK1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIElu
IHRoaXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRp
b24ncyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVu
dHM6Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBw
YXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3RO
ZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5p
dGlvblR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlv
biIpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24g
c3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRp
b25SZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5j
dGlvbihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xh
cmF0aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVl
SWZTdHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0
cmljdE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVu
Y3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVj
bGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xh
cmF0aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBk
ZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9m
dW5jdGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkg
eworICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5u
YW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0
aW9uSW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5l
eHBvcnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRl
bWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBm
dW5jdGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAg
ZnVuY3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1
bmN0aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29u
dGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4p
KTsKQEAgLTI0MDUsOCArMjU4MSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAg
ICBib29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsK
ICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNN
ZXRob2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAg
aXNHZW5lcmF0b3IgPSB0cnVlOworCitVTlVTRURfTEFCRUwocGFyc2VNZXRob2QpOworcGFyc2VN
ZXRob2Q6CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICAgICAgbmFtZWRL
ZXl3b3JkOgogICAgICAgICBjYXNlIFNUUklORzoKQEAgLTI0MTUsMTIgKzI1OTUsMjAgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIElERU5UOgorICAgICAgICBjYXNlIEFXQUlUOgogICAgICAgICAg
ICAgaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIEFTU0VSVChpZGVu
dCk7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYm
IChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERP
VUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgeworICAgICAg
ICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAobWF0Y2hJZGVudGlm
aWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNo
KElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKICAgICAgICAgICAgICAgICBpc0dl
dHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmdldDsKICAgICAgICAgICAgICAgICBpc1Nl
dHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLnNldDsKKworI2lmIEVOQUJMRShFUzIwMTdf
QVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCppZGVu
dCA9PSBwcm9wZXJ0eU5hbWVzLmFzeW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYm
ICFpc0FzeW5jTWV0aG9kKSkgeworICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAg
ICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIERPVUJMRToKQEAgLTI0NTIsNyArMjY0MCwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xh
c3MoVAogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJ
bmZvOwogICAgICAgICAgICAgYm9vbCBpc0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0aG9kICYm
ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmNvbnN0cnVjdG9yOwogICAgICAgICAgICAgU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKLSAgICAg
ICAgICAgIGlmIChpc0dlbmVyYXRvcikgeworICAgICAgICAgICAgaWYgKGlzQXN5bmNNZXRob2Qp
IHsKKyAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICAg
ICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU7CisgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3Rv
dHlwZSciKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMg
bWV0aG9kIG5hbWVkICdjb25zdHJ1Y3RvciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNH
ZW5lcmF0b3IpIHsKICAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CiAgICAg
ICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlOwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5l
cmF0b3IgbmFtZWQgJ3Byb3RvdHlwZSciKTsKQEAgLTI1MzUsNiArMjcyOCwxMCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRXhwcmVzc2lvbk9yTAogICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tl
bigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChsb2Nh
dGlvbiwgZXhwcmVzc2lvbiwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CiAg
ICAgICAgIH0KKworICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tl
biksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVy
QXdhaXRSZWFzb24oKSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQ
b3NpdGlvbigpOwogICAgICAgICBuZXh0KCk7CkBAIC0yNzMxLDcgKzI5MjgsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZp
ZXIgUGFyc2VyPExleGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3
b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9y
dGVkIGJpbmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZh
aWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhw
ZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAg
ICAgIGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NTMsNyArMjk1MCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNw
ZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdv
cmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAg
ICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3Ig
dGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hT
cGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0
IGRlY2xhcmF0aW9uIik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAg
ICAgICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAg
IG5leHQoKTsKQEAgLTI3NjQsNyArMjk2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAg
ICAgY2FzZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8v
IEltcG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAg
ICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVu
dGlmaWVyKCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxv
Y2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAm
bV92bS0+cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzczLDYgKzI5NzAsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBv
cnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0Zh
aWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdh
aXQnIGFzIGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1
ZShsb2NhbE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBr
ZXl3b3JkIGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0
TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xh
cmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3Bl
Y2lmaWVyVHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1w
b3J0ZWROYW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBp
ZiAoZGVjbGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0y
ODAzLDcgKzMwMDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJv
b2wgaXNGaW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQp
KSB7CisgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRl
ZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1
dG8gc3BlY2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNp
ZmllclR5cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjkyOCw2ICszMTI2LDIwIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7
CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKSAm
JiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7
CisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFt
X2xleGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgICAgIGlmIChtYXRjaChJREVOVCkpCisgICAgICAgICAgICAgICAgICAgIGxvY2Fs
TmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAgICAgIGlzRnVuY3Rpb25P
ckNsYXNzRGVjbGFyYXRpb24gPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBp
ZiAoIWxvY2FsTmFtZSkKICAgICAgICAgICAgIGxvY2FsTmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CiAKQEAgLTI5Mzcs
MTAgKzMxNDksMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgICAgICBE
ZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgICAgICAg
ICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBh
cnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwg
RGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKENMQVNTVE9LRU4pKSB7CiAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gcGFyc2VDbGFzc0RlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4
cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKICAgICAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSAmJiAqbV90
b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgICAg
ICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50
RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVw
dGggPSAxOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgZXhwcjsKICAgICAgICAg
ICAgIC8vCkBAIC0zMDU3LDkgKzMyNzcsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAg
ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CisjaWYgRU5BQkxFKEVTMjAxN19B
U1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShpc0lkZW50aWZp
ZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAg
ICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+
cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5jdGlvbicga2V5d29yZCBmb2xsb3dpbmcg
J2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5nIGxpbmUgdGVybWluYXRvciIpOworICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRl
eHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBl
aXRoZXIgYSBkZWNsYXJhdGlvbiBvciBhIHZhcmlhYmxlIHN0YXRlbWVudCIpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShyZXN1bHQsICJDYW5u
b3QgcGFyc2UgdGhlIGRlY2xhcmF0aW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUV4cG9ydExvY2FsRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHJlc3VsdCk7CiAgICAgfQpA
QCAtMzEyMSwzNCArMzM1MCw0OSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIEFTU0VS
VCghaGFzRXJyb3IoKSk7CiAgICAgCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworCisgICAg
aWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCkt
PmlzR2VuZXJhdG9yKCkpKQorICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24oY29u
dGV4dCk7CisKICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGlu
dCBpbml0aWFsQXNzaWdubWVudENvdW50ID0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQ7
CiAgICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1fcGFyc2VyU3RhdGUubm9uTEhTQ291bnQ7
CiAgICAgYm9vbCBtYXliZUFzc2lnbm1lbnRQYXR0ZXJuID0gbWF0Y2goT1BFTkJSQUNFKSB8fCBt
YXRjaChPUEVOQlJBQ0tFVCk7CiAgICAgYm9vbCB3YXNPcGVuUGFyZW4gPSBtYXRjaChPUEVOUEFS
RU4pOwotICAgIGJvb2wgaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IG1hdGNoKE9QRU5QQVJF
TikgfHwgbWF0Y2goSURFTlQpOworICAgIC8vIERvIG5vdCB1c2UgbWF0Y2hTcGVjSWRlbnRpZmll
cigpIGhlcmUgc2luY2UgaXQgaXMgc2xvd2VyIHRoYW4gaXNJZGVudGlmaWVyT3JLZXl3b3JkLgor
ICAgIC8vIFdoZXRoZXIgc3BlYyBpZGVudGlmaWVyIGlzIHdpbGwgYmUgdmFsaWRhdGVkIGJ5IGlz
QXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKS4KKyAgICBib29sIHdhc0lkZW50aWZpZXJPcktleXdv
cmQgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbik7CisgICAgYm9vbCBtYXliZVZhbGlk
QXJyb3dGdW5jdGlvblN0YXJ0ID0gd2FzT3BlblBhcmVuIHx8IHdhc0lkZW50aWZpZXJPcktleXdv
cmQ7CiAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIHNp
emVfdCB1c2VkVmFyaWFibGVzU2l6ZSA9IDA7CisKKyNpZiAhRU5BQkxFKEVTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCkKICAgICBpZiAod2FzT3BlblBhcmVuKSB7CisjZWxzZQorICAgIGlmICh3
YXNPcGVuUGFyZW4gfHwgKHdhc0lkZW50aWZpZXJPcktleXdvcmQgJiYgKm1fdG9rZW4ubV9kYXRh
LmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworI2VuZGlmCiAgICAgICAg
IHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3BlKCktPmN1cnJlbnRVc2VkVmFyaWFibGVz
U2l6ZSgpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+cHVzaFVzZWRWYXJpYWJsZVNldCgpOwog
ICAgIH0KIAotICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1
cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKLSAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRF
eHByZXNzaW9uKGNvbnRleHQpOwotCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25k
aXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAKLSAgICBpZiAoaXNWYWxpZEFycm93RnVuY3Rp
b25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgeworICAgIGlmIChtYXliZVZhbGlkQXJyb3dGdW5j
dGlvblN0YXJ0ICYmICFtYXRjaChFT0ZUT0spKSB7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uVG9rZW4gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKICAgICAgICAgaWYgKCFsaHMgfHwgaXNB
cnJvd0Z1bmN0aW9uVG9rZW4pIHsKICAgICAgICAgICAgIFNhdmVQb2ludFdpdGhFcnJvciBlcnJv
clJlc3RvcmF0aW9uU2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50Rm9yRXJyb3IoKTsKICAgICAg
ICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGJvb2wgaXNB
c3luY0Fycm93ID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2xhc3NpZmllci5p
bmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpKSkgeworICAgICAgICAgICAgICAg
IEFTU0VSVChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlzQXN5bmNBcnJv
dyA9ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKSkgewotICAgICAgICAgICAgICAgIGlm
ICh3YXNPcGVuUGFyZW4pCisgICAgICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJlbiB8fCBpc0Fz
eW5jQXJyb3cpCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5yZXZlcnRUb1By
ZXZpb3VzVXNlZFZhcmlhYmxlcyh1c2VkVmFyaWFibGVzU2l6ZSk7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCwgaXNBc3lu
Y0Fycm93KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnRXaXRo
RXJyb3IoZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCk7CiAgICAgICAgICAgICBpZiAoaXNBcnJv
d0Z1bmN0aW9uVG9rZW4pCkBAIC0zMjcyLDYgKzM1MTYsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4
cHJlc3MKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXdh
aXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChB
V0FJVCkpOworICAgIEFTU0VSVChjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOwor
ICAgIGZhaWxJZlRydWUobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rp
b25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdp
dGhpbiBwYXJhbWV0ZXJzIik7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOworICAgIG5leHQoKTsKKyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJz
ZVVuYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZh
aWxlZCB0byBwYXJzZSBhd2FpdCBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlQXdhaXQobG9jYXRpb24sIGFyZ3VtZW50LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBs
YXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAt
MzM4NCwxMSArMzY0MywxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2Fz
SWRlbnQgPSBmYWxzZTsKICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBp
c0NsYXNzUHJvcGVydHkgPSBmYWxzZTsKKyAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsK
ICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKwor
VU5VU0VEX0xBQkVMKHBhcnNlUHJvcGVydHkpOworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2gg
KG1fdG9rZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgor
ICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRI
Uk9VR0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKQEAgLTMzOTYsMTAgKzM2NjAsMTQgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAm
JiAhaXNHZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5nZXQgfHwg
KmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkpKQogICAgICAgICAgICAgbmV4dEV4
cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworI2lmIEVOQUJM
RShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKHdhc0lkZW50
ICYmICFpc0dlbmVyYXRvciAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMp
CisgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2
ZWRXb3Jkcyk7CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbmV4dEV4cGVjdElk
ZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRlcjo6RG9u
dEJ1aWxkS2V5d29yZHMpOwogCi0gICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgbWF0Y2goQ09M
T04pKSB7CisgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgbWF0
Y2goQ09MT04pKSB7CiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVz
c2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbk9yUHJvcGFnYXRlRXJyb3JDbGFz
cyhjb250ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2Ug
ZXhwcmVzc2lvbiBmb3IgcHJvcGVydHkgZGVjbGFyYXRpb24iKTsKQEAgLTM0MDgsMTEgKzM2NzYs
MTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgfQogCiAgICAgICAgIGlmICht
YXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIGF1dG8g
bWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3Is
IGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KGlkZW50LCBtZXRob2QsIFByb3BlcnR5
Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6S25vd25EaXJlY3QsIGNvbXBsZXRlLCBTdXBl
ckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBm
YWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1l
bnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRo
b2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAg
ICAgZmFpbElmRmFsc2Uod2FzSWRlbnQsICJFeHBlY3RlZCBhbiBpZGVudGlmaWVyIGFzIHByb3Bl
cnR5IG5hbWUiKTsKIApAQCAtMzQzNCw2ICszNzAyLDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRy
ZWVCCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpHZXR0ZXI7CiAgICAgICAgIGVs
c2UgaWYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpCiAgICAgICAgICAgICB0
eXBlID0gUHJvcGVydHlOb2RlOjpTZXR0ZXI7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgZWxzZSBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jICYmICFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCkpIHsK
KyAgICAgICAgICAgIGlzQXN5bmNNZXRob2QgPSB0cnVlOworICAgICAgICAgICAgZmFpbElmVHJ1
ZShtX2xleGVyLT5wcmV2VGVybWluYXRvcigpLCAiRXhwZWN0ZWQgYSBwcm9wZXJ0eSBuYW1lIGZv
bGxvd2luZyBrZXl3b3JkICdhc3luYyciKTsKKyAgICAgICAgICAgIGdvdG8gcGFyc2VQcm9wZXJ0
eTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRo
TWVzc2FnZSgiRXhwZWN0ZWQgYSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBp
ZGVudC0+aW1wbCgpLCAiJyIpOwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29u
dGV4dCwgY29tcGxldGUsIHR5cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVj
dG9yS2luZDo6Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsKQEAgLTM0NDUsMTEgKzM3MjAsMTEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkg
ewogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlk
ZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92
bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVy
dHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRv
IG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRv
ciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3Bl
cnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVy
QmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZh
aWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVu
dCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhv
ZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAg
ICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUi
KTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Np
b24oY29udGV4dCk7CkBAIC0zNDY0LDExICszNzM5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRy
ZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJl
bmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVO
UEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2Qo
Y29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRv
cik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4
dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNB
c3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRp
Y19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3Bl
cnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwg
U3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAg
ICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFy
Z3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5j
TWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAg
ICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkg
bmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbihjb250ZXh0KTsKQEAgLTM0ODMsMTMgKzM3NTgsMTMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVy
dHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1l
dGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlz
R2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1l
dGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQg
PSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRo
b2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAg
IFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsK
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2Qi
KTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0
aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3NTUsNiArNDAzMCwyMCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2Vu
U3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlO
YW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJz
ZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRp
b25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBm
dW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJp
bmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5n
c0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewog
ICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4NDIsMTQgKzQxMzEsMjEgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFy
cm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlz
RXhwcihsb2NhdGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDog
ewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFy
dCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtF
TFkobWF0Y2goQVJST1dGVU5DVElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElP
TikpCiAgICAgICAgICAgICByZXR1cm4gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+YXN5bmMgJiYgbWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWlu
YXRvcigpKSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
KGNvbnRleHQpOworI2VuZGlmCisKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxl
KGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1f
cGFyc2VyU3RhdGUubGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2VuRW5kUG9z
aXRpb24oKSk7CkBAIC00MDI1LDYgKzQzMjEsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMK
ICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAorI2lmIEVO
QUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBiYXNlSXNBc3luY0tl
eXdvcmQgPSBmYWxzZTsKKyNlbmRpZgorCiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAg
IFNjb3BlUmVmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3Jk
aW5hcnlGdW5jdGlvbk5vbkxleGljYWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZh
bHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0
aW9uU2NvcGUtPmlzRXZhbENvbnRleHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3Bl
LT5leHBlY3RlZFN1cGVyQmluZGluZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVy
IGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKQEAgLTQwNDIsOSArNDM0MiwyNiBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShmdW5jdGlvblN1cGVyQmluZGluZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVy
IGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQotICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNl
SXNOZXdUYXJnZXQpIHsKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tl
bikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
OworI2VuZGlmCisKICAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4
dCk7CiAKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBm
YWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgICAg
ICBpZiAoaXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJl
dlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkg
eworICAgICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAg
IGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVu
Y3Rpb24pOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgYmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmCisgICAg
fQorCiAgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24i
KTsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24o
KTsKQEAgLTQwNzgsNiArNDM5NSwxNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9u
RW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1l
bnRzIGFyZ3VtZW50cyA9IHBhcnNlQXJndW1lbnRzKGNvbnRleHQpOworCisjaWYgRU5BQkxFKEVT
MjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICBpZiAoYmFzZUlzQXN5
bmNLZXl3b3JkICYmICghYXJndW1lbnRzIHx8IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkgeworICAg
ICAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNh
dGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5l
eHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAg
ICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1bWVudHMi
KTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAgICAgICAg
ICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7CkBAIC00
MTM2LDcgKzQ0NjEsNyBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb247CiAKQEAgLTQxNDQsNyArNDQ2OSw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlv
CiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6
OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmlu
ZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZp
bml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4
cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8g
U291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2Rl
OjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRy
dWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9u
KSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogfQpA
QCAtNDE4OCw2ICs0NTE1LDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAgYm9vbCBt
b2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxzZTsKICAg
ICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJlbnRG
dW5jdGlvblNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICByZXR1
cm4gcGFyc2VBd2FpdEV4cHJlc3Npb24oY29udGV4dCk7CisjZW5kaWYKKwogICAgIHdoaWxlIChp
c1VuYXJ5T3AobV90b2tlbi5tX3R5cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsK
ICAgICAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjksNiArNDcwMiw3
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46
OnByaW50VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBw
cml2YXRlIG5hbWUgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIAorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnBy
aW50KCJVbmV4cGVjdGVkIGlkZW50aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFi
NWZkMDNkZDVlNzc4YjhmZGI1OTIzYWE3OThhZWQxMjMuLmMxOTczZDlmNGRjMWNmZmUwN2VmNWRk
MWIyNzRhMmNhMTM1MzkzZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApA
QCAtMTM1LDcgKzEzNSw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NvcGUpOwogCiBwdWJsaWM6Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVu
Y3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVu
Y3Rpb24pCisgICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNH
ZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNB
c3luY0Z1bmN0aW9uKQogICAgICAgICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJn
dW1lbnRzKGZhbHNlKQogICAgICAgICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUw
LDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAg
ICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9p
c0Fycm93RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlv
bihpc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShm
YWxzZSkKICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNG
dW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1
ZSkKQEAgLTE4MSw2ICsxODMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJv
dW5kYXJ5KG90aGVyLm1faXNHZW5lcmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dG
dW5jdGlvbihvdGhlci5tX2lzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5j
dGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwg
bV9pc0FzeW5jRnVuY3Rpb24ob3RoZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9p
c0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQog
ICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAg
ICAgLCBtX2lzRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAg
ICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBA
IC0yMzgsNiArMjQyLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShT
b3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAg
ICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6Cisg
ICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1v
ZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5
TW9kZToKICAgICAgICAgICAgIHNldElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsK
QEAgLTI1Nyw2ICsyNjksMTUgQEAgcHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0
aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y01ldGhvZE1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Nb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAg
ICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9k
ZToKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAg
ICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYg
KzI4OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsg
cmV0dXJuIG1faXNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNv
bnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRh
cnkoKSBjb25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlz
QXN5bmNGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAg
Ym9vbCBpc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1
bmN0aW9uQm91bmRhcnk7IH0KIAogICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNBcmd1bWVudHM7IH0KIApAQCAtNzEwLDYgKzczMywzNCBAQCBwcml2YXRlOgogICAg
ICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAgICAgfQogCisgICAgdm9pZCBzZXRJc0Fz
eW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsK
KyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0
SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAg
ICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3lu
Y0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAgICAg
IG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1
ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCisg
ICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0
SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAg
ICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25C
b3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29uc3QgVk0qIG1fdm07CiAgICAgYm9vbCBt
X3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3VzZXNFdmFsOwpAQCAtNzI0LDYgKzc3NSw4
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJhdG9yQm91bmRhcnk7CiAgICAgYm9vbCBt
X2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnk7Cisg
ICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9uQm91
bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3BlOwogICAgIGJvb2wgbV9pc0Z1bmN0aW9u
Qm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJpY3RNb2RlOwpAQCAtODg2LDggKzkzOSw5
IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIGVudW0gRXhwcmVzc2lvbkVycm9yQ2xhc3Mgewot
ICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcsCi0gICAgICAgIEVycm9ySW5kaWNhdGVzUGF0
dGVybgorICAgICAgICBFcnJvckluZGljYXRlc05vdGhpbmcgPSAwLAorICAgICAgICBFcnJvcklu
ZGljYXRlc1BhdHRlcm4sCisgICAgICAgIEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9u
CiAgICAgfTsKIAogICAgIHN0cnVjdCBFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyIHsKQEAgLTkx
MSw2ICs5NjUsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fY2xhc3MgPSBjbGFzc2lmaWNh
dGlvbjsKICAgICAgICAgfQogCisgICAgICAgIHZvaWQgZm9yY2VDbGFzc2lmeUV4cHJlc3Npb25F
cnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKKyAgICAgICAgeworICAg
ICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOworICAgICAgICB9CisKICAgICAgICAg
dm9pZCByZWNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIG9sZENs
YXNzaWZpY2F0aW9uLCBFeHByZXNzaW9uRXJyb3JDbGFzcyBjbGFzc2lmaWNhdGlvbikKICAgICAg
ICAgewogICAgICAgICAgICAgaWYgKG1fY2xhc3MgIT0gb2xkQ2xhc3NpZmljYXRpb24pCkBAIC05
MjAsMTEgKzk3OSwxMiBAQCBwcml2YXRlOgogCiAgICAgICAgIHZvaWQgcHJvcGFnYXRlRXhwcmVz
c2lvbkVycm9yQ2xhc3MoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAobV9wcmV2aW91cyAm
JiBtX2NsYXNzICE9IEVycm9ySW5kaWNhdGVzTm90aGluZykKKyAgICAgICAgICAgIGlmIChtX3By
ZXZpb3VzKQogICAgICAgICAgICAgICAgIG1fcHJldmlvdXMtPm1fY2xhc3MgPSBtX2NsYXNzOwog
ICAgICAgICB9CiAKICAgICAgICAgYm9vbCBpbmRpY2F0ZXNQb3NzaWJsZVBhdHRlcm4oKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzUGF0dGVybjsgfQorICAgICAgICBi
b29sIGluZGljYXRlc1Bvc3NpYmxlQXN5bmNBcnJvd0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzcyA9PSBFcnJvckluZGljYXRlc0FzeW5jQXJyb3dGdW5jdGlvbjsgfQogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgRXhwcmVzc2lvbkVycm9yQ2xhc3MgbV9jbGFzczsKQEAgLTkzOCw2ICs5
OTgsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3NpZmll
ci0+Y2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoY2xhc3NpZmljYXRpb24pOwogICAgIH0KIAorICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Np
b25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAgIHsKKyAgICAgICAgaWYgKG1fZXhwcmVz
c2lvbkVycm9yQ2xhc3NpZmllcikKKyAgICAgICAgICAgIG1fZXhwcmVzc2lvbkVycm9yQ2xhc3Np
Zmllci0+Zm9yY2VDbGFzc2lmeUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CisgICAg
fQorCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhw
cmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNz
IGNsYXNzaWZpY2F0aW9uKQogICAgIHsKICAgICAgICAgaWYgKG1fZXhwcmVzc2lvbkVycm9yQ2xh
c3NpZmllcikKQEAgLTk1OSw2ICsxMDI1LDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBE
ZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1ZhcmlhYmxlczsKICAgICB9CiAKKyAgICBB
TFdBWVNfSU5MSU5FIGNvbnN0IGNoYXIqIGRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKERl
Y2xhcmF0aW9uVHlwZSB0eXBlKQorICAgIHsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAg
ICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpWYXJEZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJl
dHVybiAidmFyaWFibGUgbmFtZSI7CisgICAgICAgIGNhc2UgRGVjbGFyYXRpb25UeXBlOjpMZXRE
ZWNsYXJhdGlvbjoKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OkNvbnN0RGVjbGFyYXRp
b246CisgICAgICAgICAgICByZXR1cm4gImxleGljYWwgdmFyaWFibGUgbmFtZSI7CisgICAgICAg
IH0KKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
ICJpbnZhbGlkIjsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIEFzc2lnbm1lbnRDb250ZXh0
IGFzc2lnbm1lbnRDb250ZXh0RnJvbURlY2xhcmF0aW9uVHlwZShEZWNsYXJhdGlvblR5cGUgdHlw
ZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodHlwZSkgewpAQCAtOTcxLDYgKzEwNTAsMTIgQEAg
cHJpdmF0ZToKIAogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V2YWxPckFyZ3VtZW50cyhjb25z
dCBJZGVudGlmaWVyKiBpZGVudCkgeyByZXR1cm4gaXNFdmFsT3JBcmd1bWVudHNJZGVudGlmaWVy
KG1fdm0sIGlkZW50KTsgfQogCisgICAgU2NvcGVSZWYgdXBwZXJTY29wZShpbnQgbikKKyAgICB7
CisgICAgICAgIEFTU0VSVChtX3Njb3BlU3RhY2suc2l6ZSgpID49IHNpemVfdCgxICsgbikpOwor
ICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUo
KSAtIDEgLSBuKTsKKyAgICB9CisKICAgICBTY29wZVJlZiBjdXJyZW50U2NvcGUoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Njb3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXpl
KCkgLSAxKTsKQEAgLTEwMjcsMTMgKzExMTIsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBp
c1N0cmljdCA9IGZhbHNlOwogICAgICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAg
ICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNBc3luY0Z1
bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmICghbV9zY29wZVN0YWNrLmlzRW1wdHkoKSkgewog
ICAgICAgICAgICAgaXNTdHJpY3QgPSBtX3Njb3BlU3RhY2subGFzdCgpLnN0cmljdE1vZGUoKTsK
ICAgICAgICAgICAgIGlzRnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzRnVuY3Rpb24o
KTsKICAgICAgICAgICAgIGlzR2VuZXJhdG9yID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0dlbmVy
YXRvcigpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3Qo
KS5pc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGlzQXN5bmNGdW5jdGlvbiA9IG1fc2Nv
cGVTdGFjay5sYXN0KCkuaXNBc3luY0Z1bmN0aW9uKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV9z
Y29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRv
ciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbik7CisgICAgICAgIG1fc2NvcGVTdGFjay5jb25z
dHJ1Y3RBbmRBcHBlbmQobV92bSwgaXNGdW5jdGlvbiwgaXNHZW5lcmF0b3IsIGlzU3RyaWN0LCBp
c0Fycm93RnVuY3Rpb24sIGlzQXN5bmNGdW5jdGlvbik7CiAgICAgICAgIHJldHVybiBjdXJyZW50
U2NvcGUoKTsKICAgICB9CiAKQEAgLTEzNDYsMjEgKzE0MzMsMjUgQEAgcHJpdmF0ZToKICAgICAv
LyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1nZW5lcmF0
b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMKICAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmllcihib29sIGluR2VuZXJhdG9y
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBpc0xFVE1hc2tlZEFzSURF
TlQoKSB8fCBpc1lJRUxETWFza2VkQXNJREVOVChpbkdlbmVyYXRvcik7CisgICAgICAgIHJldHVy
biBtYXRjaChJREVOVCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8
IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJhdG9yKTsKICAgICB9CiAKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmllcigpCiAgICAgewotICAgICAgICByZXR1cm4g
bWF0Y2hTcGVjSWRlbnRpZmllcihjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAg
ICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgbWF0Y2goQVdBSVQpIHx8IGlzTEVUTWFza2VkQXNJ
REVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRv
cigpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVu
dHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVt
ZW50cyBwYXJzZUdlbmVyYXRvckZ1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBT
b3VyY2VFbGVtZW50c01vZGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVNvdXJjZUVsZW1lbnRzIHBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1lbnRzKFRyZWVCdWls
ZGVyJiwgU291cmNlUGFyc2VNb2RlLCBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
LCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudExpc3RJdGVtKFRyZWVCdWlsZGVyJiwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CiAgICAgZW51bSBjbGFzcyBFeHBvcnRU
eXBlIHsgRXhwb3J0ZWQsIE5vdEV4cG9ydGVkIH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYs
IEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VGdW5jdGlvbkRlY2xh
cmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVk
LCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6
U3RhbmRhcmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBib29sIGlz
QXN5bmMsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBc3lu
Y0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlw
ZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRl
ZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgYm9vbCBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wg
cGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VWYXJpYWJsZURlY2xhcmF0
aW9uKFRyZWVCdWlsZGVyJiwgRGVjbGFyYXRpb25UeXBlLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlw
ZTo6Tm90RXhwb3J0ZWQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZURvV2hpbGVTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VXaGlsZVN0YXRlbWVudChU
cmVlQnVpbGRlciYpOwpAQCAtMTM4Nyw2ICsxNDc4LDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VD
b25kaXRpb25hbEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUV4cHJlc3Npb24gcGFyc2VBd2FpdEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlTWVtYmVyRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVByaW1hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC0xMzk0LDE3
ICsxNDg2LDE4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VTdHJpY3RPYmplY3RMaXRlcmFsKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzc0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJl
c3Npb24gcGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VB
c3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlQXJndW1lbnRzIHBhcnNlQXJndW1lbnRz
KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQXJndW1lbnQoVHJlZUJ1aWxkZXImLCBBcmd1bWVu
dFR5cGUmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBw
YXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVl
QnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSwgYm9vbCBpc0dl
bmVyYXRvcik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVy
U2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5z
aWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kLCBib29sIGlz
Q2xhc3NQcm9wZXJ0eSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBT
eW50YXhDaGVja2VyJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwg
Q29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIEZ1bmN0aW9uQm9keVR5cGUsIHVuc2lnbmVk
LCBTb3VyY2VQYXJzZU1vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBib29sIHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYsIFRyZWVG
b3JtYWxQYXJhbWV0ZXJMaXN0LCB1bnNpZ25lZCYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyaWFi
bGVEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURl
c3RydWN0dXJpbmdQYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0
aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0
U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0
LCBEZWNsYXJhdGlvblR5cGUsIEV4cG9ydFR5cGUsIGJvb2wmIGZvckxvb3BDb25zdERvZXNOb3RI
YXZlSW5pdGlhbGl6ZXIpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImLCBib29sIGlzQXN5bmMpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVy
aW5nUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlc3RydWN0dXJp
bmdLaW5kLCBFeHBvcnRUeXBlLCBjb25zdCBJZGVudGlmaWVyJiwgSlNUb2tlbiwgQXNzaWdubWVu
dENvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqKiBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1cmlu
Z1BhdHRlcm4gY3JlYXRlQXNzaWdubWVudEVsZW1lbnQoVHJlZUJ1aWxkZXImLCBUcmVlRXhwcmVz
c2lvbiYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVzdHJ1Y3R1
cmluZ1BhdHRlcm4gcGFyc2VCaW5kaW5nT3JBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXIq
KiBkdXBsaWNhdGVJZGVudGlmaWVyLCBib29sKiBoYXNEZXN0cnVjdHVyaW5nUGF0dGVybiwgQXNz
aWdubWVudENvbnRleHQgYmluZGluZ0NvbnRleHQsIGludCBkZXB0aCk7CkBAIC0xNDYyLDYgKzE1
NTUsMjMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwo
KTsKICAgICB9CiAKKyAgICBib29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChjb25zdCBK
U1Rva2VuJiB0b2tlbikKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBgbV9tb2R1bGVTY29wZURh
dGEuZ2V0KCkgIT0gbnVsbHB0cmAgaXMgbm90IGEgdmFsaWQgbWV0aG9kIG9mIGRldGVybWluaW5n
IGlmIHBhcnNlciBpcyBwYXJzaW5nIGEgTW9kdWxlLgorICAgICAgICByZXR1cm4gdG9rZW4ubV90
eXBlID09IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29w
ZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIHx8IG1fbW9kdWxlU2NvcGVEYXRhLmdldCgp
ICE9IG51bGxwdHIpOworICAgIH0KKworICAgIGNvbnN0IGNoYXIqIGRpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXRSZWFzb24oKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3BhcnNlclN0YXRlLmFsbG93
QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpCisgICAg
ICAgICAgICByZXR1cm4gImluIGFuIGFzeW5jIGZ1bmN0aW9uIjsKKyAgICAgICAgLy8gRklYTUU6
IGBtX21vZHVsZVNjb3BlRGF0YS5nZXQoKSAhPSBudWxscHRyYCBpcyBub3QgYSB2YWxpZCBtZXRo
b2Qgb2YgZGV0ZXJtaW5pbmcgaWYgcGFyc2VyIGlzIHBhcnNpbmcgYSBNb2R1bGUuCisgICAgICAg
IGlmIChtX21vZHVsZVNjb3BlRGF0YS5nZXQoKSAhPSBudWxscHRyKQorICAgICAgICAgICAgcmV0
dXJuICJpbiBhIG1vZHVsZSI7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGVudW0gY2xhc3MgRnVuY3Rp
b25QYXJzZVBoYXNlIHsgUGFyYW1ldGVycywgQm9keSB9OwogICAgIHN0cnVjdCBQYXJzZXJTdGF0
ZSB7CiAgICAgICAgIGludCBhc3NpZ25tZW50Q291bnQgeyAwIH07CkBAIC0xNDcwLDYgKzE1ODAs
NyBAQCBwcml2YXRlOgogICAgICAgICBGdW5jdGlvblBhcnNlUGhhc2UgZnVuY3Rpb25QYXJzZVBo
YXNlIHsgRnVuY3Rpb25QYXJzZVBoYXNlOjpCb2R5IH07CiAgICAgICAgIGNvbnN0IElkZW50aWZp
ZXIqIGxhc3RJZGVudGlmaWVyIHsgbnVsbHB0ciB9OwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBsYXN0RnVuY3Rpb25OYW1lIHsgbnVsbHB0ciB9OworICAgICAgICBib29sIGFsbG93QXdhaXQg
eyB0cnVlIH07CiAgICAgfTsKIAogICAgIC8vIElmIHlvdSdyZSB1c2luZyB0aGlzIGRpcmVjdGx5
LCB5b3UgcHJvYmFibHkgc2hvdWxkIGJlIHVzaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJlYWE4ZGE0YmYyNzgzMzkzMWViNGJk
Y2Y4OWE0Ni4uMmFhYzY4MjFhZWQyYzhlMDFiOTkzNTBlODAyYzA0YWRmZDRlODE2NCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaApAQCAtMjcsNiArMjcsNyBA
QAogI2lmbmRlZiBQYXJzZXJNb2Rlc19oCiAjZGVmaW5lIFBhcnNlck1vZGVzX2gKIAorI2luY2x1
ZGUgIkNvbnN0cnVjdEFiaWxpdHkuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtNDMsODAgKzQ0LDEzMCBAQCBlbnVtIERlYnVnZ2VyTW9kZSB7IERlYnVn
Z2VyT2ZmLCBEZWJ1Z2dlck9uIH07CiAKIGVudW0gY2xhc3MgRnVuY3Rpb25Nb2RlIHsgRnVuY3Rp
b25FeHByZXNzaW9uLCBGdW5jdGlvbkRlY2xhcmF0aW9uLCBNZXRob2REZWZpbml0aW9uIH07CiAK
LWVudW0gY2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDhfdCB7Ci0gICAgTm9ybWFsRnVuY3Rp
b25Nb2RlLAotICAgIEdlbmVyYXRvckJvZHlNb2RlLAotICAgIEdlbmVyYXRvcldyYXBwZXJGdW5j
dGlvbk1vZGUsCi0gICAgR2V0dGVyTW9kZSwKLSAgICBTZXR0ZXJNb2RlLAotICAgIE1ldGhvZE1v
ZGUsCi0gICAgQXJyb3dGdW5jdGlvbk1vZGUsCi0gICAgUHJvZ3JhbU1vZGUsCi0gICAgTW9kdWxl
QW5hbHl6ZU1vZGUsCi0gICAgTW9kdWxlRXZhbHVhdGVNb2RlCitlbnVtIGNsYXNzIFNvdXJjZVBh
cnNlTW9kZSA6IHVpbnQxNl90IHsKKyAgICBOb3JtYWxGdW5jdGlvbk1vZGUgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMDAwMSwKKyAgICBHZW5lcmF0b3JCb2R5TW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMDAxMCwKKyAgICBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlICA9
IDBiMDAwMDAwMDAwMDAwMDEwMCwKKyAgICBHZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAwMTAwMCwKKyAgICBTZXR0ZXJNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDAxMDAwMCwKKyAgICBNZXRob2RNb2RlICAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMDEwMDAwMCwKKyAgICBBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMDAwMTAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uQm9keU1vZGUgICAgICAgICA9
IDBiMDAwMDAwMDAxMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSAgICA9
IDBiMDAwMDAwMDEwMDAwMDAwMCwKKyAgICBBc3luY0Z1bmN0aW9uTW9kZSAgICAgICAgICAgICA9
IDBiMDAwMDAwMTAwMDAwMDAwMCwKKyAgICBBc3luY01ldGhvZE1vZGUgICAgICAgICAgICAgICA9
IDBiMDAwMDAxMDAwMDAwMDAwMCwKKyAgICBBc3luY0Fycm93RnVuY3Rpb25Nb2RlICAgICAgICA9
IDBiMDAwMDEwMDAwMDAwMDAwMCwKKyAgICBQcm9ncmFtTW9kZSAgICAgICAgICAgICAgICAgICA9
IDBiMDAwMTAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVBbmFseXplTW9kZSAgICAgICAgICAgICA9
IDBiMDAxMDAwMDAwMDAwMDAwMCwKKyAgICBNb2R1bGVFdmFsdWF0ZU1vZGUgICAgICAgICAgICA9
IDBiMDEwMDAwMDAwMDAwMDAwMCwKIH07CiAKLWlubGluZSBib29sIGlzRnVuY3Rpb25QYXJzZU1v
ZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKK2NsYXNzIFNvdXJjZVBhcnNlTW9kZVNldCB7
IAorcHVibGljOiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBNb2Rlcz4gCisgICAgU291cmNl
UGFyc2VNb2RlU2V0KE1vZGVzLi4uIGFyZ3MpIAorICAgICAgICA6IG1fbWFzayhtZXJnZVNvdXJj
ZVBhcnNlTW9kZXMoYXJncy4uLikpIAorICAgIHsgCisgICAgfSAKKworICAgIEFMV0FZU19JTkxJ
TkUgYm9vbCBjb250YWlucyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKSAmIG1fbWFzazsgCisgICAgfSAKKwor
cHJpdmF0ZTogCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5zaWduZWQgbWVyZ2VTb3VyY2VQ
YXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlKSAKKyAgICB7IAorICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpOyAKKyAgICB9IAorCisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUuLi4gUmVzdD4gCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgdW5zaWduZWQgbWVyZ2VT
b3VyY2VQYXJzZU1vZGVzKFNvdXJjZVBhcnNlTW9kZSBtb2RlLCBSZXN0Li4uIHJlc3QpIAorICAg
IHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgfCBtZXJnZVNv
dXJjZVBhcnNlTW9kZXMocmVzdC4uLik7IAorICAgIH0gCisKKyAgICBjb25zdCB1bnNpZ25lZCBt
X21hc2s7IAorfTsgCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VNb2RlKFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2Rl
U2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsIAorICAg
ICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlLCAKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpHZXR0ZXJNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJN
b2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
LCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Z1bmN0aW9u
UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291
cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9u
Qm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAK
KyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUsIAorICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAK
K30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jQXJyb3dGdW5jdGlvblBhcnNlTW9kZShT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9k
ZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNv
bnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5j
dGlvbldyYXBwZXJQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAg
IHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVu
Y3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGUpLmNv
bnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5j
dGlvbkJvZHlQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJl
dHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
RnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElO
RSBib29sIGlzTWV0aG9kUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCiB7Ci0g
ICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFs
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9k
ZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2Rl
OgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoCisgICAgICAgIC8vIEZJWE1F
OiBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIGEg
bWV0aG9kLgorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhv
ZE1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlKS5jb250YWlu
cyhwYXJzZU1vZGUpOwogfQogCi1pbmxpbmUgYm9vbCBpc01vZHVsZVBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlKQotewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2Fz
ZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFt
TW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KK0FMV0FZU19JTkxJTkUgYm9vbCBp
c01vZHVsZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0
dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
QW5hbHl6ZU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9k
ZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAogCi1pbmxpbmUgYm9vbCBpc1Byb2dyYW1QYXJz
ZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNlTW9k
ZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICAgICAgcmV0
dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2Rl
OgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
U2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBj
YXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7CitBTFdBWVNfSU5M
SU5FIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAor
eyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3Jh
bU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBDb25zdHJ1
Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHlGb3JQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSkgCit7IAorICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3Jt
YWxGdW5jdGlvbk1vZGUpIAorICAgICAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0eTo6Q2FuQ29u
c3RydWN0OworCisgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbm5vdENvbnN0cnVjdDsK
IH0KIAogaW5saW5lIGJvb2wgZnVuY3Rpb25OYW1lSXNJblNjb3BlKGNvbnN0IElkZW50aWZpZXIm
IG5hbWUsIEZ1bmN0aW9uTW9kZSBmdW5jdGlvbk1vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCBlYjI2M2JiMmNmYjVkNzYzYWNlZjc5YzY5Y2Qy
OGY4MjNjMmE3ZTgwLi5kMzg5NTM0MjI5ZDc5NDhiNmNiMmQyOGM0MzAyNDFhNTJlNjYxZDY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTgzLDYg
KzgzLDcgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRT
LAogICAgIFNVUEVSLAorICAgIEFXQUlULAogICAgIE9QRU5CUkFDRSA9IDAsCiAgICAgQ0xPU0VC
UkFDRSwKICAgICBPUEVOUEFSRU4sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEyNzdmYTJkODI2
ODYuLjVhYzY1YWJkMDQ1NWZlZjY3ODFiNjRhMDczZWJkOTI1MmEzY2RlYjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04Myw3ICs4Myw3IEBA
IHB1YmxpYzoKICAgICAgICAgQ2xhdXNlTGlzdFJlc3VsdCwgQ29tbWFFeHByLCBEZXN0cnVjdHVy
aW5nQXNzaWdubWVudCwKICAgICAgICAgVGVtcGxhdGVTdHJpbmdSZXN1bHQsIFRlbXBsYXRlU3Ry
aW5nTGlzdFJlc3VsdCwKICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlzdFJlc3VsdCwgVGVt
cGxhdGVFeHByLAotICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxkRXhwciwKKyAgICAg
ICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwKICAgICAgICAgTW9k
dWxlTmFtZVJlc3VsdCwKICAgICAgICAgSW1wb3J0U3BlY2lmaWVyUmVzdWx0LCBJbXBvcnRTcGVj
aWZpZXJMaXN0UmVzdWx0LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1bHQsIEV4cG9ydFNw
ZWNpZmllckxpc3RSZXN1bHQKQEAgLTE4Miw4ICsxODIsMTAgQEAgcHVibGljOgogICAgIEV4cHJl
c3Npb25UeXBlIGNyZWF0ZUVtcHR5TGV0RXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0KICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBZ
aWVsZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4g
WWllbGRFeHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIEF3YWl0
RXhwcjsgfQogICAgIENsYXNzRXhwcmVzc2lvbiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPFN5bnRheENoZWNrZXI+JiwgVmFyaWFi
bGVFbnZpcm9ubWVudCYsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwgUHJvcGVydHlM
aXN0LCBQcm9wZXJ0eUxpc3QpIHsgcmV0dXJuIENsYXNzRXhwcjsgfQogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
KyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9v
bCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIHVuc2lnbmVk
LCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wsIElubmVyQXJyb3dGdW5jdGlvbkNvZGVGZWF0dXJlcyA9
IE5vSW5uZXJBcnJvd0Z1bmN0aW9uRmVhdHVyZXMpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3Vs
dDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYp
IHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU1ldGhv
ZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25J
bmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCA0MDUx
MjYyZGE1MWJjYmRhYjc3NWNmNjFiMGMwY2JjMGZmNTcxMWYxLi43Mzg5ZjllY2VjZTVmODhhMzhm
NDYyN2QyMzg3ZDYyMTdiOTY1ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgIG1hY3Jv
KGFyZ3VtZW50cykgXAogICAgIG1hY3JvKGFzKSBcCiAgICAgbWFjcm8oYXNzaWduKSBcCisgICAg
bWFjcm8oYXN5bmMpIFwKICAgICBtYWNybyhiYWNrKSBcCiAgICAgbWFjcm8oYmluZCkgXAogICAg
IG1hY3JvKGJsdXIpIFwKQEAgLTI3MSw2ICsyNzIsNyBAQAogICAgIG1hY3JvKHllYXIpCiAKICNk
ZWZpbmUgSlNDX0NPTU1PTl9JREVOVElGSUVSU19FQUNIX0tFWVdPUkQobWFjcm8pIFwKKyAgICBt
YWNybyhhd2FpdCkgXAogICAgIG1hY3JvKGJyZWFrKSBcCiAgICAgbWFjcm8oY2FzZSkgXAogICAg
IG1hY3JvKGNhdGNoKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5l
cy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA5ZTljZjQ0MGY4NDRj
Y2U4MDc2NjY3ODkzOTNmMjViYzQ2MjE2NGRhLi4wNjA1YzE1MWY4OTEyMTUzMDJkZGUwMDk2NDRl
MDA0MWQ4YzU2M2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTM2MCw2ICszNjAsMTAg
QEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNkZWZpbmUgRU5BQkxFX0VTNl9NT0RVTEVTIDAK
ICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRB
WCkKKyNkZWZpbmUgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCAwCisjZW5kaWYK
KwogI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMpCiAjZGVmaW5lIEVOQUJM
RV9DT05URU5UX0VYVEVOU0lPTlMgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNh
MzFiZDJjNDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0
M2ZkYmY5YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5W
QVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFC
TEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0g
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3Mq
XSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5B
QkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQw
ZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAx
N19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9
YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFj
b3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5B
QkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFC
TEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxF
X1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAx
N19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
QURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBM
QVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVO
QUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgy
YTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsK
K0VOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9
aXBob25lKl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkdbc2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQg
KzIwMSw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7
CiAKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVE
SUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1f
QVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5T
Rk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
U19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAk
KEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9E
RVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RS
RUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXgg
YzcxZTVhNzZiOGViNTk5NTgxY2Q4OGNkMzAwNjAzZmUzZTQxYjNiYS4uYjM3M2MwNTY2MjVmZTY0
YWU1NmYyZTY2MTZjNTI3Nzc0YmFjZGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpA
QCAtMTEzLDYgKzExMyw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAiVG9nZ2xlIEVNRSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyICJTdXBwb3J0IEVNRSB2MiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0VTNl9NT0RVTEVTICJUb2dnbGUgRVM2IG1vZHVsZXMgc3VwcG9ydCIg
UFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIg
UFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZFVENIX0FQSSAi
VG9nZ2xlIEZldGNoIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIgIlRvZ2dsZSBGaWx0ZXJzIE1vZHVsZSBMZXZl
bCAyIiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUyAiVG9nZ2xlIEZvbnQgTG9hZCBFdmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYyBiL1Rvb2xzL1NjcmlwdHMvYnVp
bGQtanNjCmluZGV4IDIzNDc3YWZiNTBkZjliMDk3ZWI0MmY3YjQyZDNhNTcyNzA1ZmI2MGEuLjFl
M2ZkOGQwMDdkZmIwNTBlNGI2MjZkZGZiNDczNTA2YTU4MjI0OWEgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtanNjCisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjCkBAIC0zMywx
MyArMzMsMTYgQEAgdXNlIEZpbmRCaW47CiB1c2UgR2V0b3B0OjpMb25nIHF3KDpjb25maWcgcGFz
c190aHJvdWdoKTsKIHVzZSBsaWIgJEZpbmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwordXNl
IHdlYmtpdHBlcmw6OkZlYXR1cmVMaXN0IHF3KGdldEZlYXR1cmVPcHRpb25MaXN0KTsKIHVzZSBQ
T1NJWDsKIAorc3ViIGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpOwogc3ViIHdyaXRlQ29uZ3JhdHMo
KTsKIAogcHJvaGliaXRVbmtub3duUG9ydCgpOwogCiBteSAkc2hvdWxkUnVuU3RhdGljQW5hbHl6
ZXIgPSAwOworbXkgJG1pbmltYWwgPSAwOwogbXkgJGNvdmVyYWdlU3VwcG9ydCA9IDA7CiBteSAk
c2hvd0hlbHAgPSAwOwogbXkgJGZ0bEpJVCA9IGludChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgIXdp
bGxVc2VJT1NTaW11bGF0b3JTREsoKSB8fCBpc1g4Nl82NCgpICYmIChpc0d0aygpIHx8IGlzRWZs
KCkgfHwgaXNKU0NPbmx5KCkpKTsKQEAgLTUwLDYgKzUzLDIwIEBAIG15IEBjbWFrZUFyZ3M7CiBt
eSAkY29weUxpYnJhcmllcyA9IDE7CiBteSAkc3RhcnRUaW1lID0gdGltZSgpOwogCitteSBAZmVh
dHVyZXMgPSBnZXRGZWF0dXJlT3B0aW9uTGlzdCgpOworCisjIEluaXRpYWxpemUgdmFsdWVzIGZy
b20gZGVmYXVsdHMKK2ZvcmVhY2ggKEBBUkdWKSB7CisgICAgaWYgKCRfIGVxICctLW1pbmltYWwn
KSB7CisgICAgICAgICRtaW5pbWFsID0gMTsKKyAgICB9Cit9CisKKyMgSW5pdGlhbGl6ZSB2YWx1
ZXMgZnJvbSBkZWZhdWx0cworZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgJHskXy0+e3ZhbHVl
fX0gPSAoJG1pbmltYWwgPyAwIDogJF8tPntkZWZhdWx0fSk7Cit9CisKICMgQWRkaXRpb25hbCBl
bnZpcm9ubWVudCBwYXJhbWV0ZXJzCiBwdXNoIEBBUkdWLCBzcGxpdCgvIC8sICRFTlZ7J0JVSUxE
X0pTQ19BUkdTJ30pIGlmICgkRU5WeydCVUlMRF9KU0NfQVJHUyd9KTsKIApAQCAtNjcsNyArODQs
NyBAQCBVc2FnZTogJHByb2dyYW1OYW1lIFtvcHRpb25zXSBbb3B0aW9ucyB0byBwYXNzIHRvIGJ1
aWxkIHN5c3RlbV0KICAgLS1jbWFrZWFyZ3M9PGFyZ3VtZW50cz4gICAgICAgT25lIG9yIG1vcmUg
b3B0aW9uYWwgQ01ha2UgZmxhZ3MgKGUuZy4gLS1jbWFrZWFyZ3M9Ii1ERk9PPWJhciAtRENNQUtF
X1BSRUZJWF9QQVRIPS91c3IvbG9jYWwiKQogRU9GCiAKLUdldE9wdGlvbnMoCitteSAlb3B0aW9u
cyA9ICgKICAgICAnYW5hbHl6ZSEnID0+IFwkc2hvdWxkUnVuU3RhdGljQW5hbHl6ZXIsCiAgICAg
J2NvdmVyYWdlIScgPT4gXCRjb3ZlcmFnZVN1cHBvcnQsCiAgICAgJ2hlbHAnID0+IFwkc2hvd0hl
bHAsCkBAIC03OSw2ICs5NiwxNiBAQCBHZXRPcHRpb25zKAogICAgICdjbWFrZWFyZ3M9cycgPT4g
XEBjbWFrZUFyZ3MKICk7CiAKK2ZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgIGlmICgkXy0+e2ph
dmFzY3JpcHR9KSB7CisgICAgICAgIG15ICRvcHQgPSBzcHJpbnRmKCIlLTM1cyIsICIgIC0tW25v
LV0kXy0+e29wdGlvbn0iKTsKKyAgICAgICAgJHVzYWdlIC49ICIkb3B0ICRfLT57ZGVzY30gKGRl
ZmF1bHQ6ICRfLT57ZGVmYXVsdH0pXG4iOworICAgICAgICAkb3B0aW9uc3siJF8tPntvcHRpb259
ISJ9ID0gJF8tPnt2YWx1ZX07CisgICAgfQorfQorCitHZXRPcHRpb25zKCVvcHRpb25zKTsKKwog
aWYgKCRzaG93SGVscCkgewogICAgcHJpbnQgU1RERVJSICR1c2FnZTsKICAgIGV4aXQgMTsKQEAg
LTEwNCw2ICsxMzEsOCBAQCBpZiAoaXNDTWFrZUJ1aWxkKCkpIHsKICAgICBwdXNoIEBjbWFrZUFy
Z3MsICRmb3JjZUNMb29wID8gIiAtREVOQUJMRV9KSVQ9T0ZGIiA6ICIgLURFTkFCTEVfSklUPU9O
IjsKICAgICBwdXNoIEBjbWFrZUFyZ3MsICRmdGxKSVQgPyAiIC1ERU5BQkxFX0ZUTF9KSVQ9T04i
IDogIiAtREVOQUJMRV9GVExfSklUPU9GRiI7CiAKKyAgICBteSBAZmVhdHVyZUFyZ3MgPSBjTWFr
ZUFyZ3NGcm9tRmVhdHVyZXMoKTsKKwogICAgIG15ICRidWlsZFRhcmdldCA9ICIiOwogICAgIHVu
bGVzcyAoaXNBbnlXaW5kb3dzKCkpIHsKICAgICAgICAgIyBCeSBkZWZhdWx0IHdlIGJ1aWxkIHVz
aW5nIGFsbCBvZiB0aGUgYXZhaWxhYmxlIENQVXMKQEAgLTExNCw3ICsxNDMsNyBAQCBpZiAoaXND
TWFrZUJ1aWxkKCkpIHsKICAgICB9CiAKICAgICAjIFRoaXMgY2FsbCBvbmx5IHJldHVybnMgaWYg
bm90aGluZyB3cm9uZyBoYXBwZW5lZAotICAgIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KDAsIHVu
ZGVmLCAkYnVpbGRUYXJnZXQsIChjbWFrZUJhc2VkUG9ydEFyZ3VtZW50cygpLCBAY21ha2VBcmdz
KSk7CisgICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoMCwgdW5kZWYsICRidWlsZFRhcmdldCwg
KGNtYWtlQmFzZWRQb3J0QXJndW1lbnRzKCksIEBmZWF0dXJlQXJncywgQGNtYWtlQXJncykpOwog
ICAgIHdyaXRlQ29uZ3JhdHMoKTsKICAgICBleGl0IGV4aXRTdGF0dXMoMCk7CiB9CkBAIC0xMjMs
NiArMTUyLDIwIEBAIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICBwdXNoIEBvcHRpb25z
LCAoJGZvcmNlQ0xvb3AgPyAiRU5BQkxFX0pJVD1FTkFCTEVfSklUPTAiIDogIkVOQUJMRV9KSVQ9
RU5BQkxFX0pJVCIpOwogICAgIHB1c2ggQG9wdGlvbnMsICgkZnRsSklUID8gIkVOQUJMRV9GVExf
SklUPUVOQUJMRV9GVExfSklUIiA6ICJFTkFCTEVfRlRMX0pJVD1FTkFCTEVfRlRMX0pJVD0wIik7
CiAKKyAgICBzdWIgb3B0aW9uKCQkJCkKKyAgICB7CisgICAgICAgIG15ICgkZmVhdHVyZSwgJGlz
RW5hYmxlZCwgJGRlZmF1bHRWYWx1ZSkgPSBAXzsKKyAgICAgICAgcmV0dXJuICIiIGlmICRkZWZh
dWx0VmFsdWUgPT0gJGlzRW5hYmxlZDsKKyAgICAgICAgcmV0dXJuICRmZWF0dXJlIC4gIj0iIC4g
KCRpc0VuYWJsZWQgPyAkZmVhdHVyZSA6ICIiKTsKKyAgICB9CisKKyAgICBmb3JlYWNoIChAZmVh
dHVyZXMpIHsKKyAgICAgICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgICAgIG15
ICRvcHRpb24gPSBvcHRpb24oJF8tPntkZWZpbmV9LCAkeyRfLT57dmFsdWV9fSwgJF8tPntkZWZh
dWx0fSk7CisgICAgICAgICAgICBwdXNoIEBvcHRpb25zLCAkb3B0aW9uIHVubGVzcyAkb3B0aW9u
IGVxICIiOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKCRjb3B5TGlicmFyaWVzKSB7CiAg
ICAgICAgIG15IEBjb3B5TGlicmFyaWVzQXJncyA9ICgicGVybCIsICJUb29scy9TY3JpcHRzL2Nv
cHktd2Via2l0bGlicmFyaWVzLXRvLXByb2R1Y3QtZGlyZWN0b3J5Iik7CiAgICAgICAgIHB1c2gg
QGNvcHlMaWJyYXJpZXNBcmdzLCAiLS1kZXZpY2UiIGlmIHdpbGxVc2VJT1NEZXZpY2VTREsoKTsK
QEAgLTE1Myw2ICsxOTYsMjEgQEAgc3ViIGJ1aWxkTXlQcm9qZWN0CiAgICAgY2hkaXJXZWJLaXQo
KTsKIH0KIAorc3ViIGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpCit7CisgICAgbXkgQGFyZ3M7Cisg
ICAgZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgICAgIG15ICRmZWF0dXJlTmFtZSA9ICRfLT57
ZGVmaW5lfTsKKyAgICAgICAgaWYgKCRmZWF0dXJlTmFtZSkgeworICAgICAgICAgICAgbXkgJGZl
YXR1cmVFbmFibGVkID0gJHskXy0+e3ZhbHVlfX0gPyAiT04iIDogIk9GRiI7CisgICAgICAgICAg
ICBpZiAoJGZlYXR1cmVFbmFibGVkICE9ICRfLT57ZGVmYXVsdH0pIHsKKyAgICAgICAgICAgICAg
ICBwdXNoIEBhcmdzLCAiLUQkZmVhdHVyZU5hbWU9JGZlYXR1cmVFbmFibGVkIjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gQGFyZ3M7Cit9CisKIHN1YiB3cml0
ZUNvbmdyYXRzKCkKIHsKICAgICBteSAkZW5kVGltZSA9IHRpbWUoKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCA2OWRjZTc2ZGVjMDYyYjMwODFmMDdkMWIzYmRl
MTJiYjMzZGRiZjZhLi45YjdhZmIzNTRjY2Q5MjE3MmMwMzE1Yjg2ZTZhMGE3ZWRhMDljMmVjIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC01MSw2ICs1MSw3IEBA
IEJFR0lOIHsKIG15ICgKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCiAgICAgJGFs
bEluT25lQnVpbGQsCisgICAgJGFzeW5jZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRF
bGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1Bh
dGhTdXBwb3J0LApAQCAtMTczLDYgKzE3NCwxMCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBv
cHRpb24gPT4gImFsbGlub25lLWJ1aWxkIiwgZGVzYyA9PiAiVG9nZ2xlIGFsbC1pbi1vbmUgYnVp
bGQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUxMSU5PTkVfQlVJTEQiLCBkZWZhdWx0ID0+
IGlzV2luZG93cygpLCB2YWx1ZSA9PiBcJGFsbEluT25lQnVpbGQgfSwKIAorICAgIHsgb3B0aW9u
ID0+ICJhc3luY2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzIwMTcgYXN5bmMg
ZnVuY3Rpb25zIHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVMyMDE3X0FTWU5D
RlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGFzeW5jZnVuY3Rpb25T
eW50YXgsCisgICAgICBqYXZhc2NyaXB0ID0+IDEgfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRh
Y2htZW50LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBv
cnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVs
dCA9PiAwLCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCkBAIC0yNjQs
NyArMjY5LDggQEAgbXkgQGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0FN
RVBBRCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRnYW1lcGFkU3VwcG9ydCB9LAogCiAgICAg
eyBvcHRpb24gPT4gImdlbmVyYXRvcnMiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGdlbmVyYXRvcnMg
c3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIsIGRlZmF1
bHQgPT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0b3JzU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfRVM2X0dFTkVSQVRPUlMiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkZ2VuZXJh
dG9yc1N1cHBvcnQsCisgICAgICBqYXZhc2NyaXB0ID0+IDEgfSwKIAogICAgIHsgb3B0aW9uID0+
ICJnZW9sb2NhdGlvbiIsIGRlc2MgPT4gIlRvZ2dsZSBHZW9sb2NhdGlvbiBzdXBwb3J0IiwKICAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0dFT0xPQ0FUSU9OIiwgZGVmYXVsdCA9PiAoaXNBcHBsZVdl
YktpdCgpIHx8IGlzSU9TV2ViS2l0KCkgfHwgaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4g
XCRnZW9sb2NhdGlvblN1cHBvcnQgfSwKQEAgLTM0Miw3ICszNDgsOCBAQCBteSBAZmVhdHVyZXMg
PSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NSFRNTCIsIGRlZmF1bHQgPT4gKGlzR3RrKCkg
fHwgaXNFZmwoKSksIHZhbHVlID0+IFwkbWh0bWxTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9
PiAibW9kdWxlcyIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgbW9kdWxlcyBzdXBwb3J0IiwKLSAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBc
JG1vZHVsZXNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfTU9EVUxFUyIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRtb2R1bGVzU3VwcG9ydCwKKyAgICAgIGphdmFzY3Jp
cHQgPT4gMSB9LAogCiAgICAgeyBvcHRpb24gPT4gIm1vdXNlLWN1cnNvci1zY2FsZSIsIGRlc2Mg
PT4gIlRvZ2dsZSBTY2FsZWQgbW91c2UgY3Vyc29yIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9
PiBcJG1vdXNlQ3Vyc29yU2NhbGVTdXBwb3J0IH0sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBm
NmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4
MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUxLDYg
KzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxF
X0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWFwcGxl
dHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1hY29zeCpd
ID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0IEBAIEVOQUJMRV9G
VExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9DVVNUT01f
RUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9B
TklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJM
RV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNT
RU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVf
WFNMVCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGIzZjY4ZDJmY2VlZTVkNzAyNDJjMzI5ZmRjMDM2OWEyY2FhMzU2MzAuLjRiYzEwNTg5
YWJhZDVlOGIyMWQ3ZjhmY2NjNjBiYjE4YjNlYmEzMjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzE2LTA5LTA3
ICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1w
bGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanM6
IEFkZGVkLgorICAgICAgICAodGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0U3ludGF4RXJyb3Ip
OgorICAgICAgICAodGVzdFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVzdFN5
bnRheCk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSk6
CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSk6CisgICAg
ICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZS50ZXN0U3ludGF4KToK
KyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmFzeW5jKToKKyAgICAgICAgKHRl
c3ROZXN0ZWRBc3luY0F3YWl0U3ludGF4LmZvbyk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3lu
Y0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3ludGF4RXJyb3IpOgorCiAyMDE2LTA5LTIwICBC
ZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIERv
IG5vdCB1c2UgRWFnZXJSdW4gb24gdGVzdHMgY291bnRpbmcgcmVjb21waWxhdGlvbgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0cy9zdHJl
c3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYWU3N2Q2ZTYyNGY1NGM5ZDY3
M2FmN2M5MjlhNTk5N2UyNGJhODMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9h
c3luYy1hd2FpdC1zeW50YXguanMKQEAgLTAsMCArMSwyODAgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvLyBUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCB0byBiZSBlbmFibGVkIGF0IGJ1aWxkIHRpbWUuCisvL0Agc2tpcAorCitmdW5j
dGlvbiB0ZXN0U3ludGF4KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0
KTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBT
eW50YXhFcnJvcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsg
U3RyaW5nKGVycm9yKSArICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQsIG1lc3NhZ2UpIHsK
KyAgICB2YXIgZXJyb3IgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsK
KyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFl
cnJvcikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJyb3Igbm90
IHRocm93blxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworCisgICAgaWYg
KHR5cGVvZiBtZXNzYWdlID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdl
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikg
KyAiXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9CisKKyhmdW5jdGlv
biB0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3lu
dGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2ApOworICAg
IHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoKSB7IGF3
YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBh
d2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyB4ID0+
IGF3YWl0IHggKyAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMgZnVuY3Rpb24gYXN5
bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyBt
ZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5
bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChg
dmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5
bnRheChgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3lu
dGF4KGBjbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVz
dFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9
O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQg
MTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAwKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEg
fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28g
PSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkgeyB2
YXIgZiA9IGFzeW5jKHlpZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkg
eyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0
VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07
YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uIHdpdGhOYW1lKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ug
c3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAg
dGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdhaXQg
eCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0
aW9uIGFzeW5jRm4oKSB7IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmlj
dCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0
U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7
IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7IGF3YWl0
IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3lu
YyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAi
dXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2Ap
OworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3
YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0Zu
ID0gYXN5bmMoeyBmb28gPSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOwor
ICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5
bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiog
ZygpIHsgdmFyIGYgPSBhc3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rpb24g
dGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRleHREYXRhID0gWwor
ICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDog
IiB9IiB9LAorICAgICAgICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsg
Iiwgc3VmZml4OiAiIH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyRnVuY0V4cHIg
PSBmdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZh
ciBvdXRlckdlbkV4cHIgPSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZm
aXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7ICpv
dXRlckdlbk1ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4
OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZm
aXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBj
bGFzcyBDIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljIG91dGVy
U3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mg
b3V0ZXJDbGFzcyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBz
dWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsg
c3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1l
dGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91
dGVyQXJyb3cgPSAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJhc3luYyBmdW5jdGlvbiBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9IiB9
LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIgPSBhc3luYyBmdW5j
dGlvbigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRl
ckFzeW5jQXJyb3dGdW5jID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAg
ICAgIHsgcHJlZml4OiAidmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRlckFzeW5jTWV0aG9k
KCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJD
bGFzc0V4cHIgPSBjbGFzcyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4
OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xh
c3MgQyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6
ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgYXN5bmMg
b3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJl
Zml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAgdmFyIHRlc3REYXRh
ID0gWworICAgICAgICBgdmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBs
ZXQgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0IGFzeW5jID0gMTsg
cmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9IHJldHVybiBhc3lu
YygpO2AsCisgICAgICAgIGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsgcmV0dXJuIGFzeW5j
KCk7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3
YWl0OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1g
LAorICAgICAgICBgZnVuY3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0
OyB9YCwKKyAgICAgICAgYGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9YCwK
KyAgICAgICAgYHZhciBmID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1g
LAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3
YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3
YWl0OyB9IH07YCwKKyAgICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAx
OyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoYXdhaXQp
IHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9uIGF3YWl0KCkge30p
YCwKKyAgICBdOworCisgICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0RGF0YSkgeworICAg
ICAgICBmb3IgKGxldCB0ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAgICBsZXQgc2NyaXB0
ID0gY29udGV4dC5wcmVmaXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7CisgICAgICAgICAgICB0
ZXN0U3ludGF4KHNjcmlwdCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7
ICR7c2NyaXB0fWApOworICAgICAgICB9CisgICAgfQorfSkoKTsKKworCisoZnVuY3Rpb24gdGVz
dFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVy
cm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0ID0gJ3Rlc3Qn
O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZh
ciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0Zu
ID0gYXN5bmMgYXdhaXQgPT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0
ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rp
b25EZWNsYXJhdGlvbihhd2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBNZXRob2REZWZpbml0
aW9ucyBkbyBub3QgYXBwbHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0cmljdGlvbnMKKyAg
ICAvLyAgICAgICAgaW4gc2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjE0MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVj
dCA9IHsgYXN5bmMgbWV0aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihg
dmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOwor
ICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2Qn
KGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0g
eyBhc3luYyAwKGEsIGEpIHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5j
QXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGFzeW5jIGZ1bmN0aW9uKiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGB2YXIgTyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRob2Qo
KSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2Vu
ZXJhdG9yTWV0aG9kKigpIHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3lu
Y0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9IGF3YWl0IDEpID0+
IHg7YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKHggPSBh
d2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0
aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+
IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigp
IHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0
aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0geWll
bGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBhc3luYyBj
b25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMge307IGNs
YXNzIEMyIGV4dGVuZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0
aWMgYXN5bmMgcHJvdG90eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIg
ZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtgKTsKKworICAgIC8v
IEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3lu
YyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YChhc3luYyBmdW5jdGlvbiBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYChhc3luYyBmdW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzcg
Zm9vOCA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzkgKCkgPT4gMSlg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgKGFzeW5jKCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydm
b28xNSddIGZvbzE2ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE3
J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOCddID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAx
KWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOworICAgIHRlc3RTeW50
YXhFcnJvcigiKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJv
cigiKGFzeW5jYGZvbzI1YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5j
YGZvbzI2YC5iYXIyNyA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI4
YC5iYXIyOSBmb28zMCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzMx
YC5iYXIzMiAoKSA9PiAxKSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGls
bCB0aHJvd24gZm9yIGNhbGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAgICAgICAg
ICAgIGFzeW5jKHsgZm9vMzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdFRvcExl
dmVsQXN5bmNBd2FpdFN5bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jICgp
ID0+IHZhciBhd2FpdCA9ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtg
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3lu
YyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9u
IHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFy
YXRpb24oYXdhaXQpIHt9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsnbWV0
aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5j
IDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0Fycm93Rm4gPSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRheEVy
cm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24qIGFzeW5j
R2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7ICphc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JN
ZXRob2QoKSB7fSB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
TyA9IHsgYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHgg
PSBhd2FpdCAxKSB7IHJldHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQg
MSkgPT4geDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jIG1ldGhvZCh4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsg
dmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5
bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJv
d0ZuID0gYXN5bmMoeCA9IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dG
biA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRl
bmRzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMy
IGV4dGVuZHMgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9
IGF3YWl0IDEpID0+IHgpKCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAo
dG0pCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBm
b28xKCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9
IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5j
IGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYyBmdW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEzICgpID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTQn
XSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2Zv
bzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
KGFzeW5jWydmb28xNyddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgpID0+IDEpYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yMmAgPT4gMSknKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIzYCBmb28yNCA9
PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjVg
ICgpID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bm
b28yNmAuYmFyMjcgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0Ijsg
KGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcign
InVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7CisKKyAgICAvLyBh
c3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMgdGhhdCBtYXkgaGF2
ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyBmdW5jdGlvbiBhc3luYygpIHt9CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZvbzMz
ID0gMSB9KWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyBtZXRob2QoZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwpIHt9IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRob2Qn
KGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8g
PSB7IGFzeW5jIDAoZXZhbCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29k
J10oYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBPID0geyBhc3luYyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJndW1lbnRzKSB7fSB9
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5j
IG1ldGhvZChkdXBlLCBkdXBlKSB7fSB9YCk7Cit9KSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289499</attachid>
            <date>2016-09-21 18:18:58 -0700</date>
            <delta_ts>2016-09-21 18:29:16 -0700</delta_ts>
            <desc>Async Function Parsing v8</desc>
            <filename>bug-161409-20160921211608.patch</filename>
            <type>text/plain</type>
            <size>208540</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NjE2NmU1NDBmNmY2MDk2YTQ5MzhjOTVkNDNlODI2MmM3Yjg4YjYyLi4wZWQxZmE5YjM3OGI4NDgx
ZWYzZjNhNTA5ODg0ZTQwMzNiODQxYzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMTcgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZXMgZnJvbnRlbmQgcGFyc2luZyBmb3IgdGhlIGFzeW5jIGZ1bmN0aW9uIHByb3Bvc2FsIHNvb24g
dG8gYmUKKyAgICAgICAgcmF0aWZpZWQgaW4gRUNNQTI2MiAoaHR0cHM6Ly90YzM5LmdpdGh1Yi5p
by9lY21hc2NyaXB0LWFzeW5jYXdhaXQvKS4KKworICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKToKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24pOgorICAgICAgICAqIHBhcnNlci9BU1RC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmlzQXJyb3dGdW5jdGlvblBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0
aW9uU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnRMaXN0SXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46Om1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydENsYXVzZUl0ZW0p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9k
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJl
ckV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVVuYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
cmludFVuZXhwZWN0ZWRUb2tlblRleHQpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJj
ZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlND
OjpTY29wZTo6aXNNb2R1bGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93
RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlND
OjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVy
cm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpw
cm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhw
cmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3Ip
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwdXNoU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lkZW50aWZpZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbik6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZVBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgor
ICAgICAgICAoSlNDOjpvbmVPZlNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1
bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6
aXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc1Byb2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9y
UGFyc2VNb2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICog
cGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3Jl
YXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVGdW5jdGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaDoKKworICAgICAgICAqIEFQSS9KU1NjcmlwdFJlZi5jcHA6CisgICAgICAgIChwYXJz
ZVNjcmlwdCk6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNwcDoKKyAgICAgICAg
KEpTQzo6QnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKToKKyAgICAgICAgKiBi
eXRlY29kZS9FdmFsQ29kZUNhY2hlLmg6CisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OkNh
Y2hlS2V5OjpDYWNoZUtleSk6CisgICAgICAgICogYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaDoK
KyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUluZm86OkV4ZWN1dGFibGVJbmZvKToKKyAgICAgICAg
KEpTQzo6RXhlY3V0YWJsZUluZm86OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9V
bmxpbmtlZENvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpV
bmxpbmtlZENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2su
aDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmNvbW1lbnRNb2RlKToKKyAgICAg
ICAgKiBieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChK
U0M6OmdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OlVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6Cisg
ICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0
ZWNvZGVHZW5lcmF0b3I6OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6QXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWls
ZGVyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5j
RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OkxleGVyKToKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6Cisg
ICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXdhaXRF
eHByTm9kZTo6QXdhaXRFeHByTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpQYXJzZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0
ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlv
blNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRDbGF1c2VJdGVtKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYXRpb24p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eU1ldGhvZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByaW1hcnlFeHByZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzaW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3Rl
ZFRva2VuVGV4dCk6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAg
ICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAg
IChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNj
b3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJ
c0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9u
Qm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFz
c2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25U
eXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAgICAoSlNDOjpT
Y29wZTo6aXNHZW5lcmF0b3JCb3VuZGFyeSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNl
cjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyTW9kZXMuaDoKKyAgICAgICAgKEpTQzo6
U291cmNlUGFyc2VNb2RlU2V0OjpTb3VyY2VQYXJzZU1vZGVTZXQpOgorICAgICAgICAoSlNDOjpT
b3VyY2VQYXJzZU1vZGVTZXQ6OmNvbnRhaW5zKToKKyAgICAgICAgKEpTQzo6U291cmNlUGFyc2VN
b2RlU2V0OjptZXJnZVNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1bmN0aW9u
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3lu
Y0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc1By
b2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VN
b2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICogcGFyc2Vy
L1NvdXJjZUNvZGVLZXkuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZUZsYWdzOjpTb3VyY2VD
b2RlRmxhZ3MpOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlS2V5OjpTb3VyY2VDb2RlS2V5KToK
KyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhD
aGVja2VyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRl
WWllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVGdW5j
dGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRHbG9iYWxDb2RlQmxvY2spOgorICAgICAgICAoSlND
OjpDb2RlQ2FjaGU6OmdldFByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2Fj
aGU6OmdldEV2YWxDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldE1vZHVs
ZVByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEZ1bmN0aW9u
RXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50
aW1lL0NvbXBsZXRpb24uY3BwOgorICAgICAgICAoSlNDOjpjaGVja1N5bnRheCk6CisgICAgICAg
IChKU0M6OmNoZWNrTW9kdWxlU3ludGF4KToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUu
Y3BwOgorICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvTW9kdWxlTG9h
ZGVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6bW9kdWxlTG9hZGVyUHJvdG90eXBlUGFy
c2VNb2R1bGUpOgorCiAyMDE2LTA5LTIxICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5saW5lIGZ1bmN0aW9uIG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZWFhYjRiMmU0ZTMzODk2NzQ0YTcyMDI3M2EwYjU0YmZiNTVkOTg4Ny4uOGJhZGFjOGFm
MTg0MzBiY2NiYmE2MWM1MTlhMzU0YjBkNTljY2Q4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
Ni0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtK
U0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoK
KwogMjAxNi0wOS0yMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwNjIyMiBhbmQgcjIwNjIyNy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2NzI4NjAzNjgxYWNhYzllODhiMDQxOTQ4ODk5ZTdkZWMyMWQwYmIxLi5iYTkw
YmE0MDUzZjQ2ZDVmMzIxYWVmMDA3Y2M0ZmRiNWM2ZGU5YmYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4K
KworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTYtMDktMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBTZXR0aW5nIEhUTUxNZXRlckVsZW1lbnQncyBhdHRyaWJ1dGVzIHRvIG5vbi1maW5p
dGUgdmFsdWVzIHRocm93cyB3cm9uZyBleGNlcHRpb24gdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDAyMDI4YWEzNDNkYmIwNzM2YmRiYjNhZTc4NWU4ZDdhZjlhNWM3NTIuLjFjNDU1NDQ4OTlkNzNj
ZTc4NWQ2NjIyZWViMjljOGFhYTM2YWRlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxNi0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wOS0yMSAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgb3BlblBheW1lbnRTZXR1
cCBBUEkgb24gQXBwbGVQYXlTZXNzaW9uIG9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNhOWE1YzZjNWQz
MGI5ZGY3MWFhNWU5YjZjZWQ1NDI3OGViZmMxNzcuLmY4MDg2MjdmYmUyZmI1NmY1NzU4MjgxZDQx
NGYxMDU3M2ZjNjkyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wOS0yMSAg
Q2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxl
bWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKwogMjAxNi0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIHN1cHBvcnQgb3BlblBheW1lbnRTZXR1cCBBUEkgb24gQXBwbGVQYXlT
ZXNzaW9uIG9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Nj
cmlwdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcApp
bmRleCA1YmZkMjlhZmNjZTJkNDEwMDc5OTI2NzhlNjYzZTUzZGMyOTI1OWE4Li5lMjM2ZjUxMDU0
ZDgxYzg5MWZmOGRjZGVkMWUxOTNhMWRlOTdlMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTU2NyaXB0UmVmLmNwcApAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZVNj
cmlwdChWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9y
KQogewogICAgIHJldHVybiAhIUpTQzo6cGFyc2U8SlNDOjpQcm9ncmFtTm9kZT4oCiAgICAgICAg
IHZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRp
biwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVu
dE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGlu
Zzo6Tm90TmVlZGVkLAorICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQ
YXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBT
dXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKICAgICAgICAgZXJyb3IpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4
Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVT
ID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
W3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0y
MDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRM
X0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFf
U1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wy
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NU
UkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVM
RVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hf
QVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
RElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
QkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJM
RV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKaW5kZXggYTlhOGViOWRkZGMx
NTIyYWY3MTczZjIwZGZmOTRiNGNmMzU1ZjgzNS4uOGYyZGZhOTkwMTFiZDRhYjk3NGJmZTNjYjM1
MWE1ZjMzOWFmM2UzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUqIEJ1aWx0aW5FeGVjdXRhYmxlczo6Y3JlYXRlRXhlY3V0YWJsZShWTSYg
dm0sIGNvbnN0IFMKICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IHNvdXJjZU92ZXJyaWRlID0g
aXNQYXJzaW5nRGVmYXVsdENvbnN0cnVjdG9yID8gc291cmNlLnByb3ZpZGVyKCkgOiBudWxscHRy
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3JhbSA9IHBhcnNlPFByb2dy
YW1Ob2RlPigKICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgYnVpbHRpbk1vZGUs
Ci0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRN
b2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6
Ok5vdE5lZWRlZCwgZXJyb3IsCisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0
LCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvciwKICAgICAgICAgJnBvc2l0aW9uQmVm
b3JlTGFzdE5ld2xpbmUsIGNvbnN0cnVjdG9yS2luZCk7CiAKICAgICBpZiAoIXByb2dyYW0pIHsK
QEAgLTEwNiw3ICsxMDYsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQnVpbHRpbkV4
ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKFZNJiB2bSwgY29uc3QgUwogICAgIFJFTEVBU0Vf
QVNTRVJUKG1ldGFkYXRhKTsKICAgICBtZXRhZGF0YS0+b3ZlcnJpZGVOYW1lKG5hbWUpOwogICAg
IFZhcmlhYmxlRW52aXJvbm1lbnQgZHVtbXlURFpWYXJpYWJsZXM7Ci0gICAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlOjpjcmVhdGUoJnZtLCBzb3VyY2UsIG1ldGFkYXRhLCBraW5kLCBjb25zdHJ1Y3RBYmls
aXR5LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBkdW1teVREWlZhcmlhYmxlcywgRGVy
aXZlZENvbnRleHRUeXBlOjpOb25lLCBXVEZNb3ZlKHNvdXJjZU92ZXJyaWRlKSk7CisgICAgVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlOjpjcmVhdGUoJnZtLCBzb3VyY2UsIG1ldGFkYXRhLCBraW5kLCBjb25z
dHJ1Y3RBYmlsaXR5LCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIGR1bW15VERaVmFyaWFi
bGVzLCBEZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUsIFdURk1vdmUoc291cmNlT3ZlcnJpZGUpKTsK
ICAgICByZXR1cm4gZnVuY3Rpb25FeGVjdXRhYmxlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaAppbmRleCBmYTI3NzI0NjJiZTE3NWQwNTdj
OTdjN2UxYzgyNzVjZjRmNjVlZWNhLi5hOWVkZjUzMmJmMjlmZTFkNTIwOWZiZmZhM2E4YzY5ZDNj
ZjE4NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENv
ZGVDYWNoZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FdmFsQ29kZUNh
Y2hlLmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIENhY2hlS2V5KGNvbnN0IFN0cmluZyYgc291cmNlLCBEZXJpdmVkQ29udGV4
dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBl
LCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpCiAgICAgICAgICAgICAgICAgOiBtX3NvdXJj
ZShzb3VyY2UuaW1wbCgpKQotICAgICAgICAgICAgICAgICwgbV9mbGFncyhTb3VyY2VDb2RlVHlw
ZTo6RXZhbFR5cGUsIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sIEpTUGFyc2VyU3Ry
aWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBkZXJpdmVk
Q29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKKyAg
ICAgICAgICAgICAgICAsIG1fZmxhZ3MoU291cmNlQ29kZVR5cGU6OkV2YWxUeXBlLCBKU1BhcnNl
ckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLCBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwg
SlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250
ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4ZWN1
dGFibGVJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUlu
Zm8uaAppbmRleCA2MjVmZGM5NTgwM2YyZDFkNGNhNmMxZTM3OTIyNzdmNTczZGQwMzc3Li5lYmYx
YmFkYTMzMTgxODdjMzdmODAzNjg2MzlmYjkzZmMxYTRjNTUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaApAQCAtMzYsMTQgKzM2LDE0IEBA
IGVudW0gY2xhc3MgRXZhbENvbnRleHRUeXBlICAgIDogdWludDhfdCB7IE5vbmUsIEZ1bmN0aW9u
RXZhbENvbnRleHQgfTsKIC8vIEZJWE1FOiBUaGVzZSBmbGFncywgUGFyc2VyTW9kZXMgYW5kIHBy
b3BhZ2F0aW9uIHRvIFhYWENvZGVCbG9ja3Mgc2hvdWxkIGJlIHJlb3JnYW5pemVkLgogLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTU0Nwogc3RydWN0IEV4ZWN1
dGFibGVJbmZvIHsKLSAgICBFeGVjdXRhYmxlSW5mbyhib29sIHVzZXNFdmFsLCBib29sIGlzU3Ry
aWN0TW9kZSwgYm9vbCBpc0NvbnN0cnVjdG9yLCBib29sIGlzQnVpbHRpbkZ1bmN0aW9uLCBDb25z
dHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRN
b2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2Rl
LCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5j
dGlvbkNvbnRleHQsIGJvb2wgaXNDbGFzc0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29u
dGV4dFR5cGUpCisgICAgRXhlY3V0YWJsZUluZm8oYm9vbCB1c2VzRXZhbCwgYm9vbCBpc1N0cmlj
dE1vZGUsIGJvb2wgaXNDb25zdHJ1Y3RvciwgYm9vbCBpc0J1aWx0aW5GdW5jdGlvbiwgQ29uc3Ry
dWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgSlNQYXJzZXJTY3JpcHRNb2RlIGNvbW1lbnRNb2Rl
LCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBE
ZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlv
bkNvbnRleHQsIGJvb2wgaXNDbGFzc0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4
dFR5cGUpCiAgICAgICAgIDogbV91c2VzRXZhbCh1c2VzRXZhbCkKICAgICAgICAgLCBtX2lzU3Ry
aWN0TW9kZShpc1N0cmljdE1vZGUpCiAgICAgICAgICwgbV9pc0NvbnN0cnVjdG9yKGlzQ29uc3Ry
dWN0b3IpCiAgICAgICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihpc0J1aWx0aW5GdW5jdGlvbikK
ICAgICAgICAgLCBtX2NvbnN0cnVjdG9yS2luZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29uc3Ry
dWN0b3JLaW5kKSkKICAgICAgICAgLCBtX3N1cGVyQmluZGluZyhzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oc3VwZXJCaW5kaW5nKSkKLSAgICAgICAgLCBtX2NvbW1lbnRNb2RlKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihjb21tZW50TW9kZSkpCisgICAgICAgICwgbV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihjb21tZW50TW9kZSkpCiAgICAgICAgICwgbV9wYXJzZU1vZGUocGFyc2VNb2Rl
KQogICAgICAgICAsIG1fZGVyaXZlZENvbnRleHRUeXBlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihk
ZXJpdmVkQ29udGV4dFR5cGUpKQogICAgICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uQ29udGV4dChp
c0Fycm93RnVuY3Rpb25Db250ZXh0KQpAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgRXhlY3V0YWJs
ZUluZm8gewogICAgIHsKICAgICAgICAgQVNTRVJUKG1fY29uc3RydWN0b3JLaW5kID09IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcktpbmQpKTsKICAgICAgICAgQVNTRVJUKG1fc3Vw
ZXJCaW5kaW5nID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdXBlckJpbmRpbmcpKTsKLSAgICAg
ICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRN
b2RlKSk7CisgICAgICAgIEFTU0VSVChtX3NjcmlwdE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KGNvbW1lbnRNb2RlKSk7CiAgICAgfQogCiAgICAgYm9vbCB1c2VzRXZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fdXNlc0V2YWw7IH0KQEAgLTYxLDcgKzYxLDcgQEAgc3RydWN0IEV4ZWN1dGFibGVJ
bmZvIHsKICAgICBib29sIGlzQnVpbHRpbkZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0J1
aWx0aW5GdW5jdGlvbjsgfQogICAgIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb25zdHJ1Y3RvcktpbmQ+KG1fY29uc3RydWN0b3JL
aW5kKTsgfQogICAgIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxTdXBlckJpbmRpbmc+KG1fc3VwZXJCaW5kaW5nKTsgfQotICAgIEpTUGFyc2Vy
Q29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1Bh
cnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRNb2RlKTsgfQorICAgIEpTUGFyc2VyU2NyaXB0TW9k
ZSBjb21tZW50TW9kZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEpTUGFyc2VyU2NyaXB0
TW9kZT4obV9zY3JpcHRNb2RlKTsgfQogICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUoKSBj
b25zdCB7IHJldHVybiBtX3BhcnNlTW9kZTsgfQogICAgIERlcml2ZWRDb250ZXh0VHlwZSBkZXJp
dmVkQ29udGV4dFR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxEZXJpdmVkQ29udGV4
dFR5cGU+KG1fZGVyaXZlZENvbnRleHRUeXBlKTsgfQogICAgIEV2YWxDb250ZXh0VHlwZSBldmFs
Q29udGV4dFR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFdmFsQ29udGV4dFR5cGU+
KG1fZXZhbENvbnRleHRUeXBlKTsgfQpAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgogICAgIHVu
c2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwogICAgIHVuc2lnbmVkIG1fY29uc3RydWN0
b3JLaW5kIDogMjsKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6IDE7Ci0gICAgdW5zaWdu
ZWQgbV9jb21tZW50TW9kZTogMTsKKyAgICB1bnNpZ25lZCBtX3NjcmlwdE1vZGU6IDE7CiAgICAg
U291cmNlUGFyc2VNb2RlIG1fcGFyc2VNb2RlOwogICAgIHVuc2lnbmVkIG1fZGVyaXZlZENvbnRl
eHRUeXBlIDogMjsKICAgICB1bnNpZ25lZCBtX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQgOiAxOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJs
b2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9j
ay5jcHAKaW5kZXggMTQ4NmQyYWJlYjZlYzQyYzNjMTI0MjFjNGNhMDBiZTI2YWExMTM5Yi4uNjBh
Yzk2Y2QyNDUwN2JmMzczZjQwMGI1Y2Y1NzgwZjZkZjE5MTkyOCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwCkBAIC02NSw3
ICs2NSw3IEBAIFVubGlua2VkQ29kZUJsb2NrOjpVbmxpbmtlZENvZGVCbG9jayhWTSogdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBDb2RlVHlwZSBjb2RlCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFy
aWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihpbmZvLmlzQnVpbHRpbkZ1
bmN0aW9uKCkpCiAgICAgLCBtX3N1cGVyQmluZGluZyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4oaW5m
by5zdXBlckJpbmRpbmcoKSkpCi0gICAgLCBtX2NvbW1lbnRNb2RlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihpbmZvLmNvbW1lbnRNb2RlKCkpKQorICAgICwgbV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0
PHVuc2lnbmVkPihpbmZvLnNjcmlwdE1vZGUoKSkpCiAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkNv
bnRleHQoaW5mby5pc0Fycm93RnVuY3Rpb25Db250ZXh0KCkpCiAgICAgLCBtX2lzQ2xhc3NDb250
ZXh0KGluZm8uaXNDbGFzc0NvbnRleHQoKSkKICAgICAsIG1fd2FzQ29tcGlsZWRXaXRoRGVidWdn
aW5nT3Bjb2RlcyhkZWJ1Z2dlck1vZGUgPT0gRGVidWdnZXJNb2RlOjpEZWJ1Z2dlck9uIHx8IE9w
dGlvbnM6OmZvcmNlRGVidWdnZXJCeXRlY29kZUdlbmVyYXRpb24oKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKaW5kZXggOTQ4N2Jh
NmMyYjY0NWJiZTMxYThiMzRlMmZjNmNlYmRiZDcxMmJhMC4uZTU5ZDJhMjMzNWUyNjg1NDRhOGQ2
OTg3YmViZDMxY2M4OGFkMzRkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKQEAgLTIxOCw3ICsyMTgsNyBAQCBwdWJsaWM6CiAK
ICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q29uc3RydWN0b3JLaW5kPihtX2NvbnN0cnVjdG9yS2luZCk7IH0KICAgICBTdXBl
ckJpbmRpbmcgc3VwZXJCaW5kaW5nKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8U3VwZXJC
aW5kaW5nPihtX3N1cGVyQmluZGluZyk7IH0KLSAgICBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1l
bnRNb2RlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SlNQYXJzZXJDb21tZW50TW9kZT4o
bV9jb21tZW50TW9kZSk7IH0KKyAgICBKU1BhcnNlclNjcmlwdE1vZGUgY29tbWVudE1vZGUoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNlclNjcmlwdE1vZGU+KG1fc2NyaXB0TW9k
ZSk7IH0KIAogICAgIHZvaWQgc2hyaW5rVG9GaXQoKQogICAgIHsKQEAgLTQyMyw3ICs0MjMsNyBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMgOiAxOwogICAg
IHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwogICAgIHVuc2lnbmVkIG1fc3VwZXJC
aW5kaW5nIDogMTsKLSAgICB1bnNpZ25lZCBtX2NvbW1lbnRNb2RlOiAxOworICAgIHVuc2lnbmVk
IG1fc2NyaXB0TW9kZTogMTsKICAgICB1bnNpZ25lZCBtX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQg
OiAxOwogICAgIHVuc2lnbmVkIG1faXNDbGFzc0NvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1f
d2FzQ29tcGlsZWRXaXRoRGVidWdnaW5nT3Bjb2RlcyA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcAppbmRleCAwNTRkNjNkZjU5YTc4NDc1NWI5YmFlN2ZlZDJjZDc2YjU4MGMwMjljLi5iNzJm
OWU5ZjQxZWJmODNkZGIzMjU4MmM2MjA2M2EzM2U2ZGNkOWVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZS5jcHAKQEAgLTUxLDEwICs1MSwxMCBAQCBzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkNvZGVC
bG9jayogZ2VuZXJhdGVVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKAogewogICAgIEpTUGFyc2Vy
QnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUgPSBleGVjdXRhYmxlLT5pc0J1aWx0aW5GdW5jdGlvbigp
ID8gSlNQYXJzZXJCdWlsdGluTW9kZTo6QnVpbHRpbiA6IEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5v
dEJ1aWx0aW47CiAgICAgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUgPSBleGVjdXRhYmxl
LT5pc0luU3RyaWN0Q29udGV4dCgpID8gSlNQYXJzZXJTdHJpY3RNb2RlOjpTdHJpY3QgOiBKU1Bh
cnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdDsKLSAgICBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1l
bnRNb2RlID0gZXhlY3V0YWJsZS0+Y29tbWVudE1vZGUoKTsKKyAgICBKU1BhcnNlclNjcmlwdE1v
ZGUgc2NyaXB0TW9kZSA9IGV4ZWN1dGFibGUtPnNjcmlwdE1vZGUoKTsKICAgICBBU1NFUlQoaXNG
dW5jdGlvblBhcnNlTW9kZShleGVjdXRhYmxlLT5wYXJzZU1vZGUoKSkpOwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxGdW5jdGlvbk5vZGU+IGZ1bmN0aW9uID0gcGFyc2U8RnVuY3Rpb25Ob2RlPigKLSAg
ICAgICAgJnZtLCBzb3VyY2UsIGV4ZWN1dGFibGUtPm5hbWUoKSwgYnVpbHRpbk1vZGUsIHN0cmlj
dE1vZGUsIGNvbW1lbnRNb2RlLCBleGVjdXRhYmxlLT5wYXJzZU1vZGUoKSwgZXhlY3V0YWJsZS0+
c3VwZXJCaW5kaW5nKCksIGVycm9yLCBudWxscHRyKTsKKyAgICAgICAgJnZtLCBzb3VyY2UsIGV4
ZWN1dGFibGUtPm5hbWUoKSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIHNjcmlwdE1vZGUsIGV4
ZWN1dGFibGUtPnBhcnNlTW9kZSgpLCBleGVjdXRhYmxlLT5zdXBlckJpbmRpbmcoKSwgZXJyb3Is
IG51bGxwdHIpOwogCiAgICAgaWYgKCFmdW5jdGlvbikgewogICAgICAgICBBU1NFUlQoZXJyb3Iu
aXNWYWxpZCgpKTsKQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIFVubGlua2VkRnVuY3Rpb25Db2Rl
QmxvY2sqIGdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaygKIAogICAgIGJvb2wgaXND
bGFzc0NvbnRleHQgPSBleGVjdXRhYmxlLT5zdXBlckJpbmRpbmcoKSA9PSBTdXBlckJpbmRpbmc6
Ok5lZWRlZDsKIAotICAgIFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2sqIHJlc3VsdCA9IFVubGlu
a2VkRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSgmdm0sIEZ1bmN0aW9uQ29kZSwgRXhlY3V0YWJs
ZUluZm8oZnVuY3Rpb24tPnVzZXNFdmFsKCksIGZ1bmN0aW9uLT5pc1N0cmljdE1vZGUoKSwga2lu
ZCA9PSBDb2RlRm9yQ29uc3RydWN0LCBmdW5jdGlvbktpbmQgPT0gVW5saW5rZWRCdWlsdGluRnVu
Y3Rpb24sIGV4ZWN1dGFibGUtPmNvbnN0cnVjdG9yS2luZCgpLCBjb21tZW50TW9kZSwgZXhlY3V0
YWJsZS0+c3VwZXJCaW5kaW5nKCksIHBhcnNlTW9kZSwgZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRl
eHRUeXBlKCksIGZhbHNlLCBpc0NsYXNzQ29udGV4dCwgRXZhbENvbnRleHRUeXBlOjpGdW5jdGlv
bkV2YWxDb250ZXh0KSwgZGVidWdnZXJNb2RlKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJs
b2NrKiByZXN1bHQgPSBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrOjpjcmVhdGUoJnZtLCBGdW5j
dGlvbkNvZGUsIEV4ZWN1dGFibGVJbmZvKGZ1bmN0aW9uLT51c2VzRXZhbCgpLCBmdW5jdGlvbi0+
aXNTdHJpY3RNb2RlKCksIGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCwgZnVuY3Rpb25LaW5kID09
IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uLCBleGVjdXRhYmxlLT5jb25zdHJ1Y3RvcktpbmQoKSwg
c2NyaXB0TW9kZSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5kaW5nKCksIHBhcnNlTW9kZSwgZXhlY3V0
YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCksIGZhbHNlLCBpc0NsYXNzQ29udGV4dCwgRXZhbENv
bnRleHRUeXBlOjpGdW5jdGlvbkV2YWxDb250ZXh0KSwgZGVidWdnZXJNb2RlKTsKIAogICAgIGVy
cm9yID0gQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKHZtLCBmdW5jdGlvbi5nZXQoKSwgcmVz
dWx0LCBkZWJ1Z2dlck1vZGUsIGV4ZWN1dGFibGUtPnBhcmVudFNjb3BlVERaVmFyaWFibGVzKCkp
OwogCkBAIC03NSw3ICs3NSw3IEBAIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBn
ZW5lcmF0ZVVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2soCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
KFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwg
UmVmUHRyPFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJjZU92ZXJyaWRlLCBGdW5jdGlvbk1ldGFkYXRh
Tm9kZSogbm9kZSwgVW5saW5rZWRGdW5jdGlvbktpbmQga2luZCwgQ29uc3RydWN0QWJpbGl0eSBj
b25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBWYXJpYWJs
ZUVudmlyb25tZW50JiBwYXJlbnRTY29wZVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBl
IGRlcml2ZWRDb250ZXh0VHlwZSkKK1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2UsIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4mJiBzb3VyY2VPdmVycmlk
ZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqIG5vZGUsIFVubGlua2VkRnVuY3Rpb25LaW5kIGtpbmQs
IENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eSwgSlNQYXJzZXJTY3JpcHRNb2RlIHNj
cmlwdE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmIHBhcmVudFNjb3BlVERaVmFyaWFibGVzLCBE
ZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlKQogICAgIDogQmFzZSgqdm0sIHN0
cnVjdHVyZSkKICAgICAsIG1fZmlyc3RMaW5lT2Zmc2V0KG5vZGUtPmZpcnN0TGluZSgpIC0gc291
cmNlLmZpcnN0TGluZSgpKQogICAgICwgbV9saW5lQ291bnQobm9kZS0+bGFzdExpbmUoKSAtIG5v
ZGUtPmZpcnN0TGluZSgpKQpAQCAtODksMTYgKzg5LDE2IEBAIFVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVjdHVyZSogc3Ry
dWN0CiAgICAgLCBtX3R5cGVQcm9maWxpbmdFbmRPZmZzZXQobm9kZS0+c3RhcnRTdGFydE9mZnNl
dCgpICsgbm9kZS0+c291cmNlKCkubGVuZ3RoKCkgLSAxKQogICAgICwgbV9wYXJhbWV0ZXJDb3Vu
dChub2RlLT5wYXJhbWV0ZXJDb3VudCgpKQogICAgICwgbV9mZWF0dXJlcygwKQorICAgICwgbV9z
b3VyY2VQYXJzZU1vZGUobm9kZS0+cGFyc2VNb2RlKCkpCiAgICAgLCBtX2lzSW5TdHJpY3RDb250
ZXh0KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0KCkpCiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFi
bGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5jdGlvbihraW5kID09IFVubGlua2VkQnVp
bHRpbkZ1bmN0aW9uKQogICAgICwgbV9jb25zdHJ1Y3RBYmlsaXR5KHN0YXRpY19jYXN0PHVuc2ln
bmVkPihjb25zdHJ1Y3RBYmlsaXR5KSkKICAgICAsIG1fY29uc3RydWN0b3JLaW5kKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihub2RlLT5jb25zdHJ1Y3RvcktpbmQoKSkpCiAgICAgLCBtX2Z1bmN0aW9u
TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+ZnVuY3Rpb25Nb2RlKCkpKQotICAgICwg
bV9jb21tZW50TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVudE1vZGUpKQorICAgICwg
bV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihzY3JpcHRNb2RlKSkKICAgICAsIG1f
c3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkp
CiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZl
ZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFyc2VNb2RlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBtX25hbWUobm9kZS0+aWRlbnQoKSkKICAg
ICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkKICAgICAsIG1faW5mZXJyZWROYW1lKG5v
ZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTA5LDEwICsxMDksOSBAQCBVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdAogICAgIEFTU0VSVChtX2NvbnN0cnVjdEFiaWxpdHkgPT0gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGNvbnN0cnVjdEFiaWxpdHkpKTsKICAgICBBU1NFUlQobV9jb25zdHJ1Y3RvcktpbmQg
PT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPmNvbnN0cnVjdG9yS2luZCgpKSk7CiAgICAg
QVNTRVJUKG1fZnVuY3Rpb25Nb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5mdW5j
dGlvbk1vZGUoKSkpOwotICAgIEFTU0VSVChtX2NvbW1lbnRNb2RlID09IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihjb21tZW50TW9kZSkpOworICAgIEFTU0VSVChtX3NjcmlwdE1vZGUgPT0gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHNjcmlwdE1vZGUpKTsKICAgICBBU1NFUlQobV9zdXBlckJpbmRpbmcg
PT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1cGVyQmluZGluZygpKSk7CiAgICAgQVNT
RVJUKG1fZGVyaXZlZENvbnRleHRUeXBlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVk
Q29udGV4dFR5cGUpKTsKLSAgICBBU1NFUlQobV9zb3VyY2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7CiAKICAgICBtX3BhcmVudFNjb3BlVERa
VmFyaWFibGVzLnN3YXAocGFyZW50U2NvcGVURFpWYXJpYWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuaAppbmRleCAxZTNjYmFmZmVjMjg4N2M3OTYwN2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi5l
NGMwNGE2MGVkYzllNzFhYzU3NWM3MmRjMDY3NzFjNGVkODFiNDZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUuaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFz
ZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUqIGNyZWF0ZShWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqIG5vZGUsIFVubGlua2VkRnVuY3Rpb25LaW5kIHVubGlu
a2VkRnVuY3Rpb25LaW5kLCBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHksIEpTUGFy
c2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmIHBhcmVudFNj
b3BlVERaVmFyaWFibGVzLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBS
ZWZQdHI8U291cmNlUHJvdmlkZXI+JiYgc291cmNlT3ZlcnJpZGUgPSBudWxscHRyKQorICAgIHN0
YXRpYyBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogY3JlYXRlKFZNKiB2bSwgY29uc3QgU291
cmNlQ29kZSYgc291cmNlLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSogbm9kZSwgVW5saW5rZWRGdW5j
dGlvbktpbmQgdW5saW5rZWRGdW5jdGlvbktpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0
QWJpbGl0eSwgSlNQYXJzZXJTY3JpcHRNb2RlIGNvbW1lbnRNb2RlLCBWYXJpYWJsZUVudmlyb25t
ZW50JiBwYXJlbnRTY29wZVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRD
b250ZXh0VHlwZSwgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJjZU92ZXJyaWRlID0gbnVs
bHB0cikKICAgICB7CiAgICAgICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBpbnN0YW5j
ZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
Pih2bS0+aGVhcCkpCiAgICAgICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSh2bSwg
dm0tPnVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlU3RydWN0dXJlLmdldCgpLCBzb3VyY2UsIFdU
Rk1vdmUoc291cmNlT3ZlcnJpZGUpLCBub2RlLCB1bmxpbmtlZEZ1bmN0aW9uS2luZCwgY29uc3Ry
dWN0QWJpbGl0eSwgY29tbWVudE1vZGUsIHBhcmVudFNjb3BlVERaVmFyaWFibGVzLCBkZXJpdmVk
Q29udGV4dFR5cGUpOwpAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNC
dWlsdGluRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lzQnVpbHRpbkZ1bmN0aW9uOyB9CiAg
ICAgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5KCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Q29uc3RydWN0QWJpbGl0eT4obV9jb25zdHJ1Y3RBYmlsaXR5KTsgfQotICAgIEpT
UGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxKU1BhcnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRNb2RlKTsgfQorICAgIEpTUGFyc2VyU2Ny
aXB0TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEpTUGFyc2Vy
U2NyaXB0TW9kZT4obV9zY3JpcHRNb2RlKTsgfQogICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9y
RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBjb25zdHJ1Y3RvcktpbmQoKSAhPSBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmU7IH0KICAgICBjb25zdCBWYXJpYWJsZUVudmlyb25tZW50KiBwYXJlbnRTY29w
ZVREWlZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuICZtX3BhcmVudFNjb3BlVERaVmFyaWFibGVz
OyB9CiAgICAgCkBAIC0xNDEsNyArMTQxLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U291cmNl
TWFwcGluZ1VSTERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIHNvdXJjZU1hcHBpbmdVUkwpIHsgbV9z
b3VyY2VNYXBwaW5nVVJMRGlyZWN0aXZlID0gc291cmNlTWFwcGluZ1VSTDsgfQogCiBwcml2YXRl
OgotICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiwgU3RydWN0dXJlKiwgY29uc3Qg
U291cmNlQ29kZSYsIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4mJiBzb3VyY2VPdmVycmlkZSwgRnVu
Y3Rpb25NZXRhZGF0YU5vZGUqLCBVbmxpbmtlZEZ1bmN0aW9uS2luZCwgQ29uc3RydWN0QWJpbGl0
eSwgSlNQYXJzZXJDb21tZW50TW9kZSwgVmFyaWFibGVFbnZpcm9ubWVudCYsICBKU0M6OkRlcml2
ZWRDb250ZXh0VHlwZSk7CisgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qLCBTdHJ1
Y3R1cmUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJj
ZU92ZXJyaWRlLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSosIFVubGlua2VkRnVuY3Rpb25LaW5kLCBD
b25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlclNjcmlwdE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQm
LCAgSlNDOjpEZXJpdmVkQ29udGV4dFR5cGUpOwogCiAgICAgdW5zaWduZWQgbV9maXJzdExpbmVP
ZmZzZXQ7CiAgICAgdW5zaWduZWQgbV9saW5lQ291bnQ7CkBAIC0xNTUsMTYgKzE1NSwxNiBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2ZpbGluZ0VuZE9mZnNldDsKICAgICB1bnNp
Z25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVGZWF0dXJlcyBtX2ZlYXR1cmVzOworICAg
IFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9kZTsKICAgICB1bnNpZ25lZCBtX2lzSW5T
dHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzIDog
MTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0aW9uIDogMTsKICAgICB1bnNpZ25lZCBt
X2NvbnN0cnVjdEFiaWxpdHk6IDE7CiAgICAgdW5zaWduZWQgbV9jb25zdHJ1Y3RvcktpbmQgOiAy
OwogICAgIHVuc2lnbmVkIG1fZnVuY3Rpb25Nb2RlIDogMjsgLy8gRnVuY3Rpb25Nb2RlCi0gICAg
dW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8gSlNQYXJzZXJDb21tZW50TW9kZQorICAgIHVu
c2lnbmVkIG1fc2NyaXB0TW9kZTogMTsgLy8gSlNQYXJzZXJTY3JpcHRNb2RlCiAgICAgdW5zaWdu
ZWQgbV9zdXBlckJpbmRpbmcgOiAxOwogICAgIHVuc2lnbmVkIG1fZGVyaXZlZENvbnRleHRUeXBl
OiAyOwotICAgIHVuc2lnbmVkIG1fc291cmNlUGFyc2VNb2RlIDogNDsgLy8gU291cmNlUGFyc2VN
b2RlCiAKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaz4gbV91bmxp
bmtlZENvZGVCbG9ja0ZvckNhbGw7CiAgICAgV3JpdGVCYXJyaWVyPFVubGlua2VkRnVuY3Rpb25D
b2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDA3NWY1Y2Q5NmFiOWUyZDZmYTJhOGJlMDcwMDA2MWZlMWE1MDM5NmQuLjgwNjEzZDA2
YzMwZWUzYjhiNzIyZmJjMjc5NjY1NmE4NTlhODVmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0y
OTg2LDE3ICsyOTg2LDE0IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3
RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4CiAKIFJlZ2lzdGVySUQq
IEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0
ZXJJRCogZHN0LCBBcnJvd0Z1bmNFeHByTm9kZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVuYy0+
bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSk7CisgICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJj
ZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VN
b2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKTsKICAgICBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAg
ICAgcmV0dXJuIGRzdDsKIH0KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdNZXRob2REZWZpbml0aW9uKFJlZ2lzdGVySUQqIGRzdCwgTWV0aG9kRGVmaW5pdGlvbk5vZGUq
IGZ1bmMpCiB7Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZQotICAgICAgICB8fCBm
dW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1v
ZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFy
c2VNb2RlOjpTZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSk7CisgICAgQVNTRVJUKGlzTWV0aG9k
UGFyc2VNb2RlKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpKSk7CiAgICAgZW1pdE5ld0Z1
bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMtPm1ldGFkYXRhKCkpOwogICAgIHJldHVy
biBkc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOTA0NzNiZjAyZTY4NGNmYWFlNTNjMTM1NzJiODhk
YjUxZGJhZmVhOS4uNzhhNGJiZjJkYTc0Njg5NzM1MjU5NjU2NTNmNTI5ODdiNGVmNzVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuaApAQCAtMjg2LDcgKzI4Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBi
b29sIHVzZXNUaGlzKCkgY29uc3QgeyByZXR1cm4gbV9zY29wZU5vZGUtPnVzZXNUaGlzKCk7IH0K
ICAgICAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCgpIGNvbnN0IHsgcmV0dXJu
IG1fY29kZUJsb2NrLT5jb25zdHJ1Y3RvcktpbmQoKTsgfQogICAgICAgICBTdXBlckJpbmRpbmcg
c3VwZXJCaW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlQmxvY2stPnN1cGVyQmluZGluZygp
OyB9Ci0gICAgICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX2NvZGVCbG9jay0+Y29tbWVudE1vZGUoKTsgfQorICAgICAgICBKU1BhcnNlclNjcmlw
dE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGVCbG9jay0+Y29tbWVudE1v
ZGUoKTsgfQogCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+CiAgICAgICAgIHN0
YXRpYyBQYXJzZXJFcnJvciBnZW5lcmF0ZShWTSYgdm0sIEFyZ3MmJiAuLi5hcmdzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmlu
ZGV4IDJlZGVhOGNiMWJmMDk0Mzg0YTAzYTZmOTBiYWY4ODMwNjU2MTA3YWYuLmY0MmJlZGUzOWM3
NmYyYzUwM2FmYWQ0NzVhYzgwYWQ4NWIzMTM0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM1MDIsNiArMzUwMiwx
OCBAQCBSZWdpc3RlcklEKiBZaWVsZEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5l
cmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRAogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1v
dmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOwogfQogCisv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXdhaXRFeHByTm9kZSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitSZWdpc3RlcklEKiBBd2FpdEV4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQor
eworICAgIFJlZlB0cjxSZWdpc3RlcklEPiBhcmcgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7
CisgICAgZ2VuZXJhdG9yLmVtaXROb2RlKGFyZy5nZXQoKSwgYXJndW1lbnQoKSk7CisgICAgUmVm
UHRyPFJlZ2lzdGVySUQ+IHZhbHVlID0gZ2VuZXJhdG9yLmVtaXRZaWVsZChhcmcuZ2V0KCkpOwor
ICAgIGlmIChkc3QgPT0gZ2VuZXJhdG9yLmlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TW92ZShnZW5lcmF0b3IuZmluYWxE
ZXN0aW5hdGlvbihkc3QpLCB2YWx1ZS5nZXQoKSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogCiB2b2lkIENsYXNzRGVjbE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRv
ciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oCmluZGV4IDFjMTEzYmFlMTRkNTZkNzgwOWExMGRmYjljNWY2Mzc4NjAw
YjcwMDEuLmZkYmQyZjQ4NDIyODk5MGE0MDc1MGFmNzc1YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNjcsNiArMzY3LDE0IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCisgICAgQXdhaXRFeHByTm9k
ZSogY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lv
bk5vZGUqIGFyZ3VtZW50LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChhcmd1bWVudCk7CisgICAgICAgIEF3YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcg
KG1fcGFyc2VyQXJlbmEpIEF3YWl0RXhwck5vZGUobG9jYXRpb24sIGFyZ3VtZW50KTsKKyAgICAg
ICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOworICAgICAg
ICByZXR1cm4gbm9kZTsKKyAgICB9CisKICAgICBDbGFzc0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4
cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZv
PEFTVEJ1aWxkZXI+JiBjbGFzc0luZm8sIFZhcmlhYmxlRW52aXJvbm1lbnQmIGNsYXNzRW52aXJv
bm1lbnQsIEV4cHJlc3Npb25Ob2RlKiBjb25zdHJ1Y3RvciwKICAgICAgICAgRXhwcmVzc2lvbk5v
ZGUqIHBhcmVudENsYXNzLCBQcm9wZXJ0eUxpc3ROb2RlKiBpbnN0YW5jZU1ldGhvZHMsIFByb3Bl
cnR5TGlzdE5vZGUqIHN0YXRpY01ldGhvZHMpCiAgICAgewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5v
ZGUqIGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9
PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAg
ICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5j
dGlvbkluZm8uc3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbigpID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbklu
Zm8uZW5kT2Zmc2V0LCBmdW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1l
dGVyc1N0YXJ0Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3
IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFt
ZSwgZnVuY3Rpb25JbmZvLmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8u
Ym9keS0+c2V0TG9jKGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5l
LCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1
bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNz
aW9uTm9kZSogY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5m
bykKICAgICB7CiAgICAgICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1f
cGFyc2VyQXJlbmEpIE1ldGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZv
Lm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
S2V5d29yZHMudGFibGUKaW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkx
ZWQyYS4uMmY3ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0
cnVlCQlUUlVFVE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAg
ICAgICBBV0FJVAogYnJlYWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMTI5OWI1NzYzYWVmZTQ1ZGVjMjAy
ZjBlMzRkMDVmOWYyOWIxNTg3ZC4uYmM3Njc3OTIxODVjMDEyYzMxNGYwMDBmYTJjMTAwYzA0YTZm
Y2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTQ4NiwxMSAr
NDg2LDExIEBAIHN0YXRpYyBjb25zdCBMQ2hhciBzaW5nbGVDaGFyYWN0ZXJFc2NhcGVWYWx1ZXNG
b3JBU0NJSVsxMjhdID0gewogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1MZXhlcjxUPjo6
TGV4ZXIoVk0qIHZtLCBKU1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlckNv
bW1lbnRNb2RlIGNvbW1lbnRNb2RlKQorTGV4ZXI8VD46OkxleGVyKFZNKiB2bSwgSlNQYXJzZXJC
dWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUpCiAg
ICAgOiBtX2lzUmVwYXJzaW5nRnVuY3Rpb24oZmFsc2UpCiAgICAgLCBtX3ZtKHZtKQogICAgICwg
bV9wYXJzaW5nQnVpbHRpbkZ1bmN0aW9uKGJ1aWx0aW5Nb2RlID09IEpTUGFyc2VyQnVpbHRpbk1v
ZGU6OkJ1aWx0aW4pCi0gICAgLCBtX2NvbW1lbnRNb2RlKGNvbW1lbnRNb2RlKQorICAgICwgbV9z
Y3JpcHRNb2RlKHNjcmlwdE1vZGUpCiB7CiB9CiAKQEAgLTE4ODQsNyArMTg4NCw3IEBAIHN0YXJ0
OgogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsK
LSAgICAgICAgICAgIGlmIChtX2NvbW1lbnRNb2RlID09IEpTUGFyc2VyQ29tbWVudE1vZGU6OkNs
YXNzaWMpIHsKKyAgICAgICAgICAgIGlmIChtX3NjcmlwdE1vZGUgPT0gSlNQYXJzZXJTY3JpcHRN
b2RlOjpDbGFzc2ljKSB7CiAgICAgICAgICAgICAgICAgLy8gPCEtLSBtYXJrcyB0aGUgYmVnaW5u
aW5nIG9mIGEgbGluZSBjb21tZW50IChmb3Igd3d3IHVzYWdlKQogICAgICAgICAgICAgICAgIGdv
dG8gaW5TaW5nbGVMaW5lQ29tbWVudDsKICAgICAgICAgICAgIH0KQEAgLTE5MzksNyArMTkzOSw3
IEBAIHN0YXJ0OgogICAgICAgICBpZiAobV9jdXJyZW50ID09ICctJykgewogICAgICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgICAgIGlmIChtX2F0TGluZVN0YXJ0ICYmIG1fY3VycmVudCA9PSAn
PicpIHsKLSAgICAgICAgICAgICAgICBpZiAobV9jb21tZW50TW9kZSA9PSBKU1BhcnNlckNvbW1l
bnRNb2RlOjpDbGFzc2ljKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fc2NyaXB0TW9kZSA9PSBK
U1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMpIHsKICAgICAgICAgICAgICAgICAgICAgc2hpZnQo
KTsKICAgICAgICAgICAgICAgICAgICAgZ290byBpblNpbmdsZUxpbmVDb21tZW50OwogICAgICAg
ICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyNDdjZTYy
NGIwMmEyYTAyYTFjY2FiYzIxZTBlM2I4YTM0MWUwNTE4Li5iZjZkNjNhYTIyNGE1MWVlN2VmOWNm
YmNmZTc0MDhlMzk2ZmRiNzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBA
IC00OCw3ICs0OCw3IEBAIGNsYXNzIExleGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIAogcHVibGljOgotICAgIExleGVyKFZNKiwgSlNQYXJzZXJCdWlsdGluTW9kZSwgSlNQYXJz
ZXJDb21tZW50TW9kZSk7CisgICAgTGV4ZXIoVk0qLCBKU1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1Bh
cnNlclNjcmlwdE1vZGUpOwogICAgIH5MZXhlcigpOwogCiAgICAgLy8gQ2hhcmFjdGVyIG1hbmlw
dWxhdGlvbiBmdW5jdGlvbnMuCkBAIC0yMTYsNyArMjE2LDcgQEAgcHJpdmF0ZToKIAogICAgIFZN
KiBtX3ZtOwogICAgIGJvb2wgbV9wYXJzaW5nQnVpbHRpbkZ1bmN0aW9uOwotICAgIEpTUGFyc2Vy
Q29tbWVudE1vZGUgbV9jb21tZW50TW9kZTsKKyAgICBKU1BhcnNlclNjcmlwdE1vZGUgbV9zY3Jp
cHRNb2RlOwogfTsKIAogdGVtcGxhdGUgPD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggNjliNDQyOGU4NzljYTgwMGU5Y2ExYjg3YjM2
MmEyMzcwODg3N2JjNi4uYzFkNTQ3YmM3ZjkwMWMwNmM2NTM5ODYyODlkMzViNTQ1MjA1MDM2NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgK
QEAgLTkzOCw2ICs5MzgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAg
IGlubGluZSBBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCkKKyAgICAgICAgOiBFeHByZXNz
aW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2FyZ3VtZW50KGFyZ3VtZW50KQorICAgIHsK
KyAgICB9CisKICAgICBpbmxpbmUgQ2xhc3NEZWNsTm9kZTo6Q2xhc3NEZWNsTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogY2xhc3NEZWNsYXJhdGlv
bikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fY2xhc3NE
ZWNsYXJhdGlvbihjbGFzc0RlY2xhcmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IGUyZWFhZTEwMzg4MzI4M2YzMDFiZjAyNzM5NGYzMTA5ODJjYjAzMWUuLmJmMWE5
MDhhMjZkMTJjZDU0ZmZkZmE1MmUxM2U3ZjI5ZjU4ODZjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKQEAgLTIwMDYsNiArMjAwNiwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgYm9vbCBtX2RlbGVnYXRlOwogICAgIH07CiAKKyAgICBjbGFzcyBBd2FpdEV4cHJOb2Rl
IGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lv
bkRhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXdhaXRFeHByTm9kZShjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogYXJndW1lbnQpOworCisgICAgICAgIEV4cHJlc3Np
b25Ob2RlKiBhcmd1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJndW1lbnQ7IH0KKworICAgIHBy
aXZhdGU6CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRv
ciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUq
IG1fYXJndW1lbnQ7CisgICAgfTsKKwogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBw
dWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBWYXJpYWJsZUVudmlyb25tZW50Tm9kZSB7CiAg
ICAgcHVibGljOgogICAgICAgICB1c2luZyBQYXJzZXJBcmVuYURlbGV0YWJsZTo6b3BlcmF0b3Ig
bmV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDQzNzA4ZmZh
ZTI2NDkzOTI4ZDViMjEzOTQyMjhmYzZjYzJmODg5YzYuLmQwMmY0ZDcxNGE4YmVhZTI1MzFlNDEy
OTUyOTQ4YTcxZjY4NmM2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRo
ZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsg
XAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdvcmRUb2tlbkZsYWcpIFwKICAgICAgICAg
c2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3b3JkICciLCBnZXRUb2tlbigpLCAiJyBh
cyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdh
aXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNGYWlsKCJDYW4ndCB1c2UgJ2F3YWl0JyBh
cyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24o
KSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0xODksNyArMTkx
LDcgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6bG9nRXJyb3IoYm9vbCBzaG91bGRQcmludFRv
a2VuLCBjb25zdCBBJiB2YWx1ZTEsIGNvbnN0IEIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KLVBhcnNlcjxMZXhlclR5cGU+OjpQYXJzZXIoVk0qIHZtLCBjb25zdCBTb3VyY2VD
b2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2VyU3Ry
aWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1
Y3RvcktpbmQgZGVmYXVsdENvbnN0cnVjdG9yS2luZCwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2
ZWRDb250ZXh0VHlwZSwgYm9vbCBpc0V2YWxDb250ZXh0LCBFdmFsQ29udGV4dFR5cGUgZXZhbENv
bnRleHRUeXBlKQorUGFyc2VyPExleGVyVHlwZT46OlBhcnNlcihWTSogdm0sIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJT
dHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2RlLCBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1
Y3RvcktpbmQgZGVmYXVsdENvbnN0cnVjdG9yS2luZCwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2
ZWRDb250ZXh0VHlwZSwgYm9vbCBpc0V2YWxDb250ZXh0LCBFdmFsQ29udGV4dFR5cGUgZXZhbENv
bnRleHRUeXBlKQogICAgIDogbV92bSh2bSkKICAgICAsIG1fc291cmNlKCZzb3VyY2UpCiAgICAg
LCBtX2hhc1N0YWNrT3ZlcmZsb3coZmFsc2UpCkBAIC0xOTgsMTIgKzIwMCwxMiBAQCBQYXJzZXI8
TGV4ZXJUeXBlPjo6UGFyc2VyKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBKU1Bh
cnNlckJ1aWx0aW5Nb2RlCiAgICAgLCBtX3N0YXRlbWVudERlcHRoKDApCiAgICAgLCBtX3NvdXJj
ZUVsZW1lbnRzKDApCiAgICAgLCBtX3BhcnNpbmdCdWlsdGluKGJ1aWx0aW5Nb2RlID09IEpTUGFy
c2VyQnVpbHRpbk1vZGU6OkJ1aWx0aW4pCi0gICAgLCBtX2NvbW1lbnRNb2RlKGNvbW1lbnRNb2Rl
KQorICAgICwgbV9zY3JpcHRNb2RlKHNjcmlwdE1vZGUpCiAgICAgLCBtX3N1cGVyQmluZGluZyhz
dXBlckJpbmRpbmcpCiAgICAgLCBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQoZGVmYXVsdENvbnN0
cnVjdG9yS2luZCkKICAgICAsIG1faW1tZWRpYXRlUGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJh
dGlvbkluU3RhdGVtZW50KGZhbHNlKQogewotICAgIG1fbGV4ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PExleGVyVHlwZT4odm0sIGJ1aWx0aW5Nb2RlLCBjb21tZW50TW9kZSk7CisgICAgbV9sZXhlciA9
IHN0ZDo6bWFrZV91bmlxdWU8TGV4ZXJUeXBlPih2bSwgYnVpbHRpbk1vZGUsIHNjcmlwdE1vZGUp
OwogICAgIG1fbGV4ZXItPnNldENvZGUoc291cmNlLCAmbV9wYXJzZXJBcmVuYSk7CiAgICAgbV90
b2tlbi5tX2xvY2F0aW9uLmxpbmUgPSBzb3VyY2UuZmlyc3RMaW5lKCk7CiAgICAgbV90b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gc291cmNlLnN0YXJ0T2Zmc2V0KCk7CkBAIC0yNTYsMTUg
KzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRl
bnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VNbwogICAgIHNjb3BlLT5zZXRJc0xleGlj
YWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25Q
YXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0
aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHBy
ZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9
IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2Rl
ICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZ0Z1bmN0
aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+IGZ1bmN0aW9u
SW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
ckJvZHlNb2RlKQorICAgICAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSkgfHwgaXNBc3luY0Z1bmN0
aW9uQm9keVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0g
Y3JlYXRlR2VuZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVy
Q291bnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1
bmN0aW9uUGFyYW1ldGVycyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAg
ICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
ICYmICFoYXNFcnJvcigpKSB7CisgICAgICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNl
UGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpICYmICFoYXNFcnJvcigpKSB7CiAgICAg
ICAgICAgICAvLyBUaGUgb25seSB3YXkgd2UgY291bGQgaGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFy
c2luZyBpcyBpZiB3ZSBydW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwogICAgICAgICAgICAgbmV4dCgpOwpAQCAt
MjgxLDE2ICsyODMsMTYgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNv
bnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBTb3VyY2VFbGVt
ZW50cyogc291cmNlRWxlbWVudHMgPSBudWxscHRyOwogICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBj
YW4gZXJyb3IgdGhpcyBlYXJseSBpcyBpZiB3ZSByZXBhcnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1
biBvdXQgb2Ygc3RhY2sgc3BhY2UuCiAgICAgaWYgKCFoYXNFcnJvcigpKSB7Ci0gICAgICAgIGlm
IChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5j
dGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkKKyAgICAgICAgICAgIHNvdXJjZUVsZW1l
bnRzID0gcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2Rl
LCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCiAgICAgICAgICAg
ICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5
U291cmNlRWxlbWVudHMoY29udGV4dCk7CiAgICAgICAgIGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VN
b2RlKHBhcnNlTW9kZSkpCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlTW9kdWxl
U291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlKTsKLSAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2Vu
ZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUp
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFy
c2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICB9
CisgICAgICAgIGVsc2UgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
cldyYXBwZXJGdW5jdGlvbk1vZGUpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNl
R2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1v
ZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBi
b29sIHZhbGlkRW5kaW5nID0gY29uc3VtZShFT0ZUT0spOwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0
cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxs
ZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFy
aWFibGVzKQogICAgICAgICB2YXJEZWNsYXJhdGlvbnMubWFya1ZhcmlhYmxlQXNDYXB0dXJlZChl
bnRyeSk7CiAKLSAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1v
ZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkgewogICAg
ICAgICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXNDb250YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5hcmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAgICAgIGNvbnRleHQucHJvcGFnYXRlQXJndW1l
bnRzVXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICszNTYsMTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJU
eXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERl
Y2xhcmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiBib29sIFBhcnNlcjxMZXhlclR5
cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIHsKLSAgICBib29sIGlzT3BlblBhcmVu
ID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlzSWRlbnQgPSBtYXRjaChJREVOVCk7Ci0g
ICAgCi0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAhaXNJZGVudCkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKLSAgICBTYXZlUG9pbnQg
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwotICAgICAgICAKLSAg
ICBpZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0KCk7Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlv
biA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwog
ICAgICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAg
ICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAg
ICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0Y2goQVJST1dGVU5DVElPTik7CkBAIC0zODAs
MTQgKzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJh
bWV0ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWduZWQgcGFyYW1ldGVyc0NvdW50ID0gMDsKICAg
ICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhzeW50YXhD
aGVja2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKSwgcGFyYW1l
dGVyc0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFSRU4pICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04p
OwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICBwb3BTY29wZShmYWtlU2NvcGUsIHN5
bnRheENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKICAgICAgICAgfQorICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4g
aXNBcnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAgICAgCi0gICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAgICAgCi0gICAgcmV0dXJuIGlzQXJyb3dGdW5j
dGlvbjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgU2F2ZVBv
aW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAg
bmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJ
T04pOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOwor
ICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOworICAgIH0KKworICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KQEAgLTU0MCw2ICs1MzksNTAg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVp
bGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit7CisgICAgQVNT
RVJUKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSk7CisgICAgYXV0
byBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKKworICAg
IHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9z
aXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICB1bnNpZ25lZCBzdGFydENv
bHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tl
bi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51
bGxJZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgaW5m
by5wYXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5zdGFydE9mZnNldCA9IHBhcmFtZXRlcnNTdGFy
dDsKKyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgIFNvdXJjZVBhcnNlTW9k
ZSBpbm5lclBhcnNlTW9kZSA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbk1vZGUKKyAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlCisgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9k
eU1vZGU7CisgICAgeworICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYXN5bmNGdW5jdGlvbkJvZHlT
Y29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgICAgIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUt
PnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9kZSk7CisgICAgICAgIFN5bnRheENoZWNr
ZXIgYXN5bmNGdW5jdGlvbkNvbnRleHQoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdl
dCgpKTsKKyAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQorICAgICAg
ICAgICAgZmFpbElmRmFsc2UocGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlT
b3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCksICJDYW5ub3QgcGFyc2UgdGhlIGJv
ZHkgb2YgYXN5bmMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCwgbW9k
ZSksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgZnVuY3Rpb24iKTsKKyAgICAgICAg
cG9wU2NvcGUoYXN5bmNGdW5jdGlvbkJvZHlTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZh
cmlhYmxlSW5mbyk7CisgICAgfQorICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rp
b25NZXRhZGF0YShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCB0
b2tlbkNvbHVtbigpLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBh
cmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1fc3Vw
ZXJCaW5kaW5nLCBpbmZvLnBhcmFtZXRlckNvdW50LCBpbm5lclBhcnNlTW9kZSwgaXNBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24pOworCisgICAgaW5mby5lbmRMaW5lID0gdG9rZW5MaW5lKCk7
CisgICAgaW5mby5lbmRPZmZzZXQgPSBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA/IHRv
a2VuTG9jYXRpb24oKS5lbmRPZmZzZXQgOiBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5m
by5wYXJhbWV0ZXJzU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjsKKworICAgIGF1dG8gZnVuY3Rp
b25FeHByID0gY29udGV4dC5jcmVhdGVBc3luY0Z1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBp
bmZvLCBpbm5lclBhcnNlTW9kZSk7CisgICAgYXV0byBzdGF0ZW1lbnQgPSBjb250ZXh0LmNyZWF0
ZUV4cHJTdGF0ZW1lbnQoc3RhcnRMb2NhdGlvbiwgZnVuY3Rpb25FeHByLCBzdGFydCwgbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKKyAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3Vy
Y2VFbGVtZW50cywgc3RhdGVtZW50KTsKKworICAgIHJldHVybiBzb3VyY2VFbGVtZW50czsKK30K
KwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0
SXRlbShUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwg
dW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCiB7CiAgICAgLy8gVGhlIGdyYW1tYXIg
aXMgZG9jdW1lbnRlZCBoZXJlOgpAQCAtNTYyLDcgKzYwNSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1l
bnRMaXN0CiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgdW5kZXIgYSBnZW5lcmF0b3IgY29u
dGV4dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAieWllbGQiIHJldHVybnMgYGZhbHNlYC4K
ICAgICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVudGVyIHBhcnNlVmFyaWFibGVE
ZWNsYXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5kZXIgdGhlIGNvbnRleHQgb2YgcGFyc2VW
YXJpYWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAvLyB0byByYWlzZSBjb25zaXN0ZW50IGVy
cm9ycyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAibGV0Ii4KLSAgICAgICAgICAgIGlmICgh
KG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSkgJiYgIW1hdGNoKE9Q
RU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkKKyAgICAgICAgICAgIGlmICghKG1hdGNo
KElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSB8fCBtYXRjaChBV0FJVCkpICYm
ICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCiAgICAgICAgICAgICAg
ICAgc2hvdWxkUGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KQEAgLTU4Miw2ICs2MjUsMjEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlv
bkRlY2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElERU5UOgor
I2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJ
S0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMp
KSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBjb3Vs
ZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAg
ICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikg
JiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBj
YXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgLy8gVGhpcyBpcyBhIGNvbnZl
bmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3RhdGVtZW50cwogICAgICAgICAvLyAoZXZl
biB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5vcm1hbCBzdGF0ZW1lbnRzKQpAQCAtNjkw
LDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVEZWNsCiAgICAgICAgIGlmIChtYXRjaFNw
ZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAo
ZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVj
bGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiksIAogICAg
ICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRpZmllciBuYW1lIGZvciBh
IExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlz
RGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFz
IGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoZGVjbGFyYXRpb25UeXBlKSwgIiAi
LCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgSlNUZXh0
UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIEpT
VG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAg
ICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYgKzEwNzAsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2xhc3NpZnlF
eHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBFcnJvckluZGljYXRlc05vdGhp
bmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGlzRXZhbE9y
QXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJvcGVydHlOYW1lLT5pbXBsKCksICInIGlu
IHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChpZGVudGlm
aWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSAiLCBkZXN0cnVjdHVyaW5nS2luZFRv
VmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVh
c29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBjcmVhdGVCaW5kaW5n
UGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVydHlOYW1lLCBpZGVudGlm
aWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTA3OSw2ICsxMTM5LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0
ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0ZXIgbGlzdCIpOwogICAg
ICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoa2luZCA9PSBEZXN0cnVj
dHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBraW5kID09IERlc3RydWN0dXJpbmdLaW5k
OjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIg
bmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZU
cnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdh
aXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIg
IiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgcGF0dGVybiA9
IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICptX3Rva2Vu
Lm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZp
ZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTYzMSw0MyArMTY5Miw4
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIHJlc3VsdCA9IHBhcnNlVmFyaWFi
bGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElPTjogewotICAgICAgICBpZiAoIXN0cmlj
dE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25E
ZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFs
bG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHBy
b2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7
Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3Qg
aW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxlc3MgaXQncwotICAgICAgICAgICAgICAg
IC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVt
ZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAgICAgICAgIC8vIHRyZWF0IGl0IGFzIGlm
IHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0ZW1lbnQuCi0gICAg
ICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6
Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAg
ICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQotICAgICAgICAgICAgICAgIC8vIH0KLSAg
ICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRlbiBhczoKLSAgICAgICAgICAgICAgICAv
LyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAgIC8vICAgICBpZiAoY29uZCkgeyBmdW5j
dGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICBB
dXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgICAg
ICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKLSAgICAgICAgICAgICAgICBi
bG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgSlNU
b2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Ci0gICAgICAgICAgICAgICAg
aW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAgICAgICAgICAgICBUcmVlU3RhdGVtZW50
IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAg
ICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoZnVu
Y3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9u
JyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVs
ZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwotICAgICAgICAgICAgICAg
IGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7Ci0gICAg
ICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0YXRlbWVudChsb2NhdGlv
biwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1
cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgpLCBjdXJyZW50U2NvcGUo
KS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwotICAgICAgICAgICAgICAgIHBvcFNjb3Bl
KGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5l
eCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFj
awotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9yLgotICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1
ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRl
bWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKLSAgICAg
ICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9y
IHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIGNvbnN0IGJvb2wg
aXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJh
dGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgU0VNSUNP
TE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAg
ICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBlbmQgb2YgYSBzZXQgb2Ygc291cmNlIGVs
ZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgSURFTlQ6CisjaWYgRU5BQkxFKEVT
MjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2Vu
Lm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBtYXliZVBhcnNl
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIHJlc3VsdCwgcGFyZW50
QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KSkpCisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNh
c2UgWUlFTEQ6IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRl
bWVudCA9IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3Rh
dGVtZW50KGNvbnRleHQsIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAg
LTE3NDQsNiArMTc3Niw2OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxv
d3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZU
cnVlKHN0cmljdE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2Vk
IGluc2lkZSBibG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAg
ICBmYWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQs
ICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3Rh
dGVtZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3Vy
cmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVu
dCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZh
bGwgYmFjaworICAgICAgICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklY
TUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAg
ICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAg
ICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAg
ICByZXR1cm4gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAg
IC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBz
eW50YXggZXJyb3IgdW5sZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4g
SWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAv
LyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sg
c3RhdGVtZW50LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFt
cGxlOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlv
biBmb28oKSB7IH0KKyAgICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAg
Ly8gZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkg
eyB9IH0KKyAgICAvLyB9CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVz
aFNjb3BlKCkpOworICAgIGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxv
Y2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOwor
CisgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAg
ICAgICBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBl
bHNlCisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29u
dGV4dCk7CisgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwg
IkV4cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdv
cmQiKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNy
ZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNl
RWxlbWVudHMsIGZ1bmN0aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQu
Y3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2Fs
RW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygp
KTsKKyAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVu
Y3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQoreworICAgIEFTU0VSVCgqbV90b2tlbi5tX2Rh
dGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgIFNhdmVQb2ludCBz
YXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgaWYgKG1hdGNo
KEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICBjb25z
dCBib29sIGlzQXN5bmMgPSB0cnVlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25E
ZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlzdCwgdW5zaWduZWQmIHBhcmFt
ZXRlckNvdW50KQogewogI2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xhdGlvbigpIFwKQEAg
LTE3NjYsNiArMTg2MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAgICAgICAgIAogICAg
ICAgICBpZiAobWF0Y2goRE9URE9URE9UKSkgewogICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgJiYgbWF0
Y2goQVdBSVQpLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBh
c3luYyBmdW5jdGlvbiIpOwogICAgICAgICAgICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRl
c3RydWN0dXJpbmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBE
ZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5v
dEV4cG9ydGVkLCAmZHVwbGljYXRlUGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4p
OwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHBhcmFtZXRlciA9
IGNvbnRleHQuY3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1l
dGVyQ291bnQpOwpAQCAtMTgzMyw2ICsxOTI4LDE0IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiAi
Z2VuZXJhdG9yIGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5j
dGlvbk1vZGU6CiAgICAgICAgIHJldHVybiAiYXJyb3cgZnVuY3Rpb24iOworICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGZ1bmN0aW9u
IjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICBy
ZXR1cm4gImFzeW5jIG1ldGhvZCI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Nb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGFycm93IGZ1bmN0aW9uIjsKICAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1
bGVFdmFsdWF0ZU1vZGU6CkBAIC0xODQ1LDEyICsxOTQ4LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlciwgY2xhc3Mg
RnVuY3Rpb25JbmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxp
c3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rp
b25JbmZvKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQ
cm9ncmFtTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUg
JiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoIShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFt
TW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU291cmNlUGFyc2VNb2Rl
OjpNb2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKG1vZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBh
cmFtZXRlckxpc3QgcGFyYW1ldGVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVy
TGlzdCgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJz
ZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9u
UGFyc2VQaGFzZTo6UGFyYW1ldGVycyk7CiAgICAgCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAm
JiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2Rl
U2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6
QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgeworICAgICAgICBpZiAo
IW1hdGNoU3BlY0lkZW50aWZpZXIoKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAg
ICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIik7CiAgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFy
cm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTk0
MSw3ICsyMDQ0LDkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBh
cmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAKLSAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVy
YXRvciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpOworICAgIGJvb2wgaXNEaXNhbGxv
d2VkQXdhaXRGdW5jdGlvbk5hbWUgPSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tl
bik7CisgICAgY29uc3QgY2hhciogaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24g
PSBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdh
aXRSZWFzb24oKSA6IG51bGxwdHI7CisKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29w
ZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNlUGFyc2VN
b2RlKG1vZGUpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4
cGVjdGVkU3VwZXJCaW5kaW5nKTsKQEAgLTE5ODMsNyArMjA4OCw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAgICAgICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0g
ZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
RnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlOwotICAgICAgICAgICAgaWYgKG1vZGUg
PT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyht
b2RlKSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlz
Qm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGZ1
bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpAQCAtMjAyNiw3ICsy
MTMxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFN5bnRheENoZWNrZXIgc3lu
dGF4Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwogCi0gICAg
aWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgeworICAgIGlm
IChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5j
dGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFp
bnMobW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwog
ICAgICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CiAgICAgICAgIHN0
YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIwNDEsNyArMjE0Niw4IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFBhcnNlIGZvcm1hbCBw
YXJhbWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4gb3JkZXIgdG8gYmFu
IFlpZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8vIGluIEFycm93Rm9ybWFsUGFyYW1ldGVy
cywgcGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRp
Y3MtZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2NvcGU6Ok1heWJlUGFyc2VBc0dlbmVyYXRv
ckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rpb25TY29wZSwgdXBwZXJTY29wZUlzR2Vu
ZXJhdG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29w
ZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVudFNjb3BlLT5pc0dlbmVyYXRv
cigpKTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2FpdCht
X3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9kZSkp
OwogICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9k
ZSwgZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAg
IH0KQEAgLTIwNzMsMjEgKzIxNzksMjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAg
ICAgLy8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAgICAgIC8vICAgICBmdW5jdGlvbiAqIEJp
bmRpbmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNbWWllbGRdICkgeyBH
ZW5lcmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVuY3Rp
b25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdl
bmVyYXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25E
ZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9y
bWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gZmFs
c2U7CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5bmNG
dW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQg
b2YgZ2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNl
OworICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5p
dGlvblR5cGU6OkV4cHJlc3Npb24gJiYgU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9k
ZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2Rl
KS5jb250YWlucyhtb2RlKSkpCisgICAgICAgICAgICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1
cHBlclNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAgICAgICAgIGlmIChyZXF1aXJlbWVudHMg
IT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgICAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50
czo6Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9u
TmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGZ1bmN0aW9uSW5m
by5uYW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBzaWRlLiIpOwogICAg
ICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIodXBwZXJTY29wZUlzR2VuZXJhdG9yKSkg
ewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRl
bnQ7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVu
Y3Rpb25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlzYWxsb3dl
ZEF3YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZU
cnVlKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVj
bGFyYXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5v
dCBkZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5j
dGlvbk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlv
bldyYXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5p
dGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikKKyAgICAgICAg
ICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBu
YW1lZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAg
IGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAgICAgICAgICAgICAgICAgICAgIGZhaWxJ
ZlRydWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5u
YW1lKSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIiciLCBmdW5jdGlv
bkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgfSBlbHNl
IGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZCkgewot
ICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gU291cmNlUGFy
c2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgICAgIHNlbWFudGlj
RmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAg
ICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50
aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUs
ICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1
bmN0aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIp
OworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAg
ICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC0yMTA1LDggKzIyMTgsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQK
IAogICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9k
ZSwgZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgewor
ICAgICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2Vy
U3RhdGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CisgICAg
ICAgICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5j
dGlvbkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IGJvZHkiKTsKICAgICAgICAgCkBAIC0yMTUzLDkgKzIyNjksMTUgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRh
eENoZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBl
eHBlY3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFt
ZXRlckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKG1vZGUgPT0gU291
cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5j
dGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGdl
bmVyYXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgIGdlbmVyYXRvckJv
ZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9u
V3JhcHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAgICAgICAgaW5uZXJQYXJzZU1vZGUgPSBt
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICAg
ICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAg
ICAgICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7Cisg
ICAgICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUo
aW5uZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldENvbnN0cnVj
dG9yS2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2Nv
cGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKIApAQCAt
MjE3NCw3ICsyMjk2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICBjb250ZXh0LnNl
dEVuZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsK
ICAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVpcmVtZW50cyAhPSBG
dW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQpIHsKICAgICAgICAgQVNTRVJUKGZ1bmN0
aW9uSW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0
aG9kTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwg
bW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IG1vZGUgPT0gU291
cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVu
Y3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6
QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29udGFpbnMobW9k
ZSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmZ1bmN0
aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBh
IHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0aW9uSW5mby5uYW1l
LCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0
aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg5LDYgKzI0MTEsNjAgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNs
YXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOwor
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2ln
bmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQoKTsKKyAg
ICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAgICBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9k
ZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25O
YW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4
dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KSB7CisgICAgICAg
IC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0aW9uIGRlY2xhcmF0
aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisgICAgICAgIC8vCisgICAg
ICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAg
ICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVEZWNsYXJhdGlvblt+WWll
bGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLworICAgICAg
ICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAv
LyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAgICAgICAg
Ly8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQorICAgICAg
ICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06
CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZhdWx0XSBm
dW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rpb25Cb2R5W35ZaWVs
ZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bWWll
bGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAg
IFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lpZWxkXSApIHsgR2Vu
ZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UgdXNl
ICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBuYW1lLgorICAgICAg
ICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmU7CisgICAgICAg
IGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygp
LnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1vZGUsIHRydWUsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0
aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZh
bHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhh
dmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1bHRNYXNrLCBTY29w
ZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlvbihmdW5jdGlvbkluZm8u
bmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0ID0gZnVu
Y3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZGVjbGFyYXRp
b25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICJDYW5ub3Qg
ZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmlt
cGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgJiBE
ZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9uKQorICAgICAgICBp
bnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1
bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAn
IiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBp
ZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgeworICAgICAgICBzZW1hbnRp
Y0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwgIkNhbm5vdCBleHBv
cnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBs
KCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBvcnRCaW5kaW5nKCpmdW5j
dGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250
ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworICAg
IGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlv
bi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9uSW5mbykpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0VHlwZSBl
eHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENv
bnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsKQEAgLTI0MDUsOCArMjU4
MSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBib29sIGlzR2V0dGVyID0g
ZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dl
bmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAg
ICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVl
OworCitVTlVTRURfTEFCRUwocGFyc2VNZXRob2QpOworcGFyc2VNZXRob2Q6CiAgICAgICAgIHN3
aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICAgICAgbmFtZWRLZXl3b3JkOgogICAgICAgICBj
YXNlIFNUUklORzoKQEAgLTI0MTUsMTIgKzI1OTUsMjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNz
KFQKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IElERU5UOgorICAgICAgICBjYXNlIEFXQUlUOgogICAgICAgICAgICAgaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIEFTU0VSVChpZGVudCk7CiAgICAgICAgICAgICBu
ZXh0KCk7Ci0gICAgICAgICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIChtYXRjaElkZW50aWZpZXJP
cktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5U
RUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgeworICAgICAgICAgICAgaWYgKCFpc0dlbmVy
YXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwg
bWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNo
KE9QRU5CUkFDS0VUKSkpIHsKICAgICAgICAgICAgICAgICBpc0dldHRlciA9ICppZGVudCA9PSBw
cm9wZXJ0eU5hbWVzLmdldDsKICAgICAgICAgICAgICAgICBpc1NldHRlciA9ICppZGVudCA9PSBw
cm9wZXJ0eU5hbWVzLnNldDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCppZGVudCA9PSBwcm9wZXJ0eU5hbWVz
LmFzeW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpICYmICFpc0FzeW5jTWV0aG9kKSkg
eworICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIERPVUJMRToKQEAg
LTI0NTIsNyArMjY0MCwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFz
c0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgICAgICAgICAg
Ym9vbCBpc0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0
eU5hbWVzLmNvbnN0cnVjdG9yOwogICAgICAgICAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSA9IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKLSAgICAgICAgICAgIGlmIChpc0dlbmVy
YXRvcikgeworICAgICAgICAgICAgaWYgKGlzQXN5bmNNZXRob2QpIHsKKyAgICAgICAgICAgICAg
ICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291
cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU7CisgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsICJDYW5u
b3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZSciKTsKKyAgICAgICAg
ICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PmNvbnN0cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdjb25z
dHJ1Y3RvciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNHZW5lcmF0b3IpIHsKICAgICAg
ICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgcGFyc2VN
b2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOwogICAg
ICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3IgbmFtZWQgJ3Byb3Rv
dHlwZSciKTsKQEAgLTI1MzUsNiArMjcyOCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTAog
ICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVudChsb2NhdGlvbiwgZXhwcmVzc2lvbiwg
c3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZSk7CiAgICAgICAgIH0KKworICAgICAg
ICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElm
VHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3
YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CisK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
ICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAg
ICBuZXh0KCk7CkBAIC0yNzMxLDcgKzI5MjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAog
ICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5
TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIp
OwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3Rl
ZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAg
ZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBu
YW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgIGxvY2FsTmFtZVRva2Vu
ID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAg
ICAgICAgIG5leHQoKTsKQEAgLTI3NTMsNyArMjk1MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4
ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlO
YW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBtYXRjaE9yRmFp
bChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJh
dGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAi
RXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAg
ICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgICAgICBsb2NhbE5h
bWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI3NjQs
NyArMjk2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1
aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgY2FzZSBJbXBvcnRTcGVj
aWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIEltcG9ydGVkRGVmYXVsdEJp
bmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAgICAgQVNTRVJUKG1hdGNo
KElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlmaWVyKCkpOwogICAgICAg
ICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4u
bV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzczLDYgKzI5NzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2Vy
PExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1l
VG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQnIGFzIGFuIGltcG9ydGVk
IGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2NhbE5hbWVUb2tlbi5t
X3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3b3JkIGFzIGltcG9ydGVk
IGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJhdGlvblJl
c3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0aW9uVHlwZTo6Q29uc3RE
ZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lmaWVyVHlwZTo6TmFtZXNw
YWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWROYW1lc3BhY2UgOiBE
ZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAoZGVjbGFyYXRpb25SZXN1
bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yODAzLDcgKzMwMDEsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wgaXNGaW5pc2hlZFBhcnNp
bmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7CisgICAgaWYgKG1hdGNo
U3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoK
ICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8gc3BlY2lmaWVyID0gcGFy
c2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmllclR5cGU6OkRlZmF1bHRJ
bXBvcnQpOwpAQCAtMjkyOCw2ICszMTI2LDIwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAg
ICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KIAorI2lm
IEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKFVO
TElLRUxZKGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rva2VuKSAmJiAqbV90b2tlbi5tX2RhdGEu
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICBTYXZl
UG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWlu
YXRvcigpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlmICht
YXRjaChJREVOVCkpCisgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OworICAgICAgICAgICAgICAgIGlzRnVuY3Rpb25PckNsYXNzRGVjbGFyYXRpb24g
PSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
UG9pbnQpOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBpZiAoIWxvY2FsTmFtZSkKICAg
ICAgICAgICAgIGxvY2FsTmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMo
KS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CiAKQEAgLTI5MzcsMTAgKzMxNDksMTggQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVt
ZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50
RGVwdGggPSAxOwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJh
dGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KG1hdGNoKENMQVNTVE9LRU4pKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VDbGFz
c0RlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlv
bkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKICAgICAgICAgICAgIH0KKyNpZiBFTkFC
TEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgICAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4
cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnRE
ZWZhdWx0KTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgZXhwcjsKICAgICAgICAgICAgIC8vCkBAIC0zMDU3LDkg
KzMyNzcsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIGJyZWFrOwog
CiAgICAgICAgIGRlZmF1bHQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tl
bikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
KSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0Zh
aWxJZkZhbHNlKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwg
IkV4cGVjdGVkICdmdW5jdGlvbicga2V5d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdp
dGggbm8gcHJlY2VkaW5nIGxpbmUgdGVybWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4
cG9ydGVkKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyNlbmRpZgog
ICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBlaXRoZXIgYSBkZWNsYXJhdGlv
biBvciBhIHZhcmlhYmxlIHN0YXRlbWVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KKwogICAgICAgICBmYWlsSWZGYWxzZShyZXN1bHQsICJDYW5ub3QgcGFyc2UgdGhlIGRlY2xh
cmF0aW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydExvY2FsRGVjbGFy
YXRpb24oZXhwb3J0TG9jYXRpb24sIHJlc3VsdCk7CiAgICAgfQpAQCAtMzEyMSwzNCArMzM1MCw0
OSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIEFTU0VSVCghaGFzRXJyb3IoKSk7CiAg
ICAgCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworCisgICAgaWYgKG1hdGNoKFlJRUxEKSAm
JiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpKQor
ICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Npb24oY29udGV4dCk7CisKICAgICBKU1Rl
eHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBpbml0aWFsQXNzaWdubWVu
dENvdW50ID0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQ7CiAgICAgaW50IGluaXRpYWxO
b25MSFNDb3VudCA9IG1fcGFyc2VyU3RhdGUubm9uTEhTQ291bnQ7CiAgICAgYm9vbCBtYXliZUFz
c2lnbm1lbnRQYXR0ZXJuID0gbWF0Y2goT1BFTkJSQUNFKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCk7
CiAgICAgYm9vbCB3YXNPcGVuUGFyZW4gPSBtYXRjaChPUEVOUEFSRU4pOwotICAgIGJvb2wgaXNW
YWxpZEFycm93RnVuY3Rpb25TdGFydCA9IG1hdGNoKE9QRU5QQVJFTikgfHwgbWF0Y2goSURFTlQp
OworICAgIC8vIERvIG5vdCB1c2UgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGhlcmUgc2luY2UgaXQg
aXMgc2xvd2VyIHRoYW4gaXNJZGVudGlmaWVyT3JLZXl3b3JkLgorICAgIC8vIFdoZXRoZXIgc3Bl
YyBpZGVudGlmaWVyIGlzIHdpbGwgYmUgdmFsaWRhdGVkIGJ5IGlzQXJyb3dGdW5jdGlvblBhcmFt
ZXRlcnMoKS4KKyAgICBib29sIHdhc0lkZW50aWZpZXJPcktleXdvcmQgPSBpc0lkZW50aWZpZXJP
cktleXdvcmQobV90b2tlbik7CisgICAgYm9vbCBtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0
ID0gd2FzT3BlblBhcmVuIHx8IHdhc0lkZW50aWZpZXJPcktleXdvcmQ7CiAgICAgU2F2ZVBvaW50
IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIHNpemVfdCB1c2VkVmFyaWFibGVz
U2l6ZSA9IDA7CisKKyNpZiAhRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKICAg
ICBpZiAod2FzT3BlblBhcmVuKSB7CisjZWxzZQorICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgKHdh
c0lkZW50aWZpZXJPcktleXdvcmQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFzeW5jKSkgeworI2VuZGlmCiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXpl
ID0gY3VycmVudFNjb3BlKCktPmN1cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBj
dXJyZW50U2NvcGUoKS0+cHVzaFVzZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmICht
YXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dl
bmVyYXRvcigpKSkKLSAgICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQp
OwotCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
Y29udGV4dCk7CiAKLSAgICBpZiAoaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2go
RU9GVE9LKSkgeworICAgIGlmIChtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRj
aChFT0ZUT0spKSB7CiAgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChB
UlJPV0ZVTkNUSU9OKTsKICAgICAgICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4p
IHsKICAgICAgICAgICAgIFNhdmVQb2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7
CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFz
eW5jQXJyb3dGdW5jdGlvbigpKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRl
eHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAg
ICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2
VGVybWluYXRvcigpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5j
dGlvblBhcmFtZXRlcnMoKSkgewotICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisg
ICAgICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAg
ICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxl
cyh1c2VkVmFyaWFibGVzU2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3Jh
dGlvblNhdmVQb2ludCk7CiAgICAgICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBA
IC0zMjcyLDYgKzM1MTYsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFTU0VS
VChjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUobV9w
YXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJh
bWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7
CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNU
ZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5leHQo
KTsKKyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihj
b250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBhd2Fp
dCBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXdhaXQobG9jYXRpb24s
IGFyZ3VtZW50LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewogICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4NCwxMSArMzY0MywxNiBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQgPSBmYWxzZTsKICAg
ICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNzUHJvcGVydHkgPSBm
YWxzZTsKKyAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBpZiAoY29uc3VtZShU
SU1FUykpCiAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNl
UHJvcGVydHkpOworcGFyc2VQcm9wZXJ0eToKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7
CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElERU5UOgorICAgIGNhc2UgQVdBSVQ6CiAg
ICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBT
VFJJTkc6IHsKQEAgLTMzOTYsMTAgKzM2NjAsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIK
ICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCA9IHRva2VuU3RhcnQo
KTsKICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYg
KCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5nZXQgfHwgKmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPnNldCkpKQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4
ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAm
JiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpCisgICAgICAgICAgICBuZXh0
RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CisjZW5kaWYK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFn
c0lnbm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRlcjo6RG9udEJ1aWxkS2V5d29yZHMpOwog
Ci0gICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgbWF0Y2goQ09MT04pKSB7CisgICAgICAgIGlm
ICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2QgJiYgbWF0Y2goQ09MT04pKSB7CiAgICAg
ICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VB
c3NpZ25tZW50RXhwcmVzc2lvbk9yUHJvcGFnYXRlRXJyb3JDbGFzcyhjb250ZXh0KTsKICAgICAg
ICAgICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiBmb3IgcHJv
cGVydHkgZGVjbGFyYXRpb24iKTsKQEAgLTM0MDgsMTEgKzM2NzYsMTEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJv
cGVydHkoVHJlZUIKICAgICAgICAgfQogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7
Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwg
aWRlbnQsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9w
ZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3IsIGlzQXN5bmNNZXRob2QpOwog
ICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZVByb3BlcnR5KGlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFBy
b3BlcnR5Tm9kZTo6S25vd25EaXJlY3QsIGNvbXBsZXRlLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwg
aXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJh
dG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOworICAgICAg
ICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRob2QsICJFeHBlY3RlZCBhIHBh
cmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAKICAgICAgICAgZmFpbElmRmFsc2Uod2Fz
SWRlbnQsICJFeHBlY3RlZCBhbiBpZGVudGlmaWVyIGFzIHByb3BlcnR5IG5hbWUiKTsKIApAQCAt
MzQzNCw2ICszNzAyLDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3Bl
cnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgICAgICB0
eXBlID0gUHJvcGVydHlOb2RlOjpHZXR0ZXI7CiAgICAgICAgIGVsc2UgaWYgKCppZGVudCA9PSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2Rl
OjpTZXR0ZXI7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgZWxzZSBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5j
ICYmICFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAgICAgICAgIGlzQXN5
bmNNZXRob2QgPSB0cnVlOworICAgICAgICAgICAgZmFpbElmVHJ1ZShtX2xleGVyLT5wcmV2VGVy
bWluYXRvcigpLCAiRXhwZWN0ZWQgYSBwcm9wZXJ0eSBuYW1lIGZvbGxvd2luZyBrZXl3b3JkICdh
c3luYyciKTsKKyAgICAgICAgICAgIGdvdG8gcGFyc2VQcm9wZXJ0eTsKKyAgICAgICAgfQorI2Vu
ZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQg
YSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+aW1wbCgpLCAiJyIp
OwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwgY29tcGxldGUsIHR5
cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgaXND
bGFzc1Byb3BlcnR5KTsKQEAgLTM0NDUsMTEgKzM3MjAsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHko
VHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgY29u
c3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1h
a2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFtZSk7
Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwg
JmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJv
cGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7
CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQs
IFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBp
c0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0
b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAg
IGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFy
ZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWlsKENP
TE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJlZUV4
cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0z
NDY0LDExICszNzM5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3Bl
cnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhhbmRs
ZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQgcHJv
cGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAg
ICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnBy
b3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBh
dXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAg
ICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5Tm9k
ZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQp
LCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVk
ZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dl
bmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAg
ICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQg
YSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZh
aWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAgICBU
cmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsK
QEAgLTM0ODMsMTMgKzM3NTgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
UHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNH
ZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlz
QXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1ldGhv
ZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9
IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25N
b2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9kZSBw
YXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0
aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5h
bWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGlu
Zzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlw
ZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsK
IH0KQEAgLTM3NTUsNiArNDAzMCwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJ
T04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAg
ICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0
KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87Cisg
ICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZp
ZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9u
KSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworfQor
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1w
bGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJp
bmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1wbGF0
ZUhlYWQpIHsKQEAgLTM4NDIsMTQgKzQxMzEsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUK
ICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzVGhp
cygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7CiAg
ICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZpZXJF
eHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRh
LmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dGVU5D
VElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCiAgICAgICAgICAgICBy
ZXR1cm4gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYg
bWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkKKyAgICAgICAg
ICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworI2VuZGlm
CisKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFzdElk
ZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShs
b2NhdGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CkBAIC00MDI1
LDYgKzQzMjEsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgIGZhaWxE
dWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBiYXNlSXNBc3luY0tleXdvcmQgPSBmYWxzZTsKKyNl
bmRpZgorCiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAgICAgICAgIFNjb3BlUmVmIGNsb3Nlc3RP
cmRpbmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFyZW50T3JkaW5hcnlGdW5jdGlvbk5vbkxl
eGljYWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgp
LT5pc0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmlzRXZhbENv
bnRleHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5leHBlY3RlZFN1cGVyQmlu
ZGluZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0
aGlzIGNvbnRleHQiKTsKQEAgLTQwNDIsOSArNDM0MiwyNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4
cHJlcwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvblN1cGVyQmlu
ZGluZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0
aGlzIGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAo
IWJhc2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpIHsKKyNp
ZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjb25zdCBib29s
IGlzQXN5bmMgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9k
YXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jOworI2VuZGlmCisKICAgICAg
ICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAKKyNpZiBFTkFCTEUo
RVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmYWlsSWZGYWxzZShiYXNlLCAi
Q2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaXNBc3luYyAmJiBj
b250ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgewor
ICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAgICAgICAgICAgICAg
IC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNlQ2xhc3NpZnlFeHBy
ZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOworICAgICAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYmFzZUlzQXN5bmNL
ZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgZmFpbElmRmFs
c2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKICAgICB3aGlsZSAodHJ1
ZSkgewogICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKQEAgLTQwNzgsNiArNDM5
NSwxNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0gbGFzdFRva2VuRW5k
UG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFyZ3VtZW50cyA9IHBh
cnNlQXJndW1lbnRzKGNvbnRleHQpOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgICAgICAgICBpZiAoYmFzZUlzQXN5bmNLZXl3b3JkICYmICghYXJn
dW1lbnRzIHx8IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkgeworICAgICAgICAgICAgICAgICAgICBm
b3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0
aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7Cisg
ICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShh
cmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1bWVudHMiKTsKICAgICAgICAgICAgICAg
ICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAgICAgICAgICAgU2NvcGVSZWYgZnVuY3Rp
b25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7CkBAIC00MTM2LDcgKzQ0NjEsNyBAQCBl
bmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgot
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkK
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CiAKQEAgLTQx
NDQsNyArNDQ2OSw5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvCiAgICAgbG9jYXRpb24gPSB0
b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZv
OwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsK
LSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
LCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVz
c2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKworICAg
IFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8gU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9k
ZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
YW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBp
bmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2Ug
YXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogfQpAQCAtNDE4OCw2ICs0NTE1LDEy
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAgYm9vbCBtb2RpZmllc0V4cHIgPSBmYWxz
ZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBsYXN0T3Bl
cmF0b3IgPSAwOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1cnJlbnRGdW5jdGlvblNjb3BlKCktPmlz
QXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAgICByZXR1cm4gcGFyc2VBd2FpdEV4cHJl
c3Npb24oY29udGV4dCk7CisjZW5kaWYKKwogICAgIHdoaWxlIChpc1VuYXJ5T3AobV90b2tlbi5t
X3R5cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIHN3aXRj
aCAobV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjksNiArNDcwMiw3IEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRv
a2VuVGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRlIG5hbWUgJyIsIGdl
dFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAorICAgIGNhc2Ug
QVdBSVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlk
ZW50aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNkZDVlNzc4YjhmZGI1
OTIzYWE3OThhZWQxMjMuLmZkYjlkMjE3NGIxMzUxNzIwMjYzZDU1Mjc4ZWZhOGM3ZTBhYTc5N2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1LDcgKzEzNSw3IEBA
IHN0cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGUpOwogCiBwdWJs
aWM6Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5l
cmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24pCisgICAgU2NvcGUo
Y29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3Ry
aWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1bmN0aW9uKQogICAg
ICAgICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRzKGZhbHNlKQogICAg
ICAgICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAgcHVibGljOgogICAg
ICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzQXJyb3dG
dW5jdGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25Cb3Vu
ZGFyeShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0FzeW5jRnVuY3Rpb24p
CisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBt
X2lzTGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KGZh
bHNlKQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAgLTE4MSw2ICsxODMs
OCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KG90aGVyLm1faXNH
ZW5lcmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihvdGhlci5tX2lz
QXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KG90aGVy
Lm1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24o
b3RoZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3Vu
ZGFyeShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNMZXhp
Y2FsU2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBtX2lzRnVuY3Rpb25C
b3VuZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBtX2lzVmFsaWRT
dHJpY3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgsNiArMjQyLDE0IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9k
ZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0Fz
eW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBz
ZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAg
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKICAgICAgICAgICAg
IHNldElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1Nyw2ICsyNjksMTUg
QEAgcHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAgICAgICAgICAg
ICBicmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1v
ZGU6CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAg
ICAgICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAg
ICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAg
ICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICAgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNGdW5jdGlv
bkJvdW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNH
ZW5lcmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBjb25zdCB7IHJldHVy
biBtX2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rp
b25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7IH0K
IAogICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBcmd1bWVudHM7
IH0KIApAQCAtNzEwLDYgKzczMywzNCBAQCBwcml2YXRlOgogICAgICAgICBtX2lzQXJyb3dGdW5j
dGlvbiA9IHRydWU7CiAgICAgfQogCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5j
RnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rp
b24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uQm9keSgpCisg
ICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0g
ZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0Fz
eW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5j
QXJyb3dGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7
CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0
aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7Cisg
ICAgfQorCiAgICAgY29uc3QgVk0qIG1fdm07CiAgICAgYm9vbCBtX3NoYWRvd3NBcmd1bWVudHM7
CiAgICAgYm9vbCBtX3VzZXNFdmFsOwpAQCAtNzI0LDYgKzc3NSw4IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2lzR2VuZXJhdG9yQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbjsK
ICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnk7CisgICAgYm9vbCBtX2lzQXN5bmNG
dW5jdGlvbjsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBt
X2lzTGV4aWNhbFNjb3BlOwogICAgIGJvb2wgbV9pc0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9v
bCBtX2lzVmFsaWRTdHJpY3RNb2RlOwpAQCAtNzk3LDcgKzg1MCw3IEBAIGNsYXNzIFBhcnNlciB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKIHB1YmxpYzoKLSAgICBQYXJzZXIoVk0q
LCBjb25zdCBTb3VyY2VDb2RlJiwgSlNQYXJzZXJCdWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RN
b2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlLCBTb3VyY2VQYXJzZU1vZGUsIFN1cGVyQmluZGluZywg
Q29uc3RydWN0b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIERlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2ZWRDb250ZXh0VHlwZTo6Tm9uZSwgYm9v
bCBpc0V2YWxDb250ZXh0ID0gZmFsc2UsIEV2YWxDb250ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlw
ZTo6Tm9uZSk7CisgICAgUGFyc2VyKFZNKiwgY29uc3QgU291cmNlQ29kZSYsIEpTUGFyc2VyQnVp
bHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlLCBTb3VyY2VQ
YXJzZU1vZGUsIFN1cGVyQmluZGluZywgQ29uc3RydWN0b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIERlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2
ZWRDb250ZXh0VHlwZTo6Tm9uZSwgYm9vbCBpc0V2YWxDb250ZXh0ID0gZmFsc2UsIEV2YWxDb250
ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZSk7CiAgICAgflBhcnNlcigpOwogCiAgICAg
dGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CkBAIC04ODYsOCArOTM5LDkgQEAgcHJpdmF0ZToK
ICAgICB9OwogCiAgICAgZW51bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7Ci0gICAgICAgIEVycm9y
SW5kaWNhdGVzTm90aGluZywKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuCisgICAgICAg
IEVycm9ySW5kaWNhdGVzTm90aGluZyA9IDAsCisgICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVy
biwKKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24KICAgICB9OwogCiAg
ICAgc3RydWN0IEV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXIgewpAQCAtOTExLDYgKzk2NSwxMSBA
QCBwcml2YXRlOgogICAgICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOwogICAgICAg
ICB9CiAKKyAgICAgICAgdm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Np
b25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBtX2Ns
YXNzID0gY2xhc3NpZmljYXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJlY2xhc3Np
ZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24s
IEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAgICAgICB7CiAgICAgICAg
ICAgICBpZiAobV9jbGFzcyAhPSBvbGRDbGFzc2lmaWNhdGlvbikKQEAgLTkyMCwxMSArOTc5LDEy
IEBAIHByaXZhdGU6CiAKICAgICAgICAgdm9pZCBwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFz
cygpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChtX3ByZXZpb3VzICYmIG1fY2xhc3MgIT0g
RXJyb3JJbmRpY2F0ZXNOb3RoaW5nKQorICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMpCiAgICAg
ICAgICAgICAgICAgbV9wcmV2aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7CiAgICAgICAgIH0KIAog
ICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxlUGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuOyB9CisgICAgICAgIGJvb2wgaW5kaWNhdGVz
UG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVy
cm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uOyB9CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBFeHByZXNzaW9uRXJyb3JDbGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYgKzk5OCwxMiBAQCBwcml2
YXRlOgogICAgICAgICAgICAgbV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5jbGFzc2lmeUV4
cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElO
RSB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mg
Y2xhc3NpZmljYXRpb24pCisgICAgeworICAgICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JDbGFz
c2lmaWVyKQorICAgICAgICAgICAgbV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5mb3JjZUNs
YXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKKyAgICB9CisKICAgICBBTFdB
WVNfSU5MSU5FIHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JD
bGFzcyBvbGRDbGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRp
b24pCiAgICAgewogICAgICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQpAQCAt
OTU5LDYgKzEwMjUsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIERlc3RydWN0dXJpbmdL
aW5kOjpEZXN0cnVjdHVyZVRvVmFyaWFibGVzOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUg
Y29uc3QgY2hhciogZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoRGVjbGFyYXRpb25UeXBl
IHR5cGUpCisgICAgeworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBEZWNs
YXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuICJ2YXJpYWJs
ZSBuYW1lIjsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uOgor
ICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbjoKKyAgICAgICAg
ICAgIHJldHVybiAibGV4aWNhbCB2YXJpYWJsZSBuYW1lIjsKKyAgICAgICAgfQorICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gImludmFsaWQiOwor
ICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgQXNzaWdubWVudENvbnRleHQgYXNzaWdubWVudENv
bnRleHRGcm9tRGVjbGFyYXRpb25UeXBlKERlY2xhcmF0aW9uVHlwZSB0eXBlKQogICAgIHsKICAg
ICAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC05NzEsNiArMTA1MCwxMiBAQCBwcml2YXRlOgogCiAg
ICAgQUxXQVlTX0lOTElORSBib29sIGlzRXZhbE9yQXJndW1lbnRzKGNvbnN0IElkZW50aWZpZXIq
IGlkZW50KSB7IHJldHVybiBpc0V2YWxPckFyZ3VtZW50c0lkZW50aWZpZXIobV92bSwgaWRlbnQp
OyB9CiAKKyAgICBTY29wZVJlZiB1cHBlclNjb3BlKGludCBuKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKG1fc2NvcGVTdGFjay5zaXplKCkgPj0gc2l6ZV90KDEgKyBuKSk7CisgICAgICAgIHJldHVy
biBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3BlU3RhY2suc2l6ZSgpIC0gMSAtIG4pOwor
ICAgIH0KKwogICAgIFNjb3BlUmVmIGN1cnJlbnRTY29wZSgpCiAgICAgewogICAgICAgICByZXR1
cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEpOwpAQCAt
MTAyNywxMyArMTExMiwxNSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGlzU3RyaWN0ID0gZmFs
c2U7CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0Fy
cm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb24gPSBmYWxz
ZTsKICAgICAgICAgaWYgKCFtX3Njb3BlU3RhY2suaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBp
c1N0cmljdCA9IG1fc2NvcGVTdGFjay5sYXN0KCkuc3RyaWN0TW9kZSgpOwogICAgICAgICAgICAg
aXNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCkuaXNGdW5jdGlvbigpOwogICAgICAgICAg
ICAgaXNHZW5lcmF0b3IgPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzR2VuZXJhdG9yKCk7CiAgICAg
ICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzQXJyb3dGdW5j
dGlvbigpOworICAgICAgICAgICAgaXNBc3luY0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3Qo
KS5pc0FzeW5jRnVuY3Rpb24oKTsKICAgICAgICAgfQotICAgICAgICBtX3Njb3BlU3RhY2suY29u
c3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmljdCwg
aXNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVu
ZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlv
biwgaXNBc3luY0Z1bmN0aW9uKTsKICAgICAgICAgcmV0dXJuIGN1cnJlbnRTY29wZSgpOwogICAg
IH0KIApAQCAtMTM0NiwyMSArMTQzMywyNSBAQCBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly9lY21h
LWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1k
ZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycwogICAgIEFMV0FZU19JTkxJ
TkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKGJvb2wgaW5HZW5lcmF0b3IpCiAgICAgewotICAg
ICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlF
TERNYXNrZWRBc0lERU5UKGluR2VuZXJhdG9yKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5U
KSB8fCBtYXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tl
ZEFzSURFTlQoaW5HZW5lcmF0b3IpOwogICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBt
YXRjaFNwZWNJZGVudGlmaWVyKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaFNwZWNJZGVu
dGlmaWVyKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgcmV0dXJuIG1h
dGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZ
SUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOwogICAgIH0K
IAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBh
cnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlR2Vu
ZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRz
TW9kZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VQ
YXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1l
bnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IHBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGggPSAwKTsKICAgICBlbnVtIGNsYXNzIEV4cG9ydFR5cGUgeyBFeHBvcnRl
ZCwgTm90RXhwb3J0ZWQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9
IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVj
bGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1
aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9u
RGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rp
b25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYsIGJvb2wgaXNBc3luYywgYm9vbCBw
YXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOworICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRl
ZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6
OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBib29sIG1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIFRyZWVTdGF0ZW1lbnQmIHJlc3VsdCwgYm9vbCBwYXJlbnRBbGxvd3NG
dW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oVHJlZUJ1aWxk
ZXImLCBEZWNsYXJhdGlvblR5cGUsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRl
ZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
RG9XaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVdoaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CkBAIC0xMzg3LDYgKzE0NzgsNyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUNvbmRpdGlvbmFsRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUJpbmFyeUV4cHJlc3Npb24oVHJlZUJ1
aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUg
VHJlZUV4cHJlc3Npb24gcGFyc2VVbmFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRXhwcmVzc2lvbiBw
YXJzZUF3YWl0RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VNZW1iZXJFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24g
cGFyc2VBcnJheUxpdGVyYWwoVHJlZUJ1aWxkZXImKTsKQEAgLTEzOTQsMTcgKzE0ODYsMTggQEAg
cHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRXhwcmVzc2lvbiBwYXJzZVN0cmljdE9iamVjdExpdGVyYWwoVHJlZUJ1aWxkZXImKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUNsYXNzRXhw
cmVzc2lvbiBwYXJzZUNsYXNzRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUZ1
bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzeW5jRnVuY3Rpb25F
eHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVBcmd1bWVudHMgcGFyc2VBcmd1bWVudHMoVHJlZUJ1aWxkZXIm
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4
cHJlc3Npb24gcGFyc2VBcmd1bWVudChUcmVlQnVpbGRlciYsIEFyZ3VtZW50VHlwZSYpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHko
VHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVy
dHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5h
bWUsIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgaXNBc3luY01ldGhvZCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1
aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJP
clNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQsIGJvb2wgaXNDbGFzc1Byb3BlcnR5
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1
bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIFN5bnRheENoZWNrZXIm
LCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3Rvcktp
bmQsIFN1cGVyQmluZGluZywgRnVuY3Rpb25Cb2R5VHlwZSwgdW5zaWduZWQsIFNvdXJjZVBhcnNl
TW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIGJv
b2wgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiwgVHJlZUZvcm1hbFBhcmFtZXRl
ckxpc3QsIHVuc2lnbmVkJik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsg
Rm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9u
TGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVzdHJ1Y3R1cmluZ1Bh
dHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1Rl
eHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0
UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQsIERlY2xhcmF0aW9u
VHlwZSwgRXhwb3J0VHlwZSwgYm9vbCYgZm9yTG9vcENvbnN0RG9lc05vdEhhdmVJbml0aWFsaXpl
cik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMg
cGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhUcmVl
QnVpbGRlciYpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYsIGJvb2wgaXNBc3luYyk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9y
dFR5cGUsIGNvbnN0IElkZW50aWZpZXImLCBKU1Rva2VuLCBBc3NpZ25tZW50Q29udGV4dCwgY29u
c3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVh
dGVBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYsIFRyZWVFeHByZXNzaW9uJiwgY29uc3Qg
SlNUZXh0UG9zaXRpb24mLCBjb25zdCBKU1RleHRQb3NpdGlvbiYpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBw
YXJzZUJpbmRpbmdPckFzc2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBEZXN0
cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlk
ZW50aWZpZXIsIGJvb2wqIGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuLCBBc3NpZ25tZW50Q29udGV4
dCBiaW5kaW5nQ29udGV4dCwgaW50IGRlcHRoKTsKQEAgLTE0NjIsNiArMTU1NSwyMiBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gIW1fZXJyb3JNZXNzYWdlLmlzTnVsbCgpOwogICAgIH0KIAor
ICAgIGJvb2wgaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KGNvbnN0IEpTVG9rZW4mIHRva2Vu
KQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGBtX21vZHVsZVNjb3BlRGF0YS5nZXQoKSAhPSBu
dWxscHRyYCBpcyBub3QgYSB2YWxpZCBtZXRob2Qgb2YgZGV0ZXJtaW5pbmcgaWYgcGFyc2VyIGlz
IHBhcnNpbmcgYSBNb2R1bGUuCisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQg
JiYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNG
dW5jdGlvbkJvdW5kYXJ5KCkgfHwgbV9zY3JpcHRNb2RlID09IEpTUGFyc2VyU2NyaXB0TW9kZTo6
TW9kdWxlKTsKKyAgICB9CisKKyAgICBjb25zdCBjaGFyKiBkaXNhbGxvd2VkSWRlbnRpZmllckF3
YWl0UmVhc29uKCkKKyAgICB7CisgICAgICAgIGlmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0
IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKQorICAgICAgICAg
ICAgcmV0dXJuICJpbiBhbiBhc3luYyBmdW5jdGlvbiI7CisgICAgICAgIGlmIChtX3NjcmlwdE1v
ZGUgPT0gSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUpCisgICAgICAgICAgICByZXR1cm4gImlu
IGEgbW9kdWxlIjsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNl
UGhhc2UgeyBQYXJhbWV0ZXJzLCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAg
ICAgICAgaW50IGFzc2lnbm1lbnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU3OSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBG
dW5jdGlvblBhcnNlUGhhc2U6OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFz
dElkZW50aWZpZXIgeyBudWxscHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RG
dW5jdGlvbk5hbWUgeyBudWxscHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUg
fTsKICAgICB9OwogCiAgICAgLy8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBw
cm9iYWJseSBzaG91bGQgYmUgdXNpbmcKQEAgLTE1ODgsNyArMTY5OCw3IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGU+IG1fZnVuY3Rpb25DYWNoZTsKICAgICBTb3Vy
Y2VFbGVtZW50cyogbV9zb3VyY2VFbGVtZW50czsKICAgICBib29sIG1fcGFyc2luZ0J1aWx0aW47
Ci0gICAgSlNQYXJzZXJDb21tZW50TW9kZSBtX2NvbW1lbnRNb2RlOworICAgIEpTUGFyc2VyU2Ny
aXB0TW9kZSBtX3NjcmlwdE1vZGU7CiAgICAgU3VwZXJCaW5kaW5nIG1fc3VwZXJCaW5kaW5nOwog
ICAgIENvbnN0cnVjdG9yS2luZCBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CiAgICAgVmFyaWFi
bGVFbnZpcm9ubWVudCBtX3ZhckRlY2xhcmF0aW9uczsKQEAgLTE3MTgsNyArMTgyOCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBQYXJzZWROb2RlPgogc3RkOjp1bmlxdWVfcHRyPFBhcnNlZE5vZGU+IHBh
cnNlKAogICAgIFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLAogICAgIGNvbnN0IElk
ZW50aWZpZXImIG5hbWUsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsCi0gICAgSlNQ
YXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1v
ZGUsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcs
CisgICAgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBj
b21tZW50TW9kZSwgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSwgU3VwZXJCaW5kaW5nIHN1cGVy
QmluZGluZywKICAgICBQYXJzZXJFcnJvciYgZXJyb3IsIEpTVGV4dFBvc2l0aW9uKiBwb3NpdGlv
bkJlZm9yZUxhc3ROZXdsaW5lID0gbnVsbHB0ciwKICAgICBDb25zdHJ1Y3RvcktpbmQgZGVmYXVs
dENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgRGVyaXZlZENvbnRleHRU
eXBlIGRlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2ZWRDb250ZXh0VHlwZTo6Tm9uZSwgRXZhbENv
bnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAppbmRleCA5ZmQ3Yjc3ZGVh
YmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2Li44ZGJmY2M3NzkyNWYxMDU2ZjE5MmVhNDg5
Y2E4MTU4Yjk4NDk4ZDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJN
b2Rlcy5oCkBAIC0yNywxMyArMjcsMTQgQEAKICNpZm5kZWYgUGFyc2VyTW9kZXNfaAogI2RlZmlu
ZSBQYXJzZXJNb2Rlc19oCiAKKyNpbmNsdWRlICJDb25zdHJ1Y3RBYmlsaXR5LmgiCiAjaW5jbHVk
ZSAiSWRlbnRpZmllci5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAogZW51bSBjbGFzcyBKU1BhcnNl
clN0cmljdE1vZGUgeyBOb3RTdHJpY3QsIFN0cmljdCB9OwogZW51bSBjbGFzcyBKU1BhcnNlckJ1
aWx0aW5Nb2RlIHsgTm90QnVpbHRpbiwgQnVpbHRpbiB9OwotZW51bSBjbGFzcyBKU1BhcnNlckNv
bW1lbnRNb2RlIHsgQ2xhc3NpYywgTW9kdWxlIH07CitlbnVtIGNsYXNzIEpTUGFyc2VyU2NyaXB0
TW9kZSB7IENsYXNzaWMsIE1vZHVsZSB9OwogZW51bSBjbGFzcyBKU1BhcnNlckNvZGVUeXBlIHsg
UHJvZ3JhbSwgRnVuY3Rpb24sIE1vZHVsZSB9OwogCiBlbnVtIGNsYXNzIENvbnN0cnVjdG9yS2lu
ZCB7IE5vbmUsIEJhc2UsIEV4dGVuZHMgfTsKQEAgLTQzLDgwICs0NCwxMzAgQEAgZW51bSBEZWJ1
Z2dlck1vZGUgeyBEZWJ1Z2dlck9mZiwgRGVidWdnZXJPbiB9OwogCiBlbnVtIGNsYXNzIEZ1bmN0
aW9uTW9kZSB7IEZ1bmN0aW9uRXhwcmVzc2lvbiwgRnVuY3Rpb25EZWNsYXJhdGlvbiwgTWV0aG9k
RGVmaW5pdGlvbiB9OwogCi1lbnVtIGNsYXNzIFNvdXJjZVBhcnNlTW9kZSA6IHVpbnQ4X3Qgewot
ICAgIE5vcm1hbEZ1bmN0aW9uTW9kZSwKLSAgICBHZW5lcmF0b3JCb2R5TW9kZSwKLSAgICBHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAotICAgIEdldHRlck1vZGUsCi0gICAgU2V0dGVyTW9k
ZSwKLSAgICBNZXRob2RNb2RlLAotICAgIEFycm93RnVuY3Rpb25Nb2RlLAotICAgIFByb2dyYW1N
b2RlLAotICAgIE1vZHVsZUFuYWx5emVNb2RlLAotICAgIE1vZHVsZUV2YWx1YXRlTW9kZQorZW51
bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50MTZfdCB7CisgICAgTm9ybWFsRnVuY3Rpb25N
b2RlICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAwMDEsCisgICAgR2VuZXJhdG9yQm9keU1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAwMTAsCisgICAgR2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZSAgPSAwYjAwMDAwMDAwMDAwMDAxMDAsCisgICAgR2V0dGVyTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDEwMDAsCisgICAgU2V0dGVyTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMTAwMDAsCisgICAgTWV0aG9kTW9kZSAgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAxMDAwMDAsCisgICAgQXJyb3dGdW5jdGlvbk1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDEwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbkJv
ZHlNb2RlICAgICAgICAgPSAwYjAwMDAwMDAwMTAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0
aW9uQm9keU1vZGUgICAgPSAwYjAwMDAwMDAxMDAwMDAwMDAsCisgICAgQXN5bmNGdW5jdGlvbk1v
ZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDEwMDAwMDAwMDAsCisgICAgQXN5bmNNZXRob2RNb2Rl
ICAgICAgICAgICAgICAgPSAwYjAwMDAwMTAwMDAwMDAwMDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSAgICAgICAgPSAwYjAwMDAxMDAwMDAwMDAwMDAsCisgICAgUHJvZ3JhbU1vZGUgICAg
ICAgICAgICAgICAgICAgPSAwYjAwMDEwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlQW5hbHl6ZU1v
ZGUgICAgICAgICAgICAgPSAwYjAwMTAwMDAwMDAwMDAwMDAsCisgICAgTW9kdWxlRXZhbHVhdGVN
b2RlICAgICAgICAgICAgPSAwYjAxMDAwMDAwMDAwMDAwMDAsCiB9OwogCi1pbmxpbmUgYm9vbCBp
c0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCitjbGFzcyBTb3Vy
Y2VQYXJzZU1vZGVTZXQgeyAKK3B1YmxpYzogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gTW9k
ZXM+IAorICAgIFNvdXJjZVBhcnNlTW9kZVNldChNb2Rlcy4uLiBhcmdzKSAKKyAgICAgICAgOiBt
X21hc2sobWVyZ2VTb3VyY2VQYXJzZU1vZGVzKGFyZ3MuLi4pKSAKKyAgICB7IAorICAgIH0gCisK
KyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29udGFpbnMoU291cmNlUGFyc2VNb2RlIG1vZGUpIAor
ICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSkgJiBtX21h
c2s7IAorICAgIH0gCisKK3ByaXZhdGU6IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2ln
bmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSkgCisgICAgeyAK
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtb2RlKTsgCisgICAgfSAKKwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFJlc3Q+IAorICAgIEFMV0FZU19JTkxJTkUgc3RhdGlj
IHVuc2lnbmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhTb3VyY2VQYXJzZU1vZGUgbW9kZSwgUmVz
dC4uLiByZXN0KSAKKyAgICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KG1vZGUpIHwgbWVyZ2VTb3VyY2VQYXJzZU1vZGVzKHJlc3QuLi4pOyAKKyAgICB9IAorCisgICAg
Y29uc3QgdW5zaWduZWQgbV9tYXNrOyAKK307IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5j
dGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJu
IFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVu
Y3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6U2V0dGVyTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9k
ZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAg
ICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1
bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9u
Qm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29s
IGlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sg
CisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBhcnNlTW9k
ZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2Rl
LCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJvb2wgaXNBc3luY0Fycm93RnVu
Y3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVy
biBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJy
b3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUg
Ym9vbCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUg
Ym9vbCBpc0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1v
ZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30g
CisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc01ldGhvZFBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUg
cGFyc2VNb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVu
Y3Rpb25Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpQcm9ncmFtTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6
ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KAor
ICAgICAgICAvLyBGSVhNRTogR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSBpcyBub3QgZ3Vh
cmFudGVlZCB0byBiZSBhIG1ldGhvZC4KKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1v
ZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwKKyAgICAgICAgU291cmNl
UGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0
aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsKIH0KIAotaW5saW5lIGJvb2wgaXNNb2R1bGVQ
YXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNl
TW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1
cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6
Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpT
ZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19CitBTFdB
WVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAorfSAKIAotaW5saW5lIGJv
b2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAg
c3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5v
cm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1l
dGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZh
bHNlOworQUxXQVlTX0lOTElORSBib29sIGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1v
ZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZ
U19JTkxJTkUgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICBpZiAocGFyc2VNb2RlID09IFNvdXJj
ZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKSAKKyAgICAgICAgcmV0dXJuIENvbnN0cnVj
dEFiaWxpdHk6OkNhbkNvbnN0cnVjdDsKKworICAgIHJldHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpD
YW5ub3RDb25zdHJ1Y3Q7CiB9CiAKIGlubGluZSBib29sIGZ1bmN0aW9uTmFtZUlzSW5TY29wZShj
b25zdCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbk1vZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1
ZDc2M2FjZWY3OWM2OWNkMjhmODIzYzJhN2U4MC4uZDM4OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMw
MjQxYTUyZTY2MWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCkBAIC04Myw2ICs4Myw3IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIENMQVNTVE9L
RU4sCiAgICAgRVhURU5EUywKICAgICBTVVBFUiwKKyAgICBBV0FJVCwKICAgICBPUEVOQlJBQ0Ug
PSAwLAogICAgIENMT1NFQlJBQ0UsCiAgICAgT1BFTlBBUkVOLApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlS2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZUNvZGVLZXkuaAppbmRleCBlZDY0OWJjNmEzZTdlZDM2MGNhNGY3
ZGZiZTJmNTBiMWY4NjFlZTFmLi4xNjI1YTA2NDMwNjQ0YzBhMjFjYTQxYTczZWNlYzFhZDkyNGMy
NDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGVL
ZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGVLZXkuaApA
QCAtMzksNyArMzksNyBAQCBjbGFzcyBTb3VyY2VDb2RlRmxhZ3MgewogcHVibGljOgogICAgIFNv
dXJjZUNvZGVGbGFncygpID0gZGVmYXVsdDsKIAotICAgIFNvdXJjZUNvZGVGbGFncyhTb3VyY2VD
b2RlVHlwZSBjb2RlVHlwZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJz
ZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUs
IERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4dFR5cGUsIEV2YWxDb250ZXh0VHlwZSBl
dmFsQ29udGV4dFR5cGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKKyAgICBTb3VyY2VD
b2RlRmxhZ3MoU291cmNlQ29kZVR5cGUgY29kZVR5cGUsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVp
bHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlclNjcmlwdE1v
ZGUgY29tbWVudE1vZGUsIERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4dFR5cGUsIEV2
YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4
dCkKICAgICAgICAgOiBtX2ZsYWdzKAogICAgICAgICAgICAgKHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihjb21tZW50TW9kZSkgPDwgOCkgfAogICAgICAgICAgICAgKHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihpc0Fycm93RnVuY3Rpb25Db250ZXh0KSA8PCA3KSB8CkBAIC02Nyw3ICs2Nyw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgfQogCi0gICAgU291cmNlQ29kZUtleShjb25zdCBTb3VyY2VDb2RlJiBz
b3VyY2VDb2RlLCBjb25zdCBTdHJpbmcmIG5hbWUsIFNvdXJjZUNvZGVUeXBlIGNvZGVUeXBlLCBK
U1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1vZGUgc3RyaWN0
TW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSwgRGVyaXZlZENvbnRleHRUeXBl
IGRlcml2ZWRDb250ZXh0VHlwZSwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSwgYm9v
bCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQorICAgIFNvdXJjZUNvZGVLZXkoY29uc3QgU291cmNl
Q29kZSYgc291cmNlQ29kZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBTb3VyY2VDb2RlVHlwZSBjb2Rl
VHlwZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2Rl
IHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBjb21tZW50TW9kZSwgRGVyaXZlZENvbnRl
eHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlw
ZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQogICAgICAgICA6IG1fc291cmNlQ29kZShz
b3VyY2VDb2RlKQogICAgICAgICAsIG1fbmFtZShuYW1lKQogICAgICAgICAsIG1fZmxhZ3MoY29k
ZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwgZGVyaXZlZENvbnRl
eHRUeXBlLCBldmFsQ29udGV4dFR5cGUsIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDFjMGQxOGVkODcx
YTcyMTQ4MGZlYTgyMTIwOGEyNzdmYTJkODI2ODYuLjVhYzY1YWJkMDQ1NWZlZjY3ODFiNjRhMDcz
ZWJkOTI1MmEzY2RlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQ2xhdXNlTGlzdFJl
c3VsdCwgQ29tbWFFeHByLCBEZXN0cnVjdHVyaW5nQXNzaWdubWVudCwKICAgICAgICAgVGVtcGxh
dGVTdHJpbmdSZXN1bHQsIFRlbXBsYXRlU3RyaW5nTGlzdFJlc3VsdCwKICAgICAgICAgVGVtcGxh
dGVFeHByZXNzaW9uTGlzdFJlc3VsdCwgVGVtcGxhdGVFeHByLAotICAgICAgICBUYWdnZWRUZW1w
bGF0ZUV4cHIsIFlpZWxkRXhwciwKKyAgICAgICAgVGFnZ2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4
cHIsIEF3YWl0RXhwciwKICAgICAgICAgTW9kdWxlTmFtZVJlc3VsdCwKICAgICAgICAgSW1wb3J0
U3BlY2lmaWVyUmVzdWx0LCBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0LAogICAgICAgICBFeHBv
cnRTcGVjaWZpZXJSZXN1bHQsIEV4cG9ydFNwZWNpZmllckxpc3RSZXN1bHQKQEAgLTE4Miw4ICsx
ODIsMTAgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUVtcHR5TGV0RXhwcmVz
c2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4g
QXNzaWdubWVudEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBK
U1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBZaWVsZEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgYm9v
bCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gWWllbGRFeHByOyB9CisgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGlu
dCwgaW50LCBpbnQpIHsgcmV0dXJuIEF3YWl0RXhwcjsgfQogICAgIENsYXNzRXhwcmVzc2lvbiBj
cmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyQ2xhc3NJ
bmZvPFN5bnRheENoZWNrZXI+JiwgVmFyaWFibGVFbnZpcm9ubWVudCYsIEV4cHJlc3Npb25UeXBl
LCBFeHByZXNzaW9uVHlwZSwgUHJvcGVydHlMaXN0LCBQcm9wZXJ0eUxpc3QpIHsgcmV0dXJuIENs
YXNzRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBc3lu
Y0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlv
bkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQg
Y3JlYXRlRnVuY3Rpb25NZXRhZGF0YShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JL
aW5kLCBTdXBlckJpbmRpbmcsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wsIElubmVy
QXJyb3dGdW5jdGlvbkNvZGVGZWF0dXJlcyA9IE5vSW5uZXJBcnJvd0Z1bmN0aW9uRmVhdHVyZXMp
IHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4g
RnVuY3Rpb25FeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db2RlQ2FjaGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hl
LmNwcAppbmRleCAwZjUzNzlhZDI1ZmI2MmY2OTVjYjNiMmI5ZTg4Zjg3MWJiZDg0N2MyLi5mMTQ3
ZWQzYWQxOGNjNTU3YWIyNTk5NmRiNjUwYWMzYmMxYjgyMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKQEAgLTgxLDExICs4MSwxMSBAQCB0ZW1wbGF0
ZSA8PiBzdHJ1Y3QgQ2FjaGVUeXBlczxVbmxpbmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2s+IHsK
IH07CiAKIHRlbXBsYXRlIDxjbGFzcyBVbmxpbmtlZENvZGVCbG9ja1R5cGUsIGNsYXNzIEV4ZWN1
dGFibGVUeXBlPgotVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENv
ZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGVjdXRhYmxlLCBjb25zdCBTb3VyY2VD
b2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2VyU3Ry
aWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBEZWJ1
Z2dlck1vZGUgZGVidWdnZXJNb2RlLCBQYXJzZXJFcnJvciYgZXJyb3IsIEV2YWxDb250ZXh0VHlw
ZSBldmFsQ29udGV4dFR5cGUsIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQqIHZhcmlhYmxlc1Vu
ZGVyVERaKQorVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVC
bG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGVjdXRhYmxlLCBjb25zdCBTb3VyY2VDb2Rl
JiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0
TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlclNjcmlwdE1vZGUgc2NyaXB0TW9kZSwgRGVidWdnZXJN
b2RlIGRlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVycm9yLCBFdmFsQ29udGV4dFR5cGUgZXZh
bENvbnRleHRUeXBlLCBjb25zdCBWYXJpYWJsZUVudmlyb25tZW50KiB2YXJpYWJsZXNVbmRlclRE
WikKIHsKICAgICBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlID0gZXhlY3V0
YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCk7CiAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250
ZXh0ID0gZXhlY3V0YWJsZS0+aXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpOwotICAgIFNvdXJjZUNv
ZGVLZXkga2V5KHNvdXJjZSwgU3RyaW5nKCksIENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxvY2tU
eXBlPjo6Y29kZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwgZGVy
aXZlZENvbnRleHRUeXBlLCBldmFsQ29udGV4dFR5cGUsIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQp
OworICAgIFNvdXJjZUNvZGVLZXkga2V5KHNvdXJjZSwgU3RyaW5nKCksIENhY2hlVHlwZXM8VW5s
aW5rZWRDb2RlQmxvY2tUeXBlPjo6Y29kZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBz
Y3JpcHRNb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1
bmN0aW9uQ29udGV4dCk7CiAgICAgU291cmNlQ29kZVZhbHVlKiBjYWNoZSA9IG1fc291cmNlQ29k
ZS5maW5kQ2FjaGVBbmRVcGRhdGVBZ2Uoa2V5KTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGRv
IHNvbWV0aGluZyBzbWFydCBmb3IgVERaIGluc3RlYWQgb2YganVzdCBkaXNhYmxpbmcgY2FjaGlu
Zy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDEw
CkBAIC0xMDQsNyArMTA0LDcgQEAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6Omdl
dEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGUKICAgICB9CiAgICAg
dHlwZWRlZiB0eXBlbmFtZSBDYWNoZVR5cGVzPFVubGlua2VkQ29kZUJsb2NrVHlwZT46OlJvb3RO
b2RlIFJvb3ROb2RlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSb290Tm9kZT4gcm9vdE5vZGUgPSBw
YXJzZTxSb290Tm9kZT4oCi0gICAgICAgICZ2bSwgc291cmNlLCBJZGVudGlmaWVyKCksIGJ1aWx0
aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwgQ2FjaGVUeXBlczxVbmxpbmtlZENvZGVC
bG9ja1R5cGU+OjpwYXJzZU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvciwgbnVs
bHB0ciwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250
ZXh0VHlwZSk7CisgICAgICAgICZ2bSwgc291cmNlLCBJZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2Rl
LCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBDYWNoZVR5cGVzPFVubGlua2VkQ29kZUJsb2NrVHlw
ZT46OnBhcnNlTW9kZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGVycm9yLCBudWxscHRyLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGRlcml2ZWRDb250ZXh0VHlwZSwgZXZhbENvbnRleHRUeXBl
KTsKICAgICBpZiAoIXJvb3ROb2RlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtMTM2
LDE4ICsxMzYsMTggQEAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2Jh
bENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGUKIFVubGlua2VkUHJvZ3JhbUNv
ZGVCbG9jayogQ29kZUNhY2hlOjpnZXRQcm9ncmFtQ29kZUJsb2NrKFZNJiB2bSwgUHJvZ3JhbUV4
ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJC
dWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIERl
YnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiBlcnJvcikKIHsKICAgICBWYXJp
YWJsZUVudmlyb25tZW50IGVtcHR5UGFyZW50VERaVmFyaWFibGVzOwotICAgIHJldHVybiBnZXRH
bG9iYWxDb2RlQmxvY2s8VW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrPih2bSwgZXhlY3V0YWJsZSwg
c291cmNlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZTo6Q2xh
c3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgRXZhbENvbnRleHRUeXBlOjpOb25lLCAmZW1wdHlQ
YXJlbnRURFpWYXJpYWJsZXMpOworICAgIHJldHVybiBnZXRHbG9iYWxDb2RlQmxvY2s8VW5saW5r
ZWRQcm9ncmFtQ29kZUJsb2NrPih2bSwgZXhlY3V0YWJsZSwgc291cmNlLCBidWlsdGluTW9kZSwg
c3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBkZWJ1Z2dlck1vZGUsIGVy
cm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZlbXB0eVBhcmVudFREWlZhcmlhYmxlcyk7CiB9
CiAKIFVubGlua2VkRXZhbENvZGVCbG9jayogQ29kZUNhY2hlOjpnZXRFdmFsQ29kZUJsb2NrKFZN
JiB2bSwgRXZhbEV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0
cmljdE1vZGUsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiBlcnJvciwg
RXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSwgY29uc3QgVmFyaWFibGVFbnZpcm9ubWVu
dCogdmFyaWFibGVzVW5kZXJURFopCiB7Ci0gICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxV
bmxpbmtlZEV2YWxDb2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2Rl
LCBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBkZWJ1Z2dlck1vZGUs
IGVycm9yLCBldmFsQ29udGV4dFR5cGUsIHZhcmlhYmxlc1VuZGVyVERaKTsKKyAgICByZXR1cm4g
Z2V0R2xvYmFsQ29kZUJsb2NrPFVubGlua2VkRXZhbENvZGVCbG9jaz4odm0sIGV4ZWN1dGFibGUs
IHNvdXJjZSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZTo6Q2xh
c3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgZXZhbENvbnRleHRUeXBlLCB2YXJpYWJsZXNVbmRl
clREWik7CiB9CiAKIFVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jayogQ29kZUNhY2hlOjpn
ZXRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKFZNJiB2bSwgTW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9k
ZSBidWlsdGluTW9kZSwgRGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVy
cm9yKQogewogICAgIFZhcmlhYmxlRW52aXJvbm1lbnQgZW1wdHlQYXJlbnRURFpWYXJpYWJsZXM7
Ci0gICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxVbmxpbmtlZE1vZHVsZVByb2dyYW1Db2Rl
QmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmlj
dE1vZGU6OlN0cmljdCwgSlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxlLCBkZWJ1Z2dlck1vZGUs
IGVycm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZlbXB0eVBhcmVudFREWlZhcmlhYmxlcyk7
CisgICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxVbmxpbmtlZE1vZHVsZVByb2dyYW1Db2Rl
QmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmlj
dE1vZGU6OlN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUsIGRlYnVnZ2VyTW9kZSwg
ZXJyb3IsIEV2YWxDb250ZXh0VHlwZTo6Tm9uZSwgJmVtcHR5UGFyZW50VERaVmFyaWFibGVzKTsK
IH0KIAogLy8gRklYTUU6IFRoZXJlJ3Mgbm8gbmVlZCB0byBhZGQgdGhlIGZ1bmN0aW9uJ3MgbmFt
ZSB0byB0aGUga2V5IGhlcmUuIEl0J3MgYWxyZWFkeSBpbiB0aGUgc291cmNlIGNvZGUuCkBAIC0x
NTgsNyArMTU4LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0
RnVuY3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHYKICAgICAgICAgc291cmNlLCBu
YW1lLnN0cmluZygpLCBTb3VyY2VDb2RlVHlwZTo6RnVuY3Rpb25UeXBlLAogICAgICAgICBKU1Bh
cnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAogICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6
Ok5vdFN0cmljdCwKLSAgICAgICAgSlNQYXJzZXJDb21tZW50TW9kZTo6Q2xhc3NpYywKKyAgICAg
ICAgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLAogICAgICAgICBEZXJpdmVkQ29udGV4dFR5
cGU6Ok5vbmUsCiAgICAgICAgIEV2YWxDb250ZXh0VHlwZTo6Tm9uZSwKICAgICAgICAgaXNBcnJv
d0Z1bmN0aW9uQ29udGV4dCk7CkBAIC0xNzMsNyArMTczLDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUo
Vk0mIHYKICAgICBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3JhbSA9IHBhcnNlPFByb2dyYW1Ob2Rl
PigKICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9k
ZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpT
UGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAorICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5v
dFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlBy
b2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKICAgICAgICAgZXJyb3IsICZwb3Np
dGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoZXJyb3IuaXNWYWxpZCgpKTsKQEAgLTIwMiw3ICsyMDIsNyBAQCBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9t
R2xvYmFsQ29kZShWTSYgdgogICAgIG1ldGFkYXRhLT5zZXRFbmRQb3NpdGlvbihwb3NpdGlvbkJl
Zm9yZUxhc3ROZXdsaW5lKTsKICAgICAvLyBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3Igb25seSBo
YXMgYWNjZXNzIHRvIGdsb2JhbCB2YXJpYWJsZXMsIHNvIG5vIHZhcmlhYmxlcyB3aWxsIGJlIHVu
ZGVyIFREWi4KICAgICBWYXJpYWJsZUVudmlyb25tZW50IGVtcHR5VERaVmFyaWFibGVzOwotICAg
IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKCZ2bSwgc291cmNlLCBtZXRhZGF0YSwgVW5saW5r
ZWROb3JtYWxGdW5jdGlvbiwgQ29uc3RydWN0QWJpbGl0eTo6Q2FuQ29uc3RydWN0LCBKU1BhcnNl
ckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBlbXB0eVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRU
eXBlOjpOb25lKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeGVj
dXRhYmxlID0gVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OmNyZWF0ZSgmdm0sIHNvdXJjZSwg
bWV0YWRhdGEsIFVubGlua2VkTm9ybWFsRnVuY3Rpb24sIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNv
bnN0cnVjdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBlbXB0eVREWlZhcmlhYmxlcywg
RGVyaXZlZENvbnRleHRUeXBlOjpOb25lKTsKIAogICAgIGZ1bmN0aW9uRXhlY3V0YWJsZS0+c2V0
U291cmNlVVJMRGlyZWN0aXZlKHNvdXJjZS5wcm92aWRlcigpLT5zb3VyY2VVUkwoKSk7CiAgICAg
ZnVuY3Rpb25FeGVjdXRhYmxlLT5zZXRTb3VyY2VNYXBwaW5nVVJMRGlyZWN0aXZlKHNvdXJjZS5w
cm92aWRlcigpLT5zb3VyY2VNYXBwaW5nVVJMKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2RlQ2FjaGUuaAppbmRleCAzMmI0MWRlZTA1NWVmMjMxODczODZlNzExM2RhNWM1NjNh
Y2VlN2Y0Li5mNWIwYjIxNmIyMWIwMzE0YWZmNzJlMWZiNjcyOTJiNDI4NjEwYWU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaApAQCAtMTk5LDcgKzE5OSw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVW5saW5rZWRDb2RlQmxv
Y2tUeXBlLCBjbGFzcyBFeGVjdXRhYmxlVHlwZT4gCi0gICAgVW5saW5rZWRDb2RlQmxvY2tUeXBl
KiBnZXRHbG9iYWxDb2RlQmxvY2soVk0mLCBFeGVjdXRhYmxlVHlwZSosIGNvbnN0IFNvdXJjZUNv
ZGUmLCBKU1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1vZGUsIEpTUGFyc2VyQ29t
bWVudE1vZGUsIERlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImLCBFdmFsQ29udGV4dFR5cGUsIGNv
bnN0IFZhcmlhYmxlRW52aXJvbm1lbnQqKTsKKyAgICBVbmxpbmtlZENvZGVCbG9ja1R5cGUqIGdl
dEdsb2JhbENvZGVCbG9jayhWTSYsIEV4ZWN1dGFibGVUeXBlKiwgY29uc3QgU291cmNlQ29kZSYs
IEpTUGFyc2VyQnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRN
b2RlLCBEZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiwgRXZhbENvbnRleHRUeXBlLCBjb25zdCBW
YXJpYWJsZUVudmlyb25tZW50Kik7CiAKICAgICBDb2RlQ2FjaGVNYXAgbV9zb3VyY2VDb2RlOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBjYmMwZmY1NzExZjEuLjczODlm
OWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtMTA5LDYgKzEwOSw3
IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8oYXMpIFwKICAgICBtYWNybyhh
c3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3JvKGJhY2spIFwKICAgICBtYWNy
byhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYgKzI3Miw3IEBACiAgICAgbWFj
cm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJTX0VBQ0hfS0VZV09SRCht
YWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8oYnJlYWspIFwKICAgICBtYWNy
byhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tcGxldGlvbi5jcHAKaW5kZXggOTU0ODcwNmY0ZDYxNTgxZDBiNGRmMzdjYjZjZWVm
OTYwNmQyOTM4Ni4uODYwOWMzMzk1ZjA4MGY0MjRhNDNkMTAwZDViZTg2MmQ2Y2JlYWNlOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKQEAgLTY1LDcg
KzY1LDcgQEAgYm9vbCBjaGVja1N5bnRheChWTSYgdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogICAgIFJFTEVBU0VfQVNTRVJUKHZtLmF0b21pY1N0cmlu
Z1RhYmxlKCkgPT0gd3RmVGhyZWFkRGF0YSgpLmF0b21pY1N0cmluZ1RhYmxlKCkpOwogICAgIHJl
dHVybiAhIXBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZp
ZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJT
dHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFNvdXJj
ZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7
CisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlclNjcmlwdE1v
ZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6
Tm90TmVlZGVkLCBlcnJvcik7CiB9CiAKIGJvb2wgY2hlY2tNb2R1bGVTeW50YXgoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcnNlckVycm9yJiBlcnJvcikKQEAg
LTc1LDcgKzc1LDcgQEAgYm9vbCBjaGVja01vZHVsZVN5bnRheChFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGUKICAgICBSRUxFQVNFX0FTU0VS
VCh2bS5hdG9taWNTdHJpbmdUYWJsZSgpID09IHd0ZlRocmVhZERhdGEoKS5hdG9taWNTdHJpbmdU
YWJsZSgpKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kdWxlUHJvZ3JhbU5vZGU+IG1vZHVsZVBy
b2dyYW1Ob2RlID0gcGFyc2U8TW9kdWxlUHJvZ3JhbU5vZGU+KAogICAgICAgICAmdm0sIHNvdXJj
ZSwgSWRlbnRpZmllcigpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAotICAgICAg
ICBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxl
LCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJz
ZXJTY3JpcHRNb2RlOjpNb2R1bGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CiAgICAgaWYgKCFtb2R1bGVQcm9ncmFt
Tm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuY3BwCmluZGV4IDZiNzgyOGE4Njg1ODEzNjE5OGRhNWFkMGJmMTcw
ZjdlYmEzZmU4MGQuLjM4Yjc1ODZkZDdjYjU5OWY5ZGY5NDNhZmRlMWE5NDEyZTk5NzA5NzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCkBAIC01NzMs
NyArNTczLDcgQEAgSlNPYmplY3QqIFByb2dyYW1FeGVjdXRhYmxlOjpjaGVja1N5bnRheChFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2dyYW1O
b2RlPiBwcm9ncmFtTm9kZSA9IHBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgdm0sIG1fc291
cmNlLCBJZGVudGlmaWVyKCksIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sCi0gICAg
ICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpD
bGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQ
YXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBT
dXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOwogICAgIGlmIChwcm9ncmFtTm9kZSkKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgQVNTRVJUKGVycm9yLmlzVmFsaWQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKaW5kZXggYWM4YWI2ZmQwYmUzMTY4ODBj
M2U0MDBmMmJiYjUzNmFjMjk4YjI2NS4uYTVjYWVlMjNjMDg3OGMyZDA2ZWIyZmFlNDdlODE0ZTIz
MzYyZWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaApA
QCAtNDQ2LDcgKzQ0Niw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgREVDTEFSRV9JTkZPOwog
Ci0gICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVj
dXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFN1cGVyQmlu
ZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29u
dGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgZXZhbENvbnRleHRU
eXBlKCkpOyB9CisgICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJl
dHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFsc2UsIGZh
bHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0TW9kZTo6Q2xhc3NpYywg
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIGRl
cml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBldmFs
Q29udGV4dFR5cGUoKSk7IH0KIAogICAgIHVuc2lnbmVkIG51bVZhcmlhYmxlcygpIHsgcmV0dXJu
IG1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLT5udW1WYXJpYWJsZXMoKTsgfQogICAgIHVuc2lnbmVk
IG51bWJlck9mRnVuY3Rpb25EZWNscygpIHsgcmV0dXJuIG1fdW5saW5rZWRFdmFsQ29kZUJsb2Nr
LT5udW1iZXJPZkZ1bmN0aW9uRGVjbHMoKTsgfQpAQCAtNTAwLDcgKzUwMCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogCi0gICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0
YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0
cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2Vy
Q29tbWVudE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJz
ZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9u
Q29udGV4dCgpLCBmYWxzZSwgRXZhbENvbnRleHRUeXBlOjpOb25lKTsgfQorICAgIEV4ZWN1dGFi
bGVJbmZvIGV4ZWN1dGFibGVJbmZvKCkgY29uc3QgeyByZXR1cm4gRXhlY3V0YWJsZUluZm8odXNl
c0V2YWwoKSwgaXNTdHJpY3RNb2RlKCksIGZhbHNlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVk
LCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgaXNB
cnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgRXZhbENvbnRleHRUeXBlOjpOb25lKTsgfQog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTU0MSw3ICs1
NDEsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLSAgICBFeGVjdXRhYmxlSW5m
byBleGVjdXRhYmxlSW5mbygpIGNvbnN0IHsgcmV0dXJuIEV4ZWN1dGFibGVJbmZvKHVzZXNFdmFs
KCksIGlzU3RyaWN0TW9kZSgpLCBmYWxzZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
SlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgU291
cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBp
c0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUpOyB9
CisgICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVj
dXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0TW9kZTo6TW9kdWxlLCBTdXBlckJpbmRp
bmc6Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUsIGRlcml2
ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBFdmFsQ29u
dGV4dFR5cGU6Ok5vbmUpOyB9CiAKICAgICBVbmxpbmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2sq
IHVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jaygpIHsgcmV0dXJuIG1fdW5saW5rZWRNb2R1
bGVQcm9ncmFtQ29kZUJsb2NrLmdldCgpOyB9CiAKQEAgLTY2Myw3ICs2NjMsNyBAQCBwdWJsaWM6
CiAgICAgY29uc3QgSWRlbnRpZmllciYgaW5mZXJyZWROYW1lKCkgeyByZXR1cm4gbV91bmxpbmtl
ZEV4ZWN1dGFibGUtPmluZmVycmVkTmFtZSgpOyB9CiAgICAgc2l6ZV90IHBhcmFtZXRlckNvdW50
KCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPnBhcmFtZXRlckNvdW50KCk7
IH0gLy8gRXhjbHVkaW5nICd0aGlzJyEKICAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPnBhcnNlTW9kZSgpOyB9Ci0gICAg
SlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5saW5r
ZWRFeGVjdXRhYmxlLT5jb21tZW50TW9kZSgpOyB9CisgICAgSlNQYXJzZXJTY3JpcHRNb2RlIGNv
bW1lbnRNb2RlKCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPmNvbW1lbnRN
b2RlKCk7IH0KICAgICBjb25zdCBTb3VyY2VDb2RlJiBjbGFzc1NvdXJjZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdW5saW5rZWRFeGVjdXRhYmxlLT5jbGFzc1NvdXJjZSgpOyB9CiAKICAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Nb2R1bGVMb2FkZXJQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTW9kdWxlTG9hZGVyUHJvdG90eXBlLmNwcApp
bmRleCBhMmRhNWZhNTkzYzhhOWU4Mjk1NTU5MjlkOWJmMThjMjBjN2I0NWM0Li5hNTVmNDA0NDZh
Y2UxMGE3NjI5ZGU1YjVmOTM4NmRhZTU1NDJjN2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Nb2R1bGVMb2FkZXJQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01vZHVsZUxvYWRlclByb3RvdHlwZS5jcHAKQEAgLTEyNiw3
ICsxMjYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1vZHVsZUxvYWRlclByb3Rv
dHlwZVBhcnNlTW9kdWxlKEV4ZWNTdGF0ZSogZXhlYykKICAgICBQYXJzZXJFcnJvciBlcnJvcjsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kdWxlUHJvZ3JhbU5vZGU+IG1vZHVsZVByb2dyYW1Ob2Rl
ID0gcGFyc2U8TW9kdWxlUHJvZ3JhbU5vZGU+KAogICAgICAgICAmdm0sIHNvdXJjZUNvZGUsIElk
ZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQ
YXJzZXJTdHJpY3RNb2RlOjpTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6Ok1vZHVsZSwgU291
cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQs
IGVycm9yKTsKKyAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpTdHJpY3QsIEpTUGFyc2VyU2Ny
aXB0TW9kZTo6TW9kdWxlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOwogCiAgICAgaWYgKGVycm9yLmlzVmFsaWQoKSkg
ewogICAgICAgICB0aHJvd1ZNRXJyb3IoZXhlYywgc2NvcGUsIGVycm9yLnRvRXJyb3JPYmplY3Qo
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzb3VyY2VDb2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURl
ZmluZXMuaAppbmRleCA5ZTljZjQ0MGY4NDRjY2U4MDc2NjY3ODkzOTNmMjViYzQ2MjE2NGRhLi4w
NjA1YzE1MWY4OTEyMTUzMDJkZGUwMDk2NDRlMDA0MWQ4YzU2M2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVE
ZWZpbmVzLmgKQEAgLTM2MCw2ICszNjAsMTAgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxs
IGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNk
ZWZpbmUgRU5BQkxFX0VTNl9NT0RVTEVTIDAKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxF
X0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyNkZWZpbmUgRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCAwCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9DT05URU5U
X0VYVEVOU0lPTlMpCiAjZGVmaW5lIEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMgMAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIu
LmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsK
IEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X01PRFVMRVMgPSA7CitFTkFCTEVfRVMy
MDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nk
az1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWlwaG9uZSpdID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1t
YWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBF
TkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVOQUJMRV9GVExfSklUOwogCiBFTkFCTEVf
Q1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9FTEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQ
UExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1B
VElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJM
RV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFC
TEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9S
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVH
QUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFE
QUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRVMy
MDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQo
RU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZj
NzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUw
OWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VT
Nl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBF
TkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01f
RUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dS
SVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZjZj
OTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIy
Yzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9T
WU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPWFwcGxldHYqXSA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25lKl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdbc2RrPW1hY29zeCpdID0gRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1p
cGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMgPSBF
TkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FUzZfTU9EVUxF
UykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVO
VFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJ
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9O
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggYzcxZTVhNzZiOGViNTk5NTgxY2Q4OGNkMzAwNjAz
ZmUzZTQxYjNiYS4uYjM3M2MwNTY2MjVmZTY0YWU1NmYyZTY2MTZjNTI3Nzc0YmFjZGVkYSAxMDA2
NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTEzLDYgKzExMyw3IEBAIG1hY3JvKFdFQktJ
VF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSAiVG9nZ2xlIEVNRSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyICJTdXBwb3J0IEVNRSB2MiIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9NT0RVTEVTICJU
b2dnbGUgRVM2IG1vZHVsZXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTMjAx
NyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0ZFVENIX0FQSSAiVG9nZ2xlIEZldGNoIEFQSSBzdXBwb3J0IiBQUklW
QVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIg
IlRvZ2dsZSBGaWx0ZXJzIE1vZHVsZSBMZXZlbCAyIiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUyAiVG9nZ2xlIEZvbnQgTG9hZCBF
dmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTk0OWJjZDVlNmUyMGU0ZWQwN2YyYzk0ZDFkODY3YjNk
OTQxYzQwZC4uZGUxOGJjNWE5N2JiZjg3NTVjZjViNjNhZWNhYjJiMTQzMDM4NTZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE2LTA5LTIxICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvYnVpbGQt
anNjOgorICAgICAgICAoY01ha2VBcmdzRnJvbUZlYXR1cmVzKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wOS0yMSAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjIwNjIyMiBhbmQgcjIwNjIyNy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKaW5kZXggMjM0NzdhZmI1MGRm
OWIwOTdlYjQyZjdiNDJkM2E1NzI3MDVmYjYwYS4uMWUzZmQ4ZDAwN2RmYjA1MGU0YjYyNmRkZmI0
NzM1MDZhNTgyMjQ5YSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKKysrIGIv
VG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKQEAgLTMzLDEzICszMywxNiBAQCB1c2UgRmluZEJpbjsK
IHVzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNzX3Rocm91Z2gpOwogdXNlIGxpYiAkRmlu
ZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7Cit1c2Ugd2Via2l0cGVybDo6RmVhdHVyZUxpc3Qg
cXcoZ2V0RmVhdHVyZU9wdGlvbkxpc3QpOwogdXNlIFBPU0lYOwogCitzdWIgY01ha2VBcmdzRnJv
bUZlYXR1cmVzKCk7CiBzdWIgd3JpdGVDb25ncmF0cygpOwogCiBwcm9oaWJpdFVua25vd25Qb3J0
KCk7CiAKIG15ICRzaG91bGRSdW5TdGF0aWNBbmFseXplciA9IDA7CitteSAkbWluaW1hbCA9IDA7
CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICRzaG93SGVscCA9IDA7CiBteSAkZnRsSklU
ID0gaW50KGlzQXBwbGVNYWNXZWJLaXQoKSAmJiAhd2lsbFVzZUlPU1NpbXVsYXRvclNESygpIHx8
IGlzWDg2XzY0KCkgJiYgKGlzR3RrKCkgfHwgaXNFZmwoKSB8fCBpc0pTQ09ubHkoKSkpOwpAQCAt
NTAsNiArNTMsMjAgQEAgbXkgQGNtYWtlQXJnczsKIG15ICRjb3B5TGlicmFyaWVzID0gMTsKIG15
ICRzdGFydFRpbWUgPSB0aW1lKCk7CiAKK215IEBmZWF0dXJlcyA9IGdldEZlYXR1cmVPcHRpb25M
aXN0KCk7CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJvbSBkZWZhdWx0cworZm9yZWFjaCAoQEFS
R1YpIHsKKyAgICBpZiAoJF8gZXEgJy0tbWluaW1hbCcpIHsKKyAgICAgICAgJG1pbmltYWwgPSAx
OworICAgIH0KK30KKworIyBJbml0aWFsaXplIHZhbHVlcyBmcm9tIGRlZmF1bHRzCitmb3JlYWNo
IChAZmVhdHVyZXMpIHsKKyAgICAkeyRfLT57dmFsdWV9fSA9ICgkbWluaW1hbCA/IDAgOiAkXy0+
e2RlZmF1bHR9KTsKK30KKwogIyBBZGRpdGlvbmFsIGVudmlyb25tZW50IHBhcmFtZXRlcnMKIHB1
c2ggQEFSR1YsIHNwbGl0KC8gLywgJEVOVnsnQlVJTERfSlNDX0FSR1MnfSkgaWYgKCRFTlZ7J0JV
SUxEX0pTQ19BUkdTJ30pOwogCkBAIC02Nyw3ICs4NCw3IEBAIFVzYWdlOiAkcHJvZ3JhbU5hbWUg
W29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVpbGQgc3lzdGVtXQogICAtLWNtYWtlYXJn
cz08YXJndW1lbnRzPiAgICAgICBPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5n
LiAtLWNtYWtlYXJncz0iLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbCIp
CiBFT0YKIAotR2V0T3B0aW9ucygKK215ICVvcHRpb25zID0gKAogICAgICdhbmFseXplIScgPT4g
XCRzaG91bGRSdW5TdGF0aWNBbmFseXplciwKICAgICAnY292ZXJhZ2UhJyA9PiBcJGNvdmVyYWdl
U3VwcG9ydCwKICAgICAnaGVscCcgPT4gXCRzaG93SGVscCwKQEAgLTc5LDYgKzk2LDE2IEBAIEdl
dE9wdGlvbnMoCiAgICAgJ2NtYWtlYXJncz1zJyA9PiBcQGNtYWtlQXJncwogKTsKIAorZm9yZWFj
aCAoQGZlYXR1cmVzKSB7CisgICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgbXkg
JG9wdCA9IHNwcmludGYoIiUtMzVzIiwgIiAgLS1bbm8tXSRfLT57b3B0aW9ufSIpOworICAgICAg
ICAkdXNhZ2UgLj0gIiRvcHQgJF8tPntkZXNjfSAoZGVmYXVsdDogJF8tPntkZWZhdWx0fSlcbiI7
CisgICAgICAgICRvcHRpb25zeyIkXy0+e29wdGlvbn0hIn0gPSAkXy0+e3ZhbHVlfTsKKyAgICB9
Cit9CisKK0dldE9wdGlvbnMoJW9wdGlvbnMpOworCiBpZiAoJHNob3dIZWxwKSB7CiAgICBwcmlu
dCBTVERFUlIgJHVzYWdlOwogICAgZXhpdCAxOwpAQCAtMTA0LDYgKzEzMSw4IEBAIGlmIChpc0NN
YWtlQnVpbGQoKSkgewogICAgIHB1c2ggQGNtYWtlQXJncywgJGZvcmNlQ0xvb3AgPyAiIC1ERU5B
QkxFX0pJVD1PRkYiIDogIiAtREVOQUJMRV9KSVQ9T04iOwogICAgIHB1c2ggQGNtYWtlQXJncywg
JGZ0bEpJVCA/ICIgLURFTkFCTEVfRlRMX0pJVD1PTiIgOiAiIC1ERU5BQkxFX0ZUTF9KSVQ9T0ZG
IjsKIAorICAgIG15IEBmZWF0dXJlQXJncyA9IGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpOworCiAg
ICAgbXkgJGJ1aWxkVGFyZ2V0ID0gIiI7CiAgICAgdW5sZXNzIChpc0FueVdpbmRvd3MoKSkgewog
ICAgICAgICAjIEJ5IGRlZmF1bHQgd2UgYnVpbGQgdXNpbmcgYWxsIG9mIHRoZSBhdmFpbGFibGUg
Q1BVcwpAQCAtMTE0LDcgKzE0Myw3IEBAIGlmIChpc0NNYWtlQnVpbGQoKSkgewogICAgIH0KIAog
ICAgICMgVGhpcyBjYWxsIG9ubHkgcmV0dXJucyBpZiBub3RoaW5nIHdyb25nIGhhcHBlbmVkCi0g
ICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoMCwgdW5kZWYsICRidWlsZFRhcmdldCwgKGNtYWtl
QmFzZWRQb3J0QXJndW1lbnRzKCksIEBjbWFrZUFyZ3MpKTsKKyAgICBidWlsZENNYWtlUHJvamVj
dE9yRXhpdCgwLCB1bmRlZiwgJGJ1aWxkVGFyZ2V0LCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMo
KSwgQGZlYXR1cmVBcmdzLCBAY21ha2VBcmdzKSk7CiAgICAgd3JpdGVDb25ncmF0cygpOwogICAg
IGV4aXQgZXhpdFN0YXR1cygwKTsKIH0KQEAgLTEyMyw2ICsxNTIsMjAgQEAgaWYgKGlzQXBwbGVN
YWNXZWJLaXQoKSkgewogICAgIHB1c2ggQG9wdGlvbnMsICgkZm9yY2VDTG9vcCA/ICJFTkFCTEVf
SklUPUVOQUJMRV9KSVQ9MCIgOiAiRU5BQkxFX0pJVD1FTkFCTEVfSklUIik7CiAgICAgcHVzaCBA
b3B0aW9ucywgKCRmdGxKSVQgPyAiRU5BQkxFX0ZUTF9KSVQ9RU5BQkxFX0ZUTF9KSVQiIDogIkVO
QUJMRV9GVExfSklUPUVOQUJMRV9GVExfSklUPTAiKTsKIAorICAgIHN1YiBvcHRpb24oJCQkKQor
ICAgIHsKKyAgICAgICAgbXkgKCRmZWF0dXJlLCAkaXNFbmFibGVkLCAkZGVmYXVsdFZhbHVlKSA9
IEBfOworICAgICAgICByZXR1cm4gIiIgaWYgJGRlZmF1bHRWYWx1ZSA9PSAkaXNFbmFibGVkOwor
ICAgICAgICByZXR1cm4gJGZlYXR1cmUgLiAiPSIgLiAoJGlzRW5hYmxlZCA/ICRmZWF0dXJlIDog
IiIpOworICAgIH0KKworICAgIGZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICAgICBpZiAoJF8t
PntqYXZhc2NyaXB0fSkgeworICAgICAgICAgICAgbXkgJG9wdGlvbiA9IG9wdGlvbigkXy0+e2Rl
ZmluZX0sICR7JF8tPnt2YWx1ZX19LCAkXy0+e2RlZmF1bHR9KTsKKyAgICAgICAgICAgIHB1c2gg
QG9wdGlvbnMsICRvcHRpb24gdW5sZXNzICRvcHRpb24gZXEgIiI7CisgICAgICAgIH0KKyAgICB9
CisKICAgICBpZiAoJGNvcHlMaWJyYXJpZXMpIHsKICAgICAgICAgbXkgQGNvcHlMaWJyYXJpZXNB
cmdzID0gKCJwZXJsIiwgIlRvb2xzL1NjcmlwdHMvY29weS13ZWJraXRsaWJyYXJpZXMtdG8tcHJv
ZHVjdC1kaXJlY3RvcnkiKTsKICAgICAgICAgcHVzaCBAY29weUxpYnJhcmllc0FyZ3MsICItLWRl
dmljZSIgaWYgd2lsbFVzZUlPU0RldmljZVNESygpOwpAQCAtMTUzLDYgKzE5NiwyMSBAQCBzdWIg
YnVpbGRNeVByb2plY3QKICAgICBjaGRpcldlYktpdCgpOwogfQogCitzdWIgY01ha2VBcmdzRnJv
bUZlYXR1cmVzKCkKK3sKKyAgICBteSBAYXJnczsKKyAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsK
KyAgICAgICAgbXkgJGZlYXR1cmVOYW1lID0gJF8tPntkZWZpbmV9OworICAgICAgICBpZiAoJGZl
YXR1cmVOYW1lKSB7CisgICAgICAgICAgICBteSAkZmVhdHVyZUVuYWJsZWQgPSAkeyRfLT57dmFs
dWV9fSA/ICJPTiIgOiAiT0ZGIjsKKyAgICAgICAgICAgIGlmICgkZmVhdHVyZUVuYWJsZWQgIT0g
JF8tPntkZWZhdWx0fSkgeworICAgICAgICAgICAgICAgIHB1c2ggQGFyZ3MsICItRCRmZWF0dXJl
TmFtZT0kZmVhdHVyZUVuYWJsZWQiOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
ICAgIHJldHVybiBAYXJnczsKK30KKwogc3ViIHdyaXRlQ29uZ3JhdHMoKQogewogICAgIG15ICRl
bmRUaW1lID0gdGltZSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmlu
ZGV4IDY5ZGNlNzZkZWMwNjJiMzA4MWYwN2QxYjNiZGUxMmJiMzNkZGJmNmEuLjliN2FmYjM1NGNj
ZDkyMTcyYzAzMTViODZlNmEwYTdlZGEwOWMyZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KQEAgLTUxLDYgKzUxLDcgQEAgQkVHSU4gewogbXkgKAogICAgICRhY2Nl
bGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKICAgICAkYWxsSW5PbmVCdWlsZCwKKyAgICAkYXN5bmNm
dW5jdGlvblN5bnRheCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0
ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNzMsNiArMTc0
LDEwIEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWxsaW5vbmUtYnVpbGQi
LCBkZXNjID0+ICJUb2dnbGUgYWxsLWluLW9uZSBidWlsZCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9BTExJTk9ORV9CVUlMRCIsIGRlZmF1bHQgPT4gaXNXaW5kb3dzKCksIHZhbHVlID0+IFwk
YWxsSW5PbmVCdWlsZCB9LAogCisgICAgeyBvcHRpb24gPT4gImFzeW5jZnVuY3Rpb24tc3ludGF4
IiwgZGVzYyA9PiAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIsCisgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0
ID0+IDAsIHZhbHVlID0+IFwkYXN5bmNmdW5jdGlvblN5bnRheCwKKyAgICAgIGphdmFzY3JpcHQg
PT4gMSB9LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVudCIsIGRlc2MgPT4g
IlRvZ2dsZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkYXR0YWNo
bWVudEVsZW1lbnRTdXBwb3J0IH0sCiAKQEAgLTI2NCw3ICsyNjksOCBAQCBteSBAZmVhdHVyZXMg
PSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HQU1FUEFEIiwgZGVmYXVsdCA9PiAwLCB2YWx1
ZSA9PiBcJGdhbWVwYWRTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiZ2VuZXJhdG9ycyIs
IGRlc2MgPT4gIlRvZ2dsZSBFUzYgZ2VuZXJhdG9ycyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9
PiAiRU5BQkxFX0VTNl9HRU5FUkFUT1JTIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGdlbmVy
YXRvcnNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfR0VORVJBVE9SUyIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0b3JzU3VwcG9ydCwKKyAgICAgIGphdmFz
Y3JpcHQgPT4gMSB9LAogCiAgICAgeyBvcHRpb24gPT4gImdlb2xvY2F0aW9uIiwgZGVzYyA9PiAi
VG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfR0VP
TE9DQVRJT04iLCBkZWZhdWx0ID0+IChpc0FwcGxlV2ViS2l0KCkgfHwgaXNJT1NXZWJLaXQoKSB8
fCBpc0d0aygpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBcJGdlb2xvY2F0aW9uU3VwcG9ydCB9LApA
QCAtMzQyLDcgKzM0OCw4IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX01IVE1MIiwgZGVmYXVsdCA9PiAoaXNHdGsoKSB8fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRt
aHRtbFN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJtb2R1bGVzIiwgZGVzYyA9PiAiVG9n
Z2xlIEVTNiBtb2R1bGVzIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X01P
RFVMRVMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkbW9kdWxlc1N1cHBvcnQgfSwKKyAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBc
JG1vZHVsZXNTdXBwb3J0LAorICAgICAgamF2YXNjcmlwdCA9PiAxIH0sCiAKICAgICB7IG9wdGlv
biA9PiAibW91c2UtY3Vyc29yLXNjYWxlIiwgZGVzYyA9PiAiVG9nZ2xlIFNjYWxlZCBtb3VzZSBj
dXJzb3Igc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkbW91c2VDdXJzb3JTY2FsZVN1cHBv
cnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThh
Zjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VT
Nl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBF
TkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01f
RUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9G
RVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
Q19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dS
SVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL0NoYW5n
ZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5YzY3Y2ExMTE5NTljMDA2ZDJhMzBhYTUwNmMwMzc1N2Ex
MDIxNjRhLi41ZjY5ZWZlNmU2MTMxZWZjNjg5NDhlMTAzZDJmOWQ1MjkwNTk0YTZlIDEwMDY0NAot
LS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDkt
MjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJ
bXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlOgorCiAyMDE2LTA5LTIwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAYW0uc29u
eS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBVc2UgZmluZF9wYWNrYWdlIGNhaXJvIGluIGJ1
aWxkCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGIzZjY4ZDJmY2VlZTVkNzAyNDJjMzI5ZmRjMDM2OWEyY2FhMzU2MzAuLjExYTQ2YjdkMDU4
YWJkMTZmMzIzZjk5YmVmNDI5Y2Q5ZGVjY2QwYzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDktMjEg
IENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBs
ZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2FzeW5jLWF3YWl0LXN5bnRheC5qczog
QWRkZWQuCisgICAgICAgICh0ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3RTeW50YXhFcnJvcik6
CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZS50ZXN0U3lu
dGF4KToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKToK
KyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKToKKyAgICAg
ICAgKHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlLnRlc3RTeW50YXgpOgor
ICAgICAgICAodGVzdE5lc3RlZEFzeW5jQXdhaXRTeW50YXguYXN5bmMpOgorICAgICAgICAodGVz
dE5lc3RlZEFzeW5jQXdhaXRTeW50YXguZm9vKToKKyAgICAgICAgKHRlc3RUb3BMZXZlbEFzeW5j
QXdhaXRTeW50YXhTbG9wcHlNb2RlLnRlc3RTeW50YXhFcnJvcik6CisKIDIwMTYtMDktMjAgIEJl
bmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRG8g
bm90IHVzZSBFYWdlclJ1biBvbiB0ZXN0cyBjb3VudGluZyByZWNvbXBpbGF0aW9uCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanMgYi9KU1Rlc3RzL3N0cmVz
cy9hc3luYy1hd2FpdC1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhZTc3ZDZlNjI0ZjU0YzlkNjcz
YWY3YzkyOWE1OTk3ZTI0YmE4MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2Fz
eW5jLWF3YWl0LXN5bnRheC5qcwpAQCAtMCwwICsxLDI4MCBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8vIFRoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJ
T05fU1lOVEFYIHRvIGJlIGVuYWJsZWQgYXQgYnVpbGQgdGltZS4KKy8vQCBza2lwCisKK2Z1bmN0
aW9uIHRlc3RTeW50YXgoc2NyaXB0KSB7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQp
OworICAgIH0gY2F0Y2ggKGVycm9yKSB7CisgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5
bnRheEVycm9yKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgZXJyb3I6ICIgKyBT
dHJpbmcoZXJyb3IpICsgIlxuICAgICAgIGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gdGVzdFN5bnRheEVycm9yKHNjcmlwdCwgbWVzc2FnZSkgewor
ICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOwor
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBpZiAoIWVy
cm9yKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHN5bnRheCBlcnJvciBub3Qg
dGhyb3duXG4gICAgICAgZXZhbHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7CisKKyAgICBpZiAo
dHlwZW9mIG1lc3NhZ2UgPT09ICJzdHJpbmciICYmIFN0cmluZyhlcnJvcikgIT09IG1lc3NhZ2Up
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSAr
ICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKK30KKworKGZ1bmN0aW9u
IHRlc3RUb3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTbG9wcHlNb2RlKCkgeworICAgIHRlc3RTeW50
YXgoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07YCk7CisgICAg
dGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiB3aXRoTmFtZSgpIHsgYXdh
aXQgMTsgfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IGF3
YWl0ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4g
YXdhaXQgeCArICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4KGBhc3luYyBmdW5jdGlvbiBhc3lu
Y0ZuKCkgeyBhd2FpdCAxOyB9YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5jIG1l
dGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3lu
YyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2
YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCcoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3lu
dGF4KGB2YXIgTyA9IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50
YXgoYGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0
U3ludGF4KGBjbGFzcyBDIHsgYXN5bmMgWydtZXRoJyArICdvZCddKCkgeyBhd2FpdCAxOyB9IH07
YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAx
OyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7
IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNGbiA9IGFzeW5jKHsgZm9vID0gMSB9
KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9
IDEgfSA9IHt9KSA9PiBmb287YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7IHZh
ciBmID0gYXN5bmMoeWllbGQpOyB9YCk7CisgICAgdGVzdFN5bnRheChgZnVuY3Rpb24qIGcoKSB7
IHZhciBmID0gYXN5bmMoeCA9IHlpZWxkKTsgfWApOworfSkoKTsKKworKGZ1bmN0aW9uIHRlc3RU
b3BMZXZlbEFzeW5jQXdhaXRTeW50YXhTdHJpY3RNb2RlKCkgeworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbigpIHsgYXdhaXQgMTsgfTtg
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVu
Y3Rpb24gd2l0aE5hbWUoKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5bnRheChgInVzZSBz
dHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IGF3YWl0ICd0ZXN0JztgKTsKKyAgICB0
ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgeCA9PiBhd2FpdCB4
ICsgJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rp
b24gYXN5bmNGbigpIHsgYXdhaXQgMTsgfWApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0
IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RT
eW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsg
YXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgMCgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRl
c3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsgYXdhaXQg
MTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5j
IFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1
c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7
CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgMCgpIHsgYXdh
aXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4g
PSBhc3luYyh7IGZvbyA9IDEgfSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSA9IHt9KSA9PiBmb287YCk7Cisg
ICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBhc3lu
Yyh5aWVsZCk7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBn
KCkgeyB2YXIgZiA9IGFzeW5jKHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0
ZXN0TmVzdGVkQXN5bmNBd2FpdFN5bnRheCgpIHsKKyAgICB2YXIgY29udGV4dERhdGEgPSBbCisg
ICAgICAgIHsgcHJlZml4OiAiZnVuY3Rpb24gb3V0ZXJGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAi
IH0iIH0sCisgICAgICAgIHsgcHJlZml4OiAiZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyAi
LCBzdWZmaXg6ICIgfSIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJGdW5jRXhwciA9
IGZ1bmN0aW9uKCkgeyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFy
IG91dGVyR2VuRXhwciA9IGZ1bmN0aW9uKigpIHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZp
eDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlck9iamVjdCA9IHsgKm91
dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6
ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZp
eDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNs
YXNzIEMgeyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogInZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgb3V0ZXJT
dGF0aWNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDog
InZhciBvdXRlckNsYXNzRXhwciA9IGNsYXNzIEMgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBv
dXRlckNsYXNzIHsgb3V0ZXJNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyAqb3V0ZXJHZW5NZXRob2QoKSB7ICIsIHN1
ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBz
dGF0aWMgb3V0ZXJTdGF0aWNNZXRob2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAg
ICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBzdGF0aWMgKm91dGVyU3RhdGljR2VuTWV0
aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0
ZXJBcnJvdyA9ICgpID0+IHsgIiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDog
ImFzeW5jIGZ1bmN0aW9uIG91dGVyQXN5bmNGdW5jdGlvbigpIHsgIiwgc3VmZml4OiAiIH0iIH0s
CisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQXN5bmNGdW5jRXhwciA9IGFzeW5jIGZ1bmN0
aW9uKCkgeyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVy
QXN5bmNBcnJvd0Z1bmMgPSBhc3luYyAoKSA9PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAg
ICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG91dGVyQXN5bmNNZXRob2Qo
KSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckNs
YXNzRXhwciA9IGNsYXNzIEMgeyBhc3luYyBvdXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6
ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFz
cyBDIHsgc3RhdGljIGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRob2QoKSB7ICIsIHN1ZmZpeDog
IiB9IH07IiB9LAorICAgICAgICB7IHByZWZpeDogImNsYXNzIG91dGVyQ2xhc3MgeyBhc3luYyBv
dXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVm
aXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljIGFzeW5jIG91dGVyU3RhdGljQXN5bmNNZXRo
b2QoKSB7ICIsIHN1ZmZpeDogIiB9IH07IiB9LAorICAgIF07CisKKyAgICB2YXIgdGVzdERhdGEg
PSBbCisgICAgICAgIGB2YXIgYXN5bmMgPSAxOyByZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGxl
dCBhc3luYyA9IDE7IHJldHVybiBhc3luYztgLAorICAgICAgICBgY29uc3QgYXN5bmMgPSAxOyBy
ZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGZ1bmN0aW9uIGFzeW5jKCkge30gcmV0dXJuIGFzeW5j
KCk7YCwKKyAgICAgICAgYHZhciBhc3luYyA9IGFzeW5jID0+IGFzeW5jOyByZXR1cm4gYXN5bmMo
KTtgLAorICAgICAgICBgZnVuY3Rpb24gZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdh
aXQ7IH1gLAorICAgICAgICBgZnVuY3Rpb24gZm9vKGF3YWl0KSB7IHJldHVybiBhd2FpdDsgfWAs
CisgICAgICAgIGBmdW5jdGlvbiogZm9vKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7
IH1gLAorICAgICAgICBgZnVuY3Rpb24qIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1gLAor
ICAgICAgICBgdmFyIGYgPSAoKSA9PiB7IHZhciBhd2FpdCA9IDE7IHJldHVybiBhd2FpdDsgfWAs
CisgICAgICAgIGB2YXIgTyA9IHsgbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdh
aXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7IG1ldGhvZChhd2FpdCkgeyByZXR1cm4gYXdh
aXQ7IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoKSB7IHZhciBhd2FpdCA9IDE7
IHJldHVybiBhd2FpdDsgfSB9O2AsCisgICAgICAgIGB2YXIgTyA9IHsgKm1ldGhvZChhd2FpdCkg
eyByZXR1cm4gYXdhaXQ7IH0gfTtgLAorCisgICAgICAgIGAoZnVuY3Rpb24gYXdhaXQoKSB7fSlg
LAorICAgIF07CisKKyAgICBmb3IgKGxldCBjb250ZXh0IG9mIGNvbnRleHREYXRhKSB7CisgICAg
ICAgIGZvciAobGV0IHRlc3Qgb2YgdGVzdERhdGEpIHsKKyAgICAgICAgICAgIGxldCBzY3JpcHQg
PSBjb250ZXh0LnByZWZpeCArIHRlc3QgKyBjb250ZXh0LnN1ZmZpeDsKKyAgICAgICAgICAgIHRl
c3RTeW50YXgoc2NyaXB0KTsKKyAgICAgICAgICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0Ijsg
JHtzY3JpcHR9YCk7CisgICAgICAgIH0KKyAgICB9Cit9KSgpOworCisKKyhmdW5jdGlvbiB0ZXN0
VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB2YXIgYXdhaXQgPSAndGVzdCc7
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHsgdmFy
IGF3YWl0ID0gJ3Rlc3QnOyB9O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jRm4g
PSBhc3luYyBhd2FpdCA9PiBhd2FpdCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihg
dmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbihhd2FpdCkge31gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoYXdhaXQpIHt9YCk7
CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNGbiA9IGFzeW5jIChhd2FpdCkgPT4gJ3Rl
c3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgYXN5bmMgZnVuY3Rpb24gYXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uKGF3YWl0KSB7fWApOworCisgICAgLy8gRklYTUU6IE1ldGhvZERlZmluaXRp
b25zIGRvIG5vdCBhcHBseSBTdHJpY3RGb3JtYWxQYXJhbWV0ZXJzIHJlc3RyaWN0aW9ucworICAg
IC8vICAgICAgICBpbiBzbG9wcHkgbW9kZSAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MTQwOCkKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2
YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBhKSB7fSB9YCk7Cisg
ICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgJ21ldGhvZCco
YSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRheEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7
IGFzeW5jIDAoYSwgYSkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNB
cnJvd0ZuID0gYXN5bmMoKSA9PiBhd2FpdDtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFy
IGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiooKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
YXN5bmMgZnVuY3Rpb24qIGFzeW5jR2VuZXJhdG9yKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBPID0geyAqYXN5bmMgYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAg
IHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1ldGhvZCgp
IHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgYXN5bmNHZW5l
cmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5j
Rm4gPSBhc3luYyBmdW5jdGlvbih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAgIHRl
c3RTeW50YXhFcnJvcihgYXN5bmMgZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsg
fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQgMSkgPT4g
eDtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBPID0geyBhc3luYyBtZXRob2QoeCA9IGF3
YWl0IDEpIHsgcmV0dXJuIHg7IH0gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rp
b24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMgeWllbGQgPT4g
MTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkg
eyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9
IGFzeW5jKHggPSB5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgZnVuY3Rp
b24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoe3ggPSB5aWVs
ZH0pID0+IDE7IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7IGFzeW5jIGNv
bnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xhc3MgQyB7fTsgY2xh
c3MgQzIgZXh0ZW5kcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGBjbGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0YXRp
YyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBm
ID0gYXN5bmMoKSA9PiAoKGFzeW5jKHggPSBhd2FpdCAxKSA9PiB4KSgpO2ApOworCisgICAgLy8g
SGVucmlxdWUgRmVycmVpcm8ncyBidWcgKHRtKQorICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
IGZ1bmN0aW9uIGZvbzEoKSB7IH0gZm9vMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
KGFzeW5jIGZ1bmN0aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYChhc3luYyBmdW5jdGlvbiBmb280KCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gZm9vNSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGAoYXN5bmMgZnVuY3Rpb24oKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YChhc3luYy5mb282ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNyBm
b284ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vOSAoKSA9PiAxKWAp
OworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYChhc3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAoYXN5bmMoKS5mb28xMyAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
KGFzeW5jWydmb28xNCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2Zv
bzE1J10gZm9vMTYgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTcn
XSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzE4J10gPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOSddIGZvbzIwID0+IDEp
YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMjEnXSAoKSA9PiAxYCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjJgID0+IDEpIik7CisgICAgdGVzdFN5bnRh
eEVycm9yKCIoYXN5bmNgZm9vMjNgIGZvbzI0ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9y
KCIoYXN5bmNgZm9vMjVgICgpID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNg
Zm9vMjZgLmJhcjI3ID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMjhg
LmJhcjI5IGZvbzMwID0+IDEpIik7CisgICAgdGVzdFN5bnRheEVycm9yKCIoYXN5bmNgZm9vMzFg
LmJhcjMyICgpID0+IDEpIik7CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJvcnMgYXJlIHN0aWxs
IHRocm93biBmb3IgY2FsbHMgdGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1bmN0aW9ucworICAg
IHRlc3RTeW50YXhFcnJvcihgZnVuY3Rpb24gYXN5bmMoKSB7fQorICAgICAgICAgICAgICAgICAg
ICAgYXN5bmMoeyBmb28zMyA9IDEgfSlgKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2
ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhd2FpdCgpIHt9YCk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgKCkg
PT4gdmFyIGF3YWl0ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJp
Y3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHsgdmFyIGF3YWl0ID0gJ3Rlc3QnOyB9O2Ap
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5j
IGF3YWl0ID0+IGF3YWl0ICsgJ3Rlc3QnYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24g
d2l0aE5hbWUoYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IHZhciBhc3luY0ZuID0gYXN5bmMgKGF3YWl0KSA9PiAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbihhd2FpdCkge31gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2
YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIG1ldGhvZChhLCBhKSB7fSB9YCk7CisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgWydtZXRo
JyArICdvZCddKGEsIGEpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0
IjsgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAnbWV0aG9kJyhhLCBhKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMg
MChhLCBhKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFy
IGFzeW5jQXJyb3dGbiA9IGFzeW5jKCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiooKSB7fWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBhc3luYyBmdW5jdGlvbiogYXN5bmNH
ZW5lcmF0b3IoKSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIg
TyA9IHsgKmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICphc3luY0dlbmVyYXRvck1l
dGhvZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBP
ID0geyBhc3luYyBhc3luY0dlbmVyYXRvck1ldGhvZCooKSB7fSB9O2ApOworCisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oeCA9
IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgYXN5bmMgZnVuY3Rpb24gZih4ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKHggPSBhd2FpdCAx
KSA9PiB4O2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsg
YXN5bmMgbWV0aG9kKHggPSBhd2FpdCAxKSB7IHJldHVybiB4OyB9IH07YCk7CisKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2
YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMgeWllbGQgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3lu
Y0Fycm93Rm4gPSBhc3luYyh5aWVsZCkgPT4gMTsgfWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyBmdW5jdGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93
Rm4gPSBhc3luYyh4ID0geWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0Zu
ID0gYXN5bmMoe3ggPSB5aWVsZH0pID0+IDE7IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgYXN5bmMgY29uc3RydWN0b3IoKSB7fSB9YCk7CisgICAg
dGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVu
ZHMgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyBjbGFzcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7fTsgY2xhc3MgQzIg
ZXh0ZW5kcyBDIHsgc3RhdGljIGFzeW5jIHByb3RvdHlwZSgpIHt9IH1gKTsKKworICAgIHRlc3RT
eW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgZiA9IGFzeW5jKCkgPT4gKChhc3luYyh4ID0g
YXdhaXQgMSkgPT4geCkoKTtgKTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJlaXJvJ3MgYnVnICh0
bSkKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZv
bzEoKSB7IH0gZm9vMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmMgZnVuY3Rpb24gZm9vMygpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMgZnVuY3Rpb24oKSB7IH0g
Zm9vNSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmMg
ZnVuY3Rpb24oKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luYy5mb282ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9y
KGAidXNlIHN0cmljdCI7IChhc3luYy5mb283IGZvbzggPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jLmZvbzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTAgPT4gMSlgKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTEgZm9vMTIgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKCkuZm9vMTMgKCkgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNCdd
ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9v
MTUnXSBmb28xNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAo
YXN5bmNbJ2ZvbzE3J10gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jKClbJ2ZvbzE4J10gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgKGFzeW5jKClbJ2ZvbzE5J10gZm9vMjAgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMSlgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIyYCA9PiAxKScpOwor
ICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjNgIGZvbzI0ID0+
IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yNWAg
KCkgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZv
bzI2YC5iYXIyNyA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAo
YXN5bmNgZm9vMjhgLmJhcjI5IGZvbzMwID0+IDEpJyk7CisgICAgdGVzdFN5bnRheEVycm9yKCci
dXNlIHN0cmljdCI7IChhc3luY2Bmb28zMWAuYmFyMzIgKCkgPT4gMSknKTsKKworICAgIC8vIGFz
c2VydCB0aGF0IGVycm9ycyBhcmUgc3RpbGwgdGhyb3duIGZvciBjYWxscyB0aGF0IG1heSBoYXZl
IGJlZW4gYXN5bmMgZnVuY3Rpb25zCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7
IGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9vMzMg
PSAxIH0pYCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7
IGFzeW5jIG1ldGhvZChldmFsKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oZXZhbCkge30gfWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgJ21ldGhvZCco
ZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9
IHsgYXN5bmMgMChldmFsKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZChhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2Qn
XShhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
dmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKGFyZ3VtZW50cykge30gfWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgMChhcmd1bWVudHMpIHt9IH1g
KTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMg
bWV0aG9kKGR1cGUsIGR1cGUpIHt9IH1gKTsKK30pKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289501</attachid>
            <date>2016-09-21 18:29:27 -0700</date>
            <delta_ts>2016-09-21 18:37:31 -0700</delta_ts>
            <desc>Async Function Parsing v8 + fix ChangeLog</desc>
            <filename>bug-161409-20160921212635.patch</filename>
            <type>text/plain</type>
            <size>208754</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NjE2NmU1NDBmNmY2MDk2YTQ5MzhjOTVkNDNlODI2MmM3Yjg4YjYyLi4wZWQxZmE5YjM3OGI4NDgx
ZWYzZjNhNTA5ODg0ZTQwMzNiODQxYzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMTcgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZXMgZnJvbnRlbmQgcGFyc2luZyBmb3IgdGhlIGFzeW5jIGZ1bmN0aW9uIHByb3Bvc2FsIHNvb24g
dG8gYmUKKyAgICAgICAgcmF0aWZpZWQgaW4gRUNNQTI2MiAoaHR0cHM6Ly90YzM5LmdpdGh1Yi5p
by9lY21hc2NyaXB0LWFzeW5jYXdhaXQvKS4KKworICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKToKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24pOgorICAgICAgICAqIHBhcnNlci9BU1RC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmlzQXJyb3dGdW5jdGlvblBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0
aW9uU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnRMaXN0SXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46Om1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydENsYXVzZUl0ZW0p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9k
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJl
ckV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVVuYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
cmludFVuZXhwZWN0ZWRUb2tlblRleHQpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJj
ZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlND
OjpTY29wZTo6aXNNb2R1bGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93
RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlND
OjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVy
cm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpw
cm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhw
cmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3Ip
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwdXNoU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lkZW50aWZpZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbik6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZVBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgor
ICAgICAgICAoSlNDOjpvbmVPZlNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1
bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6
aXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc1Byb2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9y
UGFyc2VNb2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICog
cGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3Jl
YXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVGdW5jdGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaDoKKworICAgICAgICAqIEFQSS9KU1NjcmlwdFJlZi5jcHA6CisgICAgICAgIChwYXJz
ZVNjcmlwdCk6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNwcDoKKyAgICAgICAg
KEpTQzo6QnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKToKKyAgICAgICAgKiBi
eXRlY29kZS9FdmFsQ29kZUNhY2hlLmg6CisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OkNh
Y2hlS2V5OjpDYWNoZUtleSk6CisgICAgICAgICogYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaDoK
KyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUluZm86OkV4ZWN1dGFibGVJbmZvKToKKyAgICAgICAg
KEpTQzo6RXhlY3V0YWJsZUluZm86OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9V
bmxpbmtlZENvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpV
bmxpbmtlZENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2su
aDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmNvbW1lbnRNb2RlKToKKyAgICAg
ICAgKiBieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChK
U0M6OmdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OlVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6Cisg
ICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0
ZWNvZGVHZW5lcmF0b3I6OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6QXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWls
ZGVyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5j
RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OkxleGVyKToKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6Cisg
ICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXdhaXRF
eHByTm9kZTo6QXdhaXRFeHByTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpQYXJzZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0
ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlv
blNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRDbGF1c2VJdGVtKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYXRpb24p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eU1ldGhvZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByaW1hcnlFeHByZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzaW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3Rl
ZFRva2VuVGV4dCk6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAg
ICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAg
IChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNj
b3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJ
c0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9u
Qm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFz
c2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25U
eXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAgICAoSlNDOjpT
Y29wZTo6aXNHZW5lcmF0b3JCb3VuZGFyeSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNl
cjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyTW9kZXMuaDoKKyAgICAgICAgKEpTQzo6
U291cmNlUGFyc2VNb2RlU2V0OjpTb3VyY2VQYXJzZU1vZGVTZXQpOgorICAgICAgICAoSlNDOjpT
b3VyY2VQYXJzZU1vZGVTZXQ6OmNvbnRhaW5zKToKKyAgICAgICAgKEpTQzo6U291cmNlUGFyc2VN
b2RlU2V0OjptZXJnZVNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1bmN0aW9u
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3lu
Y0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc1By
b2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VN
b2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICogcGFyc2Vy
L1NvdXJjZUNvZGVLZXkuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZUZsYWdzOjpTb3VyY2VD
b2RlRmxhZ3MpOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlS2V5OjpTb3VyY2VDb2RlS2V5KToK
KyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhD
aGVja2VyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRl
WWllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVGdW5j
dGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRHbG9iYWxDb2RlQmxvY2spOgorICAgICAgICAoSlND
OjpDb2RlQ2FjaGU6OmdldFByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2Fj
aGU6OmdldEV2YWxDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldE1vZHVs
ZVByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEZ1bmN0aW9u
RXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50
aW1lL0NvbXBsZXRpb24uY3BwOgorICAgICAgICAoSlNDOjpjaGVja1N5bnRheCk6CisgICAgICAg
IChKU0M6OmNoZWNrTW9kdWxlU3ludGF4KToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUu
Y3BwOgorICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvTW9kdWxlTG9h
ZGVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6bW9kdWxlTG9hZGVyUHJvdG90eXBlUGFy
c2VNb2R1bGUpOgorCiAyMDE2LTA5LTIxICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5saW5lIGZ1bmN0aW9uIG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZWFhYjRiMmU0ZTMzODk2NzQ0YTcyMDI3M2EwYjU0YmZiNTVkOTg4Ny4uOGJhZGFjOGFm
MTg0MzBiY2NiYmE2MWM1MTlhMzU0YjBkNTljY2Q4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
Ni0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtK
U0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoK
KwogMjAxNi0wOS0yMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwNjIyMiBhbmQgcjIwNjIyNy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2NzI4NjAzNjgxYWNhYzllODhiMDQxOTQ4ODk5ZTdkZWMyMWQwYmIxLi4wNGM2
NWVlYzE5ZjgzM2UzODRhMDcwMGMxYmFjM2QwMmFiNzc4YWI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4K
KworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTYtMDktMjEgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTZXR0aW5nIEhUTUxNZXRlckVsZW1lbnQn
cyBhdHRyaWJ1dGVzIHRvIG5vbi1maW5pdGUgdmFsdWVzIHRocm93cyB3cm9uZyBleGNlcHRpb24g
dHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDAyMDI4YWEzNDNkYmIwNzM2YmRiYjNhZTc4NWU4ZDdh
ZjlhNWM3NTIuLjFjNDU1NDQ4OTlkNzNjZTc4NWQ2NjIyZWViMjljOGFhYTM2YWRlZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIg
IDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9m
IEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
Ni0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAg
IFN1cHBvcnQgb3BlblBheW1lbnRTZXR1cCBBUEkgb24gQXBwbGVQYXlTZXNzaW9uIG9iamVjdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDNhOWE1YzZjNWQzMGI5ZGY3MWFhNWU5YjZjZWQ1NDI3OGViZmMxNzcuLmY4
MDg2MjdmYmUyZmI1NmY1NzU4MjgxZDQxNGYxMDU3M2ZjNjkyNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wOS0yMSAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIHN1cHBvcnQgb3BlblBheW1l
bnRTZXR1cCBBUEkgb24gQXBwbGVQYXlTZXNzaW9uIG9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTU2NyaXB0UmVmLmNwcAppbmRleCA1YmZkMjlhZmNjZTJkNDEwMDc5OTI2NzhlNjYz
ZTUzZGMyOTI1OWE4Li5lMjM2ZjUxMDU0ZDgxYzg5MWZmOGRjZGVkMWUxOTNhMWRlOTdlMzU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcApAQCAtNzYsNyArNzYs
NyBAQCBzdGF0aWMgYm9vbCBwYXJzZVNjcmlwdChWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNv
dXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewogICAgIHJldHVybiAhIUpTQzo6cGFyc2U8SlND
OjpQcm9ncmFtTm9kZT4oCiAgICAgICAgIHZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgSlNQYXJz
ZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpO
b3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6
UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAorICAgICAgICBKU1BhcnNlclN0
cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKICAgICAgICAg
ZXJyb3IpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJk
MmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRi
ZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9O
X1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2Rr
PWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9
IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RV
TEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9FTEVN
RU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxFX1NUUkVBTV9B
UEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQl9BTklNQVRJ
T05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluRXhlY3V0YWJs
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxl
cy5jcHAKaW5kZXggYTlhOGViOWRkZGMxNTIyYWY3MTczZjIwZGZmOTRiNGNmMzU1ZjgzNS4uOGYy
ZGZhOTkwMTFiZDRhYjk3NGJmZTNjYjM1MWE1ZjMzOWFmM2UzNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKQEAgLTgw
LDcgKzgwLDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIEJ1aWx0aW5FeGVjdXRhYmxl
czo6Y3JlYXRlRXhlY3V0YWJsZShWTSYgdm0sIGNvbnN0IFMKICAgICBSZWZQdHI8U291cmNlUHJv
dmlkZXI+IHNvdXJjZU92ZXJyaWRlID0gaXNQYXJzaW5nRGVmYXVsdENvbnN0cnVjdG9yID8gc291
cmNlLnByb3ZpZGVyKCkgOiBudWxscHRyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9k
ZT4gcHJvZ3JhbSA9IHBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBzb3VyY2UsIElk
ZW50aWZpZXIoKSwgYnVpbHRpbk1vZGUsCi0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90
U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlBy
b2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IsCisgICAgICAgIEpTUGFy
c2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFNv
dXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJv
ciwKICAgICAgICAgJnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUsIGNvbnN0cnVjdG9yS2luZCk7
CiAKICAgICBpZiAoIXByb2dyYW0pIHsKQEAgLTEwNiw3ICsxMDYsNyBAQCBVbmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZSogQnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKFZNJiB2
bSwgY29uc3QgUwogICAgIFJFTEVBU0VfQVNTRVJUKG1ldGFkYXRhKTsKICAgICBtZXRhZGF0YS0+
b3ZlcnJpZGVOYW1lKG5hbWUpOwogICAgIFZhcmlhYmxlRW52aXJvbm1lbnQgZHVtbXlURFpWYXJp
YWJsZXM7Ci0gICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJs
ZSA9IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpjcmVhdGUoJnZtLCBzb3VyY2UsIG1ldGFk
YXRhLCBraW5kLCBjb25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2lj
LCBkdW1teVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBlOjpOb25lLCBXVEZNb3ZlKHNv
dXJjZU92ZXJyaWRlKSk7CisgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9u
RXhlY3V0YWJsZSA9IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpjcmVhdGUoJnZtLCBzb3Vy
Y2UsIG1ldGFkYXRhLCBraW5kLCBjb25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlclNjcmlwdE1vZGU6
OkNsYXNzaWMsIGR1bW15VERaVmFyaWFibGVzLCBEZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUsIFdU
Rk1vdmUoc291cmNlT3ZlcnJpZGUpKTsKICAgICByZXR1cm4gZnVuY3Rpb25FeGVjdXRhYmxlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVD
YWNoZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaApp
bmRleCBmYTI3NzI0NjJiZTE3NWQwNTdjOTdjN2UxYzgyNzVjZjRmNjVlZWNhLi5hOWVkZjUzMmJm
MjlmZTFkNTIwOWZiZmZhM2E4YzY5ZDNjZjE4NGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9FdmFsQ29kZUNhY2hlLmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhY2hlS2V5KGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBFdmFsQ29u
dGV4dFR5cGUgZXZhbENvbnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpCiAg
ICAgICAgICAgICAgICAgOiBtX3NvdXJjZShzb3VyY2UuaW1wbCgpKQotICAgICAgICAgICAgICAg
ICwgbV9mbGFncyhTb3VyY2VDb2RlVHlwZTo6RXZhbFR5cGUsIEpTUGFyc2VyQnVpbHRpbk1vZGU6
Ok5vdEJ1aWx0aW4sIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1l
bnRNb2RlOjpDbGFzc2ljLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNB
cnJvd0Z1bmN0aW9uQ29udGV4dCkKKyAgICAgICAgICAgICAgICAsIG1fZmxhZ3MoU291cmNlQ29k
ZVR5cGU6OkV2YWxUeXBlLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLCBKU1BhcnNl
clN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBkZXJp
dmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0V4ZWN1dGFibGVJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaAppbmRleCA2MjVmZGM5NTgwM2YyZDFkNGNhNmMx
ZTM3OTIyNzdmNTczZGQwMzc3Li5lYmYxYmFkYTMzMTgxODdjMzdmODAzNjg2MzlmYjkzZmMxYTRj
NTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJs
ZUluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUlu
Zm8uaApAQCAtMzYsMTQgKzM2LDE0IEBAIGVudW0gY2xhc3MgRXZhbENvbnRleHRUeXBlICAgIDog
dWludDhfdCB7IE5vbmUsIEZ1bmN0aW9uRXZhbENvbnRleHQgfTsKIC8vIEZJWE1FOiBUaGVzZSBm
bGFncywgUGFyc2VyTW9kZXMgYW5kIHByb3BhZ2F0aW9uIHRvIFhYWENvZGVCbG9ja3Mgc2hvdWxk
IGJlIHJlb3JnYW5pemVkLgogLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MTU0Nwogc3RydWN0IEV4ZWN1dGFibGVJbmZvIHsKLSAgICBFeGVjdXRhYmxlSW5mbyhi
b29sIHVzZXNFdmFsLCBib29sIGlzU3RyaWN0TW9kZSwgYm9vbCBpc0NvbnN0cnVjdG9yLCBib29s
IGlzQnVpbHRpbkZ1bmN0aW9uLCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBKU1Bh
cnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBT
b3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRl
eHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQsIGJvb2wgaXNDbGFzc0NvbnRleHQs
IEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUpCisgICAgRXhlY3V0YWJsZUluZm8oYm9v
bCB1c2VzRXZhbCwgYm9vbCBpc1N0cmljdE1vZGUsIGJvb2wgaXNDb25zdHJ1Y3RvciwgYm9vbCBp
c0J1aWx0aW5GdW5jdGlvbiwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgSlNQYXJz
ZXJTY3JpcHRNb2RlIGNvbW1lbnRNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRU
eXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQsIGJvb2wgaXNDbGFzc0NvbnRleHQsIEV2
YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUpCiAgICAgICAgIDogbV91c2VzRXZhbCh1c2Vz
RXZhbCkKICAgICAgICAgLCBtX2lzU3RyaWN0TW9kZShpc1N0cmljdE1vZGUpCiAgICAgICAgICwg
bV9pc0NvbnN0cnVjdG9yKGlzQ29uc3RydWN0b3IpCiAgICAgICAgICwgbV9pc0J1aWx0aW5GdW5j
dGlvbihpc0J1aWx0aW5GdW5jdGlvbikKICAgICAgICAgLCBtX2NvbnN0cnVjdG9yS2luZChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oY29uc3RydWN0b3JLaW5kKSkKICAgICAgICAgLCBtX3N1cGVyQmlu
ZGluZyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3VwZXJCaW5kaW5nKSkKLSAgICAgICAgLCBtX2Nv
bW1lbnRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkpCisgICAgICAgICwg
bV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkpCiAgICAgICAg
ICwgbV9wYXJzZU1vZGUocGFyc2VNb2RlKQogICAgICAgICAsIG1fZGVyaXZlZENvbnRleHRUeXBl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKQogICAgICAgICAsIG1f
aXNBcnJvd0Z1bmN0aW9uQ29udGV4dChpc0Fycm93RnVuY3Rpb25Db250ZXh0KQpAQCAtNTIsNyAr
NTIsNyBAQCBzdHJ1Y3QgRXhlY3V0YWJsZUluZm8gewogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
Y29uc3RydWN0b3JLaW5kID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcktpbmQp
KTsKICAgICAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihzdXBlckJpbmRpbmcpKTsKLSAgICAgICAgQVNTRVJUKG1fY29tbWVudE1vZGUgPT0gc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSk7CisgICAgICAgIEFTU0VSVChtX3NjcmlwdE1v
ZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSk7CiAgICAgfQogCiAgICAg
Ym9vbCB1c2VzRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc0V2YWw7IH0KQEAgLTYxLDcgKzYx
LDcgQEAgc3RydWN0IEV4ZWN1dGFibGVJbmZvIHsKICAgICBib29sIGlzQnVpbHRpbkZ1bmN0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9pc0J1aWx0aW5GdW5jdGlvbjsgfQogICAgIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb25zdHJ1
Y3RvcktpbmQ+KG1fY29uc3RydWN0b3JLaW5kKTsgfQogICAgIFN1cGVyQmluZGluZyBzdXBlckJp
bmRpbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxTdXBlckJpbmRpbmc+KG1fc3VwZXJC
aW5kaW5nKTsgfQotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRNb2RlKTsg
fQorICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PEpTUGFyc2VyU2NyaXB0TW9kZT4obV9zY3JpcHRNb2RlKTsgfQogICAgIFNvdXJj
ZVBhcnNlTW9kZSBwYXJzZU1vZGUoKSBjb25zdCB7IHJldHVybiBtX3BhcnNlTW9kZTsgfQogICAg
IERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4dFR5cGUoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxEZXJpdmVkQ29udGV4dFR5cGU+KG1fZGVyaXZlZENvbnRleHRUeXBlKTsgfQog
ICAgIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxFdmFsQ29udGV4dFR5cGU+KG1fZXZhbENvbnRleHRUeXBlKTsgfQpAQCAtNzUsNyAr
NzUsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwog
ICAgIHVuc2lnbmVkIG1fY29uc3RydWN0b3JLaW5kIDogMjsKICAgICB1bnNpZ25lZCBtX3N1cGVy
QmluZGluZyA6IDE7Ci0gICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsKKyAgICB1bnNpZ25l
ZCBtX3NjcmlwdE1vZGU6IDE7CiAgICAgU291cmNlUGFyc2VNb2RlIG1fcGFyc2VNb2RlOwogICAg
IHVuc2lnbmVkIG1fZGVyaXZlZENvbnRleHRUeXBlIDogMjsKICAgICB1bnNpZ25lZCBtX2lzQXJy
b3dGdW5jdGlvbkNvbnRleHQgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHAKaW5kZXggMTQ4NmQyYWJlYjZlYzQyYzNjMTI0
MjFjNGNhMDBiZTI2YWExMTM5Yi4uNjBhYzk2Y2QyNDUwN2JmMzczZjQwMGI1Y2Y1NzgwZjZkZjE5
MTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2Vk
Q29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRDb2RlQmxvY2suY3BwCkBAIC02NSw3ICs2NSw3IEBAIFVubGlua2VkQ29kZUJsb2NrOjpVbmxp
bmtlZENvZGVCbG9jayhWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBDb2RlVHlwZSBjb2Rl
CiAgICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5G
dW5jdGlvbihpbmZvLmlzQnVpbHRpbkZ1bmN0aW9uKCkpCiAgICAgLCBtX3N1cGVyQmluZGluZyhz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oaW5mby5zdXBlckJpbmRpbmcoKSkpCi0gICAgLCBtX2NvbW1l
bnRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbmZvLmNvbW1lbnRNb2RlKCkpKQorICAgICwg
bV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbmZvLnNjcmlwdE1vZGUoKSkpCiAg
ICAgLCBtX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQoaW5mby5pc0Fycm93RnVuY3Rpb25Db250ZXh0
KCkpCiAgICAgLCBtX2lzQ2xhc3NDb250ZXh0KGluZm8uaXNDbGFzc0NvbnRleHQoKSkKICAgICAs
IG1fd2FzQ29tcGlsZWRXaXRoRGVidWdnaW5nT3Bjb2RlcyhkZWJ1Z2dlck1vZGUgPT0gRGVidWdn
ZXJNb2RlOjpEZWJ1Z2dlck9uIHx8IE9wdGlvbnM6OmZvcmNlRGVidWdnZXJCeXRlY29kZUdlbmVy
YXRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Vbmxp
bmtlZENvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2Vk
Q29kZUJsb2NrLmgKaW5kZXggOTQ4N2JhNmMyYjY0NWJiZTMxYThiMzRlMmZjNmNlYmRiZDcxMmJh
MC4uZTU5ZDJhMjMzNWUyNjg1NDRhOGQ2OTg3YmViZDMxY2M4OGFkMzRkMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmgKQEAgLTIx
OCw3ICsyMTgsNyBAQCBwdWJsaWM6CiAKICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29uc3RydWN0b3JLaW5kPihtX2NvbnN0
cnVjdG9yS2luZCk7IH0KICAgICBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8U3VwZXJCaW5kaW5nPihtX3N1cGVyQmluZGluZyk7IH0KLSAgICBK
U1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8SlNQYXJzZXJDb21tZW50TW9kZT4obV9jb21tZW50TW9kZSk7IH0KKyAgICBKU1BhcnNlclNj
cmlwdE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNl
clNjcmlwdE1vZGU+KG1fc2NyaXB0TW9kZSk7IH0KIAogICAgIHZvaWQgc2hyaW5rVG9GaXQoKQog
ICAgIHsKQEAgLTQyMyw3ICs0MjMsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1faGFzQ2Fw
dHVyZWRWYXJpYWJsZXMgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAx
OwogICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKLSAgICB1bnNpZ25lZCBtX2NvbW1l
bnRNb2RlOiAxOworICAgIHVuc2lnbmVkIG1fc2NyaXB0TW9kZTogMTsKICAgICB1bnNpZ25lZCBt
X2lzQXJyb3dGdW5jdGlvbkNvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faXNDbGFzc0NvbnRl
eHQgOiAxOwogICAgIHVuc2lnbmVkIG1fd2FzQ29tcGlsZWRXaXRoRGVidWdnaW5nT3Bjb2RlcyA6
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAppbmRleCAwNTRkNjNkZjU5YTc4NDc1NWI5YmFl
N2ZlZDJjZDc2YjU4MGMwMjljLi5iNzJmOWU5ZjQxZWJmODNkZGIzMjU4MmM2MjA2M2EzM2U2ZGNk
OWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKQEAgLTUxLDEwICs1MSwxMCBAQCBzdGF0
aWMgVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogZ2VuZXJhdGVVbmxpbmtlZEZ1bmN0aW9uQ29k
ZUJsb2NrKAogewogICAgIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUgPSBleGVjdXRh
YmxlLT5pc0J1aWx0aW5GdW5jdGlvbigpID8gSlNQYXJzZXJCdWlsdGluTW9kZTo6QnVpbHRpbiA6
IEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW47CiAgICAgSlNQYXJzZXJTdHJpY3RNb2Rl
IHN0cmljdE1vZGUgPSBleGVjdXRhYmxlLT5pc0luU3RyaWN0Q29udGV4dCgpID8gSlNQYXJzZXJT
dHJpY3RNb2RlOjpTdHJpY3QgOiBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdDsKLSAgICBK
U1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlID0gZXhlY3V0YWJsZS0+Y29tbWVudE1vZGUo
KTsKKyAgICBKU1BhcnNlclNjcmlwdE1vZGUgc2NyaXB0TW9kZSA9IGV4ZWN1dGFibGUtPnNjcmlw
dE1vZGUoKTsKICAgICBBU1NFUlQoaXNGdW5jdGlvblBhcnNlTW9kZShleGVjdXRhYmxlLT5wYXJz
ZU1vZGUoKSkpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbk5vZGU+IGZ1bmN0aW9uID0g
cGFyc2U8RnVuY3Rpb25Ob2RlPigKLSAgICAgICAgJnZtLCBzb3VyY2UsIGV4ZWN1dGFibGUtPm5h
bWUoKSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIGNvbW1lbnRNb2RlLCBleGVjdXRhYmxlLT5w
YXJzZU1vZGUoKSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5kaW5nKCksIGVycm9yLCBudWxscHRyKTsK
KyAgICAgICAgJnZtLCBzb3VyY2UsIGV4ZWN1dGFibGUtPm5hbWUoKSwgYnVpbHRpbk1vZGUsIHN0
cmljdE1vZGUsIHNjcmlwdE1vZGUsIGV4ZWN1dGFibGUtPnBhcnNlTW9kZSgpLCBleGVjdXRhYmxl
LT5zdXBlckJpbmRpbmcoKSwgZXJyb3IsIG51bGxwdHIpOwogCiAgICAgaWYgKCFmdW5jdGlvbikg
ewogICAgICAgICBBU1NFUlQoZXJyb3IuaXNWYWxpZCgpKTsKQEAgLTY2LDcgKzY2LDcgQEAgc3Rh
dGljIFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2sqIGdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNv
ZGVCbG9jaygKIAogICAgIGJvb2wgaXNDbGFzc0NvbnRleHQgPSBleGVjdXRhYmxlLT5zdXBlckJp
bmRpbmcoKSA9PSBTdXBlckJpbmRpbmc6Ok5lZWRlZDsKIAotICAgIFVubGlua2VkRnVuY3Rpb25D
b2RlQmxvY2sqIHJlc3VsdCA9IFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s6OmNyZWF0ZSgmdm0s
IEZ1bmN0aW9uQ29kZSwgRXhlY3V0YWJsZUluZm8oZnVuY3Rpb24tPnVzZXNFdmFsKCksIGZ1bmN0
aW9uLT5pc1N0cmljdE1vZGUoKSwga2luZCA9PSBDb2RlRm9yQ29uc3RydWN0LCBmdW5jdGlvbktp
bmQgPT0gVW5saW5rZWRCdWlsdGluRnVuY3Rpb24sIGV4ZWN1dGFibGUtPmNvbnN0cnVjdG9yS2lu
ZCgpLCBjb21tZW50TW9kZSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5kaW5nKCksIHBhcnNlTW9kZSwg
ZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCksIGZhbHNlLCBpc0NsYXNzQ29udGV4dCwg
RXZhbENvbnRleHRUeXBlOjpGdW5jdGlvbkV2YWxDb250ZXh0KSwgZGVidWdnZXJNb2RlKTsKKyAg
ICBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiByZXN1bHQgPSBVbmxpbmtlZEZ1bmN0aW9uQ29k
ZUJsb2NrOjpjcmVhdGUoJnZtLCBGdW5jdGlvbkNvZGUsIEV4ZWN1dGFibGVJbmZvKGZ1bmN0aW9u
LT51c2VzRXZhbCgpLCBmdW5jdGlvbi0+aXNTdHJpY3RNb2RlKCksIGtpbmQgPT0gQ29kZUZvckNv
bnN0cnVjdCwgZnVuY3Rpb25LaW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uLCBleGVjdXRh
YmxlLT5jb25zdHJ1Y3RvcktpbmQoKSwgc2NyaXB0TW9kZSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5k
aW5nKCksIHBhcnNlTW9kZSwgZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCksIGZhbHNl
LCBpc0NsYXNzQ29udGV4dCwgRXZhbENvbnRleHRUeXBlOjpGdW5jdGlvbkV2YWxDb250ZXh0KSwg
ZGVidWdnZXJNb2RlKTsKIAogICAgIGVycm9yID0gQnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRl
KHZtLCBmdW5jdGlvbi5nZXQoKSwgcmVzdWx0LCBkZWJ1Z2dlck1vZGUsIGV4ZWN1dGFibGUtPnBh
cmVudFNjb3BlVERaVmFyaWFibGVzKCkpOwogCkBAIC03NSw3ICs3NSw3IEBAIHN0YXRpYyBVbmxp
bmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBnZW5lcmF0ZVVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2so
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJjZU92
ZXJyaWRlLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSogbm9kZSwgVW5saW5rZWRGdW5jdGlvbktpbmQg
a2luZCwgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlckNvbW1lbnRN
b2RlIGNvbW1lbnRNb2RlLCBWYXJpYWJsZUVudmlyb25tZW50JiBwYXJlbnRTY29wZVREWlZhcmlh
YmxlcywgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSkKK1VubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFJlZlB0cjxTb3VyY2VQ
cm92aWRlcj4mJiBzb3VyY2VPdmVycmlkZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqIG5vZGUsIFVu
bGlua2VkRnVuY3Rpb25LaW5kIGtpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0
eSwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmIHBh
cmVudFNjb3BlVERaVmFyaWFibGVzLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRU
eXBlKQogICAgIDogQmFzZSgqdm0sIHN0cnVjdHVyZSkKICAgICAsIG1fZmlyc3RMaW5lT2Zmc2V0
KG5vZGUtPmZpcnN0TGluZSgpIC0gc291cmNlLmZpcnN0TGluZSgpKQogICAgICwgbV9saW5lQ291
bnQobm9kZS0+bGFzdExpbmUoKSAtIG5vZGUtPmZpcnN0TGluZSgpKQpAQCAtODksMTYgKzg5LDE2
IEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJs
ZShWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0CiAgICAgLCBtX3R5cGVQcm9maWxpbmdFbmRPZmZz
ZXQobm9kZS0+c3RhcnRTdGFydE9mZnNldCgpICsgbm9kZS0+c291cmNlKCkubGVuZ3RoKCkgLSAx
KQogICAgICwgbV9wYXJhbWV0ZXJDb3VudChub2RlLT5wYXJhbWV0ZXJDb3VudCgpKQogICAgICwg
bV9mZWF0dXJlcygwKQorICAgICwgbV9zb3VyY2VQYXJzZU1vZGUobm9kZS0+cGFyc2VNb2RlKCkp
CiAgICAgLCBtX2lzSW5TdHJpY3RDb250ZXh0KG5vZGUtPmlzSW5TdHJpY3RDb250ZXh0KCkpCiAg
ICAgLCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzKGZhbHNlKQogICAgICwgbV9pc0J1aWx0aW5GdW5j
dGlvbihraW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKQogICAgICwgbV9jb25zdHJ1Y3RB
YmlsaXR5KHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RBYmlsaXR5KSkKICAgICAsIG1f
Y29uc3RydWN0b3JLaW5kKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5jb25zdHJ1Y3Rvcktp
bmQoKSkpCiAgICAgLCBtX2Z1bmN0aW9uTW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+
ZnVuY3Rpb25Nb2RlKCkpKQotICAgICwgbV9jb21tZW50TW9kZShzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oY29tbWVudE1vZGUpKQorICAgICwgbV9zY3JpcHRNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihzY3JpcHRNb2RlKSkKICAgICAsIG1fc3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihub2RlLT5zdXBlckJpbmRpbmcoKSkpCiAgICAgLCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSkKLSAgICAsIG1fc291cmNlUGFy
c2VNb2RlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihub2RlLT5wYXJzZU1vZGUoKSkpCiAgICAgLCBt
X25hbWUobm9kZS0+aWRlbnQoKSkKICAgICAsIG1fZWNtYU5hbWUobm9kZS0+ZWNtYU5hbWUoKSkK
ICAgICAsIG1faW5mZXJyZWROYW1lKG5vZGUtPmluZmVycmVkTmFtZSgpKQpAQCAtMTA5LDEwICsx
MDksOSBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgIEFTU0VSVChtX2NvbnN0cnVjdEFi
aWxpdHkgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbnN0cnVjdEFiaWxpdHkpKTsKICAgICBB
U1NFUlQobV9jb25zdHJ1Y3RvcktpbmQgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPmNv
bnN0cnVjdG9yS2luZCgpKSk7CiAgICAgQVNTRVJUKG1fZnVuY3Rpb25Nb2RlID09IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihub2RlLT5mdW5jdGlvbk1vZGUoKSkpOwotICAgIEFTU0VSVChtX2NvbW1l
bnRNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkpOworICAgIEFTU0VS
VChtX3NjcmlwdE1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNjcmlwdE1vZGUpKTsKICAg
ICBBU1NFUlQobV9zdXBlckJpbmRpbmcgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnN1
cGVyQmluZGluZygpKSk7CiAgICAgQVNTRVJUKG1fZGVyaXZlZENvbnRleHRUeXBlID09IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihkZXJpdmVkQ29udGV4dFR5cGUpKTsKLSAgICBBU1NFUlQobV9zb3Vy
Y2VQYXJzZU1vZGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG5vZGUtPnBhcnNlTW9kZSgpKSk7
CiAKICAgICBtX3BhcmVudFNjb3BlVERaVmFyaWFibGVzLnN3YXAocGFyZW50U2NvcGVURFpWYXJp
YWJsZXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAppbmRleCAxZTNjYmFmZmVjMjg4N2M3OTYw
N2Q0ZDA3NzgzMTQzNTZhMTgwZTMyLi5lNGMwNGE2MGVkYzllNzFhYzU3NWM3MmRjMDY3NzFjNGVk
ODFiNDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaApAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6
CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7
CiAKLSAgICBzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGNyZWF0ZShWTSogdm0s
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqIG5vZGUsIFVu
bGlua2VkRnVuY3Rpb25LaW5kIHVubGlua2VkRnVuY3Rpb25LaW5kLCBDb25zdHJ1Y3RBYmlsaXR5
IGNvbnN0cnVjdEFiaWxpdHksIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUsIFZhcmlh
YmxlRW52aXJvbm1lbnQmIHBhcmVudFNjb3BlVERaVmFyaWFibGVzLCBEZXJpdmVkQ29udGV4dFR5
cGUgZGVyaXZlZENvbnRleHRUeXBlLCBSZWZQdHI8U291cmNlUHJvdmlkZXI+JiYgc291cmNlT3Zl
cnJpZGUgPSBudWxscHRyKQorICAgIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSog
Y3JlYXRlKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBGdW5jdGlvbk1ldGFkYXRh
Tm9kZSogbm9kZSwgVW5saW5rZWRGdW5jdGlvbktpbmQgdW5saW5rZWRGdW5jdGlvbktpbmQsIENv
bnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eSwgSlNQYXJzZXJTY3JpcHRNb2RlIGNvbW1l
bnRNb2RlLCBWYXJpYWJsZUVudmlyb25tZW50JiBwYXJlbnRTY29wZVREWlZhcmlhYmxlcywgRGVy
aXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgUmVmUHRyPFNvdXJjZVByb3ZpZGVy
PiYmIHNvdXJjZU92ZXJyaWRlID0gbnVsbHB0cikKICAgICB7CiAgICAgICAgIFVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlKiBpbnN0YW5jZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlPih2bS0+aGVhcCkpCiAgICAgICAgICAgICBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZSh2bSwgdm0tPnVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlU3Ry
dWN0dXJlLmdldCgpLCBzb3VyY2UsIFdURk1vdmUoc291cmNlT3ZlcnJpZGUpLCBub2RlLCB1bmxp
bmtlZEZ1bmN0aW9uS2luZCwgY29uc3RydWN0QWJpbGl0eSwgY29tbWVudE1vZGUsIHBhcmVudFNj
b3BlVERaVmFyaWFibGVzLCBkZXJpdmVkQ29udGV4dFR5cGUpOwpAQCAtMTI3LDcgKzEyNyw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgaXNCdWlsdGluRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X2lzQnVpbHRpbkZ1bmN0aW9uOyB9CiAgICAgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmls
aXR5KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29uc3RydWN0QWJpbGl0eT4obV9jb25z
dHJ1Y3RBYmlsaXR5KTsgfQotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRN
b2RlKTsgfQorICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PEpTUGFyc2VyU2NyaXB0TW9kZT4obV9zY3JpcHRNb2RlKTsgfQogICAg
IGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBjb25zdHJ1
Y3RvcktpbmQoKSAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7IH0KICAgICBjb25zdCBWYXJpYWJs
ZUVudmlyb25tZW50KiBwYXJlbnRTY29wZVREWlZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuICZt
X3BhcmVudFNjb3BlVERaVmFyaWFibGVzOyB9CiAgICAgCkBAIC0xNDEsNyArMTQxLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U291cmNlTWFwcGluZ1VSTERpcmVjdGl2ZShjb25zdCBTdHJpbmcm
IHNvdXJjZU1hcHBpbmdVUkwpIHsgbV9zb3VyY2VNYXBwaW5nVVJMRGlyZWN0aXZlID0gc291cmNl
TWFwcGluZ1VSTDsgfQogCiBwcml2YXRlOgotICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
KFZNKiwgU3RydWN0dXJlKiwgY29uc3QgU291cmNlQ29kZSYsIFJlZlB0cjxTb3VyY2VQcm92aWRl
cj4mJiBzb3VyY2VPdmVycmlkZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqLCBVbmxpbmtlZEZ1bmN0
aW9uS2luZCwgQ29uc3RydWN0QWJpbGl0eSwgSlNQYXJzZXJDb21tZW50TW9kZSwgVmFyaWFibGVF
bnZpcm9ubWVudCYsICBKU0M6OkRlcml2ZWRDb250ZXh0VHlwZSk7CisgICAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUoVk0qLCBTdHJ1Y3R1cmUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUmVmUHRy
PFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJjZU92ZXJyaWRlLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSos
IFVubGlua2VkRnVuY3Rpb25LaW5kLCBDb25zdHJ1Y3RBYmlsaXR5LCBKU1BhcnNlclNjcmlwdE1v
ZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmLCAgSlNDOjpEZXJpdmVkQ29udGV4dFR5cGUpOwogCiAg
ICAgdW5zaWduZWQgbV9maXJzdExpbmVPZmZzZXQ7CiAgICAgdW5zaWduZWQgbV9saW5lQ291bnQ7
CkBAIC0xNTUsMTYgKzE1NSwxNiBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdHlwZVByb2Zp
bGluZ0VuZE9mZnNldDsKICAgICB1bnNpZ25lZCBtX3BhcmFtZXRlckNvdW50OwogICAgIENvZGVG
ZWF0dXJlcyBtX2ZlYXR1cmVzOworICAgIFNvdXJjZVBhcnNlTW9kZSBtX3NvdXJjZVBhcnNlTW9k
ZTsKICAgICB1bnNpZ25lZCBtX2lzSW5TdHJpY3RDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBt
X2hhc0NhcHR1cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lzQnVpbHRpbkZ1bmN0
aW9uIDogMTsKICAgICB1bnNpZ25lZCBtX2NvbnN0cnVjdEFiaWxpdHk6IDE7CiAgICAgdW5zaWdu
ZWQgbV9jb25zdHJ1Y3RvcktpbmQgOiAyOwogICAgIHVuc2lnbmVkIG1fZnVuY3Rpb25Nb2RlIDog
MjsgLy8gRnVuY3Rpb25Nb2RlCi0gICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsgLy8gSlNQ
YXJzZXJDb21tZW50TW9kZQorICAgIHVuc2lnbmVkIG1fc2NyaXB0TW9kZTogMTsgLy8gSlNQYXJz
ZXJTY3JpcHRNb2RlCiAgICAgdW5zaWduZWQgbV9zdXBlckJpbmRpbmcgOiAxOwogICAgIHVuc2ln
bmVkIG1fZGVyaXZlZENvbnRleHRUeXBlOiAyOwotICAgIHVuc2lnbmVkIG1fc291cmNlUGFyc2VN
b2RlIDogNDsgLy8gU291cmNlUGFyc2VNb2RlCiAKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRG
dW5jdGlvbkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVCbG9ja0ZvckNhbGw7CiAgICAgV3JpdGVC
YXJyaWVyPFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2s+IG1fdW5saW5rZWRDb2RlQmxvY2tGb3JD
b25zdHJ1Y3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDA3NWY1Y2Q5NmFiOWUyZDZmYTJhOGJlMDcw
MDA2MWZlMWE1MDM5NmQuLjgwNjEzZDA2YzMwZWUzYjhiNzIyZmJjMjc5NjY1NmE4NTlhODVmZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yOTg2LDE3ICsyOTg2LDE0IEBAIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRz
dCwgRnVuY0V4CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBBcnJvd0Z1bmNFeHByTm9kZSogZnVu
YykKIHsKLSAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNl
UGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSk7CisgICAgQVNTRVJUKGZ1bmMtPm1ldGFkYXRh
KCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwg
ZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Nb2RlKTsKICAgICBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRz
dCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KIAogUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKFJlZ2lzdGVySUQqIGRz
dCwgTWV0aG9kRGVmaW5pdGlvbk5vZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJUKGZ1bmMtPm1ldGFk
YXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+
cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlCi0gICAgICAgIHx8IGZ1
bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9k
ZSk7CisgICAgQVNTRVJUKGlzTWV0aG9kUGFyc2VNb2RlKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNl
TW9kZSgpKSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMt
Pm1ldGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOTA0NzNi
ZjAyZTY4NGNmYWFlNTNjMTM1NzJiODhkYjUxZGJhZmVhOS4uNzhhNGJiZjJkYTc0Njg5NzM1MjU5
NjU2NTNmNTI5ODdiNGVmNzVkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtMjg2LDcgKzI4Niw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBib29sIHVzZXNUaGlzKCkgY29uc3QgeyByZXR1cm4gbV9z
Y29wZU5vZGUtPnVzZXNUaGlzKCk7IH0KICAgICAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZUJsb2NrLT5jb25zdHJ1Y3RvcktpbmQoKTsg
fQogICAgICAgICBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9j
b2RlQmxvY2stPnN1cGVyQmluZGluZygpOyB9Ci0gICAgICAgIEpTUGFyc2VyQ29tbWVudE1vZGUg
Y29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGVCbG9jay0+Y29tbWVudE1vZGUoKTsg
fQorICAgICAgICBKU1BhcnNlclNjcmlwdE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVy
biBtX2NvZGVCbG9jay0+Y29tbWVudE1vZGUoKTsgfQogCiAgICAgICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3M+CiAgICAgICAgIHN0YXRpYyBQYXJzZXJFcnJvciBnZW5lcmF0ZShWTSYgdm0s
IEFyZ3MmJiAuLi5hcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDJlZGVhOGNiMWJmMDk0Mzg0YTAzYTZmOTBiYWY4
ODMwNjU2MTA3YWYuLmY0MmJlZGUzOWM3NmYyYzUwM2FmYWQ0NzVhYzgwYWQ4NWIzMTM0N2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAKQEAgLTM1MDIsNiArMzUwMiwxOCBAQCBSZWdpc3RlcklEKiBZaWVsZEV4cHJOb2RlOjpl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRAogICAg
IHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0
KSwgdmFsdWUuZ2V0KCkpOwogfQogCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
QXdhaXRFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitSZWdpc3Rl
cklEKiBBd2FpdEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxSZWdpc3RlcklEPiBhcmcgPSBn
ZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7CisgICAgZ2VuZXJhdG9yLmVtaXROb2RlKGFyZy5nZXQo
KSwgYXJndW1lbnQoKSk7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHZhbHVlID0gZ2VuZXJhdG9y
LmVtaXRZaWVsZChhcmcuZ2V0KCkpOworICAgIGlmIChkc3QgPT0gZ2VuZXJhdG9yLmlnbm9yZWRS
ZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGdlbmVyYXRvci5l
bWl0TW92ZShnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB2YWx1ZS5nZXQoKSk7Cit9
CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB2b2lkIENsYXNzRGVjbE5vZGU6OmVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IDFjMTEzYmFlMTRk
NTZkNzgwOWExMGRmYjljNWY2Mzc4NjAwYjcwMDEuLmZkYmQyZjQ4NDIyODk5MGE0MDc1MGFmNzc1
YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRl
ci5oCkBAIC0zNjcsNiArMzY3LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG5vZGU7CiAg
ICAgfQogCisgICAgQXdhaXRFeHByTm9kZSogY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50LCBjb25zdCBKU1RleHRQb3Np
dGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIGVuZCkKKyAgICB7CisgICAgICAgIEFTU0VSVChhcmd1bWVudCk7CisgICAgICAgIEF3
YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEF3YWl0RXhwck5vZGUobG9j
YXRpb24sIGFyZ3VtZW50KTsKKyAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRpb24obm9kZSwgc3Rh
cnQsIGRpdm90LCBlbmQpOworICAgICAgICByZXR1cm4gbm9kZTsKKyAgICB9CisKICAgICBDbGFz
c0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlv
biwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPEFTVEJ1aWxkZXI+JiBjbGFzc0luZm8sIFZhcmlhYmxl
RW52aXJvbm1lbnQmIGNsYXNzRW52aXJvbm1lbnQsIEV4cHJlc3Npb25Ob2RlKiBjb25zdHJ1Y3Rv
ciwKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIHBhcmVudENsYXNzLCBQcm9wZXJ0eUxpc3ROb2Rl
KiBpbnN0YW5jZU1ldGhvZHMsIFByb3BlcnR5TGlzdE5vZGUqIHN0YXRpY01ldGhvZHMpCiAgICAg
ewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5KGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorICAgIHsK
KyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IG1fc291cmNl
Q29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8uc3RhcnRPZmZzZXQsIGZ1bmN0aW9uSW5m
by5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbigpID8gZnVuY3Rpb25JbmZvLmVu
ZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0LCBmdW5jdGlvbkluZm8uc3RhcnRM
aW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1uKTsKKyAgICAgICAgICAgIEZ1
bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9j
YXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25JbmZvLmJvZHksIHNvdXJjZSk7Cisg
ICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0TG9jKGZ1bmN0aW9uSW5mby5zdGFydExp
bmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24u
bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVuY3Rpb25JbmZv
KTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlTWV0aG9kRGVmaW5pdGlvbihj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7CiAgICAgICAgIE1ldGhvZERlZmluaXRp
b25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIE1ldGhvZERlZmluaXRpb25Ob2Rl
KGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUKaW5kZXggNDU4MmQwMGFhZTk3
ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3ZGZjNTVjMGRhOGMwMzFkNjY0MzIxMzZl
NzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9L
ZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0tleXdvcmRz
LnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVFVE9LRU4KIGZhbHNlCQlGQUxTRVRPS0VO
CiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJVAogYnJlYWsJCUJSRUFLCiBjYXNlCQlD
QVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5k
ZXggMTI5OWI1NzYzYWVmZTQ1ZGVjMjAyZjBlMzRkMDVmOWYyOWIxNTg3ZC4uYmM3Njc3OTIxODVj
MDEyYzMxNGYwMDBmYTJjMTAwYzA0YTZmY2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5jcHAKQEAgLTQ4NiwxMSArNDg2LDExIEBAIHN0YXRpYyBjb25zdCBMQ2hhciBzaW5n
bGVDaGFyYWN0ZXJFc2NhcGVWYWx1ZXNGb3JBU0NJSVsxMjhdID0gewogfTsKIAogdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+Ci1MZXhlcjxUPjo6TGV4ZXIoVk0qIHZtLCBKU1BhcnNlckJ1aWx0aW5Nb2Rl
IGJ1aWx0aW5Nb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlKQorTGV4ZXI8VD46
OkxleGVyKFZNKiB2bSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJT
Y3JpcHRNb2RlIHNjcmlwdE1vZGUpCiAgICAgOiBtX2lzUmVwYXJzaW5nRnVuY3Rpb24oZmFsc2Up
CiAgICAgLCBtX3ZtKHZtKQogICAgICwgbV9wYXJzaW5nQnVpbHRpbkZ1bmN0aW9uKGJ1aWx0aW5N
b2RlID09IEpTUGFyc2VyQnVpbHRpbk1vZGU6OkJ1aWx0aW4pCi0gICAgLCBtX2NvbW1lbnRNb2Rl
KGNvbW1lbnRNb2RlKQorICAgICwgbV9zY3JpcHRNb2RlKHNjcmlwdE1vZGUpCiB7CiB9CiAKQEAg
LTE4ODQsNyArMTg4NCw3IEBAIHN0YXJ0OgogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAg
ICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAn
LScgJiYgcGVlaygyKSA9PSAnLScpIHsKLSAgICAgICAgICAgIGlmIChtX2NvbW1lbnRNb2RlID09
IEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMpIHsKKyAgICAgICAgICAgIGlmIChtX3Njcmlw
dE1vZGUgPT0gSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljKSB7CiAgICAgICAgICAgICAgICAg
Ly8gPCEtLSBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBjb21tZW50IChmb3Igd3d3IHVz
YWdlKQogICAgICAgICAgICAgICAgIGdvdG8gaW5TaW5nbGVMaW5lQ29tbWVudDsKICAgICAgICAg
ICAgIH0KQEAgLTE5MzksNyArMTkzOSw3IEBAIHN0YXJ0OgogICAgICAgICBpZiAobV9jdXJyZW50
ID09ICctJykgewogICAgICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgICAgIGlmIChtX2F0TGlu
ZVN0YXJ0ICYmIG1fY3VycmVudCA9PSAnPicpIHsKLSAgICAgICAgICAgICAgICBpZiAobV9jb21t
ZW50TW9kZSA9PSBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljKSB7CisgICAgICAgICAgICAg
ICAgaWYgKG1fc2NyaXB0TW9kZSA9PSBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMpIHsKICAg
ICAgICAgICAgICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICAgZ290byBpblNp
bmdsZUxpbmVDb21tZW50OwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuaAppbmRleCAyNDdjZTYyNGIwMmEyYTAyYTFjY2FiYzIxZTBlM2I4YTM0MWUwNTE4
Li5iZjZkNjNhYTIyNGE1MWVlN2VmOWNmYmNmZTc0MDhlMzk2ZmRiNzM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIExleGVyIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAogcHVibGljOgotICAgIExleGVyKFZNKiwgSlNQ
YXJzZXJCdWlsdGluTW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSk7CisgICAgTGV4ZXIoVk0qLCBK
U1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1BhcnNlclNjcmlwdE1vZGUpOwogICAgIH5MZXhlcigpOwog
CiAgICAgLy8gQ2hhcmFjdGVyIG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMuCkBAIC0yMTYsNyArMjE2
LDcgQEAgcHJpdmF0ZToKIAogICAgIFZNKiBtX3ZtOwogICAgIGJvb2wgbV9wYXJzaW5nQnVpbHRp
bkZ1bmN0aW9uOwotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgbV9jb21tZW50TW9kZTsKKyAgICBK
U1BhcnNlclNjcmlwdE1vZGUgbV9zY3JpcHRNb2RlOwogfTsKIAogdGVtcGxhdGUgPD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggNjli
NDQyOGU4NzljYTgwMGU5Y2ExYjg3YjM2MmEyMzcwODg3N2JjNi4uYzFkNTQ3YmM3ZjkwMWMwNmM2
NTM5ODYyODlkMzViNTQ1MjA1MDM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTkzOCw2ICs5MzgsMTIgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBBd2FpdEV4cHJOb2RlOjpBd2FpdEV4cHJO
b2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBhcmd1
bWVudCkKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2Fy
Z3VtZW50KGFyZ3VtZW50KQorICAgIHsKKyAgICB9CisKICAgICBpbmxpbmUgQ2xhc3NEZWNsTm9k
ZTo6Q2xhc3NEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNz
aW9uTm9kZSogY2xhc3NEZWNsYXJhdGlvbikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0
aW9uKQogICAgICAgICAsIG1fY2xhc3NEZWNsYXJhdGlvbihjbGFzc0RlY2xhcmF0aW9uKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGUyZWFhZTEwMzg4MzI4M2YzMDFiZjAy
NzM5NGYzMTA5ODJjYjAzMWUuLmJmMWE5MDhhMjZkMTJjZDU0ZmZkZmE1MmUxM2U3ZjI5ZjU4ODZj
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTIwMDYsNiArMjAwNiwx
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBtX2RlbGVnYXRlOwogICAgIH07CiAK
KyAgICBjbGFzcyBBd2FpdEV4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlLCBw
dWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXdh
aXRFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uTm9kZSogYXJndW1l
bnQpOworCisgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fYXJndW1lbnQ7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisK
KyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fYXJndW1lbnQ7CisgICAgfTsKKwogICAgIGNsYXNz
IENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUsIHB1YmxpYyBWYXJp
YWJsZUVudmlyb25tZW50Tm9kZSB7CiAgICAgcHVibGljOgogICAgICAgICB1c2luZyBQYXJzZXJB
cmVuYURlbGV0YWJsZTo6b3BlcmF0b3IgbmV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCmluZGV4IDQzNzA4ZmZhZTI2NDkzOTI4ZDViMjEzOTQyMjhmYzZjYzJmODg5YzYu
LmQwMmY0ZDcxNGE4YmVhZTI1MzFlNDEyOTUyOTQ4YTcxZjY4NmM2NzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0LDggQEAKICAgICAgICAgc2Vt
YW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3JkICciLCBnZXRUb2tlbigpLCAi
JyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rva2VuLm1fdHlwZSAmIEtleXdv
cmRUb2tlbkZsYWcpIFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSBrZXl3
b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAorICAgIGlmIChp
c0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwKKyAgICAgICAgc2VtYW50aWNG
YWlsKCJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUgKDApCiAKIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CkBAIC0xODksNyArMTkxLDcgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6bG9n
RXJyb3IoYm9vbCBzaG91bGRQcmludFRva2VuLCBjb25zdCBBJiB2YWx1ZTEsIGNvbnN0IEIKIH0K
IAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLVBhcnNlcjxMZXhlclR5cGU+OjpQYXJz
ZXIoVk0qIHZtLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUg
YnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1l
bnRNb2RlIGNvbW1lbnRNb2RlLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBTdXBlckJpbmRp
bmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1Y3RvcktpbmQgZGVmYXVsdENvbnN0cnVjdG9yS2luZCwg
RGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgYm9vbCBpc0V2YWxDb250ZXh0
LCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlKQorUGFyc2VyPExleGVyVHlwZT46OlBh
cnNlcihWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9k
ZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyU2Ny
aXB0TW9kZSBzY3JpcHRNb2RlLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBTdXBlckJpbmRp
bmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1Y3RvcktpbmQgZGVmYXVsdENvbnN0cnVjdG9yS2luZCwg
RGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgYm9vbCBpc0V2YWxDb250ZXh0
LCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlKQogICAgIDogbV92bSh2bSkKICAgICAs
IG1fc291cmNlKCZzb3VyY2UpCiAgICAgLCBtX2hhc1N0YWNrT3ZlcmZsb3coZmFsc2UpCkBAIC0x
OTgsMTIgKzIwMCwxMiBAQCBQYXJzZXI8TGV4ZXJUeXBlPjo6UGFyc2VyKFZNKiB2bSwgY29uc3Qg
U291cmNlQ29kZSYgc291cmNlLCBKU1BhcnNlckJ1aWx0aW5Nb2RlCiAgICAgLCBtX3N0YXRlbWVu
dERlcHRoKDApCiAgICAgLCBtX3NvdXJjZUVsZW1lbnRzKDApCiAgICAgLCBtX3BhcnNpbmdCdWls
dGluKGJ1aWx0aW5Nb2RlID09IEpTUGFyc2VyQnVpbHRpbk1vZGU6OkJ1aWx0aW4pCi0gICAgLCBt
X2NvbW1lbnRNb2RlKGNvbW1lbnRNb2RlKQorICAgICwgbV9zY3JpcHRNb2RlKHNjcmlwdE1vZGUp
CiAgICAgLCBtX3N1cGVyQmluZGluZyhzdXBlckJpbmRpbmcpCiAgICAgLCBtX2RlZmF1bHRDb25z
dHJ1Y3RvcktpbmQoZGVmYXVsdENvbnN0cnVjdG9yS2luZCkKICAgICAsIG1faW1tZWRpYXRlUGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkluU3RhdGVtZW50KGZhbHNlKQogewotICAgIG1f
bGV4ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPExleGVyVHlwZT4odm0sIGJ1aWx0aW5Nb2RlLCBjb21t
ZW50TW9kZSk7CisgICAgbV9sZXhlciA9IHN0ZDo6bWFrZV91bmlxdWU8TGV4ZXJUeXBlPih2bSwg
YnVpbHRpbk1vZGUsIHNjcmlwdE1vZGUpOwogICAgIG1fbGV4ZXItPnNldENvZGUoc291cmNlLCAm
bV9wYXJzZXJBcmVuYSk7CiAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmUgPSBzb3VyY2UuZmly
c3RMaW5lKCk7CiAgICAgbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gc291cmNlLnN0
YXJ0T2Zmc2V0KCk7CkBAIC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVlTmFtZSwgU291cmNlUGFyc2VN
bwogICAgIHNjb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0
aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5m
dW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6Qm9keSk7CiAKLSAgICBib29s
IGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uID0gZmFsc2U7CisgICAgYm9vbCBpc0Fycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFz
eW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICYmICFtYXRjaChPUEVOQlJBQ0UpOwogICAgIGlmICht
X2xleGVyLT5pc1JlcGFyc2luZ0Z1bmN0aW9uKCkpIHsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25J
bmZvPEFTVEJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKQorICAgICAgICBpZiAoU291cmNlUGFy
c2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKHBh
cnNlTW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShwYXJzZU1vZGUpKQogICAg
ICAgICAgICAgbV9wYXJhbWV0ZXJzID0gY3JlYXRlR2VuZXJhdG9yUGFyYW1ldGVycyhjb250ZXh0
LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhjb250ZXh0LCBwYXJzZU1v
ZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJz
ZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlICYmICFoYXNFcnJvcigpKSB7CisgICAgICAgIGlmIChT
b3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUp
ICYmICFoYXNFcnJvcigpKSB7CiAgICAgICAgICAgICAvLyBUaGUgb25seSB3YXkgd2UgY291bGQg
aGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBydW4gb3V0IG9mIHN0YWNrIHNw
YWNlLgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwog
ICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYgQEAgU3RyaW5nIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXImIGNhbGxlZU5hbWUsIFNvdXJj
ZVBhcnNlTW8KICAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBudWxscHRyOwog
ICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBlYXJseSBpcyBpZiB3ZSByZXBh
cnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sgc3BhY2UuCiAgICAgaWYgKCFo
YXNFcnJvcigpKSB7Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbikK
KyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkK
KyAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxl
bWVudHMoY29udGV4dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwg
Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAoaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24pCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlQXJyb3dGdW5j
dGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMoY29udGV4dCk7CiAgICAgICAg
IGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkpCiAgICAgICAgICAgICBzb3Vy
Y2VFbGVtZW50cyA9IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2Rl
KTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkKLSAgICAgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhjb250
ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0Zv
clN0cmljdE1vZGUpOwotICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHBhcnNlTW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUpCisgICAgICAgICAg
ICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJp
Y3RNb2RlKTsKICAgICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5nID0gY29uc3VtZShFT0ZUT0sp
OwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5l
cihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQYXJzZU1vCiAgICAgZm9yIChh
dXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAgICB2YXJEZWNsYXJhdGlvbnMu
bWFya1ZhcmlhYmxlQXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBpZiAocGFyc2VNb2RlID09IFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkgeworICAgIGlmIChT
b3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rp
b25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUocGFyc2VNb2RlKSkgewogICAgICAgICBpZiAoc2NvcGUtPnVzZWRWYXJpYWJsZXNDb250
YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKSkKICAgICAgICAgICAg
IGNvbnRleHQucHJvcGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAgfQpAQCAtMzU0LDIxICszNTYs
MTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVt
ZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkK
IHsKLSAgICBib29sIGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBBUkVOKTsKLSAgICBib29sIGlz
SWRlbnQgPSBtYXRjaChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFpc09wZW5QYXJlbiAmJiAhaXNJ
ZGVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9vbCBpc0Fycm93RnVuY3Rpb24g
PSBmYWxzZTsKLSAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOwotICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkgewotICAgICAgICBuZXh0KCk7
Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBhcmVuKTsKKyAgICBpZiAobWF0
Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7CisgICAgICAgIGJvb2wgaXNB
cnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgewog
ICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uID0gbWF0Y2go
QVJST1dGVU5DVElPTik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBib29sIFBhcnNlcjxMZXhlclR5
cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAgICAgICAgICAgdW5zaWduZWQg
cGFyYW1ldGVyc0NvdW50ID0gMDsKICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IHBhcnNl
Rm9ybWFsUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhDaGVja2VyLmNyZWF0ZUZvcm1h
bFBhcmFtZXRlckxpc3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBjb25zdW1lKENMT1NFUEFSRU4p
ICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAg
ICBwb3BTY29wZShmYWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVlZHNGcmVlVmFyaWFibGVJbmZv
KTsKICAgICAgICAgfQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwogICAgIH0KLSAgICAgICAg
Ci0gICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKLSAgICAgICAg
Ci0gICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlmIChtYXRjaFNwZWNJZGVudGlm
aWVyKCkpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBib29sIGlzQXJyb3dGdW5j
dGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9uOwor
ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KQEAgLTU0MCw2ICs1MzksNTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2VuZXJhdG8KIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgU291cmNlRWxlbWVu
dHNNb2RlIG1vZGUpCit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1v
ZGUocGFyc2VNb2RlKSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRl
U291cmNlRWxlbWVudHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0g
dG9rZW5TdGFydCgpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24o
KTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgaW50IGZ1
bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisKKyAg
ICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgaW5mby5uYW1lID0g
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgIGNyZWF0ZUdlbmVyYXRv
clBhcmFtZXRlcnMoY29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3VudCk7CisgICAgaW5mby5zdGFy
dE9mZnNldCA9IHBhcmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0YXJ0TGluZSA9IHRva2VuTGlu
ZSgpOworICAgIFNvdXJjZVBhcnNlTW9kZSBpbm5lclBhcnNlTW9kZSA9IHBhcnNlTW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUKKyAgICAgICAgPyBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlCisgICAgICAgIDogU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgeworICAgICAgICBBdXRvUG9wU2Nv
cGVSZWYgYXN5bmNGdW5jdGlvbkJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgICAg
IGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNlTW9kZShpbm5lclBhcnNlTW9k
ZSk7CisgICAgICAgIFN5bnRheENoZWNrZXIgYXN5bmNGdW5jdGlvbkNvbnRleHQoY29uc3RfY2Fz
dDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uKQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VBcnJvd0Z1bmN0
aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4
dCksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgYXJyb3cgZnVuY3Rpb24iKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhh
c3luY0Z1bmN0aW9uQ29udGV4dCwgbW9kZSksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5
bmMgZnVuY3Rpb24iKTsKKyAgICAgICAgcG9wU2NvcGUoYXN5bmNGdW5jdGlvbkJvZHlTY29wZSwg
VHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7CisgICAgfQorICAgIGluZm8uYm9k
eSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShzdGFydExvY2F0aW9uLCB0b2tlbkxv
Y2F0aW9uKCksIHN0YXJ0Q29sdW1uLCB0b2tlbkNvbHVtbigpLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIG1fc3VwZXJCaW5kaW5nLCBpbmZvLnBhcmFtZXRlckNvdW50LCBp
bm5lclBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pOworCisgICAgaW5m
by5lbmRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5lbmRPZmZzZXQgPSBpc0Fycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbiA/IHRva2VuTG9jYXRpb24oKS5lbmRPZmZzZXQgOiBtX3Rva2Vu
Lm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5wYXJhbWV0ZXJzU3RhcnRDb2x1bW4gPSBzdGFydENv
bHVtbjsKKworICAgIGF1dG8gZnVuY3Rpb25FeHByID0gY29udGV4dC5jcmVhdGVBc3luY0Z1bmN0
aW9uQm9keShzdGFydExvY2F0aW9uLCBpbmZvLCBpbm5lclBhcnNlTW9kZSk7CisgICAgYXV0byBz
dGF0ZW1lbnQgPSBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQoc3RhcnRMb2NhdGlvbiwgZnVu
Y3Rpb25FeHByLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lKTsKKyAgICBjb250
ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgc3RhdGVtZW50KTsKKworICAgIHJl
dHVybiBzb3VyY2VFbGVtZW50czsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgp
CiB7CiAgICAgLy8gVGhlIGdyYW1tYXIgaXMgZG9jdW1lbnRlZCBoZXJlOgpAQCAtNTYyLDcgKzYw
NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBs
ZSwgdW5kZXIgYSBnZW5lcmF0b3IgY29udGV4dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAi
eWllbGQiIHJldHVybnMgYGZhbHNlYC4KICAgICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtl
IHRvIGVudGVyIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5k
ZXIgdGhlIGNvbnRleHQgb2YgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAv
LyB0byByYWlzZSBjb25zaXN0ZW50IGVycm9ycyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAi
bGV0Ii4KLSAgICAgICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1h
dGNoKFlJRUxEKSkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkK
KyAgICAgICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJ
RUxEKSB8fCBtYXRjaChBV0FJVCkpICYmICFtYXRjaChPUEVOQlJBQ0UpICYmICFtYXRjaChPUEVO
QlJBQ0tFVCkpCiAgICAgICAgICAgICAgICAgc2hvdWxkUGFyc2VWYXJpYWJsZURlY2xhcmF0aW9u
ID0gZmFsc2U7CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAg
ICAgIH0KQEAgLTU4Miw2ICs2MjUsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExpc3QKICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIElERU5UOgorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICAvLyBFYWdlcmx5IHBhcnNl
IGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBpcyB0aGUgdW5jb21tb24gY2FzZSwK
KyAgICAgICAgICAgIC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IHBhcnNlZCBhcyBhbiBBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAgICAgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCkpKSB7
CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24o
Y29udGV4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIH0KKyAgICAgICAgRkFM
TFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAg
ICAgICAgLy8gVGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8gbm90aWNlIGxhYmVsZWQgc3Rh
dGVtZW50cwogICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxzbyBwYXJzZSB0aGVtIGFzIG5v
cm1hbCBzdGF0ZW1lbnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyaWFibGVE
ZWNsCiAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKICAgICAgICAgICAgIGZh
aWxJZlRydWUobWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlw
ZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6
Q29uc3REZWNsYXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJDYW4ndCB1c2UgJ2xldCcgYXMg
YW4gaWRlbnRpZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJhdGlvbiIpOworICAgICAgICAg
ICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2Vu
KSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJsZUtp
bmQoZGVjbGFyYXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29u
KCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0ID0gdmFyU3RhcnQ7CkBAIC0x
MDExLDYgKzEwNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZXN0cnVj
dHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNQYXR0
ZXJuLCBFcnJvckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgZmFp
bElmVHJ1ZUlmU3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fubm90IG1vZGlmeSAnIiwgcHJv
cGVydHlOYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dl
ZElkZW50aWZpZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMg
YSAiLCBkZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFtZShraW5kKSwgIiAiLCBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgICAgICAgICBpbm5l
clBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0LCBraW5kLCBleHBvcnRUeXBl
LCAqcHJvcGVydHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRpbmdDb250ZXh0LCBkdXBsaWNh
dGVJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewpA
QCAtMTA3OSw2ICsxMTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVz
dHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRGUKICAgICAgICAgICAg
IGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBp
biBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAgIGZhaWxJZlRydWUobWF0Y2go
TEVUKSAmJiAoa2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb0xldCB8fCBr
aW5kID09IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvQ29uc3QpLCAiQ2FuJ3QgdXNl
ICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhpY2FsRGVjbGFyYXRpb24iKTsK
KyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCht
X3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVzdHJ1Y3R1cmluZ0tpbmRUb1Zh
cmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNv
bigpKTsKICAgICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKGNvbnRleHQsIGtp
bmQsIGV4cG9ydFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwgbV90b2tlbiwgYmluZGluZ0Nv
bnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBuZXh0KCk7CiAgICAgICAgIGJy
ZWFrOwpAQCAtMTYzMSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihjb250ZXh0LCBEZWNsYXJhdGlv
blR5cGU6OlZhckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGVU5DVElP
TjogewotICAgICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAgICAgICAgICAgZmFpbElmRmFs
c2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50LCAiRnVuY3Rpb24g
ZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJsb2NrIHN0YXRlbWVudHMgb3Ig
YXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAgICAgICAgIGlmIChjdXJyZW50
U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgLy8gQW55IGZ1bmN0aW9u
IGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBhIHN5bnRheCBlcnJvciB1bmxl
c3MgaXQncwotICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiBJZiBp
dCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1hZ2ljYWxseQotICAgICAgICAg
ICAgICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0YXRlbWVudCBpcyBpbnNpZGUg
YSBibG9jayBzdGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8gdG8gdGhlIHZlcnkgdG9wIGxp
a2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAgICAgLy8gZnVuY3Rpb24gYSgp
IHsKLSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1bmN0aW9uIGZvbygpIHsgfQot
ICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAvLyB3aWxsIGJlIHJld3JpdHRl
biBhczoKLSAgICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkgewotICAgICAgICAgICAgICAg
IC8vICAgICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0gfQotICAgICAgICAgICAgICAg
IC8vIH0KLSAgICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYmxvY2tTY29wZSh0aGlzLCBw
dXNoU2NvcGUoKSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29wZS0+c2V0SXNMZXhpY2FsU2Nv
cGUoKTsKLSAgICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2ZW50VmFyRGVjbGFyYXRpb25z
KCk7Ci0gICAgICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7Ci0gICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9rZW5MaW5lKCk7Ci0KLSAgICAg
ICAgICAgICAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0
aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0gICAgICAg
ICAgICAgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3RlZCB2YWxpZCBmdW5jdGlvbiBz
dGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0gICAgICAgICAgICAgICAgVHJl
ZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVt
ZW50cygpOwotICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kU3RhdGVtZW50KHNvdXJjZUVs
ZW1lbnRzLCBmdW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jcmVh
dGVCbG9ja1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVudHMsIHN0YXJ0LCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5maW5hbGl6ZUxleGljYWxFbnZp
cm9ubWVudCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9uRGVjbGFyYXRpb25zKCkpOwot
ICAgICAgICAgICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0Zy
ZWVWYXJpYWJsZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAv
LyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2Rl
LiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAgICAgIC8vIHRvIGhvaXN0aW5n
IGJlaGF2aW9yLgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAgICAgICAgRGVwdGhNYW5hZ2Vy
IHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAgICAgICAgICAgICAgICBtX3N0
YXRlbWVudERlcHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9u
RGVjbGFyYXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkg
YWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1lbnRzIGluIHN0cmljdCBtb2Rl
Iik7CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNlOworICAgICAgICByZXN1bHQg
PSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3luYywgcGFy
ZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5LDYgKzE3NDUsMTIgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2UgdG9rZW5zIGltcGx5IHRoZSBl
bmQgb2YgYSBzZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAgIHJldHVybiAwOwogICAgIGNh
c2UgSURFTlQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hc3luYyAmJiBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50
KGNvbnRleHQsIHJlc3VsdCwgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVt
ZW50KSkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYK
KyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAgICAgICAgYm9vbCBhbGxvd0Z1
bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBw
YXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNvbnRleHQsIGFsbG93RnVuY3Rpb25EZWNs
YXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiArMTc3Niw2OCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3Rh
dGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wg
aXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQp
Cit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmljdE1vZGUoKSwgIkZ1bmN0aW9uIGRlY2xh
cmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mgb3Igc3dpdGNoIHN0YXRlbWVu
dHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxzZShwYXJlbnRBbGxvd3NGdW5jdGlv
bkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG9ubHkg
YWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0aGUgdG9wIGxldmVsIG9mIGEg
cHJvZ3JhbSIpOworICAgIGlmICghY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSkgeworICAg
ICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdyZSBpbiBmdW5jdGlv
biBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjaworICAgICAgICAvLyB0byBob2lzdGluZyBi
ZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZt
X3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDE7CisgICAgICAg
IGlmIChpc0FzeW5jKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uKGNvbnRleHQpOworICAgICAgICByZXR1cm4gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQpOworICAgIH0KKworICAgIC8vIEFueSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB0aGF0
IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5sZXNzIGl0J3MKKyAgICAvLyBp
biBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudCwg
d2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBpdCBhcyBpZiB0aGUgaWYvZWxzZSBzdGF0
ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgorICAgIC8vIHRvIHRoZSB2ZXJ5IHRv
cCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgorICAgIC8vIGZ1bmN0aW9uIGEoKSB7CisgICAg
Ly8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KKyAgICAvLyB9CisgICAgLy8gd2ls
bCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24gYSgpIHsKKyAgICAvLyAgICAgaWYg
KGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAgICAvLyB9CisgICAgQXV0b1BvcFNjb3Bl
UmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGJsb2NrU2NvcGUtPnNldElz
TGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+cHJldmVudFZhckRlY2xhcmF0aW9ucygp
OworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIGlu
dCBzdGFydCA9IHRva2VuTGluZSgpOworCisgICAgVHJlZVN0YXRlbWVudCBmdW5jdGlvbiA9IDA7
CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5jdGlvbiA9IHBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNlCisgICAgICAgIGZ1bmN0aW9uID0gcGFyc2VBc3lu
Y0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAg
ICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZhbGlkIGZ1bmN0aW9uIHN0YXRlbWVu
dCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc291
cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CisgICAgY29udGV4
dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0aW9uKTsKKyAgICBUcmVlU3Rh
dGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0ZW1lbnQobG9jYXRpb24sIHNv
dXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lLCBjdXJyZW50
U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwgY3VycmVudFNjb3BlKCktPnRh
a2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBwb3BTY29wZShibG9ja1Njb3BlLCBUcmVl
QnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBUcmVlU3RhdGVtZW50JiByZXN1
bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KQorewor
ICAgIEFTU0VSVCgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMpOworICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAg
ICBuZXh0KCk7CisgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1p
bmF0b3IoKSkgeworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSB0cnVlOworICAgICAgICBy
ZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29udGV4dCwgaXNBc3lu
YywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9y
bWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgVHJlZUZvcm1hbFBhcmFtZXRlckxp
c3QgbGlzdCwgdW5zaWduZWQmIHBhcmFtZXRlckNvdW50KQogewogI2RlZmluZSBmYWlsSWZEdXBs
aWNhdGVJZlZpb2xhdGlvbigpIFwKQEAgLTE3NjYsNiArMTg2MCw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJhbWV0
ZXJzKFRyZWVCCiAgICAgICAgIAogICAgICAgICBpZiAobWF0Y2goRE9URE9URE9UKSkgewogICAg
ICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCFtX3BhcnNl
clN0YXRlLmFsbG93QXdhaXQgJiYgbWF0Y2goQVdBSVQpLCAiQ2FuJ3QgdXNlICdhd2FpdCcgYXMg
YSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIpOwogICAgICAgICAgICAgVHJl
ZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRlc3RydWN0dXJpbmdQYXR0ZXJuID0gcGFyc2VEZXN0cnVj
dHVyaW5nUGF0dGVybihjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZDo6RGVzdHJ1Y3R1cmVUb1Bh
cmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCAmZHVwbGljYXRlUGFyYW1ldGVyLCAm
aGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsK
ICAgICAgICAgICAgIHBhcmFtZXRlciA9IGNvbnRleHQuY3JlYXRlUmVzdFBhcmFtZXRlcihkZXN0
cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1ldGVyQ291bnQpOwpAQCAtMTgzMyw2ICsxOTI4LDE0IEBA
IHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFyc2VNb2Rl
IG1vZGUpCiAgICAgICAgIHJldHVybiAiZ2VuZXJhdG9yIGZ1bmN0aW9uIjsKICAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6CiAgICAgICAgIHJldHVybiAiYXJyb3cg
ZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZToK
KyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlOgorICAgICAg
ICByZXR1cm4gImFzeW5jIGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5
bmNNZXRob2RNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIG1ldGhvZCI7CisgICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgorICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICByZXR1cm4gImFz
eW5jIGFycm93IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1v
ZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6CkBAIC0xODQ1LDEyICsxOTQ4
LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoU291cmNlUGFy
c2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlciwgY2xhc3MgRnVuY3Rpb25JbmZvVHlwZT4gdHlwZW5hbWUgVHJlZUJ1
aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VQYXJzZU1vZGUgbW9kZSwg
RnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rpb25JbmZvKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1v
ZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSAmJiBtb2RlICE9IFNvdXJjZVBhcnNl
TW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUgJiYgbW9kZSAhPSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVs
ZUV2YWx1YXRlTW9kZSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShTb3VyY2VQYXJzZU1vZGVTZXQo
U291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFs
eXplTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKG1v
ZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyYW1ldGVyTGlzdCA9IGNvbnRl
eHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNldEZvclNjb3BlPEZ1bmN0aW9u
UGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIobV9wYXJzZXJTdGF0ZS5mdW5j
dGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFyYW1ldGVycyk7CiAgICAgCi0g
ICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAg
ICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgIGlmIChV
TkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlv
bk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMo
bW9kZSkpKSkgeworICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50aWZpZXIoKSAmJiAhbWF0Y2go
T1BFTlBBUkVOKSkgewogICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAgICAgICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOwog
ICAgICAgICB9IGVsc2UgewpAQCAtMTk0MSw3ICsyMDQ0LDkgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAKLSAg
ICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRv
cigpOworICAgIGJvb2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPSBpc0Rpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbik7CisgICAgY29uc3QgY2hhciogaXNEaXNhbGxvd2Vk
QXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRBd2FpdEZ1bmN0aW9uTmFtZSA/
IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7CisKICAgICBBdXRv
UG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rp
b25TY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKQEAgLTE5ODMsNyAr
MjA4OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAgICBBU1NFUlQoZW5k
TG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBl
OwotICAgICAgICAgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZSkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNl
UGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCiAgICAgICAgICAgICAgICAgZnVuY3Rpb25C
b2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9u
Qm9keUJsb2NrOwpAQCAtMjAyNiw3ICsyMTMxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQK
IAogICAgIFN5bnRheENoZWNrZXIgc3ludGF4Q2hlY2tlcihjb25zdF9jYXN0PFZNKj4obV92bSks
IG1fbGV4ZXIuZ2V0KCkpOwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNv
dXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNB
cnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgewogICAgICAgICBzdGFydExvY2F0
aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgICAgICBmdW5jdGlvbkluZm8uc3RhcnRMaW5lID0g
dG9rZW5MaW5lKCk7CiAgICAgICAgIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKQEAgLTIw
NDEsNyArMjE0Niw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHsKICAgICAg
ICAgICAgIC8vIFBhcnNlIGZvcm1hbCBwYXJhbWV0ZXJzIHdpdGggWytZaWVsZF0gcGFyYW1ldGVy
aXphdGlvbiwgaW4gb3JkZXIgdG8gYmFuIFlpZWxkRXhwcmVzc2lvbnMKICAgICAgICAgICAgIC8v
IGluIEFycm93Rm9ybWFsUGFyYW1ldGVycywgcGVyIEVTNiAjc2VjLWFycm93LWZ1bmN0aW9uLWRl
ZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzLgotICAgICAgICAgICAgU2Nv
cGU6Ok1heWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNlQXNHZW5lcmF0b3IoZnVuY3Rp
b25TY29wZSwgdXBwZXJTY29wZUlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAgIFNjb3BlOjpNYXli
ZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJhdG9yKGZ1bmN0aW9uU2NvcGUs
IHBhcmVudFNjb3BlLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgICAgIFNldEZvclNjb3BlPGJv
b2w+IG92ZXJyaWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQsICFpc0FzeW5j
RnVuY3Rpb25QYXJzZU1vZGUobW9kZSkpOwogICAgICAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFt
ZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKICAgICAgICAgICAgIHBy
b3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgIH0KQEAgLTIwNzMsMjEgKzIxNzksMjggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgLy8gR2VuZXJhdG9yRXhwcmVzc2lvbiA6CiAgICAg
ICAgIC8vICAgICBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyW1lpZWxkXW9wdCAoIEZvcm1h
bFBhcmFtZXRlcnNbWWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0KICAgICAgICAgLy8KLSAgICAg
ICAgLy8gVGhlIG5hbWUgb2YgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBhY2NlcHQgInlpZWxkIiBl
dmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KLSAgICAgICAgaWYgKGZ1bmN0aW9uRGVm
aW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbiAmJiBtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKQotICAgICAgICAgICAgdXBw
ZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0
aW9uRXhwcmVzc2lvbiBhbmQgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWll
bGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgorICAgICAgICBib29sIHVwcGVy
U2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBpZiAoIShmdW5jdGlvbkRlZmluaXRp
b25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24gJiYgU291cmNlUGFy
c2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCisgICAgICAgICAgICB1
cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1cHBlclNjb3BlKDEpLT5pc0dlbmVyYXRvcigpOwogCiAg
ICAgICAgIGlmIChyZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5h
bWVkKSB7CiAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCEocmVxdWlyZW1lbnRzID09
IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSAmJiAhZnVuY3Rpb25JbmZvLm5hbWUpLCAi
V2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSwgd2UgbmVlZCB0
byBpbml0aWFsaXplIGZ1bmN0aW9uSW5mby5uYW1lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaW4g
dGhlIGNhbGxlciBzaWRlLiIpOwogICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIo
dXBwZXJTY29wZUlzR2VuZXJhdG9yKSkgewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5u
YW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0
ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JbmZvLm5hbWU7CisgICAgICAgICAgICAgICAg
aWYgKFVOTElLRUxZKGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24gfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBl
clBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0aW9uIG5hbWVkICdhd2FpdCcg
IiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkgJiYgbWF0Y2go
QVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlw
ZTo6RXhwcmVzc2lvbikKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3Qg
ZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnIik7CiAgICAgICAgICAgICAgICAg
bmV4dCgpOwogICAgICAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCiAg
ICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNs
YXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5uYW1lKSAmIERlY2xhcmF0aW9uUmVzdWx0OjpJbnZhbGlk
U3RyaWN0TW9kZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2
YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9k
ZSIpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpOYW1lZCkgewotICAgICAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFS
RU4pICYmIG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUpCi0gICAg
ICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhh
dmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAg
ICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBh
IG5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1vZGUgPT0g
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgIkFzeW5jIGZ1bmN0aW9uIHN0YXRl
bWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4o
KTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTA1LDggKzIyMTgsMTEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBpZiAobG9hZENhY2hlZEZ1bmN0aW9u
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcGFyc2VGdW5jdGlvblBhcmFt
ZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZvKTsKLSAgICAgICAgcHJvcGFn
YXRlRXJyb3IoKTsKKyAgICAgICAgeworICAgICAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gb3Zl
cnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCwgIWlzQXN5bmNGdW5jdGlv
blBhcnNlTW9kZShtb2RlKSk7CisgICAgICAgICAgICBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyhz
eW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOworICAgICAgICAgICAgcHJvcGFnYXRl
RXJyb3IoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJS
QUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKICAgICAgICAgCkBAIC0yMTUzLDkgKzIy
NjksMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcmV0dXJuIHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRheENoZWNrZXIsIHN0YXJ0TG9jYXRpb24sIHN0YXJ0Q29s
dW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNT
dGFydCwgY29uc3RydWN0b3JLaW5kLCBleHBlY3RlZFN1cGVyQmluZGluZywgZnVuY3Rpb25Cb2R5
VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50LCBtb2RlKTsKICAgICB9OwogCi0gICAg
aWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2Rl
KSB7CisgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1vZGUobW9kZSkpIHsKICAg
ICAgICAgQXV0b1BvcFNjb3BlUmVmIGdlbmVyYXRvckJvZHlTY29wZSh0aGlzLCBwdXNoU2NvcGUo
KSk7Ci0gICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpOworICAgICAgICBTb3VyY2VQYXJzZU1vZGUg
aW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOworICAg
ICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSkgeworICAgICAg
ICAgICAgaW5uZXJQYXJzZU1vZGUgPSBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uTW9kZQorICAgICAgICAgICAgICAgID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICAgICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpB
c3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgICAgIH0KKyAgICAgICAgZ2VuZXJhdG9yQm9keVNj
b3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUpOwogICAgICAgICBnZW5lcmF0
b3JCb2R5U2NvcGUtPnNldENvbnN0cnVjdG9yS2luZChDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpOwog
ICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVj
dGVkU3VwZXJCaW5kaW5nKTsKIApAQCAtMjE3NCw3ICsyMjk2LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGQKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChmdW5jdGlvbkluZm8uYm9keSwgbV9s
ZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9k
ZSgpICYmIHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQp
IHsKICAgICAgICAgQVNTRVJUKGZ1bmN0aW9uSW5mby5uYW1lKTsKLSAgICAgICAgUkVMRUFTRV9B
U1NFUlQobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSB8fCBtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9k
ZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
ckJvZHlNb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVu
Y3Rpb25Nb2RlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoU291cmNlUGFyc2VNb2RlU2V0KFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhv
ZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1
bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNl
TW9kZShtb2RlKSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hcmd1bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5u
YW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1v
ZGUiKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2
YWwgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCks
ICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICB9
CkBAIC0yMjg5LDYgKzI0MTEsNjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFy
YXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUgZXhwb3J0VHlwZSwgRGVjbGFy
YXRpb25EZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0KQoreworICAgIEFT
U0VSVChtYXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5T
dGFydCgpOworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
IGZ1bmN0aW9uSW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlID0gU291cmNlUGFy
c2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHMg
cmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZDsKKyAgICBpZiAo
ZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpF
eHBvcnREZWZhdWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAiZXhwb3J0IGRlZmF1bHQiIGNv
bnRleHQsIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJlcXVpcmUgdGhlIGZ1bmN0aW9u
IG5hbWUuCisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBvcnREZWNsYXJhdGlvbjoKKyAg
ICAgICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAgICBleHBvcnQgZGVmYXVsdCBI
b2lzdGFibGVEZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQorICAgICAgICAvLyAgICAgICAg
IC4uLgorICAgICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3RhYmxlRGVjbGFyYXRpb25bWWll
bGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0aW9uRGVjbGFyYXRpb25bP1lp
ZWxkLCA/RGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbls/
WWllbGQsID9EZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAvLyAgICAgRnVuY3Rpb25EZWNs
YXJhdGlvbltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAgICAgICAgLi4uCisgICAgICAg
IC8vICAgICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnNbfllpZWxk
XSApIHsgRnVuY3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAvLworICAgICAgICAvLyAgICAg
R2VuZXJhdG9yRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAg
IC4uLgorICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVuY3Rpb24gKiAoIEZvcm1hbFBh
cmFtZXRlcnNbK1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CisgICAgICAgIC8vCisgICAgICAg
IC8vIEluIHRoaXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFzIHRoaXMgZnVuY3Rpb24gZGVj
bGFyYXRpb24ncyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMgPSBGdW5jdGlvbk5hbWVSZXF1
aXJlbWVudHM6Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJpdmF0ZU5hbWUoKTsKKyAgICB9
CisKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgcmVxdWlyZW1l
bnRzLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5n
OjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbkluZm8sIEZ1bmN0aW9u
RGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3QgcGFyc2UgdGhpcyBhc3luYyBm
dW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5mby5uYW1lLCAiQXN5bmMgZnVu
Y3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisKKyAgICBzdGQ6OnBhaXI8RGVj
bGFyYXRpb25SZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25EZWNsYXJhdGlvbiA9IGRlY2xh
cmVGdW5jdGlvbihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVjbGFyYXRpb25SZXN1bHRNYXNr
IGRlY2xhcmF0aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlvbi5maXJzdDsKKyAgICBmYWls
SWZUcnVlSWZTdHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52
YWxpZFN0cmljdE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBmdW5jdGlvbiBuYW1lZCAn
IiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBp
ZiAoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZER1cGxpY2F0
ZURlY2xhcmF0aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRoTWVzc2FnZShmYWxzZSwgIkNh
bm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9j
bGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicg
aW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9PSBFeHBvcnRUeXBlOjpFeHBv
cnRlZCkgeworICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4cG9ydE5hbWUoKmZ1bmN0aW9u
SW5mby5uYW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUgZnVuY3Rpb24gbmFtZTogJyIs
IGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAgICAgIG1fbW9kdWxlU2NvcGVE
YXRhLT5leHBvcnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgfQorCisgICAgVHJl
ZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0
aW9uLCBmdW5jdGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRlcjo6Q3JlYXRlc0FTVCkKKyAg
ICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVuZEZ1bmN0aW9uKGdldE1ldGFk
YXRhKGZ1bmN0aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3RlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRl
ciYgY29udGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250
ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAgQVNTRVJUKG1hdGNoKENMQVNT
VE9LRU4pKTsKQEAgLTI0MDUsOCArMjU4MSwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAog
ICAgICAgICBib29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNTZXR0ZXIgPSBm
YWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBib29sIGlz
QXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1bWUoVElNRVMpKQogICAgICAg
ICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOworCitVTlVTRURfTEFCRUwocGFyc2VNZXRob2QpOwor
cGFyc2VNZXRob2Q6CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICAgICAg
bmFtZWRLZXl3b3JkOgogICAgICAgICBjYXNlIFNUUklORzoKQEAgLTI0MTUsMTIgKzI1OTUsMjAg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIElERU5UOgorICAgICAgICBjYXNlIEFXQUlUOgogICAg
ICAgICAgICAgaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgICAgIEFTU0VS
VChpZGVudCk7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBpZiAoIWlzR2VuZXJh
dG9yICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBtYXRjaChTVFJJTkcpIHx8IG1h
dGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2goT1BFTkJSQUNLRVQpKSkgewor
ICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhvZCAmJiAobWF0Y2hJ
ZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8fCBtYXRjaChET1VCTEUpIHx8
IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkpIHsKICAgICAgICAgICAgICAg
ICBpc0dldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmdldDsKICAgICAgICAgICAgICAg
ICBpc1NldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLnNldDsKKworI2lmIEVOQUJMRShF
UzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KCppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmFzeW5jICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRv
cigpICYmICFpc0FzeW5jTWV0aG9kKSkgeworICAgICAgICAgICAgICAgICAgICBpc0FzeW5jTWV0
aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBwYXJzZU1ldGhvZDsKKyAgICAg
ICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIERPVUJMRToKQEAgLTI0NTIsNyArMjY0MCwxMiBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQ2xhc3MoVAogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBt
ZXRob2RJbmZvOwogICAgICAgICAgICAgYm9vbCBpc0NvbnN0cnVjdG9yID0gIWlzU3RhdGljTWV0
aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmNvbnN0cnVjdG9yOwogICAgICAgICAgICAg
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsK
LSAgICAgICAgICAgIGlmIChpc0dlbmVyYXRvcikgeworICAgICAgICAgICAgaWYgKGlzQXN5bmNN
ZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU7Cisg
ICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3luYyBtZXRob2QgbmFtZWQg
J3Byb3RvdHlwZSciKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUoKmlkZW50
ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCAiQ2Fubm90IGRlY2xhcmUgYW4g
YXN5bmMgbWV0aG9kIG5hbWVkICdjb25zdHJ1Y3RvciciKTsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaXNHZW5lcmF0b3IpIHsKICAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID0gZmFsc2U7
CiAgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlOwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSgq
aWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCAiQ2Fubm90IGRlY2xhcmUg
YSBnZW5lcmF0b3IgbmFtZWQgJ3Byb3RvdHlwZSciKTsKQEAgLTI1MzUsNiArMjcyOCwxMCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRXhwcmVzc2lvbk9yTAogICAgICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0
ZWRUb2tlbigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRXhwclN0YXRlbWVu
dChsb2NhdGlvbiwgZXhwcmVzc2lvbiwgc3RhcnQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGlu
ZSk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpKSkKKyAg
ICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQo
bV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVsICIsIGRpc2FsbG93ZWRJZGVu
dGlmaWVyQXdhaXRSZWFzb24oKSk7CisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9r
ZW5FbmRQb3NpdGlvbigpOwogICAgICAgICBuZXh0KCk7CkBAIC0yNzMxLDcgKzI5MjgsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRT
cGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaENvbnRleHR1
YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4cGVjdGVkICdhcycgYmVmb3Jl
IGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0KCk7CiAKLSAgICAgICAgbWF0
Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5hbWUgZm9yIHRoZSBpbXBvcnQg
ZGVjbGFyYXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigp
LCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7
CiAgICAgICAgIGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAgICAgICAgbG9jYWxOYW1lID0g
bV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsKQEAgLTI3NTMsNyArMjk1MCw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6Oklt
cG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAgaWYgKG1hdGNoQ29udGV4dHVh
bEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEgdmFyaWFibGUgbmFt
ZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgZmFpbElmRmFsc2Uo
bWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUg
aW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9r
ZW47CiAgICAgICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAg
ICAgICAgIG5leHQoKTsKQEAgLTI3NjQsNyArMjk2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4
ZXJUCiAgICAgY2FzZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZhdWx0SW1wb3J0OiB7CiAgICAg
ICAgIC8vIEltcG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAgICAvLyBJbXBvcnRlZEJpbmRp
bmcKLSAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAgICAgIEFTU0VSVChtYXRjaFNw
ZWNJZGVudGlmaWVyKCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAg
ICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBpbXBvcnRlZE5h
bWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdvcmQ7CkBAIC0yNzczLDYgKzI5
NzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0KICAgICB9CiAKKyAgICBzZW1h
bnRpY0ZhaWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09IEFXQUlULCAiQ2Fubm90IHVz
ZSAnYXdhaXQnIGFzIGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIHNlbWFudGljRmFp
bElmVHJ1ZShsb2NhbE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90
IHVzZSBrZXl3b3JkIGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgIERlY2xhcmF0aW9u
UmVzdWx0TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVWYXJpYWJsZShsb2NhbE5hbWUs
IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNwZWNpZmllclR5cGUgPT0gSW1w
b3J0U3BlY2lmaWVyVHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERlY2xhcmF0aW9uSW1wb3J0VHlw
ZTo6SW1wb3J0ZWROYW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9ydFR5cGU6OkltcG9ydGVkKTsK
ICAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRpb25SZXN1bHQ6OlZhbGlkKSB7
CkBAIC0yODAzLDcgKzMwMDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYQogICAgIH0KIAog
ICAgIGJvb2wgaXNGaW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxzZTsKLSAgICBpZiAobWF0Y2go
SURFTlQpKSB7CisgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgewogICAgICAgICAvLyBJ
bXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1wb3J0ZWRCaW5kaW5nCiAgICAg
ICAgIGF1dG8gc3BlY2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJdGVtKGNvbnRleHQsIEltcG9y
dFNwZWNpZmllclR5cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjkyOCw2ICszMTI2LDIwIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKGlzSWRlbnRpZmllck9yS2V5d29yZChtX3Rv
a2VuKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5
bmMpKSB7CisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
KCk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAobWF0Y2goRlVOQ1RJT04p
ICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAgICAgICAgICAgICAgbmV4dCgp
OworICAgICAgICAgICAgICAgIGlmIChtYXRjaChJREVOVCkpCisgICAgICAgICAgICAgICAgICAg
IGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAgICAgIGlzRnVu
Y3Rpb25PckNsYXNzRGVjbGFyYXRpb24gPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICB9CisjZW5kaWYKKwogICAg
ICAgICBpZiAoIWxvY2FsTmFtZSkKICAgICAgICAgICAgIGxvY2FsTmFtZSA9ICZtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFByaXZhdGVOYW1lKCk7CiAKQEAg
LTI5MzcsMTAgKzMxNDksMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAg
ICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAg
ICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwogICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBFeHBvcnRUeXBlOjpOb3RFeHBv
cnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0RGVmYXVsdCk7Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaChDTEFTU1RPS0VOKSk7
CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKENMQVNTVE9LRU4pKSB7CiAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0gcGFyc2VDbGFzc0RlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6
Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsK
ICAgICAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSAm
JiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOwor
ICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3Rh
dGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgICAgICAgICAgICAgIG1fc3RhdGVt
ZW50RGVwdGggPSAxOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlv
bkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKKyAgICAgICAgICAgIH0KKyNlbmRpZgog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgZXhwcjsKICAg
ICAgICAgICAgIC8vCkBAIC0zMDU3LDkgKzMyNzcsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xh
cmEKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CisjaWYgRU5BQkxFKEVT
MjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShpc0lk
ZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNoKEZVTkNUSU9OKSAmJiAhbV9s
ZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5jdGlvbicga2V5d29yZCBmb2xs
b3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5nIGxpbmUgdGVybWluYXRvciIp
OworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
KGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBl
Y3RlZCBlaXRoZXIgYSBkZWNsYXJhdGlvbiBvciBhIHZhcmlhYmxlIHN0YXRlbWVudCIpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBmYWlsSWZGYWxzZShyZXN1bHQs
ICJDYW5ub3QgcGFyc2UgdGhlIGRlY2xhcmF0aW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZUV4cG9ydExvY2FsRGVjbGFyYXRpb24oZXhwb3J0TG9jYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQpAQCAtMzEyMSwzNCArMzM1MCw0OSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAg
IEFTU0VSVCghaGFzRXJyb3IoKSk7CiAgICAgCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwor
CisgICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNj
b3BlKCktPmlzR2VuZXJhdG9yKCkpKQorICAgICAgICByZXR1cm4gcGFyc2VZaWVsZEV4cHJlc3Np
b24oY29udGV4dCk7CisKICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwog
ICAgIGludCBpbml0aWFsQXNzaWdubWVudENvdW50ID0gbV9wYXJzZXJTdGF0ZS5hc3NpZ25tZW50
Q291bnQ7CiAgICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1fcGFyc2VyU3RhdGUubm9uTEhT
Q291bnQ7CiAgICAgYm9vbCBtYXliZUFzc2lnbm1lbnRQYXR0ZXJuID0gbWF0Y2goT1BFTkJSQUNF
KSB8fCBtYXRjaChPUEVOQlJBQ0tFVCk7CiAgICAgYm9vbCB3YXNPcGVuUGFyZW4gPSBtYXRjaChP
UEVOUEFSRU4pOwotICAgIGJvb2wgaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IG1hdGNoKE9Q
RU5QQVJFTikgfHwgbWF0Y2goSURFTlQpOworICAgIC8vIERvIG5vdCB1c2UgbWF0Y2hTcGVjSWRl
bnRpZmllcigpIGhlcmUgc2luY2UgaXQgaXMgc2xvd2VyIHRoYW4gaXNJZGVudGlmaWVyT3JLZXl3
b3JkLgorICAgIC8vIFdoZXRoZXIgc3BlYyBpZGVudGlmaWVyIGlzIHdpbGwgYmUgdmFsaWRhdGVk
IGJ5IGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKS4KKyAgICBib29sIHdhc0lkZW50aWZpZXJP
cktleXdvcmQgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbik7CisgICAgYm9vbCBtYXli
ZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0gd2FzT3BlblBhcmVuIHx8IHdhc0lkZW50aWZpZXJP
cktleXdvcmQ7CiAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwog
ICAgIHNpemVfdCB1c2VkVmFyaWFibGVzU2l6ZSA9IDA7CisKKyNpZiAhRU5BQkxFKEVTMjAxN19B
U1lOQ0ZVTkNUSU9OX1NZTlRBWCkKICAgICBpZiAod2FzT3BlblBhcmVuKSB7CisjZWxzZQorICAg
IGlmICh3YXNPcGVuUGFyZW4gfHwgKHdhc0lkZW50aWZpZXJPcktleXdvcmQgJiYgKm1fdG9rZW4u
bV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworI2VuZGlmCiAg
ICAgICAgIHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3BlKCktPmN1cnJlbnRVc2VkVmFy
aWFibGVzU2l6ZSgpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+cHVzaFVzZWRWYXJpYWJsZVNl
dCgpOwogICAgIH0KIAotICAgIGlmIChtYXRjaChZSUVMRCkgJiYgIWlzWUlFTERNYXNrZWRBc0lE
RU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKLSAgICAgICAgcmV0dXJuIHBhcnNl
WWllbGRFeHByZXNzaW9uKGNvbnRleHQpOwotCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFy
c2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAKLSAgICBpZiAoaXNWYWxpZEFycm93
RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgeworICAgIGlmIChtYXliZVZhbGlkQXJy
b3dGdW5jdGlvblN0YXJ0ICYmICFtYXRjaChFT0ZUT0spKSB7CiAgICAgICAgIGJvb2wgaXNBcnJv
d0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsKICAgICAgICAgaWYgKCFsaHMg
fHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4pIHsKICAgICAgICAgICAgIFNhdmVQb2ludFdpdGhFcnJv
ciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50Rm9yRXJyb3IoKTsK
ICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGJv
b2wgaXNBc3luY0Fycm93ID0gZmFsc2U7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2xhc3Np
Zmllci5pbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlvbigpKSkgeworICAgICAgICAg
ICAgICAgIEFTU0VSVChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMt
PmFzeW5jKSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlzQXN5
bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOworICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKSkgewotICAgICAgICAgICAg
ICAgIGlmICh3YXNPcGVuUGFyZW4pCisgICAgICAgICAgICAgICAgaWYgKHdhc09wZW5QYXJlbiB8
fCBpc0FzeW5jQXJyb3cpCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5yZXZl
cnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxlcyh1c2VkVmFyaWFibGVzU2l6ZSk7Ci0gICAgICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCwg
aXNBc3luY0Fycm93KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnRXaXRoRXJyb3IoZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCk7CiAgICAgICAgICAgICBpZiAo
aXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBAIC0zMjcyLDYgKzM1MTYsMjEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZ
aWVsZEV4cHJlc3MKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVCht
YXRjaChBV0FJVCkpOworICAgIEFTU0VSVChjdXJyZW50U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9u
KCkpOworICAgIGZhaWxJZlRydWUobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UgPT0g
RnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzLCAiQ2Fubm90IHVzZSBhd2FpdCBleHByZXNz
aW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gZGl2b3RTdGFydCA9IHRva2VuU3Rh
cnRQb3NpdGlvbigpOworICAgIG5leHQoKTsKKyAgICBKU1RleHRQb3NpdGlvbiBhcmd1bWVudFN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgVHJlZUV4cHJlc3Npb24gYXJndW1lbnQg
PSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShhcmd1bWVu
dCwgIkZhaWxlZCB0byBwYXJzZSBhd2FpdCBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlQXdhaXQobG9jYXRpb24sIGFyZ3VtZW50LCBkaXZvdFN0YXJ0LCBhcmd1bWVudFN0
YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBj
b250ZXh0KQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OwpAQCAtMzM4NCwxMSArMzY0MywxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgogICAgIGJv
b2wgd2FzSWRlbnQgPSBmYWxzZTsKICAgICBib29sIGlzR2VuZXJhdG9yID0gZmFsc2U7CiAgICAg
Ym9vbCBpc0NsYXNzUHJvcGVydHkgPSBmYWxzZTsKKyAgICBib29sIGlzQXN5bmNNZXRob2QgPSBm
YWxzZTsKICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAgICAgICAgIGlzR2VuZXJhdG9yID0gdHJ1
ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNlUHJvcGVydHkpOworcGFyc2VQcm9wZXJ0eToKICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9wZXJ0eToKICAgICBjYXNlIElE
RU5UOgorICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50ID0gdHJ1ZTsKICAgICAgICAg
RkFMTFRIUk9VR0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKQEAgLTMzOTYsMTAgKzM2NjAsMTQgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICAgICAgaWYgKGNvbXBsZXRlIHx8ICh3YXNJ
ZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5n
ZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNldCkpKQogICAgICAgICAgICAg
bmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworI2lm
IEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKHdh
c0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+
YXN5bmMpCisgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3Jl
UmVzZXJ2ZWRXb3Jkcyk7CisjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbmV4dEV4
cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRl
cjo6RG9udEJ1aWxkS2V5d29yZHMpOwogCi0gICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgbWF0
Y2goQ09MT04pKSB7CisgICAgICAgIGlmICghaXNHZW5lcmF0b3IgJiYgIWlzQXN5bmNNZXRob2Qg
JiYgbWF0Y2goQ09MT04pKSB7CiAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbk9yUHJvcGFnYXRlRXJy
b3JDbGFzcyhjb250ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3Qg
cGFyc2UgZXhwcmVzc2lvbiBmb3IgcHJvcGVydHkgZGVjbGFyYXRpb24iKTsKQEAgLTM0MDgsMTEg
KzM2NzYsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgfQogCiAgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNl
UHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJhdG9yKTsKKyAgICAgICAgICAg
IGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250ZXh0LCBpZGVudCwgaXNHZW5l
cmF0b3IsIGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKICAg
ICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5KGlkZW50LCBtZXRob2QsIFBy
b3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6S25vd25EaXJlY3QsIGNvbXBsZXRl
LCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5KTsKICAgICAgICAgfQotICAg
ICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3Ig
YXJndW1lbnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yIHx8IGlzQXN5
bmNNZXRob2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CiAK
ICAgICAgICAgZmFpbElmRmFsc2Uod2FzSWRlbnQsICJFeHBlY3RlZCBhbiBpZGVudGlmaWVyIGFz
IHByb3BlcnR5IG5hbWUiKTsKIApAQCAtMzQzNCw2ICszNzAyLDEzIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpHZXR0ZXI7CiAgICAg
ICAgIGVsc2UgaWYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5zZXQpCiAgICAgICAg
ICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpTZXR0ZXI7CisjaWYgRU5BQkxFKEVTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgZWxzZSBpZiAoVU5MSUtFTFkoKmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jICYmICFpc0dlbmVyYXRvciAmJiAhaXNBc3luY01ldGhv
ZCkpIHsKKyAgICAgICAgICAgIGlzQXN5bmNNZXRob2QgPSB0cnVlOworICAgICAgICAgICAgZmFp
bElmVHJ1ZShtX2xleGVyLT5wcmV2VGVybWluYXRvcigpLCAiRXhwZWN0ZWQgYSBwcm9wZXJ0eSBu
YW1lIGZvbGxvd2luZyBrZXl3b3JkICdhc3luYyciKTsKKyAgICAgICAgICAgIGdvdG8gcGFyc2VQ
cm9wZXJ0eTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSAnOicgZm9sbG93aW5nIHRoZSBwcm9wZXJ0eSBuYW1l
ICciLCBpZGVudC0+aW1wbCgpLCAiJyIpOwogICAgICAgICByZXR1cm4gcGFyc2VHZXR0ZXJTZXR0
ZXIoY29udGV4dCwgY29tcGxldGUsIHR5cGUsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsKQEAgLTM0NDUsMTEgKzM3MjAs
MTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAgICBpZiAobWF0Y2goT1BFTlBB
UkVOKSkgewogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgaWRlbnQgPSBtX3BhcnNlckFy
ZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRpZmllcihjb25zdF9jYXN0PFZN
Kj4obV92bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNl
UHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvcik7CisgICAgICAgICAg
ICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dl
bmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwog
ICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkoJmlkZW50LCBtZXRob2Qs
IFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwgY29tcGxldGUs
IFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkpOwogICAgICAgICB9Ci0gICAg
ICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBh
cmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IgfHwgaXNBc3lu
Y01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKIAog
ICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgJzonIGFmdGVyIHByb3BlcnR5
IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDY0LDExICszNzM5LDExIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3Bl
cnR5KFRyZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoQ0xPU0VCUkFDS0VULCAi
XSIsICJlbmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwogCiAgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlN
ZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dl
bmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2Qo
Y29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRv
ciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJvcGVydHlOYW1lLCBtZXRob2Qs
IHN0YXRpY19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVydHlOb2RlOjpDb25zdGFudCB8
IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0LCBjb21w
bGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9wZXJ0eSk7CiAgICAgICAgIH0K
LSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMg
Zm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciB8fCBp
c0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIp
OwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCAnOicgYWZ0ZXIgcHJv
cGVydHkgbmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25t
ZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTM0ODMsMTMgKzM3NTgsMTMgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0
aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lLCBi
b29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7CiAgICAgSlNUb2tlbkxvY2F0
aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9k
U3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBtZXRob2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7Ci0gICAgU291
cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8gU291cmNlUGFyc2VNb2RlOjpH
ZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2Rl
OworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dlbmVyYXRvciA/IFNvdXJjZVBh
cnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6IGlzQXN5bmNNZXRob2QgPyBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9k
TW9kZTsKICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5m
bywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJDYW5ub3QgcGFyc2UgdGhpcyBt
ZXRob2QiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRob2REZWZpbml0aW9uKG1ldGhv
ZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3NTUsNiArNDAzMCwyMCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sK
KyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9
IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZvLm5hbWUgPSAmbV92bS0+cHJv
cGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7CisgICAgZmFpbElmRmFsc2Uo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOb25l
LCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6
Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25JbmZvLCBGdW5jdGlvbkRl
ZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJzZSBhc3luYyBmdW5jdGlvbiBl
eHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0
aW9uLCBmdW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxh
dGVTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVuYW1lIExleGVyVHlwZTo6UmF3
U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBib29sJiBlbGVtZW50SXNUYWls
KQogewogICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4NDIsMTQgKzQxMzEsMjEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXRJ
bm5lckFycm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVUaGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJ
REVOVDogewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAo
VU5MSUtFTFkobWF0Y2goQVJST1dGVU5DVElPTikpKQorICAgICAgICBpZiAobWF0Y2goQVJST1dG
VU5DVElPTikpCiAgICAgICAgICAgICByZXR1cm4gMDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZ
TkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqaWRlbnQgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2
VGVybWluYXRvcigpKSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZUFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uKGNvbnRleHQpOworI2VuZGlmCisKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZh
cmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAg
ICAgIG1fcGFyc2VyU3RhdGUubGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgKmlkZW50LCBzdGFydCwgbGFzdFRva2Vu
RW5kUG9zaXRpb24oKSk7CkBAIC00MDI1LDYgKzQzMjEsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJF
eHByZXMKICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgIH0KIAor
I2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBiYXNlSXNB
c3luY0tleXdvcmQgPSBmYWxzZTsKKyNlbmRpZgorCiAgICAgaWYgKGJhc2VJc1N1cGVyKSB7CiAg
ICAgICAgIFNjb3BlUmVmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUgPSBjbG9zZXN0UGFy
ZW50T3JkaW5hcnlGdW5jdGlvbk5vbkxleGljYWxTY29wZSgpOwogICAgICAgICBzZW1hbnRpY0Zh
aWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkgfHwgKGNsb3Nlc3RPcmRpbmFy
eUZ1bmN0aW9uU2NvcGUtPmlzRXZhbENvbnRleHQoKSAmJiBjbG9zZXN0T3JkaW5hcnlGdW5jdGlv
blNjb3BlLT5leHBlY3RlZFN1cGVyQmluZGluZygpID09IFN1cGVyQmluZGluZzo6TmVlZGVkKSwg
InN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKQEAgLTQwNDIsOSArNDM0Miwy
NiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgICAgIHNlbWFudGljRmFp
bElmVHJ1ZShmdW5jdGlvblN1cGVyQmluZGluZyA9PSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwg
InN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQotICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1RhcmdldCkKKyAgICB9IGVsc2UgaWYg
KCFiYXNlSXNOZXdUYXJnZXQpIHsKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lO
VEFYKQorICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBpc0lkZW50aWZpZXJPcktleXdvcmQo
bV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMt
PmFzeW5jOworI2VuZGlmCisKICAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24o
Y29udGV4dCk7CiAKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOwor
ICAgICAgICBpZiAoaXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2ZShiYXNlKSAmJiAhbV9sZXhl
ci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZp
ZXIoKSkgeworICAgICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dGdW5jdGlvbgorICAgICAgICAg
ICAgICAgIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJyb3JJbmRpY2F0ZXNBc3luY0Fy
cm93RnVuY3Rpb24pOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgYmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsKKyAgICAgICAgfQorI2VuZGlm
CisgICAgfQorCiAgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJl
c3Npb24iKTsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9j
YXRpb24oKTsKQEAgLTQwNzgsNiArNDM5NSwxNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBKU1RleHRQb3NpdGlvbiBleHBy
ZXNzaW9uRW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKICAgICAgICAgICAgICAgICBUcmVl
QXJndW1lbnRzIGFyZ3VtZW50cyA9IHBhcnNlQXJndW1lbnRzKGNvbnRleHQpOworCisjaWYgRU5B
QkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICBpZiAoYmFz
ZUlzQXN5bmNLZXl3b3JkICYmICghYXJndW1lbnRzIHx8IG1hdGNoKEFSUk9XRlVOQ1RJT04pKSkg
eworICAgICAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEVycm9y
SW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbER1
ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisKICAgICAg
ICAgICAgICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5ub3QgcGFyc2UgY2FsbCBhcmd1
bWVudHMiKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3VwZXIpIHsKICAgICAgICAgICAg
ICAgICAgICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJlbnRGdW5jdGlvblNjb3BlKCk7
CkBAIC00MTM2LDcgKzQ0NjEsNyBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykKIHsKICAgICBKU1Rva2VuTG9j
YXRpb24gbG9jYXRpb247CiAKQEAgLTQxNDQsNyArNDQ2OSw5IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvCiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBTb3VyY2VQYXJz
ZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1
cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgRnVuY3Rp
b25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0
aW9uIGV4cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0Fz
eW5jID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlIDogU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1v
ZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHBy
ZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogCiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8p
OwogfQpAQCAtNDE4OCw2ICs0NTE1LDEyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzCiAgICAg
Ym9vbCBtb2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVzTEV4cHIgPSBmYWxz
ZTsKICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisjaWYgRU5BQkxFKEVTMjAxN19B
U1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVdBSVQpICYmIGN1
cnJlbnRGdW5jdGlvblNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkpKQorICAgICAg
ICByZXR1cm4gcGFyc2VBd2FpdEV4cHJlc3Npb24oY29udGV4dCk7CisjZW5kaWYKKwogICAgIHdo
aWxlIChpc1VuYXJ5T3AobV90b2tlbi5tX3R5cGUpKSB7CiAgICAgICAgIGlmIChzdHJpY3RNb2Rl
KCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKQEAgLTQzNjksNiAr
NDcwMiw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVy
VHlwZT46OnByaW50VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAgICAgIG91dC5wcmludCgiSW52
YWxpZCBwcml2YXRlIG5hbWUgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIAorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAg
b3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50aWZpZXIgJyIsIGdldFRva2VuKCksICInIik7CiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUw
ZTEzOTFiNWZkMDNkZDVlNzc4YjhmZGI1OTIzYWE3OThhZWQxMjMuLmZkYjlkMjE3NGIxMzUxNzIw
MjYzZDU1Mjc4ZWZhOGM3ZTBhYTc5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NvcGUpOwogCiBwdWJsaWM6Ci0gICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29s
IGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fy
cm93RnVuY3Rpb24pCisgICAgU2NvcGUoY29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJv
b2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24sIGJv
b2wgaXNBc3luY0Z1bmN0aW9uKQogICAgICAgICA6IG1fdm0odm0pCiAgICAgICAgICwgbV9zaGFk
b3dzQXJndW1lbnRzKGZhbHNlKQogICAgICAgICAsIG1fdXNlc0V2YWwoZmFsc2UpCkBAIC0xNTAs
NiArMTUwLDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5lcmF0b3JCb3VuZGFyeShmYWxz
ZSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihpc0Fycm93RnVuY3Rpb24pCiAgICAgICAg
ICwgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKKyAgICAgICAgLCBtX2lzQXN5bmNG
dW5jdGlvbihpc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3Vu
ZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3BlKGZhbHNlKQogICAgICAgICAs
IG1faXNGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAsIG1faXNWYWxpZFN0cmljdE1v
ZGUodHJ1ZSkKQEAgLTE4MSw2ICsxODMsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9pc0dlbmVy
YXRvckJvdW5kYXJ5KG90aGVyLm1faXNHZW5lcmF0b3JCb3VuZGFyeSkKICAgICAgICAgLCBtX2lz
QXJyb3dGdW5jdGlvbihvdGhlci5tX2lzQXJyb3dGdW5jdGlvbikKICAgICAgICAgLCBtX2lzQXJy
b3dGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkpCisgICAg
ICAgICwgbV9pc0FzeW5jRnVuY3Rpb24ob3RoZXIubV9pc0FzeW5jRnVuY3Rpb24pCisgICAgICAg
ICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzQXN5bmNGdW5jdGlvbkJvdW5k
YXJ5KQogICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUob3RoZXIubV9pc0xleGljYWxTY29wZSkK
ICAgICAgICAgLCBtX2lzRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lzRnVuY3Rpb25Cb3VuZGFy
eSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKG90aGVyLm1faXNWYWxpZFN0cmljdE1v
ZGUpCkBAIC0yMzgsNiArMjQyLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNvdXJjZVBhcnNl
TW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobW9kZSkg
eworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1v
ZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9u
Qm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKTsKKyAg
ICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0
b3JCb2R5TW9kZToKICAgICAgICAgICAgIHNldElzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTI1Nyw2ICsyNjksMTUgQEAgcHVibGljOgogICAgICAgICAgICAgc2V0SXNBcnJv
d0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jRnVuY3Rpb24oKTsKKyAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fy
cm93RnVuY3Rpb25Nb2RlOgorICAgICAgICAgICAgc2V0SXNBc3luY0Fycm93RnVuY3Rpb24oKTsK
KyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9n
cmFtTW9kZToKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2Rl
OgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2RlOgpAQCAt
MjY4LDYgKzI4OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzRnVuY3Rpb25Cb3VuZGFyeSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAgICAgYm9vbCBpc0dlbmVyYXRv
cigpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3I7IH0KICAgICBib29sIGlzR2VuZXJhdG9y
Qm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9yQm91bmRhcnk7IH0KKyAgICBi
b29sIGlzQXN5bmNGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uOyB9
CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNB
c3luY0Z1bmN0aW9uQm91bmRhcnk7IH0KIAogICAgIGJvb2wgaGFzQXJndW1lbnRzKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNBcmd1bWVudHM7IH0KIApAQCAtNzEwLDYgKzczMywzNCBAQCBwcml2YXRl
OgogICAgICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAgICAgfQogCisgICAgdm9pZCBz
ZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICBzZXRJc0Fycm93RnVuY3Rp
b24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZv
aWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHNldElzRnVuY3Rpb24oKTsK
KyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAgIH0KKworICAgIHZvaWQgc2V0
SXNBc3luY0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBzZXRJc0Z1bmN0aW9uKCk7Cisg
ICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9u
ID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAg
fQorCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkoKQorICAgIHsKKyAgICAg
ICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7
CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVu
Y3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29uc3QgVk0qIG1fdm07CiAgICAg
Ym9vbCBtX3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3VzZXNFdmFsOwpAQCAtNzI0LDYg
Kzc3NSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJhdG9yQm91bmRhcnk7CiAgICAg
Ym9vbCBtX2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNBcnJvd0Z1bmN0aW9uQm91bmRh
cnk7CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBib29sIG1faXNBc3luY0Z1bmN0
aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3BlOwogICAgIGJvb2wgbV9pc0Z1
bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJpY3RNb2RlOwpAQCAtNzk3LDcg
Kzg1MCw3IEBAIGNsYXNzIFBhcnNlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAK
IHB1YmxpYzoKLSAgICBQYXJzZXIoVk0qLCBjb25zdCBTb3VyY2VDb2RlJiwgSlNQYXJzZXJCdWls
dGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlLCBTb3VyY2VQ
YXJzZU1vZGUsIFN1cGVyQmluZGluZywgQ29uc3RydWN0b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIERlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2
ZWRDb250ZXh0VHlwZTo6Tm9uZSwgYm9vbCBpc0V2YWxDb250ZXh0ID0gZmFsc2UsIEV2YWxDb250
ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZSk7CisgICAgUGFyc2VyKFZNKiwgY29uc3Qg
U291cmNlQ29kZSYsIEpTUGFyc2VyQnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSwgSlNQ
YXJzZXJTY3JpcHRNb2RlLCBTb3VyY2VQYXJzZU1vZGUsIFN1cGVyQmluZGluZywgQ29uc3RydWN0
b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIERl
cml2ZWRDb250ZXh0VHlwZSA9IERlcml2ZWRDb250ZXh0VHlwZTo6Tm9uZSwgYm9vbCBpc0V2YWxD
b250ZXh0ID0gZmFsc2UsIEV2YWxDb250ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZSk7
CiAgICAgflBhcnNlcigpOwogCiAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CkBAIC04
ODYsOCArOTM5LDkgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgZW51bSBFeHByZXNzaW9uRXJy
b3JDbGFzcyB7Ci0gICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGluZywKLSAgICAgICAgRXJyb3JJ
bmRpY2F0ZXNQYXR0ZXJuCisgICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGluZyA9IDAsCisgICAg
ICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybiwKKyAgICAgICAgRXJyb3JJbmRpY2F0ZXNBc3luY0Fy
cm93RnVuY3Rpb24KICAgICB9OwogCiAgICAgc3RydWN0IEV4cHJlc3Npb25FcnJvckNsYXNzaWZp
ZXIgewpAQCAtOTExLDYgKzk2NSwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9jbGFzcyA9
IGNsYXNzaWZpY2F0aW9uOwogICAgICAgICB9CiAKKyAgICAgICAgdm9pZCBmb3JjZUNsYXNzaWZ5
RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0aW9uKQorICAg
ICAgICB7CisgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmljYXRpb247CisgICAgICAgIH0K
KwogICAgICAgICB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9y
Q2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJvckNsYXNzIGNsYXNzaWZpY2F0
aW9uKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAobV9jbGFzcyAhPSBvbGRDbGFzc2lmaWNh
dGlvbikKQEAgLTkyMCwxMSArOTc5LDEyIEBAIHByaXZhdGU6CiAKICAgICAgICAgdm9pZCBwcm9w
YWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcygpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICht
X3ByZXZpb3VzICYmIG1fY2xhc3MgIT0gRXJyb3JJbmRpY2F0ZXNOb3RoaW5nKQorICAgICAgICAg
ICAgaWYgKG1fcHJldmlvdXMpCiAgICAgICAgICAgICAgICAgbV9wcmV2aW91cy0+bV9jbGFzcyA9
IG1fY2xhc3M7CiAgICAgICAgIH0KIAogICAgICAgICBib29sIGluZGljYXRlc1Bvc3NpYmxlUGF0
dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0gRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuOyB9
CisgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rpb24oKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uOyB9
CiAKICAgICBwcml2YXRlOgogICAgICAgICBFeHByZXNzaW9uRXJyb3JDbGFzcyBtX2NsYXNzOwpA
QCAtOTM4LDYgKzk5OCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9leHByZXNzaW9uRXJy
b3JDbGFzc2lmaWVyLT5jbGFzc2lmeUV4cHJlc3Npb25FcnJvcihjbGFzc2lmaWNhdGlvbik7CiAg
ICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCisgICAgeworICAgICAgICBp
ZiAobV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQorICAgICAgICAgICAgbV9leHByZXNzaW9u
RXJyb3JDbGFzc2lmaWVyLT5mb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKGNsYXNzaWZpY2F0
aW9uKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgcmVjbGFzc2lmeUV4cHJlc3Np
b25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRDbGFzc2lmaWNhdGlvbiwgRXhwcmVzc2lv
bkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAgewogICAgICAgICBpZiAobV9leHByZXNz
aW9uRXJyb3JDbGFzc2lmaWVyKQpAQCAtOTU5LDYgKzEwMjUsMTkgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvVmFyaWFibGVzOwogICAg
IH0KIAorICAgIEFMV0FZU19JTkxJTkUgY29uc3QgY2hhciogZGVjbGFyYXRpb25UeXBlVG9WYXJp
YWJsZUtpbmQoRGVjbGFyYXRpb25UeXBlIHR5cGUpCisgICAgeworICAgICAgICBzd2l0Y2ggKHR5
cGUpIHsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uOgorICAg
ICAgICAgICAgcmV0dXJuICJ2YXJpYWJsZSBuYW1lIjsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlv
blR5cGU6OkxldERlY2xhcmF0aW9uOgorICAgICAgICBjYXNlIERlY2xhcmF0aW9uVHlwZTo6Q29u
c3REZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAibGV4aWNhbCB2YXJpYWJsZSBuYW1l
IjsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gImludmFsaWQiOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgQXNzaWdu
bWVudENvbnRleHQgYXNzaWdubWVudENvbnRleHRGcm9tRGVjbGFyYXRpb25UeXBlKERlY2xhcmF0
aW9uVHlwZSB0eXBlKQogICAgIHsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC05NzEsNiAr
MTA1MCwxMiBAQCBwcml2YXRlOgogCiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXZhbE9yQXJn
dW1lbnRzKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KSB7IHJldHVybiBpc0V2YWxPckFyZ3VtZW50
c0lkZW50aWZpZXIobV92bSwgaWRlbnQpOyB9CiAKKyAgICBTY29wZVJlZiB1cHBlclNjb3BlKGlu
dCBuKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fc2NvcGVTdGFjay5zaXplKCkgPj0gc2l6ZV90
KDEgKyBuKSk7CisgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9zY29wZVN0YWNrLCBtX3Njb3Bl
U3RhY2suc2l6ZSgpIC0gMSAtIG4pOworICAgIH0KKwogICAgIFNjb3BlUmVmIGN1cnJlbnRTY29w
ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1fc2NvcGVTdGFjaywgbV9zY29w
ZVN0YWNrLnNpemUoKSAtIDEpOwpAQCAtMTAyNywxMyArMTExMiwxNSBAQCBwcml2YXRlOgogICAg
ICAgICBib29sIGlzU3RyaWN0ID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaXNHZW5lcmF0b3IgPSBm
YWxzZTsKICAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICAgICAgYm9v
bCBpc0FzeW5jRnVuY3Rpb24gPSBmYWxzZTsKICAgICAgICAgaWYgKCFtX3Njb3BlU3RhY2suaXNF
bXB0eSgpKSB7CiAgICAgICAgICAgICBpc1N0cmljdCA9IG1fc2NvcGVTdGFjay5sYXN0KCkuc3Ry
aWN0TW9kZSgpOwogICAgICAgICAgICAgaXNGdW5jdGlvbiA9IG1fc2NvcGVTdGFjay5sYXN0KCku
aXNGdW5jdGlvbigpOwogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSBtX3Njb3BlU3RhY2subGFz
dCgpLmlzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBpc0Fycm93RnVuY3Rpb24gPSBtX3Njb3Bl
U3RhY2subGFzdCgpLmlzQXJyb3dGdW5jdGlvbigpOworICAgICAgICAgICAgaXNBc3luY0Z1bmN0
aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0FzeW5jRnVuY3Rpb24oKTsKICAgICAgICAgfQot
ICAgICAgICBtX3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5kKG1fdm0sIGlzRnVuY3Rpb24s
IGlzR2VuZXJhdG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAgbV9zY29w
ZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0aW9uLCBpc0dlbmVyYXRvciwg
aXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbiwgaXNBc3luY0Z1bmN0aW9uKTsKICAgICAgICAgcmV0
dXJuIGN1cnJlbnRTY29wZSgpOwogICAgIH0KIApAQCAtMTM0NiwyMSArMTQzMywyNSBAQCBwcml2
YXRlOgogICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8j
c2VjLWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1zdGF0aWMtc2VtYW50aWNzLWVhcmx5
LWVycm9ycwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKGJvb2wg
aW5HZW5lcmF0b3IpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IGlzTEVU
TWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5UKGluR2VuZXJhdG9yKTsKKyAg
ICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRB
c0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpOwogICAgIH0KIAog
ICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBtYXRjaFNwZWNJZGVudGlmaWVyKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRv
cigpKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJVCkgfHwgaXNM
RVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCkt
PmlzR2VuZXJhdG9yKCkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBT
b3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVNvdXJjZUVsZW1lbnRzIHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVl
QnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VBc3luY0Z1bmN0aW9uU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oVHJlZUJ1aWxk
ZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVj
dGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKICAgICBlbnVtIGNs
YXNzIEV4cG9ydFR5cGUgeyBFeHBvcnRlZCwgTm90RXhwb3J0ZWQgfTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRy
ZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJh
dGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6U3RhbmRhcmQp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUZ1
bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRUeXBlID0gRXhwb3J0VHlwZTo6
Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQgPSBEZWNsYXJhdGlvbkRlZmF1
bHRDb250ZXh0OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudChUcmVlQnVpbGRl
ciYsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNT
dGF0ZW1lbnQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYsIEV4cG9ydFR5cGUg
PSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9IERl
Y2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIG1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFRyZWVTdGF0ZW1lbnQmIHJl
c3VsdCwgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVZhcmlh
YmxlRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBEZWNsYXJhdGlvblR5cGUsIEV4cG9ydFR5cGUg
PSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRG9XaGlsZVN0YXRlbWVudChUcmVlQnVpbGRlciYpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVdoaWxl
U3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CkBAIC0xMzg3LDYgKzE0NzgsNyBAQCBwcml2YXRlOgog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVz
c2lvbiBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUJpbmFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VVbmFyeUV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUF3YWl0RXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VN
ZW1iZXJFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZ
U19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJheUxpdGVyYWwoVHJlZUJ1aWxkZXImKTsK
QEAgLTEzOTQsMTcgKzE0ODYsMTggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZVN0cmljdE9iamVjdExp
dGVyYWwoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRXhwcmVzc2lvbiBwYXJzZUZ1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVz
c2lvbiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVBcmd1bWVudHMgcGFy
c2VBcmd1bWVudHMoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBcmd1bWVudChUcmVlQnVpbGRl
ciYsIEFyZ3VtZW50VHlwZSYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7Ci0gICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5
TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1l
LCBib29sIGlzR2VuZXJhdG9yKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNv
bnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgaXNBc3lu
Y01ldGhvZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2Rl
OjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3Rvcktp
bmQsIGJvb2wgaXNDbGFzc1Byb3BlcnR5KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVl
QnVpbGRlciYsIFN5bnRheENoZWNrZXImLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGlu
dCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1l
dGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZywgRnVuY3Rpb25Cb2R5VHlw
ZSwgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBBTFdBWVNfSU5MSU5FIGJvb2wgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWls
ZGVyJiwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QsIHVuc2lnbmVkJik7CiAgICAgZW51bSBWYXJE
ZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29u
dGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
cGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRp
b25zLCBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lv
biYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9z
aXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9u
TGlzdENvbnRleHQsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlwZSwgYm9vbCYgZm9yTG9vcENv
bnN0RG9lc05vdEhhdmVJbml0aWFsaXplcik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhwcmVzc2lv
bkJvZHlTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYsIGJvb2wgaXNB
c3luYyk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwg
RGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElkZW50aWZpZXImLCBKU1Rva2Vu
LCBBc3NpZ25tZW50Q29udGV4dCwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZp
ZXIpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVE
ZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVBc3NpZ25tZW50RWxlbWVudChUcmVlQnVpbGRlciYs
IFRyZWVFeHByZXNzaW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mLCBjb25zdCBKU1RleHRQb3Np
dGlvbiYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBwYXJzZUJpbmRpbmdPckFzc2lnbm1lbnRFbGVtZW50KFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZCwgRXhwb3J0VHlwZSwgY29uc3Qg
SWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIsIGJvb2wqIGhhc0Rlc3RydWN0dXJpbmdQ
YXR0ZXJuLCBBc3NpZ25tZW50Q29udGV4dCBiaW5kaW5nQ29udGV4dCwgaW50IGRlcHRoKTsKQEAg
LTE0NjIsNiArMTU1NSwyMiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gIW1fZXJyb3JNZXNz
YWdlLmlzTnVsbCgpOwogICAgIH0KIAorICAgIGJvb2wgaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3
YWl0KGNvbnN0IEpTVG9rZW4mIHRva2VuKQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGBtX21v
ZHVsZVNjb3BlRGF0YS5nZXQoKSAhPSBudWxscHRyYCBpcyBub3QgYSB2YWxpZCBtZXRob2Qgb2Yg
ZGV0ZXJtaW5pbmcgaWYgcGFyc2VyIGlzIHBhcnNpbmcgYSBNb2R1bGUuCisgICAgICAgIHJldHVy
biB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgfHwg
Y3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5KCkgfHwgbV9zY3JpcHRNb2Rl
ID09IEpTUGFyc2VyU2NyaXB0TW9kZTo6TW9kdWxlKTsKKyAgICB9CisKKyAgICBjb25zdCBjaGFy
KiBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkKKyAgICB7CisgICAgICAgIGlmICgh
bV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rp
b25Cb3VuZGFyeSgpKQorICAgICAgICAgICAgcmV0dXJuICJpbiBhbiBhc3luYyBmdW5jdGlvbiI7
CisgICAgICAgIGlmIChtX3NjcmlwdE1vZGUgPT0gSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUp
CisgICAgICAgICAgICByZXR1cm4gImluIGEgbW9kdWxlIjsKKyAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCiAgICAg
ZW51bSBjbGFzcyBGdW5jdGlvblBhcnNlUGhhc2UgeyBQYXJhbWV0ZXJzLCBCb2R5IH07CiAgICAg
c3RydWN0IFBhcnNlclN0YXRlIHsKICAgICAgICAgaW50IGFzc2lnbm1lbnRDb3VudCB7IDAgfTsK
QEAgLTE0NzAsNiArMTU3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIEZ1bmN0aW9uUGFyc2VQaGFz
ZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBGdW5jdGlvblBhcnNlUGhhc2U6OkJvZHkgfTsKICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50aWZpZXIgeyBudWxscHRyIH07CiAgICAgICAg
IGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgeyBudWxscHRyIH07CisgICAgICAg
IGJvb2wgYWxsb3dBd2FpdCB7IHRydWUgfTsKICAgICB9OwogCiAgICAgLy8gSWYgeW91J3JlIHVz
aW5nIHRoaXMgZGlyZWN0bHksIHlvdSBwcm9iYWJseSBzaG91bGQgYmUgdXNpbmcKQEAgLTE1ODgs
NyArMTY5OCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGU+IG1f
ZnVuY3Rpb25DYWNoZTsKICAgICBTb3VyY2VFbGVtZW50cyogbV9zb3VyY2VFbGVtZW50czsKICAg
ICBib29sIG1fcGFyc2luZ0J1aWx0aW47Ci0gICAgSlNQYXJzZXJDb21tZW50TW9kZSBtX2NvbW1l
bnRNb2RlOworICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBtX3NjcmlwdE1vZGU7CiAgICAgU3VwZXJC
aW5kaW5nIG1fc3VwZXJCaW5kaW5nOwogICAgIENvbnN0cnVjdG9yS2luZCBtX2RlZmF1bHRDb25z
dHJ1Y3RvcktpbmQ7CiAgICAgVmFyaWFibGVFbnZpcm9ubWVudCBtX3ZhckRlY2xhcmF0aW9uczsK
QEAgLTE3MTgsNyArMTgyOCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWROb2RlPgogc3RkOjp1
bmlxdWVfcHRyPFBhcnNlZE5vZGU+IHBhcnNlKAogICAgIFZNKiB2bSwgY29uc3QgU291cmNlQ29k
ZSYgc291cmNlLAogICAgIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIEpTUGFyc2VyQnVpbHRpbk1v
ZGUgYnVpbHRpbk1vZGUsCi0gICAgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFy
c2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIFN1
cGVyQmluZGluZyBzdXBlckJpbmRpbmcsCisgICAgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1v
ZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBjb21tZW50TW9kZSwgU291cmNlUGFyc2VNb2RlIHBhcnNl
TW9kZSwgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZywKICAgICBQYXJzZXJFcnJvciYgZXJyb3Is
IEpTVGV4dFBvc2l0aW9uKiBwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lID0gbnVsbHB0ciwKICAg
ICBDb25zdHJ1Y3RvcktpbmQgZGVmYXVsdENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2ZWRD
b250ZXh0VHlwZTo6Tm9uZSwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSA9IEV2YWxD
b250ZXh0VHlwZTo6Tm9uZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyTW9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
TW9kZXMuaAppbmRleCA5ZmQ3Yjc3ZGVhYmVhYThkYTRiZjI3ODMzOTMxZWI0YmRjZjg5YTQ2Li44
ZGJmY2M3NzkyNWYxMDU2ZjE5MmVhNDg5Y2E4MTU4Yjk4NDk4ZDVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oCkBAIC0yNywxMyArMjcsMTQgQEAKICNpZm5k
ZWYgUGFyc2VyTW9kZXNfaAogI2RlZmluZSBQYXJzZXJNb2Rlc19oCiAKKyNpbmNsdWRlICJDb25z
dHJ1Y3RBYmlsaXR5LmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgogCiBuYW1lc3BhY2UgSlND
IHsKIAogZW51bSBjbGFzcyBKU1BhcnNlclN0cmljdE1vZGUgeyBOb3RTdHJpY3QsIFN0cmljdCB9
OwogZW51bSBjbGFzcyBKU1BhcnNlckJ1aWx0aW5Nb2RlIHsgTm90QnVpbHRpbiwgQnVpbHRpbiB9
OwotZW51bSBjbGFzcyBKU1BhcnNlckNvbW1lbnRNb2RlIHsgQ2xhc3NpYywgTW9kdWxlIH07Citl
bnVtIGNsYXNzIEpTUGFyc2VyU2NyaXB0TW9kZSB7IENsYXNzaWMsIE1vZHVsZSB9OwogZW51bSBj
bGFzcyBKU1BhcnNlckNvZGVUeXBlIHsgUHJvZ3JhbSwgRnVuY3Rpb24sIE1vZHVsZSB9OwogCiBl
bnVtIGNsYXNzIENvbnN0cnVjdG9yS2luZCB7IE5vbmUsIEJhc2UsIEV4dGVuZHMgfTsKQEAgLTQz
LDgwICs0NCwxMzAgQEAgZW51bSBEZWJ1Z2dlck1vZGUgeyBEZWJ1Z2dlck9mZiwgRGVidWdnZXJP
biB9OwogCiBlbnVtIGNsYXNzIEZ1bmN0aW9uTW9kZSB7IEZ1bmN0aW9uRXhwcmVzc2lvbiwgRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiB9OwogCi1lbnVtIGNsYXNzIFNvdXJj
ZVBhcnNlTW9kZSA6IHVpbnQ4X3QgewotICAgIE5vcm1hbEZ1bmN0aW9uTW9kZSwKLSAgICBHZW5l
cmF0b3JCb2R5TW9kZSwKLSAgICBHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAotICAgIEdl
dHRlck1vZGUsCi0gICAgU2V0dGVyTW9kZSwKLSAgICBNZXRob2RNb2RlLAotICAgIEFycm93RnVu
Y3Rpb25Nb2RlLAotICAgIFByb2dyYW1Nb2RlLAotICAgIE1vZHVsZUFuYWx5emVNb2RlLAotICAg
IE1vZHVsZUV2YWx1YXRlTW9kZQorZW51bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50MTZf
dCB7CisgICAgTm9ybWFsRnVuY3Rpb25Nb2RlICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAw
MDEsCisgICAgR2VuZXJhdG9yQm9keU1vZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDAw
MTAsCisgICAgR2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSAgPSAwYjAwMDAwMDAwMDAwMDAx
MDAsCisgICAgR2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMDEw
MDAsCisgICAgU2V0dGVyTW9kZSAgICAgICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAwMTAw
MDAsCisgICAgTWV0aG9kTW9kZSAgICAgICAgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDAxMDAw
MDAsCisgICAgQXJyb3dGdW5jdGlvbk1vZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDAwMDEwMDAw
MDAsCisgICAgQXN5bmNGdW5jdGlvbkJvZHlNb2RlICAgICAgICAgPSAwYjAwMDAwMDAwMTAwMDAw
MDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUgICAgPSAwYjAwMDAwMDAxMDAwMDAw
MDAsCisgICAgQXN5bmNGdW5jdGlvbk1vZGUgICAgICAgICAgICAgPSAwYjAwMDAwMDEwMDAwMDAw
MDAsCisgICAgQXN5bmNNZXRob2RNb2RlICAgICAgICAgICAgICAgPSAwYjAwMDAwMTAwMDAwMDAw
MDAsCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSAgICAgICAgPSAwYjAwMDAxMDAwMDAwMDAw
MDAsCisgICAgUHJvZ3JhbU1vZGUgICAgICAgICAgICAgICAgICAgPSAwYjAwMDEwMDAwMDAwMDAw
MDAsCisgICAgTW9kdWxlQW5hbHl6ZU1vZGUgICAgICAgICAgICAgPSAwYjAwMTAwMDAwMDAwMDAw
MDAsCisgICAgTW9kdWxlRXZhbHVhdGVNb2RlICAgICAgICAgICAgPSAwYjAxMDAwMDAwMDAwMDAw
MDAsCiB9OwogCi1pbmxpbmUgYm9vbCBpc0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUpCitjbGFzcyBTb3VyY2VQYXJzZU1vZGVTZXQgeyAKK3B1YmxpYzogCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUuLi4gTW9kZXM+IAorICAgIFNvdXJjZVBhcnNlTW9kZVNldChNb2Rl
cy4uLiBhcmdzKSAKKyAgICAgICAgOiBtX21hc2sobWVyZ2VTb3VyY2VQYXJzZU1vZGVzKGFyZ3Mu
Li4pKSAKKyAgICB7IAorICAgIH0gCisKKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29udGFpbnMo
U291cmNlUGFyc2VNb2RlIG1vZGUpIAorICAgIHsgCisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4obW9kZSkgJiBtX21hc2s7IAorICAgIH0gCisKK3ByaXZhdGU6IAorICAgIEFM
V0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhTb3VyY2VQ
YXJzZU1vZGUgbW9kZSkgCisgICAgeyAKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihtb2RlKTsgCisgICAgfSAKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFJlc3Q+IAor
ICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIHVuc2lnbmVkIG1lcmdlU291cmNlUGFyc2VNb2RlcyhT
b3VyY2VQYXJzZU1vZGUgbW9kZSwgUmVzdC4uLiByZXN0KSAKKyAgICB7IAorICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpIHwgbWVyZ2VTb3VyY2VQYXJzZU1vZGVzKHJl
c3QuLi4pOyAKKyAgICB9IAorCisgICAgY29uc3QgdW5zaWduZWQgbV9tYXNrOyAKK307IAorCitB
TFdBWVNfSU5MSU5FIGJvb2wgaXNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFy
c2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VN
b2RlOjpHZW5lcmF0b3JCb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVy
TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0dGVyTW9kZSwgCisgICAgICAgIFNv
dXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXJy
b3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25C
b2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwgCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7IAor
fSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShTb3VyY2VQ
YXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCgg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAg
ICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5M
SU5FIGJvb2wgaXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUp
OyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VN
b2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFy
c2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25N
b2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgCisgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlKS5jb250YWlucyhwYXJzZU1vZGUp
OyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0FzeW5jRnVuY3Rpb25Cb2R5UGFyc2VNb2Rl
KFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VN
b2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUs
IAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBpc01ldGhvZFBh
cnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQogewotICAgIHN3aXRjaCAocGFyc2VN
b2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRl
ck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBT
b3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gU291cmNlUGFyc2VNb2RlU2V0KAorICAgICAgICAvLyBGSVhNRTogR2VuZXJhdG9yV3JhcHBl
ckZ1bmN0aW9uTW9kZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBhIG1ldGhvZC4KKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlLAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6U2V0
dGVyTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlLAorICAgICAgICBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsKIH0K
IAotaW5saW5lIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9k
ZSkKLXsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNlUGFyc2VNb2Rl
OjpNb2R1bGVBbmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZh
bHVhdGVNb2RlOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVy
RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlOgotICAg
IGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9u
TW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUo
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1v
ZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCAKKyAg
ICAgICAgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUpLmNvbnRhaW5zKHBhcnNl
TW9kZSk7IAorfSAKIAotaW5saW5lIGJvb2wgaXNQcm9ncmFtUGFyc2VNb2RlKFNvdXJjZVBhcnNl
TW9kZSBwYXJzZU1vZGUpCi17Ci0gICAgc3dpdGNoIChwYXJzZU1vZGUpIHsKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGU6Ci0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNvdXJj
ZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkdldHRlck1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVB
bmFseXplTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlRXZhbHVhdGVNb2Rl
OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworQUxXQVlTX0lOTElORSBib29sIGlzUHJvZ3Jh
bVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgcmV0dXJuIFNv
dXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlKS5jb250YWlucyhw
YXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1
Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAg
ICBpZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlKSAK
KyAgICAgICAgcmV0dXJuIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNvbnN0cnVjdDsKKworICAgIHJl
dHVybiBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3Q7CiB9CiAKIGlubGluZSBib29s
IGZ1bmN0aW9uTmFtZUlzSW5TY29wZShjb25zdCBJZGVudGlmaWVyJiBuYW1lLCBGdW5jdGlvbk1v
ZGUgZnVuY3Rpb25Nb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9r
ZW5zLmgKaW5kZXggZWIyNjNiYjJjZmI1ZDc2M2FjZWY3OWM2OWNkMjhmODIzYzJhN2U4MC4uZDM4
OTUzNDIyOWQ3OTQ4YjZjYjJkMjhjNDMwMjQxYTUyZTY2MWQ2OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC04Myw2ICs4Myw3IEBAIGVudW0gSlNU
b2tlblR5cGUgewogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKICAgICBTVVBFUiwKKyAg
ICBBV0FJVCwKICAgICBPUEVOQlJBQ0UgPSAwLAogICAgIENMT1NFQlJBQ0UsCiAgICAgT1BFTlBB
UkVOLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2Rl
S2V5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGVLZXkuaAppbmRl
eCBlZDY0OWJjNmEzZTdlZDM2MGNhNGY3ZGZiZTJmNTBiMWY4NjFlZTFmLi4xNjI1YTA2NDMwNjQ0
YzBhMjFjYTQxYTczZWNlYzFhZDkyNGMyNDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZUNvZGVLZXkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGVLZXkuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBTb3VyY2VDb2Rl
RmxhZ3MgewogcHVibGljOgogICAgIFNvdXJjZUNvZGVGbGFncygpID0gZGVmYXVsdDsKIAotICAg
IFNvdXJjZUNvZGVGbGFncyhTb3VyY2VDb2RlVHlwZSBjb2RlVHlwZSwgSlNQYXJzZXJCdWlsdGlu
TW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2Vy
Q29tbWVudE1vZGUgY29tbWVudE1vZGUsIERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4
dFR5cGUsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uQ29udGV4dCkKKyAgICBTb3VyY2VDb2RlRmxhZ3MoU291cmNlQ29kZVR5cGUgY29kZVR5cGUs
IEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJp
Y3RNb2RlLCBKU1BhcnNlclNjcmlwdE1vZGUgY29tbWVudE1vZGUsIERlcml2ZWRDb250ZXh0VHlw
ZSBkZXJpdmVkQ29udGV4dFR5cGUsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGJv
b2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKICAgICAgICAgOiBtX2ZsYWdzKAogICAgICAgICAg
ICAgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkgPDwgOCkgfAogICAgICAgICAg
ICAgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihpc0Fycm93RnVuY3Rpb25Db250ZXh0KSA8PCA3KSB8
CkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgU291cmNlQ29k
ZUtleShjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2VDb2RlLCBjb25zdCBTdHJpbmcmIG5hbWUsIFNv
dXJjZUNvZGVUeXBlIGNvZGVUeXBlLCBKU1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0aW5Nb2RlLCBK
U1BhcnNlclN0cmljdE1vZGUgc3RyaWN0TW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50
TW9kZSwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgRXZhbENvbnRleHRU
eXBlIGV2YWxDb250ZXh0VHlwZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQorICAgIFNv
dXJjZUNvZGVLZXkoY29uc3QgU291cmNlQ29kZSYgc291cmNlQ29kZSwgY29uc3QgU3RyaW5nJiBu
YW1lLCBTb3VyY2VDb2RlVHlwZSBjb2RlVHlwZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGlu
TW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBj
b21tZW50TW9kZSwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgRXZhbENv
bnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQog
ICAgICAgICA6IG1fc291cmNlQ29kZShzb3VyY2VDb2RlKQogICAgICAgICAsIG1fbmFtZShuYW1l
KQogICAgICAgICAsIG1fZmxhZ3MoY29kZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBj
b21tZW50TW9kZSwgZGVyaXZlZENvbnRleHRUeXBlLCBldmFsQ29udGV4dFR5cGUsIGlzQXJyb3dG
dW5jdGlvbkNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oCmluZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEyNzdmYTJkODI2ODYuLjVh
YzY1YWJkMDQ1NWZlZjY3ODFiNjRhMDczZWJkOTI1MmEzY2RlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04Myw3ICs4Myw3IEBAIHB1Ymxp
YzoKICAgICAgICAgQ2xhdXNlTGlzdFJlc3VsdCwgQ29tbWFFeHByLCBEZXN0cnVjdHVyaW5nQXNz
aWdubWVudCwKICAgICAgICAgVGVtcGxhdGVTdHJpbmdSZXN1bHQsIFRlbXBsYXRlU3RyaW5nTGlz
dFJlc3VsdCwKICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlzdFJlc3VsdCwgVGVtcGxhdGVF
eHByLAotICAgICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxkRXhwciwKKyAgICAgICAgVGFn
Z2VkVGVtcGxhdGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwKICAgICAgICAgTW9kdWxlTmFt
ZVJlc3VsdCwKICAgICAgICAgSW1wb3J0U3BlY2lmaWVyUmVzdWx0LCBJbXBvcnRTcGVjaWZpZXJM
aXN0UmVzdWx0LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1bHQsIEV4cG9ydFNwZWNpZmll
ckxpc3RSZXN1bHQKQEAgLTE4Miw4ICsxODIsMTAgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUVtcHR5TGV0RXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25z
dCBJZGVudGlmaWVyJikgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0KICAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBZaWVsZEV4
cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBFeHByZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gWWllbGRF
eHByOyB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIEF3YWl0RXhwcjsg
fQogICAgIENsYXNzRXhwcmVzc2lvbiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPFN5bnRheENoZWNrZXI+JiwgVmFyaWFibGVFbnZp
cm9ubWVudCYsIEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwgUHJvcGVydHlMaXN0LCBQ
cm9wZXJ0eUxpc3QpIHsgcmV0dXJuIENsYXNzRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNy
ZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBG
dW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50
LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIHVuc2lnbmVkLCBTb3Vy
Y2VQYXJzZU1vZGUsIGJvb2wsIElubmVyQXJyb3dGdW5jdGlvbkNvZGVGZWF0dXJlcyA9IE5vSW5u
ZXJBcnJvd0Z1bmN0aW9uRmVhdHVyZXMpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQog
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0
dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU1ldGhvZERlZmlu
aXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5
bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcAppbmRleCAwZjUzNzlhZDI1ZmI2MmY2OTVjYjNi
MmI5ZTg4Zjg3MWJiZDg0N2MyLi5mMTQ3ZWQzYWQxOGNjNTU3YWIyNTk5NmRiNjUwYWMzYmMxYjgy
MTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKQEAg
LTgxLDExICs4MSwxMSBAQCB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgQ2FjaGVUeXBlczxVbmxpbmtlZE1v
ZHVsZVByb2dyYW1Db2RlQmxvY2s+IHsKIH07CiAKIHRlbXBsYXRlIDxjbGFzcyBVbmxpbmtlZENv
ZGVCbG9ja1R5cGUsIGNsYXNzIEV4ZWN1dGFibGVUeXBlPgotVW5saW5rZWRDb2RlQmxvY2tUeXBl
KiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBl
eGVjdXRhYmxlLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUg
YnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1l
bnRNb2RlIGNvbW1lbnRNb2RlLCBEZWJ1Z2dlck1vZGUgZGVidWdnZXJNb2RlLCBQYXJzZXJFcnJv
ciYgZXJyb3IsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGNvbnN0IFZhcmlhYmxl
RW52aXJvbm1lbnQqIHZhcmlhYmxlc1VuZGVyVERaKQorVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBD
b2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGVj
dXRhYmxlLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVp
bHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlclNjcmlwdE1v
ZGUgc2NyaXB0TW9kZSwgRGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVy
cm9yLCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlLCBjb25zdCBWYXJpYWJsZUVudmly
b25tZW50KiB2YXJpYWJsZXNVbmRlclREWikKIHsKICAgICBEZXJpdmVkQ29udGV4dFR5cGUgZGVy
aXZlZENvbnRleHRUeXBlID0gZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCk7CiAgICAg
Ym9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0ID0gZXhlY3V0YWJsZS0+aXNBcnJvd0Z1bmN0aW9u
Q29udGV4dCgpOwotICAgIFNvdXJjZUNvZGVLZXkga2V5KHNvdXJjZSwgU3RyaW5nKCksIENhY2hl
VHlwZXM8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6Y29kZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJp
Y3RNb2RlLCBjb21tZW50TW9kZSwgZGVyaXZlZENvbnRleHRUeXBlLCBldmFsQ29udGV4dFR5cGUs
IGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpOworICAgIFNvdXJjZUNvZGVLZXkga2V5KHNvdXJjZSwg
U3RyaW5nKCksIENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6Y29kZVR5cGUsIGJ1
aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2
YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCk7CiAgICAgU291cmNlQ29kZVZh
bHVlKiBjYWNoZSA9IG1fc291cmNlQ29kZS5maW5kQ2FjaGVBbmRVcGRhdGVBZ2Uoa2V5KTsKICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIGRvIHNvbWV0aGluZyBzbWFydCBmb3IgVERaIGluc3RlYWQg
b2YganVzdCBkaXNhYmxpbmcgY2FjaGluZy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MDEwCkBAIC0xMDQsNyArMTA0LDcgQEAgVW5saW5rZWRDb2Rl
QmxvY2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFi
bGVUeXBlKiBleGUKICAgICB9CiAgICAgdHlwZWRlZiB0eXBlbmFtZSBDYWNoZVR5cGVzPFVubGlu
a2VkQ29kZUJsb2NrVHlwZT46OlJvb3ROb2RlIFJvb3ROb2RlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSb290Tm9kZT4gcm9vdE5vZGUgPSBwYXJzZTxSb290Tm9kZT4oCi0gICAgICAgICZ2bSwgc291
cmNlLCBJZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwg
Q2FjaGVUeXBlczxVbmxpbmtlZENvZGVCbG9ja1R5cGU+OjpwYXJzZU1vZGUsIFN1cGVyQmluZGlu
Zzo6Tm90TmVlZGVkLCBlcnJvciwgbnVsbHB0ciwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBkZXJp
dmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSk7CisgICAgICAgICZ2bSwgc291cmNlLCBJ
ZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBDYWNoZVR5
cGVzPFVubGlua2VkQ29kZUJsb2NrVHlwZT46OnBhcnNlTW9kZSwgU3VwZXJCaW5kaW5nOjpOb3RO
ZWVkZWQsIGVycm9yLCBudWxscHRyLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGRlcml2ZWRDb250
ZXh0VHlwZSwgZXZhbENvbnRleHRUeXBlKTsKICAgICBpZiAoIXJvb3ROb2RlKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIApAQCAtMTM2LDE4ICsxMzYsMTggQEAgVW5saW5rZWRDb2RlQmxvY2tU
eXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBl
KiBleGUKIFVubGlua2VkUHJvZ3JhbUNvZGVCbG9jayogQ29kZUNhY2hlOjpnZXRQcm9ncmFtQ29k
ZUJsb2NrKFZNJiB2bSwgUHJvZ3JhbUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJT
dHJpY3RNb2RlIHN0cmljdE1vZGUsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFBhcnNlckVy
cm9yJiBlcnJvcikKIHsKICAgICBWYXJpYWJsZUVudmlyb25tZW50IGVtcHR5UGFyZW50VERaVmFy
aWFibGVzOwotICAgIHJldHVybiBnZXRHbG9iYWxDb2RlQmxvY2s8VW5saW5rZWRQcm9ncmFtQ29k
ZUJsb2NrPih2bSwgZXhlY3V0YWJsZSwgc291cmNlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwg
SlNQYXJzZXJDb21tZW50TW9kZTo6Q2xhc3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgRXZhbENv
bnRleHRUeXBlOjpOb25lLCAmZW1wdHlQYXJlbnRURFpWYXJpYWJsZXMpOworICAgIHJldHVybiBn
ZXRHbG9iYWxDb2RlQmxvY2s8VW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrPih2bSwgZXhlY3V0YWJs
ZSwgc291cmNlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlOjpD
bGFzc2ljLCBkZWJ1Z2dlck1vZGUsIGVycm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZlbXB0
eVBhcmVudFREWlZhcmlhYmxlcyk7CiB9CiAKIFVubGlua2VkRXZhbENvZGVCbG9jayogQ29kZUNh
Y2hlOjpnZXRFdmFsQ29kZUJsb2NrKFZNJiB2bSwgRXZhbEV4ZWN1dGFibGUqIGV4ZWN1dGFibGUs
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9k
ZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1v
ZGUsIFBhcnNlckVycm9yJiBlcnJvciwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSwg
Y29uc3QgVmFyaWFibGVFbnZpcm9ubWVudCogdmFyaWFibGVzVW5kZXJURFopCiB7Ci0gICAgcmV0
dXJuIGdldEdsb2JhbENvZGVCbG9jazxVbmxpbmtlZEV2YWxDb2RlQmxvY2s+KHZtLCBleGVjdXRh
YmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2Rl
OjpDbGFzc2ljLCBkZWJ1Z2dlck1vZGUsIGVycm9yLCBldmFsQ29udGV4dFR5cGUsIHZhcmlhYmxl
c1VuZGVyVERaKTsKKyAgICByZXR1cm4gZ2V0R2xvYmFsQ29kZUJsb2NrPFVubGlua2VkRXZhbENv
ZGVCbG9jaz4odm0sIGV4ZWN1dGFibGUsIHNvdXJjZSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUs
IEpTUGFyc2VyU2NyaXB0TW9kZTo6Q2xhc3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgZXZhbENv
bnRleHRUeXBlLCB2YXJpYWJsZXNVbmRlclREWik7CiB9CiAKIFVubGlua2VkTW9kdWxlUHJvZ3Jh
bUNvZGVCbG9jayogQ29kZUNhY2hlOjpnZXRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKFZNJiB2bSwg
TW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNv
dXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgRGVidWdnZXJNb2RlIGRlYnVn
Z2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewogICAgIFZhcmlhYmxlRW52aXJvbm1lbnQg
ZW1wdHlQYXJlbnRURFpWYXJpYWJsZXM7Ci0gICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxV
bmxpbmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1
aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJDb21tZW50TW9k
ZTo6TW9kdWxlLCBkZWJ1Z2dlck1vZGUsIGVycm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZl
bXB0eVBhcmVudFREWlZhcmlhYmxlcyk7CisgICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxV
bmxpbmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1
aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2Rl
OjpNb2R1bGUsIGRlYnVnZ2VyTW9kZSwgZXJyb3IsIEV2YWxDb250ZXh0VHlwZTo6Tm9uZSwgJmVt
cHR5UGFyZW50VERaVmFyaWFibGVzKTsKIH0KIAogLy8gRklYTUU6IFRoZXJlJ3Mgbm8gbmVlZCB0
byBhZGQgdGhlIGZ1bmN0aW9uJ3MgbmFtZSB0byB0aGUga2V5IGhlcmUuIEl0J3MgYWxyZWFkeSBp
biB0aGUgc291cmNlIGNvZGUuCkBAIC0xNTgsNyArMTU4LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUo
Vk0mIHYKICAgICAgICAgc291cmNlLCBuYW1lLnN0cmluZygpLCBTb3VyY2VDb2RlVHlwZTo6RnVu
Y3Rpb25UeXBlLAogICAgICAgICBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAogICAg
ICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwKLSAgICAgICAgSlNQYXJzZXJDb21t
ZW50TW9kZTo6Q2xhc3NpYywKKyAgICAgICAgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLAog
ICAgICAgICBEZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUsCiAgICAgICAgIEV2YWxDb250ZXh0VHlw
ZTo6Tm9uZSwKICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCk7CkBAIC0xNzMsNyArMTcz
LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25F
eGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHYKICAgICBKU1RleHRQb3NpdGlvbiBwb3NpdGlv
bkJlZm9yZUxhc3ROZXdsaW5lOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJv
Z3JhbSA9IHBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZp
ZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJT
dHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFNvdXJj
ZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAorICAgICAg
ICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFz
c2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwKICAgICAgICAgZXJyb3IsICZwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICBpZiAo
IXByb2dyYW0pIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZXJyb3IuaXNWYWxpZCgpKTsKQEAg
LTIwMiw3ICsyMDIsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpn
ZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShWTSYgdgogICAgIG1ldGFkYXRhLT5z
ZXRFbmRQb3NpdGlvbihwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICAvLyBUaGUgRnVu
Y3Rpb24gY29uc3RydWN0b3Igb25seSBoYXMgYWNjZXNzIHRvIGdsb2JhbCB2YXJpYWJsZXMsIHNv
IG5vIHZhcmlhYmxlcyB3aWxsIGJlIHVuZGVyIFREWi4KICAgICBWYXJpYWJsZUVudmlyb25tZW50
IGVtcHR5VERaVmFyaWFibGVzOwotICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5j
dGlvbkV4ZWN1dGFibGUgPSBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKCZ2bSwg
c291cmNlLCBtZXRhZGF0YSwgVW5saW5rZWROb3JtYWxGdW5jdGlvbiwgQ29uc3RydWN0QWJpbGl0
eTo6Q2FuQ29uc3RydWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBlbXB0eVREWlZh
cmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBlOjpOb25lKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9u
RXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGU6OmNyZWF0ZSgmdm0sIHNvdXJjZSwgbWV0YWRhdGEsIFVubGlua2VkTm9ybWFsRnVuY3Rpb24s
IENvbnN0cnVjdEFiaWxpdHk6OkNhbkNvbnN0cnVjdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFz
c2ljLCBlbXB0eVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBlOjpOb25lKTsKIAogICAg
IGZ1bmN0aW9uRXhlY3V0YWJsZS0+c2V0U291cmNlVVJMRGlyZWN0aXZlKHNvdXJjZS5wcm92aWRl
cigpLT5zb3VyY2VVUkwoKSk7CiAgICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5zZXRTb3VyY2VNYXBw
aW5nVVJMRGlyZWN0aXZlKHNvdXJjZS5wcm92aWRlcigpLT5zb3VyY2VNYXBwaW5nVVJMKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaAppbmRleCAzMmI0MWRlZTA1
NWVmMjMxODczODZlNzExM2RhNWM1NjNhY2VlN2Y0Li5mNWIwYjIxNmIyMWIwMzE0YWZmNzJlMWZi
NjcyOTJiNDI4NjEwYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db2RlQ2FjaGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2Fj
aGUuaApAQCAtMTk5LDcgKzE5OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVW5saW5rZWRDb2RlQmxvY2tUeXBlLCBjbGFzcyBFeGVjdXRhYmxlVHlwZT4gCi0g
ICAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBnZXRHbG9iYWxDb2RlQmxvY2soVk0mLCBFeGVjdXRh
YmxlVHlwZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBKU1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1BhcnNl
clN0cmljdE1vZGUsIEpTUGFyc2VyQ29tbWVudE1vZGUsIERlYnVnZ2VyTW9kZSwgUGFyc2VyRXJy
b3ImLCBFdmFsQ29udGV4dFR5cGUsIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQqKTsKKyAgICBV
bmxpbmtlZENvZGVCbG9ja1R5cGUqIGdldEdsb2JhbENvZGVCbG9jayhWTSYsIEV4ZWN1dGFibGVU
eXBlKiwgY29uc3QgU291cmNlQ29kZSYsIEpTUGFyc2VyQnVpbHRpbk1vZGUsIEpTUGFyc2VyU3Ry
aWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlLCBEZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiwg
RXZhbENvbnRleHRUeXBlLCBjb25zdCBWYXJpYWJsZUVudmlyb25tZW50Kik7CiAKICAgICBDb2Rl
Q2FjaGVNYXAgbV9zb3VyY2VDb2RlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2
MWIwYzBjYmMwZmY1NzExZjEuLjczODlmOWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVm
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50
aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaApAQCAtMTA5LDYgKzEwOSw3IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAg
bWFjcm8oYXMpIFwKICAgICBtYWNybyhhc3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAg
IG1hY3JvKGJhY2spIFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAt
MjcxLDYgKzI3Miw3IEBACiAgICAgbWFjcm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lE
RU5USUZJRVJTX0VBQ0hfS0VZV09SRChtYWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAg
bWFjcm8oYnJlYWspIFwKICAgICBtYWNybyhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKaW5kZXggOTU0ODcw
NmY0ZDYxNTgxZDBiNGRmMzdjYjZjZWVmOTYwNmQyOTM4Ni4uODYwOWMzMzk1ZjA4MGY0MjRhNDNk
MTAwZDViZTg2MmQ2Y2JlYWNlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tcGxldGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tcGxldGlvbi5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgYm9vbCBjaGVja1N5bnRheChWTSYgdm0s
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogICAgIFJFTEVB
U0VfQVNTRVJUKHZtLmF0b21pY1N0cmluZ1RhYmxlKCkgPT0gd3RmVGhyZWFkRGF0YSgpLmF0b21p
Y1N0cmluZ1RhYmxlKCkpOwogICAgIHJldHVybiAhIXBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAg
ICAgJnZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVp
bHRpbiwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29t
bWVudE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmlu
ZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90
U3RyaWN0LCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJv
Z3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CiB9CiAKIGJvb2wgY2hl
Y2tNb2R1bGVTeW50YXgoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IFBhcnNlckVycm9yJiBlcnJvcikKQEAgLTc1LDcgKzc1LDcgQEAgYm9vbCBjaGVja01vZHVsZVN5
bnRheChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJy
b3ImIGUKICAgICBSRUxFQVNFX0FTU0VSVCh2bS5hdG9taWNTdHJpbmdUYWJsZSgpID09IHd0ZlRo
cmVhZERhdGEoKS5hdG9taWNTdHJpbmdUYWJsZSgpKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9k
dWxlUHJvZ3JhbU5vZGU+IG1vZHVsZVByb2dyYW1Ob2RlID0gcGFyc2U8TW9kdWxlUHJvZ3JhbU5v
ZGU+KAogICAgICAgICAmdm0sIHNvdXJjZSwgSWRlbnRpZmllcigpLCBKU1BhcnNlckJ1aWx0aW5N
b2RlOjpOb3RCdWlsdGluLAotICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQ
YXJzZXJDb21tZW50TW9kZTo6TW9kdWxlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVN
b2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0
cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUsIFNvdXJjZVBhcnNl
TW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7
CiAgICAgaWYgKCFtb2R1bGVQcm9ncmFtTm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCmluZGV4IDZiNzgy
OGE4Njg1ODEzNjE5OGRhNWFkMGJmMTcwZjdlYmEzZmU4MGQuLjM4Yjc1ODZkZDdjYjU5OWY5ZGY5
NDNhZmRlMWE5NDEyZTk5NzA5NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4ZWN1dGFibGUuY3BwCkBAIC01NzMsNyArNTczLDcgQEAgSlNPYmplY3QqIFByb2dyYW1FeGVj
dXRhYmxlOjpjaGVja1N5bnRheChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFByb2dyYW1Ob2RlPiBwcm9ncmFtTm9kZSA9IHBhcnNlPFByb2dyYW1O
b2RlPigKICAgICAgICAgdm0sIG1fc291cmNlLCBJZGVudGlmaWVyKCksIEpTUGFyc2VyQnVpbHRp
bk1vZGU6Ok5vdEJ1aWx0aW4sCi0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0
LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1N
b2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0
cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQ
YXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOwog
ICAgIGlmIChwcm9ncmFtTm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgQVNTRVJUKGVycm9y
LmlzVmFsaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
eGVjdXRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgK
aW5kZXggYWM4YWI2ZmQwYmUzMTY4ODBjM2U0MDBmMmJiYjUzNmFjMjk4YjI2NS4uYTVjYWVlMjNj
MDg3OGMyZDA2ZWIyZmFlNDdlODE0ZTIzMzYyZWY4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0V4ZWN1dGFibGUuaApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHB1YmxpYzoKICAgICAg
ICAgCiAgICAgREVDTEFSRV9JTkZPOwogCi0gICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1v
ZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyQ29tbWVu
dE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6
OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4
dCgpLCBmYWxzZSwgZXZhbENvbnRleHRUeXBlKCkpOyB9CisgICAgRXhlY3V0YWJsZUluZm8gZXhl
Y3V0YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBp
c1N0cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFy
c2VyU2NyaXB0TW9kZTo6Q2xhc3NpYywgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIFNvdXJjZVBh
cnNlTW9kZTo6UHJvZ3JhbU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rp
b25Db250ZXh0KCksIGZhbHNlLCBldmFsQ29udGV4dFR5cGUoKSk7IH0KIAogICAgIHVuc2lnbmVk
IG51bVZhcmlhYmxlcygpIHsgcmV0dXJuIG1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLT5udW1WYXJp
YWJsZXMoKTsgfQogICAgIHVuc2lnbmVkIG51bWJlck9mRnVuY3Rpb25EZWNscygpIHsgcmV0dXJu
IG1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLT5udW1iZXJPZkZ1bmN0aW9uRGVjbHMoKTsgfQpAQCAt
NTAwLDcgKzUwMCw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogCi0g
ICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRh
YmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGlu
Zzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4
dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgRXZhbENvbnRleHRUeXBl
OjpOb25lKTsgfQorICAgIEV4ZWN1dGFibGVJbmZvIGV4ZWN1dGFibGVJbmZvKCkgY29uc3QgeyBy
ZXR1cm4gRXhlY3V0YWJsZUluZm8odXNlc0V2YWwoKSwgaXNTdHJpY3RNb2RlKCksIGZhbHNlLCBm
YWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBk
ZXJpdmVkQ29udGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgRXZh
bENvbnRleHRUeXBlOjpOb25lKTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVj
dXRhYmxlQmFzZTsKQEAgLTU0MSw3ICs1NDEsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lO
Rk87CiAKLSAgICBFeGVjdXRhYmxlSW5mbyBleGVjdXRhYmxlSW5mbygpIGNvbnN0IHsgcmV0dXJu
IEV4ZWN1dGFibGVJbmZvKHVzZXNFdmFsKCksIGlzU3RyaWN0TW9kZSgpLCBmYWxzZSwgZmFsc2Us
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgSlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxlLCBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUs
IGRlcml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBF
dmFsQ29udGV4dFR5cGU6Ok5vbmUpOyB9CisgICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1v
ZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0
TW9kZTo6TW9kdWxlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpN
b2R1bGVFdmFsdWF0ZU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25D
b250ZXh0KCksIGZhbHNlLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUpOyB9CiAKICAgICBVbmxpbmtl
ZE1vZHVsZVByb2dyYW1Db2RlQmxvY2sqIHVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jaygp
IHsgcmV0dXJuIG1fdW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmdldCgpOyB9CiAKQEAg
LTY2Myw3ICs2NjMsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgSWRlbnRpZmllciYgaW5mZXJyZWRO
YW1lKCkgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPmluZmVycmVkTmFtZSgpOyB9CiAg
ICAgc2l6ZV90IHBhcmFtZXRlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1
dGFibGUtPnBhcmFtZXRlckNvdW50KCk7IH0gLy8gRXhjbHVkaW5nICd0aGlzJyEKICAgICBTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlKCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFi
bGUtPnBhcnNlTW9kZSgpOyB9Ci0gICAgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdW5saW5rZWRFeGVjdXRhYmxlLT5jb21tZW50TW9kZSgpOyB9Cisg
ICAgSlNQYXJzZXJTY3JpcHRNb2RlIGNvbW1lbnRNb2RlKCkgY29uc3QgeyByZXR1cm4gbV91bmxp
bmtlZEV4ZWN1dGFibGUtPmNvbW1lbnRNb2RlKCk7IH0KICAgICBjb25zdCBTb3VyY2VDb2RlJiBj
bGFzc1NvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5saW5rZWRFeGVjdXRhYmxlLT5jbGFzc1Nv
dXJjZSgpOyB9CiAKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RW
aXNpdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Nb2R1
bGVMb2FkZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTW9k
dWxlTG9hZGVyUHJvdG90eXBlLmNwcAppbmRleCBhMmRhNWZhNTkzYzhhOWU4Mjk1NTU5MjlkOWJm
MThjMjBjN2I0NWM0Li5hNTVmNDA0NDZhY2UxMGE3NjI5ZGU1YjVmOTM4NmRhZTU1NDJjN2Y3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Nb2R1bGVMb2FkZXJQcm90
b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01vZHVsZUxvYWRl
clByb3RvdHlwZS5jcHAKQEAgLTEyNiw3ICsxMjYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG1vZHVsZUxvYWRlclByb3RvdHlwZVBhcnNlTW9kdWxlKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBQYXJzZXJFcnJvciBlcnJvcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kdWxlUHJvZ3Jh
bU5vZGU+IG1vZHVsZVByb2dyYW1Ob2RlID0gcGFyc2U8TW9kdWxlUHJvZ3JhbU5vZGU+KAogICAg
ICAgICAmdm0sIHNvdXJjZUNvZGUsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6
Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpTdHJpY3QsIEpTUGFyc2Vy
Q29tbWVudE1vZGU6Ok1vZHVsZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwg
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGVycm9yKTsKKyAgICAgICAgSlNQYXJzZXJTdHJpY3RN
b2RlOjpTdHJpY3QsIEpTUGFyc2VyU2NyaXB0TW9kZTo6TW9kdWxlLCBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUFuYWx5emVNb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOwogCiAg
ICAgaWYgKGVycm9yLmlzVmFsaWQoKSkgewogICAgICAgICB0aHJvd1ZNRXJyb3IoZXhlYywgc2Nv
cGUsIGVycm9yLnRvRXJyb3JPYmplY3QoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBzb3Vy
Y2VDb2RlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIv
U291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA5ZTljZjQ0MGY4NDRjY2U4MDc2
NjY3ODkzOTNmMjViYzQ2MjE2NGRhLi4wNjA1YzE1MWY4OTEyMTUzMDJkZGUwMDk2NDRlMDA0MWQ4
YzU2M2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTM2MCw2ICszNjAsMTAgQEAgdGhl
IHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGZpbGUKICNkZWZpbmUgRU5BQkxFX0VTNl9NT0RVTEVTIDAKICNlbmRp
ZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyNk
ZWZpbmUgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCAwCisjZW5kaWYKKwogI2lm
ICFkZWZpbmVkKEVOQUJMRV9DT05URU5UX0VYVEVOU0lPTlMpCiAjZGVmaW5lIEVOQUJMRV9DT05U
RU5UX0VYVEVOU0lPTlMgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2Yzk4MjBmNTNhMzFiZDJj
NDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgyMmM5Njc0Y2Q0M2ZkYmY5
YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFU
SCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2
X01PRFVMRVMgPSA7CitFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYID0gOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1hcHBsZXR2Kl0gPSA7CiBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkdbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1tYWNvc3gqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKQEAgLTIwMCw0ICsyMDEsNCBAQCBFTkFCTEVfRlRMX0pJVFtzZGs9aXBob25lb3MqXSA9IEVO
QUJMRV9GVExfSklUOwogCiBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTID0gRU5BQkxFX0NVU1RPTV9F
TEVNRU5UUzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0ZF
VENIX0FQSSkgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFD
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJHTDIpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJ
VEFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVT
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
UzZfTU9EVUxFUykgJChFTkFCTEVfRVMyMDE3X0FTWU5DRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBU
VVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJ
T04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2
ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiAr
NTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVf
Q0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0
dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZU
TF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9F
TEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RS
RUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxF
X1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
Ql9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9Y
U0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4
MTY4Mi4uZmVlMDc0MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTUxLDYgKzUxLDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19Q
QVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfTU9EVUxFUyA9IDsKK0VOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggPSA7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkdbc2RrPWFwcGxldHYqXSA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9aXBob25l
Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkdb
c2RrPW1hY29zeCpdID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjAwLDQgKzIwMSw0
IEBAIEVOQUJMRV9GVExfSklUW3Nkaz1pcGhvbmVvcypdID0gRU5BQkxFX0ZUTF9KSVQ7CiAKIEVO
QUJMRV9DVVNUT01fRUxFTUVOVFMgPSBFTkFCTEVfQ1VTVE9NX0VMRU1FTlRTOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX0VMRU1F
TlRTKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FUzZfTU9EVUxFUykgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAk
KEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0ZFVENIX0FQSSkgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRUFEQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VT
QUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJfQU5JTUFUSU9OUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfV1JJVEFCTEVfU1RSRUFNX0FQ
SSkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggYzcxZTVh
NzZiOGViNTk5NTgxY2Q4OGNkMzAwNjAzZmUzZTQxYjNiYS4uYjM3M2MwNTY2MjVmZTY0YWU1NmYy
ZTY2MTZjNTI3Nzc0YmFjZGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTEz
LDYgKzExMyw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAiVG9nZ2xlIEVNRSBzdXBwb3J0IiBQUklW
QVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyICJTdXBwb3J0IEVNRSB2MiIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0VTNl9NT0RVTEVTICJUb2dnbGUgRVM2IG1vZHVsZXMgc3VwcG9ydCIgUFJJVkFU
RSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCAiVG9nZ2xlIEVTMjAxNyBhc3luYyBmdW5jdGlvbnMgc3VwcG9ydCIgUFJJVkFU
RSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZFVENIX0FQSSAiVG9nZ2xl
IEZldGNoIEFQSSBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIgIlRvZ2dsZSBGaWx0ZXJzIE1vZHVsZSBMZXZlbCAyIiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUyAiVG9nZ2xlIEZvbnQgTG9hZCBFdmVudHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTk0OWJjZDVl
NmUyMGU0ZWQwN2YyYzk0ZDFkODY3YjNkOTQxYzQwZC4uZGUxOGJjNWE5N2JiZjg3NTVjZjViNjNh
ZWNhYjJiMTQzMDM4NTZiMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA5LTIxICBDYWl0bGluIFBvdHRlciAg
PGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcgb2Yg
QXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNjcmlwdHMvYnVpbGQtanNjOgorICAgICAgICAoY01ha2VBcmdzRnJvbUZlYXR1
cmVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxNi0wOS0yMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwNjIyMiBhbmQgcjIwNjIyNy4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWls
ZC1qc2MKaW5kZXggMjM0NzdhZmI1MGRmOWIwOTdlYjQyZjdiNDJkM2E1NzI3MDVmYjYwYS4uMWUz
ZmQ4ZDAwN2RmYjA1MGU0YjYyNmRkZmI0NzM1MDZhNTgyMjQ5YSAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy9idWlsZC1qc2MKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKQEAgLTMzLDEz
ICszMywxNiBAQCB1c2UgRmluZEJpbjsKIHVzZSBHZXRvcHQ6OkxvbmcgcXcoOmNvbmZpZyBwYXNz
X3Rocm91Z2gpOwogdXNlIGxpYiAkRmluZEJpbjo6QmluOwogdXNlIHdlYmtpdGRpcnM7Cit1c2Ug
d2Via2l0cGVybDo6RmVhdHVyZUxpc3QgcXcoZ2V0RmVhdHVyZU9wdGlvbkxpc3QpOwogdXNlIFBP
U0lYOwogCitzdWIgY01ha2VBcmdzRnJvbUZlYXR1cmVzKCk7CiBzdWIgd3JpdGVDb25ncmF0cygp
OwogCiBwcm9oaWJpdFVua25vd25Qb3J0KCk7CiAKIG15ICRzaG91bGRSdW5TdGF0aWNBbmFseXpl
ciA9IDA7CitteSAkbWluaW1hbCA9IDA7CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICRz
aG93SGVscCA9IDA7CiBteSAkZnRsSklUID0gaW50KGlzQXBwbGVNYWNXZWJLaXQoKSAmJiAhd2ls
bFVzZUlPU1NpbXVsYXRvclNESygpIHx8IGlzWDg2XzY0KCkgJiYgKGlzR3RrKCkgfHwgaXNFZmwo
KSB8fCBpc0pTQ09ubHkoKSkpOwpAQCAtNTAsNiArNTMsMjAgQEAgbXkgQGNtYWtlQXJnczsKIG15
ICRjb3B5TGlicmFyaWVzID0gMTsKIG15ICRzdGFydFRpbWUgPSB0aW1lKCk7CiAKK215IEBmZWF0
dXJlcyA9IGdldEZlYXR1cmVPcHRpb25MaXN0KCk7CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJv
bSBkZWZhdWx0cworZm9yZWFjaCAoQEFSR1YpIHsKKyAgICBpZiAoJF8gZXEgJy0tbWluaW1hbCcp
IHsKKyAgICAgICAgJG1pbmltYWwgPSAxOworICAgIH0KK30KKworIyBJbml0aWFsaXplIHZhbHVl
cyBmcm9tIGRlZmF1bHRzCitmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAkeyRfLT57dmFsdWV9
fSA9ICgkbWluaW1hbCA/IDAgOiAkXy0+e2RlZmF1bHR9KTsKK30KKwogIyBBZGRpdGlvbmFsIGVu
dmlyb25tZW50IHBhcmFtZXRlcnMKIHB1c2ggQEFSR1YsIHNwbGl0KC8gLywgJEVOVnsnQlVJTERf
SlNDX0FSR1MnfSkgaWYgKCRFTlZ7J0JVSUxEX0pTQ19BUkdTJ30pOwogCkBAIC02Nyw3ICs4NCw3
IEBAIFVzYWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVp
bGQgc3lzdGVtXQogICAtLWNtYWtlYXJncz08YXJndW1lbnRzPiAgICAgICBPbmUgb3IgbW9yZSBv
cHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz0iLURGT089YmFyIC1EQ01BS0Vf
UFJFRklYX1BBVEg9L3Vzci9sb2NhbCIpCiBFT0YKIAotR2V0T3B0aW9ucygKK215ICVvcHRpb25z
ID0gKAogICAgICdhbmFseXplIScgPT4gXCRzaG91bGRSdW5TdGF0aWNBbmFseXplciwKICAgICAn
Y292ZXJhZ2UhJyA9PiBcJGNvdmVyYWdlU3VwcG9ydCwKICAgICAnaGVscCcgPT4gXCRzaG93SGVs
cCwKQEAgLTc5LDYgKzk2LDE2IEBAIEdldE9wdGlvbnMoCiAgICAgJ2NtYWtlYXJncz1zJyA9PiBc
QGNtYWtlQXJncwogKTsKIAorZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgaWYgKCRfLT57amF2
YXNjcmlwdH0pIHsKKyAgICAgICAgbXkgJG9wdCA9IHNwcmludGYoIiUtMzVzIiwgIiAgLS1bbm8t
XSRfLT57b3B0aW9ufSIpOworICAgICAgICAkdXNhZ2UgLj0gIiRvcHQgJF8tPntkZXNjfSAoZGVm
YXVsdDogJF8tPntkZWZhdWx0fSlcbiI7CisgICAgICAgICRvcHRpb25zeyIkXy0+e29wdGlvbn0h
In0gPSAkXy0+e3ZhbHVlfTsKKyAgICB9Cit9CisKK0dldE9wdGlvbnMoJW9wdGlvbnMpOworCiBp
ZiAoJHNob3dIZWxwKSB7CiAgICBwcmludCBTVERFUlIgJHVzYWdlOwogICAgZXhpdCAxOwpAQCAt
MTA0LDYgKzEzMSw4IEBAIGlmIChpc0NNYWtlQnVpbGQoKSkgewogICAgIHB1c2ggQGNtYWtlQXJn
cywgJGZvcmNlQ0xvb3AgPyAiIC1ERU5BQkxFX0pJVD1PRkYiIDogIiAtREVOQUJMRV9KSVQ9T04i
OwogICAgIHB1c2ggQGNtYWtlQXJncywgJGZ0bEpJVCA/ICIgLURFTkFCTEVfRlRMX0pJVD1PTiIg
OiAiIC1ERU5BQkxFX0ZUTF9KSVQ9T0ZGIjsKIAorICAgIG15IEBmZWF0dXJlQXJncyA9IGNNYWtl
QXJnc0Zyb21GZWF0dXJlcygpOworCiAgICAgbXkgJGJ1aWxkVGFyZ2V0ID0gIiI7CiAgICAgdW5s
ZXNzIChpc0FueVdpbmRvd3MoKSkgewogICAgICAgICAjIEJ5IGRlZmF1bHQgd2UgYnVpbGQgdXNp
bmcgYWxsIG9mIHRoZSBhdmFpbGFibGUgQ1BVcwpAQCAtMTE0LDcgKzE0Myw3IEBAIGlmIChpc0NN
YWtlQnVpbGQoKSkgewogICAgIH0KIAogICAgICMgVGhpcyBjYWxsIG9ubHkgcmV0dXJucyBpZiBu
b3RoaW5nIHdyb25nIGhhcHBlbmVkCi0gICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoMCwgdW5k
ZWYsICRidWlsZFRhcmdldCwgKGNtYWtlQmFzZWRQb3J0QXJndW1lbnRzKCksIEBjbWFrZUFyZ3Mp
KTsKKyAgICBidWlsZENNYWtlUHJvamVjdE9yRXhpdCgwLCB1bmRlZiwgJGJ1aWxkVGFyZ2V0LCAo
Y21ha2VCYXNlZFBvcnRBcmd1bWVudHMoKSwgQGZlYXR1cmVBcmdzLCBAY21ha2VBcmdzKSk7CiAg
ICAgd3JpdGVDb25ncmF0cygpOwogICAgIGV4aXQgZXhpdFN0YXR1cygwKTsKIH0KQEAgLTEyMyw2
ICsxNTIsMjAgQEAgaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgewogICAgIHB1c2ggQG9wdGlvbnMs
ICgkZm9yY2VDTG9vcCA/ICJFTkFCTEVfSklUPUVOQUJMRV9KSVQ9MCIgOiAiRU5BQkxFX0pJVD1F
TkFCTEVfSklUIik7CiAgICAgcHVzaCBAb3B0aW9ucywgKCRmdGxKSVQgPyAiRU5BQkxFX0ZUTF9K
SVQ9RU5BQkxFX0ZUTF9KSVQiIDogIkVOQUJMRV9GVExfSklUPUVOQUJMRV9GVExfSklUPTAiKTsK
IAorICAgIHN1YiBvcHRpb24oJCQkKQorICAgIHsKKyAgICAgICAgbXkgKCRmZWF0dXJlLCAkaXNF
bmFibGVkLCAkZGVmYXVsdFZhbHVlKSA9IEBfOworICAgICAgICByZXR1cm4gIiIgaWYgJGRlZmF1
bHRWYWx1ZSA9PSAkaXNFbmFibGVkOworICAgICAgICByZXR1cm4gJGZlYXR1cmUgLiAiPSIgLiAo
JGlzRW5hYmxlZCA/ICRmZWF0dXJlIDogIiIpOworICAgIH0KKworICAgIGZvcmVhY2ggKEBmZWF0
dXJlcykgeworICAgICAgICBpZiAoJF8tPntqYXZhc2NyaXB0fSkgeworICAgICAgICAgICAgbXkg
JG9wdGlvbiA9IG9wdGlvbigkXy0+e2RlZmluZX0sICR7JF8tPnt2YWx1ZX19LCAkXy0+e2RlZmF1
bHR9KTsKKyAgICAgICAgICAgIHB1c2ggQG9wdGlvbnMsICRvcHRpb24gdW5sZXNzICRvcHRpb24g
ZXEgIiI7CisgICAgICAgIH0KKyAgICB9CisKICAgICBpZiAoJGNvcHlMaWJyYXJpZXMpIHsKICAg
ICAgICAgbXkgQGNvcHlMaWJyYXJpZXNBcmdzID0gKCJwZXJsIiwgIlRvb2xzL1NjcmlwdHMvY29w
eS13ZWJraXRsaWJyYXJpZXMtdG8tcHJvZHVjdC1kaXJlY3RvcnkiKTsKICAgICAgICAgcHVzaCBA
Y29weUxpYnJhcmllc0FyZ3MsICItLWRldmljZSIgaWYgd2lsbFVzZUlPU0RldmljZVNESygpOwpA
QCAtMTUzLDYgKzE5NiwyMSBAQCBzdWIgYnVpbGRNeVByb2plY3QKICAgICBjaGRpcldlYktpdCgp
OwogfQogCitzdWIgY01ha2VBcmdzRnJvbUZlYXR1cmVzKCkKK3sKKyAgICBteSBAYXJnczsKKyAg
ICBmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAgICAgbXkgJGZlYXR1cmVOYW1lID0gJF8tPntk
ZWZpbmV9OworICAgICAgICBpZiAoJGZlYXR1cmVOYW1lKSB7CisgICAgICAgICAgICBteSAkZmVh
dHVyZUVuYWJsZWQgPSAkeyRfLT57dmFsdWV9fSA/ICJPTiIgOiAiT0ZGIjsKKyAgICAgICAgICAg
IGlmICgkZmVhdHVyZUVuYWJsZWQgIT0gJF8tPntkZWZhdWx0fSkgeworICAgICAgICAgICAgICAg
IHB1c2ggQGFyZ3MsICItRCRmZWF0dXJlTmFtZT0kZmVhdHVyZUVuYWJsZWQiOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBAYXJnczsKK30KKwogc3ViIHdyaXRl
Q29uZ3JhdHMoKQogewogICAgIG15ICRlbmRUaW1lID0gdGltZSgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDY5ZGNlNzZkZWMwNjJiMzA4MWYwN2QxYjNiZGUx
MmJiMzNkZGJmNmEuLjliN2FmYjM1NGNjZDkyMTcyYzAzMTViODZlNmEwYTdlZGEwOWMyZWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTUxLDYgKzUxLDcgQEAg
QkVHSU4gewogbXkgKAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKICAgICAkYWxs
SW5PbmVCdWlsZCwKKyAgICAkYXN5bmNmdW5jdGlvblN5bnRheCwKICAgICAkYXR0YWNobWVudEVs
ZW1lbnRTdXBwb3J0LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0
aFN1cHBvcnQsCkBAIC0xNzMsNiArMTc0LDEwIEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9w
dGlvbiA9PiAiYWxsaW5vbmUtYnVpbGQiLCBkZXNjID0+ICJUb2dnbGUgYWxsLWluLW9uZSBidWls
ZCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BTExJTk9ORV9CVUlMRCIsIGRlZmF1bHQgPT4g
aXNXaW5kb3dzKCksIHZhbHVlID0+IFwkYWxsSW5PbmVCdWlsZCB9LAogCisgICAgeyBvcHRpb24g
PT4gImFzeW5jZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTMjAxNyBhc3luYyBm
dW5jdGlvbnMgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzIwMTdfQVNZTkNG
VU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkYXN5bmNmdW5jdGlvblN5
bnRheCwKKyAgICAgIGphdmFzY3JpcHQgPT4gMSB9LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFj
aG1lbnQtZWxlbWVudCIsIGRlc2MgPT4gIlRvZ2dsZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0
ID0+IDAsIHZhbHVlID0+IFwkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0IH0sCiAKQEAgLTI2NCw3
ICsyNjksOCBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9HQU1F
UEFEIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGdhbWVwYWRTdXBwb3J0IH0sCiAKICAgICB7
IG9wdGlvbiA9PiAiZ2VuZXJhdG9ycyIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgZ2VuZXJhdG9ycyBz
dXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9HRU5FUkFUT1JTIiwgZGVmYXVs
dCA9PiAxLCB2YWx1ZSA9PiBcJGdlbmVyYXRvcnNTdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9FUzZfR0VORVJBVE9SUyIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRnZW5lcmF0
b3JzU3VwcG9ydCwKKyAgICAgIGphdmFzY3JpcHQgPT4gMSB9LAogCiAgICAgeyBvcHRpb24gPT4g
Imdlb2xvY2F0aW9uIiwgZGVzYyA9PiAiVG9nZ2xlIEdlb2xvY2F0aW9uIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfR0VPTE9DQVRJT04iLCBkZWZhdWx0ID0+IChpc0FwcGxlV2Vi
S2l0KCkgfHwgaXNJT1NXZWJLaXQoKSB8fCBpc0d0aygpIHx8IGlzRWZsKCkpLCB2YWx1ZSA9PiBc
JGdlb2xvY2F0aW9uU3VwcG9ydCB9LApAQCAtMzQyLDcgKzM0OCw4IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX01IVE1MIiwgZGVmYXVsdCA9PiAoaXNHdGsoKSB8
fCBpc0VmbCgpKSwgdmFsdWUgPT4gXCRtaHRtbFN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+
ICJtb2R1bGVzIiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBtb2R1bGVzIHN1cHBvcnQiLAotICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfRVM2X01PRFVMRVMiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
bW9kdWxlc1N1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9NT0RVTEVTIiwg
ZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJG1vZHVsZXNTdXBwb3J0LAorICAgICAgamF2YXNjcmlw
dCA9PiAxIH0sCiAKICAgICB7IG9wdGlvbiA9PiAibW91c2UtY3Vyc29yLXNjYWxlIiwgZGVzYyA9
PiAiVG9nZ2xlIFNjYWxlZCBtb3VzZSBjdXJzb3Igc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+
IFwkbW91c2VDdXJzb3JTY2FsZVN1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGY2
Yzk4MjBmNTNhMzFiZDJjNDBhZmM3MThhZjc4MmE3Nzk5ODE2ODIuLmZlZTA3NDBlMTBlMjY4NTgy
MmM5Njc0Y2Q0M2ZkYmY5YjRmNTA5ZTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTEsNiAr
NTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVf
Q0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9YXBwbGV0
dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklOR1tzZGs9bWFjb3N4Kl0g
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAxLDQgQEAgRU5BQkxFX0ZU
TF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAogRU5BQkxFX0NVU1RPTV9F
TEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxFTUVOVFMpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5UTCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVBREFCTEVfU1RS
RUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCX0FO
SU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1hTTFQp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5BQkxFX0VTMjAxN19BU1lO
Q0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFQURBQkxF
X1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
Ql9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1fQVBJKSAkKEVOQUJMRV9Y
U0xUKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5YzY3Y2ExMTE5
NTljMDA2ZDJhMzBhYTUwNmMwMzc1N2ExMDIxNjRhLi5jYTQzZTgxNzc2NGVjZDY3NjlhOGMxYWFk
YmM0MzdlODMwOWFmZTk2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlh
LmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorCisyMDE2LTA5LTIxICBDYWl0bGluIFBv
dHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNp
bmcgb2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAx
Ni0wOS0yMCAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQGFtLnNvbnkuY29tPgogCiAgICAg
ICAgIFtXaW5DYWlyb10gVXNlIGZpbmRfcGFja2FnZSBjYWlybyBpbiBidWlsZApkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBiM2Y2OGQyZmNl
ZWU1ZDcwMjQyYzMyOWZkYzAzNjlhMmNhYTM1NjMwLi4xMWE0NmI3ZDA1OGFiZDE2ZjMyM2Y5OWJl
ZjQyOWNkOWRlY2NkMGM5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA5LTIxICBDYWl0bGluIFBvdHRl
ciAgPGNhaXRwQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IHBhcnNpbmcg
b2YgQXN5bmMgRnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjE0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHN0cmVzcy9hc3luYy1hd2FpdC1zeW50YXguanM6IEFkZGVkLgorICAgICAg
ICAodGVzdFN5bnRheCk6CisgICAgICAgICh0ZXN0U3ludGF4RXJyb3IpOgorICAgICAgICAodGVz
dFRvcExldmVsQXN5bmNBd2FpdFN5bnRheFNsb3BweU1vZGUudGVzdFN5bnRheCk6CisgICAgICAg
ICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSk6CisgICAgICAgICh0ZXN0
VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZSk6CisgICAgICAgICh0ZXN0VG9wTGV2
ZWxBc3luY0F3YWl0U3ludGF4U3RyaWN0TW9kZS50ZXN0U3ludGF4KToKKyAgICAgICAgKHRlc3RO
ZXN0ZWRBc3luY0F3YWl0U3ludGF4LmFzeW5jKToKKyAgICAgICAgKHRlc3ROZXN0ZWRBc3luY0F3
YWl0U3ludGF4LmZvbyk6CisgICAgICAgICh0ZXN0VG9wTGV2ZWxBc3luY0F3YWl0U3ludGF4U2xv
cHB5TW9kZS50ZXN0U3ludGF4RXJyb3IpOgorCiAyMDE2LTA5LTIwICBCZW5qYW1pbiBQb3VsYWlu
ICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIERvIG5vdCB1c2UgRWFnZXJS
dW4gb24gdGVzdHMgY291bnRpbmcgcmVjb21waWxhdGlvbgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9z
dHJlc3MvYXN5bmMtYXdhaXQtc3ludGF4LmpzIGIvSlNUZXN0cy9zdHJlc3MvYXN5bmMtYXdhaXQt
c3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkYWU3N2Q2ZTYyNGY1NGM5ZDY3M2FmN2M5MjlhNTk5N2Uy
NGJhODMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9hc3luYy1hd2FpdC1zeW50
YXguanMKQEAgLTAsMCArMSwyODAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvLyBU
aGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCB0byBi
ZSBlbmFibGVkIGF0IGJ1aWxkIHRpbWUuCisvL0Agc2tpcAorCitmdW5jdGlvbiB0ZXN0U3ludGF4
KHNjcmlwdCkgeworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNo
IChlcnJvcikgeworICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGVycm9yOiAiICsgU3RyaW5nKGVycm9yKSAr
ICJcbiAgICAgICBldmFsdWF0aW5nIGAiICsgc2NyaXB0ICsgImAiKTsKKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHRlc3RTeW50YXhFcnJvcihzY3JpcHQsIG1lc3NhZ2UpIHsKKyAgICB2YXIgZXJyb3Ig
PSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGV2YWwoc2NyaXB0KTsKKyAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJvcikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBzeW50YXggZXJyb3Igbm90IHRocm93blxuICAgICAg
IGV2YWx1YXRpbmcgYCIgKyBzY3JpcHQgKyAiYCIpOworCisgICAgaWYgKHR5cGVvZiBtZXNzYWdl
ID09PSAic3RyaW5nIiAmJiBTdHJpbmcoZXJyb3IpICE9PSBtZXNzYWdlKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkJhZCBlcnJvcjogIiArIFN0cmluZyhlcnJvcikgKyAiXG4gICAgICAgZXZh
bHVhdGluZyBgIiArIHNjcmlwdCArICJgIik7Cit9CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxB
c3luY0F3YWl0U3ludGF4U2xvcHB5TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4KGB2YXIgYXN5bmNG
biA9IGFzeW5jIGZ1bmN0aW9uKCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gd2l0aE5hbWUoKSB7IGF3YWl0IDE7IH07YCk7Cisg
ICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7
CisgICAgdGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyB4ID0+IGF3YWl0IHggKyAndGVz
dCc7YCk7CisgICAgdGVzdFN5bnRheChgYXN5bmMgZnVuY3Rpb24gYXN5bmNGbigpIHsgYXdhaXQg
MTsgfWApOworICAgIHRlc3RTeW50YXgoYHZhciBPID0geyBhc3luYyBtZXRob2QoKSB7IGF3YWl0
IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGB2YXIgTyA9IHsgYXN5bmMgWydtZXRoJyArICdv
ZCddKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7IGFzeW5j
ICdtZXRob2QnKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgdmFyIE8gPSB7
IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGBjbGFzcyBDIHsg
YXN5bmMgbWV0aG9kKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAgdGVzdFN5bnRheChgY2xhc3Mg
QyB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXSgpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RT
eW50YXgoYGNsYXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAg
IHRlc3RTeW50YXgoYGNsYXNzIEMgeyBhc3luYyAwKCkgeyBhd2FpdCAxOyB9IH07YCk7CisgICAg
dGVzdFN5bnRheChgdmFyIGFzeW5jRm4gPSBhc3luYyh7IGZvbyA9IDEgfSkgPT4gZm9vO2ApOwor
ICAgIHRlc3RTeW50YXgoYHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4g
Zm9vO2ApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5jKHlp
ZWxkKTsgfWApOworICAgIHRlc3RTeW50YXgoYGZ1bmN0aW9uKiBnKCkgeyB2YXIgZiA9IGFzeW5j
KHggPSB5aWVsZCk7IH1gKTsKK30pKCk7CisKKyhmdW5jdGlvbiB0ZXN0VG9wTGV2ZWxBc3luY0F3
YWl0U3ludGF4U3RyaWN0TW9kZSgpIHsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24oKSB7IGF3YWl0IDE7IH07YCk7CisgICAgdGVzdFN5
bnRheChgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1l
KCkgeyBhd2FpdCAxOyB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFz
eW5jRm4gPSBhc3luYyAoKSA9PiBhd2FpdCAndGVzdCc7YCk7CisgICAgdGVzdFN5bnRheChgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIHggPT4gYXdhaXQgeCArICd0ZXN0JztgKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7
IGF3YWl0IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBh
c3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0
cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oKSB7IGF3YWl0IDE7IH0gfTtg
KTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyAnbWV0aG9k
JygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50YXgoYCJ1c2Ugc3RyaWN0IjsgdmFy
IE8gPSB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNl
IHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAg
ICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNsYXNzIEMgeyBhc3luYyBbJ21ldGgnICsgJ29k
J10oKSB7IGF3YWl0IDE7IH0gfTtgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IGNs
YXNzIEMgeyBhc3luYyAnbWV0aG9kJygpIHsgYXdhaXQgMTsgfSB9O2ApOworICAgIHRlc3RTeW50
YXgoYCJ1c2Ugc3RyaWN0IjsgY2xhc3MgQyB7IGFzeW5jIDAoKSB7IGF3YWl0IDE7IH0gfTtgKTsK
KyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3luY0ZuID0gYXN5bmMoeyBmb28g
PSAxIH0pID0+IGZvbztgKTsKKyAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7IHZhciBhc3lu
Y0ZuID0gYXN5bmMoeyBmb28gPSAxIH0gPSB7fSkgPT4gZm9vO2ApOworICAgIHRlc3RTeW50YXgo
YCJ1c2Ugc3RyaWN0IjsgZnVuY3Rpb24qIGcoKSB7IHZhciBmID0gYXN5bmMoeWllbGQpOyB9YCk7
CisgICAgdGVzdFN5bnRheChgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiogZygpIHsgdmFyIGYgPSBh
c3luYyh4ID0geWllbGQpOyB9YCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdE5lc3RlZEFzeW5j
QXdhaXRTeW50YXgoKSB7CisgICAgdmFyIGNvbnRleHREYXRhID0gWworICAgICAgICB7IHByZWZp
eDogImZ1bmN0aW9uIG91dGVyRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAg
ICB7IHByZWZpeDogImZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgIiwgc3VmZml4OiAiIH0i
IH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyRnVuY0V4cHIgPSBmdW5jdGlvbigpIHsg
Iiwgc3VmZml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckdlbkV4cHIg
PSBmdW5jdGlvbiooKSB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2
YXIgb3V0ZXJPYmplY3QgPSB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJPYmplY3QgPSB7ICpvdXRlckdlbk1ldGhvZCgp
IHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xh
c3NFeHByID0gY2xhc3MgQyB7IG91dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwK
KyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgKm91dGVy
R2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2
YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljIG91dGVyU3RhdGljTWV0aG9kKCkg
eyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFz
c0V4cHIgPSBjbGFzcyBDIHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0ZXJDbGFzcyB7IG91
dGVyTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJj
bGFzcyBvdXRlckNsYXNzIHsgKm91dGVyR2VuTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIg
fSwKKyAgICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgc3RhdGljIG91dGVyU3Rh
dGljTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJj
bGFzcyBvdXRlckNsYXNzIHsgc3RhdGljICpvdXRlclN0YXRpY0dlbk1ldGhvZCgpIHsgIiwgc3Vm
Zml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQXJyb3cgPSAoKSA9
PiB7ICIsIHN1ZmZpeDogIiB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJhc3luYyBmdW5jdGlv
biBvdXRlckFzeW5jRnVuY3Rpb24oKSB7ICIsIHN1ZmZpeDogIiB9IiB9LAorICAgICAgICB7IHBy
ZWZpeDogInZhciBvdXRlckFzeW5jRnVuY0V4cHIgPSBhc3luYyBmdW5jdGlvbigpIHsgIiwgc3Vm
Zml4OiAiIH07IiB9LAorICAgICAgICB7IHByZWZpeDogInZhciBvdXRlckFzeW5jQXJyb3dGdW5j
ID0gYXN5bmMgKCkgPT4geyAiLCBzdWZmaXg6ICIgfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAi
dmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyBvdXRlckFzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6
ICIgfSB9OyIgfSwKKyAgICAgICAgeyBwcmVmaXg6ICJ2YXIgb3V0ZXJDbGFzc0V4cHIgPSBjbGFz
cyBDIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhvZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisg
ICAgICAgIHsgcHJlZml4OiAidmFyIG91dGVyQ2xhc3NFeHByID0gY2xhc3MgQyB7IHN0YXRpYyBh
c3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZmaXg6ICIgfSB9OyIgfSwKKyAg
ICAgICAgeyBwcmVmaXg6ICJjbGFzcyBvdXRlckNsYXNzIHsgYXN5bmMgb3V0ZXJBc3luY01ldGhv
ZCgpIHsgIiwgc3VmZml4OiAiIH0gfTsiIH0sCisgICAgICAgIHsgcHJlZml4OiAiY2xhc3Mgb3V0
ZXJDbGFzcyB7IHN0YXRpYyBhc3luYyBvdXRlclN0YXRpY0FzeW5jTWV0aG9kKCkgeyAiLCBzdWZm
aXg6ICIgfSB9OyIgfSwKKyAgICBdOworCisgICAgdmFyIHRlc3REYXRhID0gWworICAgICAgICBg
dmFyIGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2AsCisgICAgICAgIGBsZXQgYXN5bmMgPSAxOyBy
ZXR1cm4gYXN5bmM7YCwKKyAgICAgICAgYGNvbnN0IGFzeW5jID0gMTsgcmV0dXJuIGFzeW5jO2As
CisgICAgICAgIGBmdW5jdGlvbiBhc3luYygpIHt9IHJldHVybiBhc3luYygpO2AsCisgICAgICAg
IGB2YXIgYXN5bmMgPSBhc3luYyA9PiBhc3luYzsgcmV0dXJuIGFzeW5jKCk7YCwKKyAgICAgICAg
YGZ1bmN0aW9uIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAg
ICAgYGZ1bmN0aW9uIGZvbyhhd2FpdCkgeyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBgZnVu
Y3Rpb24qIGZvbygpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAg
YGZ1bmN0aW9uKiBmb28oYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9YCwKKyAgICAgICAgYHZhciBm
ID0gKCkgPT4geyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7IH1gLAorICAgICAgICBgdmFy
IE8gPSB7IG1ldGhvZCgpIHsgdmFyIGF3YWl0ID0gMTsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAg
ICAgICAgYHZhciBPID0geyBtZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3YWl0OyB9IH07YCwKKyAg
ICAgICAgYHZhciBPID0geyAqbWV0aG9kKCkgeyB2YXIgYXdhaXQgPSAxOyByZXR1cm4gYXdhaXQ7
IH0gfTtgLAorICAgICAgICBgdmFyIE8gPSB7ICptZXRob2QoYXdhaXQpIHsgcmV0dXJuIGF3YWl0
OyB9IH07YCwKKworICAgICAgICBgKGZ1bmN0aW9uIGF3YWl0KCkge30pYCwKKyAgICBdOworCisg
ICAgZm9yIChsZXQgY29udGV4dCBvZiBjb250ZXh0RGF0YSkgeworICAgICAgICBmb3IgKGxldCB0
ZXN0IG9mIHRlc3REYXRhKSB7CisgICAgICAgICAgICBsZXQgc2NyaXB0ID0gY29udGV4dC5wcmVm
aXggKyB0ZXN0ICsgY29udGV4dC5zdWZmaXg7CisgICAgICAgICAgICB0ZXN0U3ludGF4KHNjcmlw
dCk7CisgICAgICAgICAgICB0ZXN0U3ludGF4KGAidXNlIHN0cmljdCI7ICR7c2NyaXB0fWApOwor
ICAgICAgICB9CisgICAgfQorfSkoKTsKKworCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNB
d2FpdFN5bnRheFNsb3BweU1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5bmNG
biA9IGFzeW5jIGZ1bmN0aW9uIGF3YWl0KCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZh
ciBhc3luY0ZuID0gYXN5bmMgKCkgPT4gdmFyIGF3YWl0ID0gJ3Rlc3QnO2ApOworICAgIHRlc3RT
eW50YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0
JzsgfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgYXdhaXQg
PT4gYXdhaXQgKyAndGVzdCdgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0g
YXN5bmMgZnVuY3Rpb24oYXdhaXQpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgYXN5
bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50
YXhFcnJvcihgdmFyIGFzeW5jRm4gPSBhc3luYyAoYXdhaXQpID0+ICd0ZXN0JztgKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9uIGFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihh
d2FpdCkge31gKTsKKworICAgIC8vIEZJWE1FOiBNZXRob2REZWZpbml0aW9ucyBkbyBub3QgYXBw
bHkgU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyByZXN0cmljdGlvbnMKKyAgICAvLyAgICAgICAgaW4g
c2xvcHB5IG1vZGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0
MDgpCisgICAgLy90ZXN0U3ludGF4RXJyb3IoYHZhciBvdXRlck9iamVjdCA9IHsgYXN5bmMgbWV0
aG9kKGEsIGEpIHt9IH1gKTsKKyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYSwgYSkge30gfWApOworICAgIC8vdGVzdFN5bnRh
eEVycm9yKGB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jICdtZXRob2QnKGEsIGEpIHt9IH1gKTsK
KyAgICAvL3Rlc3RTeW50YXhFcnJvcihgdmFyIG91dGVyT2JqZWN0ID0geyBhc3luYyAwKGEsIGEp
IHt9IH1gKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5j
KCkgPT4gYXdhaXQ7YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5
bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGFzeW5jIGZ1bmN0aW9u
KiBhc3luY0dlbmVyYXRvcigpIHt9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgTyA9IHsg
KmFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKCkge30gfTtgKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2ApOworICAg
IHRlc3RTeW50YXhFcnJvcihgdmFyIE8gPSB7IGFzeW5jIGFzeW5jR2VuZXJhdG9yTWV0aG9kKigp
IHt9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYHZhciBhc3luY0ZuID0gYXN5bmMgZnVu
Y3Rpb24oeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3Io
YGFzeW5jIGZ1bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYHZhciBmID0gYXN5bmMoeCA9IGF3YWl0IDEpID0+IHg7YCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGB2YXIgTyA9IHsgYXN5bmMgbWV0aG9kKHggPSBhd2FpdCAxKSB7IHJldHVy
biB4OyB9IH07YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVy
YXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0
ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJy
b3dGbiA9IGFzeW5jKHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGBmdW5j
dGlvbiogb3V0ZXJHZW5lcmF0b3IoKSB7IHZhciBhc3luY0Fycm93Rm4gPSBhc3luYyh4ID0geWll
bGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGZ1bmN0aW9uKiBvdXRlckdlbmVy
YXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0geWllbGR9KSA9PiAxOyB9YCk7
CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMgeyBhc3luYyBjb25zdHJ1Y3RvcigpIHt9
IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMg
QyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgY2xh
c3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKGBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBzdGF0aWMgYXN5bmMgcHJvdG90
eXBlKCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGB2YXIgZiA9IGFzeW5jKCkgPT4g
KChhc3luYyh4ID0gYXdhaXQgMSkgPT4geCkoKTtgKTsKKworICAgIC8vIEhlbnJpcXVlIEZlcnJl
aXJvJ3MgYnVnICh0bSkKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlvbiBmb28x
KCkgeyB9IGZvbzIgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBmdW5jdGlv
biBmb28zKCkgeyB9ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMgZnVu
Y3Rpb24gZm9vNCgpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1
bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYyBm
dW5jdGlvbigpIHsgfSAoKSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jIGZ1
bmN0aW9uKCkgeyB9ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmMuZm9vNiA9
PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzcgZm9vOCA9PiAxKWApOwor
ICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jLmZvbzkgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAo
YXN5bmMoKS5mb28xMSBmb28xMiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5j
KCkuZm9vMTMgKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luY1snZm9vMTQn
XSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgKGFzeW5jWydmb28xNSddIGZvbzE2ID0+
IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAoYXN5bmNbJ2ZvbzE3J10gKCkgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYChhc3luYygpWydmb28xOCddID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAoYXN5bmMoKVsnZm9vMTknXSBmb28yMCA9PiAxKWApOworICAgIHRlc3RT
eW50YXhFcnJvcihgKGFzeW5jKClbJ2ZvbzIxJ10gKCkgPT4gMWApOworICAgIHRlc3RTeW50YXhF
cnJvcigiKGFzeW5jYGZvbzIyYCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5j
YGZvbzIzYCBmb28yNCA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI1
YCAoKSA9PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI2YC5iYXIyNyA9
PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzI4YC5iYXIyOSBmb28zMCA9
PiAxKSIpOworICAgIHRlc3RTeW50YXhFcnJvcigiKGFzeW5jYGZvbzMxYC5iYXIzMiAoKSA9PiAx
KSIpOworCisgICAgLy8gYXNzZXJ0IHRoYXQgZXJyb3JzIGFyZSBzdGlsbCB0aHJvd24gZm9yIGNh
bGxzIHRoYXQgbWF5IGhhdmUgYmVlbiBhc3luYyBmdW5jdGlvbnMKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYGZ1bmN0aW9uIGFzeW5jKCkge30KKyAgICAgICAgICAgICAgICAgICAgIGFzeW5jKHsgZm9v
MzMgPSAxIH0pYCk7Cit9KSgpOworCisoZnVuY3Rpb24gdGVzdFRvcExldmVsQXN5bmNBd2FpdFN5
bnRheFN0cmljdE1vZGUoKSB7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZh
ciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXdhaXQoKSB7fWApOworICAgIHRlc3RTeW50YXhF
cnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jICgpID0+IHZhciBhd2FpdCA9
ICd0ZXN0JztgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5j
Rm4gPSBhc3luYyAoKSA9PiB7IHZhciBhd2FpdCA9ICd0ZXN0JzsgfTtgKTsKKyAgICB0ZXN0U3lu
dGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGFzeW5jRm4gPSBhc3luYyBhd2FpdCA9PiBhd2Fp
dCArICd0ZXN0J2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5
bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKGF3YWl0KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihg
InVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIHdpdGhOYW1lKGF3YWl0
KSB7fWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9
IGFzeW5jIChhd2FpdCkgPT4gJ3Rlc3QnO2ApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBz
dHJpY3QiOyBhc3luYyBmdW5jdGlvbiBhc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oYXdhaXQpIHt9
YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIG91dGVyT2JqZWN0
ID0geyBhc3luYyBtZXRob2QoYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIFsnbWV0aCcgKyAnb2QnXShhLCBh
KSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBvdXRlck9i
amVjdCA9IHsgYXN5bmMgJ21ldGhvZCcoYSwgYSkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyB2YXIgb3V0ZXJPYmplY3QgPSB7IGFzeW5jIDAoYSwgYSkge30gfWAp
OworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBhc3luY0Fycm93Rm4g
PSBhc3luYygpID0+IGF3YWl0O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmlj
dCI7IHZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24qKCkge31gKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgYXN5bmMgZnVuY3Rpb24qIGFzeW5jR2VuZXJhdG9yKCkge31g
KTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7ICphc3luYyBh
c3luY0dlbmVyYXRvck1ldGhvZCgpIHt9IH07YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IHZhciBPID0geyBhc3luYyAqYXN5bmNHZW5lcmF0b3JNZXRob2QoKSB7fSB9O2Ap
OworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9IHsgYXN5bmMgYXN5
bmNHZW5lcmF0b3JNZXRob2QqKCkge30gfTtgKTsKKworICAgIHRlc3RTeW50YXhFcnJvcihgInVz
ZSBzdHJpY3QiOyB2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uKHggPSBhd2FpdCAxKSB7IHJl
dHVybiB4OyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGFzeW5jIGZ1
bmN0aW9uIGYoeCA9IGF3YWl0IDEpIHsgcmV0dXJuIHg7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYyh4ID0gYXdhaXQgMSkgPT4geDtgKTsKKyAg
ICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZCh4
ID0gYXdhaXQgMSkgeyByZXR1cm4geDsgfSB9O2ApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IGZ1bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dG
biA9IGFzeW5jIHlpZWxkID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5
bmMoeWllbGQpID0+IDE7IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
ZnVuY3Rpb24qIG91dGVyR2VuZXJhdG9yKCkgeyB2YXIgYXN5bmNBcnJvd0ZuID0gYXN5bmMoeCA9
IHlpZWxkKSA9PiAxOyB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IGZ1
bmN0aW9uKiBvdXRlckdlbmVyYXRvcigpIHsgdmFyIGFzeW5jQXJyb3dGbiA9IGFzeW5jKHt4ID0g
eWllbGR9KSA9PiAxOyB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
Y2xhc3MgQyB7IGFzeW5jIGNvbnN0cnVjdG9yKCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJv
cihgInVzZSBzdHJpY3QiOyBjbGFzcyBDIHt9OyBjbGFzcyBDMiBleHRlbmRzIEMgeyBhc3luYyBj
b25zdHJ1Y3RvcigpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0Ijsg
Y2xhc3MgQyB7IHN0YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IGNsYXNzIEMge307IGNsYXNzIEMyIGV4dGVuZHMgQyB7IHN0
YXRpYyBhc3luYyBwcm90b3R5cGUoKSB7fSB9YCk7CisKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1
c2Ugc3RyaWN0IjsgdmFyIGYgPSBhc3luYygpID0+ICgoYXN5bmMoeCA9IGF3YWl0IDEpID0+IHgp
KCk7YCk7CisKKyAgICAvLyBIZW5yaXF1ZSBGZXJyZWlybydzIGJ1ZyAodG0pCisgICAgdGVzdFN5
bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBmdW5jdGlvbiBmb28xKCkgeyB9IGZvbzIg
PT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0
aW9uIGZvbzMoKSB7IH0gKCkgPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3Ry
aWN0IjsgKGFzeW5jIGZ1bmN0aW9uIGZvbzQoKSB7IH0gPT4gMSlgKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9IGZvbzUgPT4gMSlgKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jIGZ1bmN0aW9uKCkgeyB9
ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYyBm
dW5jdGlvbigpIHsgfSA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmMuZm9vNiA9PiAxKWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3Qi
OyAoYXN5bmMuZm9vNyBmb284ID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0
cmljdCI7IChhc3luYy5mb285ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYygpLmZvbzEwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IChhc3luYygpLmZvbzExIGZvbzEyID0+IDEpYCk7CisgICAgdGVzdFN5bnRh
eEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygpLmZvbzEzICgpID0+IDEpYCk7CisgICAgdGVz
dFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luY1snZm9vMTQnXSA9PiAxKWApOworICAg
IHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyAoYXN5bmNbJ2ZvbzE1J10gZm9vMTYgPT4g
MSlgKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgKGFzeW5jWydmb28xNydd
ICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChhc3luYygp
Wydmb28xOCddID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IChh
c3luYygpWydmb28xOSddIGZvbzIwID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNl
IHN0cmljdCI7IChhc3luYygpWydmb28yMSddICgpID0+IDEpYCk7CisgICAgdGVzdFN5bnRheEVy
cm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yMmAgPT4gMSknKTsKKyAgICB0ZXN0U3ludGF4
RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzIzYCBmb28yNCA9PiAxKScpOworICAgIHRl
c3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAoYXN5bmNgZm9vMjVgICgpID0+IDEpJyk7Cisg
ICAgdGVzdFN5bnRheEVycm9yKCcidXNlIHN0cmljdCI7IChhc3luY2Bmb28yNmAuYmFyMjcgPT4g
MSknKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoJyJ1c2Ugc3RyaWN0IjsgKGFzeW5jYGZvbzI4YC5i
YXIyOSBmb28zMCA9PiAxKScpOworICAgIHRlc3RTeW50YXhFcnJvcignInVzZSBzdHJpY3QiOyAo
YXN5bmNgZm9vMzFgLmJhcjMyICgpID0+IDEpJyk7CisKKyAgICAvLyBhc3NlcnQgdGhhdCBlcnJv
cnMgYXJlIHN0aWxsIHRocm93biBmb3IgY2FsbHMgdGhhdCBtYXkgaGF2ZSBiZWVuIGFzeW5jIGZ1
bmN0aW9ucworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyBmdW5jdGlvbiBhc3lu
YygpIHt9CisgICAgICAgICAgICAgICAgICAgICBhc3luYyh7IGZvbzMzID0gMSB9KWApOworCisg
ICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBtZXRob2Qo
ZXZhbCkge30gfWApOworICAgIHRlc3RTeW50YXhFcnJvcihgInVzZSBzdHJpY3QiOyB2YXIgTyA9
IHsgYXN5bmMgWydtZXRoJyArICdvZCddKGV2YWwpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJy
b3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jICdtZXRob2QnKGV2YWwpIHt9IH1gKTsK
KyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoZXZh
bCkge30gfWApOworCisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0g
eyBhc3luYyBtZXRob2QoYXJndW1lbnRzKSB7fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAi
dXNlIHN0cmljdCI7IHZhciBPID0geyBhc3luYyBbJ21ldGgnICsgJ29kJ10oYXJndW1lbnRzKSB7
fSB9YCk7CisgICAgdGVzdFN5bnRheEVycm9yKGAidXNlIHN0cmljdCI7IHZhciBPID0geyBhc3lu
YyAnbWV0aG9kJyhhcmd1bWVudHMpIHt9IH1gKTsKKyAgICB0ZXN0U3ludGF4RXJyb3IoYCJ1c2Ug
c3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIDAoYXJndW1lbnRzKSB7fSB9YCk7CisKKyAgICB0ZXN0
U3ludGF4RXJyb3IoYCJ1c2Ugc3RyaWN0IjsgdmFyIE8gPSB7IGFzeW5jIG1ldGhvZChkdXBlLCBk
dXBlKSB7fSB9YCk7Cit9KSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289502</attachid>
            <date>2016-09-21 18:37:42 -0700</date>
            <delta_ts>2016-09-23 06:28:55 -0700</delta_ts>
            <desc>Async Function Parsing v8 + fix ChangeLog + finish renaming variables/methods</desc>
            <filename>bug-161409-20160921213452.patch</filename>
            <type>text/plain</type>
            <size>217730</size>
            <attacher name="Caitlin Potter (:caitp)">caitp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NjE2NmU1NDBmNmY2MDk2YTQ5MzhjOTVkNDNlODI2MmM3Yjg4YjYyLi44M2MzN2MzOWE5ZDcxN2I2
MmExNjM5YzI3MGFiN2M2ZWExMjE3YWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNDcgQEAKKzIwMTYtMDktMjEgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgcGFyc2luZyBvZiBBc3luYyBGdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
ZXMgZnJvbnRlbmQgcGFyc2luZyBmb3IgdGhlIGFzeW5jIGZ1bmN0aW9uIHByb3Bvc2FsIHNvb24g
dG8gYmUKKyAgICAgICAgcmF0aWZpZWQgaW4gRUNNQTI2MiAoaHR0cHM6Ly90YzM5LmdpdGh1Yi5p
by9lY21hc2NyaXB0LWFzeW5jYXdhaXQvKS4KKworICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRGdW5jdGlvbkV4
ZWN1dGFibGU6OlVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKToKKyAgICAgICAgKiBieXRlY29k
ZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpl
bWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld01ldGhvZERlZmluaXRpb24pOgorICAgICAgICAqIHBhcnNlci9BU1RC
dWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25C
b2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmlzQXJyb3dGdW5jdGlvblBhcmFt
ZXRlcnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0
aW9uU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTdGF0ZW1lbnRMaXN0SXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOgorICAgICAgICAoSlNDOjpQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyPExleGVyVHlwZT46Om1heWJlUGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0
ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MpOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uT3JMYWJlbFN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUltcG9ydENsYXVzZUl0ZW0p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERlY2xhcmF0
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBd2FpdEV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aG9k
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJl
ckV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVVuYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
cmludFVuZXhwZWN0ZWRUb2tlblRleHQpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OnNldFNvdXJj
ZVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb24pOgorICAg
ICAgICAoSlNDOjpTY29wZTo6aXNBc3luY0Z1bmN0aW9uQm91bmRhcnkpOgorICAgICAgICAoSlND
OjpTY29wZTo6aXNNb2R1bGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Fycm93
RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OnNldElzQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlND
OjpTY29wZTo6c2V0SXNBc3luY0Fycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVy
cm9yKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjpw
cm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhw
cmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVBc3luY0Fycm93RnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3Ip
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmRlY2xhcmF0aW9uVHlwZVRvVmFyaWFibGVLaW5kKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjp1cHBlclNjb3BlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwdXNoU2NvcGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om1hdGNoU3BlY0lkZW50aWZpZXIp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6ZGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdFJlYXNvbik6Cisg
ICAgICAgIChKU0M6OlNjb3BlOjppc0dlbmVyYXRvckJvdW5kYXJ5KTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZVBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgor
ICAgICAgICAoSlNDOjpvbmVPZlNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1
bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAg
ICAoSlNDOjppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6
aXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc1Byb2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9y
UGFyc2VNb2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICog
cGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3Jl
YXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVGdW5jdGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRp
ZmllcnMuaDoKKworICAgICAgICAqIEFQSS9KU1NjcmlwdFJlZi5jcHA6CisgICAgICAgIChwYXJz
ZVNjcmlwdCk6CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNwcDoKKyAgICAgICAg
KEpTQzo6QnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKToKKyAgICAgICAgKiBi
eXRlY29kZS9FdmFsQ29kZUNhY2hlLmg6CisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OkNh
Y2hlS2V5OjpDYWNoZUtleSk6CisgICAgICAgICogYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaDoK
KyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUluZm86OkV4ZWN1dGFibGVJbmZvKToKKyAgICAgICAg
KEpTQzo6RXhlY3V0YWJsZUluZm86OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9V
bmxpbmtlZENvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpV
bmxpbmtlZENvZGVCbG9jayk6CisgICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2su
aDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmNvbW1lbnRNb2RlKToKKyAgICAg
ICAgKiBieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChK
U0M6OmdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OlVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6Cisg
ICAgICAgICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAg
ICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0
ZWNvZGVHZW5lcmF0b3I6OmNvbW1lbnRNb2RlKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6QXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWls
ZGVyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5j
RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OkxleGVyKToKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6Cisg
ICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXdhaXRF
eHByTm9kZTo6QXdhaXRFeHByTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+
OjpQYXJzZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0
ZXJzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlv
blNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U3RhdGVtZW50TGlzdEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVt
ZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1l
dGVycyk6CisgICAgICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRDbGF1c2VJdGVtKToK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYXRpb24p
OgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhdGlv
bik6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eU1ldGhvZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByaW1hcnlFeHByZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzaW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3Rl
ZFRva2VuVGV4dCk6IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAg
ICAoSlNDOjpTY29wZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFy
c2VNb2RlKToKKyAgICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAg
IChKU0M6OlNjb3BlOjppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNj
b3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJ
c0FzeW5jRnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9u
Qm9keSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNl
Q2xhc3NpZnlFeHByZXNzaW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Np
b25FcnJvckNsYXNzaWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3Nz
aWJsZUFzeW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFz
c2lmeUV4cHJlc3Npb25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25U
eXBlVG9WYXJpYWJsZUtpbmQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
bWF0Y2hTcGVjSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2Vk
SWRlbnRpZmllckF3YWl0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRp
ZmllckF3YWl0UmVhc29uKToKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAgICAoSlNDOjpT
Y29wZTo6aXNHZW5lcmF0b3JCb3VuZGFyeSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNl
cjo6RXhwcmVzc2lvbkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyTW9kZXMuaDoKKyAgICAgICAgKEpTQzo6
U291cmNlUGFyc2VNb2RlU2V0OjpTb3VyY2VQYXJzZU1vZGVTZXQpOgorICAgICAgICAoSlNDOjpT
b3VyY2VQYXJzZU1vZGVTZXQ6OmNvbnRhaW5zKToKKyAgICAgICAgKEpTQzo6U291cmNlUGFyc2VN
b2RlU2V0OjptZXJnZVNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1bmN0aW9u
UGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlND
Ojppc0FzeW5jRnVuY3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3lu
Y0Z1bmN0aW9uQm9keVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFyc2VNb2Rl
KToKKyAgICAgICAgKEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc1By
b2dyYW1QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VN
b2RlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICogcGFyc2Vy
L1NvdXJjZUNvZGVLZXkuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZUZsYWdzOjpTb3VyY2VD
b2RlRmxhZ3MpOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlS2V5OjpTb3VyY2VDb2RlS2V5KToK
KyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhD
aGVja2VyOjpjcmVhdGVBd2FpdCk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFzeW5jRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRl
WWllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVGdW5j
dGlvbkV4cHIpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmNwcDoKKyAg
ICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRHbG9iYWxDb2RlQmxvY2spOgorICAgICAgICAoSlND
OjpDb2RlQ2FjaGU6OmdldFByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2Fj
aGU6OmdldEV2YWxDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldE1vZHVs
ZVByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEZ1bmN0aW9u
RXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50
aW1lL0NvbXBsZXRpb24uY3BwOgorICAgICAgICAoSlNDOjpjaGVja1N5bnRheCk6CisgICAgICAg
IChKU0M6OmNoZWNrTW9kdWxlU3ludGF4KToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUu
Y3BwOgorICAgICAgICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgpOgorICAg
ICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvTW9kdWxlTG9h
ZGVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6bW9kdWxlTG9hZGVyUHJvdG90eXBlUGFy
c2VNb2R1bGUpOgorCisgICAgICAgICogQVBJL0pTU2NyaXB0UmVmLmNwcDoKKyAgICAgICAgKHBh
cnNlU2NyaXB0KToKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKyAgICAgICAgKiBidWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwOgorICAgICAg
ICAoSlNDOjpCdWlsdGluRXhlY3V0YWJsZXM6OmNyZWF0ZUV4ZWN1dGFibGUpOgorICAgICAgICAq
IGJ5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaDoKKyAgICAgICAgKEpTQzo6RXZhbENvZGVDYWNoZTo6
Q2FjaGVLZXk6OkNhY2hlS2V5KToKKyAgICAgICAgKiBieXRlY29kZS9FeGVjdXRhYmxlSW5mby5o
OgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlSW5mbzo6RXhlY3V0YWJsZUluZm8pOgorICAgICAg
ICAoSlNDOjpFeGVjdXRhYmxlSW5mbzo6c2NyaXB0TW9kZSk6CisgICAgICAgIChKU0M6OkV4ZWN1
dGFibGVJbmZvOjpjb21tZW50TW9kZSk6IERlbGV0ZWQuCisgICAgICAgICogYnl0ZWNvZGUvVW5s
aW5rZWRDb2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpVbmxpbmtlZENvZGVCbG9jazo6VW5s
aW5rZWRDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmg6
CisgICAgICAgIChKU0M6OlVubGlua2VkQ29kZUJsb2NrOjpzY3JpcHRNb2RlKToKKyAgICAgICAg
KEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6OmNvbW1lbnRNb2RlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6
OmdlbmVyYXRlVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OlVubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSk6CisgICAg
ICAgICogYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKToKKyAgICAgICAgKEpT
Qzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdNZXRob2REZWZpbml0aW9uKToKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNv
ZGVHZW5lcmF0b3I6OnNjcmlwdE1vZGUpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6bWFrZUZ1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmNvbW1l
bnRNb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cDoKKyAgICAgICAgKEpTQzo6QXdhaXRFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAg
KiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVB
d2FpdCk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFzeW5jRnVuY3Rpb25Cb2R5
KToKKyAgICAgICAgKiBwYXJzZXIvS2V5d29yZHMudGFibGU6CisgICAgICAgICogcGFyc2VyL0xl
eGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OkxleGVyKToKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgICogcGFy
c2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXdhaXRFeHByTm9kZTo6QXdh
aXRFeHByTm9kZSk6CisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpQYXJzZXIpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcik6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXN5bmNGdW5jdGlvblNvdXJjZUVsZW1l
bnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlz
dEl0ZW0pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURl
Y2xhcmF0aW9uTGlzdCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURl
c3RydWN0dXJpbmdQYXR0ZXJuKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25EZWNsYXJhdGlvblN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjptYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyk6CisgICAg
ICAgIChKU0M6OnN0cmluZ0ZvckZ1bmN0aW9uTW9kZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTGFiZWxTdGF0ZW1lbnQpOgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbXBvcnRDbGF1c2VJdGVtKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0RGVjbGFyYXRpb24pOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhdGlvbik6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkpOiBEZWxldGVkLgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGhvZCk6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHBy
ZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
TWVtYmVyRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVW5hcnlFeHByZXNzaW9uKTogRGVsZXRlZC4KKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2VuVGV4dCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29w
ZTo6U2NvcGUpOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0U291cmNlUGFyc2VNb2RlKToKKyAg
ICAgICAgKEpTQzo6U2NvcGU6OmlzQXN5bmNGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3Bl
Ojppc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0Fz
eW5jQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jRnVuY3Rp
b24pOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0SXNBc3luY0Z1bmN0aW9uQm9keSk6CisgICAg
ICAgIChKU0M6OlNjb3BlOjpzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNzaWZpZXI6OmZvcmNlQ2xhc3NpZnlFeHBy
ZXNzaW9uRXJyb3IpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkV4cHJlc3Npb25FcnJvckNsYXNz
aWZpZXI6OnByb3BhZ2F0ZUV4cHJlc3Npb25FcnJvckNsYXNzKToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpFeHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyOjppbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJy
b3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6Zm9yY2VDbGFzc2lmeUV4cHJlc3Np
b25FcnJvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6ZGVjbGFyYXRpb25UeXBlVG9WYXJpYWJs
ZUtpbmQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnVwcGVyU2NvcGUpOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnB1c2hTY29wZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6bWF0Y2hTcGVjSWRl
bnRpZmllcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllckF3
YWl0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVh
c29uKToKKyAgICAgICAgKEpTQzo6cGFyc2UpOgorICAgICAgICAoSlNDOjpTY29wZTo6aXNHZW5l
cmF0b3JCb3VuZGFyeSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjo6RXhwcmVzc2lv
bkVycm9yQ2xhc3NpZmllcjo6aW5kaWNhdGVzUG9zc2libGVQYXR0ZXJuKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwYXJzZXIvUGFyc2VyTW9kZXMuaDoKKyAgICAgICAgKEpTQzo6U291cmNlUGFyc2VN
b2RlU2V0OjpTb3VyY2VQYXJzZU1vZGVTZXQpOgorICAgICAgICAoSlNDOjpTb3VyY2VQYXJzZU1v
ZGVTZXQ6OmNvbnRhaW5zKToKKyAgICAgICAgKEpTQzo6U291cmNlUGFyc2VNb2RlU2V0OjptZXJn
ZVNvdXJjZVBhcnNlTW9kZXMpOgorICAgICAgICAoSlNDOjppc0Z1bmN0aW9uUGFyc2VNb2RlKToK
KyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6
aXNBc3luY0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc0FzeW5jRnVu
Y3Rpb25XcmFwcGVyUGFyc2VNb2RlKToKKyAgICAgICAgKEpTQzo6aXNBc3luY0Z1bmN0aW9uQm9k
eVBhcnNlTW9kZSk6CisgICAgICAgIChKU0M6OmlzTWV0aG9kUGFyc2VNb2RlKToKKyAgICAgICAg
KEpTQzo6aXNNb2R1bGVQYXJzZU1vZGUpOgorICAgICAgICAoSlNDOjppc1Byb2dyYW1QYXJzZU1v
ZGUpOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RBYmlsaXR5Rm9yUGFyc2VNb2RlKToKKyAgICAg
ICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGVL
ZXkuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZUZsYWdzOjpTb3VyY2VDb2RlRmxhZ3MpOgor
ICAgICAgICAoSlNDOjpTb3VyY2VDb2RlS2V5OjpTb3VyY2VDb2RlS2V5KToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBd2FpdCk6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFzeW5jRnVuY3Rp
b25Cb2R5KToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlWWllbGQpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVGdW5jdGlvbkV4cHIpOiBE
ZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmNwcDoKKyAgICAgICAgKEpTQzo6
Q29kZUNhY2hlOjpnZXRHbG9iYWxDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6
OmdldFByb2dyYW1Db2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEV2YWxD
b2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldE1vZHVsZVByb2dyYW1Db2Rl
QmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZy
b21HbG9iYWxDb2RlKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5oOgorICAgICAgICAq
IHJ1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaDoKKyAgICAgICAgKiBydW50aW1lL0NvbXBsZXRp
b24uY3BwOgorICAgICAgICAoSlNDOjpjaGVja1N5bnRheCk6CisgICAgICAgIChKU0M6OmNoZWNr
TW9kdWxlU3ludGF4KToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAgICAg
ICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6Y2hlY2tTeW50YXgpOgorICAgICAgICAqIHJ1bnRp
bWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAqIHJ1bnRpbWUvTW9kdWxlTG9hZGVyUHJvdG90eXBl
LmNwcDoKKyAgICAgICAgKEpTQzo6bW9kdWxlTG9hZGVyUHJvdG90eXBlUGFyc2VNb2R1bGUpOgor
CiAyMDE2LTA5LTIxICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSW5saW5lIGZ1bmN0aW9uIG9ubHkgdXNlZCBpbiBvbmUgcGxhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNzVjZTk3
M2YzMTA5ODgwYWM3ZTcyOWFmNzE2MTI2ZmEwMjQ4NmJkMi4uZTJlZWQ5YTYxYzFkN2ZjN2E3MGYz
NDM3ODQwYWRhYzhiNjFlZmJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wOS0yMSAgQ2Fp
dGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVu
dCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAxNi0wOS0y
MCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0
IHVzZXMgb2YgJ3NhZmVDYXN0JwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM2OGNhOGM0Y2I1MjI4MDQxYmI5YjQz
OTZiMjBlMzc0YzU2N2VjZjguLjEyYTA1NzJiMjhiY2YzODI1MTkyZjljNTQwMzgxMjA5YzZjNTI4
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wOS0yMSAgQ2FpdGxpbiBQb3R0
ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJzaW5n
IG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwog
MjAxNi0wOS0yMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDb3JyZWN0IHVzZXMgb2YgJ3NhZmVDYXN0JwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDAyMDI4YWEz
NDNkYmIwNzM2YmRiYjNhZTc4NWU4ZDdhZjlhNWM3NTIuLjFjNDU1NDQ4OTlkNzNjZTc4NWQ2NjIy
ZWViMjljOGFhYTM2YWRlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
Ni0wOS0yMSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtK
U0NdIEltcGxlbWVudCBwYXJzaW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNi0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJz
Y2FAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgb3BlblBheW1lbnRTZXR1cCBBUEkgb24g
QXBwbGVQYXlTZXNzaW9uIG9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDNhOWE1YzZjNWQzMGI5ZGY3MWFh
NWU5YjZjZWQ1NDI3OGViZmMxNzcuLmY4MDg2MjdmYmUyZmI1NmY1NzU4MjgxZDQxNGYxMDU3M2Zj
NjkyNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wOS0yMSAgQ2FpdGxpbiBQ
b3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBwYXJz
aW5nIG9mIEFzeW5jIEZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYxNDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxNi0wOS0yMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIHN1cHBvcnQgb3BlblBheW1lbnRTZXR1cCBBUEkgb24gQXBwbGVQYXlTZXNzaW9uIG9i
amVjdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1NjcmlwdFJlZi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAppbmRleCA1YmZk
MjlhZmNjZTJkNDEwMDc5OTI2NzhlNjYzZTUzZGMyOTI1OWE4Li5lMjM2ZjUxMDU0ZDgxYzg5MWZm
OGRjZGVkMWUxOTNhMWRlOTdlMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTU2NyaXB0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2Ny
aXB0UmVmLmNwcApAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZVNjcmlwdChWTSog
dm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewogICAg
IHJldHVybiAhIUpTQzo6cGFyc2U8SlNDOjpQcm9ncmFtTm9kZT4oCiAgICAgICAgIHZtLCBzb3Vy
Y2UsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAg
ICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNs
YXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLAorICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3Jp
cHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRp
bmc6Ok5vdE5lZWRlZCwKICAgICAgICAgZXJyb3IpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggZjZjOTgyMGY1M2EzMWJkMmM0MGFmYzcxOGFmNzgyYTc3OTk4MTY4Mi4uZmVlMDc0
MGUxMGUyNjg1ODIyYzk2NzRjZDQzZmRiZjliNGY1MDllMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0gOworRU5B
QkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nkaz1pcGhv
bmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
R1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAsNCArMjAx
LDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJVDsKIAog
RU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fRUxF
TUVOVFMpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VTNl9NT0RVTEVTKSAkKEVOQUJMRV9GRVRDSF9BUEkpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVBREFCTEVfU1RSRUFNX0FQSSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FH
RSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCX0FOSU1BVElPTlMpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1dSSVRBQkxFX1NUUkVBTV9BUEkp
ICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9FTEVNRU5UUykgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVM2X01PRFVMRVMpICQoRU5B
QkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRkVUQ0hfQVBJKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFQURBQkxFX1NUUkVBTV9BUEkpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0Vf
VVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVE
SUEpICQoRU5BQkxFX1dFQl9BTklNQVRJT05TKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9XUklUQUJMRV9TVFJFQU1f
QVBJKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5jcHAKaW5kZXggYTlhOGViOWRkZGMxNTIyYWY3MTcz
ZjIwZGZmOTRiNGNmMzU1ZjgzNS4uOGYyZGZhOTkwMTFiZDRhYjk3NGJmZTNjYjM1MWE1ZjMzOWFm
M2UzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5F
eGVjdXRhYmxlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5FeGVjdXRhYmxlcy5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUqIEJ1aWx0aW5FeGVjdXRhYmxlczo6Y3JlYXRlRXhlY3V0YWJsZShWTSYgdm0sIGNvbnN0
IFMKICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IHNvdXJjZU92ZXJyaWRlID0gaXNQYXJzaW5n
RGVmYXVsdENvbnN0cnVjdG9yID8gc291cmNlLnByb3ZpZGVyKCkgOiBudWxscHRyOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3JhbSA9IHBhcnNlPFByb2dyYW1Ob2RlPigK
ICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgYnVpbHRpbk1vZGUsCi0gICAgICAg
IEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFz
c2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwgZXJyb3IsCisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNl
clNjcmlwdE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVy
QmluZGluZzo6Tm90TmVlZGVkLCBlcnJvciwKICAgICAgICAgJnBvc2l0aW9uQmVmb3JlTGFzdE5l
d2xpbmUsIGNvbnN0cnVjdG9yS2luZCk7CiAKICAgICBpZiAoIXByb2dyYW0pIHsKQEAgLTEwNiw3
ICsxMDYsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQnVpbHRpbkV4ZWN1dGFibGVz
OjpjcmVhdGVFeGVjdXRhYmxlKFZNJiB2bSwgY29uc3QgUwogICAgIFJFTEVBU0VfQVNTRVJUKG1l
dGFkYXRhKTsKICAgICBtZXRhZGF0YS0+b3ZlcnJpZGVOYW1lKG5hbWUpOwogICAgIFZhcmlhYmxl
RW52aXJvbm1lbnQgZHVtbXlURFpWYXJpYWJsZXM7Ci0gICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpj
cmVhdGUoJnZtLCBzb3VyY2UsIG1ldGFkYXRhLCBraW5kLCBjb25zdHJ1Y3RBYmlsaXR5LCBKU1Bh
cnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBkdW1teVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRl
eHRUeXBlOjpOb25lLCBXVEZNb3ZlKHNvdXJjZU92ZXJyaWRlKSk7CisgICAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlOjpjcmVhdGUoJnZtLCBzb3VyY2UsIG1ldGFkYXRhLCBraW5kLCBjb25zdHJ1Y3RBYmls
aXR5LCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIGR1bW15VERaVmFyaWFibGVzLCBEZXJp
dmVkQ29udGV4dFR5cGU6Ok5vbmUsIFdURk1vdmUoc291cmNlT3ZlcnJpZGUpKTsKICAgICByZXR1
cm4gZnVuY3Rpb25FeGVjdXRhYmxlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaAppbmRleCBmYTI3NzI0NjJiZTE3NWQwNTdjOTdjN2UxYzgy
NzVjZjRmNjVlZWNhLi5hOWVkZjUzMmJmMjlmZTFkNTIwOWZiZmZhM2E4YzY5ZDNjZjE4NGQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXZhbENvZGVDYWNoZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FdmFsQ29kZUNhY2hlLmgKQEAg
LTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhY2hlS2V5KGNvbnN0IFN0cmluZyYgc291cmNlLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVy
aXZlZENvbnRleHRUeXBlLCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlLCBib29sIGlz
QXJyb3dGdW5jdGlvbkNvbnRleHQpCiAgICAgICAgICAgICAgICAgOiBtX3NvdXJjZShzb3VyY2Uu
aW1wbCgpKQotICAgICAgICAgICAgICAgICwgbV9mbGFncyhTb3VyY2VDb2RlVHlwZTo6RXZhbFR5
cGUsIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sIEpTUGFyc2VyU3RyaWN0TW9kZTo6
Tm90U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBkZXJpdmVkQ29udGV4dFR5
cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKKyAgICAgICAgICAg
ICAgICAsIG1fZmxhZ3MoU291cmNlQ29kZVR5cGU6OkV2YWxUeXBlLCBKU1BhcnNlckJ1aWx0aW5N
b2RlOjpOb3RCdWlsdGluLCBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJT
Y3JpcHRNb2RlOjpDbGFzc2ljLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwg
aXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4ZWN1dGFibGVJbmZv
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaAppbmRl
eCA2MjVmZGM5NTgwM2YyZDFkNGNhNmMxZTM3OTIyNzdmNTczZGQwMzc3Li5iMjM5MTQzNmRiYjBi
YjliMjI1Y2M4OGEyMWE5M2RjNmRiMDkzNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvRXhlY3V0YWJsZUluZm8uaApAQCAtMzYsMTQgKzM2LDE0IEBAIGVudW0gY2xh
c3MgRXZhbENvbnRleHRUeXBlICAgIDogdWludDhfdCB7IE5vbmUsIEZ1bmN0aW9uRXZhbENvbnRl
eHQgfTsKIC8vIEZJWE1FOiBUaGVzZSBmbGFncywgUGFyc2VyTW9kZXMgYW5kIHByb3BhZ2F0aW9u
IHRvIFhYWENvZGVCbG9ja3Mgc2hvdWxkIGJlIHJlb3JnYW5pemVkLgogLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTU0Nwogc3RydWN0IEV4ZWN1dGFibGVJbmZv
IHsKLSAgICBFeGVjdXRhYmxlSW5mbyhib29sIHVzZXNFdmFsLCBib29sIGlzU3RyaWN0TW9kZSwg
Ym9vbCBpc0NvbnN0cnVjdG9yLCBib29sIGlzQnVpbHRpbkZ1bmN0aW9uLCBDb25zdHJ1Y3Rvcktp
bmQgY29uc3RydWN0b3JLaW5kLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBTdXBl
ckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlLCBEZXJpdmVk
Q29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRl
eHQsIGJvb2wgaXNDbGFzc0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUp
CisgICAgRXhlY3V0YWJsZUluZm8oYm9vbCB1c2VzRXZhbCwgYm9vbCBpc1N0cmljdE1vZGUsIGJv
b2wgaXNDb25zdHJ1Y3RvciwgYm9vbCBpc0J1aWx0aW5GdW5jdGlvbiwgQ29uc3RydWN0b3JLaW5k
IGNvbnN0cnVjdG9yS2luZCwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUsIFN1cGVyQmlu
ZGluZyBzdXBlckJpbmRpbmcsIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIERlcml2ZWRDb250
ZXh0VHlwZSBkZXJpdmVkQ29udGV4dFR5cGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCwg
Ym9vbCBpc0NsYXNzQ29udGV4dCwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSkKICAg
ICAgICAgOiBtX3VzZXNFdmFsKHVzZXNFdmFsKQogICAgICAgICAsIG1faXNTdHJpY3RNb2RlKGlz
U3RyaWN0TW9kZSkKICAgICAgICAgLCBtX2lzQ29uc3RydWN0b3IoaXNDb25zdHJ1Y3RvcikKICAg
ICAgICAgLCBtX2lzQnVpbHRpbkZ1bmN0aW9uKGlzQnVpbHRpbkZ1bmN0aW9uKQogICAgICAgICAs
IG1fY29uc3RydWN0b3JLaW5kKHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1Y3RvcktpbmQp
KQogICAgICAgICAsIG1fc3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdXBlckJp
bmRpbmcpKQotICAgICAgICAsIG1fY29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNv
bW1lbnRNb2RlKSkKKyAgICAgICAgLCBtX3NjcmlwdE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHNjcmlwdE1vZGUpKQogICAgICAgICAsIG1fcGFyc2VNb2RlKHBhcnNlTW9kZSkKICAgICAgICAg
LCBtX2Rlcml2ZWRDb250ZXh0VHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRl
eHRUeXBlKSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkNvbnRleHQoaXNBcnJvd0Z1bmN0
aW9uQ29udGV4dCkKQEAgLTUyLDcgKzUyLDcgQEAgc3RydWN0IEV4ZWN1dGFibGVJbmZvIHsKICAg
ICB7CiAgICAgICAgIEFTU0VSVChtX2NvbnN0cnVjdG9yS2luZCA9PSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oY29uc3RydWN0b3JLaW5kKSk7CiAgICAgICAgIEFTU0VSVChtX3N1cGVyQmluZGluZyA9
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3VwZXJCaW5kaW5nKSk7Ci0gICAgICAgIEFTU0VSVCht
X2NvbW1lbnRNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb21tZW50TW9kZSkpOworICAg
ICAgICBBU1NFUlQobV9zY3JpcHRNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzY3JpcHRN
b2RlKSk7CiAgICAgfQogCiAgICAgYm9vbCB1c2VzRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNl
c0V2YWw7IH0KQEAgLTYxLDcgKzYxLDcgQEAgc3RydWN0IEV4ZWN1dGFibGVJbmZvIHsKICAgICBi
b29sIGlzQnVpbHRpbkZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0J1aWx0aW5GdW5jdGlv
bjsgfQogICAgIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxDb25zdHJ1Y3RvcktpbmQ+KG1fY29uc3RydWN0b3JLaW5kKTsgfQogICAg
IFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxT
dXBlckJpbmRpbmc+KG1fc3VwZXJCaW5kaW5nKTsgfQotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUg
Y29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNlckNvbW1lbnRN
b2RlPihtX2NvbW1lbnRNb2RlKTsgfQorICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2Rl
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SlNQYXJzZXJTY3JpcHRNb2RlPihtX3Njcmlw
dE1vZGUpOyB9CiAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcGFyc2VNb2RlOyB9CiAgICAgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PERlcml2ZWRDb250ZXh0VHlwZT4obV9kZXJp
dmVkQ29udGV4dFR5cGUpOyB9CiAgICAgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEV2YWxDb250ZXh0VHlwZT4obV9ldmFsQ29udGV4
dFR5cGUpOyB9CkBAIC03NSw3ICs3NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9pc0J1
aWx0aW5GdW5jdGlvbiA6IDE7CiAgICAgdW5zaWduZWQgbV9jb25zdHJ1Y3RvcktpbmQgOiAyOwog
ICAgIHVuc2lnbmVkIG1fc3VwZXJCaW5kaW5nIDogMTsKLSAgICB1bnNpZ25lZCBtX2NvbW1lbnRN
b2RlOiAxOworICAgIHVuc2lnbmVkIG1fc2NyaXB0TW9kZTogMTsKICAgICBTb3VyY2VQYXJzZU1v
ZGUgbV9wYXJzZU1vZGU7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5cGUgOiAyOwog
ICAgIHVuc2lnbmVkIG1faXNBcnJvd0Z1bmN0aW9uQ29udGV4dCA6IDE7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAppbmRleCAx
NDg2ZDJhYmViNmVjNDJjM2MxMjQyMWM0Y2EwMGJlMjZhYTExMzliLi42MGFjOTZjZDI0NTA3YmYz
NzNmNDAwYjVjZjU3ODBmNmRmMTkxOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgVW5s
aW5rZWRDb2RlQmxvY2s6OlVubGlua2VkQ29kZUJsb2NrKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIENvZGVUeXBlIGNvZGUKICAgICAsIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMoZmFsc2Up
CiAgICAgLCBtX2lzQnVpbHRpbkZ1bmN0aW9uKGluZm8uaXNCdWlsdGluRnVuY3Rpb24oKSkKICAg
ICAsIG1fc3VwZXJCaW5kaW5nKHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbmZvLnN1cGVyQmluZGlu
ZygpKSkKLSAgICAsIG1fY29tbWVudE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGluZm8uY29t
bWVudE1vZGUoKSkpCisgICAgLCBtX3NjcmlwdE1vZGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGlu
Zm8uc2NyaXB0TW9kZSgpKSkKICAgICAsIG1faXNBcnJvd0Z1bmN0aW9uQ29udGV4dChpbmZvLmlz
QXJyb3dGdW5jdGlvbkNvbnRleHQoKSkKICAgICAsIG1faXNDbGFzc0NvbnRleHQoaW5mby5pc0Ns
YXNzQ29udGV4dCgpKQogICAgICwgbV93YXNDb21waWxlZFdpdGhEZWJ1Z2dpbmdPcGNvZGVzKGRl
YnVnZ2VyTW9kZSA9PSBEZWJ1Z2dlck1vZGU6OkRlYnVnZ2VyT24gfHwgT3B0aW9uczo6Zm9yY2VE
ZWJ1Z2dlckJ5dGVjb2RlR2VuZXJhdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suaAppbmRleCA5NDg3YmE2YzJiNjQ1YmJlMzFh
OGIzNGUyZmM2Y2ViZGJkNzEyYmEwLi4xMTI2MjJhNmI3ZTI0MDQ1MTAzZjdiYmY4YzMwMGFlYjFj
OWQ3NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRDb2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5r
ZWRDb2RlQmxvY2suaApAQCAtMjE4LDcgKzIxOCw3IEBAIHB1YmxpYzoKIAogICAgIENvbnN0cnVj
dG9yS2luZCBjb25zdHJ1Y3RvcktpbmQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb25z
dHJ1Y3RvcktpbmQ+KG1fY29uc3RydWN0b3JLaW5kKTsgfQogICAgIFN1cGVyQmluZGluZyBzdXBl
ckJpbmRpbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxTdXBlckJpbmRpbmc+KG1fc3Vw
ZXJCaW5kaW5nKTsgfQotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxKU1BhcnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRNb2Rl
KTsgfQorICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2RlKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8SlNQYXJzZXJTY3JpcHRNb2RlPihtX3NjcmlwdE1vZGUpOyB9CiAKICAgICB2
b2lkIHNocmlua1RvRml0KCkKICAgICB7CkBAIC00MjMsNyArNDIzLDcgQEAgcHJpdmF0ZToKICAg
ICB1bnNpZ25lZCBtX2hhc0NhcHR1cmVkVmFyaWFibGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2lz
QnVpbHRpbkZ1bmN0aW9uIDogMTsKICAgICB1bnNpZ25lZCBtX3N1cGVyQmluZGluZyA6IDE7Ci0g
ICAgdW5zaWduZWQgbV9jb21tZW50TW9kZTogMTsKKyAgICB1bnNpZ25lZCBtX3NjcmlwdE1vZGU6
IDE7CiAgICAgdW5zaWduZWQgbV9pc0Fycm93RnVuY3Rpb25Db250ZXh0IDogMTsKICAgICB1bnNp
Z25lZCBtX2lzQ2xhc3NDb250ZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX3dhc0NvbXBpbGVkV2l0
aERlYnVnZ2luZ09wY29kZXMgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5jcHAKaW5kZXggMDU0
ZDYzZGY1OWE3ODQ3NTViOWJhZTdmZWQyY2Q3NmI1ODBjMDI5Yy4uYjcyZjllOWY0MWViZjgzZGRi
MzI1ODJjNjIwNjNhMzNlNmRjZDllZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUuY3BwCkBAIC01
MSwxMCArNTEsMTAgQEAgc3RhdGljIFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2sqIGdlbmVyYXRl
VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jaygKIHsKICAgICBKU1BhcnNlckJ1aWx0aW5Nb2RlIGJ1
aWx0aW5Nb2RlID0gZXhlY3V0YWJsZS0+aXNCdWlsdGluRnVuY3Rpb24oKSA/IEpTUGFyc2VyQnVp
bHRpbk1vZGU6OkJ1aWx0aW4gOiBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluOwogICAg
IEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlID0gZXhlY3V0YWJsZS0+aXNJblN0cmljdENv
bnRleHQoKSA/IEpTUGFyc2VyU3RyaWN0TW9kZTo6U3RyaWN0IDogSlNQYXJzZXJTdHJpY3RNb2Rl
OjpOb3RTdHJpY3Q7Ci0gICAgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSA9IGV4ZWN1
dGFibGUtPmNvbW1lbnRNb2RlKCk7CisgICAgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUg
PSBleGVjdXRhYmxlLT5zY3JpcHRNb2RlKCk7CiAgICAgQVNTRVJUKGlzRnVuY3Rpb25QYXJzZU1v
ZGUoZXhlY3V0YWJsZS0+cGFyc2VNb2RlKCkpKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rp
b25Ob2RlPiBmdW5jdGlvbiA9IHBhcnNlPEZ1bmN0aW9uTm9kZT4oCi0gICAgICAgICZ2bSwgc291
cmNlLCBleGVjdXRhYmxlLT5uYW1lKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50
TW9kZSwgZXhlY3V0YWJsZS0+cGFyc2VNb2RlKCksIGV4ZWN1dGFibGUtPnN1cGVyQmluZGluZygp
LCBlcnJvciwgbnVsbHB0cik7CisgICAgICAgICZ2bSwgc291cmNlLCBleGVjdXRhYmxlLT5uYW1l
KCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBleGVjdXRhYmxlLT5wYXJz
ZU1vZGUoKSwgZXhlY3V0YWJsZS0+c3VwZXJCaW5kaW5nKCksIGVycm9yLCBudWxscHRyKTsKIAog
ICAgIGlmICghZnVuY3Rpb24pIHsKICAgICAgICAgQVNTRVJUKGVycm9yLmlzVmFsaWQoKSk7CkBA
IC02Niw3ICs2Niw3IEBAIHN0YXRpYyBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiBnZW5lcmF0
ZVVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2soCiAKICAgICBib29sIGlzQ2xhc3NDb250ZXh0ID0g
ZXhlY3V0YWJsZS0+c3VwZXJCaW5kaW5nKCkgPT0gU3VwZXJCaW5kaW5nOjpOZWVkZWQ7CiAKLSAg
ICBVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrKiByZXN1bHQgPSBVbmxpbmtlZEZ1bmN0aW9uQ29k
ZUJsb2NrOjpjcmVhdGUoJnZtLCBGdW5jdGlvbkNvZGUsIEV4ZWN1dGFibGVJbmZvKGZ1bmN0aW9u
LT51c2VzRXZhbCgpLCBmdW5jdGlvbi0+aXNTdHJpY3RNb2RlKCksIGtpbmQgPT0gQ29kZUZvckNv
bnN0cnVjdCwgZnVuY3Rpb25LaW5kID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uLCBleGVjdXRh
YmxlLT5jb25zdHJ1Y3RvcktpbmQoKSwgY29tbWVudE1vZGUsIGV4ZWN1dGFibGUtPnN1cGVyQmlu
ZGluZygpLCBwYXJzZU1vZGUsIGV4ZWN1dGFibGUtPmRlcml2ZWRDb250ZXh0VHlwZSgpLCBmYWxz
ZSwgaXNDbGFzc0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZTo6RnVuY3Rpb25FdmFsQ29udGV4dCks
IGRlYnVnZ2VyTW9kZSk7CisgICAgVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogcmVzdWx0ID0g
VW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jazo6Y3JlYXRlKCZ2bSwgRnVuY3Rpb25Db2RlLCBFeGVj
dXRhYmxlSW5mbyhmdW5jdGlvbi0+dXNlc0V2YWwoKSwgZnVuY3Rpb24tPmlzU3RyaWN0TW9kZSgp
LCBraW5kID09IENvZGVGb3JDb25zdHJ1Y3QsIGZ1bmN0aW9uS2luZCA9PSBVbmxpbmtlZEJ1aWx0
aW5GdW5jdGlvbiwgZXhlY3V0YWJsZS0+Y29uc3RydWN0b3JLaW5kKCksIHNjcmlwdE1vZGUsIGV4
ZWN1dGFibGUtPnN1cGVyQmluZGluZygpLCBwYXJzZU1vZGUsIGV4ZWN1dGFibGUtPmRlcml2ZWRD
b250ZXh0VHlwZSgpLCBmYWxzZSwgaXNDbGFzc0NvbnRleHQsIEV2YWxDb250ZXh0VHlwZTo6RnVu
Y3Rpb25FdmFsQ29udGV4dCksIGRlYnVnZ2VyTW9kZSk7CiAKICAgICBlcnJvciA9IEJ5dGVjb2Rl
R2VuZXJhdG9yOjpnZW5lcmF0ZSh2bSwgZnVuY3Rpb24uZ2V0KCksIHJlc3VsdCwgZGVidWdnZXJN
b2RlLCBleGVjdXRhYmxlLT5wYXJlbnRTY29wZVREWlZhcmlhYmxlcygpKTsKIApAQCAtNzUsNyAr
NzUsNyBAQCBzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogZ2VuZXJhdGVVbmxpbmtl
ZEZ1bmN0aW9uQ29kZUJsb2NrKAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlOjpVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSogdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFJlZlB0cjxTb3VyY2VQ
cm92aWRlcj4mJiBzb3VyY2VPdmVycmlkZSwgRnVuY3Rpb25NZXRhZGF0YU5vZGUqIG5vZGUsIFVu
bGlua2VkRnVuY3Rpb25LaW5kIGtpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0
eSwgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSwgVmFyaWFibGVFbnZpcm9ubWVudCYg
cGFyZW50U2NvcGVURFpWYXJpYWJsZXMsIERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4
dFR5cGUpCitVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgU291cmNlQ29kZSYgc291
cmNlLCBSZWZQdHI8U291cmNlUHJvdmlkZXI+JiYgc291cmNlT3ZlcnJpZGUsIEZ1bmN0aW9uTWV0
YWRhdGFOb2RlKiBub2RlLCBVbmxpbmtlZEZ1bmN0aW9uS2luZCBraW5kLCBDb25zdHJ1Y3RBYmls
aXR5IGNvbnN0cnVjdEFiaWxpdHksIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2RlLCBWYXJp
YWJsZUVudmlyb25tZW50JiBwYXJlbnRTY29wZVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRU
eXBlIGRlcml2ZWRDb250ZXh0VHlwZSkKICAgICA6IEJhc2UoKnZtLCBzdHJ1Y3R1cmUpCiAgICAg
LCBtX2ZpcnN0TGluZU9mZnNldChub2RlLT5maXJzdExpbmUoKSAtIHNvdXJjZS5maXJzdExpbmUo
KSkKICAgICAsIG1fbGluZUNvdW50KG5vZGUtPmxhc3RMaW5lKCkgLSBub2RlLT5maXJzdExpbmUo
KSkKQEAgLTg5LDE2ICs4OSwxNiBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6VW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdAogICAgICwgbV90
eXBlUHJvZmlsaW5nRW5kT2Zmc2V0KG5vZGUtPnN0YXJ0U3RhcnRPZmZzZXQoKSArIG5vZGUtPnNv
dXJjZSgpLmxlbmd0aCgpIC0gMSkKICAgICAsIG1fcGFyYW1ldGVyQ291bnQobm9kZS0+cGFyYW1l
dGVyQ291bnQoKSkKICAgICAsIG1fZmVhdHVyZXMoMCkKKyAgICAsIG1fc291cmNlUGFyc2VNb2Rl
KG5vZGUtPnBhcnNlTW9kZSgpKQogICAgICwgbV9pc0luU3RyaWN0Q29udGV4dChub2RlLT5pc0lu
U3RyaWN0Q29udGV4dCgpKQogICAgICwgbV9oYXNDYXB0dXJlZFZhcmlhYmxlcyhmYWxzZSkKICAg
ICAsIG1faXNCdWlsdGluRnVuY3Rpb24oa2luZCA9PSBVbmxpbmtlZEJ1aWx0aW5GdW5jdGlvbikK
ICAgICAsIG1fY29uc3RydWN0QWJpbGl0eShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29uc3RydWN0
QWJpbGl0eSkpCiAgICAgLCBtX2NvbnN0cnVjdG9yS2luZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bm9kZS0+Y29uc3RydWN0b3JLaW5kKCkpKQogICAgICwgbV9mdW5jdGlvbk1vZGUoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KG5vZGUtPmZ1bmN0aW9uTW9kZSgpKSkKLSAgICAsIG1fY29tbWVudE1vZGUo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbW1lbnRNb2RlKSkKKyAgICAsIG1fc2NyaXB0TW9kZShz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oc2NyaXB0TW9kZSkpCiAgICAgLCBtX3N1cGVyQmluZGluZyhz
dGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+c3VwZXJCaW5kaW5nKCkpKQogICAgICwgbV9kZXJp
dmVkQ29udGV4dFR5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlcml2ZWRDb250ZXh0VHlwZSkp
Ci0gICAgLCBtX3NvdXJjZVBhcnNlTW9kZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+cGFy
c2VNb2RlKCkpKQogICAgICwgbV9uYW1lKG5vZGUtPmlkZW50KCkpCiAgICAgLCBtX2VjbWFOYW1l
KG5vZGUtPmVjbWFOYW1lKCkpCiAgICAgLCBtX2luZmVycmVkTmFtZShub2RlLT5pbmZlcnJlZE5h
bWUoKSkKQEAgLTEwOSwxMCArMTA5LDkgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OlVu
bGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3QKICAgICBB
U1NFUlQobV9jb25zdHJ1Y3RBYmlsaXR5ID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb25zdHJ1
Y3RBYmlsaXR5KSk7CiAgICAgQVNTRVJUKG1fY29uc3RydWN0b3JLaW5kID09IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihub2RlLT5jb25zdHJ1Y3RvcktpbmQoKSkpOwogICAgIEFTU0VSVChtX2Z1bmN0
aW9uTW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obm9kZS0+ZnVuY3Rpb25Nb2RlKCkpKTsK
LSAgICBBU1NFUlQobV9jb21tZW50TW9kZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29tbWVu
dE1vZGUpKTsKKyAgICBBU1NFUlQobV9zY3JpcHRNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihzY3JpcHRNb2RlKSk7CiAgICAgQVNTRVJUKG1fc3VwZXJCaW5kaW5nID09IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihub2RlLT5zdXBlckJpbmRpbmcoKSkpOwogICAgIEFTU0VSVChtX2Rlcml2ZWRD
b250ZXh0VHlwZSA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVyaXZlZENvbnRleHRUeXBlKSk7
Ci0gICAgQVNTRVJUKG1fc291cmNlUGFyc2VNb2RlID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b2RlLT5wYXJzZU1vZGUoKSkpOwogCiAgICAgbV9wYXJlbnRTY29wZVREWlZhcmlhYmxlcy5zd2Fw
KHBhcmVudFNjb3BlVERaVmFyaWFibGVzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKaW5kZXgg
MWUzY2JhZmZlYzI4ODdjNzk2MDdkNGQwNzc4MzE0MzU2YTE4MGUzMi4uNmExZDk1NjE0ODkzZGQz
NjdhMjRhNzUzYjE1ZGVjM2M2ZWIxNTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlLmgKQEAgLTY0
LDEwICs2NCwxMCBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8
IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUqIGNyZWF0ZShWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25N
ZXRhZGF0YU5vZGUqIG5vZGUsIFVubGlua2VkRnVuY3Rpb25LaW5kIHVubGlua2VkRnVuY3Rpb25L
aW5kLCBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHksIEpTUGFyc2VyQ29tbWVudE1v
ZGUgY29tbWVudE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmIHBhcmVudFNjb3BlVERaVmFyaWFi
bGVzLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBSZWZQdHI8U291cmNl
UHJvdmlkZXI+JiYgc291cmNlT3ZlcnJpZGUgPSBudWxscHRyKQorICAgIHN0YXRpYyBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZSogY3JlYXRlKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291
cmNlLCBGdW5jdGlvbk1ldGFkYXRhTm9kZSogbm9kZSwgVW5saW5rZWRGdW5jdGlvbktpbmQgdW5s
aW5rZWRGdW5jdGlvbktpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eSwgSlNQ
YXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUsIFZhcmlhYmxlRW52aXJvbm1lbnQmIHBhcmVudFNj
b3BlVERaVmFyaWFibGVzLCBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBS
ZWZQdHI8U291cmNlUHJvdmlkZXI+JiYgc291cmNlT3ZlcnJpZGUgPSBudWxscHRyKQogICAgIHsK
ICAgICAgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGluc3RhbmNlID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLT5oZWFwKSkK
LSAgICAgICAgICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKHZtLCB2bS0+dW5saW5rZWRG
dW5jdGlvbkV4ZWN1dGFibGVTdHJ1Y3R1cmUuZ2V0KCksIHNvdXJjZSwgV1RGTW92ZShzb3VyY2VP
dmVycmlkZSksIG5vZGUsIHVubGlua2VkRnVuY3Rpb25LaW5kLCBjb25zdHJ1Y3RBYmlsaXR5LCBj
b21tZW50TW9kZSwgcGFyZW50U2NvcGVURFpWYXJpYWJsZXMsIGRlcml2ZWRDb250ZXh0VHlwZSk7
CisgICAgICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSh2bSwgdm0tPnVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlU3RydWN0dXJlLmdldCgpLCBzb3VyY2UsIFdURk1vdmUoc291cmNl
T3ZlcnJpZGUpLCBub2RlLCB1bmxpbmtlZEZ1bmN0aW9uS2luZCwgY29uc3RydWN0QWJpbGl0eSwg
c2NyaXB0TW9kZSwgcGFyZW50U2NvcGVURFpWYXJpYWJsZXMsIGRlcml2ZWRDb250ZXh0VHlwZSk7
CiAgICAgICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlvbigqdm0pOwogICAgICAgICByZXR1cm4g
aW5zdGFuY2U7CiAgICAgfQpAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNCdWlsdGluRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2lzQnVpbHRpbkZ1bmN0aW9uOyB9
CiAgICAgQ29uc3RydWN0QWJpbGl0eSBjb25zdHJ1Y3RBYmlsaXR5KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Q29uc3RydWN0QWJpbGl0eT4obV9jb25zdHJ1Y3RBYmlsaXR5KTsgfQotICAg
IEpTUGFyc2VyQ29tbWVudE1vZGUgY29tbWVudE1vZGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxKU1BhcnNlckNvbW1lbnRNb2RlPihtX2NvbW1lbnRNb2RlKTsgfQorICAgIEpTUGFyc2Vy
U2NyaXB0TW9kZSBzY3JpcHRNb2RlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SlNQYXJz
ZXJTY3JpcHRNb2RlPihtX3NjcmlwdE1vZGUpOyB9CiAgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0
b3JGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIGNvbnN0cnVjdG9yS2luZCgpICE9IENvbnN0cnVj
dG9yS2luZDo6Tm9uZTsgfQogICAgIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQqIHBhcmVudFNj
b3BlVERaVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gJm1fcGFyZW50U2NvcGVURFpWYXJpYWJs
ZXM7IH0KICAgICAKQEAgLTE0MSw3ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTb3Vy
Y2VNYXBwaW5nVVJMRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgc291cmNlTWFwcGluZ1VSTCkgeyBt
X3NvdXJjZU1hcHBpbmdVUkxEaXJlY3RpdmUgPSBzb3VyY2VNYXBwaW5nVVJMOyB9CiAKIHByaXZh
dGU6Ci0gICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUoVk0qLCBTdHJ1Y3R1cmUqLCBjb25z
dCBTb3VyY2VDb2RlJiwgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiYmIHNvdXJjZU92ZXJyaWRlLCBG
dW5jdGlvbk1ldGFkYXRhTm9kZSosIFVubGlua2VkRnVuY3Rpb25LaW5kLCBDb25zdHJ1Y3RBYmls
aXR5LCBKU1BhcnNlckNvbW1lbnRNb2RlLCBWYXJpYWJsZUVudmlyb25tZW50JiwgIEpTQzo6RGVy
aXZlZENvbnRleHRUeXBlKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZShWTSosIFN0
cnVjdHVyZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBSZWZQdHI8U291cmNlUHJvdmlkZXI+JiYgc291
cmNlT3ZlcnJpZGUsIEZ1bmN0aW9uTWV0YWRhdGFOb2RlKiwgVW5saW5rZWRGdW5jdGlvbktpbmQs
IENvbnN0cnVjdEFiaWxpdHksIEpTUGFyc2VyU2NyaXB0TW9kZSwgVmFyaWFibGVFbnZpcm9ubWVu
dCYsICBKU0M6OkRlcml2ZWRDb250ZXh0VHlwZSk7CiAKICAgICB1bnNpZ25lZCBtX2ZpcnN0TGlu
ZU9mZnNldDsKICAgICB1bnNpZ25lZCBtX2xpbmVDb3VudDsKQEAgLTE1NSwxNiArMTU1LDE2IEBA
IHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV90eXBlUHJvZmlsaW5nRW5kT2Zmc2V0OwogICAgIHVu
c2lnbmVkIG1fcGFyYW1ldGVyQ291bnQ7CiAgICAgQ29kZUZlYXR1cmVzIG1fZmVhdHVyZXM7Cisg
ICAgU291cmNlUGFyc2VNb2RlIG1fc291cmNlUGFyc2VNb2RlOwogICAgIHVuc2lnbmVkIG1faXNJ
blN0cmljdENvbnRleHQgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzQ2FwdHVyZWRWYXJpYWJsZXMg
OiAxOwogICAgIHVuc2lnbmVkIG1faXNCdWlsdGluRnVuY3Rpb24gOiAxOwogICAgIHVuc2lnbmVk
IG1fY29uc3RydWN0QWJpbGl0eTogMTsKICAgICB1bnNpZ25lZCBtX2NvbnN0cnVjdG9yS2luZCA6
IDI7CiAgICAgdW5zaWduZWQgbV9mdW5jdGlvbk1vZGUgOiAyOyAvLyBGdW5jdGlvbk1vZGUKLSAg
ICB1bnNpZ25lZCBtX2NvbW1lbnRNb2RlOiAxOyAvLyBKU1BhcnNlckNvbW1lbnRNb2RlCisgICAg
dW5zaWduZWQgbV9zY3JpcHRNb2RlOiAxOyAvLyBKU1BhcnNlclNjcmlwdE1vZGUKICAgICB1bnNp
Z25lZCBtX3N1cGVyQmluZGluZyA6IDE7CiAgICAgdW5zaWduZWQgbV9kZXJpdmVkQ29udGV4dFR5
cGU6IDI7Ci0gICAgdW5zaWduZWQgbV9zb3VyY2VQYXJzZU1vZGUgOiA0OyAvLyBTb3VyY2VQYXJz
ZU1vZGUKIAogICAgIFdyaXRlQmFycmllcjxVbmxpbmtlZEZ1bmN0aW9uQ29kZUJsb2NrPiBtX3Vu
bGlua2VkQ29kZUJsb2NrRm9yQ2FsbDsKICAgICBXcml0ZUJhcnJpZXI8VW5saW5rZWRGdW5jdGlv
bkNvZGVCbG9jaz4gbV91bmxpbmtlZENvZGVCbG9ja0ZvckNvbnN0cnVjdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKaW5kZXggMDc1ZjVjZDk2YWI5ZTJkNmZhMmE4YmUwNzAwMDYxZmUxYTUwMzk2ZC4uODA2MTNk
MDZjMzBlZTNiOGI3MjJmYmMyNzk2NjU2YTg1OWE4NWZmZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAg
LTI5ODYsMTcgKzI5ODYsMTQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXgKIAogUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdp
c3RlcklEKiBkc3QsIEFycm93RnVuY0V4cHJOb2RlKiBmdW5jKQogewotICAgIEFTU0VSVChmdW5j
LT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rp
b25Nb2RlKTsKKyAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0gU291
cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJz
ZU1vZGUoKSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUpOwogICAg
IGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb25Db21tb24oZHN0LCBmdW5jLT5tZXRhZGF0YSgpKTsK
ICAgICByZXR1cm4gZHN0OwogfQogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld01ldGhvZERlZmluaXRpb24oUmVnaXN0ZXJJRCogZHN0LCBNZXRob2REZWZpbml0aW9uTm9k
ZSogZnVuYykKIHsKLSAgICBBU1NFUlQoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkgPT0g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlCi0gICAgICAgIHx8
IGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpID09IFNvdXJjZVBhcnNlTW9kZTo6R2V0dGVy
TW9kZQotICAgICAgICB8fCBmdW5jLT5tZXRhZGF0YSgpLT5wYXJzZU1vZGUoKSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OlNldHRlck1vZGUKLSAgICAgICAgfHwgZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VN
b2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpNZXRob2RNb2RlKTsKKyAgICBBU1NFUlQoaXNNZXRo
b2RQYXJzZU1vZGUoZnVuYy0+bWV0YWRhdGEoKS0+cGFyc2VNb2RlKCkpKTsKICAgICBlbWl0TmV3
RnVuY3Rpb25FeHByZXNzaW9uQ29tbW9uKGRzdCwgZnVuYy0+bWV0YWRhdGEoKSk7CiAgICAgcmV0
dXJuIGRzdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCA5MDQ3M2JmMDJlNjg0Y2ZhYWU1M2MxMzU3MmI4
OGRiNTFkYmFmZWE5Li4wNWZhY2M5OGM3MDhjYWY3Zjk3NzdjOWNlM2I0ODVjNmQ0ZjE5Mzk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oCkBAIC0yODYsNyArMjg2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IGJvb2wgdXNlc1RoaXMoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlTm9kZS0+dXNlc1RoaXMoKTsg
fQogICAgICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKCkgY29uc3QgeyByZXR1
cm4gbV9jb2RlQmxvY2stPmNvbnN0cnVjdG9yS2luZCgpOyB9CiAgICAgICAgIFN1cGVyQmluZGlu
ZyBzdXBlckJpbmRpbmcoKSBjb25zdCB7IHJldHVybiBtX2NvZGVCbG9jay0+c3VwZXJCaW5kaW5n
KCk7IH0KLSAgICAgICAgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY29kZUJsb2NrLT5jb21tZW50TW9kZSgpOyB9CisgICAgICAgIEpTUGFyc2VyU2Ny
aXB0TW9kZSBzY3JpcHRNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlQmxvY2stPnNjcmlwdE1v
ZGUoKTsgfQogCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+CiAgICAgICAgIHN0
YXRpYyBQYXJzZXJFcnJvciBnZW5lcmF0ZShWTSYgdm0sIEFyZ3MmJiAuLi5hcmdzKQpAQCAtODQ4
LDcgKzg0OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgZWxzZSBpZiAocGFyc2VN
b2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSAmJiBtZXRhZGF0YS0+Y29uc3RydWN0
b3JLaW5kKCkgPT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKQogICAgICAgICAgICAgICAgIGNvbnN0
cnVjdEFiaWxpdHkgPSBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3Q7CiAKLSAgICAg
ICAgICAgIHJldHVybiBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKG1fdm0sIG1f
c2NvcGVOb2RlLT5zb3VyY2UoKSwgbWV0YWRhdGEsIGlzQnVpbHRpbkZ1bmN0aW9uKCkgPyBVbmxp
bmtlZEJ1aWx0aW5GdW5jdGlvbiA6IFVubGlua2VkTm9ybWFsRnVuY3Rpb24sIGNvbnN0cnVjdEFi
aWxpdHksIGNvbW1lbnRNb2RlKCksIHZhcmlhYmxlc1VuZGVyVERaLCBuZXdEZXJpdmVkQ29udGV4
dFR5cGUpOworICAgICAgICAgICAgcmV0dXJuIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpj
cmVhdGUobV92bSwgbV9zY29wZU5vZGUtPnNvdXJjZSgpLCBtZXRhZGF0YSwgaXNCdWlsdGluRnVu
Y3Rpb24oKSA/IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uIDogVW5saW5rZWROb3JtYWxGdW5jdGlv
biwgY29uc3RydWN0QWJpbGl0eSwgc2NyaXB0TW9kZSgpLCB2YXJpYWJsZXNVbmRlclREWiwgbmV3
RGVyaXZlZENvbnRleHRUeXBlKTsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgZ2V0VmFyaWFi
bGVzVW5kZXJURFooVmFyaWFibGVFbnZpcm9ubWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDJlZGVhOGNiMWJm
MDk0Mzg0YTAzYTZmOTBiYWY4ODMwNjU2MTA3YWYuLmY0MmJlZGUzOWM3NmYyYzUwM2FmYWQ0NzVh
YzgwYWQ4NWIzMTM0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM1MDIsNiArMzUwMiwxOCBAQCBSZWdpc3RlcklE
KiBZaWVsZEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwgUmVnaXN0ZXJJRAogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE1vdmUoZ2VuZXJhdG9yLmZp
bmFsRGVzdGluYXRpb24oZHN0KSwgdmFsdWUuZ2V0KCkpOwogfQogCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gQXdhaXRFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCitSZWdpc3RlcklEKiBBd2FpdEV4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIFJlZlB0cjxS
ZWdpc3RlcklEPiBhcmcgPSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7CisgICAgZ2VuZXJhdG9y
LmVtaXROb2RlKGFyZy5nZXQoKSwgYXJndW1lbnQoKSk7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+
IHZhbHVlID0gZ2VuZXJhdG9yLmVtaXRZaWVsZChhcmcuZ2V0KCkpOworICAgIGlmIChkc3QgPT0g
Z2VuZXJhdG9yLmlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
cmV0dXJuIGdlbmVyYXRvci5lbWl0TW92ZShnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3Qp
LCB2YWx1ZS5nZXQoKSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBD
bGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB2b2lkIENs
YXNzRGVjbE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CmluZGV4IDFjMTEzYmFlMTRkNTZkNzgwOWExMGRmYjljNWY2Mzc4NjAwYjcwMDEuLmZkYmQyZjQ4
NDIyODk5MGE0MDc1MGFmNzc1YzEyM2NmMGZiYzlmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNjcsNiArMzY3LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCisgICAgQXdhaXRFeHByTm9kZSogY3JlYXRlQXdhaXQo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGFyZ3VtZW50
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZv
dCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKKyAgICB7CisgICAgICAgIEFTU0VSVChhcmd1
bWVudCk7CisgICAgICAgIEF3YWl0RXhwck5vZGUqIG5vZGUgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IEF3YWl0RXhwck5vZGUobG9jYXRpb24sIGFyZ3VtZW50KTsKKyAgICAgICAgc2V0RXhjZXB0aW9u
TG9jYXRpb24obm9kZSwgc3RhcnQsIGRpdm90LCBlbmQpOworICAgICAgICByZXR1cm4gbm9kZTsK
KyAgICB9CisKICAgICBDbGFzc0V4cHJOb2RlKiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyQ2xhc3NJbmZvPEFTVEJ1aWxkZXI+JiBj
bGFzc0luZm8sIFZhcmlhYmxlRW52aXJvbm1lbnQmIGNsYXNzRW52aXJvbm1lbnQsIEV4cHJlc3Np
b25Ob2RlKiBjb25zdHJ1Y3RvciwKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIHBhcmVudENsYXNz
LCBQcm9wZXJ0eUxpc3ROb2RlKiBpbnN0YW5jZU1ldGhvZHMsIFByb3BlcnR5TGlzdE5vZGUqIHN0
YXRpY01ldGhvZHMpCiAgICAgewpAQCAtMzgyLDYgKzM5MCwxNyBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQogCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFzeW5j
RnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNl
ckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgZnVuY3Rpb25JbmZvLCBTb3VyY2VQYXJzZU1vZGUg
cGFyc2VNb2RlKQorICAgIHsKKyAgICAgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1v
ZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlKSB7CisgICAgICAgICAgICBTb3VyY2VDb2Rl
IHNvdXJjZSA9IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihmdW5jdGlvbkluZm8uc3RhcnRP
ZmZzZXQsIGZ1bmN0aW9uSW5mby5ib2R5LT5pc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbigp
ID8gZnVuY3Rpb25JbmZvLmVuZE9mZnNldCAtIDEgOiBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0LCBm
dW5jdGlvbkluZm8uc3RhcnRMaW5lLCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyc1N0YXJ0Q29sdW1u
KTsKKyAgICAgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5h
KSBGdW5jRXhwck5vZGUobG9jYXRpb24sICpmdW5jdGlvbkluZm8ubmFtZSwgZnVuY3Rpb25JbmZv
LmJvZHksIHNvdXJjZSk7CisgICAgICAgICAgICBmdW5jdGlvbkluZm8uYm9keS0+c2V0TG9jKGZ1
bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5lbmRMaW5lLCBsb2NhdGlvbi5zdGFy
dE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uRXhwcihsb2Nh
dGlvbiwgZnVuY3Rpb25JbmZvKTsKKyAgICB9CisKICAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRl
TWV0aG9kRGVmaW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKICAgICB7CiAgICAg
ICAgIE1ldGhvZERlZmluaXRpb25Ob2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIE1l
dGhvZERlZmluaXRpb25Ob2RlKGxvY2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9u
SW5mby5ib2R5LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9LZXl3
b3Jkcy50YWJsZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvS2V5d29yZHMudGFibGUK
aW5kZXggNDU4MmQwMGFhZTk3ZWQxNTNlY2Y5OWFmOGRiOTZhNzU2MTkxZWQyYS4uMmY3ZGZjNTVj
MGRhOGMwMzFkNjY0MzIxMzZlNzQ4ODhiYmJjZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9LZXl3b3Jkcy50YWJsZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0tleXdvcmRzLnRhYmxlCkBAIC03LDYgKzcsNyBAQCB0cnVlCQlUUlVFVE9LRU4K
IGZhbHNlCQlGQUxTRVRPS0VOCiAKICMgS2V5d29yZHMuCithd2FpdCAgICAgICBBV0FJVAogYnJl
YWsJCUJSRUFLCiBjYXNlCQlDQVNFCiBjYXRjaAkJQ0FUQ0gKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKaW5kZXggMTI5OWI1NzYzYWVmZTQ1ZGVjMjAyZjBlMzRkMDVmOWYyOWIx
NTg3ZC4uYmM3Njc3OTIxODVjMDEyYzMxNGYwMDBmYTJjMTAwYzA0YTZmY2UzMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTQ4NiwxMSArNDg2LDExIEBAIHN0YXRp
YyBjb25zdCBMQ2hhciBzaW5nbGVDaGFyYWN0ZXJFc2NhcGVWYWx1ZXNGb3JBU0NJSVsxMjhdID0g
ewogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1MZXhlcjxUPjo6TGV4ZXIoVk0qIHZtLCBK
U1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1l
bnRNb2RlKQorTGV4ZXI8VD46OkxleGVyKFZNKiB2bSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWls
dGluTW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUpCiAgICAgOiBtX2lzUmVwYXJz
aW5nRnVuY3Rpb24oZmFsc2UpCiAgICAgLCBtX3ZtKHZtKQogICAgICwgbV9wYXJzaW5nQnVpbHRp
bkZ1bmN0aW9uKGJ1aWx0aW5Nb2RlID09IEpTUGFyc2VyQnVpbHRpbk1vZGU6OkJ1aWx0aW4pCi0g
ICAgLCBtX2NvbW1lbnRNb2RlKGNvbW1lbnRNb2RlKQorICAgICwgbV9zY3JpcHRNb2RlKHNjcmlw
dE1vZGUpCiB7CiB9CiAKQEAgLTE4ODQsNyArMTg4NCw3IEBAIHN0YXJ0OgogICAgIGNhc2UgQ2hh
cmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAn
IScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKLSAgICAgICAgICAgIGlm
IChtX2NvbW1lbnRNb2RlID09IEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMpIHsKKyAgICAg
ICAgICAgIGlmIChtX3NjcmlwdE1vZGUgPT0gSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljKSB7
CiAgICAgICAgICAgICAgICAgLy8gPCEtLSBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBj
b21tZW50IChmb3Igd3d3IHVzYWdlKQogICAgICAgICAgICAgICAgIGdvdG8gaW5TaW5nbGVMaW5l
Q29tbWVudDsKICAgICAgICAgICAgIH0KQEAgLTE5MzksNyArMTkzOSw3IEBAIHN0YXJ0OgogICAg
ICAgICBpZiAobV9jdXJyZW50ID09ICctJykgewogICAgICAgICAgICAgc2hpZnQoKTsKICAgICAg
ICAgICAgIGlmIChtX2F0TGluZVN0YXJ0ICYmIG1fY3VycmVudCA9PSAnPicpIHsKLSAgICAgICAg
ICAgICAgICBpZiAobV9jb21tZW50TW9kZSA9PSBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2lj
KSB7CisgICAgICAgICAgICAgICAgaWYgKG1fc2NyaXB0TW9kZSA9PSBKU1BhcnNlclNjcmlwdE1v
ZGU6OkNsYXNzaWMpIHsKICAgICAgICAgICAgICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgICAg
ICAgICAgICAgZ290byBpblNpbmdsZUxpbmVDb21tZW50OwogICAgICAgICAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyNDdjZTYyNGIwMmEyYTAyYTFjY2Fi
YzIxZTBlM2I4YTM0MWUwNTE4Li5iZjZkNjNhYTIyNGE1MWVlN2VmOWNmYmNmZTc0MDhlMzk2ZmRi
NzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC00OCw3ICs0OCw3IEBA
IGNsYXNzIExleGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAogcHVibGljOgot
ICAgIExleGVyKFZNKiwgSlNQYXJzZXJCdWlsdGluTW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSk7
CisgICAgTGV4ZXIoVk0qLCBKU1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1BhcnNlclNjcmlwdE1vZGUp
OwogICAgIH5MZXhlcigpOwogCiAgICAgLy8gQ2hhcmFjdGVyIG1hbmlwdWxhdGlvbiBmdW5jdGlv
bnMuCkBAIC0yMTYsNyArMjE2LDcgQEAgcHJpdmF0ZToKIAogICAgIFZNKiBtX3ZtOwogICAgIGJv
b2wgbV9wYXJzaW5nQnVpbHRpbkZ1bmN0aW9uOwotICAgIEpTUGFyc2VyQ29tbWVudE1vZGUgbV9j
b21tZW50TW9kZTsKKyAgICBKU1BhcnNlclNjcmlwdE1vZGUgbV9zY3JpcHRNb2RlOwogfTsKIAog
dGVtcGxhdGUgPD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggNjliNDQyOGU4NzljYTgwMGU5Y2ExYjg3YjM2MmEyMzcwODg3N2JjNi4u
YzFkNTQ3YmM3ZjkwMWMwNmM2NTM5ODYyODlkMzViNTQ1MjA1MDM2NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTkzOCw2ICs5Mzgs
MTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgewogICAgIH0KIAorICAgIGlubGluZSBBd2FpdEV4
cHJOb2RlOjpBd2FpdEV4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEV4
cHJlc3Npb25Ob2RlKiBhcmd1bWVudCkKKyAgICAgICAgOiBFeHByZXNzaW9uTm9kZShsb2NhdGlv
bikKKyAgICAgICAgLCBtX2FyZ3VtZW50KGFyZ3VtZW50KQorICAgIHsKKyAgICB9CisKICAgICBp
bmxpbmUgQ2xhc3NEZWNsTm9kZTo6Q2xhc3NEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogY2xhc3NEZWNsYXJhdGlvbikKICAgICAgICAgOiBT
dGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fY2xhc3NEZWNsYXJhdGlvbihjbGFz
c0RlY2xhcmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IGUyZWFh
ZTEwMzg4MzI4M2YzMDFiZjAyNzM5NGYzMTA5ODJjYjAzMWUuLmJmMWE5MDhhMjZkMTJjZDU0ZmZk
ZmE1MmUxM2U3ZjI5ZjU4ODZjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgK
QEAgLTIwMDYsNiArMjAwNiwxOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBtX2Rl
bGVnYXRlOwogICAgIH07CiAKKyAgICBjbGFzcyBBd2FpdEV4cHJOb2RlIGZpbmFsIDogcHVibGlj
IEV4cHJlc3Npb25Ob2RlLCBwdWJsaWMgVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEgeworICAgIHB1
YmxpYzoKKyAgICAgICAgQXdhaXRFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHBy
ZXNzaW9uTm9kZSogYXJndW1lbnQpOworCisgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBhcmd1bWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJndW1lbnQ7IH0KKworICAgIHByaXZhdGU6CisgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQq
ID0gMCkgb3ZlcnJpZGU7CisKKyAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1fYXJndW1lbnQ7Cisg
ICAgfTsKKwogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lv
bk5vZGUsIHB1YmxpYyBWYXJpYWJsZUVudmlyb25tZW50Tm9kZSB7CiAgICAgcHVibGljOgogICAg
ICAgICB1c2luZyBQYXJzZXJBcmVuYURlbGV0YWJsZTo6b3BlcmF0b3IgbmV3OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDQzNzA4ZmZhZTI2NDkzOTI4ZDViMjEz
OTQyMjhmYzZjYzJmODg5YzYuLmQwMmY0ZDcxNGE4YmVhZTI1MzFlNDEyOTUyOTQ4YTcxZjY4NmM2
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTc0LDYgKzc0
LDggQEAKICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlIHRoZSByZXNlcnZlZCB3b3Jk
ICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAogICAgIGlmIChtX3Rv
a2VuLm1fdHlwZSAmIEtleXdvcmRUb2tlbkZsYWcpIFwKICAgICAgICAgc2VtYW50aWNGYWlsKCJD
YW5ub3QgdXNlIHRoZSBrZXl3b3JkICciLCBnZXRUb2tlbigpLCAiJyBhcyBhICIsIF9fVkFfQVJH
U19fKTsgXAorICAgIGlmIChpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbikpIFwK
KyAgICAgICAgc2VtYW50aWNGYWlsKCJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhICIsIF9fVkFfQVJH
U19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7IFwKIH0gd2hpbGUg
KDApCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0xODksNyArMTkxLDcgQEAgdm9pZCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6bG9nRXJyb3IoYm9vbCBzaG91bGRQcmludFRva2VuLCBjb25zdCBBJiB2
YWx1ZTEsIGNvbnN0IEIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLVBhcnNl
cjxMZXhlclR5cGU+OjpQYXJzZXIoVk0qIHZtLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpT
UGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RN
b2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBTb3VyY2VQYXJzZU1vZGUgcGFy
c2VNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1Y3RvcktpbmQgZGVmYXVs
dENvbnN0cnVjdG9yS2luZCwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwg
Ym9vbCBpc0V2YWxDb250ZXh0LCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlKQorUGFy
c2VyPExleGVyVHlwZT46OlBhcnNlcihWTSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwg
SlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmlj
dE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2RlLCBTb3VyY2VQYXJzZU1vZGUgcGFy
c2VNb2RlLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nLCBDb25zdHJ1Y3RvcktpbmQgZGVmYXVs
dENvbnN0cnVjdG9yS2luZCwgRGVyaXZlZENvbnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwg
Ym9vbCBpc0V2YWxDb250ZXh0LCBFdmFsQ29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlKQogICAg
IDogbV92bSh2bSkKICAgICAsIG1fc291cmNlKCZzb3VyY2UpCiAgICAgLCBtX2hhc1N0YWNrT3Zl
cmZsb3coZmFsc2UpCkBAIC0xOTgsMTIgKzIwMCwxMiBAQCBQYXJzZXI8TGV4ZXJUeXBlPjo6UGFy
c2VyKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBKU1BhcnNlckJ1aWx0aW5Nb2Rl
CiAgICAgLCBtX3N0YXRlbWVudERlcHRoKDApCiAgICAgLCBtX3NvdXJjZUVsZW1lbnRzKDApCiAg
ICAgLCBtX3BhcnNpbmdCdWlsdGluKGJ1aWx0aW5Nb2RlID09IEpTUGFyc2VyQnVpbHRpbk1vZGU6
OkJ1aWx0aW4pCi0gICAgLCBtX2NvbW1lbnRNb2RlKGNvbW1lbnRNb2RlKQorICAgICwgbV9zY3Jp
cHRNb2RlKHNjcmlwdE1vZGUpCiAgICAgLCBtX3N1cGVyQmluZGluZyhzdXBlckJpbmRpbmcpCiAg
ICAgLCBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQoZGVmYXVsdENvbnN0cnVjdG9yS2luZCkKICAg
ICAsIG1faW1tZWRpYXRlUGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkluU3RhdGVtZW50
KGZhbHNlKQogewotICAgIG1fbGV4ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPExleGVyVHlwZT4odm0s
IGJ1aWx0aW5Nb2RlLCBjb21tZW50TW9kZSk7CisgICAgbV9sZXhlciA9IHN0ZDo6bWFrZV91bmlx
dWU8TGV4ZXJUeXBlPih2bSwgYnVpbHRpbk1vZGUsIHNjcmlwdE1vZGUpOwogICAgIG1fbGV4ZXIt
PnNldENvZGUoc291cmNlLCAmbV9wYXJzZXJBcmVuYSk7CiAgICAgbV90b2tlbi5tX2xvY2F0aW9u
LmxpbmUgPSBzb3VyY2UuZmlyc3RMaW5lKCk7CiAgICAgbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0ID0gc291cmNlLnN0YXJ0T2Zmc2V0KCk7CkBAIC0yNTYsMTUgKzI1OCwxNSBAQCBTdHJp
bmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoY29uc3QgSWRlbnRpZmllciYgY2FsbGVl
TmFtZSwgU291cmNlUGFyc2VNbwogICAgIHNjb3BlLT5zZXRJc0xleGljYWxTY29wZSgpOwogICAg
IFNldEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29u
ZXIobV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6
Qm9keSk7CiAKLSAgICBib29sIGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uID0gZmFsc2U7
CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA9IHBhcnNlTW9kZSA9PSBT
b3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlICYmICFtYXRjaChPUEVO
QlJBQ0UpOwogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZ0Z1bmN0aW9uKCkpIHsKICAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKLSAgICAgICAg
aWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlKQorICAg
ICAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9k
eU1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSkgfHwgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9k
ZShwYXJzZU1vZGUpKQogICAgICAgICAgICAgbV9wYXJhbWV0ZXJzID0gY3JlYXRlR2VuZXJhdG9y
UGFyYW1ldGVycyhjb250ZXh0LCBmdW5jdGlvbkluZm8ucGFyYW1ldGVyQ291bnQpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBtX3BhcmFtZXRlcnMgPSBwYXJzZUZ1bmN0aW9uUGFyYW1ldGVy
cyhjb250ZXh0LCBwYXJzZU1vZGUsIGZ1bmN0aW9uSW5mbyk7CiAKLSAgICAgICAgaWYgKHBhcnNl
TW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlICYmICFoYXNFcnJvcigp
KSB7CisgICAgICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5j
b250YWlucyhwYXJzZU1vZGUpICYmICFoYXNFcnJvcigpKSB7CiAgICAgICAgICAgICAvLyBUaGUg
b25seSB3YXkgd2UgY291bGQgaGF2ZSBhbiBlcnJvciB3aWxlIHJlcGFyc2luZyBpcyBpZiB3ZSBy
dW4gb3V0IG9mIHN0YWNrIHNwYWNlLgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWF0Y2go
QVJST1dGVU5DVElPTikpOwogICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjgxLDE2ICsyODMsMTYg
QEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKGNvbnN0IElkZW50aWZpZXIm
IGNhbGxlZU5hbWUsIFNvdXJjZVBhcnNlTW8KICAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxl
bWVudHMgPSBudWxscHRyOwogICAgIC8vIFRoZSBvbmx5IHdheSB3ZSBjYW4gZXJyb3IgdGhpcyBl
YXJseSBpcyBpZiB3ZSByZXBhcnNlIGEgZnVuY3Rpb24gYW5kIHdlIHJ1biBvdXQgb2Ygc3RhY2sg
c3BhY2UuCiAgICAgaWYgKCFoYXNFcnJvcigpKSB7Ci0gICAgICAgIGlmIChpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbikKKyAgICAgICAgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUocGFyc2VNb2RlKSkKKyAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VBc3lu
Y0Z1bmN0aW9uU291cmNlRWxlbWVudHMoY29udGV4dCwgcGFyc2VNb2RlLCBpc0Fycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbiwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgZWxzZSBpZiAo
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24pCiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlQXJyb3dGdW5jdGlvblNpbmdsZUV4cHJlc3Npb25Cb2R5U291cmNlRWxlbWVudHMo
Y29udGV4dCk7CiAgICAgICAgIGVsc2UgaWYgKGlzTW9kdWxlUGFyc2VNb2RlKHBhcnNlTW9kZSkp
CiAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlTW9kdWxlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgcGFyc2VNb2RlKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAocGFy
c2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkK
LSAgICAgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25T
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOwotICAgICAgICB9CisgICAgICAgIGVsc2Ug
aWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlv
bk1vZGUpCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlR2VuZXJhdG9yRnVuY3Rp
b25Tb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBib29sIHZhbGlkRW5kaW5n
ID0gY29uc3VtZShFT0ZUT0spOwpAQCAtMzEwLDcgKzMxMiw3IEBAIFN0cmluZyBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VJbm5lcihjb25zdCBJZGVudGlmaWVyJiBjYWxsZWVOYW1lLCBTb3VyY2VQ
YXJzZU1vCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IGNhcHR1cmVkVmFyaWFibGVzKQogICAgICAg
ICB2YXJEZWNsYXJhdGlvbnMubWFya1ZhcmlhYmxlQXNDYXB0dXJlZChlbnRyeSk7CiAKLSAgICBp
ZiAocGFyc2VNb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9u
TW9kZSkgeworICAgIGlmIChTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpHZW5l
cmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKS5jb250YWlucyhwYXJzZU1vZGUpIHx8IGlzQXN5bmNG
dW5jdGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSkgewogICAgICAgICBpZiAoc2NvcGUt
PnVzZWRWYXJpYWJsZXNDb250YWlucyhtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMuaW1w
bCgpKSkKICAgICAgICAgICAgIGNvbnRleHQucHJvcGFnYXRlQXJndW1lbnRzVXNlKCk7CiAgICAg
fQpAQCAtMzU0LDIxICszNTYsMTAgQEAgdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNo
UGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmEKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+CiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVu
Y3Rpb25QYXJhbWV0ZXJzKCkKIHsKLSAgICBib29sIGlzT3BlblBhcmVuID0gbWF0Y2goT1BFTlBB
UkVOKTsKLSAgICBib29sIGlzSWRlbnQgPSBtYXRjaChJREVOVCk7Ci0gICAgCi0gICAgaWYgKCFp
c09wZW5QYXJlbiAmJiAhaXNJZGVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYm9v
bCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKLSAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwotICAgICAgICAKLSAgICBpZiAoaXNJZGVudCkg
ewotICAgICAgICBuZXh0KCk7Ci0gICAgICAgIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9X
RlVOQ1RJT04pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzT3BlblBh
cmVuKTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2
ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgICAgICBuZXh0KCk7
CisgICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CiAgICAgICAgIGlmIChtYXRj
aChDTE9TRVBBUkVOKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgaXNBcnJv
d0Z1bmN0aW9uID0gbWF0Y2goQVJST1dGVU5DVElPTik7CkBAIC0zODAsMTQgKzM3MSwyMiBAQCBi
b29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93RnVuY3Rpb25QYXJhbWV0ZXJzKCkKIAogICAg
ICAgICAgICAgdW5zaWduZWQgcGFyYW1ldGVyc0NvdW50ID0gMDsKICAgICAgICAgICAgIGlzQXJy
b3dGdW5jdGlvbiA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBzeW50YXhD
aGVja2VyLmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QoKSwgcGFyYW1ldGVyc0NvdW50KSAmJiBj
b25zdW1lKENMT1NFUEFSRU4pICYmIG1hdGNoKEFSUk9XRlVOQ1RJT04pOwotICAgICAgICAgICAg
ICAgIAorCiAgICAgICAgICAgICBwb3BTY29wZShmYWtlU2NvcGUsIHN5bnRheENoZWNrZXIuTmVl
ZHNGcmVlVmFyaWFibGVJbmZvKTsKICAgICAgICAgfQorICAgICAgICByZXN0b3JlU2F2ZVBvaW50
KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4gaXNBcnJvd0Z1bmN0aW9u
OwogICAgIH0KLSAgICAgICAgCi0gICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlv
blBvaW50KTsKLSAgICAgICAgCi0gICAgcmV0dXJuIGlzQXJyb3dGdW5jdGlvbjsKKworICAgIGlm
IChtYXRjaFNwZWNJZGVudGlmaWVyKCkpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1
bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAg
ICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFSUk9XRlVOQ1RJT04pOworICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICByZXR1cm4g
aXNBcnJvd0Z1bmN0aW9uOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KQEAgLTU0MCw2ICs1MzksNTAgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlR2VuZXJhdG8KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFzeW5jRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwg
U291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbiwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit7CisgICAgQVNTRVJUKGlzQXN5bmNGdW5j
dGlvbldyYXBwZXJQYXJzZU1vZGUocGFyc2VNb2RlKSk7CisgICAgYXV0byBzb3VyY2VFbGVtZW50
cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKKworICAgIHVuc2lnbmVkIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFy
dExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0
YXJ0T2Zmc2V0OworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7CisKKyAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87
CisgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwor
ICAgIGNyZWF0ZUdlbmVyYXRvclBhcmFtZXRlcnMoY29udGV4dCwgaW5mby5wYXJhbWV0ZXJDb3Vu
dCk7CisgICAgaW5mby5zdGFydE9mZnNldCA9IHBhcmFtZXRlcnNTdGFydDsKKyAgICBpbmZvLnN0
YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgIFNvdXJjZVBhcnNlTW9kZSBpbm5lclBhcnNlTW9k
ZSA9IHBhcnNlTW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUK
KyAgICAgICAgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlCisg
ICAgICAgIDogU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgewor
ICAgICAgICBBdXRvUG9wU2NvcGVSZWYgYXN5bmNGdW5jdGlvbkJvZHlTY29wZSh0aGlzLCBwdXNo
U2NvcGUoKSk7CisgICAgICAgIGFzeW5jRnVuY3Rpb25Cb2R5U2NvcGUtPnNldFNvdXJjZVBhcnNl
TW9kZShpbm5lclBhcnNlTW9kZSk7CisgICAgICAgIFN5bnRheENoZWNrZXIgYXN5bmNGdW5jdGlv
bkNvbnRleHQoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyAgICAgICAg
aWYgKGlzQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uKQorICAgICAgICAgICAgZmFpbElmRmFs
c2UocGFyc2VBcnJvd0Z1bmN0aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhh
c3luY0Z1bmN0aW9uQ29udGV4dCksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYXN5bmMgYXJy
b3cgZnVuY3Rpb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZmFpbElmRmFsc2UocGFy
c2VTb3VyY2VFbGVtZW50cyhhc3luY0Z1bmN0aW9uQ29udGV4dCwgbW9kZSksICJDYW5ub3QgcGFy
c2UgdGhlIGJvZHkgb2YgYXN5bmMgZnVuY3Rpb24iKTsKKyAgICAgICAgcG9wU2NvcGUoYXN5bmNG
dW5jdGlvbkJvZHlTY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyk7Cisg
ICAgfQorICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShzdGFy
dExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCB0b2tlbkNvbHVtbigpLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwg
c3RyaWN0TW9kZSgpLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1fc3VwZXJCaW5kaW5nLCBpbmZv
LnBhcmFtZXRlckNvdW50LCBpbm5lclBhcnNlTW9kZSwgaXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24pOworCisgICAgaW5mby5lbmRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5lbmRP
ZmZzZXQgPSBpc0Fycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA/IHRva2VuTG9jYXRpb24oKS5l
bmRPZmZzZXQgOiBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5wYXJhbWV0ZXJzU3Rh
cnRDb2x1bW4gPSBzdGFydENvbHVtbjsKKworICAgIGF1dG8gZnVuY3Rpb25FeHByID0gY29udGV4
dC5jcmVhdGVBc3luY0Z1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBpbmZvLCBpbm5lclBhcnNl
TW9kZSk7CisgICAgYXV0byBzdGF0ZW1lbnQgPSBjb250ZXh0LmNyZWF0ZUV4cHJTdGF0ZW1lbnQo
c3RhcnRMb2NhdGlvbiwgZnVuY3Rpb25FeHByLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlv
bi5saW5lKTsKKyAgICBjb250ZXh0LmFwcGVuZFN0YXRlbWVudChzb3VyY2VFbGVtZW50cywgc3Rh
dGVtZW50KTsKKworICAgIHJldHVybiBzb3VyY2VFbGVtZW50czsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0SXRlbShUcmVlQnVpbGRl
ciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGgpCiB7CiAgICAgLy8gVGhlIGdyYW1tYXIgaXMgZG9jdW1lbnRlZCBo
ZXJlOgpAQCAtNTYyLDcgKzYwNSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0CiAgICAgICAg
ICAgICAvLyBGb3IgZXhhbXBsZSwgdW5kZXIgYSBnZW5lcmF0b3IgY29udGV4dCwgbWF0Y2hTcGVj
SWRlbnRpZmllcigpIGZvciAieWllbGQiIHJldHVybnMgYGZhbHNlYC4KICAgICAgICAgICAgIC8v
IEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVudGVyIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiBhbmQg
cmFpc2UgYW4gZXJyb3IgdW5kZXIgdGhlIGNvbnRleHQgb2YgcGFyc2VWYXJpYWJsZURlY2xhcmF0
aW9uCiAgICAgICAgICAgICAvLyB0byByYWlzZSBjb25zaXN0ZW50IGVycm9ycyBiZXR3ZWVuICJ2
YXIiLCAiY29uc3QiIGFuZCAibGV0Ii4KLSAgICAgICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8
fCBtYXRjaChMRVQpIHx8IG1hdGNoKFlJRUxEKSkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1h
dGNoKE9QRU5CUkFDS0VUKSkKKyAgICAgICAgICAgIGlmICghKG1hdGNoKElERU5UKSB8fCBtYXRj
aChMRVQpIHx8IG1hdGNoKFlJRUxEKSB8fCBtYXRjaChBV0FJVCkpICYmICFtYXRjaChPUEVOQlJB
Q0UpICYmICFtYXRjaChPUEVOQlJBQ0tFVCkpCiAgICAgICAgICAgICAgICAgc2hvdWxkUGFyc2VW
YXJpYWJsZURlY2xhcmF0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50
KHNhdmVQb2ludCk7CiAgICAgICAgIH0KQEAgLTU4Miw2ICs2MjUsMjEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudExpc3QKICAgICAgICAgcmVzdWx0ID0gcGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNv
bnRleHQpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIElERU5UOgorI2lmIEVOQUJMRShFUzIw
MTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VMWSgqbV90b2tlbi5t
X2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAg
ICAvLyBFYWdlcmx5IHBhcnNlIGFzIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbi4gVGhpcyBpcyB0
aGUgdW5jb21tb24gY2FzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5
IHBhcnNlZCBhcyBhbiBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbi4KKyAgICAgICAgICAgIFNhdmVQ
b2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgICAgIGlmIChVTkxJS0VMWShtYXRjaChGVU5DVElPTikgJiYgIW1fbGV4ZXItPnBy
ZXZUZXJtaW5hdG9yKCkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VBc3luY0Z1
bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAg
ICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAg
IGNhc2UgWUlFTEQ6IHsKICAgICAgICAgLy8gVGhpcyBpcyBhIGNvbnZlbmllbnQgcGxhY2UgdG8g
bm90aWNlIGxhYmVsZWQgc3RhdGVtZW50cwogICAgICAgICAvLyAoZXZlbiB0aG91Z2ggd2UgYWxz
byBwYXJzZSB0aGVtIGFzIG5vcm1hbCBzdGF0ZW1lbnRzKQpAQCAtNjkwLDYgKzc0OCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlVmFyaWFibGVEZWNsCiAgICAgICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKCkp
IHsKICAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoZGVjbGFyYXRpb25UeXBl
ID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRpb25UeXBlID09
IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiksIAogICAgICAgICAgICAgICAgICJD
YW4ndCB1c2UgJ2xldCcgYXMgYW4gaWRlbnRpZmllciBuYW1lIGZvciBhIExleGljYWxEZWNsYXJh
dGlvbiIpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50
aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVjbGFyYXRp
b25UeXBlVG9WYXJpYWJsZUtpbmQoZGVjbGFyYXRpb25UeXBlKSwgIiAiLCBkaXNhbGxvd2VkSWRl
bnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gdmFyU3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiB2
YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgICAgICAgICBpZGVudFN0YXJ0
ID0gdmFyU3RhcnQ7CkBAIC0xMDExLDYgKzEwNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJyb3Io
RXJyb3JJbmRpY2F0ZXNQYXR0ZXJuLCBFcnJvckluZGljYXRlc05vdGhpbmcpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgZmFpbElmVHJ1ZUlmU3RyaWN0KGlzRXZhbE9yQXJndW1lbnRzLCAiQ2Fu
bm90IG1vZGlmeSAnIiwgcHJvcGVydHlOYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7
CiAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWls
SWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChpZGVudGlmaWVyVG9rZW4pLCAiQ2Fu
J3QgdXNlICdhd2FpdCcgYXMgYSAiLCBkZXN0cnVjdHVyaW5nS2luZFRvVmFyaWFibGVLaW5kTmFt
ZShraW5kKSwgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkpOwogICAgICAg
ICAgICAgICAgICAgICBpbm5lclBhdHRlcm4gPSBjcmVhdGVCaW5kaW5nUGF0dGVybihjb250ZXh0
LCBraW5kLCBleHBvcnRUeXBlLCAqcHJvcGVydHlOYW1lLCBpZGVudGlmaWVyVG9rZW4sIGJpbmRp
bmdDb250ZXh0LCBkdXBsaWNhdGVJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9IGVsc2UgewpAQCAtMTA3OSw2ICsxMTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRGUKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIg
cGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9CiAgICAgICAg
IGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoa2luZCA9PSBEZXN0cnVjdHVyaW5nS2luZDo6RGVz
dHJ1Y3R1cmVUb0xldCB8fCBraW5kID09IERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRv
Q29uc3QpLCAiQ2FuJ3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhp
Y2FsRGVjbGFyYXRpb24iKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dl
ZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSwgIkNhbid0IHVzZSAnYXdhaXQnIGFzIGEgIiwgZGVz
dHJ1Y3R1cmluZ0tpbmRUb1ZhcmlhYmxlS2luZE5hbWUoa2luZCksICIgIiwgZGlzYWxsb3dlZElk
ZW50aWZpZXJBd2FpdFJlYXNvbigpKTsKICAgICAgICAgcGF0dGVybiA9IGNyZWF0ZUJpbmRpbmdQ
YXR0ZXJuKGNvbnRleHQsIGtpbmQsIGV4cG9ydFR5cGUsICptX3Rva2VuLm1fZGF0YS5pZGVudCwg
bV90b2tlbiwgYmluZGluZ0NvbnRleHQsIGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgICAgICBu
ZXh0KCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTYzMSw0MyArMTY5Miw4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlCiAgICAgICAgIHJlc3VsdCA9IHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbihj
b250ZXh0LCBEZWNsYXJhdGlvblR5cGU6OlZhckRlY2xhcmF0aW9uKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBGVU5DVElPTjogewotICAgICAgICBpZiAoIXN0cmljdE1vZGUoKSkgewotICAg
ICAgICAgICAgZmFpbElmRmFsc2UocGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3Rh
dGVtZW50LCAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW5zaWRlIGJs
b2NrIHN0YXRlbWVudHMgb3IgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIHByb2dyYW0iKTsKLSAgICAg
ICAgICAgIGlmIChjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gQW55IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRoYXQgaXNuJ3QgaW4gYSBibG9jayBpcyBh
IHN5bnRheCBlcnJvciB1bmxlc3MgaXQncwotICAgICAgICAgICAgICAgIC8vIGluIGFuIGlmL2Vs
c2Ugc3RhdGVtZW50LiBJZiBpdCdzIGluIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LCB3ZSB3aWxsIG1h
Z2ljYWxseQotICAgICAgICAgICAgICAgIC8vIHRyZWF0IGl0IGFzIGlmIHRoZSBpZi9lbHNlIHN0
YXRlbWVudCBpcyBpbnNpZGUgYSBibG9jayBzdGF0ZW1lbnQuCi0gICAgICAgICAgICAgICAgLy8g
dG8gdGhlIHZlcnkgdG9wIGxpa2UgYSAidmFyIi4gRm9yIGV4YW1wbGU6Ci0gICAgICAgICAgICAg
ICAgLy8gZnVuY3Rpb24gYSgpIHsKLSAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGNvbmQpIGZ1
bmN0aW9uIGZvbygpIHsgfQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICAv
LyB3aWxsIGJlIHJld3JpdHRlbiBhczoKLSAgICAgICAgICAgICAgICAvLyBmdW5jdGlvbiBhKCkg
ewotICAgICAgICAgICAgICAgIC8vICAgICBpZiAoY29uZCkgeyBmdW5jdGlvbiBmb28oKSB7IH0g
fQotICAgICAgICAgICAgICAgIC8vIH0KLSAgICAgICAgICAgICAgICBBdXRvUG9wU2NvcGVSZWYg
YmxvY2tTY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgICAgICAgICAgYmxvY2tTY29w
ZS0+c2V0SXNMZXhpY2FsU2NvcGUoKTsKLSAgICAgICAgICAgICAgICBibG9ja1Njb3BlLT5wcmV2
ZW50VmFyRGVjbGFyYXRpb25zKCk7Ci0gICAgICAgICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Ci0gICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gdG9r
ZW5MaW5lKCk7Ci0KLSAgICAgICAgICAgICAgICBUcmVlU3RhdGVtZW50IGZ1bmN0aW9uID0gcGFy
c2VGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOwotICAgICAgICAgICAgICAgIHByb3BhZ2F0
ZUVycm9yKCk7Ci0gICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoZnVuY3Rpb24sICJFeHBlY3Rl
ZCB2YWxpZCBmdW5jdGlvbiBzdGF0ZW1lbnQgYWZ0ZXIgJ2Z1bmN0aW9uJyBrZXl3b3JkIik7Ci0g
ICAgICAgICAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4
dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwotICAgICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5k
U3RhdGVtZW50KHNvdXJjZUVsZW1lbnRzLCBmdW5jdGlvbik7Ci0gICAgICAgICAgICAgICAgcmVz
dWx0ID0gY29udGV4dC5jcmVhdGVCbG9ja1N0YXRlbWVudChsb2NhdGlvbiwgc291cmNlRWxlbWVu
dHMsIHN0YXJ0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmUsIGN1cnJlbnRTY29wZSgpLT5m
aW5hbGl6ZUxleGljYWxFbnZpcm9ubWVudCgpLCBjdXJyZW50U2NvcGUoKS0+dGFrZUZ1bmN0aW9u
RGVjbGFyYXRpb25zKCkpOwotICAgICAgICAgICAgICAgIHBvcFNjb3BlKGJsb2NrU2NvcGUsIFRy
ZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pOwotICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBpZiB3ZSdy
ZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjawotICAgICAgICAgICAg
ICAgIC8vIHRvIGhvaXN0aW5nIGJlaGF2aW9yLgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1ODEzCi0gICAgICAgICAg
ICAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKLSAg
ICAgICAgICAgICAgICBtX3N0YXRlbWVudERlcHRoID0gMTsKLSAgICAgICAgICAgICAgICByZXN1
bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJGdW5jdGlvbiBkZWNs
YXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIG9yIHN3aXRjaCBzdGF0ZW1l
bnRzIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIGNvbnN0IGJvb2wgaXNBc3luYyA9IGZhbHNl
OworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoY29u
dGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgU0VNSUNPTE9OOiB7CkBAIC0xNzE5
LDYgKzE3NDUsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgLy8gVGhlc2Ug
dG9rZW5zIGltcGx5IHRoZSBlbmQgb2YgYSBzZXQgb2Ygc291cmNlIGVsZW1lbnRzCiAgICAgICAg
IHJldHVybiAwOwogICAgIGNhc2UgSURFTlQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hc3luYyAmJiBtYXliZVBhcnNlQXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uU3RhdGVtZW50KGNvbnRleHQsIHJlc3VsdCwgcGFyZW50QWxsb3dzRnVuY3Rpb25E
ZWNsYXJhdGlvbkFzU3RhdGVtZW50KSkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgRkFM
TFRIUk9VR0g7CisjZW5kaWYKKyAgICBjYXNlIEFXQUlUOgogICAgIGNhc2UgWUlFTEQ6IHsKICAg
ICAgICAgYm9vbCBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25Bc1N0YXRlbWVudCA9IGZhbHNlOwog
ICAgICAgICByZXN1bHQgPSBwYXJzZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KGNvbnRleHQs
IGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbkFzU3RhdGVtZW50KTsKQEAgLTE3NDQsNiArMTc3Niw2
OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xh
cmF0aW9uQXNTdGF0ZW1lbnQpCit7CisgICAgc2VtYW50aWNGYWlsSWZUcnVlKHN0cmljdE1vZGUo
KSwgIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluc2lkZSBibG9ja3Mg
b3Igc3dpdGNoIHN0YXRlbWVudHMgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBmYWlsSWZGYWxzZShw
YXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQsICJGdW5jdGlvbiBkZWNs
YXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbnNpZGUgYmxvY2sgc3RhdGVtZW50cyBvciBhdCB0
aGUgdG9wIGxldmVsIG9mIGEgcHJvZ3JhbSIpOworICAgIGlmICghY3VycmVudFNjb3BlKCktPmlz
RnVuY3Rpb24oKSkgeworICAgICAgICAvLyBXZSBvbmx5IGltcGxlbWVudCBhbm5leCBCLjMuMyBp
ZiB3ZSdyZSBpbiBmdW5jdGlvbiBtb2RlLiBPdGhlcndpc2UsIHdlIGZhbGwgYmFjaworICAgICAg
ICAvLyB0byBob2lzdGluZyBiZWhhdmlvci4KKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU4MTMKKyAgICAgICAgRGVwdGhNYW5hZ2Vy
IHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICAgICAgbV9zdGF0ZW1lbnRE
ZXB0aCA9IDE7CisgICAgICAgIGlmIChpc0FzeW5jKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNl
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgICAgICByZXR1cm4gcGFyc2VG
dW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQpOworICAgIH0KKworICAgIC8vIEFueSBmdW5jdGlv
biBkZWNsYXJhdGlvbiB0aGF0IGlzbid0IGluIGEgYmxvY2sgaXMgYSBzeW50YXggZXJyb3IgdW5s
ZXNzIGl0J3MKKyAgICAvLyBpbiBhbiBpZi9lbHNlIHN0YXRlbWVudC4gSWYgaXQncyBpbiBhbiBp
Zi9lbHNlIHN0YXRlbWVudCwgd2Ugd2lsbCBtYWdpY2FsbHkKKyAgICAvLyB0cmVhdCBpdCBhcyBp
ZiB0aGUgaWYvZWxzZSBzdGF0ZW1lbnQgaXMgaW5zaWRlIGEgYmxvY2sgc3RhdGVtZW50LgorICAg
IC8vIHRvIHRoZSB2ZXJ5IHRvcCBsaWtlIGEgInZhciIuIEZvciBleGFtcGxlOgorICAgIC8vIGZ1
bmN0aW9uIGEoKSB7CisgICAgLy8gICAgIGlmIChjb25kKSBmdW5jdGlvbiBmb28oKSB7IH0KKyAg
ICAvLyB9CisgICAgLy8gd2lsbCBiZSByZXdyaXR0ZW4gYXM6CisgICAgLy8gZnVuY3Rpb24gYSgp
IHsKKyAgICAvLyAgICAgaWYgKGNvbmQpIHsgZnVuY3Rpb24gZm9vKCkgeyB9IH0KKyAgICAvLyB9
CisgICAgQXV0b1BvcFNjb3BlUmVmIGJsb2NrU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAg
IGJsb2NrU2NvcGUtPnNldElzTGV4aWNhbFNjb3BlKCk7CisgICAgYmxvY2tTY29wZS0+cHJldmVu
dFZhckRlY2xhcmF0aW9ucygpOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgIGludCBzdGFydCA9IHRva2VuTGluZSgpOworCisgICAgVHJlZVN0YXRl
bWVudCBmdW5jdGlvbiA9IDA7CisgICAgaWYgKCFpc0FzeW5jKQorICAgICAgICBmdW5jdGlvbiA9
IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0KTsKKyAgICBlbHNlCisgICAgICAgIGZ1
bmN0aW9uID0gcGFyc2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oY29udGV4dCk7CisgICAgcHJv
cGFnYXRlRXJyb3IoKTsKKyAgICBmYWlsSWZGYWxzZShmdW5jdGlvbiwgIkV4cGVjdGVkIHZhbGlk
IGZ1bmN0aW9uIHN0YXRlbWVudCBhZnRlciAnZnVuY3Rpb24nIGtleXdvcmQiKTsKKyAgICBUcmVl
U291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1l
bnRzKCk7CisgICAgY29udGV4dC5hcHBlbmRTdGF0ZW1lbnQoc291cmNlRWxlbWVudHMsIGZ1bmN0
aW9uKTsKKyAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQmxvY2tTdGF0
ZW1lbnQobG9jYXRpb24sIHNvdXJjZUVsZW1lbnRzLCBzdGFydCwgbV9sYXN0VG9rZW5FbmRQb3Np
dGlvbi5saW5lLCBjdXJyZW50U2NvcGUoKS0+ZmluYWxpemVMZXhpY2FsRW52aXJvbm1lbnQoKSwg
Y3VycmVudFNjb3BlKCktPnRha2VGdW5jdGlvbkRlY2xhcmF0aW9ucygpKTsKKyAgICBwb3BTY29w
ZShibG9ja1Njb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjptYXliZVBhcnNl
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBU
cmVlU3RhdGVtZW50JiByZXN1bHQsIGJvb2wgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlv
bkFzU3RhdGVtZW50KQoreworICAgIEFTU0VSVCgqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpOworICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgaWYgKG1hdGNoKEZVTkNUSU9OKSAmJiAh
bV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICBjb25zdCBib29sIGlzQXN5bmMg
PSB0cnVlOworICAgICAgICByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1l
bnQoY29udGV4dCwgaXNBc3luYywgcGFyZW50QWxsb3dzRnVuY3Rpb25EZWNsYXJhdGlvbkFzU3Rh
dGVtZW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZVBvaW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgVHJl
ZUZvcm1hbFBhcmFtZXRlckxpc3QgbGlzdCwgdW5zaWduZWQmIHBhcmFtZXRlckNvdW50KQogewog
I2RlZmluZSBmYWlsSWZEdXBsaWNhdGVJZlZpb2xhdGlvbigpIFwKQEAgLTE3NjYsNiArMTg2MCw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCCiAgICAgICAgIAogICAgICAgICBpZiAobWF0Y2go
RE9URE9URE9UKSkgewogICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKCFtX3BhcnNlclN0YXRlLmFsbG93QXdhaXQgJiYgbWF0Y2goQVdBSVQpLCAiQ2Fu
J3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIp
OwogICAgICAgICAgICAgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGRlc3RydWN0dXJpbmdQYXR0
ZXJuID0gcGFyc2VEZXN0cnVjdHVyaW5nUGF0dGVybihjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2lu
ZDo6RGVzdHJ1Y3R1cmVUb1BhcmFtZXRlcnMsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCAmZHVw
bGljYXRlUGFyYW1ldGVyLCAmaGFzRGVzdHJ1Y3R1cmluZ1BhdHRlcm4pOwogICAgICAgICAgICAg
cHJvcGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHBhcmFtZXRlciA9IGNvbnRleHQuY3JlYXRl
UmVzdFBhcmFtZXRlcihkZXN0cnVjdHVyaW5nUGF0dGVybiwgcGFyYW1ldGVyQ291bnQpOwpAQCAt
MTgzMyw2ICsxOTI4LDE0IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiAiZ2VuZXJhdG9yIGZ1bmN0
aW9uIjsKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6CiAgICAg
ICAgIHJldHVybiAiYXJyb3cgZnVuY3Rpb24iOworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Z1bmN0aW9uTW9kZToKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bkJvZHlNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIGZ1bmN0aW9uIjsKKyAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6QXN5bmNNZXRob2RNb2RlOgorICAgICAgICByZXR1cm4gImFzeW5jIG1l
dGhvZCI7CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlN
b2RlOgorICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgor
ICAgICAgICByZXR1cm4gImFzeW5jIGFycm93IGZ1bmN0aW9uIjsKICAgICBjYXNlIFNvdXJjZVBh
cnNlTW9kZTo6UHJvZ3JhbU1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFu
YWx5emVNb2RlOgogICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6
CkBAIC0xODQ1LDEyICsxOTQ4LDEyIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUoU291cmNlUGFyc2VNb2RlIG1vZGUpCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlciwgY2xhc3MgRnVuY3Rpb25JbmZvVHlw
ZT4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3Vy
Y2VQYXJzZU1vZGUgbW9kZSwgRnVuY3Rpb25JbmZvVHlwZSYgZnVuY3Rpb25JbmZvKQogewotICAg
IFJFTEVBU0VfQVNTRVJUKG1vZGUgIT0gU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSAmJiBt
b2RlICE9IFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUgJiYgbW9kZSAhPSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIShT
b3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZSwgU291cmNlUGFy
c2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0
ZU1vZGUpLmNvbnRhaW5zKG1vZGUpKSk7CiAgICAgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFy
YW1ldGVyTGlzdCA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdCgpOwogICAgIFNl
dEZvclNjb3BlPEZ1bmN0aW9uUGFyc2VQaGFzZT4gZnVuY3Rpb25QYXJzZVBoYXNlUG9pc29uZXIo
bV9wYXJzZXJTdGF0ZS5mdW5jdGlvblBhcnNlUGhhc2UsIEZ1bmN0aW9uUGFyc2VQaGFzZTo6UGFy
YW1ldGVycyk7CiAgICAgCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1
bmN0aW9uTW9kZSkgewotICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBB
UkVOKSkgeworICAgIGlmIChVTkxJS0VMWSgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNl
TW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0
aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgeworICAgICAgICBpZiAoIW1hdGNoU3BlY0lkZW50
aWZpZXIoKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CiAg
ICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlu
cHV0IHBhcmFtZXRlciIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTk0MSw3ICsyMDQ0LDkgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3Vy
cmVudFNjb3BlKCk7CiAKLSAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRT
Y29wZSgpLT5pc0dlbmVyYXRvcigpOworICAgIGJvb2wgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlv
bk5hbWUgPSBpc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbik7CisgICAgY29uc3Qg
Y2hhciogaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBpc0Rpc2FsbG93ZWRB
d2FpdEZ1bmN0aW9uTmFtZSA/IGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSA6IG51
bGxwdHI7CisKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2Nv
cGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNlUGFyc2VNb2RlKG1vZGUpOwogICAg
IGZ1bmN0aW9uU2NvcGUtPnNldEV4cGVjdGVkU3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5k
aW5nKTsKQEAgLTE5ODMsNyArMjA4OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
ICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGlu
ZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgRnVuY3Rpb25Cb2R5VHlw
ZSBmdW5jdGlvbkJvZHlUeXBlOwotICAgICAgICAgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWShTb3VyY2VQ
YXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwgU291cmNlUGFy
c2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2RlKSkpCiAgICAgICAg
ICAgICAgICAgZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVz
c2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGZ1bmN0aW9uQm9keVR5cGUg
PSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwpAQCAtMjAyNiw3ICsyMTMxLDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgIFN5bnRheENoZWNrZXIgc3ludGF4Q2hlY2tlcihjb25z
dF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwogCi0gICAgaWYgKG1vZGUgPT0gU291
cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSkgeworICAgIGlmIChVTkxJS0VMWSgoU291
cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkpKSkgewog
ICAgICAgICBzdGFydExvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwogICAgICAgICBmdW5jdGlv
bkluZm8uc3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CiAgICAgICAgIHN0YXJ0Q29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKQEAgLTIwNDEsNyArMjE0Niw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFBhcnNlIGZvcm1hbCBwYXJhbWV0ZXJzIHdpdGgg
WytZaWVsZF0gcGFyYW1ldGVyaXphdGlvbiwgaW4gb3JkZXIgdG8gYmFuIFlpZWxkRXhwcmVzc2lv
bnMKICAgICAgICAgICAgIC8vIGluIEFycm93Rm9ybWFsUGFyYW1ldGVycywgcGVyIEVTNiAjc2Vj
LWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3Jz
LgotICAgICAgICAgICAgU2NvcGU6Ok1heWJlUGFyc2VBc0dlbmVyYXRvckZvclNjb3BlIHBhcnNl
QXNHZW5lcmF0b3IoZnVuY3Rpb25TY29wZSwgdXBwZXJTY29wZUlzR2VuZXJhdG9yKTsKKyAgICAg
ICAgICAgIFNjb3BlOjpNYXliZVBhcnNlQXNHZW5lcmF0b3JGb3JTY29wZSBwYXJzZUFzR2VuZXJh
dG9yKGZ1bmN0aW9uU2NvcGUsIHBhcmVudFNjb3BlLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAg
ICAgIFNldEZvclNjb3BlPGJvb2w+IG92ZXJyaWRlQWxsb3dBd2FpdChtX3BhcnNlclN0YXRlLmFs
bG93QXdhaXQsICFpc0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUobW9kZSkpOwogICAgICAgICAgICAg
cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZv
KTsKICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgICAgIH0KQEAgLTIwNzMsMjEg
KzIxNzksMjggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgLy8gR2VuZXJhdG9y
RXhwcmVzc2lvbiA6CiAgICAgICAgIC8vICAgICBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVy
W1lpZWxkXW9wdCAoIEZvcm1hbFBhcmFtZXRlcnNbWWllbGRdICkgeyBHZW5lcmF0b3JCb2R5IH0K
ICAgICAgICAgLy8KLSAgICAgICAgLy8gVGhlIG5hbWUgb2YgRnVuY3Rpb25FeHByZXNzaW9uIGNh
biBhY2NlcHQgInlpZWxkIiBldmVuIGluIHRoZSBjb250ZXh0IG9mIGdlbmVyYXRvci4KLSAgICAg
ICAgaWYgKGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6
RXhwcmVzc2lvbiAmJiBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2Rl
KQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gZmFsc2U7CisgICAgICAgIC8v
IFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5bmNGdW5jdGlvbkV4cHJlc3Np
b24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXJhdG9yLgor
ICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZhbHNlOworICAgICAgICBpZiAo
IShmdW5jdGlvbkRlZmluaXRpb25UeXBlID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJl
c3Npb24gJiYgU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rp
b25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlKS5jb250YWlucyhtb2Rl
KSkpCisgICAgICAgICAgICB1cHBlclNjb3BlSXNHZW5lcmF0b3IgPSB1cHBlclNjb3BlKDEpLT5p
c0dlbmVyYXRvcigpOwogCiAgICAgICAgIGlmIChyZXF1aXJlbWVudHMgIT0gRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpVbm5hbWVkKSB7CiAgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCEocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50czo6Tm9uZSAmJiAhZnVu
Y3Rpb25JbmZvLm5hbWUpLCAiV2hlbiBzcGVjaWZ5aW5nIEZ1bmN0aW9uTmFtZVJlcXVpcmVtZW50
czo6Tm9uZSwgd2UgbmVlZCB0byBpbml0aWFsaXplIGZ1bmN0aW9uSW5mby5uYW1lIHdpdGggdGhl
IGRlZmF1bHQgdmFsdWUgaW4gdGhlIGNhbGxlciBzaWRlLiIpOwogICAgICAgICAgICAgaWYgKG1h
dGNoU3BlY0lkZW50aWZpZXIodXBwZXJTY29wZUlzR2VuZXJhdG9yKSkgewogICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgICAg
ICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1lID0gZnVuY3Rpb25JbmZvLm5hbWU7
CisgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25O
YW1lKSkKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGZ1bmN0aW9uRGVm
aW5pdGlvblR5cGUgPT0gRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RGVjbGFyYXRpb24gfHwgaXNB
c3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0
aW9uIG5hbWVkICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24p
OworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJzZU1v
ZGUobW9kZSkgJiYgbWF0Y2goQVdBSVQpICYmIGZ1bmN0aW9uRGVmaW5pdGlvblR5cGUgPT0gRnVu
Y3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikKKyAgICAgICAgICAgICAgICAgICAgc2Vt
YW50aWNGYWlsKCJDYW5ub3QgZGVjbGFyZSBhc3luYyBmdW5jdGlvbiBuYW1lZCAnYXdhaXQnIik7
CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgICAgIGlmICghbmFtZUlzSW5D
b250YWluaW5nU2NvcGUpCiAgICAgICAgICAgICAgICAgICAgIGZhaWxJZlRydWVJZlN0cmljdChm
dW5jdGlvblNjb3BlLT5kZWNsYXJlQ2FsbGVlKGZ1bmN0aW9uSW5mby5uYW1lKSAmIERlY2xhcmF0
aW9uUmVzdWx0OjpJbnZhbGlkU3RyaWN0TW9kZSwgIiciLCBmdW5jdGlvbkluZm8ubmFtZS0+aW1w
bCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
bmFtZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVu
dHMgPT0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpOYW1lZCkgewotICAgICAgICAgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxG
dW5jdGlvbk1vZGUpCi0gICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24g
c3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisgICAgICAgICAgICAgICAgaWYgKG1hdGNo
KE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1v
ZGUgPT0gU291cmNlUGFyc2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGUsICJGdW5jdGlvbiBzdGF0
ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSwgIkFz
eW5jIGZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOworICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgICAgICAgICBmYWlsRHVl
VG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0y
MTA1LDggKzIyMTgsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBpZiAo
bG9hZENhY2hlZEZ1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
cGFyc2VGdW5jdGlvblBhcmFtZXRlcnMoc3ludGF4Q2hlY2tlciwgbW9kZSwgZnVuY3Rpb25JbmZv
KTsKLSAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgeworICAgICAgICAgICAgU2V0
Rm9yU2NvcGU8Ym9vbD4gb3ZlcnJpZGVBbGxvd0F3YWl0KG1fcGFyc2VyU3RhdGUuYWxsb3dBd2Fp
dCwgIWlzQXN5bmNGdW5jdGlvblBhcnNlTW9kZShtb2RlKSk7CisgICAgICAgICAgICBwYXJzZUZ1
bmN0aW9uUGFyYW1ldGVycyhzeW50YXhDaGVja2VyLCBtb2RlLCBmdW5jdGlvbkluZm8pOworICAg
ICAgICAgICAgcHJvcGFnYXRlRXJyb3IoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAg
bWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0
YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKICAgICAg
ICAgCkBAIC0yMTUzLDkgKzIyNjksMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAg
ICAgcmV0dXJuIHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIHN5bnRheENoZWNrZXIsIHN0YXJ0
TG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBleHBlY3RlZFN1cGVyQmlu
ZGluZywgZnVuY3Rpb25Cb2R5VHlwZSwgZnVuY3Rpb25JbmZvLnBhcmFtZXRlckNvdW50LCBtb2Rl
KTsKICAgICB9OwogCi0gICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JX
cmFwcGVyRnVuY3Rpb25Nb2RlKSB7CisgICAgaWYgKG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpH
ZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIHx8IGlzQXN5bmNGdW5jdGlvbldyYXBwZXJQYXJz
ZU1vZGUobW9kZSkpIHsKICAgICAgICAgQXV0b1BvcFNjb3BlUmVmIGdlbmVyYXRvckJvZHlTY29w
ZSh0aGlzLCBwdXNoU2NvcGUoKSk7Ci0gICAgICAgIGdlbmVyYXRvckJvZHlTY29wZS0+c2V0U291
cmNlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUpOworICAgICAg
ICBTb3VyY2VQYXJzZU1vZGUgaW5uZXJQYXJzZU1vZGUgPSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVy
YXRvckJvZHlNb2RlOworICAgICAgICBpZiAoaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9k
ZShtb2RlKSkgeworICAgICAgICAgICAgaW5uZXJQYXJzZU1vZGUgPSBtb2RlID09IFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZQorICAgICAgICAgICAgICAgID8gU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZQorICAgICAgICAgICAgICAgIDog
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU7CisgICAgICAgIH0KKyAgICAg
ICAgZ2VuZXJhdG9yQm9keVNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUoaW5uZXJQYXJzZU1vZGUp
OwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldENvbnN0cnVjdG9yS2luZChDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUpOwogICAgICAgICBnZW5lcmF0b3JCb2R5U2NvcGUtPnNldEV4cGVjdGVk
U3VwZXJCaW5kaW5nKGV4cGVjdGVkU3VwZXJCaW5kaW5nKTsKIApAQCAtMjE3NCw3ICsyMjk2LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChmdW5j
dGlvbkluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICBpZiAoZnVuY3Rp
b25TY29wZS0+c3RyaWN0TW9kZSgpICYmIHJlcXVpcmVtZW50cyAhPSBGdW5jdGlvbk5hbWVSZXF1
aXJlbWVudHM6OlVubmFtZWQpIHsKICAgICAgICAgQVNTRVJUKGZ1bmN0aW9uSW5mby5uYW1lKTsK
LSAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1
bmN0aW9uTW9kZSB8fCBtb2RlID09IFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZSB8fCBtb2Rl
ID09IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUgfHwgbW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlIHx8IG1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpH
ZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoU291
cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlLCBTb3Vy
Y2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1v
ZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6
R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSkuY29udGFpbnMobW9kZSkgfHwgaXNBc3luY0Z1
bmN0aW9uV3JhcHBlclBhcnNlTW9kZShtb2RlKSk7CiAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1
ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAi
JyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9u
IG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0t
PnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmZ1bmN0aW9uSW5mby5uYW1lLCAiJyIsIGZ1bmN0aW9u
SW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3Ry
aWN0IG1vZGUiKTsKICAgICB9CkBAIC0yMjg5LDYgKzI0MTEsNjAgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uRGVjbGEKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEV4cG9ydFR5cGUg
ZXhwb3J0VHlwZSwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCBkZWNsYXJhdGlvbkRlZmF1bHRD
b250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChGVU5DVElPTikpOworICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgIG5leHQoKTsKKyAgICBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+IGZ1bmN0aW9uSW5mbzsKKyAgICBTb3VyY2VQYXJzZU1vZGUgcGFy
c2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZTsKKyAgICBGdW5jdGlv
bk5hbWVSZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzID0gRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRz
OjpOYW1lZDsKKyAgICBpZiAoZGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dCA9PSBEZWNsYXJhdGlv
bkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KSB7CisgICAgICAgIC8vIFVuZGVyIHRoZSAi
ZXhwb3J0IGRlZmF1bHQiIGNvbnRleHQsIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGRvZXMgbm90IHJl
cXVpcmUgdGhlIGZ1bmN0aW9uIG5hbWUuCisgICAgICAgIC8vCisgICAgICAgIC8vICAgICBFeHBv
cnREZWNsYXJhdGlvbjoKKyAgICAgICAgLy8gICAgICAgICAuLi4KKyAgICAgICAgLy8gICAgICAg
ICBleHBvcnQgZGVmYXVsdCBIb2lzdGFibGVEZWNsYXJhdGlvblt+WWllbGQsICtEZWZhdWx0XQor
ICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLworICAgICAgICAvLyAgICAgSG9pc3Rh
YmxlRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgorICAgICAgICAvLyAgICAgICAgIEZ1bmN0
aW9uRGVjbGFyYXRpb25bP1lpZWxkLCA/RGVmYXVsdF0KKyAgICAgICAgLy8gICAgICAgICBHZW5l
cmF0b3JEZWNsYXJhdGlvbls/WWllbGQsID9EZWZhdWx0XQorICAgICAgICAvLworICAgICAgICAv
LyAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbltZaWVsZCwgRGVmYXVsdF06CisgICAgICAgIC8vICAg
ICAgICAgLi4uCisgICAgICAgIC8vICAgICAgICAgWytEZWZhdWx0XSBmdW5jdGlvbiAoIEZvcm1h
bFBhcmFtZXRlcnNbfllpZWxkXSApIHsgRnVuY3Rpb25Cb2R5W35ZaWVsZF0gfQorICAgICAgICAv
LworICAgICAgICAvLyAgICAgR2VuZXJhdG9yRGVjbGFyYXRpb25bWWllbGQsIERlZmF1bHRdOgor
ICAgICAgICAvLyAgICAgICAgIC4uLgorICAgICAgICAvLyAgICAgICAgIFsrRGVmYXVsdF0gZnVu
Y3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnNbK1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9Cisg
ICAgICAgIC8vCisgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UgdXNlICIqZGVmYXVsdCoiIGFz
IHRoaXMgZnVuY3Rpb24gZGVjbGFyYXRpb24ncyBuYW1lLgorICAgICAgICByZXF1aXJlbWVudHMg
PSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmU7CisgICAgICAgIGZ1bmN0aW9uSW5mby5u
YW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnN0YXJEZWZhdWx0UHJp
dmF0ZU5hbWUoKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgcmVxdWlyZW1lbnRzLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5j
dGlvbkluZm8sIEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkRlY2xhcmF0aW9uKSksICJDYW5ub3Qg
cGFyc2UgdGhpcyBhc3luYyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKGZ1bmN0aW9uSW5m
by5uYW1lLCAiQXN5bmMgZnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CisK
KyAgICBzdGQ6OnBhaXI8RGVjbGFyYXRpb25SZXN1bHRNYXNrLCBTY29wZVJlZj4gZnVuY3Rpb25E
ZWNsYXJhdGlvbiA9IGRlY2xhcmVGdW5jdGlvbihmdW5jdGlvbkluZm8ubmFtZSk7CisgICAgRGVj
bGFyYXRpb25SZXN1bHRNYXNrIGRlY2xhcmF0aW9uUmVzdWx0ID0gZnVuY3Rpb25EZWNsYXJhdGlv
bi5maXJzdDsKKyAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNs
YXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1vZGUsICJDYW5ub3QgZGVjbGFyZSBhbiBhc3lu
YyBmdW5jdGlvbiBuYW1lZCAnIiwgZnVuY3Rpb25JbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgJiBEZWNsYXJhdGlvblJlc3Vs
dDo6SW52YWxpZER1cGxpY2F0ZURlY2xhcmF0aW9uKQorICAgICAgICBpbnRlcm5hbEZhaWxXaXRo
TWVzc2FnZShmYWxzZSwgIkNhbm5vdCBkZWNsYXJlIGFuIGFzeW5jIGZ1bmN0aW9uIHRoYXQgc2hh
ZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAnIiwgZnVuY3Rpb25JbmZv
Lm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICBpZiAoZXhwb3J0VHlwZSA9
PSBFeHBvcnRUeXBlOjpFeHBvcnRlZCkgeworICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGV4
cG9ydE5hbWUoKmZ1bmN0aW9uSW5mby5uYW1lKSwgIkNhbm5vdCBleHBvcnQgYSBkdXBsaWNhdGUg
ZnVuY3Rpb24gbmFtZTogJyIsIGZ1bmN0aW9uSW5mby5uYW1lLT5pbXBsKCksICInIik7CisgICAg
ICAgIG1fbW9kdWxlU2NvcGVEYXRhLT5leHBvcnRCaW5kaW5nKCpmdW5jdGlvbkluZm8ubmFtZSk7
CisgICAgfQorCisgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUZ1bmNE
ZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworICAgIGlmIChUcmVlQnVpbGRl
cjo6Q3JlYXRlc0FTVCkKKyAgICAgICAgZnVuY3Rpb25EZWNsYXJhdGlvbi5zZWNvbmQtPmFwcGVu
ZEZ1bmN0aW9uKGdldE1ldGFkYXRhKGZ1bmN0aW9uSW5mbykpOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3NEZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCwgRXhwb3J0VHlwZSBleHBvcnRUeXBlLCBEZWNs
YXJhdGlvbkRlZmF1bHRDb250ZXh0IGRlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQpCiB7CiAgICAg
QVNTRVJUKG1hdGNoKENMQVNTVE9LRU4pKTsKQEAgLTI0MDUsOCArMjU4MSwxMiBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICBib29sIGlzR2V0dGVyID0gZmFsc2U7CiAgICAgICAg
IGJvb2wgaXNTZXR0ZXIgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0dlbmVyYXRvciA9IGZhbHNl
OworICAgICAgICBib29sIGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICAgICAgaWYgKGNvbnN1
bWUoVElNRVMpKQogICAgICAgICAgICAgaXNHZW5lcmF0b3IgPSB0cnVlOworCitVTlVTRURfTEFC
RUwocGFyc2VNZXRob2QpOworcGFyc2VNZXRob2Q6CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5t
X3R5cGUpIHsKICAgICAgICAgbmFtZWRLZXl3b3JkOgogICAgICAgICBjYXNlIFNUUklORzoKQEAg
LTI0MTUsMTIgKzI1OTUsMjAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xh
c3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAg
IG5leHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIElERU5UOgorICAgICAg
ICBjYXNlIEFXQUlUOgogICAgICAgICAgICAgaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
ICAgICAgICAgICAgIEFTU0VSVChpZGVudCk7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAg
ICAgICBpZiAoIWlzR2VuZXJhdG9yICYmIChtYXRjaElkZW50aWZpZXJPcktleXdvcmQoKSB8fCBt
YXRjaChTVFJJTkcpIHx8IG1hdGNoKERPVUJMRSkgfHwgbWF0Y2goSU5URUdFUikgfHwgbWF0Y2go
T1BFTkJSQUNLRVQpKSkgeworICAgICAgICAgICAgaWYgKCFpc0dlbmVyYXRvciAmJiAhaXNBc3lu
Y01ldGhvZCAmJiAobWF0Y2hJZGVudGlmaWVyT3JLZXl3b3JkKCkgfHwgbWF0Y2goU1RSSU5HKSB8
fCBtYXRjaChET1VCTEUpIHx8IG1hdGNoKElOVEVHRVIpIHx8IG1hdGNoKE9QRU5CUkFDS0VUKSkp
IHsKICAgICAgICAgICAgICAgICBpc0dldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmdl
dDsKICAgICAgICAgICAgICAgICBpc1NldHRlciA9ICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLnNl
dDsKKworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKCppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmFzeW5jICYmICFtX2xl
eGVyLT5wcmV2VGVybWluYXRvcigpICYmICFpc0FzeW5jTWV0aG9kKSkgeworICAgICAgICAgICAg
ICAgICAgICBpc0FzeW5jTWV0aG9kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBw
YXJzZU1ldGhvZDsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIERPVUJMRToKQEAgLTI0NTIsNyArMjY0MCwx
MiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgICAgICAgICAgYm9vbCBpc0NvbnN0cnVj
dG9yID0gIWlzU3RhdGljTWV0aG9kICYmICppZGVudCA9PSBwcm9wZXJ0eU5hbWVzLmNvbnN0cnVj
dG9yOwogICAgICAgICAgICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNl
TW9kZTo6TWV0aG9kTW9kZTsKLSAgICAgICAgICAgIGlmIChpc0dlbmVyYXRvcikgeworICAgICAg
ICAgICAgaWYgKGlzQXN5bmNNZXRob2QpIHsKKyAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9y
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFyc2VNb2RlOjpB
c3luY01ldGhvZE1vZGU7CisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKCppZGVu
dCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsICJDYW5ub3QgZGVjbGFyZSBhbiBh
c3luYyBtZXRob2QgbmFtZWQgJ3Byb3RvdHlwZSciKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRp
Y0ZhaWxJZlRydWUoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCAi
Q2Fubm90IGRlY2xhcmUgYW4gYXN5bmMgbWV0aG9kIG5hbWVkICdjb25zdHJ1Y3RvciciKTsKKyAg
ICAgICAgICAgIH0gZWxzZSBpZiAoaXNHZW5lcmF0b3IpIHsKICAgICAgICAgICAgICAgICBpc0Nv
bnN0cnVjdG9yID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgcGFyc2VNb2RlID0gU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlOwogICAgICAgICAgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
LCAiQ2Fubm90IGRlY2xhcmUgYSBnZW5lcmF0b3IgbmFtZWQgJ3Byb3RvdHlwZSciKTsKQEAgLTI1
MzUsNiArMjcyOCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbk9yTAogICAgICAgICAgICAgICAg
IGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlRXhwclN0YXRlbWVudChsb2NhdGlvbiwgZXhwcmVzc2lvbiwgc3RhcnQsIG1fbGFzdFRv
a2VuRW5kUG9zaXRpb24ubGluZSk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoVU5MSUtFTFko
bWF0Y2goQVdBSVQpKSkKKyAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2FsbG93
ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW4ndCB1c2UgJ2F3YWl0JyBhcyBhIGxhYmVs
ICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CisKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUZXh0
UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICBuZXh0KCk7CkBAIC0y
NzMxLDcgKzI5MjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRy
ZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzKSwgIkV4
cGVjdGVkICdhcycgYmVmb3JlIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIpOwogICAgICAgICBuZXh0
KCk7CiAKLSAgICAgICAgbWF0Y2hPckZhaWwoSURFTlQsICJFeHBlY3RlZCBhIHZhcmlhYmxlIG5h
bWUgZm9yIHRoZSBpbXBvcnQgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UobWF0
Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaW1w
b3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgIGxvY2FsTmFtZVRva2VuID0gbV90b2tlbjsKICAg
ICAgICAgbG9jYWxOYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG5leHQoKTsK
QEAgLTI3NTMsNyArMjk1MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5h
bWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNwZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAKICAgICAgICAg
aWYgKG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92bS0+cHJvcGVydHlOYW1lcy0+YXMpKSB7CiAg
ICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVj
dGVkIGEgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGltcG9ydCBkZWNsYXJhdGlvbiIpOworICAgICAg
ICAgICAgZmFpbElmRmFsc2UobWF0Y2hTcGVjSWRlbnRpZmllcigpLCAiRXhwZWN0ZWQgYSB2YXJp
YWJsZSBuYW1lIGZvciB0aGUgaW1wb3J0IGRlY2xhcmF0aW9uIik7CiAgICAgICAgICAgICBsb2Nh
bE5hbWVUb2tlbiA9IG1fdG9rZW47CiAgICAgICAgICAgICBsb2NhbE5hbWUgPSBtX3Rva2VuLm1f
ZGF0YS5pZGVudDsKICAgICAgICAgICAgIG5leHQoKTsKQEAgLTI3NjQsNyArMjk2MSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkltcG9ydFNw
ZWNpZmllciBQYXJzZXI8TGV4ZXJUCiAgICAgY2FzZSBJbXBvcnRTcGVjaWZpZXJUeXBlOjpEZWZh
dWx0SW1wb3J0OiB7CiAgICAgICAgIC8vIEltcG9ydGVkRGVmYXVsdEJpbmRpbmcgOgogICAgICAg
ICAvLyBJbXBvcnRlZEJpbmRpbmcKLSAgICAgICAgQVNTRVJUKG1hdGNoKElERU5UKSk7CisgICAg
ICAgIEFTU0VSVChtYXRjaFNwZWNJZGVudGlmaWVyKCkpOwogICAgICAgICBsb2NhbE5hbWVUb2tl
biA9IG1fdG9rZW47CiAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owog
ICAgICAgICBpbXBvcnRlZE5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+ZGVmYXVsdEtleXdv
cmQ7CkBAIC0yNzczLDYgKzI5NzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5
cGVuYW1lIFRyZWVCdWlsZGVyOjpJbXBvcnRTcGVjaWZpZXIgUGFyc2VyPExleGVyVAogICAgIH0K
ICAgICB9CiAKKyAgICBzZW1hbnRpY0ZhaWxJZlRydWUobG9jYWxOYW1lVG9rZW4ubV90eXBlID09
IEFXQUlULCAiQ2Fubm90IHVzZSAnYXdhaXQnIGFzIGFuIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIp
OwogICAgIHNlbWFudGljRmFpbElmVHJ1ZShsb2NhbE5hbWVUb2tlbi5tX3R5cGUgJiBLZXl3b3Jk
VG9rZW5GbGFnLCAiQ2Fubm90IHVzZSBrZXl3b3JkIGFzIGltcG9ydGVkIGJpbmRpbmcgbmFtZSIp
OwogICAgIERlY2xhcmF0aW9uUmVzdWx0TWFzayBkZWNsYXJhdGlvblJlc3VsdCA9IGRlY2xhcmVW
YXJpYWJsZShsb2NhbE5hbWUsIERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiwgKHNw
ZWNpZmllclR5cGUgPT0gSW1wb3J0U3BlY2lmaWVyVHlwZTo6TmFtZXNwYWNlSW1wb3J0KSA/IERl
Y2xhcmF0aW9uSW1wb3J0VHlwZTo6SW1wb3J0ZWROYW1lc3BhY2UgOiBEZWNsYXJhdGlvbkltcG9y
dFR5cGU6OkltcG9ydGVkKTsKICAgICBpZiAoZGVjbGFyYXRpb25SZXN1bHQgIT0gRGVjbGFyYXRp
b25SZXN1bHQ6OlZhbGlkKSB7CkBAIC0yODAzLDcgKzMwMDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW1wb3J0
RGVjbGFyYQogICAgIH0KIAogICAgIGJvb2wgaXNGaW5pc2hlZFBhcnNpbmdJbXBvcnQgPSBmYWxz
ZTsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7CisgICAgaWYgKG1hdGNoU3BlY0lkZW50aWZpZXIo
KSkgewogICAgICAgICAvLyBJbXBvcnRlZERlZmF1bHRCaW5kaW5nIDoKICAgICAgICAgLy8gSW1w
b3J0ZWRCaW5kaW5nCiAgICAgICAgIGF1dG8gc3BlY2lmaWVyID0gcGFyc2VJbXBvcnRDbGF1c2VJ
dGVtKGNvbnRleHQsIEltcG9ydFNwZWNpZmllclR5cGU6OkRlZmF1bHRJbXBvcnQpOwpAQCAtMjky
OCw2ICszMTI2LDIwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHBvcnREZWNsYXJhCiAgICAgICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdf
QVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGVsc2UgaWYgKFVOTElLRUxZKGlzSWRlbnRp
Zmllck9yS2V5d29yZChtX3Rva2VuKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+YXN5bmMpKSB7CisgICAgICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50
ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBp
ZiAobWF0Y2goRlVOQ1RJT04pICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSB7CisgICAg
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAgIGlmIChtYXRjaChJREVOVCkpCisg
ICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAg
ICAgICAgICAgICAgIGlzRnVuY3Rpb25PckNsYXNzRGVjbGFyYXRpb24gPSB0cnVlOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAg
ICB9CisjZW5kaWYKKwogICAgICAgICBpZiAoIWxvY2FsTmFtZSkKICAgICAgICAgICAgIGxvY2Fs
TmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5zdGFyRGVmYXVsdFBy
aXZhdGVOYW1lKCk7CiAKQEAgLTI5MzcsMTAgKzMxNDksMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cG9ydERl
Y2xhcmEKICAgICAgICAgICAgICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3Rh
dGVtZW50RGVwdGgpOwogICAgICAgICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOwogICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihjb250ZXh0LCBF
eHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25EZWZhdWx0Q29udGV4dDo6RXhwb3J0
RGVmYXVsdCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIEFTU0VSVCht
YXRjaChDTEFTU1RPS0VOKSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKENMQVNTVE9L
RU4pKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VDbGFzc0RlY2xhcmF0aW9uKGNv
bnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0
OjpFeHBvcnREZWZhdWx0KTsKICAgICAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5D
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQVNT
RVJUKG1hdGNoKElERU5UKSAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+YXN5bmMpOworICAgICAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAg
ICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgICAg
ICAgICAgICAgIG1fc3RhdGVtZW50RGVwdGggPSAxOworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6Ok5vdEV4
cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpFeHBvcnREZWZhdWx0KTsKKyAgICAg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gZXhwb3J0
IGRlZmF1bHQgZXhwcjsKICAgICAgICAgICAgIC8vCkBAIC0zMDU3LDkgKzMyNzcsMTggQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUV4cG9ydERlY2xhcmEKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1
bHQ6CisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAg
IGlmIChVTkxJS0VMWShpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4u
bV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSkgeworICAgICAgICAg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKG1hdGNo
KEZVTkNUSU9OKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSwgIkV4cGVjdGVkICdmdW5j
dGlvbicga2V5d29yZCBmb2xsb3dpbmcgJ2FzeW5jJyBrZXl3b3JkIHdpdGggbm8gcHJlY2VkaW5n
IGxpbmUgdGVybWluYXRvciIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uKGNvbnRleHQsIEV4cG9ydFR5cGU6OkV4cG9ydGVkKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICAgICAgZmFp
bFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBlaXRoZXIgYSBkZWNsYXJhdGlvbiBvciBhIHZhcmlhYmxl
IHN0YXRlbWVudCIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKwogICAgICAgICBm
YWlsSWZGYWxzZShyZXN1bHQsICJDYW5ub3QgcGFyc2UgdGhlIGRlY2xhcmF0aW9uIik7CiAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUV4cG9ydExvY2FsRGVjbGFyYXRpb24oZXhwb3J0TG9j
YXRpb24sIHJlc3VsdCk7CiAgICAgfQpAQCAtMzEyMSwzNCArMzM1MCw0OSBAQCB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUFzc2lnbm1lbgogICAgIEFTU0VSVCghaGFzRXJyb3IoKSk7CiAgICAgCiAgICAgZmFpbElm
U3RhY2tPdmVyZmxvdygpOworCisgICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAhaXNZSUVMRE1hc2tl
ZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpKQorICAgICAgICByZXR1cm4g
cGFyc2VZaWVsZEV4cHJlc3Npb24oY29udGV4dCk7CisKICAgICBKU1RleHRQb3NpdGlvbiBzdGFy
dCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBpbml0aWFsQXNzaWdubWVudENvdW50ID0gbV9wYXJz
ZXJTdGF0ZS5hc3NpZ25tZW50Q291bnQ7CiAgICAgaW50IGluaXRpYWxOb25MSFNDb3VudCA9IG1f
cGFyc2VyU3RhdGUubm9uTEhTQ291bnQ7CiAgICAgYm9vbCBtYXliZUFzc2lnbm1lbnRQYXR0ZXJu
ID0gbWF0Y2goT1BFTkJSQUNFKSB8fCBtYXRjaChPUEVOQlJBQ0tFVCk7CiAgICAgYm9vbCB3YXNP
cGVuUGFyZW4gPSBtYXRjaChPUEVOUEFSRU4pOwotICAgIGJvb2wgaXNWYWxpZEFycm93RnVuY3Rp
b25TdGFydCA9IG1hdGNoKE9QRU5QQVJFTikgfHwgbWF0Y2goSURFTlQpOworICAgIC8vIERvIG5v
dCB1c2UgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGhlcmUgc2luY2UgaXQgaXMgc2xvd2VyIHRoYW4g
aXNJZGVudGlmaWVyT3JLZXl3b3JkLgorICAgIC8vIFdoZXRoZXIgc3BlYyBpZGVudGlmaWVyIGlz
IHdpbGwgYmUgdmFsaWRhdGVkIGJ5IGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoKS4KKyAgICBi
b29sIHdhc0lkZW50aWZpZXJPcktleXdvcmQgPSBpc0lkZW50aWZpZXJPcktleXdvcmQobV90b2tl
bik7CisgICAgYm9vbCBtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ID0gd2FzT3BlblBhcmVu
IHx8IHdhc0lkZW50aWZpZXJPcktleXdvcmQ7CiAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOwogICAgIHNpemVfdCB1c2VkVmFyaWFibGVzU2l6ZSA9IDA7CisKKyNp
ZiAhRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKICAgICBpZiAod2FzT3BlblBh
cmVuKSB7CisjZWxzZQorICAgIGlmICh3YXNPcGVuUGFyZW4gfHwgKHdhc0lkZW50aWZpZXJPcktl
eXdvcmQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFz
eW5jKSkgeworI2VuZGlmCiAgICAgICAgIHVzZWRWYXJpYWJsZXNTaXplID0gY3VycmVudFNjb3Bl
KCktPmN1cnJlbnRVc2VkVmFyaWFibGVzU2l6ZSgpOwogICAgICAgICBjdXJyZW50U2NvcGUoKS0+
cHVzaFVzZWRWYXJpYWJsZVNldCgpOwogICAgIH0KIAotICAgIGlmIChtYXRjaChZSUVMRCkgJiYg
IWlzWUlFTERNYXNrZWRBc0lERU5UKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKSkKLSAg
ICAgICAgcmV0dXJuIHBhcnNlWWllbGRFeHByZXNzaW9uKGNvbnRleHQpOwotCiAgICAgVHJlZUV4
cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAKLSAg
ICBpZiAoaXNWYWxpZEFycm93RnVuY3Rpb25TdGFydCAmJiAhbWF0Y2goRU9GVE9LKSkgeworICAg
IGlmIChtYXliZVZhbGlkQXJyb3dGdW5jdGlvblN0YXJ0ICYmICFtYXRjaChFT0ZUT0spKSB7CiAg
ICAgICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uVG9rZW4gPSBtYXRjaChBUlJPV0ZVTkNUSU9OKTsK
ICAgICAgICAgaWYgKCFsaHMgfHwgaXNBcnJvd0Z1bmN0aW9uVG9rZW4pIHsKICAgICAgICAgICAg
IFNhdmVQb2ludFdpdGhFcnJvciBlcnJvclJlc3RvcmF0aW9uU2F2ZVBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50Rm9yRXJyb3IoKTsKICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50
KTsKKyAgICAgICAgICAgIGJvb2wgaXNBc3luY0Fycm93ID0gZmFsc2U7CisgICAgICAgICAgICBp
ZiAoVU5MSUtFTFkoY2xhc3NpZmllci5pbmRpY2F0ZXNQb3NzaWJsZUFzeW5jQXJyb3dGdW5jdGlv
bigpKSkgeworICAgICAgICAgICAgICAgIEFTU0VSVChtYXRjaENvbnRleHR1YWxLZXl3b3JkKG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jKSk7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgICAgIGlzQXN5bmNBcnJvdyA9ICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGlzQXJyb3dGdW5jdGlvblBhcmFtZXRlcnMo
KSkgewotICAgICAgICAgICAgICAgIGlmICh3YXNPcGVuUGFyZW4pCisgICAgICAgICAgICAgICAg
aWYgKHdhc09wZW5QYXJlbiB8fCBpc0FzeW5jQXJyb3cpCiAgICAgICAgICAgICAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT5yZXZlcnRUb1ByZXZpb3VzVXNlZFZhcmlhYmxlcyh1c2VkVmFyaWFibGVz
U2l6ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oY29udGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oY29udGV4dCwgaXNBc3luY0Fycm93KTsKICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnRXaXRoRXJyb3IoZXJyb3JSZXN0b3JhdGlvblNhdmVQb2ludCk7
CiAgICAgICAgICAgICBpZiAoaXNBcnJvd0Z1bmN0aW9uVG9rZW4pCkBAIC0zMjcyLDYgKzM1MTYs
MjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXdhaXRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQoreworICAgIEFTU0VSVChtYXRjaChBV0FJVCkpOworICAgIEFTU0VSVChjdXJyZW50U2NvcGUo
KS0+aXNBc3luY0Z1bmN0aW9uKCkpOworICAgIGZhaWxJZlRydWUobV9wYXJzZXJTdGF0ZS5mdW5j
dGlvblBhcnNlUGhhc2UgPT0gRnVuY3Rpb25QYXJzZVBoYXNlOjpQYXJhbWV0ZXJzLCAiQ2Fubm90
IHVzZSBhd2FpdCBleHByZXNzaW9uIHdpdGhpbiBwYXJhbWV0ZXJzIik7CisgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gZGl2
b3RTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIG5leHQoKTsKKyAgICBKU1RleHRQ
b3NpdGlvbiBhcmd1bWVudFN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgVHJlZUV4
cHJlc3Npb24gYXJndW1lbnQgPSBwYXJzZVVuYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBm
YWlsSWZGYWxzZShhcmd1bWVudCwgIkZhaWxlZCB0byBwYXJzZSBhd2FpdCBleHByZXNzaW9uIik7
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXdhaXQobG9jYXRpb24sIGFyZ3VtZW50LCBkaXZv
dFN0YXJ0LCBhcmd1bWVudFN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKK30KKwordGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ29uZGl0aW9uYWxFeHByZXNz
aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMzM4NCwxMSArMzY0MywxNiBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9w
ZXJ0eShUcmVlQgogICAgIGJvb2wgd2FzSWRlbnQgPSBmYWxzZTsKICAgICBib29sIGlzR2VuZXJh
dG9yID0gZmFsc2U7CiAgICAgYm9vbCBpc0NsYXNzUHJvcGVydHkgPSBmYWxzZTsKKyAgICBib29s
IGlzQXN5bmNNZXRob2QgPSBmYWxzZTsKICAgICBpZiAoY29uc3VtZShUSU1FUykpCiAgICAgICAg
IGlzR2VuZXJhdG9yID0gdHJ1ZTsKKworVU5VU0VEX0xBQkVMKHBhcnNlUHJvcGVydHkpOworcGFy
c2VQcm9wZXJ0eToKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgbmFtZWRQcm9w
ZXJ0eToKICAgICBjYXNlIElERU5UOgorICAgIGNhc2UgQVdBSVQ6CiAgICAgICAgIHdhc0lkZW50
ID0gdHJ1ZTsKICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBTVFJJTkc6IHsKQEAgLTMz
OTYsMTAgKzM2NjAsMTQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVy
dHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAgICAgICAgdW5zaWdu
ZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICAgICAgaWYg
KGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAhaXNHZW5lcmF0b3IgJiYgKCppZGVudCA9PSBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5nZXQgfHwgKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPnNl
dCkpKQogICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJl
c2VydmVkV29yZHMpOworI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGVsc2UgaWYgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvciAmJiAqaWRlbnQgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpCisgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmll
cihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CisjZW5kaWYKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVk
V29yZHMgfCBUcmVlQnVpbGRlcjo6RG9udEJ1aWxkS2V5d29yZHMpOwogCi0gICAgICAgIGlmICgh
aXNHZW5lcmF0b3IgJiYgbWF0Y2goQ09MT04pKSB7CisgICAgICAgIGlmICghaXNHZW5lcmF0b3Ig
JiYgIWlzQXN5bmNNZXRob2QgJiYgbWF0Y2goQ09MT04pKSB7CiAgICAgICAgICAgICBuZXh0KCk7
CiAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVz
c2lvbk9yUHJvcGFnYXRlRXJyb3JDbGFzcyhjb250ZXh0KTsKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiBmb3IgcHJvcGVydHkgZGVjbGFyYXRp
b24iKTsKQEAgLTM0MDgsMTEgKzM2NzYsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBh
dXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgaWRlbnQsIGlzR2VuZXJh
dG9yKTsKKyAgICAgICAgICAgIGF1dG8gbWV0aG9kID0gcGFyc2VQcm9wZXJ0eU1ldGhvZChjb250
ZXh0LCBpZGVudCwgaXNHZW5lcmF0b3IsIGlzQXN5bmNNZXRob2QpOwogICAgICAgICAgICAgcHJv
cGFnYXRlRXJyb3IoKTsKICAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVByb3BlcnR5
KGlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6S25v
d25EaXJlY3QsIGNvbXBsZXRlLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgaXNDbGFzc1Byb3BlcnR5
KTsKICAgICAgICAgfQotICAgICAgICBmYWlsSWZUcnVlKGlzR2VuZXJhdG9yLCAiRXhwZWN0ZWQg
YSBwYXJlbnRoZXNpcyBmb3IgYXJndW1lbnQgbGlzdCIpOworICAgICAgICBmYWlsSWZUcnVlKGlz
R2VuZXJhdG9yIHx8IGlzQXN5bmNNZXRob2QsICJFeHBlY3RlZCBhIHBhcmVudGhlc2lzIGZvciBh
cmd1bWVudCBsaXN0Iik7CiAKICAgICAgICAgZmFpbElmRmFsc2Uod2FzSWRlbnQsICJFeHBlY3Rl
ZCBhbiBpZGVudGlmaWVyIGFzIHByb3BlcnR5IG5hbWUiKTsKIApAQCAtMzQzNCw2ICszNzAyLDEz
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlO
b2RlOjpHZXR0ZXI7CiAgICAgICAgIGVsc2UgaWYgKCppZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5zZXQpCiAgICAgICAgICAgICB0eXBlID0gUHJvcGVydHlOb2RlOjpTZXR0ZXI7CisjaWYg
RU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgZWxzZSBpZiAoVU5M
SUtFTFkoKmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jICYmICFpc0dlbmVyYXRv
ciAmJiAhaXNBc3luY01ldGhvZCkpIHsKKyAgICAgICAgICAgIGlzQXN5bmNNZXRob2QgPSB0cnVl
OworICAgICAgICAgICAgZmFpbElmVHJ1ZShtX2xleGVyLT5wcmV2VGVybWluYXRvcigpLCAiRXhw
ZWN0ZWQgYSBwcm9wZXJ0eSBuYW1lIGZvbGxvd2luZyBrZXl3b3JkICdhc3luYyciKTsKKyAgICAg
ICAgICAgIGdvdG8gcGFyc2VQcm9wZXJ0eTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSAnOicgZm9sbG93aW5n
IHRoZSBwcm9wZXJ0eSBuYW1lICciLCBpZGVudC0+aW1wbCgpLCAiJyIpOwogICAgICAgICByZXR1
cm4gcGFyc2VHZXR0ZXJTZXR0ZXIoY29udGV4dCwgY29tcGxldGUsIHR5cGUsIGdldHRlck9yU2V0
dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgaXNDbGFzc1Byb3BlcnR5KTsK
QEAgLTM0NDUsMTEgKzM3MjAsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
UHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIAogICAgICAg
ICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgewogICAgICAgICAgICAgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQgPSBtX3BhcnNlckFyZW5hLmlkZW50aWZpZXJBcmVuYSgpLm1ha2VOdW1lcmljSWRlbnRp
Zmllcihjb25zdF9jYXN0PFZNKj4obV92bSksIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBh
dXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJmlkZW50LCBpc0dlbmVy
YXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29u
dGV4dCwgJmlkZW50LCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBw
cm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVy
dHkoJmlkZW50LCBtZXRob2QsIFByb3BlcnR5Tm9kZTo6Q29uc3RhbnQsIFByb3BlcnR5Tm9kZTo6
VW5rbm93biwgY29tcGxldGUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBpc0NsYXNzUHJvcGVydHkp
OwogICAgICAgICB9Ci0gICAgICAgIGZhaWxJZlRydWUoaXNHZW5lcmF0b3IsICJFeHBlY3RlZCBh
IHBhcmVudGhlc2lzIGZvciBhcmd1bWVudCBsaXN0Iik7CisgICAgICAgIGZhaWxJZlRydWUoaXNH
ZW5lcmF0b3IgfHwgaXNBc3luY01ldGhvZCwgIkV4cGVjdGVkIGEgcGFyZW50aGVzaXMgZm9yIGFy
Z3VtZW50IGxpc3QiKTsKIAogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQg
JzonIGFmdGVyIHByb3BlcnR5IG5hbWUiKTsKICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9
IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CkBAIC0zNDY0LDExICszNzM5LDEx
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgIGhhbmRsZVByb2R1Y3Rpb25PckZh
aWwoQ0xPU0VCUkFDS0VULCAiXSIsICJlbmQiLCAiY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwog
CiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICBhdXRvIG1ldGhv
ZCA9IHBhcnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51
bGxJZGVudGlmaWVyLCBpc0dlbmVyYXRvcik7CisgICAgICAgICAgICBhdXRvIG1ldGhvZCA9IHBh
cnNlUHJvcGVydHlNZXRob2QoY29udGV4dCwgJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVu
dGlmaWVyLCBpc0dlbmVyYXRvciwgaXNBc3luY01ldGhvZCk7CiAgICAgICAgICAgICBwcm9wYWdh
dGVFcnJvcigpOwogICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUHJvcGVydHkocHJv
cGVydHlOYW1lLCBtZXRob2QsIHN0YXRpY19jYXN0PFByb3BlcnR5Tm9kZTo6VHlwZT4oUHJvcGVy
dHlOb2RlOjpDb25zdGFudCB8IFByb3BlcnR5Tm9kZTo6Q29tcHV0ZWQpLCBQcm9wZXJ0eU5vZGU6
Oktub3duRGlyZWN0LCBjb21wbGV0ZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIGlzQ2xhc3NQcm9w
ZXJ0eSk7CiAgICAgICAgIH0KLSAgICAgICAgZmFpbElmVHJ1ZShpc0dlbmVyYXRvciwgIkV4cGVj
dGVkIGEgcGFyZW50aGVzaXMgZm9yIGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgICAgZmFpbElmVHJ1
ZShpc0dlbmVyYXRvciB8fCBpc0FzeW5jTWV0aG9kLCAiRXhwZWN0ZWQgYSBwYXJlbnRoZXNpcyBm
b3IgYXJndW1lbnQgbGlzdCIpOwogCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBl
Y3RlZCAnOicgYWZ0ZXIgcHJvcGVydHkgbmFtZSIpOwogICAgICAgICBUcmVlRXhwcmVzc2lvbiBu
b2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKQEAgLTM0ODMsMTMgKzM3
NTgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJvcGVydHkoVHJlZUIKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5lcmF0b3IpCit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yLCBib29sIGlzQXN5bmNNZXRob2QpCiB7
CiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAg
ICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1l
dGhvZE5hbWU7Ci0gICAgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSA9IGlzR2VuZXJhdG9yID8g
U291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25Nb2RlIDogU291cmNlUGFy
c2VNb2RlOjpNZXRob2RNb2RlOworICAgIFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUgPSBpc0dl
bmVyYXRvciA/IFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZSA6
IGlzQXN5bmNNZXRob2QgPyBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSA6IFNvdXJj
ZVBhcnNlTW9kZTo6TWV0aG9kTW9kZTsKICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkLCBwYXJzZU1vZGUs
IGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRo
b2RTdGFydCwgbWV0aG9kSW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6TWV0aG9kKSksICJD
YW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVNZXRo
b2REZWZpbml0aW9uKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTM3NTUsNiAr
NDAzMCwyMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRXhwcgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goRlVOQ1RJT04pKTsKKyAgICBKU1Rv
a2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBmdW5j
dGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICBuZXh0KCk7CisgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBmdW5jdGlvbkluZm87CisgICAgZnVuY3Rpb25JbmZv
Lm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgU291cmNl
UGFyc2VNb2RlIHBhcnNlTW9kZSA9IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU7
CisgICAgZmFpbElmRmFsc2UocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1l
UmVxdWlyZW1lbnRzOjpOb25lLCBwYXJzZU1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25JbmZvLCBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSwgIkNhbm5vdCBwYXJz
ZSBhc3luYyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBmdW5jdGlvbkluZm8pOworfQorCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiB0eXBlbmFtZSBU
cmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGVtcGxh
dGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIHR5cGVu
YW1lIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZSByYXdTdHJpbmdzQnVpbGRNb2RlLCBi
b29sJiBlbGVtZW50SXNUYWlsKQogewogICAgIGlmICghaXNUZW1wbGF0ZUhlYWQpIHsKQEAgLTM4
NDIsMTQgKzQxMzEsMjEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT5zZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzVGhpcygpOwogICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVUaGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQorICAgIGNhc2Ug
QVdBSVQ6CiAgICAgY2FzZSBJREVOVDogewogICAgIGlkZW50aWZpZXJFeHByZXNzaW9uOgogICAg
ICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAg
ICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICAgICAgbmV4
dCgpOwotICAgICAgICBpZiAoVU5MSUtFTFkobWF0Y2goQVJST1dGVU5DVElPTikpKQorICAgICAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCiAgICAgICAgICAgICByZXR1cm4gMDsKKworI2lm
IEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChVTkxJS0VM
WSgqaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMgJiYgbWF0Y2goRlVOQ1RJT04p
ICYmICFtX2xleGVyLT5wcmV2VGVybWluYXRvcigpKSkKKyAgICAgICAgICAgIHJldHVybiBwYXJz
ZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworI2VuZGlmCisKICAgICAgICAgY3Vy
cmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFs
ID09ICppZGVudCk7CiAgICAgICAgIG1fcGFyc2VyU3RhdGUubGFzdElkZW50aWZpZXIgPSBpZGVu
dDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgKmlkZW50
LCBzdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CkBAIC00MDI1LDYgKzQzMjEsMTAgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRU
b2tlbigpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgp
CisgICAgYm9vbCBiYXNlSXNBc3luY0tleXdvcmQgPSBmYWxzZTsKKyNlbmRpZgorCiAgICAgaWYg
KGJhc2VJc1N1cGVyKSB7CiAgICAgICAgIFNjb3BlUmVmIGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9u
U2NvcGUgPSBjbG9zZXN0UGFyZW50T3JkaW5hcnlGdW5jdGlvbk5vbkxleGljYWxTY29wZSgpOwog
ICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCkg
fHwgKGNsb3Nlc3RPcmRpbmFyeUZ1bmN0aW9uU2NvcGUtPmlzRXZhbENvbnRleHQoKSAmJiBjbG9z
ZXN0T3JkaW5hcnlGdW5jdGlvblNjb3BlLT5leHBlY3RlZFN1cGVyQmluZGluZygpID09IFN1cGVy
QmluZGluZzo6TmVlZGVkKSwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsK
QEAgLTQwNDIsOSArNDM0MiwyNiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU1lbWJlckV4cHJlcwogICAgICAgICAg
ICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShmdW5jdGlvblN1cGVyQmluZGluZyA9PSBTdXBlckJp
bmRpbmc6Ok5vdE5lZWRlZCwgInN1cGVyIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGNvbnRleHQiKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoIWJhc2VJc05ld1Rhcmdl
dCkKKyAgICB9IGVsc2UgaWYgKCFiYXNlSXNOZXdUYXJnZXQpIHsKKyNpZiBFTkFCTEUoRVMyMDE3
X0FTWU5DRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjb25zdCBib29sIGlzQXN5bmMgPSBpc0lk
ZW50aWZpZXJPcktleXdvcmQobV90b2tlbikgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFzeW5jOworI2VuZGlmCisKICAgICAgICAgYmFzZSA9IHBhcnNl
UHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CiAKKyNpZiBFTkFCTEUoRVMyMDE3X0FTWU5DRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJh
c2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaXNBc3luYyAmJiBjb250ZXh0LmlzUmVzb2x2
ZShiYXNlKSAmJiAhbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKSkgeworICAgICAgICAgICAgaWYg
KG1hdGNoU3BlY0lkZW50aWZpZXIoKSkgeworICAgICAgICAgICAgICAgIC8vIEFzeW5jQXJyb3dG
dW5jdGlvbgorICAgICAgICAgICAgICAgIGZvcmNlQ2xhc3NpZnlFeHByZXNzaW9uRXJyb3IoRXJy
b3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24pOworICAgICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYmFzZUlzQXN5bmNLZXl3b3JkID0gdHJ1ZTsK
KyAgICAgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5v
dCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBs
b2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKQEAgLTQwNzgsNiArNDM5NSwxNCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZU1lbWJlckV4cHJlcwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBK
U1RleHRQb3NpdGlvbiBleHByZXNzaW9uRW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKICAg
ICAgICAgICAgICAgICBUcmVlQXJndW1lbnRzIGFyZ3VtZW50cyA9IHBhcnNlQXJndW1lbnRzKGNv
bnRleHQpOworCisjaWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgICAgICAgICBpZiAoYmFzZUlzQXN5bmNLZXl3b3JkICYmICghYXJndW1lbnRzIHx8IG1hdGNo
KEFSUk9XRlVOQ1RJT04pKSkgeworICAgICAgICAgICAgICAgICAgICBmb3JjZUNsYXNzaWZ5RXhw
cmVzc2lvbkVycm9yKEVycm9ySW5kaWNhdGVzQXN5bmNBcnJvd0Z1bmN0aW9uKTsKKyAgICAgICAg
ICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICAgICAg
fQorI2VuZGlmCisKICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShhcmd1bWVudHMsICJDYW5u
b3QgcGFyc2UgY2FsbCBhcmd1bWVudHMiKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZUlzU3Vw
ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgU2NvcGVSZWYgZnVuY3Rpb25TY29wZSA9IGN1cnJl
bnRGdW5jdGlvblNjb3BlKCk7CkBAIC00MTM2LDcgKzQ0NjEsNyBAQCBlbmRNZW1iZXJFeHByZXNz
aW9uOgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNBc3luYykK
IHsKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CiAKQEAgLTQxNDQsNyArNDQ2OSw5IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvCiAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7
CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGluZm8ubmFt
ZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpV
bm5hbWVkLCBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgaW5mbywgRnVuY3Rpb25EZWZpbml0aW9uVHlwZTo6RXhwcmVzc2lvbikpLCAiQ2Fubm90
IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKworICAgIFNvdXJjZVBhcnNlTW9k
ZSBwYXJzZU1vZGUgPSBpc0FzeW5jID8gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Nb2RlIDogU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZTsKKyAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRz
OjpVbm5hbWVkLCBwYXJzZU1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJC
aW5kaW5nOjpOb3ROZWVkZWQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBGdW5jdGlvbkRl
ZmluaXRpb25UeXBlOjpFeHByZXNzaW9uKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24g
ZXhwcmVzc2lvbiIpOwogCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGluZm8pOwogfQpAQCAtNDE4OCw2ICs0NTE1LDEyIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
VW5hcnlFeHByZXNzCiAgICAgYm9vbCBtb2RpZmllc0V4cHIgPSBmYWxzZTsKICAgICBib29sIHJl
cXVpcmVzTEV4cHIgPSBmYWxzZTsKICAgICB1bnNpZ25lZCBsYXN0T3BlcmF0b3IgPSAwOworCisj
aWYgRU5BQkxFKEVTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoVU5MSUtFTFko
bWF0Y2goQVdBSVQpICYmIGN1cnJlbnRGdW5jdGlvblNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJv
dW5kYXJ5KCkpKQorICAgICAgICByZXR1cm4gcGFyc2VBd2FpdEV4cHJlc3Npb24oY29udGV4dCk7
CisjZW5kaWYKKwogICAgIHdoaWxlIChpc1VuYXJ5T3AobV90b2tlbi5tX3R5cGUpKSB7CiAgICAg
ICAgIGlmIChzdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5
cGUpIHsKQEAgLTQzNjksNiArNDcwMiw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
IHZvaWQgUGFyc2VyPExleGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAg
ICAgIG91dC5wcmludCgiSW52YWxpZCBwcml2YXRlIG5hbWUgJyIsIGdldFRva2VuKCksICInIik7
CiAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAorICAgIGNhc2UgQVdBSVQ6CiAgICAgY2Fz
ZSBJREVOVDoKICAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50aWZpZXIgJyIsIGdl
dFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oCmluZGV4IDUwZTEzOTFiNWZkMDNkZDVlNzc4YjhmZGI1OTIzYWE3OThhZWQxMjMu
LjQ3NmI4ZTVhODg1ZjRkMGE0ZWQwYzhiYzU4NzVhMzkxM2U4N2YyZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1LDcgKzEzNSw3IEBAIHN0cnVjdCBTY29wZSB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGUpOwogCiBwdWJsaWM6Ci0gICAgU2NvcGUo
Y29uc3QgVk0qIHZtLCBib29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3Ry
aWN0TW9kZSwgYm9vbCBpc0Fycm93RnVuY3Rpb24pCisgICAgU2NvcGUoY29uc3QgVk0qIHZtLCBi
b29sIGlzRnVuY3Rpb24sIGJvb2wgaXNHZW5lcmF0b3IsIGJvb2wgc3RyaWN0TW9kZSwgYm9vbCBp
c0Fycm93RnVuY3Rpb24sIGJvb2wgaXNBc3luY0Z1bmN0aW9uKQogICAgICAgICA6IG1fdm0odm0p
CiAgICAgICAgICwgbV9zaGFkb3dzQXJndW1lbnRzKGZhbHNlKQogICAgICAgICAsIG1fdXNlc0V2
YWwoZmFsc2UpCkBAIC0xNTAsNiArMTUwLDggQEAgcHVibGljOgogICAgICAgICAsIG1faXNHZW5l
cmF0b3JCb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihpc0Fycm93
RnVuY3Rpb24pCiAgICAgICAgICwgbV9pc0Fycm93RnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKKyAg
ICAgICAgLCBtX2lzQXN5bmNGdW5jdGlvbihpc0FzeW5jRnVuY3Rpb24pCisgICAgICAgICwgbV9p
c0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShmYWxzZSkKICAgICAgICAgLCBtX2lzTGV4aWNhbFNjb3Bl
KGZhbHNlKQogICAgICAgICAsIG1faXNGdW5jdGlvbkJvdW5kYXJ5KGZhbHNlKQogICAgICAgICAs
IG1faXNWYWxpZFN0cmljdE1vZGUodHJ1ZSkKQEAgLTE4MSw2ICsxODMsOCBAQCBwdWJsaWM6CiAg
ICAgICAgICwgbV9pc0dlbmVyYXRvckJvdW5kYXJ5KG90aGVyLm1faXNHZW5lcmF0b3JCb3VuZGFy
eSkKICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbihvdGhlci5tX2lzQXJyb3dGdW5jdGlvbikK
ICAgICAgICAgLCBtX2lzQXJyb3dGdW5jdGlvbkJvdW5kYXJ5KG90aGVyLm1faXNBcnJvd0Z1bmN0
aW9uQm91bmRhcnkpCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb24ob3RoZXIubV9pc0FzeW5j
RnVuY3Rpb24pCisgICAgICAgICwgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5tX2lz
QXN5bmNGdW5jdGlvbkJvdW5kYXJ5KQogICAgICAgICAsIG1faXNMZXhpY2FsU2NvcGUob3RoZXIu
bV9pc0xleGljYWxTY29wZSkKICAgICAgICAgLCBtX2lzRnVuY3Rpb25Cb3VuZGFyeShvdGhlci5t
X2lzRnVuY3Rpb25Cb3VuZGFyeSkKICAgICAgICAgLCBtX2lzVmFsaWRTdHJpY3RNb2RlKG90aGVy
Lm1faXNWYWxpZFN0cmljdE1vZGUpCkBAIC0yMzgsNiArMjQyLDE0IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNvdXJjZVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgbW9kZSkKICAgICB7CiAgICAg
ICAgIHN3aXRjaCAobW9kZSkgeworICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNB
cnJvd0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dGdW5jdGlv
bkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU291cmNlUGFyc2VN
b2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6CisgICAgICAgICAgICBzZXRJc0FzeW5jQXJyb3dG
dW5jdGlvbkJvZHkoKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKICAgICAgICAgICAgIHNldElzR2VuZXJhdG9y
KCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI1Nyw2ICsyNjksMTUgQEAgcHVibGljOgogICAg
ICAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKIAorICAg
ICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlvbk1vZGU6CisgICAgICAgIGNh
c2UgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhvZE1vZGU6CisgICAgICAgICAgICBzZXRJc0Fz
eW5jRnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU291cmNl
UGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlOgorICAgICAgICAgICAgc2V0SXNBc3lu
Y0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpQcm9ncmFtTW9kZToKICAgICAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
Ok1vZHVsZUFuYWx5emVNb2RlOgogICAgICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxl
RXZhbHVhdGVNb2RlOgpAQCAtMjY4LDYgKzI4OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzRnVu
Y3Rpb25Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1faXNGdW5jdGlvbkJvdW5kYXJ5OyB9CiAg
ICAgYm9vbCBpc0dlbmVyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faXNHZW5lcmF0b3I7IH0KICAg
ICBib29sIGlzR2VuZXJhdG9yQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX2lzR2VuZXJhdG9y
Qm91bmRhcnk7IH0KKyAgICBib29sIGlzQXN5bmNGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
aXNBc3luY0Z1bmN0aW9uOyB9CisgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7IH0KIAogICAgIGJvb2wgaGFz
QXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBcmd1bWVudHM7IH0KIApAQCAtNzEwLDYg
KzczMywzNCBAQCBwcml2YXRlOgogICAgICAgICBtX2lzQXJyb3dGdW5jdGlvbiA9IHRydWU7CiAg
ICAgfQogCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAg
ICBzZXRJc0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVl
OworICAgIH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHNldElzRnVuY3Rpb24oKTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb24gPSB0cnVlOworICAg
IH0KKworICAgIHZvaWQgc2V0SXNBc3luY0Z1bmN0aW9uQm9keSgpCisgICAgeworICAgICAgICBz
ZXRJc0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFzQXJndW1lbnRzID0gZmFsc2U7CisgICAgICAg
IG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3Vu
ZGFyeSA9IHRydWU7CisgICAgfQorCisgICAgdm9pZCBzZXRJc0FzeW5jQXJyb3dGdW5jdGlvbkJv
ZHkoKQorICAgIHsKKyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgIG1faGFz
QXJndW1lbnRzID0gZmFsc2U7CisgICAgICAgIG1faXNBc3luY0Z1bmN0aW9uID0gdHJ1ZTsKKyAg
ICAgICAgbV9pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSA9IHRydWU7CisgICAgfQorCiAgICAgY29u
c3QgVk0qIG1fdm07CiAgICAgYm9vbCBtX3NoYWRvd3NBcmd1bWVudHM7CiAgICAgYm9vbCBtX3Vz
ZXNFdmFsOwpAQCAtNzI0LDYgKzc3NSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzR2VuZXJh
dG9yQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzQXJyb3dGdW5jdGlvbjsKICAgICBib29sIG1faXNB
cnJvd0Z1bmN0aW9uQm91bmRhcnk7CisgICAgYm9vbCBtX2lzQXN5bmNGdW5jdGlvbjsKKyAgICBi
b29sIG1faXNBc3luY0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzTGV4aWNhbFNjb3Bl
OwogICAgIGJvb2wgbV9pc0Z1bmN0aW9uQm91bmRhcnk7CiAgICAgYm9vbCBtX2lzVmFsaWRTdHJp
Y3RNb2RlOwpAQCAtNzk3LDcgKzg1MCw3IEBAIGNsYXNzIFBhcnNlciB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAKIHB1YmxpYzoKLSAgICBQYXJzZXIoVk0qLCBjb25zdCBTb3VyY2VD
b2RlJiwgSlNQYXJzZXJCdWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2RlLCBKU1BhcnNlckNv
bW1lbnRNb2RlLCBTb3VyY2VQYXJzZU1vZGUsIFN1cGVyQmluZGluZywgQ29uc3RydWN0b3JLaW5k
IGRlZmF1bHRDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIERlcml2ZWRD
b250ZXh0VHlwZSA9IERlcml2ZWRDb250ZXh0VHlwZTo6Tm9uZSwgYm9vbCBpc0V2YWxDb250ZXh0
ID0gZmFsc2UsIEV2YWxDb250ZXh0VHlwZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZSk7CisgICAg
UGFyc2VyKFZNKiwgY29uc3QgU291cmNlQ29kZSYsIEpTUGFyc2VyQnVpbHRpbk1vZGUsIEpTUGFy
c2VyU3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlLCBTb3VyY2VQYXJzZU1vZGUsIFN1cGVy
QmluZGluZywgQ29uc3RydWN0b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIERlcml2ZWRDb250ZXh0VHlwZSA9IERlcml2ZWRDb250ZXh0VHlwZTo6
Tm9uZSwgYm9vbCBpc0V2YWxDb250ZXh0ID0gZmFsc2UsIEV2YWxDb250ZXh0VHlwZSA9IEV2YWxD
b250ZXh0VHlwZTo6Tm9uZSk7CiAgICAgflBhcnNlcigpOwogCiAgICAgdGVtcGxhdGUgPGNsYXNz
IFBhcnNlZE5vZGU+CkBAIC04ODYsOCArOTM5LDkgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAg
ZW51bSBFeHByZXNzaW9uRXJyb3JDbGFzcyB7Ci0gICAgICAgIEVycm9ySW5kaWNhdGVzTm90aGlu
ZywKLSAgICAgICAgRXJyb3JJbmRpY2F0ZXNQYXR0ZXJuCisgICAgICAgIEVycm9ySW5kaWNhdGVz
Tm90aGluZyA9IDAsCisgICAgICAgIEVycm9ySW5kaWNhdGVzUGF0dGVybiwKKyAgICAgICAgRXJy
b3JJbmRpY2F0ZXNBc3luY0Fycm93RnVuY3Rpb24KICAgICB9OwogCiAgICAgc3RydWN0IEV4cHJl
c3Npb25FcnJvckNsYXNzaWZpZXIgewpAQCAtOTExLDYgKzk2NSwxMSBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgbV9jbGFzcyA9IGNsYXNzaWZpY2F0aW9uOwogICAgICAgICB9CiAKKyAgICAgICAg
dm9pZCBmb3JjZUNsYXNzaWZ5RXhwcmVzc2lvbkVycm9yKEV4cHJlc3Npb25FcnJvckNsYXNzIGNs
YXNzaWZpY2F0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBtX2NsYXNzID0gY2xhc3NpZmlj
YXRpb247CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJlY2xhc3NpZnlFeHByZXNzaW9uRXJy
b3IoRXhwcmVzc2lvbkVycm9yQ2xhc3Mgb2xkQ2xhc3NpZmljYXRpb24sIEV4cHJlc3Npb25FcnJv
ckNsYXNzIGNsYXNzaWZpY2F0aW9uKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAobV9jbGFz
cyAhPSBvbGRDbGFzc2lmaWNhdGlvbikKQEAgLTkyMCwxMSArOTc5LDEyIEBAIHByaXZhdGU6CiAK
ICAgICAgICAgdm9pZCBwcm9wYWdhdGVFeHByZXNzaW9uRXJyb3JDbGFzcygpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGlmIChtX3ByZXZpb3VzICYmIG1fY2xhc3MgIT0gRXJyb3JJbmRpY2F0ZXNO
b3RoaW5nKQorICAgICAgICAgICAgaWYgKG1fcHJldmlvdXMpCiAgICAgICAgICAgICAgICAgbV9w
cmV2aW91cy0+bV9jbGFzcyA9IG1fY2xhc3M7CiAgICAgICAgIH0KIAogICAgICAgICBib29sIGlu
ZGljYXRlc1Bvc3NpYmxlUGF0dGVybigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3MgPT0gRXJyb3JJ
bmRpY2F0ZXNQYXR0ZXJuOyB9CisgICAgICAgIGJvb2wgaW5kaWNhdGVzUG9zc2libGVBc3luY0Fy
cm93RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzID09IEVycm9ySW5kaWNhdGVzQXN5
bmNBcnJvd0Z1bmN0aW9uOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBFeHByZXNzaW9uRXJy
b3JDbGFzcyBtX2NsYXNzOwpAQCAtOTM4LDYgKzk5OCwxMiBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgbV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5jbGFzc2lmeUV4cHJlc3Npb25FcnJvcihj
bGFzc2lmaWNhdGlvbik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGZvcmNlQ2xh
c3NpZnlFeHByZXNzaW9uRXJyb3IoRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24p
CisgICAgeworICAgICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQorICAgICAg
ICAgICAgbV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyLT5mb3JjZUNsYXNzaWZ5RXhwcmVzc2lv
bkVycm9yKGNsYXNzaWZpY2F0aW9uKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
cmVjbGFzc2lmeUV4cHJlc3Npb25FcnJvcihFeHByZXNzaW9uRXJyb3JDbGFzcyBvbGRDbGFzc2lm
aWNhdGlvbiwgRXhwcmVzc2lvbkVycm9yQ2xhc3MgY2xhc3NpZmljYXRpb24pCiAgICAgewogICAg
ICAgICBpZiAobV9leHByZXNzaW9uRXJyb3JDbGFzc2lmaWVyKQpAQCAtOTU5LDYgKzEwMjUsMTkg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVy
ZVRvVmFyaWFibGVzOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgY29uc3QgY2hhciogZGVj
bGFyYXRpb25UeXBlVG9WYXJpYWJsZUtpbmQoRGVjbGFyYXRpb25UeXBlIHR5cGUpCisgICAgewor
ICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OlZh
ckRlY2xhcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuICJ2YXJpYWJsZSBuYW1lIjsKKyAgICAg
ICAgY2FzZSBEZWNsYXJhdGlvblR5cGU6OkxldERlY2xhcmF0aW9uOgorICAgICAgICBjYXNlIERl
Y2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiAibGV4
aWNhbCB2YXJpYWJsZSBuYW1lIjsKKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gImludmFsaWQiOworICAgIH0KKwogICAgIEFM
V0FZU19JTkxJTkUgQXNzaWdubWVudENvbnRleHQgYXNzaWdubWVudENvbnRleHRGcm9tRGVjbGFy
YXRpb25UeXBlKERlY2xhcmF0aW9uVHlwZSB0eXBlKQogICAgIHsKICAgICAgICAgc3dpdGNoICh0
eXBlKSB7CkBAIC05NzEsNiArMTA1MCwxMiBAQCBwcml2YXRlOgogCiAgICAgQUxXQVlTX0lOTElO
RSBib29sIGlzRXZhbE9yQXJndW1lbnRzKGNvbnN0IElkZW50aWZpZXIqIGlkZW50KSB7IHJldHVy
biBpc0V2YWxPckFyZ3VtZW50c0lkZW50aWZpZXIobV92bSwgaWRlbnQpOyB9CiAKKyAgICBTY29w
ZVJlZiB1cHBlclNjb3BlKGludCBuKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fc2NvcGVTdGFj
ay5zaXplKCkgPj0gc2l6ZV90KDEgKyBuKSk7CisgICAgICAgIHJldHVybiBTY29wZVJlZigmbV9z
Y29wZVN0YWNrLCBtX3Njb3BlU3RhY2suc2l6ZSgpIC0gMSAtIG4pOworICAgIH0KKwogICAgIFNj
b3BlUmVmIGN1cnJlbnRTY29wZSgpCiAgICAgewogICAgICAgICByZXR1cm4gU2NvcGVSZWYoJm1f
c2NvcGVTdGFjaywgbV9zY29wZVN0YWNrLnNpemUoKSAtIDEpOwpAQCAtMTAyNywxMyArMTExMiwx
NSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGlzU3RyaWN0ID0gZmFsc2U7CiAgICAgICAgIGJv
b2wgaXNHZW5lcmF0b3IgPSBmYWxzZTsKICAgICAgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBm
YWxzZTsKKyAgICAgICAgYm9vbCBpc0FzeW5jRnVuY3Rpb24gPSBmYWxzZTsKICAgICAgICAgaWYg
KCFtX3Njb3BlU3RhY2suaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpc1N0cmljdCA9IG1fc2Nv
cGVTdGFjay5sYXN0KCkuc3RyaWN0TW9kZSgpOwogICAgICAgICAgICAgaXNGdW5jdGlvbiA9IG1f
c2NvcGVTdGFjay5sYXN0KCkuaXNGdW5jdGlvbigpOwogICAgICAgICAgICAgaXNHZW5lcmF0b3Ig
PSBtX3Njb3BlU3RhY2subGFzdCgpLmlzR2VuZXJhdG9yKCk7CiAgICAgICAgICAgICBpc0Fycm93
RnVuY3Rpb24gPSBtX3Njb3BlU3RhY2subGFzdCgpLmlzQXJyb3dGdW5jdGlvbigpOworICAgICAg
ICAgICAgaXNBc3luY0Z1bmN0aW9uID0gbV9zY29wZVN0YWNrLmxhc3QoKS5pc0FzeW5jRnVuY3Rp
b24oKTsKICAgICAgICAgfQotICAgICAgICBtX3Njb3BlU3RhY2suY29uc3RydWN0QW5kQXBwZW5k
KG1fdm0sIGlzRnVuY3Rpb24sIGlzR2VuZXJhdG9yLCBpc1N0cmljdCwgaXNBcnJvd0Z1bmN0aW9u
KTsKKyAgICAgICAgbV9zY29wZVN0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZChtX3ZtLCBpc0Z1bmN0
aW9uLCBpc0dlbmVyYXRvciwgaXNTdHJpY3QsIGlzQXJyb3dGdW5jdGlvbiwgaXNBc3luY0Z1bmN0
aW9uKTsKICAgICAgICAgcmV0dXJuIGN1cnJlbnRTY29wZSgpOwogICAgIH0KIApAQCAtMTM0Niwy
MSArMTQzMywyNSBAQCBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwu
b3JnL2VjbWEtMjYyLzYuMC8jc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1zdGF0
aWMtc2VtYW50aWNzLWVhcmx5LWVycm9ycwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNw
ZWNJZGVudGlmaWVyKGJvb2wgaW5HZW5lcmF0b3IpCiAgICAgewotICAgICAgICByZXR1cm4gbWF0
Y2goSURFTlQpIHx8IGlzTEVUTWFza2VkQXNJREVOVCgpIHx8IGlzWUlFTERNYXNrZWRBc0lERU5U
KGluR2VuZXJhdG9yKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBtYXRjaChBV0FJ
VCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5l
cmF0b3IpOwogICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlm
aWVyKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaFNwZWNJZGVudGlmaWVyKGN1cnJlbnRT
Y29wZSgpLT5pc0dlbmVyYXRvcigpKTsKKyAgICAgICAgcmV0dXJuIG1hdGNoKElERU5UKSB8fCBt
YXRjaChBV0FJVCkgfHwgaXNMRVRNYXNrZWRBc0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURF
TlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkpOwogICAgIH0KIAogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlR2VuZXJhdG9yRnVuY3Rpb25T
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VBc3luY0Z1
bmN0aW9uU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VQYXJzZU1vZGUsIGJvb2wg
aXNBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50
TGlzdEl0ZW0oVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgg
PSAwKTsKICAgICBlbnVtIGNsYXNzIEV4cG9ydFR5cGUgeyBFeHBvcnRlZCwgTm90RXhwb3J0ZWQg
fTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VD
bGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiwgRXhwb3J0VHlwZSA9IEV4cG9ydFR5cGU6Ok5v
dEV4cG9ydGVkLCBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0ID0gRGVjbGFyYXRpb25EZWZhdWx0
Q29udGV4dDo6U3RhbmRhcmQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBFeHBvcnRU
eXBlID0gRXhwb3J0VHlwZTo6Tm90RXhwb3J0ZWQsIERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQg
PSBEZWNsYXJhdGlvbkRlZmF1bHRDb250ZXh0OjpTdGFuZGFyZCk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvblN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGJvb2wgaXNBc3luYywgYm9vbCBwYXJlbnRBbGxvd3NGdW5j
dGlvbkRlY2xhcmF0aW9uQXNTdGF0ZW1lbnQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVp
bGRlciYsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCwgRGVjbGFyYXRpb25E
ZWZhdWx0Q29udGV4dCA9IERlY2xhcmF0aW9uRGVmYXVsdENvbnRleHQ6OlN0YW5kYXJkKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIG1heWJlUGFy
c2VBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IFRyZWVTdGF0ZW1lbnQmIHJlc3VsdCwgYm9vbCBwYXJlbnRBbGxvd3NGdW5jdGlvbkRlY2xhcmF0
aW9uQXNTdGF0ZW1lbnQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImLCBEZWNsYXJhdGlv
blR5cGUsIEV4cG9ydFR5cGUgPSBFeHBvcnRUeXBlOjpOb3RFeHBvcnRlZCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlRG9XaGlsZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZVdoaWxlU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CkBAIC0xMzg3LDYgKzE0
NzgsNyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBU
cmVlRXhwcmVzc2lvbiBwYXJzZUJpbmFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24g
cGFyc2VVbmFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUF3YWl0RXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VNZW1iZXJFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBh
cnNlUHJpbWFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJheUxpdGVy
YWwoVHJlZUJ1aWxkZXImKTsKQEAgLTEzOTQsMTcgKzE0ODYsMTggQEAgcHJpdmF0ZToKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRXhwcmVzc2lvbiBw
YXJzZVN0cmljdE9iamVjdExpdGVyYWwoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNs
YXNzRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUZ1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVBcmd1bWVudHMgcGFyc2VBcmd1bWVudHMoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VB
cmd1bWVudChUcmVlQnVpbGRlciYsIEFyZ3VtZW50VHlwZSYpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBi
b29sIHN0cmljdCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVu
dGlmaWVyKiBtZXRob2ROYW1lLCBib29sIGlzR2VuZXJhdG9yKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUsIGJvb2wgaXNHZW5l
cmF0b3IsIGJvb2wgaXNBc3luY01ldGhvZCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0
cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zm
c2V0LCBDb25zdHJ1Y3RvcktpbmQsIGJvb2wgaXNDbGFzc1Byb3BlcnR5KTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJz
ZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIFN5bnRheENoZWNrZXImLCBjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBpbnQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGlu
ZywgRnVuY3Rpb25Cb2R5VHlwZSwgdW5zaWduZWQsIFNvdXJjZVBhcnNlTW9kZSk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIGJvb2wgcGFyc2VGb3JtYWxQ
YXJhbWV0ZXJzKFRyZWVCdWlsZGVyJiwgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QsIHVuc2lnbmVk
Jik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQs
IFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRlcm4mIGxhc3RQYXR0
ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRl
bnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRF
bmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQsIERlY2xhcmF0aW9uVHlwZSwgRXhwb3J0VHlw
ZSwgYm9vbCYgZm9yTG9vcENvbnN0RG9lc05vdEhhdmVJbml0aWFsaXplcik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VBcnJvd0Z1bmN0
aW9uU2luZ2xlRXhwcmVzc2lvbkJvZHlTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYpOwotICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1
bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYsIGJvb2wgaXNBc3luYyk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZURlc3RydWN0dXJpbmdQYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0
ZXJuKFRyZWVCdWlsZGVyJiwgRGVzdHJ1Y3R1cmluZ0tpbmQsIEV4cG9ydFR5cGUsIGNvbnN0IElk
ZW50aWZpZXImLCBKU1Rva2VuLCBBc3NpZ25tZW50Q29udGV4dCwgY29uc3QgSWRlbnRpZmllcioq
IGR1cGxpY2F0ZUlkZW50aWZpZXIpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBjcmVhdGVBc3NpZ25tZW50RWxl
bWVudChUcmVlQnVpbGRlciYsIFRyZWVFeHByZXNzaW9uJiwgY29uc3QgSlNUZXh0UG9zaXRpb24m
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVEZXN0cnVjdHVyaW5nUGF0dGVybiBwYXJzZUJpbmRpbmdPckFz
c2lnbm1lbnRFbGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBEZXN0cnVjdHVyaW5nS2luZCwg
RXhwb3J0VHlwZSwgY29uc3QgSWRlbnRpZmllcioqIGR1cGxpY2F0ZUlkZW50aWZpZXIsIGJvb2wq
IGhhc0Rlc3RydWN0dXJpbmdQYXR0ZXJuLCBBc3NpZ25tZW50Q29udGV4dCBiaW5kaW5nQ29udGV4
dCwgaW50IGRlcHRoKTsKQEAgLTE0NjIsNiArMTU1NSwyMiBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gIW1fZXJyb3JNZXNzYWdlLmlzTnVsbCgpOwogICAgIH0KIAorICAgIGJvb2wgaXNEaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0KGNvbnN0IEpTVG9rZW4mIHRva2VuKQorICAgIHsKKyAgICAg
ICAgLy8gRklYTUU6IGBtX21vZHVsZVNjb3BlRGF0YS5nZXQoKSAhPSBudWxscHRyYCBpcyBub3Qg
YSB2YWxpZCBtZXRob2Qgb2YgZGV0ZXJtaW5pbmcgaWYgcGFyc2VyIGlzIHBhcnNpbmcgYSBNb2R1
bGUuCisgICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gQVdBSVQgJiYgKCFtX3BhcnNlclN0
YXRlLmFsbG93QXdhaXQgfHwgY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbkJvdW5kYXJ5
KCkgfHwgbV9zY3JpcHRNb2RlID09IEpTUGFyc2VyU2NyaXB0TW9kZTo6TW9kdWxlKTsKKyAgICB9
CisKKyAgICBjb25zdCBjaGFyKiBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkKKyAg
ICB7CisgICAgICAgIGlmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29w
ZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3VuZGFyeSgpKQorICAgICAgICAgICAgcmV0dXJuICJpbiBh
biBhc3luYyBmdW5jdGlvbiI7CisgICAgICAgIGlmIChtX3NjcmlwdE1vZGUgPT0gSlNQYXJzZXJT
Y3JpcHRNb2RlOjpNb2R1bGUpCisgICAgICAgICAgICByZXR1cm4gImluIGEgbW9kdWxlIjsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorCiAgICAgZW51bSBjbGFzcyBGdW5jdGlvblBhcnNlUGhhc2UgeyBQYXJhbWV0
ZXJzLCBCb2R5IH07CiAgICAgc3RydWN0IFBhcnNlclN0YXRlIHsKICAgICAgICAgaW50IGFzc2ln
bm1lbnRDb3VudCB7IDAgfTsKQEAgLTE0NzAsNiArMTU3OSw3IEBAIHByaXZhdGU6CiAgICAgICAg
IEZ1bmN0aW9uUGFyc2VQaGFzZSBmdW5jdGlvblBhcnNlUGhhc2UgeyBGdW5jdGlvblBhcnNlUGhh
c2U6OkJvZHkgfTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50aWZpZXIgeyBu
dWxscHRyIH07CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgeyBu
dWxscHRyIH07CisgICAgICAgIGJvb2wgYWxsb3dBd2FpdCB7IHRydWUgfTsKICAgICB9OwogCiAg
ICAgLy8gSWYgeW91J3JlIHVzaW5nIHRoaXMgZGlyZWN0bHksIHlvdSBwcm9iYWJseSBzaG91bGQg
YmUgdXNpbmcKQEAgLTE1ODgsNyArMTY5OCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFNvdXJj
ZVByb3ZpZGVyQ2FjaGU+IG1fZnVuY3Rpb25DYWNoZTsKICAgICBTb3VyY2VFbGVtZW50cyogbV9z
b3VyY2VFbGVtZW50czsKICAgICBib29sIG1fcGFyc2luZ0J1aWx0aW47Ci0gICAgSlNQYXJzZXJD
b21tZW50TW9kZSBtX2NvbW1lbnRNb2RlOworICAgIEpTUGFyc2VyU2NyaXB0TW9kZSBtX3Njcmlw
dE1vZGU7CiAgICAgU3VwZXJCaW5kaW5nIG1fc3VwZXJCaW5kaW5nOwogICAgIENvbnN0cnVjdG9y
S2luZCBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CiAgICAgVmFyaWFibGVFbnZpcm9ubWVudCBt
X3ZhckRlY2xhcmF0aW9uczsKQEAgLTE3MTgsMTMgKzE4MjgsMTMgQEAgdGVtcGxhdGUgPGNsYXNz
IFBhcnNlZE5vZGU+CiBzdGQ6OnVuaXF1ZV9wdHI8UGFyc2VkTm9kZT4gcGFyc2UoCiAgICAgVk0q
IHZtLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsCiAgICAgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwKLSAgICBKU1BhcnNlclN0cmljdE1v
ZGUgc3RyaWN0TW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSwgU291cmNlUGFy
c2VNb2RlIHBhcnNlTW9kZSwgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZywKKyAgICBKU1BhcnNl
clN0cmljdE1vZGUgc3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUsIFNv
dXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUsIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcsCiAgICAg
UGFyc2VyRXJyb3ImIGVycm9yLCBKU1RleHRQb3NpdGlvbiogcG9zaXRpb25CZWZvcmVMYXN0TmV3
bGluZSA9IG51bGxwdHIsCiAgICAgQ29uc3RydWN0b3JLaW5kIGRlZmF1bHRDb25zdHJ1Y3Rvcktp
bmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29u
dGV4dFR5cGUgPSBEZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUsIEV2YWxDb250ZXh0VHlwZSBldmFs
Q29udGV4dFR5cGUgPSBFdmFsQ29udGV4dFR5cGU6Ok5vbmUpCiB7CiAgICAgQVNTRVJUKCFzb3Vy
Y2UucHJvdmlkZXIoKS0+c291cmNlKCkuaXNOdWxsKCkpOwogICAgIGlmIChzb3VyY2UucHJvdmlk
ZXIoKS0+c291cmNlKCkuaXM4Qml0KCkpIHsKLSAgICAgICAgUGFyc2VyPExleGVyPExDaGFyPj4g
cGFyc2VyKHZtLCBzb3VyY2UsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwg
cGFyc2VNb2RlLCBzdXBlckJpbmRpbmcsIGRlZmF1bHRDb25zdHJ1Y3RvcktpbmQsIGRlcml2ZWRD
b250ZXh0VHlwZSwgaXNFdmFsTm9kZTxQYXJzZWROb2RlPigpLCBldmFsQ29udGV4dFR5cGUpOwor
ICAgICAgICBQYXJzZXI8TGV4ZXI8TENoYXI+PiBwYXJzZXIodm0sIHNvdXJjZSwgYnVpbHRpbk1v
ZGUsIHN0cmljdE1vZGUsIHNjcmlwdE1vZGUsIHBhcnNlTW9kZSwgc3VwZXJCaW5kaW5nLCBkZWZh
dWx0Q29uc3RydWN0b3JLaW5kLCBkZXJpdmVkQ29udGV4dFR5cGUsIGlzRXZhbE5vZGU8UGFyc2Vk
Tm9kZT4oKSwgZXZhbENvbnRleHRUeXBlKTsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBhcnNl
ZE5vZGU+IHJlc3VsdCA9IHBhcnNlci5wYXJzZTxQYXJzZWROb2RlPihlcnJvciwgbmFtZSwgcGFy
c2VNb2RlKTsKICAgICAgICAgaWYgKHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpCiAgICAgICAg
ICAgICAqcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSA9IHBhcnNlci5wb3NpdGlvbkJlZm9yZUxh
c3ROZXdsaW5lKCk7CkBAIC0xNzM1LDcgKzE4NDUsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGFyc2Vk
Tm9kZT4gcGFyc2UoCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIEFTU0VSVF9X
SVRIX01FU1NBR0UoZGVmYXVsdENvbnN0cnVjdG9yS2luZCA9PSBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUsICJCdWlsdGluRXhlY3V0YWJsZXM6OmNyZWF0ZURlZmF1bHRDb25zdHJ1Y3RvciBzaG91bGQg
YWx3YXlzIHVzZSBhIDgtYml0IHN0cmluZyIpOwotICAgIFBhcnNlcjxMZXhlcjxVQ2hhcj4+IHBh
cnNlcih2bSwgc291cmNlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgY29tbWVudE1vZGUsIHBh
cnNlTW9kZSwgc3VwZXJCaW5kaW5nLCBkZWZhdWx0Q29uc3RydWN0b3JLaW5kLCBkZXJpdmVkQ29u
dGV4dFR5cGUsIGlzRXZhbE5vZGU8UGFyc2VkTm9kZT4oKSwgZXZhbENvbnRleHRUeXBlKTsKKyAg
ICBQYXJzZXI8TGV4ZXI8VUNoYXI+PiBwYXJzZXIodm0sIHNvdXJjZSwgYnVpbHRpbk1vZGUsIHN0
cmljdE1vZGUsIHNjcmlwdE1vZGUsIHBhcnNlTW9kZSwgc3VwZXJCaW5kaW5nLCBkZWZhdWx0Q29u
c3RydWN0b3JLaW5kLCBkZXJpdmVkQ29udGV4dFR5cGUsIGlzRXZhbE5vZGU8UGFyc2VkTm9kZT4o
KSwgZXZhbENvbnRleHRUeXBlKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFyc2VkTm9kZT4gcmVz
dWx0ID0gcGFyc2VyLnBhcnNlPFBhcnNlZE5vZGU+KGVycm9yLCBuYW1lLCBwYXJzZU1vZGUpOwog
ICAgIGlmIChwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKQogICAgICAgICAqcG9zaXRpb25CZWZv
cmVMYXN0TmV3bGluZSA9IHBhcnNlci5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKaW5kZXggOWZkN2I3N2RlYWJl
YWE4ZGE0YmYyNzgzMzkzMWViNGJkY2Y4OWE0Ni4uOGRiZmNjNzc5MjVmMTA1NmYxOTJlYTQ4OWNh
ODE1OGI5ODQ5OGQ1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJNb2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9k
ZXMuaApAQCAtMjcsMTMgKzI3LDE0IEBACiAjaWZuZGVmIFBhcnNlck1vZGVzX2gKICNkZWZpbmUg
UGFyc2VyTW9kZXNfaAogCisjaW5jbHVkZSAiQ29uc3RydWN0QWJpbGl0eS5oIgogI2luY2x1ZGUg
IklkZW50aWZpZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKIGVudW0gY2xhc3MgSlNQYXJzZXJT
dHJpY3RNb2RlIHsgTm90U3RyaWN0LCBTdHJpY3QgfTsKIGVudW0gY2xhc3MgSlNQYXJzZXJCdWls
dGluTW9kZSB7IE5vdEJ1aWx0aW4sIEJ1aWx0aW4gfTsKLWVudW0gY2xhc3MgSlNQYXJzZXJDb21t
ZW50TW9kZSB7IENsYXNzaWMsIE1vZHVsZSB9OworZW51bSBjbGFzcyBKU1BhcnNlclNjcmlwdE1v
ZGUgeyBDbGFzc2ljLCBNb2R1bGUgfTsKIGVudW0gY2xhc3MgSlNQYXJzZXJDb2RlVHlwZSB7IFBy
b2dyYW0sIEZ1bmN0aW9uLCBNb2R1bGUgfTsKIAogZW51bSBjbGFzcyBDb25zdHJ1Y3RvcktpbmQg
eyBOb25lLCBCYXNlLCBFeHRlbmRzIH07CkBAIC00Myw4MCArNDQsMTMwIEBAIGVudW0gRGVidWdn
ZXJNb2RlIHsgRGVidWdnZXJPZmYsIERlYnVnZ2VyT24gfTsKIAogZW51bSBjbGFzcyBGdW5jdGlv
bk1vZGUgeyBGdW5jdGlvbkV4cHJlc3Npb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIE1ldGhvZERl
ZmluaXRpb24gfTsKIAotZW51bSBjbGFzcyBTb3VyY2VQYXJzZU1vZGUgOiB1aW50OF90IHsKLSAg
ICBOb3JtYWxGdW5jdGlvbk1vZGUsCi0gICAgR2VuZXJhdG9yQm9keU1vZGUsCi0gICAgR2VuZXJh
dG9yV3JhcHBlckZ1bmN0aW9uTW9kZSwKLSAgICBHZXR0ZXJNb2RlLAotICAgIFNldHRlck1vZGUs
Ci0gICAgTWV0aG9kTW9kZSwKLSAgICBBcnJvd0Z1bmN0aW9uTW9kZSwKLSAgICBQcm9ncmFtTW9k
ZSwKLSAgICBNb2R1bGVBbmFseXplTW9kZSwKLSAgICBNb2R1bGVFdmFsdWF0ZU1vZGUKK2VudW0g
Y2xhc3MgU291cmNlUGFyc2VNb2RlIDogdWludDE2X3QgeworICAgIE5vcm1hbEZ1bmN0aW9uTW9k
ZSAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDAxLAorICAgIEdlbmVyYXRvckJvZHlNb2Rl
ICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAwMDEwLAorICAgIEdlbmVyYXRvcldyYXBwZXJG
dW5jdGlvbk1vZGUgID0gMGIwMDAwMDAwMDAwMDAwMTAwLAorICAgIEdldHRlck1vZGUgICAgICAg
ICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDAxMDAwLAorICAgIFNldHRlck1vZGUgICAgICAg
ICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMDEwMDAwLAorICAgIE1ldGhvZE1vZGUgICAgICAg
ICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAwMTAwMDAwLAorICAgIEFycm93RnVuY3Rpb25Nb2Rl
ICAgICAgICAgICAgID0gMGIwMDAwMDAwMDAxMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Cb2R5
TW9kZSAgICAgICAgID0gMGIwMDAwMDAwMDEwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlv
bkJvZHlNb2RlICAgID0gMGIwMDAwMDAwMTAwMDAwMDAwLAorICAgIEFzeW5jRnVuY3Rpb25Nb2Rl
ICAgICAgICAgICAgID0gMGIwMDAwMDAxMDAwMDAwMDAwLAorICAgIEFzeW5jTWV0aG9kTW9kZSAg
ICAgICAgICAgICAgID0gMGIwMDAwMDEwMDAwMDAwMDAwLAorICAgIEFzeW5jQXJyb3dGdW5jdGlv
bk1vZGUgICAgICAgID0gMGIwMDAwMTAwMDAwMDAwMDAwLAorICAgIFByb2dyYW1Nb2RlICAgICAg
ICAgICAgICAgICAgID0gMGIwMDAxMDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUFuYWx5emVNb2Rl
ICAgICAgICAgICAgID0gMGIwMDEwMDAwMDAwMDAwMDAwLAorICAgIE1vZHVsZUV2YWx1YXRlTW9k
ZSAgICAgICAgICAgID0gMGIwMTAwMDAwMDAwMDAwMDAwLAogfTsKIAotaW5saW5lIGJvb2wgaXNG
dW5jdGlvblBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQorY2xhc3MgU291cmNl
UGFyc2VNb2RlU2V0IHsgCitwdWJsaWM6IAorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIE1vZGVz
PiAKKyAgICBTb3VyY2VQYXJzZU1vZGVTZXQoTW9kZXMuLi4gYXJncykgCisgICAgICAgIDogbV9t
YXNrKG1lcmdlU291cmNlUGFyc2VNb2RlcyhhcmdzLi4uKSkgCisgICAgeyAKKyAgICB9IAorCisg
ICAgQUxXQVlTX0lOTElORSBib29sIGNvbnRhaW5zKFNvdXJjZVBhcnNlTW9kZSBtb2RlKSAKKyAg
ICB7IAorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1vZGUpICYgbV9tYXNr
OyAKKyAgICB9IAorCitwcml2YXRlOiAKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyB1bnNpZ25l
ZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VNb2RlIG1vZGUpIAorICAgIHsgCisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obW9kZSk7IAorICAgIH0gCisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBSZXN0PiAKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyB1
bnNpZ25lZCBtZXJnZVNvdXJjZVBhcnNlTW9kZXMoU291cmNlUGFyc2VNb2RlIG1vZGUsIFJlc3Qu
Li4gcmVzdCkgCisgICAgeyAKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPiht
b2RlKSB8IG1lcmdlU291cmNlUGFyc2VNb2RlcyhyZXN0Li4uKTsgCisgICAgfSAKKworICAgIGNv
bnN0IHVuc2lnbmVkIG1fbWFzazsgCit9OyAKKworQUxXQVlTX0lOTElORSBib29sIGlzRnVuY3Rp
b25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBT
b3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1bmN0
aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yQm9keU1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUsIAor
ICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkdldHRlck1vZGUsIAorICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OlNldHRlck1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6Ok1ldGhvZE1vZGUs
IAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAg
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGUsIAorICAgICAgICBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jRnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpB
c3luY01ldGhvZE1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5j
dGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJv
ZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCisKK0FMV0FZU19JTkxJTkUgYm9vbCBp
c0FzeW5jRnVuY3Rpb25QYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkgCit7IAor
ICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jRnVuY3Rpb25Cb2R5TW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNG
dW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jTWV0aG9kTW9kZSwg
CisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAg
ICAgIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uQm9keU1vZGUpLmNvbnRhaW5z
KHBhcnNlTW9kZSk7IAorfSAKKworQUxXQVlTX0lOTElORSBib29sIGlzQXN5bmNBcnJvd0Z1bmN0
aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpIAoreyAKKyAgICByZXR1cm4g
U291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93
RnVuY3Rpb25Nb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rp
b25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJv
b2wgaXNBc3luY0Z1bmN0aW9uV3JhcHBlclBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VN
b2RlKSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJj
ZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNl
TW9kZTo6QXN5bmNGdW5jdGlvbk1vZGUsIAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5j
TWV0aG9kTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNfSU5MSU5FIGJv
b2wgaXNBc3luY0Z1bmN0aW9uQm9keVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2Rl
KSAKK3sgCisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCggCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNGdW5jdGlvbkJvZHlNb2RlLCAKKyAgICAgICAgU291cmNlUGFyc2VNb2Rl
OjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAor
CitBTFdBWVNfSU5MSU5FIGJvb2wgaXNNZXRob2RQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBh
cnNlTW9kZSkKIHsKLSAgICBzd2l0Y2ggKHBhcnNlTW9kZSkgewotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpOb3JtYWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Okdl
bmVyYXRvckJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFw
cGVyRnVuY3Rpb25Nb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlOgot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpNZXRob2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0
aW9uTW9kZToKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9k
ZTo6UHJvZ3JhbU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVN
b2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGU6Ci0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCgKKyAg
ICAgICAgLy8gRklYTUU6IEdlbmVyYXRvcldyYXBwZXJGdW5jdGlvbk1vZGUgaXMgbm90IGd1YXJh
bnRlZWQgdG8gYmUgYSBtZXRob2QuCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9y
V3JhcHBlckZ1bmN0aW9uTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2Rl
LAorICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OlNldHRlck1vZGUsCisgICAgICAgIFNvdXJjZVBh
cnNlTW9kZTo6TWV0aG9kTW9kZSwKKyAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3luY01ldGhv
ZE1vZGUpLmNvbnRhaW5zKHBhcnNlTW9kZSk7CiB9CiAKLWlubGluZSBib29sIGlzTW9kdWxlUGFy
c2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUpCi17Ci0gICAgc3dpdGNoIChwYXJzZU1v
ZGUpIHsKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAg
Y2FzZSBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6Tm9ybWFsRnVuY3Rpb25Nb2RlOgot
ICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6R2VuZXJhdG9yV3JhcHBlckZ1bmN0aW9uTW9kZToKLSAgICBjYXNlIFNv
dXJjZVBhcnNlTW9kZTo6R2V0dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6U2V0
dGVyTW9kZToKLSAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TWV0aG9kTW9kZToKLSAgICBjYXNl
IFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OlByb2dyYW1Nb2RlOgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQorQUxXQVlT
X0lOTElORSBib29sIGlzTW9kdWxlUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJzZU1vZGUp
IAoreyAKKyAgICByZXR1cm4gU291cmNlUGFyc2VNb2RlU2V0KCAKKyAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpNb2R1bGVBbmFseXplTW9kZSwgCisgICAgICAgIFNvdXJjZVBhcnNlTW9kZTo6TW9k
dWxlRXZhbHVhdGVNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOyAKK30gCiAKLWlubGluZSBib29s
IGlzUHJvZ3JhbVBhcnNlTW9kZShTb3VyY2VQYXJzZU1vZGUgcGFyc2VNb2RlKQotewotICAgIHN3
aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2Rl
OgotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpOb3Jt
YWxGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlN
b2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JXcmFwcGVyRnVuY3Rpb25N
b2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpHZXR0ZXJNb2RlOgotICAgIGNhc2UgU291
cmNlUGFyc2VNb2RlOjpTZXR0ZXJNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpNZXRo
b2RNb2RlOgotICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZToKLSAg
ICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGU6Ci0gICAgY2FzZSBTb3Vy
Y2VQYXJzZU1vZGU6Ok1vZHVsZUV2YWx1YXRlTW9kZToKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBmYWxz
ZTsKK0FMV0FZU19JTkxJTkUgYm9vbCBpc1Byb2dyYW1QYXJzZU1vZGUoU291cmNlUGFyc2VNb2Rl
IHBhcnNlTW9kZSkgCit7IAorICAgIHJldHVybiBTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFy
c2VNb2RlOjpQcm9ncmFtTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKTsgCit9IAorCitBTFdBWVNf
SU5MSU5FIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eUZvclBhcnNlTW9kZShTb3Vy
Y2VQYXJzZU1vZGUgcGFyc2VNb2RlKSAKK3sgCisgICAgaWYgKHBhcnNlTW9kZSA9PSBTb3VyY2VQ
YXJzZU1vZGU6Ok5vcm1hbEZ1bmN0aW9uTW9kZSkgCisgICAgICAgIHJldHVybiBDb25zdHJ1Y3RB
YmlsaXR5OjpDYW5Db25zdHJ1Y3Q7CisKKyAgICByZXR1cm4gQ29uc3RydWN0QWJpbGl0eTo6Q2Fu
bm90Q29uc3RydWN0OwogfQogCiBpbmxpbmUgYm9vbCBmdW5jdGlvbk5hbWVJc0luU2NvcGUoY29u
c3QgSWRlbnRpZmllciYgbmFtZSwgRnVuY3Rpb25Nb2RlIGZ1bmN0aW9uTW9kZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IGViMjYzYmIyY2ZiNWQ3
NjNhY2VmNzljNjljZDI4ZjgyM2MyYTdlODAuLmQzODk1MzQyMjlkNzk0OGI2Y2IyZDI4YzQzMDI0
MWE1MmU2NjFkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaApAQCAtODMsNiArODMsNyBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBDTEFTU1RPS0VO
LAogICAgIEVYVEVORFMsCiAgICAgU1VQRVIsCisgICAgQVdBSVQsCiAgICAgT1BFTkJSQUNFID0g
MCwKICAgICBDTE9TRUJSQUNFLAogICAgIE9QRU5QQVJFTiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZUtleS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VDb2RlS2V5LmgKaW5kZXggZWQ2NDliYzZhM2U3ZWQzNjBjYTRmN2Rm
YmUyZjUwYjFmODYxZWUxZi4uMmZmZTMzMzc3ODIxMDNlZjAwOWE4MGQ5ZmVmMzZhYThlNTQ2NGFh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlS2V5
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlS2V5LmgKQEAg
LTM5LDkgKzM5LDkgQEAgY2xhc3MgU291cmNlQ29kZUZsYWdzIHsKIHB1YmxpYzoKICAgICBTb3Vy
Y2VDb2RlRmxhZ3MoKSA9IGRlZmF1bHQ7CiAKLSAgICBTb3VyY2VDb2RlRmxhZ3MoU291cmNlQ29k
ZVR5cGUgY29kZVR5cGUsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUsIEpTUGFyc2Vy
U3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNvbW1lbnRNb2RlLCBE
ZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBFdmFsQ29udGV4dFR5cGUgZXZh
bENvbnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpCisgICAgU291cmNlQ29k
ZUZsYWdzKFNvdXJjZUNvZGVUeXBlIGNvZGVUeXBlLCBKU1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0
aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1vZGUgc3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2Rl
IHNjcmlwdE1vZGUsIERlcml2ZWRDb250ZXh0VHlwZSBkZXJpdmVkQ29udGV4dFR5cGUsIEV2YWxD
b250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkK
ICAgICAgICAgOiBtX2ZsYWdzKAotICAgICAgICAgICAgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihj
b21tZW50TW9kZSkgPDwgOCkgfAorICAgICAgICAgICAgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihz
Y3JpcHRNb2RlKSA8PCA4KSB8CiAgICAgICAgICAgICAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGlz
QXJyb3dGdW5jdGlvbkNvbnRleHQpIDw8IDcpIHwKICAgICAgICAgICAgIChzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZXZhbENvbnRleHRUeXBlKSA8PCA2KSB8CiAgICAgICAgICAgICAoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KGRlcml2ZWRDb250ZXh0VHlwZSkgPDwgNCkgfApAQCAtNjcsMTAgKzY3LDEw
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgU291cmNlQ29kZUtleShjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2VDb2RlLCBjb25zdCBTdHJpbmcmIG5hbWUsIFNvdXJjZUNvZGVUeXBlIGNv
ZGVUeXBlLCBKU1BhcnNlckJ1aWx0aW5Nb2RlIGJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1v
ZGUgc3RyaWN0TW9kZSwgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSwgRGVyaXZlZENv
bnRleHRUeXBlIGRlcml2ZWRDb250ZXh0VHlwZSwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0
VHlwZSwgYm9vbCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KQorICAgIFNvdXJjZUNvZGVLZXkoY29u
c3QgU291cmNlQ29kZSYgc291cmNlQ29kZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBTb3VyY2VDb2Rl
VHlwZSBjb2RlVHlwZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJT
dHJpY3RNb2RlIHN0cmljdE1vZGUsIEpTUGFyc2VyU2NyaXB0TW9kZSBzY3JpcHRNb2RlLCBEZXJp
dmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRleHRUeXBlLCBFdmFsQ29udGV4dFR5cGUgZXZhbENv
bnRleHRUeXBlLCBib29sIGlzQXJyb3dGdW5jdGlvbkNvbnRleHQpCiAgICAgICAgIDogbV9zb3Vy
Y2VDb2RlKHNvdXJjZUNvZGUpCiAgICAgICAgICwgbV9uYW1lKG5hbWUpCi0gICAgICAgICwgbV9m
bGFncyhjb2RlVHlwZSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIGNvbW1lbnRNb2RlLCBkZXJp
dmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCkK
KyAgICAgICAgLCBtX2ZsYWdzKGNvZGVUeXBlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgc2Ny
aXB0TW9kZSwgZGVyaXZlZENvbnRleHRUeXBlLCBldmFsQ29udGV4dFR5cGUsIGlzQXJyb3dGdW5j
dGlvbkNvbnRleHQpCiAgICAgICAgICwgbV9oYXNoKHNvdXJjZUNvZGUuaGFzaCgpKQogICAgIHsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENo
ZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmlu
ZGV4IDFjMGQxOGVkODcxYTcyMTQ4MGZlYTgyMTIwOGEyNzdmYTJkODI2ODYuLjVhYzY1YWJkMDQ1
NWZlZjY3ODFiNjRhMDczZWJkOTI1MmEzY2RlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICAg
ICAgQ2xhdXNlTGlzdFJlc3VsdCwgQ29tbWFFeHByLCBEZXN0cnVjdHVyaW5nQXNzaWdubWVudCwK
ICAgICAgICAgVGVtcGxhdGVTdHJpbmdSZXN1bHQsIFRlbXBsYXRlU3RyaW5nTGlzdFJlc3VsdCwK
ICAgICAgICAgVGVtcGxhdGVFeHByZXNzaW9uTGlzdFJlc3VsdCwgVGVtcGxhdGVFeHByLAotICAg
ICAgICBUYWdnZWRUZW1wbGF0ZUV4cHIsIFlpZWxkRXhwciwKKyAgICAgICAgVGFnZ2VkVGVtcGxh
dGVFeHByLCBZaWVsZEV4cHIsIEF3YWl0RXhwciwKICAgICAgICAgTW9kdWxlTmFtZVJlc3VsdCwK
ICAgICAgICAgSW1wb3J0U3BlY2lmaWVyUmVzdWx0LCBJbXBvcnRTcGVjaWZpZXJMaXN0UmVzdWx0
LAogICAgICAgICBFeHBvcnRTcGVjaWZpZXJSZXN1bHQsIEV4cG9ydFNwZWNpZmllckxpc3RSZXN1
bHQKQEAgLTE4Miw4ICsxODIsMTAgQEAgcHVibGljOgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUVtcHR5TGV0RXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlm
aWVyJikgeyByZXR1cm4gQXNzaWdubWVudEV4cHI7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mKSB7IHJldHVybiBZaWVsZEV4cHI7IH0KICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVZaWVsZChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHBy
ZXNzaW9uVHlwZSwgYm9vbCwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gWWllbGRFeHByOyB9Cisg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXdhaXQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIEF3YWl0RXhwcjsgfQogICAgIENs
YXNzRXhwcmVzc2lvbiBjcmVhdGVDbGFzc0V4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29u
c3QgUGFyc2VyQ2xhc3NJbmZvPFN5bnRheENoZWNrZXI+JiwgVmFyaWFibGVFbnZpcm9ubWVudCYs
IEV4cHJlc3Npb25UeXBlLCBFeHByZXNzaW9uVHlwZSwgUHJvcGVydHlMaXN0LCBQcm9wZXJ0eUxp
c3QpIHsgcmV0dXJuIENsYXNzRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4
cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25NZXRhZGF0YShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGlu
dCwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIHVuc2lnbmVkLCBTb3VyY2VQYXJzZU1v
ZGUsIGJvb2wsIElubmVyQXJyb3dGdW5jdGlvbkNvZGVGZWF0dXJlcyA9IE5vSW5uZXJBcnJvd0Z1
bmN0aW9uRmVhdHVyZXMpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQogICAgIEV4cHJl
c3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0
aW9uRXhwcjsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZU1ldGhvZERlZmluaXRpb24oY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNr
ZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29kZUNhY2hlLmNwcAppbmRleCAwZjUzNzlhZDI1ZmI2MmY2OTVjYjNiMmI5ZTg4Zjg3
MWJiZDg0N2MyLi5mMTQ3ZWQzYWQxOGNjNTU3YWIyNTk5NmRiNjUwYWMzYmMxYjgyMTg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKQEAgLTgxLDExICs4
MSwxMSBAQCB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgQ2FjaGVUeXBlczxVbmxpbmtlZE1vZHVsZVByb2dy
YW1Db2RlQmxvY2s+IHsKIH07CiAKIHRlbXBsYXRlIDxjbGFzcyBVbmxpbmtlZENvZGVCbG9ja1R5
cGUsIGNsYXNzIEV4ZWN1dGFibGVUeXBlPgotVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2Fj
aGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGVjdXRhYmxl
LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1v
ZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlIGNv
bW1lbnRNb2RlLCBEZWJ1Z2dlck1vZGUgZGVidWdnZXJNb2RlLCBQYXJzZXJFcnJvciYgZXJyb3Is
IEV2YWxDb250ZXh0VHlwZSBldmFsQ29udGV4dFR5cGUsIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1l
bnQqIHZhcmlhYmxlc1VuZGVyVERaKQorVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2RlQ2FjaGU6
OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGVjdXRhYmxlLCBj
b25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEpTUGFyc2VyQnVpbHRpbk1vZGUgYnVpbHRpbk1vZGUs
IEpTUGFyc2VyU3RyaWN0TW9kZSBzdHJpY3RNb2RlLCBKU1BhcnNlclNjcmlwdE1vZGUgc2NyaXB0
TW9kZSwgRGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVycm9yLCBFdmFs
Q29udGV4dFR5cGUgZXZhbENvbnRleHRUeXBlLCBjb25zdCBWYXJpYWJsZUVudmlyb25tZW50KiB2
YXJpYWJsZXNVbmRlclREWikKIHsKICAgICBEZXJpdmVkQ29udGV4dFR5cGUgZGVyaXZlZENvbnRl
eHRUeXBlID0gZXhlY3V0YWJsZS0+ZGVyaXZlZENvbnRleHRUeXBlKCk7CiAgICAgYm9vbCBpc0Fy
cm93RnVuY3Rpb25Db250ZXh0ID0gZXhlY3V0YWJsZS0+aXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgp
OwotICAgIFNvdXJjZUNvZGVLZXkga2V5KHNvdXJjZSwgU3RyaW5nKCksIENhY2hlVHlwZXM8VW5s
aW5rZWRDb2RlQmxvY2tUeXBlPjo6Y29kZVR5cGUsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBj
b21tZW50TW9kZSwgZGVyaXZlZENvbnRleHRUeXBlLCBldmFsQ29udGV4dFR5cGUsIGlzQXJyb3dG
dW5jdGlvbkNvbnRleHQpOworICAgIFNvdXJjZUNvZGVLZXkga2V5KHNvdXJjZSwgU3RyaW5nKCks
IENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6Y29kZVR5cGUsIGJ1aWx0aW5Nb2Rl
LCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUsIGV2YWxDb250ZXh0
VHlwZSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCk7CiAgICAgU291cmNlQ29kZVZhbHVlKiBjYWNo
ZSA9IG1fc291cmNlQ29kZS5maW5kQ2FjaGVBbmRVcGRhdGVBZ2Uoa2V5KTsKICAgICAvLyBGSVhN
RTogV2Ugc2hvdWxkIGRvIHNvbWV0aGluZyBzbWFydCBmb3IgVERaIGluc3RlYWQgb2YganVzdCBk
aXNhYmxpbmcgY2FjaGluZy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU0MDEwCkBAIC0xMDQsNyArMTA0LDcgQEAgVW5saW5rZWRDb2RlQmxvY2tUeXBl
KiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBl
eGUKICAgICB9CiAgICAgdHlwZWRlZiB0eXBlbmFtZSBDYWNoZVR5cGVzPFVubGlua2VkQ29kZUJs
b2NrVHlwZT46OlJvb3ROb2RlIFJvb3ROb2RlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSb290Tm9k
ZT4gcm9vdE5vZGUgPSBwYXJzZTxSb290Tm9kZT4oCi0gICAgICAgICZ2bSwgc291cmNlLCBJZGVu
dGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBjb21tZW50TW9kZSwgQ2FjaGVUeXBl
czxVbmxpbmtlZENvZGVCbG9ja1R5cGU+OjpwYXJzZU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLCBlcnJvciwgbnVsbHB0ciwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBkZXJpdmVkQ29udGV4
dFR5cGUsIGV2YWxDb250ZXh0VHlwZSk7CisgICAgICAgICZ2bSwgc291cmNlLCBJZGVudGlmaWVy
KCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBzY3JpcHRNb2RlLCBDYWNoZVR5cGVzPFVubGlu
a2VkQ29kZUJsb2NrVHlwZT46OnBhcnNlTW9kZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGVy
cm9yLCBudWxscHRyLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGRlcml2ZWRDb250ZXh0VHlwZSwg
ZXZhbENvbnRleHRUeXBlKTsKICAgICBpZiAoIXJvb3ROb2RlKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIApAQCAtMTM2LDE4ICsxMzYsMTggQEAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiBDb2Rl
Q2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVUeXBlKiBleGUKIFVu
bGlua2VkUHJvZ3JhbUNvZGVCbG9jayogQ29kZUNhY2hlOjpnZXRQcm9ncmFtQ29kZUJsb2NrKFZN
JiB2bSwgUHJvZ3JhbUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNv
dXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJzZXJTdHJpY3RNb2Rl
IHN0cmljdE1vZGUsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiBlcnJv
cikKIHsKICAgICBWYXJpYWJsZUVudmlyb25tZW50IGVtcHR5UGFyZW50VERaVmFyaWFibGVzOwot
ICAgIHJldHVybiBnZXRHbG9iYWxDb2RlQmxvY2s8VW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrPih2
bSwgZXhlY3V0YWJsZSwgc291cmNlLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgSlNQYXJzZXJD
b21tZW50TW9kZTo6Q2xhc3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgRXZhbENvbnRleHRUeXBl
OjpOb25lLCAmZW1wdHlQYXJlbnRURFpWYXJpYWJsZXMpOworICAgIHJldHVybiBnZXRHbG9iYWxD
b2RlQmxvY2s8VW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrPih2bSwgZXhlY3V0YWJsZSwgc291cmNl
LCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBk
ZWJ1Z2dlck1vZGUsIGVycm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZlbXB0eVBhcmVudFRE
WlZhcmlhYmxlcyk7CiB9CiAKIFVubGlua2VkRXZhbENvZGVCbG9jayogQ29kZUNhY2hlOjpnZXRF
dmFsQ29kZUJsb2NrKFZNJiB2bSwgRXZhbEV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNv
dXJjZUNvZGUmIHNvdXJjZSwgSlNQYXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgSlNQYXJz
ZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFBhcnNl
ckVycm9yJiBlcnJvciwgRXZhbENvbnRleHRUeXBlIGV2YWxDb250ZXh0VHlwZSwgY29uc3QgVmFy
aWFibGVFbnZpcm9ubWVudCogdmFyaWFibGVzVW5kZXJURFopCiB7Ci0gICAgcmV0dXJuIGdldEds
b2JhbENvZGVCbG9jazxVbmxpbmtlZEV2YWxDb2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3Vy
Y2UsIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2lj
LCBkZWJ1Z2dlck1vZGUsIGVycm9yLCBldmFsQ29udGV4dFR5cGUsIHZhcmlhYmxlc1VuZGVyVERa
KTsKKyAgICByZXR1cm4gZ2V0R2xvYmFsQ29kZUJsb2NrPFVubGlua2VkRXZhbENvZGVCbG9jaz4o
dm0sIGV4ZWN1dGFibGUsIHNvdXJjZSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIEpTUGFyc2Vy
U2NyaXB0TW9kZTo6Q2xhc3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgZXZhbENvbnRleHRUeXBl
LCB2YXJpYWJsZXNVbmRlclREWik7CiB9CiAKIFVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9j
ayogQ29kZUNhY2hlOjpnZXRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKFZNJiB2bSwgTW9kdWxlUHJv
Z3JhbUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgSlNQ
YXJzZXJCdWlsdGluTW9kZSBidWlsdGluTW9kZSwgRGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSwg
UGFyc2VyRXJyb3ImIGVycm9yKQogewogICAgIFZhcmlhYmxlRW52aXJvbm1lbnQgZW1wdHlQYXJl
bnRURFpWYXJpYWJsZXM7Ci0gICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxVbmxpbmtlZE1v
ZHVsZVByb2dyYW1Db2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2Rl
LCBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxl
LCBkZWJ1Z2dlck1vZGUsIGVycm9yLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUsICZlbXB0eVBhcmVu
dFREWlZhcmlhYmxlcyk7CisgICAgcmV0dXJuIGdldEdsb2JhbENvZGVCbG9jazxVbmxpbmtlZE1v
ZHVsZVByb2dyYW1Db2RlQmxvY2s+KHZtLCBleGVjdXRhYmxlLCBzb3VyY2UsIGJ1aWx0aW5Nb2Rl
LCBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUs
IGRlYnVnZ2VyTW9kZSwgZXJyb3IsIEV2YWxDb250ZXh0VHlwZTo6Tm9uZSwgJmVtcHR5UGFyZW50
VERaVmFyaWFibGVzKTsKIH0KIAogLy8gRklYTUU6IFRoZXJlJ3Mgbm8gbmVlZCB0byBhZGQgdGhl
IGZ1bmN0aW9uJ3MgbmFtZSB0byB0aGUga2V5IGhlcmUuIEl0J3MgYWxyZWFkeSBpbiB0aGUgc291
cmNlIGNvZGUuCkBAIC0xNTgsNyArMTU4LDcgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUq
IENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHYKICAg
ICAgICAgc291cmNlLCBuYW1lLnN0cmluZygpLCBTb3VyY2VDb2RlVHlwZTo6RnVuY3Rpb25UeXBl
LAogICAgICAgICBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAogICAgICAgICBKU1Bh
cnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwKLSAgICAgICAgSlNQYXJzZXJDb21tZW50TW9kZTo6
Q2xhc3NpYywKKyAgICAgICAgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLAogICAgICAgICBE
ZXJpdmVkQ29udGV4dFR5cGU6Ok5vbmUsCiAgICAgICAgIEV2YWxDb250ZXh0VHlwZTo6Tm9uZSwK
ICAgICAgICAgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCk7CkBAIC0xNzMsNyArMTczLDcgQEAgVW5s
aW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxl
RnJvbUdsb2JhbENvZGUoVk0mIHYKICAgICBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZUxh
c3ROZXdsaW5lOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3JhbSA9IHBh
cnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBzb3VyY2UsIElkZW50aWZpZXIoKSwgSlNQ
YXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2Rl
OjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9k
ZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAorICAgICAgICBKU1BhcnNl
clN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3Vy
Y2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKICAgICAg
ICAgZXJyb3IsICZwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICBpZiAoIXByb2dyYW0p
IHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZXJyb3IuaXNWYWxpZCgpKTsKQEAgLTIwMiw3ICsy
MDIsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlv
bkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShWTSYgdgogICAgIG1ldGFkYXRhLT5zZXRFbmRQb3Np
dGlvbihwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICAvLyBUaGUgRnVuY3Rpb24gY29u
c3RydWN0b3Igb25seSBoYXMgYWNjZXNzIHRvIGdsb2JhbCB2YXJpYWJsZXMsIHNvIG5vIHZhcmlh
YmxlcyB3aWxsIGJlIHVuZGVyIFREWi4KICAgICBWYXJpYWJsZUVudmlyb25tZW50IGVtcHR5VERa
VmFyaWFibGVzOwotICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1
dGFibGUgPSBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKCZ2bSwgc291cmNlLCBt
ZXRhZGF0YSwgVW5saW5rZWROb3JtYWxGdW5jdGlvbiwgQ29uc3RydWN0QWJpbGl0eTo6Q2FuQ29u
c3RydWN0LCBKU1BhcnNlckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBlbXB0eVREWlZhcmlhYmxlcywg
RGVyaXZlZENvbnRleHRUeXBlOjpOb25lKTsKKyAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGU6OmNyZWF0
ZSgmdm0sIHNvdXJjZSwgbWV0YWRhdGEsIFVubGlua2VkTm9ybWFsRnVuY3Rpb24sIENvbnN0cnVj
dEFiaWxpdHk6OkNhbkNvbnN0cnVjdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBlbXB0
eVREWlZhcmlhYmxlcywgRGVyaXZlZENvbnRleHRUeXBlOjpOb25lKTsKIAogICAgIGZ1bmN0aW9u
RXhlY3V0YWJsZS0+c2V0U291cmNlVVJMRGlyZWN0aXZlKHNvdXJjZS5wcm92aWRlcigpLT5zb3Vy
Y2VVUkwoKSk7CiAgICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5zZXRTb3VyY2VNYXBwaW5nVVJMRGly
ZWN0aXZlKHNvdXJjZS5wcm92aWRlcigpLT5zb3VyY2VNYXBwaW5nVVJMKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaAppbmRleCAzMmI0MWRlZTA1NWVmMjMxODcz
ODZlNzExM2RhNWM1NjNhY2VlN2Y0Li5mNWIwYjIxNmIyMWIwMzE0YWZmNzJlMWZiNjcyOTJiNDI4
NjEwYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2Fj
aGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaApAQCAt
MTk5LDcgKzE5OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VW5saW5rZWRDb2RlQmxvY2tUeXBlLCBjbGFzcyBFeGVjdXRhYmxlVHlwZT4gCi0gICAgVW5saW5r
ZWRDb2RlQmxvY2tUeXBlKiBnZXRHbG9iYWxDb2RlQmxvY2soVk0mLCBFeGVjdXRhYmxlVHlwZSos
IGNvbnN0IFNvdXJjZUNvZGUmLCBKU1BhcnNlckJ1aWx0aW5Nb2RlLCBKU1BhcnNlclN0cmljdE1v
ZGUsIEpTUGFyc2VyQ29tbWVudE1vZGUsIERlYnVnZ2VyTW9kZSwgUGFyc2VyRXJyb3ImLCBFdmFs
Q29udGV4dFR5cGUsIGNvbnN0IFZhcmlhYmxlRW52aXJvbm1lbnQqKTsKKyAgICBVbmxpbmtlZENv
ZGVCbG9ja1R5cGUqIGdldEdsb2JhbENvZGVCbG9jayhWTSYsIEV4ZWN1dGFibGVUeXBlKiwgY29u
c3QgU291cmNlQ29kZSYsIEpTUGFyc2VyQnVpbHRpbk1vZGUsIEpTUGFyc2VyU3RyaWN0TW9kZSwg
SlNQYXJzZXJTY3JpcHRNb2RlLCBEZWJ1Z2dlck1vZGUsIFBhcnNlckVycm9yJiwgRXZhbENvbnRl
eHRUeXBlLCBjb25zdCBWYXJpYWJsZUVudmlyb25tZW50Kik7CiAKICAgICBDb2RlQ2FjaGVNYXAg
bV9zb3VyY2VDb2RlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25JZGVudGlmaWVycy5oCmluZGV4IDQwNTEyNjJkYTUxYmNiZGFiNzc1Y2Y2MWIwYzBjYmMw
ZmY1NzExZjEuLjczODlmOWVjZWNlNWY4OGEzOGY0NjI3ZDIzODdkNjIxN2I5NjVmZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApA
QCAtMTA5LDYgKzEwOSw3IEBACiAgICAgbWFjcm8oYXJndW1lbnRzKSBcCiAgICAgbWFjcm8oYXMp
IFwKICAgICBtYWNybyhhc3NpZ24pIFwKKyAgICBtYWNybyhhc3luYykgXAogICAgIG1hY3JvKGJh
Y2spIFwKICAgICBtYWNybyhiaW5kKSBcCiAgICAgbWFjcm8oYmx1cikgXApAQCAtMjcxLDYgKzI3
Miw3IEBACiAgICAgbWFjcm8oeWVhcikKIAogI2RlZmluZSBKU0NfQ09NTU9OX0lERU5USUZJRVJT
X0VBQ0hfS0VZV09SRChtYWNybykgXAorICAgIG1hY3JvKGF3YWl0KSBcCiAgICAgbWFjcm8oYnJl
YWspIFwKICAgICBtYWNybyhjYXNlKSBcCiAgICAgbWFjcm8oY2F0Y2gpIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKaW5kZXggOTU0ODcwNmY0ZDYxNTgx
ZDBiNGRmMzdjYjZjZWVmOTYwNmQyOTM4Ni4uODYwOWMzMzk1ZjA4MGY0MjRhNDNkMTAwZDViZTg2
MmQ2Y2JlYWNlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
cGxldGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlv
bi5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgYm9vbCBjaGVja1N5bnRheChWTSYgdm0sIGNvbnN0IFNv
dXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogICAgIFJFTEVBU0VfQVNTRVJU
KHZtLmF0b21pY1N0cmluZ1RhYmxlKCkgPT0gd3RmVGhyZWFkRGF0YSgpLmF0b21pY1N0cmluZ1Rh
YmxlKCkpOwogICAgIHJldHVybiAhIXBhcnNlPFByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBz
b3VyY2UsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwKLSAg
ICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29tbWVudE1vZGU6
OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUsIFN1cGVyQmluZGluZzo6Tm90
TmVlZGVkLCBlcnJvcik7CisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBK
U1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFNvdXJjZVBhcnNlTW9kZTo6UHJvZ3JhbU1vZGUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CiB9CiAKIGJvb2wgY2hlY2tNb2R1bGVT
eW50YXgoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcnNlckVy
cm9yJiBlcnJvcikKQEAgLTc1LDcgKzc1LDcgQEAgYm9vbCBjaGVja01vZHVsZVN5bnRheChFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGUKICAg
ICBSRUxFQVNFX0FTU0VSVCh2bS5hdG9taWNTdHJpbmdUYWJsZSgpID09IHd0ZlRocmVhZERhdGEo
KS5hdG9taWNTdHJpbmdUYWJsZSgpKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kdWxlUHJvZ3Jh
bU5vZGU+IG1vZHVsZVByb2dyYW1Ob2RlID0gcGFyc2U8TW9kdWxlUHJvZ3JhbU5vZGU+KAogICAg
ICAgICAmdm0sIHNvdXJjZSwgSWRlbnRpZmllcigpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RC
dWlsdGluLAotICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6OlN0cmljdCwgSlNQYXJzZXJDb21t
ZW50TW9kZTo6TW9kdWxlLCBTb3VyY2VQYXJzZU1vZGU6Ok1vZHVsZUFuYWx5emVNb2RlLCBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6
OlN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9k
dWxlQW5hbHl6ZU1vZGUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBlcnJvcik7CiAgICAgaWYg
KCFtb2R1bGVQcm9ncmFtTm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCmluZGV4IDZiNzgyOGE4Njg1ODEz
NjE5OGRhNWFkMGJmMTcwZjdlYmEzZmU4MGQuLjM4Yjc1ODZkZDdjYjU5OWY5ZGY5NDNhZmRlMWE5
NDEyZTk5NzA5NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4
ZWN1dGFibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGUuY3BwCkBAIC01NzMsNyArNTczLDcgQEAgSlNPYmplY3QqIFByb2dyYW1FeGVjdXRhYmxlOjpj
aGVja1N5bnRheChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFByb2dyYW1Ob2RlPiBwcm9ncmFtTm9kZSA9IHBhcnNlPFByb2dyYW1Ob2RlPigKICAg
ICAgICAgdm0sIG1fc291cmNlLCBJZGVudGlmaWVyKCksIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5v
dEJ1aWx0aW4sCi0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNl
ckNvbW1lbnRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOworICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6
Ok5vdFN0cmljdCwgSlNQYXJzZXJTY3JpcHRNb2RlOjpDbGFzc2ljLCBTb3VyY2VQYXJzZU1vZGU6
OlByb2dyYW1Nb2RlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZXJyb3IpOwogICAgIGlmIChw
cm9ncmFtTm9kZSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgQVNTRVJUKGVycm9yLmlzVmFsaWQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKaW5kZXggYWM4
YWI2ZmQwYmUzMTY4ODBjM2U0MDBmMmJiYjUzNmFjMjk4YjI2NS4uNzMyMTBjNjk3ZTY1OGM3MDQw
NDE2NjAxODE2ODIzZTljN2MzODAzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4ZWN1dGFibGUuaApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAg
REVDTEFSRV9JTkZPOwogCi0gICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25z
dCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFs
c2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNs
YXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1N
b2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxz
ZSwgZXZhbENvbnRleHRUeXBlKCkpOyB9CisgICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUlu
Zm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1v
ZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0
TW9kZTo6Q2xhc3NpYywgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIFNvdXJjZVBhcnNlTW9kZTo6
UHJvZ3JhbU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0
KCksIGZhbHNlLCBldmFsQ29udGV4dFR5cGUoKSk7IH0KIAogICAgIHVuc2lnbmVkIG51bVZhcmlh
YmxlcygpIHsgcmV0dXJuIG1fdW5saW5rZWRFdmFsQ29kZUJsb2NrLT5udW1WYXJpYWJsZXMoKTsg
fQogICAgIHVuc2lnbmVkIG51bWJlck9mRnVuY3Rpb25EZWNscygpIHsgcmV0dXJuIG1fdW5saW5r
ZWRFdmFsQ29kZUJsb2NrLT5udW1iZXJPZkZ1bmN0aW9uRGVjbHMoKTsgfQpAQCAtNTAwLDcgKzUw
MCw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgREVDTEFSRV9JTkZPOwogCi0gICAgRXhlY3V0
YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25zdCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1
c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFsc2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIEpTUGFyc2VyQ29tbWVudE1vZGU6OkNsYXNzaWMsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29udGV4dFR5cGUoKSwg
aXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgRXZhbENvbnRleHRUeXBlOjpOb25lKTsg
fQorICAgIEV4ZWN1dGFibGVJbmZvIGV4ZWN1dGFibGVJbmZvKCkgY29uc3QgeyByZXR1cm4gRXhl
Y3V0YWJsZUluZm8odXNlc0V2YWwoKSwgaXNTdHJpY3RNb2RlKCksIGZhbHNlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBKU1BhcnNlclNjcmlwdE1vZGU6OkNsYXNzaWMsIFN1cGVyQmlu
ZGluZzo6Tm90TmVlZGVkLCBTb3VyY2VQYXJzZU1vZGU6OlByb2dyYW1Nb2RlLCBkZXJpdmVkQ29u
dGV4dFR5cGUoKSwgaXNBcnJvd0Z1bmN0aW9uQ29udGV4dCgpLCBmYWxzZSwgRXZhbENvbnRleHRU
eXBlOjpOb25lKTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFz
ZTsKQEAgLTU0MSw3ICs1NDEsNyBAQCBwdWJsaWM6CiAKICAgICBERUNMQVJFX0lORk87CiAKLSAg
ICBFeGVjdXRhYmxlSW5mbyBleGVjdXRhYmxlSW5mbygpIGNvbnN0IHsgcmV0dXJuIEV4ZWN1dGFi
bGVJbmZvKHVzZXNFdmFsKCksIGlzU3RyaWN0TW9kZSgpLCBmYWxzZSwgZmFsc2UsIENvbnN0cnVj
dG9yS2luZDo6Tm9uZSwgSlNQYXJzZXJDb21tZW50TW9kZTo6TW9kdWxlLCBTdXBlckJpbmRpbmc6
Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFsdWF0ZU1vZGUsIGRlcml2ZWRD
b250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCksIGZhbHNlLCBFdmFsQ29udGV4
dFR5cGU6Ok5vbmUpOyB9CisgICAgRXhlY3V0YWJsZUluZm8gZXhlY3V0YWJsZUluZm8oKSBjb25z
dCB7IHJldHVybiBFeGVjdXRhYmxlSW5mbyh1c2VzRXZhbCgpLCBpc1N0cmljdE1vZGUoKSwgZmFs
c2UsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIEpTUGFyc2VyU2NyaXB0TW9kZTo6TW9k
dWxlLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVFdmFs
dWF0ZU1vZGUsIGRlcml2ZWRDb250ZXh0VHlwZSgpLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0KCks
IGZhbHNlLCBFdmFsQ29udGV4dFR5cGU6Ok5vbmUpOyB9CiAKICAgICBVbmxpbmtlZE1vZHVsZVBy
b2dyYW1Db2RlQmxvY2sqIHVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jaygpIHsgcmV0dXJu
IG1fdW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmdldCgpOyB9CiAKQEAgLTY2Myw3ICs2
NjMsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgSWRlbnRpZmllciYgaW5mZXJyZWROYW1lKCkgeyBy
ZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPmluZmVycmVkTmFtZSgpOyB9CiAgICAgc2l6ZV90
IHBhcmFtZXRlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPnBh
cmFtZXRlckNvdW50KCk7IH0gLy8gRXhjbHVkaW5nICd0aGlzJyEKICAgICBTb3VyY2VQYXJzZU1v
ZGUgcGFyc2VNb2RlKCkgY29uc3QgeyByZXR1cm4gbV91bmxpbmtlZEV4ZWN1dGFibGUtPnBhcnNl
TW9kZSgpOyB9Ci0gICAgSlNQYXJzZXJDb21tZW50TW9kZSBjb21tZW50TW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdW5saW5rZWRFeGVjdXRhYmxlLT5jb21tZW50TW9kZSgpOyB9CisgICAgSlNQYXJz
ZXJTY3JpcHRNb2RlIHNjcmlwdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX3VubGlua2VkRXhlY3V0
YWJsZS0+c2NyaXB0TW9kZSgpOyB9CiAgICAgY29uc3QgU291cmNlQ29kZSYgY2xhc3NTb3VyY2Uo
KSBjb25zdCB7IHJldHVybiBtX3VubGlua2VkRXhlY3V0YWJsZS0+Y2xhc3NTb3VyY2UoKTsgfQog
CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTW9kdWxlTG9hZGVyUHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01vZHVsZUxvYWRlclBy
b3RvdHlwZS5jcHAKaW5kZXggYTJkYTVmYTU5M2M4YTllODI5NTU1OTI5ZDliZjE4YzIwYzdiNDVj
NC4uYTU1ZjQwNDQ2YWNlMTBhNzYyOWRlNWI1ZjkzODZkYWU1NTQyYzdmNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTW9kdWxlTG9hZGVyUHJvdG90eXBlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Nb2R1bGVMb2FkZXJQcm90b3R5cGUu
Y3BwCkBAIC0xMjYsNyArMTI2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBtb2R1
bGVMb2FkZXJQcm90b3R5cGVQYXJzZU1vZHVsZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgUGFyc2Vy
RXJyb3IgZXJyb3I7CiAgICAgc3RkOjp1bmlxdWVfcHRyPE1vZHVsZVByb2dyYW1Ob2RlPiBtb2R1
bGVQcm9ncmFtTm9kZSA9IHBhcnNlPE1vZHVsZVByb2dyYW1Ob2RlPigKICAgICAgICAgJnZtLCBz
b3VyY2VDb2RlLCBJZGVudGlmaWVyKCksIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4s
Ci0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6U3RyaWN0LCBKU1BhcnNlckNvbW1lbnRNb2Rl
OjpNb2R1bGUsIFNvdXJjZVBhcnNlTW9kZTo6TW9kdWxlQW5hbHl6ZU1vZGUsIFN1cGVyQmluZGlu
Zzo6Tm90TmVlZGVkLCBlcnJvcik7CisgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6U3RyaWN0
LCBKU1BhcnNlclNjcmlwdE1vZGU6Ok1vZHVsZSwgU291cmNlUGFyc2VNb2RlOjpNb2R1bGVBbmFs
eXplTW9kZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIGVycm9yKTsKIAogICAgIGlmIChlcnJv
ci5pc1ZhbGlkKCkpIHsKICAgICAgICAgdGhyb3dWTUVycm9yKGV4ZWMsIHNjb3BlLCBlcnJvci50
b0Vycm9yT2JqZWN0KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgc291cmNlQ29kZSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYv
d3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggOWU5Y2Y0NDBmODQ0Y2NlODA3NjY2Nzg5MzkzZjI1
YmM0NjIxNjRkYS4uMDYwNWMxNTFmODkxMjE1MzAyZGRlMDA5NjQ0ZTAwNDFkOGM1NjNjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC0zNjAsNiArMzYwLDEwIEBAIHRoZSBwdWJsaWMgaU9T
IFNESy4gV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBmaWxlCiAjZGVmaW5lIEVOQUJMRV9FUzZfTU9EVUxFUyAwCiAjZW5kaWYKIAorI2lmICFk
ZWZpbmVkKEVOQUJMRV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVgpCisjZGVmaW5lIEVOQUJM
RV9FUzIwMTdfQVNZTkNGVU5DVElPTl9TWU5UQVggMAorI2VuZGlmCisKICNpZiAhZGVmaW5lZChF
TkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TKQogI2RlZmluZSBFTkFCTEVfQ09OVEVOVF9FWFRFTlNJ
T05TIDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmNmM5ODIwZjUzYTMxYmQyYzQwYWZjNzE4YWY3
ODJhNzc5OTgxNjgyLi5mZWUwNzQwZTEwZTI2ODU4MjJjOTY3NGNkNDNmZGJmOWI0ZjUwOWUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9NT0RVTEVTID0g
OworRU5BQkxFX0VTMjAxN19BU1lOQ0ZVTkNUSU9OX1NZTlRBWCA9IDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklOR1tzZGs9YXBwbGV0dipdID0gOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HW3Nk
az1pcGhvbmUqXSA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklOR1tzZGs9bWFjb3N4Kl0gPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMDAs
NCArMjAxLDQgQEAgRU5BQkxFX0ZUTF9KSVRbc2RrPWlwaG9uZW9zKl0gPSBFTkFCTEVfRlRMX0pJ
VDsKIAogRU5BQkxFX0NVU1RPTV9FTEVNRU5UUyA9IEVOQUJMRV9DVVNUT01fRUxFTUVOVFM7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF