<?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>181978</bug_id>
          
          <creation_ts>2018-01-23 04:35:21 -0800</creation_ts>
          <short_desc>[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties</short_desc>
          <delta_ts>2018-01-23 13:40:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jlewis3</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392022</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 04:35:21 -0800</bug_when>
    <thetext>There are a few properties left on keyframes (composite and easing) that we don&apos;t support yet as well as the getKeyframes() method to expose the parsed keyframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392023</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-23 04:35:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/36772586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392026</commentid>
    <comment_count>2</comment_count>
      <attachid>332019</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 05:09:25 -0800</bug_when>
    <thetext>Created attachment 332019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392027</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-23 05:11:15 -0800</bug_when>
    <thetext>Attachment 332019 did not pass style-queue:


ERROR: Source/WebCore/animation/KeyframeEffect.cpp:456:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
WARNING: This machine could support 4 simulators, but is only configured for 3.
WARNING: Please see &lt;https://trac.webkit.org/wiki/IncreasingKernelLimits&gt;.
Total errors found: 1 in 17 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>1392099</commentid>
    <comment_count>4</comment_count>
      <attachid>332034</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 09:56:57 -0800</bug_when>
    <thetext>Created attachment 332034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392101</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-23 09:58:53 -0800</bug_when>
    <thetext>Attachment 332034 did not pass style-queue:


ERROR: Source/WebCore/animation/KeyframeEffect.cpp:456:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
WARNING: This machine could support 4 simulators, but is only configured for 3.
WARNING: Please see &lt;https://trac.webkit.org/wiki/IncreasingKernelLimits&gt;.
Total errors found: 1 in 17 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>1392113</commentid>
    <comment_count>6</comment_count>
      <attachid>332034</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-01-23 10:24:00 -0800</bug_when>
    <thetext>Comment on attachment 332034
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        parsig the remaining properties that can be exposed on keyframes: &quot;easing&quot; and &quot;composite&quot;. And since we parse

parsig

&gt; Source/WebCore/animation/KeyframeEffect.cpp:82
&gt; +    for (size_t i = 0; i &lt; keyframes.size(); ++i) {

Use for : loop

&gt; Source/WebCore/platform/animation/TimingFunction.cpp:106
&gt; +ExceptionOr&lt;Ref&lt;TimingFunction&gt;&gt; TimingFunction::createFromCSSText(const String&amp; cssText)

If this returned a RefPtr&lt;TimingFunction&gt; you wouldn&apos;t need the &amp;foo.get() at the calling sites.

&gt; Source/WebCore/platform/animation/TimingFunction.cpp:172
&gt; +        if (function.x1() == 0.25 &amp;&amp; function.y1() == 0.1 &amp;&amp; function.x2() == 0.25 &amp;&amp; function.y2() == 1.0)
&gt; +            return &quot;ease&quot;;
&gt; +        if (function.x1() == 0.42 &amp;&amp; !function.y1() &amp;&amp; function.x2() == 1.0 &amp;&amp; function.y2() == 1.0)
&gt; +            return &quot;ease-in&quot;;
&gt; +        if (!function.x1() &amp;&amp; !function.y1() &amp;&amp; function.x2() == 0.58 &amp;&amp; function.y2() == 1.0)
&gt; +            return &quot;ease-out&quot;;
&gt; +        if (function.x1() == 0.42 &amp;&amp; !function.y1() &amp;&amp; function.x2() == 0.58 &amp;&amp; function.y2() == 1.0)
&gt; +            return &quot;ease-in-out&quot;;

Are these accurate enough? (no rounding errors?)

&gt; Source/WebCore/platform/animation/TimingFunction.cpp:180
&gt; +    if (m_type == TimingFunction::StepsFunction) {
&gt; +        auto&amp; function = downcast&lt;StepsTimingFunction&gt;(*this);
&gt; +        if (!function.stepAtStart())
&gt; +            return String::format(&quot;steps(%d)&quot;, function.numberOfSteps());
&gt; +    }

We don&apos;t do step-start or step-end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392114</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 10:27:18 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #6)
&gt; Comment on attachment 332034 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=332034&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        parsig the remaining properties that can be exposed on keyframes: &quot;easing&quot; and &quot;composite&quot;. And since we parse
&gt; 
&gt; parsig

Will fix in commit.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:82
&gt; &gt; +    for (size_t i = 0; i &lt; keyframes.size(); ++i) {
&gt; 
&gt; Use for : loop

Will fix in commit.

&gt; &gt; Source/WebCore/platform/animation/TimingFunction.cpp:106
&gt; &gt; +ExceptionOr&lt;Ref&lt;TimingFunction&gt;&gt; TimingFunction::createFromCSSText(const String&amp; cssText)
&gt; 
&gt; If this returned a RefPtr&lt;TimingFunction&gt; you wouldn&apos;t need the &amp;foo.get()
&gt; at the calling sites.

Will look into that.

&gt; &gt; Source/WebCore/platform/animation/TimingFunction.cpp:172
&gt; &gt; +        if (function.x1() == 0.25 &amp;&amp; function.y1() == 0.1 &amp;&amp; function.x2() == 0.25 &amp;&amp; function.y2() == 1.0)
&gt; &gt; +            return &quot;ease&quot;;
&gt; &gt; +        if (function.x1() == 0.42 &amp;&amp; !function.y1() &amp;&amp; function.x2() == 1.0 &amp;&amp; function.y2() == 1.0)
&gt; &gt; +            return &quot;ease-in&quot;;
&gt; &gt; +        if (!function.x1() &amp;&amp; !function.y1() &amp;&amp; function.x2() == 0.58 &amp;&amp; function.y2() == 1.0)
&gt; &gt; +            return &quot;ease-out&quot;;
&gt; &gt; +        if (function.x1() == 0.42 &amp;&amp; !function.y1() &amp;&amp; function.x2() == 0.58 &amp;&amp; function.y2() == 1.0)
&gt; &gt; +            return &quot;ease-in-out&quot;;
&gt; 
&gt; Are these accurate enough? (no rounding errors?)

Not that I have found in my testing.

&gt; &gt; Source/WebCore/platform/animation/TimingFunction.cpp:180
&gt; &gt; +    if (m_type == TimingFunction::StepsFunction) {
&gt; &gt; +        auto&amp; function = downcast&lt;StepsTimingFunction&gt;(*this);
&gt; &gt; +        if (!function.stepAtStart())
&gt; &gt; +            return String::format(&quot;steps(%d)&quot;, function.numberOfSteps());
&gt; &gt; +    }
&gt; 
&gt; We don&apos;t do step-start or step-end?

We should! Will fix in commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392132</commentid>
    <comment_count>8</comment_count>
      <attachid>332040</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 11:03:34 -0800</bug_when>
    <thetext>Created attachment 332040
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392135</commentid>
    <comment_count>9</comment_count>
      <attachid>332042</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 11:05:13 -0800</bug_when>
    <thetext>Created attachment 332042
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392148</commentid>
    <comment_count>10</comment_count>
      <attachid>332042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-23 11:24:53 -0800</bug_when>
    <thetext>Comment on attachment 332042
Patch for landing

Rejecting attachment 332042 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 332042, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/6184537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392179</commentid>
    <comment_count>11</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 12:04:05 -0800</bug_when>
    <thetext>Committed r227428: &lt;https://trac.webkit.org/changeset/227428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392223</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2018-01-23 13:26:35 -0800</bug_when>
    <thetext>On macOS WK1 the test http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html is failing consistently. It looks like the expectations changed for the test were not correct for this.

Build:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK1%20(Tests)/r227428%20(2865)/results.html

Diff:
--- /Volumes/Data/slave/highsierra-release-tests-wk1/build/layout-test-results/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt
+++ /Volumes/Data/slave/highsierra-release-tests-wk1/build/layout-test-results/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-actual.txt
@@ -1,11 +1,11 @@
 
 PASS Test default value 
-FAIL step-start function assert_approx_equals: The progress of the animation should be approximately 1 at 0ms expected a number but got a &quot;object&quot;
-FAIL steps(1, start) function assert_approx_equals: The progress of the animation should be approximately 1 at 0ms expected a number but got a &quot;object&quot;
+FAIL step-start function assert_equals: expected &quot;steps(1, start)&quot; but got &quot;step-start&quot;
+FAIL steps(1, start) function assert_equals: expected &quot;steps(1, start)&quot; but got &quot;step-start&quot;
 FAIL steps(2, start) function assert_approx_equals: The progress of the animation should be approximately 0.5 at 0ms expected a number but got a &quot;object&quot;
-FAIL step-end function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;
-FAIL steps(1) function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;
-FAIL steps(1, end) function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;
+FAIL step-end function assert_equals: expected &quot;steps(1)&quot; but got &quot;step-end&quot;
+FAIL steps(1) function assert_equals: expected &quot;steps(1)&quot; but got &quot;step-end&quot;
+FAIL steps(1, end) function assert_equals: expected &quot;steps(1)&quot; but got &quot;step-end&quot;
 FAIL steps(2, end) function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;
 FAIL frames function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;
 FAIL linear function assert_approx_equals: The progress of the animation should be approximately 0 at 0ms expected a number but got a &quot;object&quot;



Would this just need a rebaseline or is this something deeper?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392228</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 13:35:06 -0800</bug_when>
    <thetext>(In reply to Matt Lewis from comment #12)

Fixing it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392234</commentid>
    <comment_count>14</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-01-23 13:40:50 -0800</bug_when>
    <thetext>Committed r227441: &lt;https://trac.webkit.org/changeset/227441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332019</attachid>
            <date>2018-01-23 05:09:25 -0800</date>
            <delta_ts>2018-01-23 09:56:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181978-20180123140923.patch</filename>
            <type>text/plain</type>
            <size>97812</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFmZjVjOTRlMzAwYTE5
NTVjMzk0ODdjZWRhYjM1NjkyNjRlNWUyNC4uYTg3MmM5YzQ3Mjg5M2E4NTk5YmM2OTljNGEwZmE5
ODMzYTRlMTI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE4LTAxLTIzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFeHBvc2UgZ2V0S2V5ZnJhbWVzKCkgYW5kIHBhcnNpbmcgb2YgcmVtYWluaW5nIGtleWZyYW1l
IHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MTk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY3NzI1ODY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZmluaXNoIG91ciBpbXBs
ZW1lbnRhdGlvbiBvZiBtdWx0aXBsZSBrZXlmcmFtZXMgYnkgZXhwb3NpbmcgdGhlIGdldEtleWZy
YW1lcygpIG1ldGhvZCBvbiBLZXlmcmFtZUVmZmVjdCBhbmQKKyAgICAgICAgcGFyc2lnIHRoZSBy
ZW1haW5pbmcgcHJvcGVydGllcyB0aGF0IGNhbiBiZSBleHBvc2VkIG9uIGtleWZyYW1lczogImVh
c2luZyIgYW5kICJjb21wb3NpdGUiLiBBbmQgc2luY2Ugd2UgcGFyc2UKKyAgICAgICAgdGhvc2Ug
cHJvcGVydGllcyBvbiBrZXlmcmFtZXMsIHdlIGFsc28gcGFyc2UgImVhc2luZyIgb24gQW5pbWF0
aW9uRWZmZWN0VGltaW5nIGFuZCAiY29tcG9zaXRlIiBhbmQgIml0ZXJhdGlvbkNvbXBvc2l0ZSIK
KyAgICAgICAgb24gS2V5ZnJhbWVFZmZlY3QuIAorCisgICAgICAgIFRvIHN1cHBvcnQgdGhpcywg
d2UgaW1wbGVtZW50IGEgbmV3IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dCgpIG1l
dGhvZCB3aGljaCB0YWtlcyBpbiBhIHN0cmluZyB0aGF0IGlzCisgICAgICAgIGEgdmFsdWUgcHJv
dmlkZWQgZGlyZWN0bHkgdmlhIHRoZSBKUyBBUEkuIEFzIGl0cyBjb252ZXJzZSwgd2UgZXhwb3Nl
IGEgVGltaW5nRnVuY3Rpb246OmNzc1RleHQoKSBtZXRob2Qgd2hpY2gKKyAgICAgICAgcHJvdmlk
ZXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgc2VudCBiYWNrIHRvIEpTIHRvIHJlcHJlc2VudCBhIHRp
bWluZyBmdW5jdGlvbiwgdXNpbmcga2V5d29yZHMgd2hlbiB0aGUgdGltaW5nCisgICAgICAgIGZ1
bmN0aW9uIG1hdGNoZXMgb25lIGFuZCBvbW1pdHRpbmcgZGVmYXVsdCB2YWx1ZXMuCisKKyAgICAg
ICAgV2Ugbm93IGFsc28ga2VlcCB0cmFjayBvZiB0aGUgb3JpZ2luYWwgIm9mZnNldCIgdmFsdWUg
cHJvdmlkZWQgdGhyb3VnaCB0aGUgSlMgQVBJIHNpbmNlIHRoYXQgdmFsdWUgaXMgcmVxdWlyZWQK
KyAgICAgICAgd2hlbiBjYWxsaW5nIGdldEtleWZyYW1lcygpIGFuZCBkaXN0aW5jdCBmcm9tIHRo
ZSAiY29tcHV0ZWRPZmZzZXQiLiBUaGVzZSBvcmlnaW5hbCBvZmZzZXRzLCBjb21wb3NpdGUgb3Bl
cmF0aW9ucworICAgICAgICBhbmQgdGltaW5nIGZ1bmN0aW9ucyBhcmUga2VwdCBhcyBzZXBhcmF0
ZSBWZWN0b3JzIGZyb20gdGhlIEtleWZyYW1lTGlzdCBzaW5jZSB0aGlzIHR5cGUgZG9lcyBub3Qg
c3VwcG9ydCBleHBvc2luZworICAgICAgICB0aG9zZS4gV2UgbWF5IGNvbnNpZGVyIGltcHJvdmlu
ZyB0aGF0IGluIGEgZnV0dXJlIHBhdGNoLgorCisgICAgICAgIEZpbmFsbHksIHdlIG1ha2Ugc29t
ZSBhZGp1c3RtZW50cyBpbiB0aGUga2V5ZnJhbWUgcGFyc2luZyB0byBjb21wbHkgd2l0aCB0aGUg
c3BlY2lmaWNhdGlvbiBhbmQgY29ycmVjdGx5IHBhcnNlCisgICAgICAgIGFsbCBwcm92aWRlZCB0
aW1pbmcgZnVuY3Rpb25zLCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2Yga2V5ZnJhbWVzIGFu
ZCB0aW1pbmcgZnVuY3Rpb25zIHByb3ZpZGVkLgorCisgICAgICAgIE5vdGUgdGhhdCB0aGlzIHBh
dGNoIGlzIG9ubHkgYWJvdXQgcGFyc2luZywgc3RvcmluZyBhbmQgcmV0dXJuaW5nIHByb3ZpZGVk
IGVhc2luZyBhbmQgY29tcG9zaXRlIG9wZXJhdGlvbnMgYnV0CisgICAgICAgIHRoYXQgc3VjaCB2
YWx1ZXMgd2lsbCBvbmx5IGJlIHVzZWQgZm9yIHRoZSByZXNvbHV0aW9uIG9mIGFuaW1hdGlvbiBl
ZmZlY3RzIGluIGZ1dHVyZSBwYXRjaGVzLgorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlv
bkVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6OmdldENvbXB1
dGVkVGltaW5nKTogU2V0IHRoZSAiZWFzaW5nIiBwcm9wZXJ0eSBvbiB0aGUgZ2V0Q29tcHV0ZWRU
aW1pbmcoKSByZXR1cm4gdmFsdWUKKyAgICAgICAgbm93IHRoYXQgd2UgZXhwb3NlICJlYXNpbmci
IG9uIEFuaW1hdGlvbkVmZmVjdFRpbWluZy4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9u
RWZmZWN0VGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdFRpbWlu
Zzo6QW5pbWF0aW9uRWZmZWN0VGltaW5nKTogQ3JlYXRlIGEgbGluZWFyIFRpbWluZ0Z1bmN0aW9u
IGJ5IGRlZmF1bHQuCisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3RUaW1pbmc6OnNl
dEVhc2luZyk6IFBhcnNlIHRoZSAiZWFzaW5nIiB2YWx1ZSBhbmQgcHJvcGFnYXRlIGFuIGV4Y2Vw
dGlvbiBmb3IgaW52YWxpZCB2YWx1ZXMuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvbkVm
ZmVjdFRpbWluZy5oOiBFeHBvc2UgdGhlIG5ldyAiZWFzaW5nIiBwcm9wZXJ0eSBhbmQgYmFja2lu
ZyBUaW1pbmdGdW5jdGlvbi4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGlt
aW5nLmlkbDogRXhwb3NlIHRoZSBuZXcgImVhc2luZyIgcHJvcGVydHkuCisgICAgICAgICogYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
SURUb0lETEF0dHJpYnV0ZU5hbWUpOiBQcm92aWRlIGEgd2F5IHRvIGNvbnZlcnQgdGhlIG5hbWUg
b2YgYSBDU1MgcHJvcGVydHkgdG8gYSBzdHJpbmcgdGhhdCBjYW4KKyAgICAgICAgYmUgdXNlZCB0
byBnZW5lcmF0ZSBhIEpTIHByb3BlcnR5IG5hbWUgZm9yIHVzZSBieSBnZXRLZXlmcmFtZXMoKS4K
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVNaXNzaW5nS2V5ZnJhbWVPZmZzZXRzKTogSW1wbGVt
ZW50IHRoZSBmdWxsIHN0ZXBzIG9mIHRoZSBzcGVjLgorICAgICAgICAoV2ViQ29yZTo6cHJvY2Vz
c0l0ZXJhYmxlS2V5ZnJhbWVzKTogRml4IGEgcHJvYmxlbWF0aWMgZGVjbGFyYXRpb24gZm9yIHRo
ZSBlYXNpbmcgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpwcm9jZXNzUHJvcGVydHlJbmRl
eGVkS2V5ZnJhbWVzKTogTm93IHRoYXQgUHJvY2Vzc2VkS2V5ZnJhbWUgaGFzIGJvdGggYW4gb2Zm
c2V0IGFuZCBhIGNvbXB1dGVkT2Zmc2V0LCB1c2UKKyAgICAgICAgY29tcHV0ZWQgb2Zmc2V0cy4g
V2UgYWxzbyBmaXggYSBjb3VwbGUgb2YgbG9vcHMgdG8gZml4IGNvbXBsaWFuY2UgaXNzdWVzIHJl
dmVhbGVkIGJ5IFdQVCB0ZXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpj
cmVhdGUpOiBQYXJzZSB0aGUgcHJvdmlkZWQgImVhc2luZyIgcHJvcGVydHkgb24gdGhlIEtleWZy
YW1lRWZmZWN0T3B0aW9ucyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVj
dDo6Z2V0S2V5ZnJhbWVzKTogSW1wbGVtZW50IHRoZSBnZXRLZXlmcmFtZXMoKSBtZXRob2QgYXMg
bWFuZGF0ZWQgYnkgdGhlIHNwZWMuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
cHJvY2Vzc0tleWZyYW1lcyk6IEtlZXAgYSBsaXN0IG9mIHVudXNlZCBlYXNpbmdzIHNvIHRoZXNl
IG1pZ2h0IGJlIHBhcnNlZCBhcyB3ZWxsLCBhbmQKKyAgICAgICAgcG90ZW50aWFsbHkgdGhyb3cg
ZXhjZXB0aW9ucywgYXMgbWFuZGF0ZWQgYnkgdGhlIHNwZWMuIEZvciB2YWxpZCBlYXNpbmdzLCBz
dG9yZSB0aGVpciBtYXRjaGluZyBUaW1pbmdGdW5jdGlvbiBpbgorICAgICAgICBtX3RpbWluZ0Z1
bmN0aW9ucywgb3JpZ2luYWwgb2Zmc2V0IHZhbHVlcyBpbiBtX29mZnNldHMgYW5kIENvbXBvc2l0
ZU9wZXJhdGlvbiB2YWx1ZXMgaW4gbV9jb21wb3NpdGVPcGVyYXRpb25zLgorICAgICAgICAqIGFu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oOiBTd2l0Y2ggdGhlIG9yZGVyIGluIHdoaWNoIHdlIHNw
ZWNpZnkgc29tZSBvZiB0aGUgVmFyaWFudCB0eXBlcyBzbyB0aGF0IGRlZmF1bHQgdmFsdWVzCisg
ICAgICAgIGFyZSBjb3JyZWN0bHkgdXNlZC4KKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuaWRsOiBTd2l0Y2ggdGhlIG9yZGVyIGluIHdoaWNoIHdlIHNwZWNpZnkgc29tZSBvZiB0
aGUgVmFyaWFudCB0eXBlcyBzbyB0aGF0IGRlZmF1bHQgdmFsdWVzCisgICAgICAgIGFyZSBjb3Jy
ZWN0bHkgdXNlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpjc3NUZXh0IGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaDoKKwogMjAxOC0wMS0x
OSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXgsIHJlbW92ZSB1bnVzZWQgbGFtYmRhIGNhcHR1cmVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAppbmRleCA3ZTU5MWZiOWQ5ZmFj
MGYxNjdkMGIwNTkzMmJmMGY0YzM0OGNiOWMwLi45YWYxN2E4MWQ1MjNiYjBlZTM1OTgwYjFiNDZi
ZDFiZWQxMjkyYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0
aW9uRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcApAQCAtNTcsNiArNTcsNyBAQCBDb21wdXRlZFRpbWluZ1Byb3BlcnRpZXMgQW5pbWF0
aW9uRWZmZWN0OjpnZXRDb21wdXRlZFRpbWluZygpCiAgICAgY29tcHV0ZWRUaW1pbmcuaXRlcmF0
aW9ucyA9IG1fdGltaW5nLT5pdGVyYXRpb25zKCk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZHVyYXRp
b24gPSBzZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+aXRlcmF0aW9uRHVy
YXRpb24oKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZGlyZWN0aW9uID0gbV90aW1pbmctPmRpcmVj
dGlvbigpOworICAgIGNvbXB1dGVkVGltaW5nLmVhc2luZyA9IG1fdGltaW5nLT5lYXNpbmcoKTsK
ICAgICBjb21wdXRlZFRpbWluZy5lbmRUaW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0aW9uc0FQSVRp
bWUobV90aW1pbmctPmVuZFRpbWUoKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuYWN0aXZlRHVyYXRp
b24gPSBzZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+YWN0aXZlRHVyYXRp
b24oKSk7CiAgICAgaWYgKGF1dG8gZWZmZWN0TG9jYWxUaW1lID0gbG9jYWxUaW1lKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCmlu
ZGV4IGRhYzVmM2NkMjQyYmFlNWZjZWFkNGZhMDM3ZDM4Mjg0ZGNkZDdjYTMuLjU2ZjYyOThjZjlj
N2M5OWU0ZTkyMjdkN2RlMDE1MjdhMTc4NTE4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCkBAIC0zNCw2ICszNCw3IEBAIFJl
ZjxBbmltYXRpb25FZmZlY3RUaW1pbmc+IEFuaW1hdGlvbkVmZmVjdFRpbWluZzo6Y3JlYXRlKCkK
IH0KIAogQW5pbWF0aW9uRWZmZWN0VGltaW5nOjpBbmltYXRpb25FZmZlY3RUaW1pbmcoKQorICAg
IDogbV90aW1pbmdGdW5jdGlvbihMaW5lYXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKCkpCiB7CiB9
CiAKQEAgLTEyMCw0ICsxMjEsMTMgQEAgU2Vjb25kcyBBbmltYXRpb25FZmZlY3RUaW1pbmc6OmFj
dGl2ZUR1cmF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9pdGVyYXRpb25EdXJhdGlvbiAqIG1f
aXRlcmF0aW9uczsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gQW5pbWF0aW9uRWZmZWN0VGltaW5n
OjpzZXRFYXNpbmcoY29uc3QgU3RyaW5nJiBlYXNpbmcpCit7CisgICAgYXV0byB0aW1pbmdGdW5j
dGlvblJlc3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChlYXNpbmcpOwor
ICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIHRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICBtX3RpbWlu
Z0Z1bmN0aW9uID0gJnRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJldHVyblZhbHVlKCkuZ2V0KCk7Cisg
ICAgcmV0dXJuIHsgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oCmluZGV4IGI4ZGJiY2Zj
YTBiMzdlYzM2ODZjODE0NDczMTk5OGU2M2IwYWJmNDYuLmI5Zjg5OTI2Nzk2MmIwOTMzMzZjZDBl
NGFiNmQ5OTQ1OWJiODM5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25FZmZlY3RUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5p
bWF0aW9uRWZmZWN0VGltaW5nLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgogI2luY2x1ZGUgIkZpbGxNb2RlLmgiCiAjaW5jbHVkZSAiUGxheWJhY2tEaXJlY3Rp
b24uaCIKKyNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlv
blV0aWxpdGllcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgpAQCAtNzAsNiArNzEsMTAgQEAgcHVibGljOgogICAgIFBsYXliYWNrRGlyZWN0aW9uIGRp
cmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CiAgICAgdm9pZCBzZXREaXJl
Y3Rpb24oUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uKSB7IG1fZGlyZWN0aW9uID0gZGlyZWN0
aW9uOyB9CiAKKyAgICBTdHJpbmcgZWFzaW5nKCkgY29uc3QgeyByZXR1cm4gbV90aW1pbmdGdW5j
dGlvbi0+Y3NzVGV4dCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0RWFzaW5nKGNvbnN0
IFN0cmluZyYpOworICAgIFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fdGltaW5nRnVuY3Rpb24uZ2V0KCk7IH0KKwogICAgIFNlY29uZHMgZW5kVGltZSgp
IGNvbnN0OwogICAgIFNlY29uZHMgYWN0aXZlRHVyYXRpb24oKSBjb25zdDsKIApAQCAtODIsNiAr
ODcsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX2l0ZXJhdGlvbnMgeyAxIH07CiAgICAgU2Vj
b25kcyBtX2l0ZXJhdGlvbkR1cmF0aW9uIHsgMF9zIH07CiAgICAgUGxheWJhY2tEaXJlY3Rpb24g
bV9kaXJlY3Rpb24geyBQbGF5YmFja0RpcmVjdGlvbjo6Tm9ybWFsIH07CisgICAgUmVmUHRyPFRp
bWluZ0Z1bmN0aW9uPiBtX3RpbWluZ0Z1bmN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGlt
aW5nLmlkbAppbmRleCAwMzgwODJlNDMwMzgzNjNkZWExZDQyYjM4YmZkYjdhM2ZiZmUwZmE1Li40
NzM2ZjNiZTNmNzU2MDg1YWFiYTM1ZDRjNDc4NTJjMzRkOWFlOGZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbApAQCAtMzQsNCAr
MzQsNSBAQAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgaXRlcmF0aW9uczsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9
YmluZGluZ3NEdXJhdGlvbl0gYXR0cmlidXRlICh1bnJlc3RyaWN0ZWQgZG91YmxlIG9yIERPTVN0
cmluZykgZHVyYXRpb247CiAgICAgYXR0cmlidXRlIFBsYXliYWNrRGlyZWN0aW9uIGRpcmVjdGlv
bjsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgZWFzaW5nOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IGEz
OGRkNzU0YTI2MTMwMDU5NTM2NmNmY2I4ZjRhMTEyNzZjZmZjNWIuLjc2YjI5Yjc5N2QwMWVkZjMz
OTg4ZWZiMmJiODRlNjI2OWRlMGRlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcApAQCAtMjcsMTIgKzI3LDE4IEBACiAjaW5jbHVkZSAiS2V5ZnJhbWVF
ZmZlY3QuaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvbi5oIgorI2luY2x1ZGUgIkNTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5QW5pbWF0aW9uLmgiCisj
aW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1N0eWxlRGVjbGFyYXRp
b24uaCIKKyNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiRWxl
bWVudC5oIgorI2luY2x1ZGUgIkpTQ29tcG9zaXRlT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiSlNL
ZXlmcmFtZUVmZmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0aWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgorI2luY2x1ZGUgIlRp
bWluZ0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiV2lsbENoYW5nZURhdGEuaCIKICNpbmNsdWRlIDx3
dGYvVVVJRC5oPgogCkBAIC01Miw2ICs1OCwxOSBAQCBzdGF0aWMgaW5saW5lIENTU1Byb3BlcnR5
SUQgSURMQXR0cmlidXRlTmFtZVRvQW5pbWF0aW9uUHJvcGVydHlOYW1lKFN0cmluZyBpZGxBdAog
ICAgIHJldHVybiBDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFT
Y3JpcHRQcm9wZXJ0eU5hbWUoaWRsQXR0cmlidXRlTmFtZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg
U3RyaW5nIENTU1Byb3BlcnR5SURUb0lETEF0dHJpYnV0ZU5hbWUoQ1NTUHJvcGVydHlJRCBjc3NQ
cm9wZXJ0eUlkKQoreworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0
aW9ucy0xLyNhbmltYXRpb24tcHJvcGVydHktbmFtZS10by1pZGwtYXR0cmlidXRlLW5hbWUKKyAg
ICAvLyAxLiBJZiBwcm9wZXJ0eSBmb2xsb3dzIHRoZSA8Y3VzdG9tLXByb3BlcnR5LW5hbWU+IHBy
b2R1Y3Rpb24sIHJldHVybiBwcm9wZXJ0eS4KKyAgICAvLyAyLiBJZiBwcm9wZXJ0eSByZWZlcnMg
dG8gdGhlIENTUyBmbG9hdCBwcm9wZXJ0eSwgcmV0dXJuIHRoZSBzdHJpbmcgImNzc0Zsb2F0Ii4K
KyAgICBpZiAoY3NzUHJvcGVydHlJZCA9PSBDU1NQcm9wZXJ0eUZsb2F0KQorICAgICAgICByZXR1
cm4gImNzc0Zsb2F0IjsKKyAgICAvLyAzLiBJZiBwcm9wZXJ0eSByZWZlcnMgdG8gdGhlIENTUyBv
ZmZzZXQgcHJvcGVydHksIHJldHVybiB0aGUgc3RyaW5nICJjc3NPZmZzZXQiLgorICAgIC8vIEZJ
WE1FOiB3ZSBkb24ndCBzdXBwb3J0IHRoZSBDU1MgIm9mZnNldCIgcHJvcGVydHkKKyAgICAvLyA0
LiBPdGhlcndpc2UsIHJldHVybiB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBDU1MgcHJvcGVy
dHkgdG8gSURMIGF0dHJpYnV0ZSBhbGdvcml0aG0gW0NTU09NXSB0byBwcm9wZXJ0eS4KKyAgICBy
ZXR1cm4gZ2V0SlNQcm9wZXJ0eU5hbWUoY3NzUHJvcGVydHlJZCk7Cit9CisKIHN0YXRpYyBpbmxp
bmUgdm9pZCBjb21wdXRlTWlzc2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZl
Y3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYga2V5ZnJhbWVzKQogewogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNjb21wdXRlLW1pc3Npbmcta2V5ZnJhbWUt
b2Zmc2V0cwpAQCAtNjAsMTUgKzc5LDE5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlTWlz
c2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDEuIEZvciBlYWNoIGtleWZyYW1lLCBpbiBrZXlmcmFtZXMs
IGxldCB0aGUgY29tcHV0ZWQga2V5ZnJhbWUgb2Zmc2V0IG9mIHRoZSBrZXlmcmFtZSBiZSBlcXVh
bCB0byBpdHMga2V5ZnJhbWUgb2Zmc2V0IHZhbHVlLgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwga2V5ZnJhbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8mIGtleWZyYW1lID0ga2V5
ZnJhbWVzW2ldOworICAgICAgICBrZXlmcmFtZS5jb21wdXRlZE9mZnNldCA9IGtleWZyYW1lLm9m
ZnNldDsKKyAgICB9CiAKICAgICAvLyAyLiBJZiBrZXlmcmFtZXMgY29udGFpbnMgbW9yZSB0aGFu
IG9uZSBrZXlmcmFtZSBhbmQgdGhlIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCBvZiB0aGUgZmly
c3Qga2V5ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsCiAgICAgLy8gICAgc2V0IHRoZSBjb21w
dXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGZpcnN0IGtleWZyYW1lIHRvIDAuCi0gICAgaWYg
KGtleWZyYW1lcy5zaXplKCkgPiAxICYmICFrZXlmcmFtZXNbMF0ub2Zmc2V0KQotICAgICAgICBr
ZXlmcmFtZXNbMF0ub2Zmc2V0ID0gMDsKKyAgICBpZiAoa2V5ZnJhbWVzLnNpemUoKSA+IDEgJiYg
IWtleWZyYW1lc1swXS5jb21wdXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzWzBdLmNvbXB1
dGVkT2Zmc2V0ID0gMDsKIAogICAgIC8vIDMuIElmIHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZz
ZXQgb2YgdGhlIGxhc3Qga2V5ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsIHNldCBpdHMgY29t
cHV0ZWQga2V5ZnJhbWUgb2Zmc2V0IHRvIDEuCi0gICAgaWYgKCFrZXlmcmFtZXMubGFzdCgpLm9m
ZnNldCkKLSAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5vZmZzZXQgPSAxOworICAgIGlmICgha2V5
ZnJhbWVzLmxhc3QoKS5jb21wdXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5j
b21wdXRlZE9mZnNldCA9IDE7CiAKICAgICAvLyA0LiBGb3IgZWFjaCBwYWlyIG9mIGtleWZyYW1l
cyBBIGFuZCBCIHdoZXJlOgogICAgIC8vICAgIC0gQSBhcHBlYXJzIGJlZm9yZSBCIGluIGtleWZy
YW1lcywgYW5kCkBAIC04MSwxOCArMTA0LDE4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRl
TWlzc2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAg
ICAgLy8gICAgNC4gU2V0IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yga2V5ZnJhbWUg
dG8gb2Zmc2V0QSArIChvZmZzZXRCIOKIkiBvZmZzZXRBKSDDlyBpbmRleCAvIG4uCiAgICAgc2l6
ZV90IGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCA9IDA7CiAgICAgZm9yIChz
aXplX3QgaSA9IDE7IGkgPCBrZXlmcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBr
ZXlmcmFtZSA9IGtleWZyYW1lc1tpXTsKLSAgICAgICAgaWYgKCFrZXlmcmFtZS5vZmZzZXQpCisg
ICAgICAgIGF1dG8mIGtleWZyYW1lID0ga2V5ZnJhbWVzW2ldOworICAgICAgICBpZiAoIWtleWZy
YW1lLmNvbXB1dGVkT2Zmc2V0KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChp
bmRleE9mTGFzdEtleWZyYW1lV2l0aE5vbk51bGxPZmZzZXQgPT0gaSAtIDEpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICBkb3VibGUgbGFzdE5vbk51bGxPZmZzZXQgPSBrZXlmcmFt
ZXNbaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0XS5vZmZzZXQudmFsdWUoKTsK
LSAgICAgICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCkgLSBs
YXN0Tm9uTnVsbE9mZnNldDsKKyAgICAgICAgZG91YmxlIGxhc3ROb25OdWxsT2Zmc2V0ID0ga2V5
ZnJhbWVzW2luZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldF0uY29tcHV0ZWRPZmZz
ZXQudmFsdWUoKTsKKyAgICAgICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUuY29tcHV0
ZWRPZmZzZXQudmFsdWUoKSAtIGxhc3ROb25OdWxsT2Zmc2V0OwogICAgICAgICBkb3VibGUgb2Zm
c2V0SW5jcmVtZW50ID0gb2Zmc2V0RGVsdGEgLyAoaSAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRo
Tm9uTnVsbE9mZnNldCk7CiAgICAgICAgIHNpemVfdCBpbmRleE9mRmlyc3RLZXlmcmFtZVdpdGhO
dWxsT2Zmc2V0ID0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0ICsgMTsKICAg
ICAgICAgZm9yIChzaXplX3QgaiA9IGluZGV4T2ZGaXJzdEtleWZyYW1lV2l0aE51bGxPZmZzZXQ7
IGogPCBpOyArK2opCi0gICAgICAgICAgICBrZXlmcmFtZXNbal0ub2Zmc2V0ID0gbGFzdE5vbk51
bGxPZmZzZXQgKyAoaiAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCkgKiBv
ZmZzZXRJbmNyZW1lbnQ7CisgICAgICAgICAgICBrZXlmcmFtZXNbal0uY29tcHV0ZWRPZmZzZXQg
PSBsYXN0Tm9uTnVsbE9mZnNldCArIChqIC0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxs
T2Zmc2V0KSAqIG9mZnNldEluY3JlbWVudDsKIAogICAgICAgICBpbmRleE9mTGFzdEtleWZyYW1l
V2l0aE5vbk51bGxPZmZzZXQgPSBpOwogICAgIH0KQEAgLTExNyw3ICsxNDAsNyBAQCBzdGF0aWMg
aW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhFeGVjU3Rh
dGUmIHN0YXRlLCBTdHJvbgogCiAgICAgICAgIEtleWZyYW1lRWZmZWN0OjpQcm9jZXNzZWRLZXlm
cmFtZSBrZXlmcmFtZU91dHB1dDsKIAotICAgICAgICBTdHJpbmcgZWFzaW5nID0gImxpbmVhciI7
CisgICAgICAgIFN0cmluZyBlYXNpbmcoImxpbmVhciIpOwogICAgICAgICBzdGQ6Om9wdGlvbmFs
PGRvdWJsZT4gb2Zmc2V0OwogICAgICAgICBzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlv
bj4gY29tcG9zaXRlOwogCkBAIC0yMzAsNyArMjUzLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRp
b25PcjxLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVMaWtlT2JqZWN0PiBwcm9jZXNzS2V5ZnJhbWVM
aWsKICAgICByZXR1cm4geyBXVEZNb3ZlKGtleWZyYW1lT3VwdXQpIH07CiB9CiAKLXN0YXRpYyBp
bmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhF
eGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzSW5wdXQsIFZlY3Rv
cjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2VkS2V5ZnJhbWU+JiBwcm9jZXNzZWRLZXlmcmFtZXMp
CitzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRL
ZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lu
cHV0LCBWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYgcHJvY2Vzc2Vk
S2V5ZnJhbWVzLCBWZWN0b3I8U3RyaW5nPiYgdW51c2VkRWFzaW5ncykKIHsKICAgICAvLyAxLiBM
ZXQgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgdGhl
IHByb2NlZHVyZSB0byBwcm9jZXNzIGEga2V5ZnJhbWUtbGlrZSBvYmplY3QgcGFzc2luZyBvYmpl
Y3QgYXMgdGhlIGtleWZyYW1lIGlucHV0LgogICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lTGlrZU9i
amVjdFJlc3VsdCA9IHByb2Nlc3NLZXlmcmFtZUxpa2VPYmplY3Qoc3RhdGUsIFdURk1vdmUoa2V5
ZnJhbWVzSW5wdXQpKTsKQEAgLTI2OCw3ICsyOTEsNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlv
bk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0
ZQogCiAgICAgLy8gMy4gU29ydCBwcm9jZXNzZWQga2V5ZnJhbWVzIGJ5IHRoZSBjb21wdXRlZCBr
ZXlmcmFtZSBvZmZzZXQgb2YgZWFjaCBrZXlmcmFtZSBpbiBpbmNyZWFzaW5nIG9yZGVyLgogICAg
IHN0ZDo6c29ydChwcm9jZXNzZWRLZXlmcmFtZXMuYmVnaW4oKSwgcHJvY2Vzc2VkS2V5ZnJhbWVz
LmVuZCgpLCBbXShhdXRvJiBsaHMsIGF1dG8mIHJocykgewotICAgICAgICByZXR1cm4gbGhzLm9m
ZnNldC52YWx1ZSgpIDwgcmhzLm9mZnNldC52YWx1ZSgpOworICAgICAgICByZXR1cm4gbGhzLmNv
bXB1dGVkT2Zmc2V0LnZhbHVlKCkgPCByaHMuY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKICAgICB9
KTsKIAogICAgIC8vIDQuIE1lcmdlIGFkamFjZW50IGtleWZyYW1lcyBpbiBwcm9jZXNzZWQga2V5
ZnJhbWVzIHdoZW4gdGhleSBoYXZlIGVxdWFsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldHMuCkBA
IC0yNzksNyArMzAyLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNz
UHJvcGVydHlJbmRleGVkS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUKICAgICAgICAgLy8gSWYg
dGhlIG9mZnNldHMgb2YgdGhpcyBrZXlmcmFtZSBhbmQgdGhlIHByZXZpb3VzIGtleWZyYW1lIGFy
ZSBkaWZmZXJlbnQsCiAgICAgICAgIC8vIHRoaXMgbWVhbnMgdGhhdCB0aGUgdHdvIGtleWZyYW1l
cyBzaG91bGQgbm90IGJlIG1lcmdlZCBhbmQgd2UgY2FuIG1vdmUKICAgICAgICAgLy8gb24gdG8g
dGhlIG5leHQga2V5ZnJhbWUuCi0gICAgICAgIGlmIChrZXlmcmFtZS5vZmZzZXQudmFsdWUoKSAh
PSBwcmV2aW91c0tleWZyYW1lLm9mZnNldC52YWx1ZSgpKSB7CisgICAgICAgIGlmIChrZXlmcmFt
ZS5jb21wdXRlZE9mZnNldC52YWx1ZSgpICE9IHByZXZpb3VzS2V5ZnJhbWUuY29tcHV0ZWRPZmZz
ZXQudmFsdWUoKSkgewogICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KQEAgLTI5Niw3ICszMTksNiBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZv
aWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAg
IC8vIDUuIExldCBvZmZzZXRzIGJlIGEgc2VxdWVuY2Ugb2YgbnVsbGFibGUgZG91YmxlIHZhbHVl
cyBhc3NpZ25lZCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUg4oCcb2Zmc2V04oCdIG1lbWJlciBv
ZiB0aGUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBhcyBmb2xsb3dzOgogICAgIC8vICAgIC0g
c2VxdWVuY2U8ZG91YmxlPz4sIHRoZSB2YWx1ZSBvZiDigJxvZmZzZXTigJ0gYXMtaXMuCiAgICAg
Ly8gICAgLSBkb3VibGU/LCBhIHNlcXVlbmNlIG9mIGxlbmd0aCBvbmUgd2l0aCB0aGUgdmFsdWUg
b2Yg4oCcb2Zmc2V04oCdIGFzIGl0cyBzaW5nbGUgaXRlbSwgaS5lLiDCqyBvZmZzZXQgwrssCi0g
ICAgLy8gRklYTUU6IHVwZGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gZGVhbCB3
aXRoIG51bGxhYmxlIGRvdWJsZXMgaGVyZS4KICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3Vi
bGU+PiBvZmZzZXRzOwogICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFZlY3RvcjxzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4+Pihwcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZS5iYXNlUHJvcGVydGll
cy5vZmZzZXQpKQogICAgICAgICBvZmZzZXRzID0gV1RGOjpnZXQ8VmVjdG9yPHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPj4+KHByb3BlcnR5SW5kZXhlZEtleWZyYW1lLmJhc2VQcm9wZXJ0aWVzLm9mZnNl
dCk7CkBAIC0zMjYsMTYgKzM0OCwxNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+
IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8v
ICAgIGl0ZW1zIGFzIHByb3BlcnR5IGtleWZyYW1lcy4KICAgICBpZiAoZWFzaW5ncy5zaXplKCkg
PCBwcm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgIHNpemVfdCBpbml0aWFsTnVt
YmVyT2ZFYXNpbmdzID0gZWFzaW5ncy5zaXplKCk7Ci0gICAgICAgIGZvciAoaSA9IGluaXRpYWxO
dW1iZXJPZkVhc2luZ3MgKyAxOyBpIDwgcHJvY2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSAtIDE7ICsr
aSkKKyAgICAgICAgZm9yIChpID0gaW5pdGlhbE51bWJlck9mRWFzaW5ncyArIDE7IGkgPD0gcHJv
Y2Vzc2VkS2V5ZnJhbWVzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgZWFzaW5ncy5hcHBlbmQo
ZWFzaW5nc1tpICUgaW5pdGlhbE51bWJlck9mRWFzaW5nc10pOwogICAgIH0KIAogICAgIC8vIDEw
LiBJZiBlYXNpbmdzIGhhcyBtb3JlIGl0ZW1zIHRoYW4gcHJvcGVydHkga2V5ZnJhbWVzLCBzdG9y
ZSB0aGUgZXhjZXNzIGl0ZW1zIGFzIHVudXNlZCBlYXNpbmdzLgotICAgIC8vIEZJWE1FOiBXZSBk
b24ndCBkZWFsIHdpdGggdGhpcyB5ZXQuCisgICAgd2hpbGUgKGVhc2luZ3Muc2l6ZSgpID4gcHJv
Y2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSkKKyAgICAgICAgdW51c2VkRWFzaW5ncy5hcHBlbmQoZWFz
aW5ncy50YWtlTGFzdCgpKTsKIAogICAgIC8vIDExLiBBc3NpZ24gZWFjaCB2YWx1ZSBpbiBlYXNp
bmdzIHRvIGEgcHJvcGVydHkgbmFtZWQg4oCcZWFzaW5n4oCdIG9uIHRoZSBrZXlmcmFtZSB3aXRo
IHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbCB0
aGUgZW5kIG9mIHByb3BlcnR5IGtleWZyYW1lcwogICAgIC8vICAgICBpcyByZWFjaGVkLgotICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWFzaW5ncy5zaXplKCkgJiYgaSA8IHByb2Nlc3NlZEtl
eWZyYW1lcy5zaXplKCk7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb2Nlc3Nl
ZEtleWZyYW1lcy5zaXplKCk7ICsraSkKICAgICAgICAgcHJvY2Vzc2VkS2V5ZnJhbWVzW2ldLmVh
c2luZyA9IGVhc2luZ3NbaV07CiAKICAgICAvLyAxMi4gSWYgdGhlIOKAnGNvbXBvc2l0ZeKAnSBt
ZW1iZXIgb2YgdGhlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgaXMgbm90IGFuIGVtcHR5IHNl
cXVlbmNlOgpAQCAtMzUxLDcgKzM3NCw3IEBAIHN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8dm9p
ZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlCiAgICAg
ICAgIC8vICAgIHRoZSBsaXN0IHVudGlsIGNvbXBvc2l0ZSBtb2RlcyBoYXMgYXMgbWFueSBpdGVt
cyBhcyBwcm9wZXJ0eSBrZXlmcmFtZXMuCiAgICAgICAgIGlmIChjb21wb3NpdGVNb2Rlcy5zaXpl
KCkgPCBwcm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgICAgICBzaXplX3QgaW5p
dGlhbE51bWJlck9mQ29tcG9zaXRlTW9kZXMgPSBjb21wb3NpdGVNb2Rlcy5zaXplKCk7Ci0gICAg
ICAgICAgICBmb3IgKGkgPSBpbml0aWFsTnVtYmVyT2ZDb21wb3NpdGVNb2RlcyArIDE7IGkgPCBw
cm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpIC0gMTsgKytpKQorICAgICAgICAgICAgZm9yIChpID0g
aW5pdGlhbE51bWJlck9mQ29tcG9zaXRlTW9kZXMgKyAxOyBpIDw9IHByb2Nlc3NlZEtleWZyYW1l
cy5zaXplKCk7ICsraSkKICAgICAgICAgICAgICAgICBjb21wb3NpdGVNb2Rlcy5hcHBlbmQoY29t
cG9zaXRlTW9kZXNbaSAlIGluaXRpYWxOdW1iZXJPZkNvbXBvc2l0ZU1vZGVzXSk7CiAgICAgICAg
IH0KICAgICAgICAgLy8gMy4gQXNzaWduIGVhY2ggdmFsdWUgaW4gY29tcG9zaXRlIG1vZGVzIHRv
IHRoZSBrZXlmcmFtZS1zcGVjaWZpYyBjb21wb3NpdGUgb3BlcmF0aW9uIG9uIHRoZSBrZXlmcmFt
ZSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1
bnRpbApAQCAtMzg5LDYgKzQxMiw5IEBAIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVjdD4+
IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVuCiAgICAgICAg
ICAgICBpZiAoc2V0SXRlcmF0aW9uc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gc2V0SXRlcmF0aW9uc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAg
ICAgICAgICBrZXlmcmFtZUVmZmVjdC0+dGltaW5nKCktPnNldERpcmVjdGlvbihrZXlmcmFtZUVm
ZmVjdE9wdGlvbnMuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIGF1dG8gc2V0RWFzaW5nUmVzdWx0
ID0ga2V5ZnJhbWVFZmZlY3QtPnRpbWluZygpLT5zZXRFYXNpbmcoa2V5ZnJhbWVFZmZlY3RPcHRp
b25zLmVhc2luZyk7CisgICAgICAgICAgICBpZiAoc2V0RWFzaW5nUmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQorICAgICAgICAgICAgICAgIHJldHVybiBzZXRFYXNpbmdSZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byBzZXRCaW5kaW5nc0R1cmF0aW9uUmVz
dWx0ID0ga2V5ZnJhbWVFZmZlY3QtPnRpbWluZygpLT5zZXRCaW5kaW5nc0R1cmF0aW9uKFdURk1v
dmUoYmluZGluZ3NEdXJhdGlvbikpOwpAQCAtNDA2LDYgKzQzMiw4MyBAQCBLZXlmcmFtZUVmZmVj
dDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFyZ2V0KQogewogfQogCitWZWN0b3I8U3Ryb25n
PEpTT2JqZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRl
KQoreworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNk
b20ta2V5ZnJhbWVlZmZlY3RyZWFkb25seS1nZXRrZXlmcmFtZXMKKworICAgIGF1dG8gbG9jayA9
IEpTTG9ja0hvbGRlciB7ICZzdGF0ZSB9OworCisgICAgLy8gU2luY2Uga2V5ZnJhbWVzIGFyZSBy
ZXByZXNlbnRlZCBieSBhIHBhcnRpYWxseSBvcGVuLWVuZGVkIGRpY3Rpb25hcnkgdHlwZSB0aGF0
IGlzIG5vdCBjdXJyZW50bHkgYWJsZSB0byBiZSBleHByZXNzZWQgd2l0aCBXZWJJREwsCisgICAg
Ly8gdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByZXBhcmUgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhv
ZCBpcyBkZWZpbmVkIGluIHByb3NlIGJlbG93OgorICAgIC8vCisgICAgLy8gMS4gTGV0IHJlc3Vs
dCBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBvZiBvYmplY3RzLgorICAgIFZlY3RvcjxTdHJvbmc8SlNP
YmplY3Q+PiByZXN1bHQ7CisKKyAgICAvLyAyLiBMZXQga2V5ZnJhbWVzIGJlIHRoZSByZXN1bHQg
b2YgYXBwbHlpbmcgdGhlIHByb2NlZHVyZSB0byBjb21wdXRlIG1pc3Npbmcga2V5ZnJhbWUgb2Zm
c2V0cyB0byB0aGUga2V5ZnJhbWVzIGZvciB0aGlzIGtleWZyYW1lIGVmZmVjdC4KKworICAgIC8v
IDMuIEZvciBlYWNoIGtleWZyYW1lIGluIGtleWZyYW1lcyBwZXJmb3JtIHRoZSBmb2xsb3dpbmcg
c3RlcHM6CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2tleWZyYW1lcy5zaXplKCk7ICsr
aSkgeworICAgICAgICBhdXRvJiBrZXlmcmFtZSA9IG1fa2V5ZnJhbWVzW2ldOworCisgICAgICAg
IC8vIDEuIEluaXRpYWxpemUgYSBkaWN0aW9uYXJ5IG9iamVjdCwgb3V0cHV0IGtleWZyYW1lLCB1
c2luZyB0aGUgZm9sbG93aW5nIGRlZmluaXRpb246CisgICAgICAgIC8vCisgICAgICAgIC8vIGRp
Y3Rpb25hcnkgQmFzZUNvbXB1dGVkS2V5ZnJhbWUgeworICAgICAgICAvLyAgICAgIGRvdWJsZT8g
ICAgICAgICAgICBvZmZzZXQgPSBudWxsOworICAgICAgICAvLyAgICAgIGRvdWJsZSAgICAgICAg
ICAgICBjb21wdXRlZE9mZnNldDsKKyAgICAgICAgLy8gICAgICBET01TdHJpbmcgICAgICAgICAg
ZWFzaW5nID0gImxpbmVhciI7CisgICAgICAgIC8vICAgICAgQ29tcG9zaXRlT3BlcmF0aW9uIGNv
bXBvc2l0ZTsKKyAgICAgICAgLy8gfTsKKworICAgICAgICAvLyAyLiBTZXQgb2Zmc2V0LCBjb21w
dXRlZE9mZnNldCwgZWFzaW5nIG1lbWJlcnMgb2Ygb3V0cHV0IGtleWZyYW1lIHRvIHRoZSByZXNw
ZWN0aXZlIHZhbHVlcyBrZXlmcmFtZSBvZmZzZXQsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCwK
KyAgICAgICAgLy8gYW5kIGtleWZyYW1lLXNwZWNpZmljIHRpbWluZyBmdW5jdGlvbiBvZiBrZXlm
cmFtZS4KKworICAgICAgICAvLyAzLiBJZiBrZXlmcmFtZSBoYXMgYSBrZXlmcmFtZS1zcGVjaWZp
YyBjb21wb3NpdGUgb3BlcmF0aW9uLCBzZXQgY29tcG9zaXRlIHRvIHRoYXQgdmFsdWUuCisgICAg
ICAgIEJhc2VDb21wdXRlZEtleWZyYW1lIGNvbXB1dGVkS2V5ZnJhbWU7CisgICAgICAgIGNvbXB1
dGVkS2V5ZnJhbWUub2Zmc2V0ID0gbV9vZmZzZXRzW2ldOworICAgICAgICBjb21wdXRlZEtleWZy
YW1lLmNvbXB1dGVkT2Zmc2V0ID0ga2V5ZnJhbWUua2V5KCk7CisgICAgICAgIGNvbXB1dGVkS2V5
ZnJhbWUuZWFzaW5nID0gbV90aW1pbmdGdW5jdGlvbnNbaV0tPmNzc1RleHQoKTsKKworICAgICAg
ICBhdXRvIG91dHB1dEtleWZyYW1lID0gY29udmVydERpY3Rpb25hcnlUb0pTKHN0YXRlLCAqanND
YXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgY29t
cHV0ZWRLZXlmcmFtZSk7CisKKyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5vbi1udWxsIENvbXBv
c2l0ZU9wZXJhdGlvbiBmb3IgdGhpcyBrZXlmcmFtZXMsIHNldCB0aGUgSlMgcHJvcGVydHkgZm9y
IGl0LgorICAgICAgICBpZiAoYXV0byBjb21wb3NpdGVPcGVyYXRpb24gPSBtX2NvbXBvc2l0ZU9w
ZXJhdGlvbnNbaV0pIHsKKyAgICAgICAgICAgIFByb3BlcnR5RGVzY3JpcHRvciBwcm9wZXJ0eURl
c2NyaXB0b3I7CisgICAgICAgICAgICBwcm9wZXJ0eURlc2NyaXB0b3Iuc2V0V3JpdGFibGUodHJ1
ZSk7CisgICAgICAgICAgICBwcm9wZXJ0eURlc2NyaXB0b3Iuc2V0RW51bWVyYWJsZSh0cnVlKTsK
KyAgICAgICAgICAgIHByb3BlcnR5RGVzY3JpcHRvci5zZXRDb25maWd1cmFibGUodHJ1ZSk7Cisg
ICAgICAgICAgICBwcm9wZXJ0eURlc2NyaXB0b3Iuc2V0VmFsdWUoY29udmVydEVudW1lcmF0aW9u
VG9KUyhzdGF0ZSwgY29tcG9zaXRlT3BlcmF0aW9uLnZhbHVlKCkpKTsKKyAgICAgICAgICAgIEpT
T2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShvdXRwdXRLZXlmcmFtZSwgJnN0YXRlLCBBdG9taWNT
dHJpbmcoImNvbXBvc2l0ZSIpLmltcGwoKSwgcHJvcGVydHlEZXNjcmlwdG9yLCBmYWxzZSk7Cisg
ICAgICAgIH0KKworICAgICAgICBhdXRvJiBzdHlsZSA9ICprZXlmcmFtZS5zdHlsZSgpOworICAg
ICAgICBhdXRvIGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IgPSBDb21wdXRlZFN0eWxlRXh0cmFjdG9y
KG1fdGFyZ2V0LmdldCgpKTsKKworICAgICAgICAvLyA0LiBGb3IgZWFjaCBhbmltYXRpb24gcHJv
cGVydHktdmFsdWUgcGFpciBzcGVjaWZpZWQgb24ga2V5ZnJhbWUsIGRlY2xhcmF0aW9uLCBwZXJm
b3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgICAgIGZvciAoYXV0byBjc3NQcm9wZXJ0eUlk
IDoga2V5ZnJhbWUucHJvcGVydGllcygpKSB7CisgICAgICAgICAgICAvLyAxLiBMZXQgcHJvcGVy
dHkgbmFtZSBiZSB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBhbmltYXRpb24gcHJvcGVydHkg
bmFtZSB0byBJREwgYXR0cmlidXRlIG5hbWUgYWxnb3JpdGhtIHRvIHRoZSBwcm9wZXJ0eSBuYW1l
IG9mIGRlY2xhcmF0aW9uLgorICAgICAgICAgICAgYXV0byBwcm9wZXJ0eU5hbWUgPSBDU1NQcm9w
ZXJ0eUlEVG9JRExBdHRyaWJ1dGVOYW1lKGNzc1Byb3BlcnR5SWQpOworICAgICAgICAgICAgLy8g
Mi4gTGV0IElETCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIHNlcmlhbGl6aW5nIHRoZSBwcm9wZXJ0
eSB2YWx1ZSBvZiBkZWNsYXJhdGlvbiBieSBwYXNzaW5nIGRlY2xhcmF0aW9uIHRvIHRoZSBhbGdv
cml0aG0gdG8gc2VyaWFsaXplIGEgQ1NTIHZhbHVlLgorICAgICAgICAgICAgYXV0byBpZGxWYWx1
ZSA9IGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IudmFsdWVGb3JQcm9wZXJ0eWluU3R5bGUoc3R5bGUs
IGNzc1Byb3BlcnR5SWQpLT5jc3NUZXh0KCk7CisgICAgICAgICAgICAvLyAzLiBMZXQgdmFsdWUg
YmUgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIElETCB2YWx1ZSB0byBhbiBFQ01BU2NyaXB0IFN0
cmluZyB2YWx1ZS4KKyAgICAgICAgICAgIGF1dG8gdmFsdWUgPSB0b0pTPElETERPTVN0cmluZz4o
c3RhdGUsIGlkbFZhbHVlKTsKKyAgICAgICAgICAgIC8vIDQuIENhbGwgdGhlIFtbRGVmaW5lT3du
UHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb24gb3V0cHV0IGtleWZyYW1lIHdpdGggcHJvcGVy
dHkgbmFtZSBwcm9wZXJ0eSBuYW1lLAorICAgICAgICAgICAgLy8gICAgUHJvcGVydHkgRGVzY3Jp
cHRvciB7IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmln
dXJhYmxlXV06IHRydWUsIFtbVmFsdWVdXTogdmFsdWUgfSBhbmQgQm9vbGVhbiBmbGFnIGZhbHNl
LgorICAgICAgICAgICAgUHJvcGVydHlEZXNjcmlwdG9yIHByb3BlcnR5RGVzY3JpcHRvcjsKKyAg
ICAgICAgICAgIHByb3BlcnR5RGVzY3JpcHRvci5zZXRXcml0YWJsZSh0cnVlKTsKKyAgICAgICAg
ICAgIHByb3BlcnR5RGVzY3JpcHRvci5zZXRFbnVtZXJhYmxlKHRydWUpOworICAgICAgICAgICAg
cHJvcGVydHlEZXNjcmlwdG9yLnNldENvbmZpZ3VyYWJsZSh0cnVlKTsKKyAgICAgICAgICAgIHBy
b3BlcnR5RGVzY3JpcHRvci5zZXRWYWx1ZSh2YWx1ZSk7CisgICAgICAgICAgICBKU09iamVjdDo6
ZGVmaW5lT3duUHJvcGVydHkob3V0cHV0S2V5ZnJhbWUsICZzdGF0ZSwgQXRvbWljU3RyaW5nKHBy
b3BlcnR5TmFtZSkuaW1wbCgpLCBwcm9wZXJ0eURlc2NyaXB0b3IsIGZhbHNlKTsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIDUuIEFwcGVuZCBvdXRwdXQga2V5ZnJhbWUgdG8gcmVzdWx0LgorICAg
ICAgICByZXN1bHQuYXBwZW5kKEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHsgc3RhdGUudm0o
KSwgb3V0cHV0S2V5ZnJhbWUgfSk7CisgICAgfQorCisgICAgLy8gNC4gUmV0dXJuIHJlc3VsdC4K
KyAgICByZXR1cm4gcmVzdWx0OworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVj
dDo6c2V0S2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlm
cmFtZXNJbnB1dCkKIHsKICAgICByZXR1cm4gcHJvY2Vzc0tleWZyYW1lcyhzdGF0ZSwgV1RGTW92
ZShrZXlmcmFtZXNJbnB1dCkpOwpAQCAtNDMwLDEzICs1MzMsMTEgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gS2V5ZnJhbWVFZmZlY3Q6OnByb2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ry
b25nPEpTT2IKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBFeGNlcHRpb24geyBUeXBl
RXJyb3IgfSk7CiAKICAgICAvLyA1LiBQZXJmb3JtIHRoZSBzdGVwcyBjb3JyZXNwb25kaW5nIHRv
IHRoZSBmaXJzdCBtYXRjaGluZyBjb25kaXRpb24gZnJvbSBiZWxvdywKKyAgICBWZWN0b3I8U3Ry
aW5nPiB1bnVzZWRFYXNpbmdzOwogICAgIGlmICghbWV0aG9kLmlzVW5kZWZpbmVkKCkpCiAgICAg
ICAgIHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXNJbnB1
dCksIFdURk1vdmUobWV0aG9kKSwgcHJvY2Vzc2VkS2V5ZnJhbWVzKTsKICAgICBlbHNlCi0gICAg
ICAgIHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJh
bWVzSW5wdXQpLCBwcm9jZXNzZWRLZXlmcmFtZXMpOwotCi0gICAgaWYgKCFwcm9jZXNzZWRLZXlm
cmFtZXMuc2l6ZSgpKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICBwcm9jZXNzUHJvcGVy
dHlJbmRleGVkS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZyYW1lc0lucHV0KSwgcHJvY2Vz
c2VkS2V5ZnJhbWVzLCB1bnVzZWRFYXNpbmdzKTsKIAogICAgIC8vIDYuIElmIHByb2Nlc3NlZCBr
ZXlmcmFtZXMgaXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldCwgdGhyb3cgYSBUeXBlRXJy
b3IgYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgIC8vIDcuIElmIHRoZXJlIGV4aXN0IGFueSBr
ZXlmcmFtZSBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzIHdob3NlIGtleWZyYW1lIG9mZnNldCBpcyBu
b24tbnVsbCBhbmQgbGVzcyB0aGFuCkBAIC00NTYsMTEgKzU1NywxOCBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBLZXlmcmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBT
dHJvbmc8SlNPYgogICAgIGNvbXB1dGVNaXNzaW5nS2V5ZnJhbWVPZmZzZXRzKHByb2Nlc3NlZEtl
eWZyYW1lcyk7CiAKICAgICBLZXlmcmFtZUxpc3Qga2V5ZnJhbWVMaXN0KCJrZXlmcmFtZS1lZmZl
Y3QtIiArIGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CisgICAgVmVjdG9yPHN0ZDo6b3B0
aW9uYWw8ZG91YmxlPj4gb2Zmc2V0czsKKyAgICBWZWN0b3I8UmVmUHRyPFRpbWluZ0Z1bmN0aW9u
Pj4gdGltaW5nRnVuY3Rpb25zOworICAgIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9w
ZXJhdGlvbj4+IGNvbXBvc2l0ZU9wZXJhdGlvbnM7CisKICAgICBTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVzb2x2ZXIoKTsKICAgICBhdXRvIHBhcnNlckNv
bnRleHQgPSBDU1NQYXJzZXJDb250ZXh0KEhUTUxTdGFuZGFyZE1vZGUpOwogCiAgICAgLy8gOC4g
Rm9yIGVhY2ggZnJhbWUgaW4gcHJvY2Vzc2VkIGtleWZyYW1lcywgcGVyZm9ybSB0aGUgZm9sbG93
aW5nIHN0ZXBzOgogICAgIGZvciAoYXV0byYga2V5ZnJhbWUgOiBwcm9jZXNzZWRLZXlmcmFtZXMp
IHsKKyAgICAgICAgb2Zmc2V0cy5hcHBlbmQoa2V5ZnJhbWUub2Zmc2V0KTsKKyAgICAgICAgY29t
cG9zaXRlT3BlcmF0aW9ucy5hcHBlbmQoa2V5ZnJhbWUuY29tcG9zaXRlKTsKKwogICAgICAgICAv
LyAxLiBGb3IgZWFjaCBwcm9wZXJ0eS12YWx1ZSBwYWlyIGluIGZyYW1lLCBwYXJzZSB0aGUgcHJv
cGVydHkgdmFsdWUgdXNpbmcgdGhlIHN5bnRheCBzcGVjaWZpZWQgZm9yIHRoYXQgcHJvcGVydHku
CiAgICAgICAgIC8vICAgIElmIHRoZSBwcm9wZXJ0eSB2YWx1ZSBpcyBpbnZhbGlkIGFjY29yZGlu
ZyB0byB0aGUgc3ludGF4IGZvciB0aGUgcHJvcGVydHksIGRpc2NhcmQgdGhlIHByb3BlcnR5LXZh
bHVlIHBhaXIuCiAgICAgICAgIC8vICAgIFVzZXIgYWdlbnRzIHRoYXQgcHJvdmlkZSBzdXBwb3J0
IGZvciBkaWFnbm9zaW5nIGVycm9ycyBpbiBjb250ZW50IFNIT1VMRCBwcm9kdWNlIGFuIGFwcHJv
cHJpYXRlIHdhcm5pbmcKQEAgLTQ3NCw3ICs1ODIsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBLZXlm
cmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNP
YgogICAgICAgICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI7ICIpOwogICAgICAgICB9CiAK
LSAgICAgICAgS2V5ZnJhbWVWYWx1ZSBrZXlmcmFtZVZhbHVlKGtleWZyYW1lLm9mZnNldC52YWx1
ZSgpLCBudWxscHRyKTsKKyAgICAgICAgS2V5ZnJhbWVWYWx1ZSBrZXlmcmFtZVZhbHVlKGtleWZy
YW1lLmNvbXB1dGVkT2Zmc2V0LnZhbHVlKCksIG51bGxwdHIpOwogICAgICAgICBhdXRvIHJlbmRl
clN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZVB0cigpOwogICAgICAgICBhdXRvIHN0eWxlUHJv
cGVydGllcyA9IE11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpOwogICAgICAgICBzdHls
ZVByb3BlcnRpZXMtPnBhcnNlRGVjbGFyYXRpb24oY3NzVGV4dC50b1N0cmluZygpLCBwYXJzZXJD
b250ZXh0KTsKQEAgLTQ5NCwxNSArNjAyLDI1IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1l
RWZmZWN0Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iCiAg
ICAgICAgIC8vIDIuIExldCB0aGUgdGltaW5nIGZ1bmN0aW9uIG9mIGZyYW1lIGJlIHRoZSByZXN1
bHQgb2YgcGFyc2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IG9uIGZyYW1lIHVzaW5nIHRo
ZSBDU1Mgc3ludGF4CiAgICAgICAgIC8vICAgIGRlZmluZWQgZm9yIHRoZSBlYXNpbmcgcHJvcGVy
dHkgb2YgdGhlIEFuaW1hdGlvbkVmZmVjdFRpbWluZ1JlYWRPbmx5IGludGVyZmFjZS4KICAgICAg
ICAgLy8gICAgSWYgcGFyc2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IGZhaWxzLCB0aHJv
dyBhIFR5cGVFcnJvciBhbmQgYWJvcnQgdGhpcyBwcm9jZWR1cmUuCi0gICAgICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQgd2hlbiB3ZSBzdXBwb3J0IGVhc2luZy4KKyAgICAgICAgYXV0byB0aW1pbmdG
dW5jdGlvblJlc3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChrZXlmcmFt
ZS5lYXNpbmcpOworICAgICAgICBpZiAodGltaW5nRnVuY3Rpb25SZXN1bHQuaGFzRXhjZXB0aW9u
KCkpCisgICAgICAgICAgICByZXR1cm4gdGltaW5nRnVuY3Rpb25SZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpOworICAgICAgICB0aW1pbmdGdW5jdGlvbnMuYXBwZW5kKCZ0aW1pbmdGdW5jdGlvblJl
c3VsdC5yZXR1cm5WYWx1ZSgpLmdldCgpKTsKICAgICB9CiAKICAgICAvLyA5LiBQYXJzZSBlYWNo
IG9mIHRoZSB2YWx1ZXMgaW4gdW51c2VkIGVhc2luZ3MgdXNpbmcgdGhlIENTUyBzeW50YXggZGVm
aW5lZCBmb3IgZWFzaW5nIHByb3BlcnR5IG9mIHRoZQogICAgIC8vICAgIEFuaW1hdGlvbkVmZmVj
dFRpbWluZ1JlYWRPbmx5IGludGVyZmFjZSwgYW5kIGlmIGFueSBvZiB0aGUgdmFsdWVzIGZhaWwg
dG8gcGFyc2UsIHRocm93IGEgVHlwZUVycm9yCiAgICAgLy8gICAgYW5kIGFib3J0IHRoaXMgcHJv
Y2VkdXJlLgotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgd2hlbiB3ZSBzdXBwb3J0IGVhc2luZy4K
KyAgICBmb3IgKGF1dG8mIGVhc2luZyA6IHVudXNlZEVhc2luZ3MpIHsKKyAgICAgICAgYXV0byB0
aW1pbmdGdW5jdGlvblJlc3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChl
YXNpbmcpOworICAgICAgICBpZiAodGltaW5nRnVuY3Rpb25SZXN1bHQuaGFzRXhjZXB0aW9uKCkp
CisgICAgICAgICAgICByZXR1cm4gdGltaW5nRnVuY3Rpb25SZXN1bHQucmVsZWFzZUV4Y2VwdGlv
bigpOworICAgIH0KIAorICAgIG1fb2Zmc2V0cyA9IFdURk1vdmUob2Zmc2V0cyk7CiAgICAgbV9r
ZXlmcmFtZXMgPSBXVEZNb3ZlKGtleWZyYW1lTGlzdCk7CisgICAgbV90aW1pbmdGdW5jdGlvbnMg
PSBXVEZNb3ZlKHRpbWluZ0Z1bmN0aW9ucyk7CisgICAgbV9jb21wb3NpdGVPcGVyYXRpb25zID0g
V1RGTW92ZShjb21wb3NpdGVPcGVyYXRpb25zKTsKIAogICAgIGNvbXB1dGVTdGFja2luZ0NvbnRl
eHRJbXBhY3QoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaApp
bmRleCBlYWQ2YjI4Mzg2NDI2NGJiMjk3ZGI0NTkwOTRmYmFiMzIyOGM0ZDJmLi4wM2M5MGI1OTdj
MzE0MTZjM2M0ZmQ2NTIzZTNiYmE1YmUyYzk1ZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFuaW1hdGlv
bkVmZmVjdFRpbWluZ1Byb3BlcnRpZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eUJsZW5kaW5n
Q2xpZW50LmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRlT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiSXRl
cmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3RPcHRp
b25zLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVMaXN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUu
aCIKQEAgLTQ1LDkgKzQ2LDkgQEAgcHVibGljOgogICAgIH5LZXlmcmFtZUVmZmVjdCgpIHsgfQog
CiAgICAgc3RydWN0IEJhc2VQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZSB7Ci0gICAgICAgIFZhcmlh
bnQ8c3RkOjpudWxscHRyX3QsIGRvdWJsZSwgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4+
IG9mZnNldDsKLSAgICAgICAgVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+PiBlYXNpbmc7
Ci0gICAgICAgIFZhcmlhbnQ8Q29tcG9zaXRlT3BlcmF0aW9uLCBWZWN0b3I8Q29tcG9zaXRlT3Bl
cmF0aW9uPj4gY29tcG9zaXRlOworICAgICAgICBWYXJpYW50PHN0ZDo6bnVsbHB0cl90LCBWZWN0
b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PiwgZG91YmxlPiBvZmZzZXQgPSBWZWN0b3I8c3RkOjpv
cHRpb25hbDxkb3VibGU+PigpOworICAgICAgICBWYXJpYW50PFZlY3RvcjxTdHJpbmc+LCBTdHJp
bmc+IGVhc2luZyA9IFZlY3RvcjxTdHJpbmc+KCk7CisgICAgICAgIFZhcmlhbnQ8VmVjdG9yPENv
bXBvc2l0ZU9wZXJhdGlvbj4sIENvbXBvc2l0ZU9wZXJhdGlvbj4gY29tcG9zaXRlID0gVmVjdG9y
PENvbXBvc2l0ZU9wZXJhdGlvbj4oKTsKICAgICB9OwogCiAgICAgc3RydWN0IFByb3BlcnR5QW5k
VmFsdWVzIHsKQEAgLTYzLDEyICs2NCwyNiBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFByb2Nlc3Nl
ZEtleWZyYW1lIHsKICAgICAgICAgU3RyaW5nIGVhc2luZzsKICAgICAgICAgc3RkOjpvcHRpb25h
bDxkb3VibGU+IG9mZnNldDsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNvbXB1dGVk
T2Zmc2V0OwogICAgICAgICBzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlvbj4gY29tcG9z
aXRlOwogICAgICAgICBIYXNoTWFwPENTU1Byb3BlcnR5SUQsIFN0cmluZz4gY3NzUHJvcGVydGll
c0FuZFZhbHVlczsKICAgICB9OwogCisgICAgc3RydWN0IEJhc2VDb21wdXRlZEtleWZyYW1lIHsK
KyAgICAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IG9mZnNldDsKKyAgICAgICAgZG91YmxlIGNv
bXB1dGVkT2Zmc2V0OworICAgICAgICBTdHJpbmcgZWFzaW5nIHsgImxpbmVhciIgfTsKKyAgICB9
OworCiAgICAgRWxlbWVudCogdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQuZ2V0KCk7
IH0KKyAgICBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+IGdldEtleWZyYW1lcyhK
U0M6OkV4ZWNTdGF0ZSYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEtleWZyYW1lcyhKU0M6
OkV4ZWNTdGF0ZSYsIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYpOworCisgICAgSXRlcmF0
aW9uQ29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBvc2l0ZSgpIGNvbnN0IHsgcmV0dXJu
IG1faXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uOyB9CisgICAgdm9pZCBzZXRJdGVyYXRpb25D
b21wb3NpdGUoSXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBvc2l0ZU9w
ZXJhdGlvbikgeyBtX2l0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbiA9IGl0ZXJhdGlvbkNvbXBv
c2l0ZU9wZXJhdGlvbjsgfQorICAgIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGUoKSBjb25z
dCB7IHJldHVybiBtX2NvbXBvc2l0ZU9wZXJhdGlvbjsgfQorICAgIHZvaWQgc2V0Q29tcG9zaXRl
KENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGVPcGVyYXRpb24pIHsgbV9jb21wb3NpdGVPcGVy
YXRpb24gPSBjb21wb3NpdGVPcGVyYXRpb247IH0KKwogICAgIHZvaWQgZ2V0QW5pbWF0ZWRTdHls
ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0eWxlKTsKICAgICB2b2lk
IGFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcywgUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKICAgICB2
b2lkIHN0YXJ0T3JTdG9wQWNjZWxlcmF0ZWQoKTsKQEAgLTkyLDcgKzEwNywxMiBAQCBwcml2YXRl
OgogICAgIGJvb2wgc2hvdWxkUnVuQWNjZWxlcmF0ZWQoKTsKIAogICAgIFJlZlB0cjxFbGVtZW50
PiBtX3RhcmdldDsKKyAgICBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24gbV9pdGVyYXRpb25D
b21wb3NpdGVPcGVyYXRpb24geyBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb246OlJlcGxhY2Ug
fTsKKyAgICBDb21wb3NpdGVPcGVyYXRpb24gbV9jb21wb3NpdGVPcGVyYXRpb24geyBDb21wb3Np
dGVPcGVyYXRpb246OlJlcGxhY2UgfTsKICAgICBLZXlmcmFtZUxpc3QgbV9rZXlmcmFtZXM7Cisg
ICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gbV9vZmZzZXRzOworICAgIFZlY3RvcjxS
ZWZQdHI8VGltaW5nRnVuY3Rpb24+PiBtX3RpbWluZ0Z1bmN0aW9uczsKKyAgICBWZWN0b3I8c3Rk
OjpvcHRpb25hbDxDb21wb3NpdGVPcGVyYXRpb24+PiBtX2NvbXBvc2l0ZU9wZXJhdGlvbnM7CiAg
ICAgYm9vbCBtX3RyaWdnZXJzU3RhY2tpbmdDb250ZXh0IHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3RhcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0YXJ0ZWRBY2NlbGVyYXRlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAppbmRleCA4
NjhjM2RhOTVhNzUwY2E2ZTA3NWI2NThmOWRiNzhmMzIyYTk4NGRlLi4zOGZmMWYwNmI4M2EzNTY5
MjgyOTJiNTkyMTU0MWIxOTc1YzgxNWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5pZGwKQEAgLTMwLDExICszMCwyMiBAQAogICAgIENvbnN0cnVjdG9yKEVs
ZW1lbnQ/IHRhcmdldCwgb2JqZWN0PyBrZXlmcmFtZXMsIG9wdGlvbmFsICh1bnJlc3RyaWN0ZWQg
ZG91YmxlIG9yIEtleWZyYW1lRWZmZWN0T3B0aW9ucykgb3B0aW9ucykKIF0gaW50ZXJmYWNlIEtl
eWZyYW1lRWZmZWN0IDogQW5pbWF0aW9uRWZmZWN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RWxlbWVudD8gdGFyZ2V0OworICAgIGF0dHJpYnV0ZSBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRp
b24gaXRlcmF0aW9uQ29tcG9zaXRlOworICAgIGF0dHJpYnV0ZSBDb21wb3NpdGVPcGVyYXRpb24g
Y29tcG9zaXRlOworICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gc2VxdWVuY2U8b2JqZWN0PiBn
ZXRLZXlmcmFtZXMoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPVNjcmlwdFN0
YXRlXSB2b2lkIHNldEtleWZyYW1lcyhvYmplY3Q/IGtleWZyYW1lcyk7CiB9OwogCiBkaWN0aW9u
YXJ5IEJhc2VQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZSB7Ci0gICAgKGRvdWJsZT8gb3Igc2VxdWVu
Y2U8ZG91YmxlPz4pIG9mZnNldCA9IFtdOwotICAgIChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9N
U3RyaW5nPikgZWFzaW5nID0gW107Ci0gICAgKENvbXBvc2l0ZU9wZXJhdGlvbiBvciBzZXF1ZW5j
ZTxDb21wb3NpdGVPcGVyYXRpb24+KSBjb21wb3NpdGUgPSBbXTsKKyAgICAoc2VxdWVuY2U8ZG91
YmxlPz4gb3IgZG91YmxlPykgb2Zmc2V0ID0gW107CisgICAgKHNlcXVlbmNlPERPTVN0cmluZz4g
b3IgRE9NU3RyaW5nKSBlYXNpbmcgPSBbXTsKKyAgICAoc2VxdWVuY2U8Q29tcG9zaXRlT3BlcmF0
aW9uPiBvciBDb21wb3NpdGVPcGVyYXRpb24pIGNvbXBvc2l0ZSA9IFtdOworfTsKKworWworICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25hcnkgQmFzZUNvbXB1dGVkS2V5ZnJhbWUg
eworICAgICBkb3VibGU/IG9mZnNldCA9IG51bGw7CisgICAgIGRvdWJsZSBjb21wdXRlZE9mZnNl
dDsKKyAgICAgRE9NU3RyaW5nIGVhc2luZyA9ICJsaW5lYXIiOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uY3BwCmluZGV4IDUw
NzU0M2NlNGEyYzY2MjcwZTYzMTExOGFhYmUxNzM1YzU3NDMyYTMuLjM3OTE5ZDkyNGZkMTU2NWI5
MWM3ZGY3NTQwZWJkNzJlMTllNWMzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRpbWluZ0Z1bmN0aW9uLmgiCiAKKyNpbmNsdWRl
ICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiU3ByaW5nU29sdmVyLmgiCisj
aW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCiAjaW5jbHVkZSAiVW5pdEJlemllci5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIApAQCAtMTAxLDQgKzEwMyw4NSBAQCBkb3Vi
bGUgVGltaW5nRnVuY3Rpb246OnRyYW5zZm9ybVRpbWUoZG91YmxlIGlucHV0VGltZSwgZG91Ymxl
IGR1cmF0aW9uKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCitFeGNlcHRpb25PcjxSZWY8VGlt
aW5nRnVuY3Rpb24+PiBUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQoY29uc3QgU3Ry
aW5nJiBjc3NUZXh0KQoreworICAgIFN0cmluZ0J1aWxkZXIgY3NzU3RyaW5nOworICAgIGNzc1N0
cmluZy5hcHBlbmQoZ2V0UHJvcGVydHlOYW1lU3RyaW5nKENTU1Byb3BlcnR5QW5pbWF0aW9uVGlt
aW5nRnVuY3Rpb24pKTsKKyAgICBjc3NTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiOiAiKTsKKyAgICBj
c3NTdHJpbmcuYXBwZW5kKGNzc1RleHQpOworICAgIGF1dG8gc3R5bGVQcm9wZXJ0aWVzID0gTXV0
YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CisgICAgc3R5bGVQcm9wZXJ0aWVzLT5wYXJz
ZURlY2xhcmF0aW9uKGNzc1N0cmluZy50b1N0cmluZygpLCBDU1NQYXJzZXJDb250ZXh0KEhUTUxT
dGFuZGFyZE1vZGUpKTsKKyAgICBhdXRvIGNzc1ZhbHVlID0gc3R5bGVQcm9wZXJ0aWVzLT5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5QW5pbWF0aW9uVGltaW5nRnVuY3Rpb24pOworCisg
ICAgaWYgKCFjc3NWYWx1ZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9
OworCisgICAgYXV0byYgdmFsdWUgPSAqY3NzVmFsdWUuZ2V0KCk7CisgICAgaWYgKGlzPENTU1By
aW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgc3dpdGNoIChkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4odmFsdWUpLnZhbHVlSUQoKSkgeworICAgICAgICBjYXNlIENTU1ZhbHVlTGlu
ZWFyOgorICAgICAgICAgICAgcmV0dXJuIHsgTGluZWFyVGltaW5nRnVuY3Rpb246OmNyZWF0ZSgp
IH07CisgICAgICAgIGNhc2UgQ1NTVmFsdWVFYXNlOgorICAgICAgICAgICAgcmV0dXJuIHsgQ3Vi
aWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKCkgfTsKKyAgICAgICAgY2FzZSBDU1NWYWx1
ZUVhc2VJbjoKKyAgICAgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246
OmNyZWF0ZShDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpFYXNlSW4pIH07CisgICAgICAgIGNh
c2UgQ1NTVmFsdWVFYXNlT3V0OgorICAgICAgICAgICAgcmV0dXJuIHsgQ3ViaWNCZXppZXJUaW1p
bmdGdW5jdGlvbjo6Y3JlYXRlKEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OkVhc2VPdXQpIH07
CisgICAgICAgIGNhc2UgQ1NTVmFsdWVFYXNlSW5PdXQ6CisgICAgICAgICAgICByZXR1cm4geyBD
dWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlv
bjo6RWFzZUluT3V0KSB9OworICAgICAgICBjYXNlIENTU1ZhbHVlU3RlcFN0YXJ0OgorICAgICAg
ICAgICAgcmV0dXJuIHsgU3RlcHNUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKDEsIHRydWUpIH07Cisg
ICAgICAgIGNhc2UgQ1NTVmFsdWVTdGVwRW5kOgorICAgICAgICAgICAgcmV0dXJuIHsgU3RlcHNU
aW1pbmdGdW5jdGlvbjo6Y3JlYXRlKDEsIGZhbHNlKSB9OworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworICAgICAgICB9CisgICAg
fQorCisgICAgaWYgKGlzPENTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUp
KSB7CisgICAgICAgIGF1dG8mIGN1YmljVGltaW5nRnVuY3Rpb24gPSBkb3duY2FzdDxDU1NDdWJp
Y0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHsgQ3Vi
aWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKGN1YmljVGltaW5nRnVuY3Rpb24ueDEoKSwg
Y3ViaWNUaW1pbmdGdW5jdGlvbi55MSgpLCBjdWJpY1RpbWluZ0Z1bmN0aW9uLngyKCksIGN1Ymlj
VGltaW5nRnVuY3Rpb24ueTIoKSkgfTsKKyAgICB9CisgICAgaWYgKGlzPENTU1N0ZXBzVGltaW5n
RnVuY3Rpb25WYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIGF1dG8mIHN0ZXBzVGltaW5nRnVuY3Rp
b24gPSBkb3duY2FzdDxDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKTsKKyAgICAg
ICAgcmV0dXJuIHsgU3RlcHNUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKHN0ZXBzVGltaW5nRnVuY3Rp
b24ubnVtYmVyT2ZTdGVwcygpLCBzdGVwc1RpbWluZ0Z1bmN0aW9uLnN0ZXBBdFN0YXJ0KCkpIH07
CisgICAgfQorICAgIGlmIChpczxDU1NGcmFtZXNUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSkp
IHsKKyAgICAgICAgYXV0byYgZnJhbWVzVGltaW5nRnVuY3Rpb24gPSBkb3duY2FzdDxDU1NGcmFt
ZXNUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IEZyYW1lc1Rp
bWluZ0Z1bmN0aW9uOjpjcmVhdGUoZnJhbWVzVGltaW5nRnVuY3Rpb24ubnVtYmVyT2ZGcmFtZXMo
KSkgfTsKKyAgICB9CisgICAgaWYgKGlzPENTU1NwcmluZ1RpbWluZ0Z1bmN0aW9uVmFsdWU+KHZh
bHVlKSkgeworICAgICAgICBhdXRvJiBzcHJpbmdUaW1pbmdGdW5jdGlvbiA9IGRvd25jYXN0PENT
U1NwcmluZ1RpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHsgU3By
aW5nVGltaW5nRnVuY3Rpb246OmNyZWF0ZShzcHJpbmdUaW1pbmdGdW5jdGlvbi5tYXNzKCksIHNw
cmluZ1RpbWluZ0Z1bmN0aW9uLnN0aWZmbmVzcygpLCBzcHJpbmdUaW1pbmdGdW5jdGlvbi5kYW1w
aW5nKCksIHNwcmluZ1RpbWluZ0Z1bmN0aW9uLmluaXRpYWxWZWxvY2l0eSgpKSB9OworICAgIH0K
KworICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKK30KKworU3RyaW5nIFRpbWlu
Z0Z1bmN0aW9uOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBpZiAobV90eXBlID09IFRpbWluZ0Z1
bmN0aW9uOjpDdWJpY0JlemllckZ1bmN0aW9uKSB7CisgICAgICAgIGF1dG8mIGZ1bmN0aW9uID0g
ZG93bmNhc3Q8Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbj4oKnRoaXMpOworICAgICAgICBpZiAo
ZnVuY3Rpb24ueDEoKSA9PSAwLjI1ICYmIGZ1bmN0aW9uLnkxKCkgPT0gMC4xICYmIGZ1bmN0aW9u
LngyKCkgPT0gMC4yNSAmJiBmdW5jdGlvbi55MigpID09IDEuMCkKKyAgICAgICAgICAgIHJldHVy
biAiZWFzZSI7CisgICAgICAgIGlmIChmdW5jdGlvbi54MSgpID09IDAuNDIgJiYgIWZ1bmN0aW9u
LnkxKCkgJiYgZnVuY3Rpb24ueDIoKSA9PSAxLjAgJiYgZnVuY3Rpb24ueTIoKSA9PSAxLjApCisg
ICAgICAgICAgICByZXR1cm4gImVhc2UtaW4iOworICAgICAgICBpZiAoIWZ1bmN0aW9uLngxKCkg
JiYgIWZ1bmN0aW9uLnkxKCkgJiYgZnVuY3Rpb24ueDIoKSA9PSAwLjU4ICYmIGZ1bmN0aW9uLnky
KCkgPT0gMS4wKQorICAgICAgICAgICAgcmV0dXJuICJlYXNlLW91dCI7CisgICAgICAgIGlmIChm
dW5jdGlvbi54MSgpID09IDAuNDIgJiYgIWZ1bmN0aW9uLnkxKCkgJiYgZnVuY3Rpb24ueDIoKSA9
PSAwLjU4ICYmIGZ1bmN0aW9uLnkyKCkgPT0gMS4wKQorICAgICAgICAgICAgcmV0dXJuICJlYXNl
LWluLW91dCI7CisgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiY3ViaWMtYmV6aWVyKCVn
LCAlZywgJWcsICVnKSIsIGZ1bmN0aW9uLngxKCksIGZ1bmN0aW9uLnkxKCksIGZ1bmN0aW9uLngy
KCksIGZ1bmN0aW9uLnkyKCkpOworICAgIH0KKworICAgIGlmIChtX3R5cGUgPT0gVGltaW5nRnVu
Y3Rpb246OlN0ZXBzRnVuY3Rpb24pIHsKKyAgICAgICAgYXV0byYgZnVuY3Rpb24gPSBkb3duY2Fz
dDxTdGVwc1RpbWluZ0Z1bmN0aW9uPigqdGhpcyk7CisgICAgICAgIGlmICghZnVuY3Rpb24uc3Rl
cEF0U3RhcnQoKSkKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgic3RlcHMoJWQp
IiwgZnVuY3Rpb24ubnVtYmVyT2ZTdGVwcygpKTsKKyAgICB9CisKKyAgICBUZXh0U3RyZWFtIHN0
cmVhbTsKKyAgICBzdHJlYW0gPDwgKnRoaXM7CisgICAgcmV0dXJuIHN0cmVhbS5yZWxlYXNlKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmgKaW5kZXggNTI3YmNiYTgzYjhlNWZhZGRj
YmU5MzIwOTcwMDk4NTE1Zjc1Njc2My4uOThiYmI3ODI0NTIwODM1ZDkwYTkyNTEwMjc1OGMzYzNk
ODY4ZTgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1Rp
bWluZ0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1Rp
bWluZ0Z1bmN0aW9uLmgKQEAgLTI0LDYgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNs
dWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCkBAIC01Miw2ICs1Myw4IEBAIHB1YmxpYzoKICAgICBib29sIG9wZXJh
dG9yIT0oY29uc3QgVGltaW5nRnVuY3Rpb24mIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlz
ID09IG90aGVyKTsgfQogCiAgICAgZG91YmxlIHRyYW5zZm9ybVRpbWUoZG91YmxlLCBkb3VibGUp
IGNvbnN0OworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8VGltaW5nRnVuY3Rpb24+PiBjcmVh
dGVGcm9tQ1NTVGV4dChjb25zdCBTdHJpbmcmKTsKKyAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0
OwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgVGltaW5nRnVuY3Rpb24oVGltaW5nRnVuY3Rp
b25UeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Q5OGVjODQ0N2M0NjExYTFmZWNmYzRjY2UwZjVjMDllYTJm
M2NiMS4uNWQwZGM5MTQ0OTc4N2NjZGE2ZDA5MGFkZGJjOGMyYmY0OTQ3MjIzOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE4LTAxLTIzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5j
b20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBFeHBvc2UgZ2V0S2V5ZnJhbWVzKCkgYW5k
IHBhcnNpbmcgb2YgcmVtYWluaW5nIGtleWZyYW1lIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTk3OAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzY3NzI1ODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9ucyB3aXRoIHByb2dyZXNzaW9ucyBhbmQgbmV3
IGZhaWx1cmUgcG9pbnRzIG5vdyB3ZSBleHBvc2UgbW9yZSBvZiB0aGUgQVBJLgorCisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3Np
dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
S2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dDoKKwogMjAxOC0wMS0xOSAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVtb3ZlIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zIHRlc3RzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFi
bGUvYW5pbWF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1leHBlY3RlZC50eHQKaW5kZXggZjM1
ZWExMzBkNzQwNDkxMmU4OWIzZWVhODZlZjE2OWM5OGIwY2M5ZC4uZTUyNjY2MTY0ZGRlOGFkMjBj
NWJjZDcyYzg0MTVhOTZhM2YxMGNjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5p
bWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dApAQCAtNywxNDMgKzcsODEgQEAgUEFTUyBFbGVt
ZW50LmFuaW1hdGUoKSBjcmVhdGVzIGFuIEFuaW1hdGlvbiBvYmplY3Qgd2l0aCBhIEtleWZyYW1l
RWZmZWN0IHdob3NlIEEKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBlbXB0eSBrZXlm
cmFtZSBsaXN0cyAoaW5wdXQ6IFtdKSAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBl
bXB0eSBrZXlmcmFtZSBsaXN0cyAoaW5wdXQ6IG51bGwpIAogUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGVtcHR5IGtleWZyYW1lIGxpc3RzIChpbnB1dDogdW5kZWZpbmVkKSAKLUZBSUwg
RWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0
cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0
d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmlj
YXRpb24gYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQg
bnVtYmVycyBvZiB2YWx1ZXMgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQg
dmFsdWUgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5
IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQg
bmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRo
IGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBD
U1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFuaW0uZWZmZWN0
LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlm
cmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
RWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdvIHZh
bHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNl
Y29uZCB2YWx1ZSBpcyBpbnZhbGlkIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgdHdvIGtl
eWZyYW1lIHNlcXVlbmNlIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9u
ZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGFuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9u
ZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK0ZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYXNzZXJ0X2VxdWFsczogcHJvcGVy
dGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNp
bmcsbWFyZ2luLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJv
dHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitGQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9u
ZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21w
dXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG1h
cmdpblRvcCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0
b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorUEFTUyBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgCitQQVNTIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdp
dGggYW4gaW52YWxpZCB2YWx1ZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9u
ZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIAorRkFJTCBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhc3NlcnRfZXF1YWxzOiB2YWx1ZSBmb3Ig
J2xlZnQnIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgInZhcigtLWRpc3QpIiBidXQg
Z290ICJhdXRvIgorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5j
ZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENv
bXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4s
b2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdp
bkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK1BBU1MgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9u
ZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJv
cGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
d2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIAorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBz
ZXF1ZW5jZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0
d28ga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0
d28gcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIAorRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ug
YXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVk
ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRP
ZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRv
cCxvZmZzZXQiCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkg
KGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBrZXlm
cmFtZSBzZXF1ZW5jZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJh
bWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sbWFyZ2luVG9wLG9m
ZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5M
ZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCiBGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEg
Z2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IFR5cGUgZXJyb3IKIEZBSUwgRWxlbWVudC5hbmltYXRlKCkg
YWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zm
c2V0cyAwIGFuZCAxIFR5cGUgZXJyb3IKIEZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBh
IHR3byBwcm9wZXJ0eSBmb3VyIGtleWZyYW1lIHNlcXVlbmNlIFR5cGUgZXJyb3IKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9t
aXR0ZWQgb2Zmc2V0IGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmds
ZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG51bGwgb2Zmc2V0IGFuaW0uZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScs
ICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBv
ZmZzZXQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5
IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgYW5pbS5lZmZlY3Qu
Z2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZy
YW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggc29tZSBudWxsIG9mZnNldHMgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9m
ZnNldHMgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5
IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitQQVNTIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBv
bWl0dGVkIG9mZnNldCAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG51bGwgb2Zmc2V0IAorUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCAK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIAorUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBudWxs
IG9mZnNldHMgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyAKK1BBU1MgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IGFsbCBvbWl0dGVkIG9mZnNldHMgCiBGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBlYXNpbmcgdmFsdWVzLCBidXQgdGhlIHNh
bWUgZWFzaW5nIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCiBGQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBj
b21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVu
IG9mZnNldCBUeXBlIGVycm9yCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUg
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0
cyB2YWx1ZXMgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJs
ZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNl
ZGVzIGxvbmdoYW5kIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZy
YW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdoYW5kIHByZWNlZGVzIHNob3J0aGFuZCBhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNz
ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIGFuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMo
KScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdyZWF0ZXIgc2hv
cnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBw
cm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGFuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJh
bWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyAKK0ZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFy
aWFibGUgcmVmZXJlbmNlIGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAnbGVmdCcgb24gQ29tcHV0
ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAidmFyKC0tZGlzdCkiIGJ1dCBnb3QgImF1dG8iCitGQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NT
IHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NlcnRfZXF1YWxz
OiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zm
c2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcs
bWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIHNo
b3J0aGFuZCBwcmVjZWRlcyBsb25naGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENv
bXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4s
bWFyZ2luUmlnaHQsb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2lu
Qm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdoYW5k
IHByZWNlZGVzIHNob3J0aGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVk
S2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sbWFyZ2lu
UmlnaHQsb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9t
LG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhh
bmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBv
biBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJib3JkZXIsYm9yZGVyTGVmdCxjb21wdXRl
ZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJib3JkZXJCb3R0b21Db2xvcixib3JkZXJC
b3R0b21TdHlsZSxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJJbWFnZU91dHNldCxib3JkZXJJbWFn
ZVJlcGVhdCxib3JkZXJJbWFnZVNsaWNlLGJvcmRlckltYWdlU291cmNlLGJvcmRlckltYWdlV2lk
dGgsYm9yZGVyTGVmdENvbG9yLGJvcmRlckxlZnRTdHlsZSxib3JkZXJMZWZ0V2lkdGgsYm9yZGVy
UmlnaHRDb2xvcixib3JkZXJSaWdodFN0eWxlLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVyVG9wQ29s
b3IsYm9yZGVyVG9wU3R5bGUsYm9yZGVyVG9wV2lkdGgsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9m
ZnNldCIKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNl
IHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQgYXNzZXJ0
X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJib3Jk
ZXIsYm9yZGVyTGVmdCxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJib3Jk
ZXJCb3R0b21Db2xvcixib3JkZXJCb3R0b21TdHlsZSxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJJ
bWFnZU91dHNldCxib3JkZXJJbWFnZVJlcGVhdCxib3JkZXJJbWFnZVNsaWNlLGJvcmRlckltYWdl
U291cmNlLGJvcmRlckltYWdlV2lkdGgsYm9yZGVyTGVmdENvbG9yLGJvcmRlckxlZnRTdHlsZSxi
b3JkZXJMZWZ0V2lkdGgsYm9yZGVyUmlnaHRDb2xvcixib3JkZXJSaWdodFN0eWxlLGJvcmRlclJp
Z2h0V2lkdGgsYm9yZGVyVG9wQ29sb3IsYm9yZGVyVG9wU3R5bGUsYm9yZGVyVG9wV2lkdGgsY29t
cHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMg
bWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkg
YWNjZXB0cyBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVy
dHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIAogRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQg
b2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBUeXBlIGVycm9yCiBQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRl
ZCBwb3NpdGl2ZSBvZmZzZXQgCiBQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2Vw
dCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBvZmZzZXQgCiBQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBrZXlmcmFtZXMgbm90IGxvb3NlbHkg
c29ydGVkIGJ5IG9mZnNldCAKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgIGRpdi5hbmltYXRl
KHN1YnRlc3QuaW5wdXQsIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBp
bnZhbGlkIGVhc2luZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
ewotICAgICAgZGl2LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCk7Ci0gICAgfSIgZGlkIG5v
dCB0aHJvdworUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKK1BBU1MgRWxl
bWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
biBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3Qg
YWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVlIAotRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICcnIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzog
aW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJzcnIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52
YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3Rlc3QnIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52
YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2luaXRpYWwnIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzog
aW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2luaGVyaXQnIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2lu
ZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3Vuc2V0JyBh
c3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNp
bmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd1bnJlY29n
bml6ZWQnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0
ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzog
J3ZhcigtLXgpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFu
aW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNp
bmc6ICdlYXNlLWluLW91dCwgZWFzZS1vdXQnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsK
LSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFj
Y2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigxLjEsIDAsIDEsIDEpJyBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGlu
dmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIo
MCwgMCwgMS4xLCAxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRp
di5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnY3ViaWMtYmV6aWVyKC0wLjEsIDAsIDEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcg
fSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBk
b2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMCwgMCwgLTAuMSwg
MSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7
IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1G
QUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1
YmljLWJlemllcigwLjEsIDAsIDQsIDAuNCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsK
LSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFj
Y2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKC0xLCBzdGFydCknIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2lu
ZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKDAuMSwgc3RhcnQpJyBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6
IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdzdGVwcygzLCBu
b3doZXJlKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmlt
YXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhy
b3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5n
OiAnc3RlcHMoLTMsIGVuZCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAg
ICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBk
aWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0nIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9
LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0aW9uICh4KXtyZXR1cm4geH0nIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2lu
ZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0aW9u
KHgsIHkpe3JldHVybiAwLjN9JyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAg
ICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52
YWxpZCBlYXNpbmc6ICdmcmFtZXMoMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7
Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAg
ICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2Vw
dCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcycgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwot
ICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNj
ZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIo
KSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAw
KTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90
IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygsKScgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0s
IDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9l
cyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKGEpJyBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNp
bmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoMi4wKScgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKDIuNSknIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2lu
ZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygy
IDMpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUo
eyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwor
UEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICcn
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICc3JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFz
aW5nOiAndGVzdCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ2luaXRpYWwnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBh
Y2NlcHQgaW52YWxpZCBlYXNpbmc6ICdpbmhlcml0JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkg
ZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndW5zZXQnIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd1bnJlY29nbml6ZWQnIAor
UEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd2
YXIoLS14KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlk
IGVhc2luZzogJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigxLjEsIDAsIDEs
IDEpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFz
aW5nOiAnY3ViaWMtYmV6aWVyKDAsIDAsIDEuMSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwg
MSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBl
YXNpbmc6ICdjdWJpYy1iZXppZXIoMCwgMCwgLTAuMSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1h
dGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMC4xLCAw
LCA0LCAwLjQpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFs
aWQgZWFzaW5nOiAnc3RlcHMoLTEsIHN0YXJ0KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKDAuMSwgc3RhcnQpJyAKK1BBU1Mg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMo
Mywgbm93aGVyZSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52
YWxpZCBlYXNpbmc6ICdzdGVwcygtMywgZW5kKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0nIAor
UEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdm
dW5jdGlvbiAoeCl7cmV0dXJuIHh9JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3Qg
YWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIAorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFt
ZXMoMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBl
YXNpbmc6ICdmcmFtZXMnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
aW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMg
bm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygsKScgCitQQVNTIEVsZW1lbnQuYW5p
bWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcyhhKScgCitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1l
cygyLjApJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnZnJhbWVzKDIuNSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBh
Y2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoMiAzKScgCiBQQVNTIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSBkb3VibGUgYXMgYW4gb3B0aW9ucyBhcmd1bWVudCAKIFBBU1MgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIEtleWZyYW1lQW5pbWF0aW9uT3B0aW9ucyBhcmd1bWVudCAK
IFBBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhbiBhYnNlbnQgb3B0aW9ucyBhcmd1bWVu
dCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRp
bWluZy9lYXNpbmctZXhwZWN0ZWQudHh0CmluZGV4IDg2ODkwZmM0N2EyY2ZjNjE5ZjY2ZjU1Zjcx
MzE1YWJhMWUxNmYwNGYuLmIxYTZhN2JkZDI0MjEzOTE2ODU0YWMxZDYzZTk2NGIzNWMxZmFmODYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RU
aW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogCi1GQUlMIFRlc3Qg
ZGVmYXVsdCB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAibGluZWFyIiBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBzdGVwLXN0YXJ0IGZ1bmN0aW9uIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdGVwcygxLCBzdGFydCkiIGJ1dCBnb3QgInN0ZXAtc3Rh
cnQiCitQQVNTIFRlc3QgZGVmYXVsdCB2YWx1ZSAKK0ZBSUwgc3RlcC1zdGFydCBmdW5jdGlvbiBh
c3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxk
IGJlIGFwcHJveGltYXRlbHkgMSBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJv
YmplY3QiCiBGQUlMIHN0ZXBzKDEsIHN0YXJ0KSBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFs
czogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkg
MSBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIHN0ZXBz
KDIsIHN0YXJ0KSBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9m
IHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMC41IGF0IDBtcyBleHBlY3Rl
ZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKLUZBSUwgc3RlcC1lbmQgZnVuY3Rpb24gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0ZXBzKDEpIiBidXQgZ290ICJzdGVwLWVuZCIKK0ZBSUwg
c3RlcC1lbmQgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0
aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEg
bnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgogRkFJTCBzdGVwcygxKSBmdW5jdGlvbiBhc3NlcnRf
YXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFw
cHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3Qi
Ci1GQUlMIHN0ZXBzKDEsIGVuZCkgZnVuY3Rpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0
ZXBzKDEpIiBidXQgZ290ICJzdGVwcygxLCBlbmQpIgotRkFJTCBzdGVwcygyLCBlbmQpIGZ1bmN0
aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdGVwcygyKSIgYnV0IGdvdCAic3RlcHMoMiwg
ZW5kKSIKK0ZBSUwgc3RlcHMoMSwgZW5kKSBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczog
VGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBh
dCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCitGQUlMIHN0ZXBzKDIs
IGVuZCkgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUg
YW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEgbnVt
YmVyIGJ1dCBnb3QgYSAib2JqZWN0IgogRkFJTCBmcmFtZXMgZnVuY3Rpb24gYXNzZXJ0X2FwcHJv
eF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hp
bWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgogRkFJ
TCBsaW5lYXIgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0
aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEg
bnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgogRkFJTCBlYXNlIGZ1bmN0aW9uIGFzc2VydF9hcHBy
b3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94
aW1hdGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKQEAg
LTE1LDkzICsxNSwzNSBAQCBGQUlMIGVhc2UtaW4tb3V0IGZ1bmN0aW9uIGFzc2VydF9hcHByb3hf
ZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaAogRkFJTCBlYXNlLW91dCBm
dW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRp
b24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0
IGdvdCBhICJvYmplY3QiCiBGQUlMIGVhc2luZyBmdW5jdGlvbiB3aGljaCBwcm9kdWNlcyB2YWx1
ZXMgZ3JlYXRlciB0aGFuIDEgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0
aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEg
bnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgogRkFJTCBlYXNpbmcgZnVuY3Rpb24gd2hpY2ggcHJv
ZHVjZXMgdmFsdWVzIGxlc3MgdGhhbiAxIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jl
c3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAwIGF0IDBtcyBleHBl
Y3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFz
aW5nIHZhbHVlIHRlc3Q6ICcnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlk
RWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlk
IGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJzcnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNp
bmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwot
RkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3Rlc3QnIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZm
ZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2lu
aXRpYWwnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAg
ICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNp
bmcgdmFsdWUgdGVzdDogJ2luaGVyaXQnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBp
bnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3Vuc2V0JyBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50
aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICd1bnJlY29n
bml6ZWQnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAg
ICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNp
bmcgdmFsdWUgdGVzdDogJ3ZhcigtLXgpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0g
aW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
SW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdlYXNlLWluLW91dCwgZWFzZS1vdXQn
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAg
ICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFs
dWUgdGVzdDogJ2N1YmljLWJlemllcigxLjEsIDAsIDEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1p
bmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3Qg
dGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXpp
ZXIoMCwgMCwgMS4xLCAxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRF
YXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKC0wLjEsIDAsIDEsIDEpJyBh
c3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAg
ICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAg
ICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVl
IHRlc3Q6ICdjdWJpYy1iZXppZXIoMCwgMCwgLTAuMSwgMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemll
cigwLjEsIDAsIDQsIDAuNCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlk
RWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlk
IGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKC0xLCBzdGFydCknIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZm
ZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0
ZXBzKDAuMSwgc3RhcnQpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVh
c2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBl
ZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygzLCBub3doZXJlKScgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZl
Y3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBk
aWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3Rl
cHMoLTMsIGVuZCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5n
OwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVj
dCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0nIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZm
ZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1
bmN0aW9uICh4KXtyZXR1cm4geH0nIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZh
bGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZh
bGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1bmN0aW9uKHgsIHkpe3JldHVybiAwLjN9
JyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAg
ICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZh
bHVlIHRlc3Q6ICdmcmFtZXMoMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZh
bGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZh
bGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcycgYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGlt
aW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90
IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKCkn
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAg
ICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFs
dWUgdGVzdDogJ2ZyYW1lcygsKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFs
aWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKGEpJyBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50
aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMo
Mi4wKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAg
ICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIuNSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcg
PSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJ
TCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyIDMpJyBhc3NlcnRf
dGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmlt
LmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAg
IH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6
ICcnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJzcnIAorUEFTUyBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3Rlc3QnIAorUEFTUyBJbnZhbGlkIGVm
ZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2luaXRpYWwnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBl
YXNpbmcgdmFsdWUgdGVzdDogJ2luaGVyaXQnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcg
dmFsdWUgdGVzdDogJ3Vuc2V0JyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRl
c3Q6ICd1bnJlY29nbml6ZWQnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVz
dDogJ3ZhcigtLXgpJyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdl
YXNlLWluLW91dCwgZWFzZS1vdXQnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUg
dGVzdDogJ2N1YmljLWJlemllcigxLjEsIDAsIDEsIDEpJyAKK1BBU1MgSW52YWxpZCBlZmZlY3Qg
ZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoMCwgMCwgMS4xLCAxKScgCitQQVNTIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKC0wLjEsIDAsIDEs
IDEpJyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXpp
ZXIoMCwgMCwgLTAuMSwgMSknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVz
dDogJ2N1YmljLWJlemllcigwLjEsIDAsIDQsIDAuNCknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBl
YXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKC0xLCBzdGFydCknIAorUEFTUyBJbnZhbGlkIGVmZmVj
dCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDAuMSwgc3RhcnQpJyAKK1BBU1MgSW52YWxpZCBl
ZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygzLCBub3doZXJlKScgCitQQVNTIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTMsIGVuZCknIAorUEFTUyBJbnZh
bGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1bmN0aW9uIChhKXtyZXR1cm4gYX0nIAor
UEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1bmN0aW9uICh4KXtyZXR1
cm4geH0nIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Z1bmN0aW9u
KHgsIHkpe3JldHVybiAwLjN9JyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRl
c3Q6ICdmcmFtZXMoMSknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J2ZyYW1lcycgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVz
KCknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygsKScg
CitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKGEpJyAKK1BB
U1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMi4wKScgCitQQVNT
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIuNSknIAorUEFTUyBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyIDMpJyAKIFBBU1MgQ2Fu
b25pY2FsIGVhc2luZyAnZWFzZScgaXMgcmV0dXJuZWQgYXMgc2V0IAogUEFTUyBDYW5vbmljYWwg
ZWFzaW5nICdsaW5lYXInIGlzIHJldHVybmVkIGFzIHNldCAKIFBBU1MgQ2Fub25pY2FsIGVhc2lu
ZyAnZWFzZS1pbicgaXMgcmV0dXJuZWQgYXMgc2V0IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3Np
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3NpdGUtZXhwZWN0ZWQudHh0CmluZGV4IDUyNGIw
ODA4Njc0ODVmM2Y5ZWNhZjI3YTU5MzBlNjBhODU5NDAxY2UuLjE0ZTIyYzNiODE1OGQ3OTE2NmVj
ZWNmM2ZkMzg5NTgzMGQ0NDdjMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0tleWZyYW1lRWZmZWN0L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAK
LUZBSUwgRGVmYXVsdCB2YWx1ZSBhc3NlcnRfZXF1YWxzOiBUaGUgZGVmYXVsdCB2YWx1ZSBzaG91
bGQgYmUgcmVwbGFjZSBleHBlY3RlZCAoc3RyaW5nKSAicmVwbGFjZSIgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKK1BBU1MgRGVmYXVsdCB2YWx1ZSAKIFBBU1MgQ2hhbmdlIGNvbXBvc2l0
ZSB2YWx1ZSAKLUZBSUwgVW5zcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4g
c2V0dGluZyBlZmZlY3QgY29tcG9zaXRlIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgU3BlY2lmaWVkIGtleWZyYW1lIGNv
bXBvc2l0ZSB2YWx1ZSB3aGVuIHNldHRpbmcgZWZmZWN0IGNvbXBvc2l0ZSBhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitQQVNTIFVu
c3BlY2lmaWVkIGtleWZyYW1lIGNvbXBvc2l0ZSB2YWx1ZSB3aGVuIHNldHRpbmcgZWZmZWN0IGNv
bXBvc2l0ZSAKK1BBU1MgU3BlY2lmaWVkIGtleWZyYW1lIGNvbXBvc2l0ZSB2YWx1ZSB3aGVuIHNl
dHRpbmcgZWZmZWN0IGNvbXBvc2l0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEt
a2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBjMGJiNzcyNGYxZmZkNWVl
MjM4YmU3MmJiOTMxODJmMjg5MWZmZTAwLi4wOWI5M2U1ZjA4ZGMwNDg5ZDQxZmQyYzI1NjQyOGVj
N2YwMDQ1MzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1l
bnQtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJn
dW1lbnQtMDAxLWV4cGVjdGVkLnR4dApAQCAtMzMsMTUgKzMzLDE1IEBAIFBBU1Mgbm9uLWFuaW1h
dGFibGUgcHJvcGVydHkgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbicgaXMgbm90IGFjY2Vzc2Vk
IHdoZW4gdXNpCiBQQVNTIG5vbi1hbmltYXRhYmxlIHByb3BlcnR5ICdkaXNwbGF5JyBpcyBub3Qg
YWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAogUEFTUyBub24tYW5pbWF0
YWJsZSBwcm9wZXJ0eSAndW5zdXBwb3J0ZWRQcm9wZXJ0eScgaXMgbm90IGFjY2Vzc2VkIHdoZW4g
dXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKIFBBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkg
J2ZvbnQtc2l6ZScgaXMgbm90IGFjY2Vzc2VkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5j
ZSAKLUZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJh
bWVzOiB0d28gcHJvcGVydGllcyB3aXRoIG9uZSB2YWx1ZSBuZXcgS2V5ZnJhbWVFZmZlY3QobnVs
bCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25ldyBL
ZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMoKScsICduZXcgS2V5
ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQgc2VxdWVuY2VkIGtleWZyYW1l
czogdHdvIHByb3BlcnRpZXMgd2l0aCB0aHJlZSB2YWx1ZXMgbmV3IEtleWZyYW1lRWZmZWN0KG51
bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzKCknLCAnbmV3IEtl
eWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFt
ZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIG5ldyBL
ZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZy
YW1lcygpJywgJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBz
ZXF1ZW5jZWQga2V5ZnJhbWVzOiBzYW1lIGVhc2luZyBhcHBsaWVkIHRvIGFsbCBrZXlmcmFtZXMg
bmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0
S2V5ZnJhbWVzKCknLCAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQg
YW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHNhbWUgY29tcG9zaXRlIGFwcGxpZWQgdG8gYWxsIGtl
eWZyYW1lcyBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFt
ZXNBKS5nZXRLZXlmcmFtZXMoKScsICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVz
QSkuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBm
cm9tIGEgY3VzdG9tIGl0ZXJhdG9yIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgJ2Vhc2luZycgYW5kICdvZmZzZXQnIGFyZSBpZ25vcmVkIG9uIGl0
ZXJhYmxlIG9iamVjdHMgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciB3aXRo
IG11bHRpcGxlIHByb3BlcnRpZXMgc3BlY2lmaWVkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20gYSBjdXN0
b20gaXRlcmF0b3Igd2l0aCB3aGVyZSBhbiBvZmZzZXQgaXMgc3BlY2lmaWVkIGVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgRXF1aXZhbGVudCBwcm9w
ZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiB0d28gcHJvcGVydGllcyB3aXRo
IG9uZSB2YWx1ZSAKK1BBU1MgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5j
ZWQga2V5ZnJhbWVzOiB0d28gcHJvcGVydGllcyB3aXRoIHRocmVlIHZhbHVlcyAKK1BBU1MgRXF1
aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiB0d28gcHJv
cGVydGllcyB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyAKK1BBU1MgRXF1aXZhbGVu
dCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiBzYW1lIGVhc2luZyBh
cHBsaWVkIHRvIGFsbCBrZXlmcmFtZXMgCitQQVNTIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhl
ZCBhbmQgc2VxdWVuY2VkIGtleWZyYW1lczogc2FtZSBjb21wb3NpdGUgYXBwbGllZCB0byBhbGwg
a2V5ZnJhbWVzIAorRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRv
ciBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2YgZnJhbWVzIGV4cGVjdGVkIDMgYnV0IGdvdCAwCitG
QUlMICdlYXNpbmcnIGFuZCAnb2Zmc2V0JyBhcmUgaWdub3JlZCBvbiBpdGVyYWJsZSBvYmplY3Rz
IGFzc2VydF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMyBidXQgZ290IDAKK0ZB
SUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20gYSBjdXN0b20gaXRlcmF0b3Igd2l0aCBtdWx0aXBs
ZSBwcm9wZXJ0aWVzIHNwZWNpZmllZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2YgZnJhbWVzIGV4
cGVjdGVkIDMgYnV0IGdvdCAwCitGQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9t
IGl0ZXJhdG9yIHdpdGggd2hlcmUgYW4gb2Zmc2V0IGlzIHNwZWNpZmllZCBhc3NlcnRfZXF1YWxz
OiBudW1iZXIgb2YgZnJhbWVzIGV4cGVjdGVkIDMgYnV0IGdvdCAwCiBGQUlMIFJlYWRpbmcgZnJv
bSBhIGN1c3RvbSBpdGVyYXRvciB0aGF0IHJldHVybnMgYSBub24tb2JqZWN0IGtleWZyYW1lIHNo
b3VsZCB0aHJvdyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewogICAgIG5ldyBLZXlm
cmFtZUVmZmVjdChudWxsLCBjcmVhdGVJdGVyYWJsZShbCiAgICAgICB7IGRvbmU6IGZhbHNlLCB2
YWx1ZTogeyBsZWZ0OiAnMTAwcHgnIH0gfSwKQEAgLTUwLDEwICs1MCwxMCBAQCBGQUlMIFJlYWRp
bmcgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciB0aGF0IHJldHVybnMgYSBub24tb2JqZWN0IGtleWZy
YW1lIHNob3VsZCB0aAogICAgICAgeyBkb25lOiB0cnVlIH0sCiAgICAgXSkpOwogICB9IiBkaWQg
bm90IHRocm93Ci1GQUlMIEEgbGlzdCBvZiB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBhIGN1c3RvbSBp
dGVyYXRvciBzaG91bGQgYmUgaWdub3JlZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIGtleWZy
YW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIE9ubHkgcHJvcGVydGllcyBkZWZpbmVkIGRpcmVjdGx5IG9uIGtleWZyYW1lcyBh
cmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24gcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQorRkFJTCBBIGxpc3Qgb2YgdmFsdWVzIHJldHVybmVkIGZyb20gYSBjdXN0
b20gaXRlcmF0b3Igc2hvdWxkIGJlIGlnbm9yZWQgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZy
YW1lcyBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCBPbmx5IGVudW1lcmFibGUgcHJvcGVydGll
cyBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBl
eHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBPbmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3Rs
eSBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBl
eHBlY3RlZCAyIGJ1dCBnb3QgMAorRkFJTCBPbmx5IGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIg
b2YgZnJhbWVzIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIE9ubHkgcHJvcGVydGllcyBkZWZp
bmVkIGRpcmVjdGx5IG9uIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFyZSByZWFkIGFzc2Vy
dF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMiBidXQgZ290IDAKIEZBSUwgUHJv
cGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgVW5pY29kZSBjb2RlcG9pbnQg
YXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9yZGVyIHByb3BlcnR5IDAsIGV4
cGVjdGVkICJjb21wb3NpdGUiIGJ1dCBnb3QgIm1hcmdpbkxlZnQiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZl
Y3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQKaW5kZXgg
YzVjYjgwMTdjM2VjNjZhMjBiMmFmNjgzNWZmNDJjNTkxZDIxMTc1OS4uODE5MTg5MzZiNTE3YTk5
MGY1YzM5ZDY2MGYzYjAwOGI0NmRjNWM3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEt
a2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5n
LWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQKQEAgLTEsMTQgKzEsOCBAQAog
Ci1GQUlMIGVhc2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBzZXQgb24gYSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3
aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJl
Y3RseSByZWplY3RlZCB3aGVuIHNldCBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXNz
ZXJ0X3Rocm93czogVHlwZUVycm9yIGlzIHRocm93biBmb3IgZWFzaW5nICcnIGZ1bmN0aW9uICIo
KSA9PiB7Ci0gICAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCB7IGVhc2luZzogaW52YWxp
ZEVhc2luZyB9KTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWFzaW5nIHZh
bHVlcyBhcmUgY29ycmVjdGx5IHJlamVjdGVkIHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5j
ZSBhc3NlcnRfdGhyb3dzOiBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJycgZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIFt7IGVhc2luZzog
aW52YWxpZEVhc2luZyB9XSk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBlYXNpbmcgdmFs
dWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZSAKK1BBU1MgZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHVz
aW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCitQQVNTIEludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUg
Y29ycmVjdGx5IHJlamVjdGVkIHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZSAKK1BBU1MgSW52YWxpZCBlYXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hl
biB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAogRkFJTCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVh
c2luZ3Mgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGFyZSB0aHJvd24gYWZ0ZXIgcmVh
ZGluZyBhbGwgcHJvcGVydGllcyBhc3NlcnRfZXF1YWxzOiBBbGwgcHJvcGVydGllcyB3ZXJlIHJl
YWQgYmVmb3JlIHRocm93aW5nIHRoZSBlYXNpbmcgZXJyb3IgZXhwZWN0ZWQgMiBidXQgZ290IDEK
LUZBSUwgRXJyb3JzIGZyb20gaW52YWxpZCBlYXNpbmdzIG9uIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
YXJlIHRocm93biBhZnRlciByZWFkaW5nIGFsbCBwcm9wZXJ0aWVzIGFzc2VydF90aHJvd3M6IGZ1
bmN0aW9uICIoKSA9PiB7Ci0gICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgWyBrZjEsIGtm
MiBdKTsKLSAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBFcnJvcnMgZnJvbSBpbnZhbGlkIGVhc2lu
Z3Mgb24gYSBrZXlmcmFtZSBzZXF1ZW5jZSBhcmUgdGhyb3duIGFmdGVyIHJlYWRpbmcgYWxsIHBy
b3BlcnRpZXMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVF
ZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dAppbmRleCAxZDA4MWFjN2RkOGRhY2Q4ODA3
NThjMDY2MWIxOWM2ZDdkODM4NGRhLi4yMzZmY2Q4YjBlNmEyMWI2ODFjMmJlOGI5YTZkYmQyMDk5
ZTM2MTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9p
bnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDUzICsxLDQ5IEBACiAKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IGtleWZyYW1lIGVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
b25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0
eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28g
dmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScs
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3
byBwcm9wZXJ0eSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGgg
ZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQg
dmFsdWUgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBz
dHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5
LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZl
cmVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hv
cnRoYW5kIHByb3BlcnR5IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IG9uZSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3QuZ2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlz
IGludmFsaWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIGtl
eWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBw
cm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScs
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBp
dHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IGtleWZyYW1lIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21w
dXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG9m
ZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5M
ZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitGQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0
cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5
ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sbWFyZ2luVG9w
LG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJn
aW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitQQVNTIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmlj
YXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgCitQQVNTIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmlj
YXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyAKK0ZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhc3NlcnRf
ZXF1YWxzOiB2YWx1ZSBmb3IgJ2xlZnQnIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQg
InZhcigtLWRpc3QpIiBidXQgZ290ICJhdXRvIgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGgg
YSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2VydF9l
cXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0
ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVh
c2luZyxtYXJnaW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0
IgorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25l
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gCitQQVNTIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gCitQQVNTIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFs
dWUgaXMgaW52YWxpZCAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25l
IHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIHdoZXJlIHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCAKK1BBU1MgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSAK
K1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBr
ZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
dHdvIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSAKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2UgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4
cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG9mZnNldCIgYnV0IGdvdCAiY29t
cHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1h
cmdpblRvcCxvZmZzZXQiCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3
byBwcm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5k
cykgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29t
cHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixt
YXJnaW5Ub3Asb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90
dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKIEZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNh
dGUgdmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIG9mZnNldCBUeXBlIGVycm9yCiBGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVw
bGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAwIGFuZCAxIFR5cGUgZXJyb3IKIEZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2Vx
dWVuY2UgVHlwZSBlcnJvcgotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBz
aW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCBlZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG51bGwgb2Zmc2V0
IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtl
eWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggc3RyaW5nIG9mZnNldCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29t
ZSBudWxsIG9mZnNldHMgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFsbCBv
bWl0dGVkIG9mZnNldHMgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQg
CitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRl
ZCBvZmZzZXRzIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJv
cGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyAKK1BBU1MgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFsbCBvbWl0
dGVkIG9mZnNldHMgCiBGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBl
YXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IFR5cGUgZXJyb3IKIEZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
Y29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2YWx1ZSBmb3IgYSBnaXZl
biBvZmZzZXQgVHlwZSBlcnJvcgotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRoYXQgbmVlZHMgdG8gc3RyaW5n
aWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGlu
IGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2Vk
ZXMgc2hvcnRoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdyZWF0ZXIg
c2hvcnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5
IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5
IGlzIG1pc3NpbmcgZnJvbSB0aGUgbGFzdCBrZXlmcmFtZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBz
dHJpbmdpZnkgaXRzIHZhbHVlcyAKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgYXNzZXJ0
X2VxdWFsczogdmFsdWUgZm9yICdsZWZ0JyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVk
ICJ2YXIoLS1kaXN0KSIgYnV0IGdvdCAiYXV0byIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVu
Y2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBD
b21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2lu
LG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJn
aW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIHNob3J0aGFuZCBwcmVj
ZWRlcyBsb25naGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJh
bWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sbWFyZ2luUmlnaHQs
b2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdp
bkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2Vk
ZXMgc2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFt
ZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJnaW5SaWdodCxv
ZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0b20sbWFyZ2lu
TGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5k
IHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24g
Q29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiYm9yZGVyLGJvcmRlckxlZnQsY29tcHV0ZWRP
ZmZzZXQsZWFzaW5nLG9mZnNldCIgYnV0IGdvdCAiYm9yZGVyQm90dG9tQ29sb3IsYm9yZGVyQm90
dG9tU3R5bGUsYm9yZGVyQm90dG9tV2lkdGgsYm9yZGVySW1hZ2VPdXRzZXQsYm9yZGVySW1hZ2VS
ZXBlYXQsYm9yZGVySW1hZ2VTbGljZSxib3JkZXJJbWFnZVNvdXJjZSxib3JkZXJJbWFnZVdpZHRo
LGJvcmRlckxlZnRDb2xvcixib3JkZXJMZWZ0U3R5bGUsYm9yZGVyTGVmdFdpZHRoLGJvcmRlclJp
Z2h0Q29sb3IsYm9yZGVyUmlnaHRTdHlsZSxib3JkZXJSaWdodFdpZHRoLGJvcmRlclRvcENvbG9y
LGJvcmRlclRvcFN0eWxlLGJvcmRlclRvcFdpZHRoLGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZz
ZXQiCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVl
bmNlIHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQgYXNz
ZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJi
b3JkZXIsYm9yZGVyTGVmdCxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJi
b3JkZXJCb3R0b21Db2xvcixib3JkZXJCb3R0b21TdHlsZSxib3JkZXJCb3R0b21XaWR0aCxib3Jk
ZXJJbWFnZU91dHNldCxib3JkZXJJbWFnZVJlcGVhdCxib3JkZXJJbWFnZVNsaWNlLGJvcmRlcklt
YWdlU291cmNlLGJvcmRlckltYWdlV2lkdGgsYm9yZGVyTGVmdENvbG9yLGJvcmRlckxlZnRTdHls
ZSxib3JkZXJMZWZ0V2lkdGgsYm9yZGVyUmlnaHRDb2xvcixib3JkZXJSaWdodFN0eWxlLGJvcmRl
clJpZ2h0V2lkdGgsYm9yZGVyVG9wQ29sb3IsYm9yZGVyVG9wU3R5bGUsYm9yZGVyVG9wV2lkdGgs
Y29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9w
ZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIAorUEFTUyBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hl
cmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgbGFzdCBrZXlmcmFtZSAKIEZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBy
ZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBUeXBlIGVy
cm9yCiBQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1l
cyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIHBvc2l0aXZlIG9mZnNldCAKIFBBU1MgS2V5ZnJhbWVF
ZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9mLWJv
dW5kZWQgbmVnYXRpdmUgb2Zmc2V0IAogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0
aHJvd3Mgd2l0aCBrZXlmcmFtZXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldCAKLUZBSUwg
S2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVj
dG9yIHRocm93cyB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2lu
ZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KTsKLSAgICB9IiBkaWQgbm90IHRocm93CitQ
QVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCitQQVNTIEtleWZyYW1l
RWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
biBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3Ig
dGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUgdmFsdWUgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332034</attachid>
            <date>2018-01-23 09:56:57 -0800</date>
            <delta_ts>2018-01-23 11:03:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181978-20180123185655.patch</filename>
            <type>text/plain</type>
            <size>97364</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFmZjVjOTRlMzAwYTE5
NTVjMzk0ODdjZWRhYjM1NjkyNjRlNWUyNC4uYTg3MmM5YzQ3Mjg5M2E4NTk5YmM2OTljNGEwZmE5
ODMzYTRlMTI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE4LTAxLTIzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFeHBvc2UgZ2V0S2V5ZnJhbWVzKCkgYW5kIHBhcnNpbmcgb2YgcmVtYWluaW5nIGtleWZyYW1l
IHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MTk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY3NzI1ODY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZmluaXNoIG91ciBpbXBs
ZW1lbnRhdGlvbiBvZiBtdWx0aXBsZSBrZXlmcmFtZXMgYnkgZXhwb3NpbmcgdGhlIGdldEtleWZy
YW1lcygpIG1ldGhvZCBvbiBLZXlmcmFtZUVmZmVjdCBhbmQKKyAgICAgICAgcGFyc2lnIHRoZSBy
ZW1haW5pbmcgcHJvcGVydGllcyB0aGF0IGNhbiBiZSBleHBvc2VkIG9uIGtleWZyYW1lczogImVh
c2luZyIgYW5kICJjb21wb3NpdGUiLiBBbmQgc2luY2Ugd2UgcGFyc2UKKyAgICAgICAgdGhvc2Ug
cHJvcGVydGllcyBvbiBrZXlmcmFtZXMsIHdlIGFsc28gcGFyc2UgImVhc2luZyIgb24gQW5pbWF0
aW9uRWZmZWN0VGltaW5nIGFuZCAiY29tcG9zaXRlIiBhbmQgIml0ZXJhdGlvbkNvbXBvc2l0ZSIK
KyAgICAgICAgb24gS2V5ZnJhbWVFZmZlY3QuIAorCisgICAgICAgIFRvIHN1cHBvcnQgdGhpcywg
d2UgaW1wbGVtZW50IGEgbmV3IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dCgpIG1l
dGhvZCB3aGljaCB0YWtlcyBpbiBhIHN0cmluZyB0aGF0IGlzCisgICAgICAgIGEgdmFsdWUgcHJv
dmlkZWQgZGlyZWN0bHkgdmlhIHRoZSBKUyBBUEkuIEFzIGl0cyBjb252ZXJzZSwgd2UgZXhwb3Nl
IGEgVGltaW5nRnVuY3Rpb246OmNzc1RleHQoKSBtZXRob2Qgd2hpY2gKKyAgICAgICAgcHJvdmlk
ZXMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgc2VudCBiYWNrIHRvIEpTIHRvIHJlcHJlc2VudCBhIHRp
bWluZyBmdW5jdGlvbiwgdXNpbmcga2V5d29yZHMgd2hlbiB0aGUgdGltaW5nCisgICAgICAgIGZ1
bmN0aW9uIG1hdGNoZXMgb25lIGFuZCBvbW1pdHRpbmcgZGVmYXVsdCB2YWx1ZXMuCisKKyAgICAg
ICAgV2Ugbm93IGFsc28ga2VlcCB0cmFjayBvZiB0aGUgb3JpZ2luYWwgIm9mZnNldCIgdmFsdWUg
cHJvdmlkZWQgdGhyb3VnaCB0aGUgSlMgQVBJIHNpbmNlIHRoYXQgdmFsdWUgaXMgcmVxdWlyZWQK
KyAgICAgICAgd2hlbiBjYWxsaW5nIGdldEtleWZyYW1lcygpIGFuZCBkaXN0aW5jdCBmcm9tIHRo
ZSAiY29tcHV0ZWRPZmZzZXQiLiBUaGVzZSBvcmlnaW5hbCBvZmZzZXRzLCBjb21wb3NpdGUgb3Bl
cmF0aW9ucworICAgICAgICBhbmQgdGltaW5nIGZ1bmN0aW9ucyBhcmUga2VwdCBhcyBzZXBhcmF0
ZSBWZWN0b3JzIGZyb20gdGhlIEtleWZyYW1lTGlzdCBzaW5jZSB0aGlzIHR5cGUgZG9lcyBub3Qg
c3VwcG9ydCBleHBvc2luZworICAgICAgICB0aG9zZS4gV2UgbWF5IGNvbnNpZGVyIGltcHJvdmlu
ZyB0aGF0IGluIGEgZnV0dXJlIHBhdGNoLgorCisgICAgICAgIEZpbmFsbHksIHdlIG1ha2Ugc29t
ZSBhZGp1c3RtZW50cyBpbiB0aGUga2V5ZnJhbWUgcGFyc2luZyB0byBjb21wbHkgd2l0aCB0aGUg
c3BlY2lmaWNhdGlvbiBhbmQgY29ycmVjdGx5IHBhcnNlCisgICAgICAgIGFsbCBwcm92aWRlZCB0
aW1pbmcgZnVuY3Rpb25zLCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2Yga2V5ZnJhbWVzIGFu
ZCB0aW1pbmcgZnVuY3Rpb25zIHByb3ZpZGVkLgorCisgICAgICAgIE5vdGUgdGhhdCB0aGlzIHBh
dGNoIGlzIG9ubHkgYWJvdXQgcGFyc2luZywgc3RvcmluZyBhbmQgcmV0dXJuaW5nIHByb3ZpZGVk
IGVhc2luZyBhbmQgY29tcG9zaXRlIG9wZXJhdGlvbnMgYnV0CisgICAgICAgIHRoYXQgc3VjaCB2
YWx1ZXMgd2lsbCBvbmx5IGJlIHVzZWQgZm9yIHRoZSByZXNvbHV0aW9uIG9mIGFuaW1hdGlvbiBl
ZmZlY3RzIGluIGZ1dHVyZSBwYXRjaGVzLgorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlv
bkVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6OmdldENvbXB1
dGVkVGltaW5nKTogU2V0IHRoZSAiZWFzaW5nIiBwcm9wZXJ0eSBvbiB0aGUgZ2V0Q29tcHV0ZWRU
aW1pbmcoKSByZXR1cm4gdmFsdWUKKyAgICAgICAgbm93IHRoYXQgd2UgZXhwb3NlICJlYXNpbmci
IG9uIEFuaW1hdGlvbkVmZmVjdFRpbWluZy4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9u
RWZmZWN0VGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdFRpbWlu
Zzo6QW5pbWF0aW9uRWZmZWN0VGltaW5nKTogQ3JlYXRlIGEgbGluZWFyIFRpbWluZ0Z1bmN0aW9u
IGJ5IGRlZmF1bHQuCisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3RUaW1pbmc6OnNl
dEVhc2luZyk6IFBhcnNlIHRoZSAiZWFzaW5nIiB2YWx1ZSBhbmQgcHJvcGFnYXRlIGFuIGV4Y2Vw
dGlvbiBmb3IgaW52YWxpZCB2YWx1ZXMuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvbkVm
ZmVjdFRpbWluZy5oOiBFeHBvc2UgdGhlIG5ldyAiZWFzaW5nIiBwcm9wZXJ0eSBhbmQgYmFja2lu
ZyBUaW1pbmdGdW5jdGlvbi4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGlt
aW5nLmlkbDogRXhwb3NlIHRoZSBuZXcgImVhc2luZyIgcHJvcGVydHkuCisgICAgICAgICogYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
SURUb0lETEF0dHJpYnV0ZU5hbWUpOiBQcm92aWRlIGEgd2F5IHRvIGNvbnZlcnQgdGhlIG5hbWUg
b2YgYSBDU1MgcHJvcGVydHkgdG8gYSBzdHJpbmcgdGhhdCBjYW4KKyAgICAgICAgYmUgdXNlZCB0
byBnZW5lcmF0ZSBhIEpTIHByb3BlcnR5IG5hbWUgZm9yIHVzZSBieSBnZXRLZXlmcmFtZXMoKS4K
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVNaXNzaW5nS2V5ZnJhbWVPZmZzZXRzKTogSW1wbGVt
ZW50IHRoZSBmdWxsIHN0ZXBzIG9mIHRoZSBzcGVjLgorICAgICAgICAoV2ViQ29yZTo6cHJvY2Vz
c0l0ZXJhYmxlS2V5ZnJhbWVzKTogRml4IGEgcHJvYmxlbWF0aWMgZGVjbGFyYXRpb24gZm9yIHRo
ZSBlYXNpbmcgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpwcm9jZXNzUHJvcGVydHlJbmRl
eGVkS2V5ZnJhbWVzKTogTm93IHRoYXQgUHJvY2Vzc2VkS2V5ZnJhbWUgaGFzIGJvdGggYW4gb2Zm
c2V0IGFuZCBhIGNvbXB1dGVkT2Zmc2V0LCB1c2UKKyAgICAgICAgY29tcHV0ZWQgb2Zmc2V0cy4g
V2UgYWxzbyBmaXggYSBjb3VwbGUgb2YgbG9vcHMgdG8gZml4IGNvbXBsaWFuY2UgaXNzdWVzIHJl
dmVhbGVkIGJ5IFdQVCB0ZXN0cy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpj
cmVhdGUpOiBQYXJzZSB0aGUgcHJvdmlkZWQgImVhc2luZyIgcHJvcGVydHkgb24gdGhlIEtleWZy
YW1lRWZmZWN0T3B0aW9ucyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVj
dDo6Z2V0S2V5ZnJhbWVzKTogSW1wbGVtZW50IHRoZSBnZXRLZXlmcmFtZXMoKSBtZXRob2QgYXMg
bWFuZGF0ZWQgYnkgdGhlIHNwZWMuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
cHJvY2Vzc0tleWZyYW1lcyk6IEtlZXAgYSBsaXN0IG9mIHVudXNlZCBlYXNpbmdzIHNvIHRoZXNl
IG1pZ2h0IGJlIHBhcnNlZCBhcyB3ZWxsLCBhbmQKKyAgICAgICAgcG90ZW50aWFsbHkgdGhyb3cg
ZXhjZXB0aW9ucywgYXMgbWFuZGF0ZWQgYnkgdGhlIHNwZWMuIEZvciB2YWxpZCBlYXNpbmdzLCBz
dG9yZSB0aGVpciBtYXRjaGluZyBUaW1pbmdGdW5jdGlvbiBpbgorICAgICAgICBtX3RpbWluZ0Z1
bmN0aW9ucywgb3JpZ2luYWwgb2Zmc2V0IHZhbHVlcyBpbiBtX29mZnNldHMgYW5kIENvbXBvc2l0
ZU9wZXJhdGlvbiB2YWx1ZXMgaW4gbV9jb21wb3NpdGVPcGVyYXRpb25zLgorICAgICAgICAqIGFu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oOiBTd2l0Y2ggdGhlIG9yZGVyIGluIHdoaWNoIHdlIHNw
ZWNpZnkgc29tZSBvZiB0aGUgVmFyaWFudCB0eXBlcyBzbyB0aGF0IGRlZmF1bHQgdmFsdWVzCisg
ICAgICAgIGFyZSBjb3JyZWN0bHkgdXNlZC4KKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuaWRsOiBTd2l0Y2ggdGhlIG9yZGVyIGluIHdoaWNoIHdlIHNwZWNpZnkgc29tZSBvZiB0
aGUgVmFyaWFudCB0eXBlcyBzbyB0aGF0IGRlZmF1bHQgdmFsdWVzCisgICAgICAgIGFyZSBjb3Jy
ZWN0bHkgdXNlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWluZ0Z1bmN0aW9uOjpjc3NUZXh0IGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaDoKKwogMjAxOC0wMS0x
OSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXgsIHJlbW92ZSB1bnVzZWQgbGFtYmRhIGNhcHR1cmVzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAppbmRleCA3ZTU5MWZiOWQ5ZmFj
MGYxNjdkMGIwNTkzMmJmMGY0YzM0OGNiOWMwLi45YWYxN2E4MWQ1MjNiYjBlZTM1OTgwYjFiNDZi
ZDFiZWQxMjkyYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0
aW9uRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcApAQCAtNTcsNiArNTcsNyBAQCBDb21wdXRlZFRpbWluZ1Byb3BlcnRpZXMgQW5pbWF0
aW9uRWZmZWN0OjpnZXRDb21wdXRlZFRpbWluZygpCiAgICAgY29tcHV0ZWRUaW1pbmcuaXRlcmF0
aW9ucyA9IG1fdGltaW5nLT5pdGVyYXRpb25zKCk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZHVyYXRp
b24gPSBzZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+aXRlcmF0aW9uRHVy
YXRpb24oKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZGlyZWN0aW9uID0gbV90aW1pbmctPmRpcmVj
dGlvbigpOworICAgIGNvbXB1dGVkVGltaW5nLmVhc2luZyA9IG1fdGltaW5nLT5lYXNpbmcoKTsK
ICAgICBjb21wdXRlZFRpbWluZy5lbmRUaW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0aW9uc0FQSVRp
bWUobV90aW1pbmctPmVuZFRpbWUoKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuYWN0aXZlRHVyYXRp
b24gPSBzZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+YWN0aXZlRHVyYXRp
b24oKSk7CiAgICAgaWYgKGF1dG8gZWZmZWN0TG9jYWxUaW1lID0gbG9jYWxUaW1lKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCmlu
ZGV4IGRhYzVmM2NkMjQyYmFlNWZjZWFkNGZhMDM3ZDM4Mjg0ZGNkZDdjYTMuLjU2ZjYyOThjZjlj
N2M5OWU0ZTkyMjdkN2RlMDE1MjdhMTc4NTE4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCkBAIC0zNCw2ICszNCw3IEBAIFJl
ZjxBbmltYXRpb25FZmZlY3RUaW1pbmc+IEFuaW1hdGlvbkVmZmVjdFRpbWluZzo6Y3JlYXRlKCkK
IH0KIAogQW5pbWF0aW9uRWZmZWN0VGltaW5nOjpBbmltYXRpb25FZmZlY3RUaW1pbmcoKQorICAg
IDogbV90aW1pbmdGdW5jdGlvbihMaW5lYXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKCkpCiB7CiB9
CiAKQEAgLTEyMCw0ICsxMjEsMTMgQEAgU2Vjb25kcyBBbmltYXRpb25FZmZlY3RUaW1pbmc6OmFj
dGl2ZUR1cmF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9pdGVyYXRpb25EdXJhdGlvbiAqIG1f
aXRlcmF0aW9uczsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gQW5pbWF0aW9uRWZmZWN0VGltaW5n
OjpzZXRFYXNpbmcoY29uc3QgU3RyaW5nJiBlYXNpbmcpCit7CisgICAgYXV0byB0aW1pbmdGdW5j
dGlvblJlc3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChlYXNpbmcpOwor
ICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIHRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICBtX3RpbWlu
Z0Z1bmN0aW9uID0gJnRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJldHVyblZhbHVlKCkuZ2V0KCk7Cisg
ICAgcmV0dXJuIHsgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oCmluZGV4IGI4ZGJiY2Zj
YTBiMzdlYzM2ODZjODE0NDczMTk5OGU2M2IwYWJmNDYuLmI5Zjg5OTI2Nzk2MmIwOTMzMzZjZDBl
NGFiNmQ5OTQ1OWJiODM5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25FZmZlY3RUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5p
bWF0aW9uRWZmZWN0VGltaW5nLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgogI2luY2x1ZGUgIkZpbGxNb2RlLmgiCiAjaW5jbHVkZSAiUGxheWJhY2tEaXJlY3Rp
b24uaCIKKyNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlv
blV0aWxpdGllcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgpAQCAtNzAsNiArNzEsMTAgQEAgcHVibGljOgogICAgIFBsYXliYWNrRGlyZWN0aW9uIGRp
cmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CiAgICAgdm9pZCBzZXREaXJl
Y3Rpb24oUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uKSB7IG1fZGlyZWN0aW9uID0gZGlyZWN0
aW9uOyB9CiAKKyAgICBTdHJpbmcgZWFzaW5nKCkgY29uc3QgeyByZXR1cm4gbV90aW1pbmdGdW5j
dGlvbi0+Y3NzVGV4dCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0RWFzaW5nKGNvbnN0
IFN0cmluZyYpOworICAgIFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fdGltaW5nRnVuY3Rpb24uZ2V0KCk7IH0KKwogICAgIFNlY29uZHMgZW5kVGltZSgp
IGNvbnN0OwogICAgIFNlY29uZHMgYWN0aXZlRHVyYXRpb24oKSBjb25zdDsKIApAQCAtODIsNiAr
ODcsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX2l0ZXJhdGlvbnMgeyAxIH07CiAgICAgU2Vj
b25kcyBtX2l0ZXJhdGlvbkR1cmF0aW9uIHsgMF9zIH07CiAgICAgUGxheWJhY2tEaXJlY3Rpb24g
bV9kaXJlY3Rpb24geyBQbGF5YmFja0RpcmVjdGlvbjo6Tm9ybWFsIH07CisgICAgUmVmUHRyPFRp
bWluZ0Z1bmN0aW9uPiBtX3RpbWluZ0Z1bmN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGlt
aW5nLmlkbAppbmRleCAwMzgwODJlNDMwMzgzNjNkZWExZDQyYjM4YmZkYjdhM2ZiZmUwZmE1Li40
NzM2ZjNiZTNmNzU2MDg1YWFiYTM1ZDRjNDc4NTJjMzRkOWFlOGZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbApAQCAtMzQsNCAr
MzQsNSBAQAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgaXRlcmF0aW9uczsKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9
YmluZGluZ3NEdXJhdGlvbl0gYXR0cmlidXRlICh1bnJlc3RyaWN0ZWQgZG91YmxlIG9yIERPTVN0
cmluZykgZHVyYXRpb247CiAgICAgYXR0cmlidXRlIFBsYXliYWNrRGlyZWN0aW9uIGRpcmVjdGlv
bjsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgZWFzaW5nOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IGEz
OGRkNzU0YTI2MTMwMDU5NTM2NmNmY2I4ZjRhMTEyNzZjZmZjNWIuLjk3ZDlmOWM5MjUwZGU2ZWIz
Yzk4ZjAzZmM2YzM1NmJmMjk0ZGE4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcApAQCAtMjcsMTIgKzI3LDE4IEBACiAjaW5jbHVkZSAiS2V5ZnJhbWVF
ZmZlY3QuaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvbi5oIgorI2luY2x1ZGUgIkNTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5QW5pbWF0aW9uLmgiCisj
aW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1N0eWxlRGVjbGFyYXRp
b24uaCIKKyNpbmNsdWRlICJDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiRWxl
bWVudC5oIgorI2luY2x1ZGUgIkpTQ29tcG9zaXRlT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiSlNL
ZXlmcmFtZUVmZmVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU3R5
bGVQcm9wZXJ0aWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgorI2luY2x1ZGUgIlRp
bWluZ0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiV2lsbENoYW5nZURhdGEuaCIKICNpbmNsdWRlIDx3
dGYvVVVJRC5oPgogCkBAIC01Miw2ICs1OCwxOSBAQCBzdGF0aWMgaW5saW5lIENTU1Byb3BlcnR5
SUQgSURMQXR0cmlidXRlTmFtZVRvQW5pbWF0aW9uUHJvcGVydHlOYW1lKFN0cmluZyBpZGxBdAog
ICAgIHJldHVybiBDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFT
Y3JpcHRQcm9wZXJ0eU5hbWUoaWRsQXR0cmlidXRlTmFtZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg
U3RyaW5nIENTU1Byb3BlcnR5SURUb0lETEF0dHJpYnV0ZU5hbWUoQ1NTUHJvcGVydHlJRCBjc3NQ
cm9wZXJ0eUlkKQoreworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0
aW9ucy0xLyNhbmltYXRpb24tcHJvcGVydHktbmFtZS10by1pZGwtYXR0cmlidXRlLW5hbWUKKyAg
ICAvLyAxLiBJZiBwcm9wZXJ0eSBmb2xsb3dzIHRoZSA8Y3VzdG9tLXByb3BlcnR5LW5hbWU+IHBy
b2R1Y3Rpb24sIHJldHVybiBwcm9wZXJ0eS4KKyAgICAvLyAyLiBJZiBwcm9wZXJ0eSByZWZlcnMg
dG8gdGhlIENTUyBmbG9hdCBwcm9wZXJ0eSwgcmV0dXJuIHRoZSBzdHJpbmcgImNzc0Zsb2F0Ii4K
KyAgICBpZiAoY3NzUHJvcGVydHlJZCA9PSBDU1NQcm9wZXJ0eUZsb2F0KQorICAgICAgICByZXR1
cm4gImNzc0Zsb2F0IjsKKyAgICAvLyAzLiBJZiBwcm9wZXJ0eSByZWZlcnMgdG8gdGhlIENTUyBv
ZmZzZXQgcHJvcGVydHksIHJldHVybiB0aGUgc3RyaW5nICJjc3NPZmZzZXQiLgorICAgIC8vIEZJ
WE1FOiB3ZSBkb24ndCBzdXBwb3J0IHRoZSBDU1MgIm9mZnNldCIgcHJvcGVydHkKKyAgICAvLyA0
LiBPdGhlcndpc2UsIHJldHVybiB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBDU1MgcHJvcGVy
dHkgdG8gSURMIGF0dHJpYnV0ZSBhbGdvcml0aG0gW0NTU09NXSB0byBwcm9wZXJ0eS4KKyAgICBy
ZXR1cm4gZ2V0SlNQcm9wZXJ0eU5hbWUoY3NzUHJvcGVydHlJZCk7Cit9CisKIHN0YXRpYyBpbmxp
bmUgdm9pZCBjb21wdXRlTWlzc2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZl
Y3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYga2V5ZnJhbWVzKQogewogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNjb21wdXRlLW1pc3Npbmcta2V5ZnJhbWUt
b2Zmc2V0cwpAQCAtNjAsMTUgKzc5LDE5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlTWlz
c2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDEuIEZvciBlYWNoIGtleWZyYW1lLCBpbiBrZXlmcmFtZXMs
IGxldCB0aGUgY29tcHV0ZWQga2V5ZnJhbWUgb2Zmc2V0IG9mIHRoZSBrZXlmcmFtZSBiZSBlcXVh
bCB0byBpdHMga2V5ZnJhbWUgb2Zmc2V0IHZhbHVlLgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwga2V5ZnJhbWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8mIGtleWZyYW1lID0ga2V5
ZnJhbWVzW2ldOworICAgICAgICBrZXlmcmFtZS5jb21wdXRlZE9mZnNldCA9IGtleWZyYW1lLm9m
ZnNldDsKKyAgICB9CiAKICAgICAvLyAyLiBJZiBrZXlmcmFtZXMgY29udGFpbnMgbW9yZSB0aGFu
IG9uZSBrZXlmcmFtZSBhbmQgdGhlIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCBvZiB0aGUgZmly
c3Qga2V5ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsCiAgICAgLy8gICAgc2V0IHRoZSBjb21w
dXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGZpcnN0IGtleWZyYW1lIHRvIDAuCi0gICAgaWYg
KGtleWZyYW1lcy5zaXplKCkgPiAxICYmICFrZXlmcmFtZXNbMF0ub2Zmc2V0KQotICAgICAgICBr
ZXlmcmFtZXNbMF0ub2Zmc2V0ID0gMDsKKyAgICBpZiAoa2V5ZnJhbWVzLnNpemUoKSA+IDEgJiYg
IWtleWZyYW1lc1swXS5jb21wdXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzWzBdLmNvbXB1
dGVkT2Zmc2V0ID0gMDsKIAogICAgIC8vIDMuIElmIHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZz
ZXQgb2YgdGhlIGxhc3Qga2V5ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsIHNldCBpdHMgY29t
cHV0ZWQga2V5ZnJhbWUgb2Zmc2V0IHRvIDEuCi0gICAgaWYgKCFrZXlmcmFtZXMubGFzdCgpLm9m
ZnNldCkKLSAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5vZmZzZXQgPSAxOworICAgIGlmICgha2V5
ZnJhbWVzLmxhc3QoKS5jb21wdXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5j
b21wdXRlZE9mZnNldCA9IDE7CiAKICAgICAvLyA0LiBGb3IgZWFjaCBwYWlyIG9mIGtleWZyYW1l
cyBBIGFuZCBCIHdoZXJlOgogICAgIC8vICAgIC0gQSBhcHBlYXJzIGJlZm9yZSBCIGluIGtleWZy
YW1lcywgYW5kCkBAIC04MSwxOCArMTA0LDE4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRl
TWlzc2luZ0tleWZyYW1lT2Zmc2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAg
ICAgLy8gICAgNC4gU2V0IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yga2V5ZnJhbWUg
dG8gb2Zmc2V0QSArIChvZmZzZXRCIOKIkiBvZmZzZXRBKSDDlyBpbmRleCAvIG4uCiAgICAgc2l6
ZV90IGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCA9IDA7CiAgICAgZm9yIChz
aXplX3QgaSA9IDE7IGkgPCBrZXlmcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBr
ZXlmcmFtZSA9IGtleWZyYW1lc1tpXTsKLSAgICAgICAgaWYgKCFrZXlmcmFtZS5vZmZzZXQpCisg
ICAgICAgIGF1dG8mIGtleWZyYW1lID0ga2V5ZnJhbWVzW2ldOworICAgICAgICBpZiAoIWtleWZy
YW1lLmNvbXB1dGVkT2Zmc2V0KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChp
bmRleE9mTGFzdEtleWZyYW1lV2l0aE5vbk51bGxPZmZzZXQgPT0gaSAtIDEpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICBkb3VibGUgbGFzdE5vbk51bGxPZmZzZXQgPSBrZXlmcmFt
ZXNbaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0XS5vZmZzZXQudmFsdWUoKTsK
LSAgICAgICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCkgLSBs
YXN0Tm9uTnVsbE9mZnNldDsKKyAgICAgICAgZG91YmxlIGxhc3ROb25OdWxsT2Zmc2V0ID0ga2V5
ZnJhbWVzW2luZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldF0uY29tcHV0ZWRPZmZz
ZXQudmFsdWUoKTsKKyAgICAgICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUuY29tcHV0
ZWRPZmZzZXQudmFsdWUoKSAtIGxhc3ROb25OdWxsT2Zmc2V0OwogICAgICAgICBkb3VibGUgb2Zm
c2V0SW5jcmVtZW50ID0gb2Zmc2V0RGVsdGEgLyAoaSAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRo
Tm9uTnVsbE9mZnNldCk7CiAgICAgICAgIHNpemVfdCBpbmRleE9mRmlyc3RLZXlmcmFtZVdpdGhO
dWxsT2Zmc2V0ID0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0ICsgMTsKICAg
ICAgICAgZm9yIChzaXplX3QgaiA9IGluZGV4T2ZGaXJzdEtleWZyYW1lV2l0aE51bGxPZmZzZXQ7
IGogPCBpOyArK2opCi0gICAgICAgICAgICBrZXlmcmFtZXNbal0ub2Zmc2V0ID0gbGFzdE5vbk51
bGxPZmZzZXQgKyAoaiAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCkgKiBv
ZmZzZXRJbmNyZW1lbnQ7CisgICAgICAgICAgICBrZXlmcmFtZXNbal0uY29tcHV0ZWRPZmZzZXQg
PSBsYXN0Tm9uTnVsbE9mZnNldCArIChqIC0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxs
T2Zmc2V0KSAqIG9mZnNldEluY3JlbWVudDsKIAogICAgICAgICBpbmRleE9mTGFzdEtleWZyYW1l
V2l0aE5vbk51bGxPZmZzZXQgPSBpOwogICAgIH0KQEAgLTExNyw3ICsxNDAsNyBAQCBzdGF0aWMg
aW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhFeGVjU3Rh
dGUmIHN0YXRlLCBTdHJvbgogCiAgICAgICAgIEtleWZyYW1lRWZmZWN0OjpQcm9jZXNzZWRLZXlm
cmFtZSBrZXlmcmFtZU91dHB1dDsKIAotICAgICAgICBTdHJpbmcgZWFzaW5nID0gImxpbmVhciI7
CisgICAgICAgIFN0cmluZyBlYXNpbmcoImxpbmVhciIpOwogICAgICAgICBzdGQ6Om9wdGlvbmFs
PGRvdWJsZT4gb2Zmc2V0OwogICAgICAgICBzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlv
bj4gY29tcG9zaXRlOwogCkBAIC0yMzAsNyArMjUzLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRp
b25PcjxLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVMaWtlT2JqZWN0PiBwcm9jZXNzS2V5ZnJhbWVM
aWsKICAgICByZXR1cm4geyBXVEZNb3ZlKGtleWZyYW1lT3VwdXQpIH07CiB9CiAKLXN0YXRpYyBp
bmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhF
eGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzSW5wdXQsIFZlY3Rv
cjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2VkS2V5ZnJhbWU+JiBwcm9jZXNzZWRLZXlmcmFtZXMp
CitzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRL
ZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lu
cHV0LCBWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYgcHJvY2Vzc2Vk
S2V5ZnJhbWVzLCBWZWN0b3I8U3RyaW5nPiYgdW51c2VkRWFzaW5ncykKIHsKICAgICAvLyAxLiBM
ZXQgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgdGhl
IHByb2NlZHVyZSB0byBwcm9jZXNzIGEga2V5ZnJhbWUtbGlrZSBvYmplY3QgcGFzc2luZyBvYmpl
Y3QgYXMgdGhlIGtleWZyYW1lIGlucHV0LgogICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lTGlrZU9i
amVjdFJlc3VsdCA9IHByb2Nlc3NLZXlmcmFtZUxpa2VPYmplY3Qoc3RhdGUsIFdURk1vdmUoa2V5
ZnJhbWVzSW5wdXQpKTsKQEAgLTI2OCw3ICsyOTEsNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlv
bk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0
ZQogCiAgICAgLy8gMy4gU29ydCBwcm9jZXNzZWQga2V5ZnJhbWVzIGJ5IHRoZSBjb21wdXRlZCBr
ZXlmcmFtZSBvZmZzZXQgb2YgZWFjaCBrZXlmcmFtZSBpbiBpbmNyZWFzaW5nIG9yZGVyLgogICAg
IHN0ZDo6c29ydChwcm9jZXNzZWRLZXlmcmFtZXMuYmVnaW4oKSwgcHJvY2Vzc2VkS2V5ZnJhbWVz
LmVuZCgpLCBbXShhdXRvJiBsaHMsIGF1dG8mIHJocykgewotICAgICAgICByZXR1cm4gbGhzLm9m
ZnNldC52YWx1ZSgpIDwgcmhzLm9mZnNldC52YWx1ZSgpOworICAgICAgICByZXR1cm4gbGhzLmNv
bXB1dGVkT2Zmc2V0LnZhbHVlKCkgPCByaHMuY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKICAgICB9
KTsKIAogICAgIC8vIDQuIE1lcmdlIGFkamFjZW50IGtleWZyYW1lcyBpbiBwcm9jZXNzZWQga2V5
ZnJhbWVzIHdoZW4gdGhleSBoYXZlIGVxdWFsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldHMuCkBA
IC0yNzksNyArMzAyLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNz
UHJvcGVydHlJbmRleGVkS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUKICAgICAgICAgLy8gSWYg
dGhlIG9mZnNldHMgb2YgdGhpcyBrZXlmcmFtZSBhbmQgdGhlIHByZXZpb3VzIGtleWZyYW1lIGFy
ZSBkaWZmZXJlbnQsCiAgICAgICAgIC8vIHRoaXMgbWVhbnMgdGhhdCB0aGUgdHdvIGtleWZyYW1l
cyBzaG91bGQgbm90IGJlIG1lcmdlZCBhbmQgd2UgY2FuIG1vdmUKICAgICAgICAgLy8gb24gdG8g
dGhlIG5leHQga2V5ZnJhbWUuCi0gICAgICAgIGlmIChrZXlmcmFtZS5vZmZzZXQudmFsdWUoKSAh
PSBwcmV2aW91c0tleWZyYW1lLm9mZnNldC52YWx1ZSgpKSB7CisgICAgICAgIGlmIChrZXlmcmFt
ZS5jb21wdXRlZE9mZnNldC52YWx1ZSgpICE9IHByZXZpb3VzS2V5ZnJhbWUuY29tcHV0ZWRPZmZz
ZXQudmFsdWUoKSkgewogICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KQEAgLTI5Niw3ICszMTksNiBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZv
aWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAg
IC8vIDUuIExldCBvZmZzZXRzIGJlIGEgc2VxdWVuY2Ugb2YgbnVsbGFibGUgZG91YmxlIHZhbHVl
cyBhc3NpZ25lZCBiYXNlZCBvbiB0aGUgdHlwZSBvZiB0aGUg4oCcb2Zmc2V04oCdIG1lbWJlciBv
ZiB0aGUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBhcyBmb2xsb3dzOgogICAgIC8vICAgIC0g
c2VxdWVuY2U8ZG91YmxlPz4sIHRoZSB2YWx1ZSBvZiDigJxvZmZzZXTigJ0gYXMtaXMuCiAgICAg
Ly8gICAgLSBkb3VibGU/LCBhIHNlcXVlbmNlIG9mIGxlbmd0aCBvbmUgd2l0aCB0aGUgdmFsdWUg
b2Yg4oCcb2Zmc2V04oCdIGFzIGl0cyBzaW5nbGUgaXRlbSwgaS5lLiDCqyBvZmZzZXQgwrssCi0g
ICAgLy8gRklYTUU6IHVwZGF0ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gZGVhbCB3
aXRoIG51bGxhYmxlIGRvdWJsZXMgaGVyZS4KICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3Vi
bGU+PiBvZmZzZXRzOwogICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFZlY3RvcjxzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4+Pihwcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZS5iYXNlUHJvcGVydGll
cy5vZmZzZXQpKQogICAgICAgICBvZmZzZXRzID0gV1RGOjpnZXQ8VmVjdG9yPHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPj4+KHByb3BlcnR5SW5kZXhlZEtleWZyYW1lLmJhc2VQcm9wZXJ0aWVzLm9mZnNl
dCk7CkBAIC0zMjYsMTYgKzM0OCwxNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+
IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8v
ICAgIGl0ZW1zIGFzIHByb3BlcnR5IGtleWZyYW1lcy4KICAgICBpZiAoZWFzaW5ncy5zaXplKCkg
PCBwcm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgIHNpemVfdCBpbml0aWFsTnVt
YmVyT2ZFYXNpbmdzID0gZWFzaW5ncy5zaXplKCk7Ci0gICAgICAgIGZvciAoaSA9IGluaXRpYWxO
dW1iZXJPZkVhc2luZ3MgKyAxOyBpIDwgcHJvY2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSAtIDE7ICsr
aSkKKyAgICAgICAgZm9yIChpID0gaW5pdGlhbE51bWJlck9mRWFzaW5ncyArIDE7IGkgPD0gcHJv
Y2Vzc2VkS2V5ZnJhbWVzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgZWFzaW5ncy5hcHBlbmQo
ZWFzaW5nc1tpICUgaW5pdGlhbE51bWJlck9mRWFzaW5nc10pOwogICAgIH0KIAogICAgIC8vIDEw
LiBJZiBlYXNpbmdzIGhhcyBtb3JlIGl0ZW1zIHRoYW4gcHJvcGVydHkga2V5ZnJhbWVzLCBzdG9y
ZSB0aGUgZXhjZXNzIGl0ZW1zIGFzIHVudXNlZCBlYXNpbmdzLgotICAgIC8vIEZJWE1FOiBXZSBk
b24ndCBkZWFsIHdpdGggdGhpcyB5ZXQuCisgICAgd2hpbGUgKGVhc2luZ3Muc2l6ZSgpID4gcHJv
Y2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSkKKyAgICAgICAgdW51c2VkRWFzaW5ncy5hcHBlbmQoZWFz
aW5ncy50YWtlTGFzdCgpKTsKIAogICAgIC8vIDExLiBBc3NpZ24gZWFjaCB2YWx1ZSBpbiBlYXNp
bmdzIHRvIGEgcHJvcGVydHkgbmFtZWQg4oCcZWFzaW5n4oCdIG9uIHRoZSBrZXlmcmFtZSB3aXRo
IHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbCB0
aGUgZW5kIG9mIHByb3BlcnR5IGtleWZyYW1lcwogICAgIC8vICAgICBpcyByZWFjaGVkLgotICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZWFzaW5ncy5zaXplKCkgJiYgaSA8IHByb2Nlc3NlZEtl
eWZyYW1lcy5zaXplKCk7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb2Nlc3Nl
ZEtleWZyYW1lcy5zaXplKCk7ICsraSkKICAgICAgICAgcHJvY2Vzc2VkS2V5ZnJhbWVzW2ldLmVh
c2luZyA9IGVhc2luZ3NbaV07CiAKICAgICAvLyAxMi4gSWYgdGhlIOKAnGNvbXBvc2l0ZeKAnSBt
ZW1iZXIgb2YgdGhlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgaXMgbm90IGFuIGVtcHR5IHNl
cXVlbmNlOgpAQCAtMzUxLDcgKzM3NCw3IEBAIHN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8dm9p
ZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlCiAgICAg
ICAgIC8vICAgIHRoZSBsaXN0IHVudGlsIGNvbXBvc2l0ZSBtb2RlcyBoYXMgYXMgbWFueSBpdGVt
cyBhcyBwcm9wZXJ0eSBrZXlmcmFtZXMuCiAgICAgICAgIGlmIChjb21wb3NpdGVNb2Rlcy5zaXpl
KCkgPCBwcm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgICAgICBzaXplX3QgaW5p
dGlhbE51bWJlck9mQ29tcG9zaXRlTW9kZXMgPSBjb21wb3NpdGVNb2Rlcy5zaXplKCk7Ci0gICAg
ICAgICAgICBmb3IgKGkgPSBpbml0aWFsTnVtYmVyT2ZDb21wb3NpdGVNb2RlcyArIDE7IGkgPCBw
cm9jZXNzZWRLZXlmcmFtZXMuc2l6ZSgpIC0gMTsgKytpKQorICAgICAgICAgICAgZm9yIChpID0g
aW5pdGlhbE51bWJlck9mQ29tcG9zaXRlTW9kZXMgKyAxOyBpIDw9IHByb2Nlc3NlZEtleWZyYW1l
cy5zaXplKCk7ICsraSkKICAgICAgICAgICAgICAgICBjb21wb3NpdGVNb2Rlcy5hcHBlbmQoY29t
cG9zaXRlTW9kZXNbaSAlIGluaXRpYWxOdW1iZXJPZkNvbXBvc2l0ZU1vZGVzXSk7CiAgICAgICAg
IH0KICAgICAgICAgLy8gMy4gQXNzaWduIGVhY2ggdmFsdWUgaW4gY29tcG9zaXRlIG1vZGVzIHRv
IHRoZSBrZXlmcmFtZS1zcGVjaWZpYyBjb21wb3NpdGUgb3BlcmF0aW9uIG9uIHRoZSBrZXlmcmFt
ZSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1
bnRpbApAQCAtMzg5LDYgKzQxMiw5IEBAIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVjdD4+
IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVuCiAgICAgICAg
ICAgICBpZiAoc2V0SXRlcmF0aW9uc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gc2V0SXRlcmF0aW9uc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAg
ICAgICAgICBrZXlmcmFtZUVmZmVjdC0+dGltaW5nKCktPnNldERpcmVjdGlvbihrZXlmcmFtZUVm
ZmVjdE9wdGlvbnMuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIGF1dG8gc2V0RWFzaW5nUmVzdWx0
ID0ga2V5ZnJhbWVFZmZlY3QtPnRpbWluZygpLT5zZXRFYXNpbmcoa2V5ZnJhbWVFZmZlY3RPcHRp
b25zLmVhc2luZyk7CisgICAgICAgICAgICBpZiAoc2V0RWFzaW5nUmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQorICAgICAgICAgICAgICAgIHJldHVybiBzZXRFYXNpbmdSZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byBzZXRCaW5kaW5nc0R1cmF0aW9uUmVz
dWx0ID0ga2V5ZnJhbWVFZmZlY3QtPnRpbWluZygpLT5zZXRCaW5kaW5nc0R1cmF0aW9uKFdURk1v
dmUoYmluZGluZ3NEdXJhdGlvbikpOwpAQCAtNDA2LDYgKzQzMiw3NCBAQCBLZXlmcmFtZUVmZmVj
dDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFyZ2V0KQogewogfQogCitWZWN0b3I8U3Ryb25n
PEpTT2JqZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmdldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRl
KQoreworICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNk
b20ta2V5ZnJhbWVlZmZlY3RyZWFkb25seS1nZXRrZXlmcmFtZXMKKworICAgIGF1dG8gbG9jayA9
IEpTTG9ja0hvbGRlciB7ICZzdGF0ZSB9OworCisgICAgLy8gU2luY2Uga2V5ZnJhbWVzIGFyZSBy
ZXByZXNlbnRlZCBieSBhIHBhcnRpYWxseSBvcGVuLWVuZGVkIGRpY3Rpb25hcnkgdHlwZSB0aGF0
IGlzIG5vdCBjdXJyZW50bHkgYWJsZSB0byBiZSBleHByZXNzZWQgd2l0aCBXZWJJREwsCisgICAg
Ly8gdGhlIHByb2NlZHVyZSB1c2VkIHRvIHByZXBhcmUgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhv
ZCBpcyBkZWZpbmVkIGluIHByb3NlIGJlbG93OgorICAgIC8vCisgICAgLy8gMS4gTGV0IHJlc3Vs
dCBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBvZiBvYmplY3RzLgorICAgIFZlY3RvcjxTdHJvbmc8SlNP
YmplY3Q+PiByZXN1bHQ7CisKKyAgICAvLyAyLiBMZXQga2V5ZnJhbWVzIGJlIHRoZSByZXN1bHQg
b2YgYXBwbHlpbmcgdGhlIHByb2NlZHVyZSB0byBjb21wdXRlIG1pc3Npbmcga2V5ZnJhbWUgb2Zm
c2V0cyB0byB0aGUga2V5ZnJhbWVzIGZvciB0aGlzIGtleWZyYW1lIGVmZmVjdC4KKworICAgIC8v
IDMuIEZvciBlYWNoIGtleWZyYW1lIGluIGtleWZyYW1lcyBwZXJmb3JtIHRoZSBmb2xsb3dpbmcg
c3RlcHM6CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2tleWZyYW1lcy5zaXplKCk7ICsr
aSkgeworICAgICAgICBhdXRvJiBrZXlmcmFtZSA9IG1fa2V5ZnJhbWVzW2ldOworCisgICAgICAg
IC8vIDEuIEluaXRpYWxpemUgYSBkaWN0aW9uYXJ5IG9iamVjdCwgb3V0cHV0IGtleWZyYW1lLCB1
c2luZyB0aGUgZm9sbG93aW5nIGRlZmluaXRpb246CisgICAgICAgIC8vCisgICAgICAgIC8vIGRp
Y3Rpb25hcnkgQmFzZUNvbXB1dGVkS2V5ZnJhbWUgeworICAgICAgICAvLyAgICAgIGRvdWJsZT8g
ICAgICAgICAgICBvZmZzZXQgPSBudWxsOworICAgICAgICAvLyAgICAgIGRvdWJsZSAgICAgICAg
ICAgICBjb21wdXRlZE9mZnNldDsKKyAgICAgICAgLy8gICAgICBET01TdHJpbmcgICAgICAgICAg
ZWFzaW5nID0gImxpbmVhciI7CisgICAgICAgIC8vICAgICAgQ29tcG9zaXRlT3BlcmF0aW9uIGNv
bXBvc2l0ZTsKKyAgICAgICAgLy8gfTsKKworICAgICAgICAvLyAyLiBTZXQgb2Zmc2V0LCBjb21w
dXRlZE9mZnNldCwgZWFzaW5nIG1lbWJlcnMgb2Ygb3V0cHV0IGtleWZyYW1lIHRvIHRoZSByZXNw
ZWN0aXZlIHZhbHVlcyBrZXlmcmFtZSBvZmZzZXQsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCwK
KyAgICAgICAgLy8gYW5kIGtleWZyYW1lLXNwZWNpZmljIHRpbWluZyBmdW5jdGlvbiBvZiBrZXlm
cmFtZS4KKworICAgICAgICAvLyAzLiBJZiBrZXlmcmFtZSBoYXMgYSBrZXlmcmFtZS1zcGVjaWZp
YyBjb21wb3NpdGUgb3BlcmF0aW9uLCBzZXQgY29tcG9zaXRlIHRvIHRoYXQgdmFsdWUuCisgICAg
ICAgIEJhc2VDb21wdXRlZEtleWZyYW1lIGNvbXB1dGVkS2V5ZnJhbWU7CisgICAgICAgIGNvbXB1
dGVkS2V5ZnJhbWUub2Zmc2V0ID0gbV9vZmZzZXRzW2ldOworICAgICAgICBjb21wdXRlZEtleWZy
YW1lLmNvbXB1dGVkT2Zmc2V0ID0ga2V5ZnJhbWUua2V5KCk7CisgICAgICAgIGNvbXB1dGVkS2V5
ZnJhbWUuZWFzaW5nID0gbV90aW1pbmdGdW5jdGlvbnNbaV0tPmNzc1RleHQoKTsKKworICAgICAg
ICBhdXRvIG91dHB1dEtleWZyYW1lID0gY29udmVydERpY3Rpb25hcnlUb0pTKHN0YXRlLCAqanND
YXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc3RhdGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgY29t
cHV0ZWRLZXlmcmFtZSk7CisKKyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5vbi1udWxsIENvbXBv
c2l0ZU9wZXJhdGlvbiBmb3IgdGhpcyBrZXlmcmFtZXMsIHNldCB0aGUgSlMgcHJvcGVydHkgZm9y
IGl0LgorICAgICAgICBpZiAoYXV0byBjb21wb3NpdGVPcGVyYXRpb24gPSBtX2NvbXBvc2l0ZU9w
ZXJhdGlvbnNbaV0pIHsKKyAgICAgICAgICAgIFByb3BlcnR5RGVzY3JpcHRvciBwcm9wZXJ0eURl
c2NyaXB0b3IoY29udmVydEVudW1lcmF0aW9uVG9KUyhzdGF0ZSwgY29tcG9zaXRlT3BlcmF0aW9u
LnZhbHVlKCkpLCAwKTsKKyAgICAgICAgICAgIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShv
dXRwdXRLZXlmcmFtZSwgJnN0YXRlLCBBdG9taWNTdHJpbmcoImNvbXBvc2l0ZSIpLmltcGwoKSwg
cHJvcGVydHlEZXNjcmlwdG9yLCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICBhdXRvJiBz
dHlsZSA9ICprZXlmcmFtZS5zdHlsZSgpOworICAgICAgICBhdXRvIGNvbXB1dGVkU3R5bGVFeHRy
YWN0b3IgPSBDb21wdXRlZFN0eWxlRXh0cmFjdG9yKG1fdGFyZ2V0LmdldCgpKTsKKworICAgICAg
ICAvLyA0LiBGb3IgZWFjaCBhbmltYXRpb24gcHJvcGVydHktdmFsdWUgcGFpciBzcGVjaWZpZWQg
b24ga2V5ZnJhbWUsIGRlY2xhcmF0aW9uLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6Cisg
ICAgICAgIGZvciAoYXV0byBjc3NQcm9wZXJ0eUlkIDoga2V5ZnJhbWUucHJvcGVydGllcygpKSB7
CisgICAgICAgICAgICAvLyAxLiBMZXQgcHJvcGVydHkgbmFtZSBiZSB0aGUgcmVzdWx0IG9mIGFw
cGx5aW5nIHRoZSBhbmltYXRpb24gcHJvcGVydHkgbmFtZSB0byBJREwgYXR0cmlidXRlIG5hbWUg
YWxnb3JpdGhtIHRvIHRoZSBwcm9wZXJ0eSBuYW1lIG9mIGRlY2xhcmF0aW9uLgorICAgICAgICAg
ICAgYXV0byBwcm9wZXJ0eU5hbWUgPSBDU1NQcm9wZXJ0eUlEVG9JRExBdHRyaWJ1dGVOYW1lKGNz
c1Byb3BlcnR5SWQpOworICAgICAgICAgICAgLy8gMi4gTGV0IElETCB2YWx1ZSBiZSB0aGUgcmVz
dWx0IG9mIHNlcmlhbGl6aW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZSBvZiBkZWNsYXJhdGlvbiBieSBw
YXNzaW5nIGRlY2xhcmF0aW9uIHRvIHRoZSBhbGdvcml0aG0gdG8gc2VyaWFsaXplIGEgQ1NTIHZh
bHVlLgorICAgICAgICAgICAgYXV0byBpZGxWYWx1ZSA9IGNvbXB1dGVkU3R5bGVFeHRyYWN0b3Iu
dmFsdWVGb3JQcm9wZXJ0eWluU3R5bGUoc3R5bGUsIGNzc1Byb3BlcnR5SWQpLT5jc3NUZXh0KCk7
CisgICAgICAgICAgICAvLyAzLiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5n
IElETCB2YWx1ZSB0byBhbiBFQ01BU2NyaXB0IFN0cmluZyB2YWx1ZS4KKyAgICAgICAgICAgIGF1
dG8gdmFsdWUgPSB0b0pTPElETERPTVN0cmluZz4oc3RhdGUsIGlkbFZhbHVlKTsKKyAgICAgICAg
ICAgIC8vIDQuIENhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qg
b24gb3V0cHV0IGtleWZyYW1lIHdpdGggcHJvcGVydHkgbmFtZSBwcm9wZXJ0eSBuYW1lLAorICAg
ICAgICAgICAgLy8gICAgUHJvcGVydHkgRGVzY3JpcHRvciB7IFtbV3JpdGFibGVdXTogdHJ1ZSwg
W1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUsIFtbVmFsdWVdXTog
dmFsdWUgfSBhbmQgQm9vbGVhbiBmbGFnIGZhbHNlLgorICAgICAgICAgICAgSlNPYmplY3Q6OmRl
ZmluZU93blByb3BlcnR5KG91dHB1dEtleWZyYW1lLCAmc3RhdGUsIEF0b21pY1N0cmluZyhwcm9w
ZXJ0eU5hbWUpLmltcGwoKSwgUHJvcGVydHlEZXNjcmlwdG9yKHZhbHVlLCAwKSwgZmFsc2UpOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gNS4gQXBwZW5kIG91dHB1dCBrZXlmcmFtZSB0byByZXN1
bHQuCisgICAgICAgIHJlc3VsdC5hcHBlbmQoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4geyBz
dGF0ZS52bSgpLCBvdXRwdXRLZXlmcmFtZSB9KTsKKyAgICB9CisKKyAgICAvLyA0LiBSZXR1cm4g
cmVzdWx0LgorICAgIHJldHVybiByZXN1bHQ7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZy
YW1lRWZmZWN0OjpzZXRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0
PiYmIGtleWZyYW1lc0lucHV0KQogewogICAgIHJldHVybiBwcm9jZXNzS2V5ZnJhbWVzKHN0YXRl
LCBXVEZNb3ZlKGtleWZyYW1lc0lucHV0KSk7CkBAIC00MzAsMTMgKzUyNCwxMSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3RhdGUmIHN0
YXRlLCBTdHJvbmc8SlNPYgogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEV4Y2VwdGlv
biB7IFR5cGVFcnJvciB9KTsKIAogICAgIC8vIDUuIFBlcmZvcm0gdGhlIHN0ZXBzIGNvcnJlc3Bv
bmRpbmcgdG8gdGhlIGZpcnN0IG1hdGNoaW5nIGNvbmRpdGlvbiBmcm9tIGJlbG93LAorICAgIFZl
Y3RvcjxTdHJpbmc+IHVudXNlZEVhc2luZ3M7CiAgICAgaWYgKCFtZXRob2QuaXNVbmRlZmluZWQo
KSkKICAgICAgICAgcHJvY2Vzc0l0ZXJhYmxlS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZy
YW1lc0lucHV0KSwgV1RGTW92ZShtZXRob2QpLCBwcm9jZXNzZWRLZXlmcmFtZXMpOwogICAgIGVs
c2UKLSAgICAgICAgcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92
ZShrZXlmcmFtZXNJbnB1dCksIHByb2Nlc3NlZEtleWZyYW1lcyk7Ci0KLSAgICBpZiAoIXByb2Nl
c3NlZEtleWZyYW1lcy5zaXplKCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHByb2Nl
c3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQp
LCBwcm9jZXNzZWRLZXlmcmFtZXMsIHVudXNlZEVhc2luZ3MpOwogCiAgICAgLy8gNi4gSWYgcHJv
Y2Vzc2VkIGtleWZyYW1lcyBpcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0LCB0aHJvdyBh
IFR5cGVFcnJvciBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNy4gSWYgdGhlcmUgZXhp
c3QgYW55IGtleWZyYW1lIGluIHByb2Nlc3NlZCBrZXlmcmFtZXMgd2hvc2Uga2V5ZnJhbWUgb2Zm
c2V0IGlzIG5vbi1udWxsIGFuZCBsZXNzIHRoYW4KQEAgLTQ1NiwxMSArNTQ4LDE4IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYg
c3RhdGUsIFN0cm9uZzxKU09iCiAgICAgY29tcHV0ZU1pc3NpbmdLZXlmcmFtZU9mZnNldHMocHJv
Y2Vzc2VkS2V5ZnJhbWVzKTsKIAogICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZy
YW1lLWVmZmVjdC0iICsgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpKTsKKyAgICBWZWN0b3I8
c3RkOjpvcHRpb25hbDxkb3VibGU+PiBvZmZzZXRzOworICAgIFZlY3RvcjxSZWZQdHI8VGltaW5n
RnVuY3Rpb24+PiB0aW1pbmdGdW5jdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29t
cG9zaXRlT3BlcmF0aW9uPj4gY29tcG9zaXRlT3BlcmF0aW9uczsKKwogICAgIFN0eWxlUmVzb2x2
ZXImIHN0eWxlUmVzb2x2ZXIgPSBtX3RhcmdldC0+c3R5bGVSZXNvbHZlcigpOwogICAgIGF1dG8g
cGFyc2VyQ29udGV4dCA9IENTU1BhcnNlckNvbnRleHQoSFRNTFN0YW5kYXJkTW9kZSk7CiAKICAg
ICAvLyA4LiBGb3IgZWFjaCBmcmFtZSBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzLCBwZXJmb3JtIHRo
ZSBmb2xsb3dpbmcgc3RlcHM6CiAgICAgZm9yIChhdXRvJiBrZXlmcmFtZSA6IHByb2Nlc3NlZEtl
eWZyYW1lcykgeworICAgICAgICBvZmZzZXRzLmFwcGVuZChrZXlmcmFtZS5vZmZzZXQpOworICAg
ICAgICBjb21wb3NpdGVPcGVyYXRpb25zLmFwcGVuZChrZXlmcmFtZS5jb21wb3NpdGUpOworCiAg
ICAgICAgIC8vIDEuIEZvciBlYWNoIHByb3BlcnR5LXZhbHVlIHBhaXIgaW4gZnJhbWUsIHBhcnNl
IHRoZSBwcm9wZXJ0eSB2YWx1ZSB1c2luZyB0aGUgc3ludGF4IHNwZWNpZmllZCBmb3IgdGhhdCBw
cm9wZXJ0eS4KICAgICAgICAgLy8gICAgSWYgdGhlIHByb3BlcnR5IHZhbHVlIGlzIGludmFsaWQg
YWNjb3JkaW5nIHRvIHRoZSBzeW50YXggZm9yIHRoZSBwcm9wZXJ0eSwgZGlzY2FyZCB0aGUgcHJv
cGVydHktdmFsdWUgcGFpci4KICAgICAgICAgLy8gICAgVXNlciBhZ2VudHMgdGhhdCBwcm92aWRl
IHN1cHBvcnQgZm9yIGRpYWdub3NpbmcgZXJyb3JzIGluIGNvbnRlbnQgU0hPVUxEIHByb2R1Y2Ug
YW4gYXBwcm9wcmlhdGUgd2FybmluZwpAQCAtNDc0LDcgKzU3Myw3IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IEtleWZyYW1lRWZmZWN0Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0
cm9uZzxKU09iCiAgICAgICAgICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjsgIik7CiAgICAg
ICAgIH0KIAotICAgICAgICBLZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFsdWUoa2V5ZnJhbWUub2Zm
c2V0LnZhbHVlKCksIG51bGxwdHIpOworICAgICAgICBLZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFs
dWUoa2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQudmFsdWUoKSwgbnVsbHB0cik7CiAgICAgICAgIGF1
dG8gcmVuZGVyU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y3JlYXRlUHRyKCk7CiAgICAgICAgIGF1dG8g
c3R5bGVQcm9wZXJ0aWVzID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CiAgICAg
ICAgIHN0eWxlUHJvcGVydGllcy0+cGFyc2VEZWNsYXJhdGlvbihjc3NUZXh0LnRvU3RyaW5nKCks
IHBhcnNlckNvbnRleHQpOwpAQCAtNDk0LDE1ICs1OTMsMjUgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
S2V5ZnJhbWVFZmZlY3Q6OnByb2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25n
PEpTT2IKICAgICAgICAgLy8gMi4gTGV0IHRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgZnJhbWUgYmUg
dGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgb24gZnJhbWUg
dXNpbmcgdGhlIENTUyBzeW50YXgKICAgICAgICAgLy8gICAgZGVmaW5lZCBmb3IgdGhlIGVhc2lu
ZyBwcm9wZXJ0eSBvZiB0aGUgQW5pbWF0aW9uRWZmZWN0VGltaW5nUmVhZE9ubHkgaW50ZXJmYWNl
LgogICAgICAgICAvLyAgICBJZiBwYXJzaW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgZmFp
bHMsIHRocm93IGEgVHlwZUVycm9yIGFuZCBhYm9ydCB0aGlzIHByb2NlZHVyZS4KLSAgICAgICAg
Ly8gRklYTUU6IGltcGxlbWVudCB3aGVuIHdlIHN1cHBvcnQgZWFzaW5nLgorICAgICAgICBhdXRv
IHRpbWluZ0Z1bmN0aW9uUmVzdWx0ID0gVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0
KGtleWZyYW1lLmVhc2luZyk7CisgICAgICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNF
eGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiB0aW1pbmdGdW5jdGlvblJlc3VsdC5yZWxl
YXNlRXhjZXB0aW9uKCk7CisgICAgICAgIHRpbWluZ0Z1bmN0aW9ucy5hcHBlbmQoJnRpbWluZ0Z1
bmN0aW9uUmVzdWx0LnJldHVyblZhbHVlKCkuZ2V0KCkpOwogICAgIH0KIAogICAgIC8vIDkuIFBh
cnNlIGVhY2ggb2YgdGhlIHZhbHVlcyBpbiB1bnVzZWQgZWFzaW5ncyB1c2luZyB0aGUgQ1NTIHN5
bnRheCBkZWZpbmVkIGZvciBlYXNpbmcgcHJvcGVydHkgb2YgdGhlCiAgICAgLy8gICAgQW5pbWF0
aW9uRWZmZWN0VGltaW5nUmVhZE9ubHkgaW50ZXJmYWNlLCBhbmQgaWYgYW55IG9mIHRoZSB2YWx1
ZXMgZmFpbCB0byBwYXJzZSwgdGhyb3cgYSBUeXBlRXJyb3IKICAgICAvLyAgICBhbmQgYWJvcnQg
dGhpcyBwcm9jZWR1cmUuCi0gICAgLy8gRklYTUU6IGltcGxlbWVudCB3aGVuIHdlIHN1cHBvcnQg
ZWFzaW5nLgorICAgIGZvciAoYXV0byYgZWFzaW5nIDogdW51c2VkRWFzaW5ncykgeworICAgICAg
ICBhdXRvIHRpbWluZ0Z1bmN0aW9uUmVzdWx0ID0gVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21D
U1NUZXh0KGVhc2luZyk7CisgICAgICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNl
cHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiB0aW1pbmdGdW5jdGlvblJlc3VsdC5yZWxlYXNl
RXhjZXB0aW9uKCk7CisgICAgfQogCisgICAgbV9vZmZzZXRzID0gV1RGTW92ZShvZmZzZXRzKTsK
ICAgICBtX2tleWZyYW1lcyA9IFdURk1vdmUoa2V5ZnJhbWVMaXN0KTsKKyAgICBtX3RpbWluZ0Z1
bmN0aW9ucyA9IFdURk1vdmUodGltaW5nRnVuY3Rpb25zKTsKKyAgICBtX2NvbXBvc2l0ZU9wZXJh
dGlvbnMgPSBXVEZNb3ZlKGNvbXBvc2l0ZU9wZXJhdGlvbnMpOwogCiAgICAgY29tcHV0ZVN0YWNr
aW5nQ29udGV4dEltcGFjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5oCmluZGV4IGVhZDZiMjgzODY0MjY0YmIyOTdkYjQ1OTA5NGZiYWIzMjI4YzRkMmYuLjAz
YzkwYjU5N2MzMTQxNmMzYzRmZDY1MjNlM2JiYTViZTJjOTVlYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
QW5pbWF0aW9uRWZmZWN0VGltaW5nUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
QmxlbmRpbmdDbGllbnQuaCIKICNpbmNsdWRlICJDb21wb3NpdGVPcGVyYXRpb24uaCIKKyNpbmNs
dWRlICJJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUVm
ZmVjdE9wdGlvbnMuaCIKICNpbmNsdWRlICJLZXlmcmFtZUxpc3QuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZS5oIgpAQCAtNDUsOSArNDYsOSBAQCBwdWJsaWM6CiAgICAgfktleWZyYW1lRWZmZWN0
KCkgeyB9CiAKICAgICBzdHJ1Y3QgQmFzZVByb3BlcnR5SW5kZXhlZEtleWZyYW1lIHsKLSAgICAg
ICAgVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgZG91YmxlLCBWZWN0b3I8c3RkOjpvcHRpb25hbDxk
b3VibGU+Pj4gb2Zmc2V0OwotICAgICAgICBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0cmluZz4+
IGVhc2luZzsKLSAgICAgICAgVmFyaWFudDxDb21wb3NpdGVPcGVyYXRpb24sIFZlY3RvcjxDb21w
b3NpdGVPcGVyYXRpb24+PiBjb21wb3NpdGU7CisgICAgICAgIFZhcmlhbnQ8c3RkOjpudWxscHRy
X3QsIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+LCBkb3VibGU+IG9mZnNldCA9IFZlY3Rv
cjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+KCk7CisgICAgICAgIFZhcmlhbnQ8VmVjdG9yPFN0cmlu
Zz4sIFN0cmluZz4gZWFzaW5nID0gVmVjdG9yPFN0cmluZz4oKTsKKyAgICAgICAgVmFyaWFudDxW
ZWN0b3I8Q29tcG9zaXRlT3BlcmF0aW9uPiwgQ29tcG9zaXRlT3BlcmF0aW9uPiBjb21wb3NpdGUg
PSBWZWN0b3I8Q29tcG9zaXRlT3BlcmF0aW9uPigpOwogICAgIH07CiAKICAgICBzdHJ1Y3QgUHJv
cGVydHlBbmRWYWx1ZXMgewpAQCAtNjMsMTIgKzY0LDI2IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3Qg
UHJvY2Vzc2VkS2V5ZnJhbWUgewogICAgICAgICBTdHJpbmcgZWFzaW5nOwogICAgICAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gb2Zmc2V0OworICAgICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
Y29tcHV0ZWRPZmZzZXQ7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8Q29tcG9zaXRlT3BlcmF0aW9u
PiBjb21wb3NpdGU7CiAgICAgICAgIEhhc2hNYXA8Q1NTUHJvcGVydHlJRCwgU3RyaW5nPiBjc3NQ
cm9wZXJ0aWVzQW5kVmFsdWVzOwogICAgIH07CiAKKyAgICBzdHJ1Y3QgQmFzZUNvbXB1dGVkS2V5
ZnJhbWUgeworICAgICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gb2Zmc2V0OworICAgICAgICBk
b3VibGUgY29tcHV0ZWRPZmZzZXQ7CisgICAgICAgIFN0cmluZyBlYXNpbmcgeyAibGluZWFyIiB9
OworICAgIH07CisKICAgICBFbGVtZW50KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3Rhcmdl
dC5nZXQoKTsgfQorICAgIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0Pj4gZ2V0S2V5
ZnJhbWVzKEpTQzo6RXhlY1N0YXRlJik7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0S2V5ZnJh
bWVzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7CisKKyAg
ICBJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24gaXRlcmF0aW9uQ29tcG9zaXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9pdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb247IH0KKyAgICB2b2lkIHNldEl0
ZXJhdGlvbkNvbXBvc2l0ZShJdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24gaXRlcmF0aW9uQ29t
cG9zaXRlT3BlcmF0aW9uKSB7IG1faXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uID0gaXRlcmF0
aW9uQ29tcG9zaXRlT3BlcmF0aW9uOyB9CisgICAgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRlT3BlcmF0aW9uOyB9CisgICAgdm9pZCBzZXRD
b21wb3NpdGUoQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZU9wZXJhdGlvbikgeyBtX2NvbXBv
c2l0ZU9wZXJhdGlvbiA9IGNvbXBvc2l0ZU9wZXJhdGlvbjsgfQorCiAgICAgdm9pZCBnZXRBbmlt
YXRlZFN0eWxlKHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUpOwog
ICAgIHZvaWQgYXBwbHlBdExvY2FsVGltZShTZWNvbmRzLCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3RhcnRPclN0b3BBY2NlbGVyYXRlZCgpOwpAQCAtOTIsNyArMTA3LDEyIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRSdW5BY2NlbGVyYXRlZCgpOwogCiAgICAgUmVmUHRy
PEVsZW1lbnQ+IG1fdGFyZ2V0OworICAgIEl0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbiBtX2l0
ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbiB7IEl0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJhdGlvbjo6
UmVwbGFjZSB9OworICAgIENvbXBvc2l0ZU9wZXJhdGlvbiBtX2NvbXBvc2l0ZU9wZXJhdGlvbiB7
IENvbXBvc2l0ZU9wZXJhdGlvbjo6UmVwbGFjZSB9OwogICAgIEtleWZyYW1lTGlzdCBtX2tleWZy
YW1lczsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PiBtX29mZnNldHM7CisgICAg
VmVjdG9yPFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4+IG1fdGltaW5nRnVuY3Rpb25zOworICAgIFZl
Y3RvcjxzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlvbj4+IG1fY29tcG9zaXRlT3BlcmF0
aW9uczsKICAgICBib29sIG1fdHJpZ2dlcnNTdGFja2luZ0NvbnRleHQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9zdGFydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3RhcnRlZEFjY2VsZXJhdGVk
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRs
CmluZGV4IDg2OGMzZGE5NWE3NTBjYTZlMDc1YjY1OGY5ZGI3OGYzMjJhOTg0ZGUuLjM4ZmYxZjA2
YjgzYTM1NjkyODI5MmI1OTIxNTQxYjE5NzVjODE1ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbApAQCAtMzAsMTEgKzMwLDIyIEBACiAgICAgQ29uc3Ry
dWN0b3IoRWxlbWVudD8gdGFyZ2V0LCBvYmplY3Q/IGtleWZyYW1lcywgb3B0aW9uYWwgKHVucmVz
dHJpY3RlZCBkb3VibGUgb3IgS2V5ZnJhbWVFZmZlY3RPcHRpb25zKSBvcHRpb25zKQogXSBpbnRl
cmZhY2UgS2V5ZnJhbWVFZmZlY3QgOiBBbmltYXRpb25FZmZlY3QgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbGVtZW50PyB0YXJnZXQ7CisgICAgYXR0cmlidXRlIEl0ZXJhdGlvbkNvbXBvc2l0
ZU9wZXJhdGlvbiBpdGVyYXRpb25Db21wb3NpdGU7CisgICAgYXR0cmlidXRlIENvbXBvc2l0ZU9w
ZXJhdGlvbiBjb21wb3NpdGU7CisgICAgW0NhbGxXaXRoPVNjcmlwdFN0YXRlXSBzZXF1ZW5jZTxv
YmplY3Q+IGdldEtleWZyYW1lcygpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbFdpdGg9
U2NyaXB0U3RhdGVdIHZvaWQgc2V0S2V5ZnJhbWVzKG9iamVjdD8ga2V5ZnJhbWVzKTsKIH07CiAK
IGRpY3Rpb25hcnkgQmFzZVByb3BlcnR5SW5kZXhlZEtleWZyYW1lIHsKLSAgICAoZG91YmxlPyBv
ciBzZXF1ZW5jZTxkb3VibGU/Pikgb2Zmc2V0ID0gW107Ci0gICAgKERPTVN0cmluZyBvciBzZXF1
ZW5jZTxET01TdHJpbmc+KSBlYXNpbmcgPSBbXTsKLSAgICAoQ29tcG9zaXRlT3BlcmF0aW9uIG9y
IHNlcXVlbmNlPENvbXBvc2l0ZU9wZXJhdGlvbj4pIGNvbXBvc2l0ZSA9IFtdOworICAgIChzZXF1
ZW5jZTxkb3VibGU/PiBvciBkb3VibGU/KSBvZmZzZXQgPSBbXTsKKyAgICAoc2VxdWVuY2U8RE9N
U3RyaW5nPiBvciBET01TdHJpbmcpIGVhc2luZyA9IFtdOworICAgIChzZXF1ZW5jZTxDb21wb3Np
dGVPcGVyYXRpb24+IG9yIENvbXBvc2l0ZU9wZXJhdGlvbikgY29tcG9zaXRlID0gW107Cit9Owor
CitbCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gZGljdGlvbmFyeSBCYXNlQ29tcHV0ZWRL
ZXlmcmFtZSB7CisgICAgIGRvdWJsZT8gb2Zmc2V0ID0gbnVsbDsKKyAgICAgZG91YmxlIGNvbXB1
dGVkT2Zmc2V0OworICAgICBET01TdHJpbmcgZWFzaW5nID0gImxpbmVhciI7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5jcHAK
aW5kZXggNTA3NTQzY2U0YTJjNjYyNzBlNjMxMTE4YWFiZTE3MzVjNTc0MzJhMy4uMzc5MTlkOTI0
ZmQxNTY1YjkxYzdkZjc1NDBlYmQ3MmUxOWU1YzNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uY3BwCkBAIC0yNiw3ICsyNiw5
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVGltaW5nRnVuY3Rpb24uaCIKIAor
I2luY2x1ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJTcHJpbmdTb2x2
ZXIuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKICNpbmNsdWRlICJVbml0QmV6aWVy
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCkBAIC0xMDEsNCArMTAzLDg1
IEBAIGRvdWJsZSBUaW1pbmdGdW5jdGlvbjo6dHJhbnNmb3JtVGltZShkb3VibGUgaW5wdXRUaW1l
LCBkb3VibGUgZHVyYXRpb24pIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK0V4Y2VwdGlvbk9y
PFJlZjxUaW1pbmdGdW5jdGlvbj4+IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChj
b25zdCBTdHJpbmcmIGNzc1RleHQpCit7CisgICAgU3RyaW5nQnVpbGRlciBjc3NTdHJpbmc7Cisg
ICAgY3NzU3RyaW5nLmFwcGVuZChnZXRQcm9wZXJ0eU5hbWVTdHJpbmcoQ1NTUHJvcGVydHlBbmlt
YXRpb25UaW1pbmdGdW5jdGlvbikpOworICAgIGNzc1N0cmluZy5hcHBlbmRMaXRlcmFsKCI6ICIp
OworICAgIGNzc1N0cmluZy5hcHBlbmQoY3NzVGV4dCk7CisgICAgYXV0byBzdHlsZVByb3BlcnRp
ZXMgPSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKyAgICBzdHlsZVByb3BlcnRp
ZXMtPnBhcnNlRGVjbGFyYXRpb24oY3NzU3RyaW5nLnRvU3RyaW5nKCksIENTU1BhcnNlckNvbnRl
eHQoSFRNTFN0YW5kYXJkTW9kZSkpOworICAgIGF1dG8gY3NzVmFsdWUgPSBzdHlsZVByb3BlcnRp
ZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlBbmltYXRpb25UaW1pbmdGdW5jdGlv
bik7CisKKyAgICBpZiAoIWNzc1ZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlw
ZUVycm9yIH07CisKKyAgICBhdXRvJiB2YWx1ZSA9ICpjc3NWYWx1ZS5nZXQoKTsKKyAgICBpZiAo
aXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBzd2l0Y2ggKGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpKSB7CisgICAgICAgIGNhc2UgQ1NT
VmFsdWVMaW5lYXI6CisgICAgICAgICAgICByZXR1cm4geyBMaW5lYXJUaW1pbmdGdW5jdGlvbjo6
Y3JlYXRlKCkgfTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUVhc2U6CisgICAgICAgICAgICByZXR1
cm4geyBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoKSB9OworICAgICAgICBjYXNl
IENTU1ZhbHVlRWFzZUluOgorICAgICAgICAgICAgcmV0dXJuIHsgQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvbjo6Y3JlYXRlKEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OkVhc2VJbikgfTsKKyAg
ICAgICAgY2FzZSBDU1NWYWx1ZUVhc2VPdXQ6CisgICAgICAgICAgICByZXR1cm4geyBDdWJpY0Jl
emllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6RWFz
ZU91dCkgfTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUVhc2VJbk91dDoKKyAgICAgICAgICAgIHJl
dHVybiB7IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNyZWF0ZShDdWJpY0JlemllclRpbWlu
Z0Z1bmN0aW9uOjpFYXNlSW5PdXQpIH07CisgICAgICAgIGNhc2UgQ1NTVmFsdWVTdGVwU3RhcnQ6
CisgICAgICAgICAgICByZXR1cm4geyBTdGVwc1RpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoMSwgdHJ1
ZSkgfTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0ZXBFbmQ6CisgICAgICAgICAgICByZXR1cm4g
eyBTdGVwc1RpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoMSwgZmFsc2UpIH07CisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAoaXM8Q1NTQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVl
Pih2YWx1ZSkpIHsKKyAgICAgICAgYXV0byYgY3ViaWNUaW1pbmdGdW5jdGlvbiA9IGRvd25jYXN0
PENTU0N1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUpOworICAgICAgICByZXR1
cm4geyBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoY3ViaWNUaW1pbmdGdW5jdGlv
bi54MSgpLCBjdWJpY1RpbWluZ0Z1bmN0aW9uLnkxKCksIGN1YmljVGltaW5nRnVuY3Rpb24ueDIo
KSwgY3ViaWNUaW1pbmdGdW5jdGlvbi55MigpKSB9OworICAgIH0KKyAgICBpZiAoaXM8Q1NTU3Rl
cHNUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgYXV0byYgc3RlcHNUaW1p
bmdGdW5jdGlvbiA9IGRvd25jYXN0PENTU1N0ZXBzVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUp
OworICAgICAgICByZXR1cm4geyBTdGVwc1RpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoc3RlcHNUaW1p
bmdGdW5jdGlvbi5udW1iZXJPZlN0ZXBzKCksIHN0ZXBzVGltaW5nRnVuY3Rpb24uc3RlcEF0U3Rh
cnQoKSkgfTsKKyAgICB9CisgICAgaWYgKGlzPENTU0ZyYW1lc1RpbWluZ0Z1bmN0aW9uVmFsdWU+
KHZhbHVlKSkgeworICAgICAgICBhdXRvJiBmcmFtZXNUaW1pbmdGdW5jdGlvbiA9IGRvd25jYXN0
PENTU0ZyYW1lc1RpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHsg
RnJhbWVzVGltaW5nRnVuY3Rpb246OmNyZWF0ZShmcmFtZXNUaW1pbmdGdW5jdGlvbi5udW1iZXJP
ZkZyYW1lcygpKSB9OworICAgIH0KKyAgICBpZiAoaXM8Q1NTU3ByaW5nVGltaW5nRnVuY3Rpb25W
YWx1ZT4odmFsdWUpKSB7CisgICAgICAgIGF1dG8mIHNwcmluZ1RpbWluZ0Z1bmN0aW9uID0gZG93
bmNhc3Q8Q1NTU3ByaW5nVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUpOworICAgICAgICByZXR1
cm4geyBTcHJpbmdUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKHNwcmluZ1RpbWluZ0Z1bmN0aW9uLm1h
c3MoKSwgc3ByaW5nVGltaW5nRnVuY3Rpb24uc3RpZmZuZXNzKCksIHNwcmluZ1RpbWluZ0Z1bmN0
aW9uLmRhbXBpbmcoKSwgc3ByaW5nVGltaW5nRnVuY3Rpb24uaW5pdGlhbFZlbG9jaXR5KCkpIH07
CisgICAgfQorCisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworfQorCitTdHJp
bmcgVGltaW5nRnVuY3Rpb246OmNzc1RleHQoKSBjb25zdAoreworICAgIGlmIChtX3R5cGUgPT0g
VGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVyRnVuY3Rpb24pIHsKKyAgICAgICAgYXV0byYgZnVu
Y3Rpb24gPSBkb3duY2FzdDxDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uPigqdGhpcyk7CisgICAg
ICAgIGlmIChmdW5jdGlvbi54MSgpID09IDAuMjUgJiYgZnVuY3Rpb24ueTEoKSA9PSAwLjEgJiYg
ZnVuY3Rpb24ueDIoKSA9PSAwLjI1ICYmIGZ1bmN0aW9uLnkyKCkgPT0gMS4wKQorICAgICAgICAg
ICAgcmV0dXJuICJlYXNlIjsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLngxKCkgPT0gMC40MiAmJiAh
ZnVuY3Rpb24ueTEoKSAmJiBmdW5jdGlvbi54MigpID09IDEuMCAmJiBmdW5jdGlvbi55MigpID09
IDEuMCkKKyAgICAgICAgICAgIHJldHVybiAiZWFzZS1pbiI7CisgICAgICAgIGlmICghZnVuY3Rp
b24ueDEoKSAmJiAhZnVuY3Rpb24ueTEoKSAmJiBmdW5jdGlvbi54MigpID09IDAuNTggJiYgZnVu
Y3Rpb24ueTIoKSA9PSAxLjApCisgICAgICAgICAgICByZXR1cm4gImVhc2Utb3V0IjsKKyAgICAg
ICAgaWYgKGZ1bmN0aW9uLngxKCkgPT0gMC40MiAmJiAhZnVuY3Rpb24ueTEoKSAmJiBmdW5jdGlv
bi54MigpID09IDAuNTggJiYgZnVuY3Rpb24ueTIoKSA9PSAxLjApCisgICAgICAgICAgICByZXR1
cm4gImVhc2UtaW4tb3V0IjsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJjdWJpYy1i
ZXppZXIoJWcsICVnLCAlZywgJWcpIiwgZnVuY3Rpb24ueDEoKSwgZnVuY3Rpb24ueTEoKSwgZnVu
Y3Rpb24ueDIoKSwgZnVuY3Rpb24ueTIoKSk7CisgICAgfQorCisgICAgaWYgKG1fdHlwZSA9PSBU
aW1pbmdGdW5jdGlvbjo6U3RlcHNGdW5jdGlvbikgeworICAgICAgICBhdXRvJiBmdW5jdGlvbiA9
IGRvd25jYXN0PFN0ZXBzVGltaW5nRnVuY3Rpb24+KCp0aGlzKTsKKyAgICAgICAgaWYgKCFmdW5j
dGlvbi5zdGVwQXRTdGFydCgpKQorICAgICAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJz
dGVwcyglZCkiLCBmdW5jdGlvbi5udW1iZXJPZlN0ZXBzKCkpOworICAgIH0KKworICAgIFRleHRT
dHJlYW0gc3RyZWFtOworICAgIHN0cmVhbSA8PCAqdGhpczsKKyAgICByZXR1cm4gc3RyZWFtLnJl
bGVhc2UoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAppbmRleCA1MjdiY2JhODNi
OGU1ZmFkZGNiZTkzMjA5NzAwOTg1MTVmNzU2NzYzLi45OGJiYjc4MjQ1MjA4MzVkOTBhOTI1MTAy
NzU4YzNjM2Q4NjhlODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vVGltaW5nRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vVGltaW5nRnVuY3Rpb24uaApAQCAtMjQsNiArMjQsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDYgKzUzLDggQEAgcHVibGljOgogICAgIGJv
b2wgb3BlcmF0b3IhPShjb25zdCBUaW1pbmdGdW5jdGlvbiYgb3RoZXIpIGNvbnN0IHsgcmV0dXJu
ICEoKnRoaXMgPT0gb3RoZXIpOyB9CiAKICAgICBkb3VibGUgdHJhbnNmb3JtVGltZShkb3VibGUs
IGRvdWJsZSkgY29uc3Q7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxUaW1pbmdGdW5jdGlv
bj4+IGNyZWF0ZUZyb21DU1NUZXh0KGNvbnN0IFN0cmluZyYpOworICAgIFN0cmluZyBjc3NUZXh0
KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBUaW1pbmdGdW5jdGlvbihUaW1p
bmdGdW5jdGlvblR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZDk4ZWM4NDQ3YzQ2MTFhMWZlY2ZjNGNjZTBm
NWMwOWVhMmYzY2IxLi41ZDBkYzkxNDQ5Nzg3Y2NkYTZkMDkwYWRkYmM4YzJiZjQ5NDcyMjM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgtMDEtMjMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEV4cG9zZSBnZXRLZXlmcmFt
ZXMoKSBhbmQgcGFyc2luZyBvZiByZW1haW5pbmcga2V5ZnJhbWUgcHJvcGVydGllcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxOTc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zNjc3MjU4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhwZWN0YXRpb25zIHdpdGggcHJvZ3Jlc3Npb25z
IGFuZCBuZXcgZmFpbHVyZSBwb2ludHMgbm93IHdlIGV4cG9zZSBtb3JlIG9mIHRoZSBBUEkuCisK
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUv
YW5pbWF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3Vt
ZW50LTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50
LTAwMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0OgorCiAyMDE4
LTAxLTE5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dl
YiBBbmltYXRpb25zXSBSZW1vdmUgaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMgdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dApp
bmRleCBmMzVlYTEzMGQ3NDA0OTEyZTg5YjNlZWE4NmVmMTY5Yzk4YjBjYzlkLi5lNTI2NjYxNjRk
ZGU4YWQyMGM1YmNkNzJjODQxNWE5NmEzZjEwY2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9BbmltYXRhYmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0CkBAIC03LDE0MyArNyw4MSBAQCBQ
QVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCB3aXRoIGEg
S2V5ZnJhbWVFZmZlY3Qgd2hvc2UgQQogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGVt
cHR5IGtleWZyYW1lIGxpc3RzIChpbnB1dDogW10pIAogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGVtcHR5IGtleWZyYW1lIGxpc3RzIChpbnB1dDogbnVsbCkgCiBQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgZW1wdHkga2V5ZnJhbWUgbGlzdHMgKGlucHV0OiB1bmRlZmluZWQp
IAotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYW5pbS5lZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBv
bmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28g
cHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGRp
ZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4g
aW52YWxpZCB2YWx1ZSBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUg
cHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBhbmltLmVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCkn
LCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGFuaW0uZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgYWNjZXB0cyBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
d2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYW5p
bS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0
LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYW5pbS5lZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBp
bnZhbGlkIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0
eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVy
ZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNl
cXVlbmNlIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdh
bmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0
eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFu
ZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVu
Y2UgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3
byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFs
dWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxz
OiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zm
c2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcs
bWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZB
SUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFu
ZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVz
IG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxt
YXJnaW4sbWFyZ2luVG9wLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1h
cmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gCitQQVNTIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyAKK1BBU1MgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmlj
YXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgCitGQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVj
aWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGFzc2VydF9lcXVhbHM6IHZh
bHVlIGZvciAnbGVmdCcgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAidmFyKC0tZGlz
dCkiIGJ1dCBnb3QgImF1dG8iCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUg
cmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2VydF9lcXVhbHM6IHByb3BlcnRp
ZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5n
LG1hcmdpbixvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0
b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorUEFTUyBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBh
IG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lm
aWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCAKK1BBU1MgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFs
aWQgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgb25lIGtl
eWZyYW1lIHNlcXVlbmNlIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIHR3byBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgCitGQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBz
ZXF1ZW5jZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAg
ZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJj
b21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQs
bWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBw
cm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykg
dHdvIGtleWZyYW1lIHNlcXVlbmNlIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0
ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJn
aW5Ub3Asb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9t
LG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKIEZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVl
cyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgVHlwZSBlcnJvcgogRkFJTCBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVz
IGZvciBvZmZzZXRzIDAgYW5kIDEgVHlwZSBlcnJvcgogRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2UgVHlwZSBlcnJvcgot
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggb21pdHRlZCBvZmZzZXQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRz
IGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgYW5pbS5lZmZlY3Qu
Z2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZy
YW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGgg
c3RyaW5nIG9mZnNldCBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUg
cHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBhbmlt
LmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5p
bS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9t
aXR0ZWQgb2Zmc2V0cyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUg
cHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
K1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEg
c2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgCitQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzdHJpbmcg
b2Zmc2V0IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgCitQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBz
b21lIG51bGwgb2Zmc2V0cyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBw
cm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIAorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyAKIEZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1
dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IFR5cGUgZXJyb3IKIEZB
SUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlm
ZmVyZW50IGNvbXBvc2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9y
IGEgZ2l2ZW4gb2Zmc2V0IFR5cGUgZXJyb3IKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJp
bmdpZnkgaXRzIHZhbHVlcyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NT
IHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhh
bmQgcHJlY2VkZXMgbG9uZ2hhbmQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRz
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGFu
aW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdo
ZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJ
TCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3Jl
YXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBhbmltLmVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVz
KCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hl
cmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNl
cXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJh
bWUgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3
byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIAor
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
IENTUyB2YXJpYWJsZSByZWZlcmVuY2UgYXNzZXJ0X2VxdWFsczogdmFsdWUgZm9yICdsZWZ0JyBv
biBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJ2YXIoLS1kaXN0KSIgYnV0IGdvdCAiYXV0
byIKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2Vy
dF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29t
cHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0
LGVhc2luZyxtYXJnaW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zm
c2V0IgorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRp
ZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5n
LG1hcmdpbixtYXJnaW5SaWdodCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2lu
ZyxtYXJnaW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0Igor
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
bG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24g
Q29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdp
bixtYXJnaW5SaWdodCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJn
aW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2Vy
IHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9w
ZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImJvcmRlcixib3JkZXJMZWZ0
LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImJvcmRlckJvdHRvbUNvbG9y
LGJvcmRlckJvdHRvbVN0eWxlLGJvcmRlckJvdHRvbVdpZHRoLGJvcmRlckltYWdlT3V0c2V0LGJv
cmRlckltYWdlUmVwZWF0LGJvcmRlckltYWdlU2xpY2UsYm9yZGVySW1hZ2VTb3VyY2UsYm9yZGVy
SW1hZ2VXaWR0aCxib3JkZXJMZWZ0Q29sb3IsYm9yZGVyTGVmdFN0eWxlLGJvcmRlckxlZnRXaWR0
aCxib3JkZXJSaWdodENvbG9yLGJvcmRlclJpZ2h0U3R5bGUsYm9yZGVyUmlnaHRXaWR0aCxib3Jk
ZXJUb3BDb2xvcixib3JkZXJUb3BTdHlsZSxib3JkZXJUb3BXaWR0aCxjb21wdXRlZE9mZnNldCxl
YXNpbmcsb2Zmc2V0IgorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFu
ZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0
ZWQgImJvcmRlcixib3JkZXJMZWZ0LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBn
b3QgImJvcmRlckJvdHRvbUNvbG9yLGJvcmRlckJvdHRvbVN0eWxlLGJvcmRlckJvdHRvbVdpZHRo
LGJvcmRlckltYWdlT3V0c2V0LGJvcmRlckltYWdlUmVwZWF0LGJvcmRlckltYWdlU2xpY2UsYm9y
ZGVySW1hZ2VTb3VyY2UsYm9yZGVySW1hZ2VXaWR0aCxib3JkZXJMZWZ0Q29sb3IsYm9yZGVyTGVm
dFN0eWxlLGJvcmRlckxlZnRXaWR0aCxib3JkZXJSaWdodENvbG9yLGJvcmRlclJpZ2h0U3R5bGUs
Ym9yZGVyUmlnaHRXaWR0aCxib3JkZXJUb3BDb2xvcixib3JkZXJUb3BTdHlsZSxib3JkZXJUb3BX
aWR0aCxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgorUEFTUyBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9w
ZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9u
ZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgCiBGQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZh
bHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdzIFR5cGUgZXJyb3IKIFBBU1Mg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIG91dC1v
Zi1ib3VuZGVkIHBvc2l0aXZlIG9mZnNldCAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNl
dCAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyBub3Qg
bG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IAotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5v
dCBhY2NlcHQgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2lu
ZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgZGl2
LmFuaW1hdGUoc3VidGVzdC5pbnB1dCwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJ
TCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7Ci0gICAgICBkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKTsKLSAgICB9
IiBkaWQgbm90IHRocm93CitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAor
UEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBk
b2VzIG5vdCBhY2NlcHQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUgdmFsdWUg
Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzog
JycgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsg
ZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZB
SUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnNycg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFz
aW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndGVzdCcg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFz
aW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnaW5pdGlh
bCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsg
ZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZB
SUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnaW5o
ZXJpdCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRl
KHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cK
LUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
dW5zZXQnIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0
ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzog
J3VucmVjb2duaXplZCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRp
di5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAndmFyKC0teCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAg
ICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBk
aWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0s
IDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9l
cyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSkn
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVh
c2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlM
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1Ymlj
LWJlemllcigwLCAwLCAxLjEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewot
ICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAg
fSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
aW52YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwgMSwgMSknIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxp
ZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigwLCAw
LCAtMC4xLCAxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5h
bmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3Qg
dGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFz
aW5nOiAnY3ViaWMtYmV6aWVyKDAuMSwgMCwgNCwgMC40KScgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0s
IDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9l
cyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoLTEsIHN0YXJ0KScgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoMC4xLCBzdGFy
dCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7
IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1G
QUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0
ZXBzKDMsIG5vd2hlcmUpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAg
ZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlk
IG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxp
ZCBlYXNpbmc6ICdzdGVwcygtMywgZW5kKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwot
ICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNj
ZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlk
RWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24gKHgpe3JldHVy
biB4fScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRl
KHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cK
LUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
ZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsK
LSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFj
Y2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
IigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIw
MDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwg
MjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2Vz
IG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoKScgYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5n
IH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkg
ZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCwpJyBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRF
YXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoYSknIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52
YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygyLjApJyBh
c3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNp
bmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMo
Mi41KScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRl
KHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cK
LUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAn
ZnJhbWVzKDIgMyknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYu
YW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90
IHRocm93CitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVh
c2luZzogJycgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlk
IGVhc2luZzogJzcnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52
YWxpZCBlYXNpbmc6ICd0ZXN0JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNj
ZXB0IGludmFsaWQgZWFzaW5nOiAnaW5pdGlhbCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2luaGVyaXQnIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd1bnNldCcgCitQQVNTIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3VucmVjb2du
aXplZCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVh
c2luZzogJ3ZhcigtLXgpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IGludmFsaWQgZWFzaW5nOiAnZWFzZS1pbi1vdXQsIGVhc2Utb3V0JyAKK1BBU1MgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDEu
MSwgMCwgMSwgMSknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52
YWxpZCBlYXNpbmc6ICdjdWJpYy1iZXppZXIoMCwgMCwgMS4xLCAxKScgCitQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigt
MC4xLCAwLCAxLCAxKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBp
bnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScgCitQQVNTIEVsZW1l
bnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemll
cigwLjEsIDAsIDQsIDAuNCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2Nl
cHQgaW52YWxpZCBlYXNpbmc6ICdzdGVwcygtMSwgc3RhcnQpJyAKK1BBU1MgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoMC4xLCBzdGFydCkn
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICdzdGVwcygzLCBub3doZXJlKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFj
Y2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKC0zLCBlbmQpJyAKK1BBU1MgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24gKGEpe3JldHVy
biBhfScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVh
c2luZzogJ2Z1bmN0aW9uICh4KXtyZXR1cm4geH0nIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBk
b2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmdW5jdGlvbih4LCB5KXtyZXR1cm4gMC4z
fScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2lu
ZzogJ2ZyYW1lcygxKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBp
bnZhbGlkIGVhc2luZzogJ2ZyYW1lcycgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90
IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRl
KCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCwpJyAKK1BBU1MgRWxl
bWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKGEp
JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5n
OiAnZnJhbWVzKDIuMCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
aW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoMi41KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygyIDMpJyAKIFBBU1MgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIGRvdWJsZSBhcyBhbiBvcHRpb25zIGFyZ3VtZW50IAogUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgS2V5ZnJhbWVBbmltYXRpb25PcHRpb25zIGFy
Z3VtZW50IAogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGFuIGFic2VudCBvcHRpb25z
IGFyZ3VtZW50IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
RWZmZWN0VGltaW5nL2Vhc2luZy1leHBlY3RlZC50eHQKaW5kZXggODY4OTBmYzQ3YTJjZmM2MTlm
NjZmNTVmNzEzMTVhYmExZTE2ZjA0Zi4uYjFhNmE3YmRkMjQyMTM5MTY4NTRhYzFkNjNlOTY0YjM1
YzFmYWY4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlv
bkVmZmVjdFRpbWluZy9lYXNpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZB
SUwgVGVzdCBkZWZhdWx0IHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJs
aW5lYXIiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIHN0ZXAtc3RhcnQgZnVu
Y3Rpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0ZXBzKDEsIHN0YXJ0KSIgYnV0IGdvdCAi
c3RlcC1zdGFydCIKK1BBU1MgVGVzdCBkZWZhdWx0IHZhbHVlIAorRkFJTCBzdGVwLXN0YXJ0IGZ1
bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlv
biBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAxIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQg
Z290IGEgIm9iamVjdCIKIEZBSUwgc3RlcHMoMSwgc3RhcnQpIGZ1bmN0aW9uIGFzc2VydF9hcHBy
b3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94
aW1hdGVseSAxIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKIEZB
SUwgc3RlcHMoMiwgc3RhcnQpIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJv
Z3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAwLjUgYXQgMG1z
IGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgotRkFJTCBzdGVwLWVuZCBmdW5j
dGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3RlcHMoMSkiIGJ1dCBnb3QgInN0ZXAtZW5k
IgorRkFJTCBzdGVwLWVuZCBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dy
ZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhw
ZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIHN0ZXBzKDEpIGZ1bmN0aW9u
IGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91
bGQgYmUgYXBwcm94aW1hdGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEg
Im9iamVjdCIKLUZBSUwgc3RlcHMoMSwgZW5kKSBmdW5jdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAic3RlcHMoMSkiIGJ1dCBnb3QgInN0ZXBzKDEsIGVuZCkiCi1GQUlMIHN0ZXBzKDIsIGVu
ZCkgZnVuY3Rpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0ZXBzKDIpIiBidXQgZ290ICJz
dGVwcygyLCBlbmQpIgorRkFJTCBzdGVwcygxLCBlbmQpIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hf
ZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1h
dGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKK0ZBSUwg
c3RlcHMoMiwgZW5kKSBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNz
IG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0
ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGZyYW1lcyBmdW5jdGlvbiBhc3Nl
cnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJl
IGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmpl
Y3QiCiBGQUlMIGxpbmVhciBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dy
ZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhw
ZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGVhc2UgZnVuY3Rpb24gYXNz
ZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNob3VsZCBi
ZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2Jq
ZWN0IgpAQCAtMTUsOTMgKzE1LDM1IEBAIEZBSUwgZWFzZS1pbi1vdXQgZnVuY3Rpb24gYXNzZXJ0
X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNoCiBGQUlMIGVh
c2Utb3V0IGZ1bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhl
IGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51
bWJlciBidXQgZ290IGEgIm9iamVjdCIKIEZBSUwgZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1
Y2VzIHZhbHVlcyBncmVhdGVyIHRoYW4gMSBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dy
ZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhw
ZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGVhc2luZyBmdW5jdGlvbiB3
aGljaCBwcm9kdWNlcyB2YWx1ZXMgbGVzcyB0aGFuIDEgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRo
ZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQg
MG1zIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgotRkFJTCBJbnZhbGlkIGVm
ZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJycgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9
IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlM
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnNycgYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGlt
aW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90
IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndGVzdCcgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
YW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAg
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0
ZXN0OiAnaW5pdGlhbCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNp
bmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZm
ZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5oZXJpdCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVh
c2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndW5zZXQnIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0u
ZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAg
fSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J3VucmVjb2duaXplZCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNp
bmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZm
ZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndmFyKC0teCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5l
YXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJv
dwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Vhc2UtaW4tb3V0LCBl
YXNlLW91dCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0g
ICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVh
c2luZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSknIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZm
ZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1
YmljLWJlemllcigwLCAwLCAxLjEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0g
aW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
SW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwg
MSwgMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAg
ICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNp
bmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZl
Y3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBk
aWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnY3Vi
aWMtYmV6aWVyKDAuMSwgMCwgNCwgMC40KScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9
IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlM
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTEsIHN0YXJ0KScgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
YW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAg
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0
ZXN0OiAnc3RlcHMoMC4xLCBzdGFydCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBp
bnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDMsIG5vd2hlcmUpJyBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBh
bmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAg
ICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRl
c3Q6ICdzdGVwcygtMywgZW5kKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFs
aWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
YW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAg
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0
ZXN0OiAnZnVuY3Rpb24gKHgpe3JldHVybiB4fScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2lu
ZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1G
QUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24oeCwgeSl7cmV0
dXJuIDAuM30nIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwot
ICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBl
YXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2lu
ZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1G
QUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzJyBhc3NlcnRfdGhy
b3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVm
ZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0i
IGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdm
cmFtZXMoKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0g
ICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVh
c2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKCwpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5n
ID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZB
SUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoYSknIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0u
ZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAg
fSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J2ZyYW1lcygyLjApJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2lu
ZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZl
Y3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMi41KScgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5n
LmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRo
cm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIgMykn
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAg
ICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFs
dWUgdGVzdDogJycgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnNycg
CitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndGVzdCcgCitQQVNTIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5pdGlhbCcgCitQQVNTIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5oZXJpdCcgCitQQVNTIEludmFsaWQgZWZmZWN0
IGVhc2luZyB2YWx1ZSB0ZXN0OiAndW5zZXQnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcg
dmFsdWUgdGVzdDogJ3VucmVjb2duaXplZCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2
YWx1ZSB0ZXN0OiAndmFyKC0teCknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUg
dGVzdDogJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSknIAorUEFTUyBJbnZhbGlk
IGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigwLCAwLCAxLjEsIDEpJyAK
K1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoLTAu
MSwgMCwgMSwgMSknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1
YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2
YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKDAuMSwgMCwgNCwgMC40KScgCitQQVNTIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTEsIHN0YXJ0KScgCitQQVNTIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoMC4xLCBzdGFydCknIAorUEFTUyBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDMsIG5vd2hlcmUpJyAKK1BB
U1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygtMywgZW5kKScgCitQ
QVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24gKGEpe3JldHVy
biBhfScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24g
KHgpe3JldHVybiB4fScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAn
ZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcg
dmFsdWUgdGVzdDogJ2ZyYW1lcygxKScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1
ZSB0ZXN0OiAnZnJhbWVzJyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6
ICdmcmFtZXMoKScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJh
bWVzKCwpJyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMo
YSknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyLjAp
JyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMi41KScg
CitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIgMyknIAog
UEFTUyBDYW5vbmljYWwgZWFzaW5nICdlYXNlJyBpcyByZXR1cm5lZCBhcyBzZXQgCiBQQVNTIENh
bm9uaWNhbCBlYXNpbmcgJ2xpbmVhcicgaXMgcmV0dXJuZWQgYXMgc2V0IAogUEFTUyBDYW5vbmlj
YWwgZWFzaW5nICdlYXNlLWluJyBpcyByZXR1cm5lZCBhcyBzZXQgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQKaW5k
ZXggNTI0YjA4MDg2NzQ4NWYzZjllY2FmMjdhNTkzMGU2MGE4NTk0MDFjZS4uMTRlMjJjM2I4MTU4
ZDc5MTY2ZWNlY2YzZmQzODk1ODMwZDQ0N2MxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3NpdGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAotRkFJTCBEZWZhdWx0IHZhbHVlIGFzc2VydF9lcXVhbHM6IFRoZSBkZWZhdWx0IHZh
bHVlIHNob3VsZCBiZSByZXBsYWNlIGV4cGVjdGVkIChzdHJpbmcpICJyZXBsYWNlIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBEZWZhdWx0IHZhbHVlIAogUEFTUyBDaGFuZ2Ug
Y29tcG9zaXRlIHZhbHVlIAotRkFJTCBVbnNwZWNpZmllZCBrZXlmcmFtZSBjb21wb3NpdGUgdmFs
dWUgd2hlbiBzZXR0aW5nIGVmZmVjdCBjb21wb3NpdGUgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBTcGVjaWZpZWQga2V5
ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGluZyBlZmZlY3QgY29tcG9zaXRlIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
K1BBU1MgVW5zcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGluZyBl
ZmZlY3QgY29tcG9zaXRlIAorUEFTUyBTcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVl
IHdoZW4gc2V0dGluZyBlZmZlY3QgY29tcG9zaXRlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nl
c3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vz
c2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGMwYmI3NzI0
ZjFmZmQ1ZWUyMzhiZTcyYmI5MzE4MmYyODkxZmZlMDAuLjA5YjkzZTVmMDhkYzA0ODlkNDFmZDJj
MjU2NDI4ZWM3ZjAwNDUzOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1l
cy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0zMywxNSArMzMsMTUgQEAgUEFTUyBu
b24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAndHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uJyBpcyBub3Qg
YWNjZXNzZWQgd2hlbiB1c2kKIFBBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2Rpc3BsYXkn
IGlzIG5vdCBhY2Nlc3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCiBQQVNTIG5v
bi1hbmltYXRhYmxlIHByb3BlcnR5ICd1bnN1cHBvcnRlZFByb3BlcnR5JyBpcyBub3QgYWNjZXNz
ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAogUEFTUyBub24tYW5pbWF0YWJsZSBw
cm9wZXJ0eSAnZm9udC1zaXplJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1l
IHNlcXVlbmNlIAotRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNl
ZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggb25lIHZhbHVlIG5ldyBLZXlmcmFtZUVm
ZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywg
J25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQg
a2V5ZnJhbWVzOiB0d28gcHJvcGVydGllcyB3aXRoIHRocmVlIHZhbHVlcyBuZXcgS2V5ZnJhbWVF
ZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMoKScs
ICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQgc2VxdWVuY2Vk
IGtleWZyYW1lczogdHdvIHByb3BlcnRpZXMgd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1
ZXMgbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSku
Z2V0S2V5ZnJhbWVzKCknLCAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4
ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHNhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYWxsIGtl
eWZyYW1lcyBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFt
ZXNBKS5nZXRLZXlmcmFtZXMoKScsICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVz
QSkuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVxdWl2YWxlbnQgcHJvcGVydHkt
aW5kZXhlZCBhbmQgc2VxdWVuY2VkIGtleWZyYW1lczogc2FtZSBjb21wb3NpdGUgYXBwbGllZCB0
byBhbGwga2V5ZnJhbWVzIG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGws
IGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywgJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBr
ZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGFy
ZSByZWFkIGZyb20gYSBjdXN0b20gaXRlcmF0b3IgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCAnZWFzaW5nJyBhbmQgJ29mZnNldCcgYXJlIGlnbm9y
ZWQgb24gaXRlcmFibGUgb2JqZWN0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9tIGl0ZXJh
dG9yIHdpdGggbXVsdGlwbGUgcHJvcGVydGllcyBzcGVjaWZpZWQgZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJv
bSBhIGN1c3RvbSBpdGVyYXRvciB3aXRoIHdoZXJlIGFuIG9mZnNldCBpcyBzcGVjaWZpZWQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFTUyBFcXVpdmFs
ZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0
aWVzIHdpdGggb25lIHZhbHVlIAorUEFTUyBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5k
IHNlcXVlbmNlZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggdGhyZWUgdmFsdWVzIAor
UEFTUyBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6
IHR3byBwcm9wZXJ0aWVzIHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIAorUEFTUyBF
cXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHNhbWUg
ZWFzaW5nIGFwcGxpZWQgdG8gYWxsIGtleWZyYW1lcyAKK1BBU1MgRXF1aXZhbGVudCBwcm9wZXJ0
eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiBzYW1lIGNvbXBvc2l0ZSBhcHBsaWVk
IHRvIGFsbCBrZXlmcmFtZXMgCitGQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9t
IGl0ZXJhdG9yIGFzc2VydF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMyBidXQg
Z290IDAKK0ZBSUwgJ2Vhc2luZycgYW5kICdvZmZzZXQnIGFyZSBpZ25vcmVkIG9uIGl0ZXJhYmxl
IG9iamVjdHMgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAzIGJ1dCBn
b3QgMAorRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciB3aXRo
IG11bHRpcGxlIHByb3BlcnRpZXMgc3BlY2lmaWVkIGFzc2VydF9lcXVhbHM6IG51bWJlciBvZiBm
cmFtZXMgZXhwZWN0ZWQgMyBidXQgZ290IDAKK0ZBSUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20g
YSBjdXN0b20gaXRlcmF0b3Igd2l0aCB3aGVyZSBhbiBvZmZzZXQgaXMgc3BlY2lmaWVkIGFzc2Vy
dF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMyBidXQgZ290IDAKIEZBSUwgUmVh
ZGluZyBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhIG5vbi1vYmplY3Qga2V5
ZnJhbWUgc2hvdWxkIHRocm93IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7CiAgICAg
bmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGNyZWF0ZUl0ZXJhYmxlKFsKICAgICAgIHsgZG9uZTog
ZmFsc2UsIHZhbHVlOiB7IGxlZnQ6ICcxMDBweCcgfSB9LApAQCAtNTAsMTAgKzUwLDEwIEBAIEZB
SUwgUmVhZGluZyBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhIG5vbi1vYmpl
Y3Qga2V5ZnJhbWUgc2hvdWxkIHRoCiAgICAgICB7IGRvbmU6IHRydWUgfSwKICAgICBdKSk7CiAg
IH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgQSBsaXN0IG9mIHZhbHVlcyByZXR1cm5lZCBmcm9tIGEg
Y3VzdG9tIGl0ZXJhdG9yIHNob3VsZCBiZSBpZ25vcmVkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMg
b24ga2V5ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24ga2V5
ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24gcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBPbmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEEgbGlzdCBvZiB2YWx1ZXMgcmV0dXJuZWQgZnJv
bSBhIGN1c3RvbSBpdGVyYXRvciBzaG91bGQgYmUgaWdub3JlZCBhc3NlcnRfZXF1YWxzOiBudW1i
ZXIgb2YgZnJhbWVzIGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIE9ubHkgZW51bWVyYWJsZSBw
cm9wZXJ0aWVzIG9uIGtleWZyYW1lcyBhcmUgcmVhZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2Yg
ZnJhbWVzIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIE9ubHkgcHJvcGVydGllcyBkZWZpbmVk
IGRpcmVjdGx5IG9uIGtleWZyYW1lcyBhcmUgcmVhZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2Yg
ZnJhbWVzIGV4cGVjdGVkIDIgYnV0IGdvdCAwCitGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0
aWVzIG9uIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFyZSByZWFkIGFzc2VydF9lcXVhbHM6
IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgT25seSBwcm9wZXJ0
aWVzIGRlZmluZWQgZGlyZWN0bHkgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJl
YWQgYXNzZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAyIGJ1dCBnb3QgMAog
RkFJTCBQcm9wZXJ0aWVzIGFyZSByZWFkIGluIGFzY2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNv
ZGVwb2ludCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSBhY2Nlc3Mgb3JkZXIgcHJvcGVy
dHkgMCwgZXhwZWN0ZWQgImNvbXBvc2l0ZSIgYnV0IGdvdCAibWFyZ2luTGVmdCIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlm
cmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZy
YW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4
dAppbmRleCBjNWNiODAxN2MzZWM2NmEyMGIyYWY2ODM1ZmY0MmM1OTFkMjExNzU5Li44MTkxODkz
NmI1MTdhOTkwZjVjMzlkNjYwZjNiMDA4YjQ2ZGM1YzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nl
c3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3By
b2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dApAQCAtMSwxNCAr
MSw4IEBACiAKLUZBSUwgZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHNl
dCBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29y
cmVjdGx5IHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3Qu
Z2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEludmFsaWQgZWFzaW5nIHZhbHVlcyBh
cmUgY29ycmVjdGx5IHJlamVjdGVkIHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZSBhc3NlcnRfdGhyb3dzOiBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJycgZnVu
Y3Rpb24gIigpID0+IHsKLSAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIHsgZWFzaW5n
OiBpbnZhbGlkRWFzaW5nIH0pOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBl
YXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1l
IHNlcXVlbmNlIGFzc2VydF90aHJvd3M6IFR5cGVFcnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAn
JyBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgW3sg
ZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH1dKTsKLSAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIGVh
c2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lIAorUEFTUyBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5
IHdoZW4gdXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1MgSW52YWxpZCBlYXNpbmcgdmFs
dWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lIAorUEFTUyBJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJlY3RseSByZWpl
Y3RlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCiBGQUlMIEVycm9ycyBmcm9tIGlu
dmFsaWQgZWFzaW5ncyBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXJlIHRocm93biBh
ZnRlciByZWFkaW5nIGFsbCBwcm9wZXJ0aWVzIGFzc2VydF9lcXVhbHM6IEFsbCBwcm9wZXJ0aWVz
IHdlcmUgcmVhZCBiZWZvcmUgdGhyb3dpbmcgdGhlIGVhc2luZyBlcnJvciBleHBlY3RlZCAyIGJ1
dCBnb3QgMQotRkFJTCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVhc2luZ3Mgb24gYSBrZXlmcmFtZSBz
ZXF1ZW5jZSBhcmUgdGhyb3duIGFmdGVyIHJlYWRpbmcgYWxsIHByb3BlcnRpZXMgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBb
IGtmMSwga2YyIF0pOwotICB9IiBkaWQgbm90IHRocm93CitQQVNTIEVycm9ycyBmcm9tIGludmFs
aWQgZWFzaW5ncyBvbiBhIGtleWZyYW1lIHNlcXVlbmNlIGFyZSB0aHJvd24gYWZ0ZXIgcmVhZGlu
ZyBhbGwgcHJvcGVydGllcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9L
ZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IDFkMDgxYWM3ZGQ4
ZGFjZDg4MDc1OGMwNjYxYjE5YzZkN2Q4Mzg0ZGEuLjIzNmZjZDhiMGU2YTIxYjY4MWMyYmU4Yjlh
NmRiZDIwOTllMzYxNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNTMgKzEsNDkgQEAK
IAotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUg
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdv
IHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVu
dHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVm
ZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZy
YW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4g
aW52YWxpZCB2YWx1ZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0
d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5l
ZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlh
YmxlIHJlZmVyZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2Ug
aW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
cHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJh
eSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZh
bGlkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBzZWNvbmQg
dmFsdWUgaXMgaW52YWxpZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgdHdvIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3Qu
Z2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVm
ZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZy
YW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQg
b25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFTUyBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgCitQQVNTIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVz
IG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxt
YXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9t
LG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBv
bmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29t
cHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixt
YXJnaW5Ub3Asb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90
dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK1BBU1MgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyAKK1BBU1MgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgCitQQVNTIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFs
dWVzIAorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNl
IGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAnbGVmdCcgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBl
eHBlY3RlZCAidmFyKC0tZGlzdCkiIGJ1dCBnb3QgImF1dG8iCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkg
YXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVk
ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRP
ZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRv
cCxvZmZzZXQiCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAK
K1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBu
b24tYXJyYXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAK
K1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBm
aXJzdCB2YWx1ZSBpcyBpbnZhbGlkIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIAorUEFTUyBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIGtleWZyYW1lIHNl
cXVlbmNlIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVy
dHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIAorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlm
cmFtZSBzZXF1ZW5jZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJh
bWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQg
Z290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2lu
UmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQg
bG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgYXNzZXJ0X2VxdWFsczogcHJvcGVydGll
cyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcs
bWFyZ2luLG1hcmdpblRvcCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxt
YXJnaW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgogRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IFR5cGUgZXJyb3IK
IEZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgVHlwZSBlcnJvcgogRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlm
cmFtZSBzZXF1ZW5jZSBUeXBlIGVycm9yCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVs
bCBvZmZzZXQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25l
IHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBzb21lIG51bGwgb2Zmc2V0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBw
cm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmds
ZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IAorUEFTUyBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxs
IG9mZnNldCAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29t
ZSBvbWl0dGVkIG9mZnNldHMgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh
IG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIAor
UEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyAKK1BBU1MgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGgg
YWxsIG9taXR0ZWQgb2Zmc2V0cyAKIEZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZhbHVlcywgYnV0IHRo
ZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgVHlwZSBlcnJvcgogRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRp
ZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZv
ciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0
byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZl
cmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFu
ZCBwcmVjZWRlcyBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRo
YW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
Z3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBlZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUg
cHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBlZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUg
cHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5l
ZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIAorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5j
ZSBhc3NlcnRfZXF1YWxzOiB2YWx1ZSBmb3IgJ2xlZnQnIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAg
ZXhwZWN0ZWQgInZhcigtLWRpc3QpIiBidXQgZ290ICJhdXRvIgorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxl
IHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0
aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2lu
ZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90
dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRo
YW5kIHByZWNlZGVzIGxvbmdoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0
ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJn
aW5SaWdodCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0
b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFu
ZCBwcmVjZWRlcyBzaG9ydGhhbmQgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRl
ZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG1hcmdp
blJpZ2h0LG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRv
bSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBz
aG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgYXNzZXJ0X2VxdWFsczogcHJvcGVy
dGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJib3JkZXIsYm9yZGVyTGVmdCxj
b21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJib3JkZXJCb3R0b21Db2xvcixi
b3JkZXJCb3R0b21TdHlsZSxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJJbWFnZU91dHNldCxib3Jk
ZXJJbWFnZVJlcGVhdCxib3JkZXJJbWFnZVNsaWNlLGJvcmRlckltYWdlU291cmNlLGJvcmRlcklt
YWdlV2lkdGgsYm9yZGVyTGVmdENvbG9yLGJvcmRlckxlZnRTdHlsZSxib3JkZXJMZWZ0V2lkdGgs
Ym9yZGVyUmlnaHRDb2xvcixib3JkZXJSaWdodFN0eWxlLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVy
VG9wQ29sb3IsYm9yZGVyVG9wU3R5bGUsYm9yZGVyVG9wV2lkdGgsY29tcHV0ZWRPZmZzZXQsZWFz
aW5nLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0
aGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhw
ZWN0ZWQgImJvcmRlcixib3JkZXJMZWZ0LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1
dCBnb3QgImJvcmRlckJvdHRvbUNvbG9yLGJvcmRlckJvdHRvbVN0eWxlLGJvcmRlckJvdHRvbVdp
ZHRoLGJvcmRlckltYWdlT3V0c2V0LGJvcmRlckltYWdlUmVwZWF0LGJvcmRlckltYWdlU2xpY2Us
Ym9yZGVySW1hZ2VTb3VyY2UsYm9yZGVySW1hZ2VXaWR0aCxib3JkZXJMZWZ0Q29sb3IsYm9yZGVy
TGVmdFN0eWxlLGJvcmRlckxlZnRXaWR0aCxib3JkZXJSaWdodENvbG9yLGJvcmRlclJpZ2h0U3R5
bGUsYm9yZGVyUmlnaHRXaWR0aCxib3JkZXJUb3BDb2xvcixib3JkZXJUb3BTdHlsZSxib3JkZXJU
b3BXaWR0aCxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgorUEFTUyBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
b25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgCitQQVNTIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1l
IAogRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdz
IFR5cGUgZXJyb3IKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgg
a2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9mLWJvdW5kZWQgcG9zaXRpdmUgb2Zmc2V0IAogUEFTUyBL
ZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBv
dXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBvZmZzZXQgCiBQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0
cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0
IAotRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgS2V5ZnJhbWVFZmZlY3Qg
Y29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFs
aWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0g
ICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOwotICAgIH0iIGRpZCBub3Qg
dGhyb3cKK1BBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKK1BBU1Mg
S2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25z
dHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNvbXBvc2l0ZSB2
YWx1ZSAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332040</attachid>
            <date>2018-01-23 11:03:34 -0800</date>
            <delta_ts>2018-01-23 11:05:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181978-20180123200332.patch</filename>
            <type>text/plain</type>
            <size>37031</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Y1YjI0Y2ZmMDY4NjNh
ZWJiZGU0ZDJkZTBmNDAwYTE5N2U2YjYzOC4uZTBjNzVkMTYyYTZhZDcxYzYxYWZjOGFkMTA1YTlk
MDJhMmRhNGNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE4LTAxLTIzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFeHBvc2UgZ2V0S2V5ZnJhbWVzKCkgYW5kIHBhcnNpbmcgb2YgcmVtYWluaW5nIGtleWZyYW1l
IHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MTk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY3NzI1ODY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFdlIGZpbmlzaCBvdXIgaW1wbGVt
ZW50YXRpb24gb2YgbXVsdGlwbGUga2V5ZnJhbWVzIGJ5IGV4cG9zaW5nIHRoZSBnZXRLZXlmcmFt
ZXMoKSBtZXRob2Qgb24gS2V5ZnJhbWVFZmZlY3QgYW5kCisgICAgICAgIHBhcnNpbmcgdGhlIHJl
bWFpbmluZyBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGV4cG9zZWQgb24ga2V5ZnJhbWVzOiAiZWFz
aW5nIiBhbmQgImNvbXBvc2l0ZSIuIEFuZCBzaW5jZSB3ZSBwYXJzZQorICAgICAgICB0aG9zZSBw
cm9wZXJ0aWVzIG9uIGtleWZyYW1lcywgd2UgYWxzbyBwYXJzZSAiZWFzaW5nIiBvbiBBbmltYXRp
b25FZmZlY3RUaW1pbmcgYW5kICJjb21wb3NpdGUiIGFuZCAiaXRlcmF0aW9uQ29tcG9zaXRlIgor
ICAgICAgICBvbiBLZXlmcmFtZUVmZmVjdC4gCisKKyAgICAgICAgVG8gc3VwcG9ydCB0aGlzLCB3
ZSBpbXBsZW1lbnQgYSBuZXcgVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KCkgbWV0
aG9kIHdoaWNoIHRha2VzIGluIGEgc3RyaW5nIHRoYXQgaXMKKyAgICAgICAgYSB2YWx1ZSBwcm92
aWRlZCBkaXJlY3RseSB2aWEgdGhlIEpTIEFQSS4gQXMgaXRzIGNvbnZlcnNlLCB3ZSBleHBvc2Ug
YSBUaW1pbmdGdW5jdGlvbjo6Y3NzVGV4dCgpIG1ldGhvZCB3aGljaAorICAgICAgICBwcm92aWRl
cyBhIHN0cmluZyB0aGF0IGNhbiBiZSBzZW50IGJhY2sgdG8gSlMgdG8gcmVwcmVzZW50IGEgdGlt
aW5nIGZ1bmN0aW9uLCB1c2luZyBrZXl3b3JkcyB3aGVuIHRoZSB0aW1pbmcKKyAgICAgICAgZnVu
Y3Rpb24gbWF0Y2hlcyBvbmUgYW5kIG9tbWl0dGluZyBkZWZhdWx0IHZhbHVlcy4KKworICAgICAg
ICBXZSBub3cgYWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBvcmlnaW5hbCAib2Zmc2V0IiB2YWx1ZSBw
cm92aWRlZCB0aHJvdWdoIHRoZSBKUyBBUEkgc2luY2UgdGhhdCB2YWx1ZSBpcyByZXF1aXJlZAor
ICAgICAgICB3aGVuIGNhbGxpbmcgZ2V0S2V5ZnJhbWVzKCkgYW5kIGRpc3RpbmN0IGZyb20gdGhl
ICJjb21wdXRlZE9mZnNldCIuIFRoZXNlIG9yaWdpbmFsIG9mZnNldHMsIGNvbXBvc2l0ZSBvcGVy
YXRpb25zCisgICAgICAgIGFuZCB0aW1pbmcgZnVuY3Rpb25zIGFyZSBrZXB0IGFzIHNlcGFyYXRl
IFZlY3RvcnMgZnJvbSB0aGUgS2V5ZnJhbWVMaXN0IHNpbmNlIHRoaXMgdHlwZSBkb2VzIG5vdCBz
dXBwb3J0IGV4cG9zaW5nCisgICAgICAgIHRob3NlLiBXZSBtYXkgY29uc2lkZXIgaW1wcm92aW5n
IHRoYXQgaW4gYSBmdXR1cmUgcGF0Y2guCisKKyAgICAgICAgRmluYWxseSwgd2UgbWFrZSBzb21l
IGFkanVzdG1lbnRzIGluIHRoZSBrZXlmcmFtZSBwYXJzaW5nIHRvIGNvbXBseSB3aXRoIHRoZSBz
cGVjaWZpY2F0aW9uIGFuZCBjb3JyZWN0bHkgcGFyc2UKKyAgICAgICAgYWxsIHByb3ZpZGVkIHRp
bWluZyBmdW5jdGlvbnMsIHJlZ2FyZGxlc3Mgb2YgdGhlIG51bWJlciBvZiBrZXlmcmFtZXMgYW5k
IHRpbWluZyBmdW5jdGlvbnMgcHJvdmlkZWQuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgcGF0
Y2ggaXMgb25seSBhYm91dCBwYXJzaW5nLCBzdG9yaW5nIGFuZCByZXR1cm5pbmcgcHJvdmlkZWQg
ZWFzaW5nIGFuZCBjb21wb3NpdGUgb3BlcmF0aW9ucyBidXQKKyAgICAgICAgdGhhdCBzdWNoIHZh
bHVlcyB3aWxsIG9ubHkgYmUgdXNlZCBmb3IgdGhlIHJlc29sdXRpb24gb2YgYW5pbWF0aW9uIGVm
ZmVjdHMgaW4gZnV0dXJlIHBhdGNoZXMuCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9u
RWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6Z2V0Q29tcHV0
ZWRUaW1pbmcpOiBTZXQgdGhlICJlYXNpbmciIHByb3BlcnR5IG9uIHRoZSBnZXRDb21wdXRlZFRp
bWluZygpIHJldHVybiB2YWx1ZQorICAgICAgICBub3cgdGhhdCB3ZSBleHBvc2UgImVhc2luZyIg
b24gQW5pbWF0aW9uRWZmZWN0VGltaW5nLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25F
ZmZlY3RUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uRWZmZWN0VGltaW5n
OjpBbmltYXRpb25FZmZlY3RUaW1pbmcpOiBDcmVhdGUgYSBsaW5lYXIgVGltaW5nRnVuY3Rpb24g
YnkgZGVmYXVsdC4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdFRpbWluZzo6c2V0
RWFzaW5nKTogUGFyc2UgdGhlICJlYXNpbmciIHZhbHVlIGFuZCBwcm9wYWdhdGUgYW4gZXhjZXB0
aW9uIGZvciBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0VGltaW5nLmg6IEV4cG9zZSB0aGUgbmV3ICJlYXNpbmciIHByb3BlcnR5IGFuZCBiYWNraW5n
IFRpbWluZ0Z1bmN0aW9uLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1p
bmcuaWRsOiBFeHBvc2UgdGhlIG5ldyAiZWFzaW5nIiBwcm9wZXJ0eS4KKyAgICAgICAgKiBhbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlJ
RFRvSURMQXR0cmlidXRlTmFtZSk6IFByb3ZpZGUgYSB3YXkgdG8gY29udmVydCB0aGUgbmFtZSBv
ZiBhIENTUyBwcm9wZXJ0eSB0byBhIHN0cmluZyB0aGF0IGNhbgorICAgICAgICBiZSB1c2VkIHRv
IGdlbmVyYXRlIGEgSlMgcHJvcGVydHkgbmFtZSBmb3IgdXNlIGJ5IGdldEtleWZyYW1lcygpLgor
ICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZU1pc3NpbmdLZXlmcmFtZU9mZnNldHMpOiBJbXBsZW1l
bnQgdGhlIGZ1bGwgc3RlcHMgb2YgdGhlIHNwZWMuCisgICAgICAgIChXZWJDb3JlOjpwcm9jZXNz
SXRlcmFibGVLZXlmcmFtZXMpOiBGaXggYSBwcm9ibGVtYXRpYyBkZWNsYXJhdGlvbiBmb3IgdGhl
IGVhc2luZyB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OnByb2Nlc3NQcm9wZXJ0eUluZGV4
ZWRLZXlmcmFtZXMpOiBOb3cgdGhhdCBQcm9jZXNzZWRLZXlmcmFtZSBoYXMgYm90aCBhbiBvZmZz
ZXQgYW5kIGEgY29tcHV0ZWRPZmZzZXQsIHVzZQorICAgICAgICBjb21wdXRlZCBvZmZzZXRzLiBX
ZSBhbHNvIGZpeCBhIGNvdXBsZSBvZiBsb29wcyB0byBmaXggY29tcGxpYW5jZSBpc3N1ZXMgcmV2
ZWFsZWQgYnkgV1BUIHRlc3RzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmNy
ZWF0ZSk6IFBhcnNlIHRoZSBwcm92aWRlZCAiZWFzaW5nIiBwcm9wZXJ0eSBvbiB0aGUgS2V5ZnJh
bWVFZmZlY3RPcHRpb25zIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0
OjpnZXRLZXlmcmFtZXMpOiBJbXBsZW1lbnQgdGhlIGdldEtleWZyYW1lcygpIG1ldGhvZCBhcyBt
YW5kYXRlZCBieSB0aGUgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpw
cm9jZXNzS2V5ZnJhbWVzKTogS2VlcCBhIGxpc3Qgb2YgdW51c2VkIGVhc2luZ3Mgc28gdGhlc2Ug
bWlnaHQgYmUgcGFyc2VkIGFzIHdlbGwsIGFuZAorICAgICAgICBwb3RlbnRpYWxseSB0aHJvdyBl
eGNlcHRpb25zLCBhcyBtYW5kYXRlZCBieSB0aGUgc3BlYy4gRm9yIHZhbGlkIGVhc2luZ3MsIHN0
b3JlIHRoZWlyIG1hdGNoaW5nIFRpbWluZ0Z1bmN0aW9uIGluCisgICAgICAgIG1fdGltaW5nRnVu
Y3Rpb25zLCBvcmlnaW5hbCBvZmZzZXQgdmFsdWVzIGluIG1fb2Zmc2V0cyBhbmQgQ29tcG9zaXRl
T3BlcmF0aW9uIHZhbHVlcyBpbiBtX2NvbXBvc2l0ZU9wZXJhdGlvbnMuCisgICAgICAgICogYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0Lmg6IFN3aXRjaCB0aGUgb3JkZXIgaW4gd2hpY2ggd2Ugc3Bl
Y2lmeSBzb21lIG9mIHRoZSBWYXJpYW50IHR5cGVzIHNvIHRoYXQgZGVmYXVsdCB2YWx1ZXMKKyAg
ICAgICAgYXJlIGNvcnJlY3RseSB1c2VkLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5pZGw6IFN3aXRjaCB0aGUgb3JkZXIgaW4gd2hpY2ggd2Ugc3BlY2lmeSBzb21lIG9mIHRo
ZSBWYXJpYW50IHR5cGVzIHNvIHRoYXQgZGVmYXVsdCB2YWx1ZXMKKyAgICAgICAgYXJlIGNvcnJl
Y3RseSB1c2VkLgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OmNzc1RleHQgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oOgorCiAyMDE4LTAxLTIz
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjI3Mjc5IGFuZCByMjI3MzczLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAppbmRleCA3ZTU5MWZiOWQ5ZmFjMGYxNjdk
MGIwNTkzMmJmMGY0YzM0OGNiOWMwLi45YWYxN2E4MWQ1MjNiYjBlZTM1OTgwYjFiNDZiZDFiZWQx
MjkyYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNw
cApAQCAtNTcsNiArNTcsNyBAQCBDb21wdXRlZFRpbWluZ1Byb3BlcnRpZXMgQW5pbWF0aW9uRWZm
ZWN0OjpnZXRDb21wdXRlZFRpbWluZygpCiAgICAgY29tcHV0ZWRUaW1pbmcuaXRlcmF0aW9ucyA9
IG1fdGltaW5nLT5pdGVyYXRpb25zKCk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZHVyYXRpb24gPSBz
ZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+aXRlcmF0aW9uRHVyYXRpb24o
KSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZGlyZWN0aW9uID0gbV90aW1pbmctPmRpcmVjdGlvbigp
OworICAgIGNvbXB1dGVkVGltaW5nLmVhc2luZyA9IG1fdGltaW5nLT5lYXNpbmcoKTsKICAgICBj
b21wdXRlZFRpbWluZy5lbmRUaW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0aW9uc0FQSVRpbWUobV90
aW1pbmctPmVuZFRpbWUoKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuYWN0aXZlRHVyYXRpb24gPSBz
ZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+YWN0aXZlRHVyYXRpb24oKSk7
CiAgICAgaWYgKGF1dG8gZWZmZWN0TG9jYWxUaW1lID0gbG9jYWxUaW1lKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCmluZGV4IGRh
YzVmM2NkMjQyYmFlNWZjZWFkNGZhMDM3ZDM4Mjg0ZGNkZDdjYTMuLjU5YjQzZWM4OTE3MGQ0ZTc3
M2ZiZTg3Y2M3YjFiNGRhM2MzMDQxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCkBAIC0zNCw2ICszNCw3IEBAIFJlZjxBbmlt
YXRpb25FZmZlY3RUaW1pbmc+IEFuaW1hdGlvbkVmZmVjdFRpbWluZzo6Y3JlYXRlKCkKIH0KIAog
QW5pbWF0aW9uRWZmZWN0VGltaW5nOjpBbmltYXRpb25FZmZlY3RUaW1pbmcoKQorICAgIDogbV90
aW1pbmdGdW5jdGlvbihMaW5lYXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKCkpCiB7CiB9CiAKQEAg
LTEyMCw0ICsxMjEsMTMgQEAgU2Vjb25kcyBBbmltYXRpb25FZmZlY3RUaW1pbmc6OmFjdGl2ZUR1
cmF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9pdGVyYXRpb25EdXJhdGlvbiAqIG1faXRlcmF0
aW9uczsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gQW5pbWF0aW9uRWZmZWN0VGltaW5nOjpzZXRF
YXNpbmcoY29uc3QgU3RyaW5nJiBlYXNpbmcpCit7CisgICAgYXV0byB0aW1pbmdGdW5jdGlvblJl
c3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChlYXNpbmcpOworICAgIGlm
ICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIHRp
bWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICBtX3RpbWluZ0Z1bmN0
aW9uID0gdGltaW5nRnVuY3Rpb25SZXN1bHQucmV0dXJuVmFsdWUoKTsKKyAgICByZXR1cm4geyB9
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmgKaW5kZXggYjhkYmJjZmNhMGIzN2VjMzY4NmM4
MTQ0NzMxOTk4ZTYzYjBhYmY0Ni4uYjlmODk5MjY3OTYyYjA5MzMzNmNkMGU0YWI2ZDk5NDU5YmI4
MzljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RU
aW1pbmcuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5j
bHVkZSAiRmlsbE1vZGUuaCIKICNpbmNsdWRlICJQbGF5YmFja0RpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlRpbWluZ0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CkBAIC03MCw2
ICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9kaXJlY3Rpb247IH0KICAgICB2b2lkIHNldERpcmVjdGlvbihQbGF5YmFj
a0RpcmVjdGlvbiBkaXJlY3Rpb24pIHsgbV9kaXJlY3Rpb24gPSBkaXJlY3Rpb247IH0KIAorICAg
IFN0cmluZyBlYXNpbmcoKSBjb25zdCB7IHJldHVybiBtX3RpbWluZ0Z1bmN0aW9uLT5jc3NUZXh0
KCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRFYXNpbmcoY29uc3QgU3RyaW5nJik7Cisg
ICAgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90aW1p
bmdGdW5jdGlvbi5nZXQoKTsgfQorCiAgICAgU2Vjb25kcyBlbmRUaW1lKCkgY29uc3Q7CiAgICAg
U2Vjb25kcyBhY3RpdmVEdXJhdGlvbigpIGNvbnN0OwogCkBAIC04Miw2ICs4Nyw3IEBAIHByaXZh
dGU6CiAgICAgZG91YmxlIG1faXRlcmF0aW9ucyB7IDEgfTsKICAgICBTZWNvbmRzIG1faXRlcmF0
aW9uRHVyYXRpb24geyAwX3MgfTsKICAgICBQbGF5YmFja0RpcmVjdGlvbiBtX2RpcmVjdGlvbiB7
IFBsYXliYWNrRGlyZWN0aW9uOjpOb3JtYWwgfTsKKyAgICBSZWZQdHI8VGltaW5nRnVuY3Rpb24+
IG1fdGltaW5nRnVuY3Rpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCmluZGV4
IDAzODA4MmU0MzAzODM2M2RlYTFkNDJiMzhiZmRiN2EzZmJmZTBmYTUuLjQ3MzZmM2JlM2Y3NTYw
ODVhYWJhMzVkNGM0Nzg1MmMzNGQ5YWU4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCkBAIC0zNCw0ICszNCw1IEBACiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBpdGVyYXRp
b25zOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1iaW5kaW5nc0R1cmF0
aW9uXSBhdHRyaWJ1dGUgKHVucmVzdHJpY3RlZCBkb3VibGUgb3IgRE9NU3RyaW5nKSBkdXJhdGlv
bjsKICAgICBhdHRyaWJ1dGUgUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBlYXNpbmc7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggYTM4ZGQ3NTRhMjYxMzAw
NTk1MzY2Y2ZjYjhmNGExMTI3NmNmZmM1Yi4uOWFlODllOTdlMjY1ZTNhMzFhMmIyOThjZTFhZmQ0
NTA3NWQwNWFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
Y3BwCkBAIC0yNywxMiArMjcsMTggQEAKICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdC5oIgogCiAj
aW5jbHVkZSAiQW5pbWF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlBbmltYXRpb24uaCIKKyNpbmNsdWRlICJDU1NQ
cm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1
ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5j
bHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb24uaCIKKyNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMu
aCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCisjaW5jbHVkZSAiVGltaW5nRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJXaWxsQ2hhbmdlRGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9VVUlELmg+CiAK
QEAgLTUyLDYgKzU4LDE5IEBAIHN0YXRpYyBpbmxpbmUgQ1NTUHJvcGVydHlJRCBJRExBdHRyaWJ1
dGVOYW1lVG9BbmltYXRpb25Qcm9wZXJ0eU5hbWUoU3RyaW5nIGlkbEF0CiAgICAgcmV0dXJuIENT
U1N0eWxlRGVjbGFyYXRpb246OmdldENTU1Byb3BlcnR5SURGcm9tSmF2YVNjcmlwdFByb3BlcnR5
TmFtZShpZGxBdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3RhdGljIGlubGluZSBTdHJpbmcgQ1NTUHJv
cGVydHlJRFRvSURMQXR0cmlidXRlTmFtZShDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SWQpCit7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3dlYi1hbmltYXRpb25zLTEvI2FuaW1h
dGlvbi1wcm9wZXJ0eS1uYW1lLXRvLWlkbC1hdHRyaWJ1dGUtbmFtZQorICAgIC8vIDEuIElmIHBy
b3BlcnR5IGZvbGxvd3MgdGhlIDxjdXN0b20tcHJvcGVydHktbmFtZT4gcHJvZHVjdGlvbiwgcmV0
dXJuIHByb3BlcnR5LgorICAgIC8vIDIuIElmIHByb3BlcnR5IHJlZmVycyB0byB0aGUgQ1NTIGZs
b2F0IHByb3BlcnR5LCByZXR1cm4gdGhlIHN0cmluZyAiY3NzRmxvYXQiLgorICAgIGlmIChjc3NQ
cm9wZXJ0eUlkID09IENTU1Byb3BlcnR5RmxvYXQpCisgICAgICAgIHJldHVybiAiY3NzRmxvYXQi
OworICAgIC8vIDMuIElmIHByb3BlcnR5IHJlZmVycyB0byB0aGUgQ1NTIG9mZnNldCBwcm9wZXJ0
eSwgcmV0dXJuIHRoZSBzdHJpbmcgImNzc09mZnNldCIuCisgICAgLy8gRklYTUU6IHdlIGRvbid0
IHN1cHBvcnQgdGhlIENTUyAib2Zmc2V0IiBwcm9wZXJ0eQorICAgIC8vIDQuIE90aGVyd2lzZSwg
cmV0dXJuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIENTUyBwcm9wZXJ0eSB0byBJREwgYXR0
cmlidXRlIGFsZ29yaXRobSBbQ1NTT01dIHRvIHByb3BlcnR5LgorICAgIHJldHVybiBnZXRKU1By
b3BlcnR5TmFtZShjc3NQcm9wZXJ0eUlkKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGNvbXB1
dGVNaXNzaW5nS2V5ZnJhbWVPZmZzZXRzKFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2Vk
S2V5ZnJhbWU+JiBrZXlmcmFtZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L3dlYi1hbmltYXRpb25zLTEvI2NvbXB1dGUtbWlzc2luZy1rZXlmcmFtZS1vZmZzZXRzCkBAIC02
MCwxNSArNzksMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbXB1dGVNaXNzaW5nS2V5ZnJhbWVP
ZmZzZXRzKFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2UKICAgICAgICAgcmV0dXJuOwog
CiAgICAgLy8gMS4gRm9yIGVhY2gga2V5ZnJhbWUsIGluIGtleWZyYW1lcywgbGV0IHRoZSBjb21w
dXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGtleWZyYW1lIGJlIGVxdWFsIHRvIGl0cyBrZXlm
cmFtZSBvZmZzZXQgdmFsdWUuCisgICAgZm9yIChhdXRvJiBrZXlmcmFtZSA6IGtleWZyYW1lcykK
KyAgICAgICAga2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQgPSBrZXlmcmFtZS5vZmZzZXQ7CiAKICAg
ICAvLyAyLiBJZiBrZXlmcmFtZXMgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBrZXlmcmFtZSBhbmQg
dGhlIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCBvZiB0aGUgZmlyc3Qga2V5ZnJhbWUgaW4ga2V5
ZnJhbWVzIGlzIG51bGwsCiAgICAgLy8gICAgc2V0IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZz
ZXQgb2YgdGhlIGZpcnN0IGtleWZyYW1lIHRvIDAuCi0gICAgaWYgKGtleWZyYW1lcy5zaXplKCkg
PiAxICYmICFrZXlmcmFtZXNbMF0ub2Zmc2V0KQotICAgICAgICBrZXlmcmFtZXNbMF0ub2Zmc2V0
ID0gMDsKKyAgICBpZiAoa2V5ZnJhbWVzLnNpemUoKSA+IDEgJiYgIWtleWZyYW1lc1swXS5jb21w
dXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzWzBdLmNvbXB1dGVkT2Zmc2V0ID0gMDsKIAog
ICAgIC8vIDMuIElmIHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGxhc3Qga2V5
ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsIHNldCBpdHMgY29tcHV0ZWQga2V5ZnJhbWUgb2Zm
c2V0IHRvIDEuCi0gICAgaWYgKCFrZXlmcmFtZXMubGFzdCgpLm9mZnNldCkKLSAgICAgICAga2V5
ZnJhbWVzLmxhc3QoKS5vZmZzZXQgPSAxOworICAgIGlmICgha2V5ZnJhbWVzLmxhc3QoKS5jb21w
dXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5jb21wdXRlZE9mZnNldCA9IDE7
CiAKICAgICAvLyA0LiBGb3IgZWFjaCBwYWlyIG9mIGtleWZyYW1lcyBBIGFuZCBCIHdoZXJlOgog
ICAgIC8vICAgIC0gQSBhcHBlYXJzIGJlZm9yZSBCIGluIGtleWZyYW1lcywgYW5kCkBAIC04MSwx
OCArMTAyLDE4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlTWlzc2luZ0tleWZyYW1lT2Zm
c2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAgICAgLy8gICAgNC4gU2V0IHRo
ZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yga2V5ZnJhbWUgdG8gb2Zmc2V0QSArIChvZmZz
ZXRCIOKIkiBvZmZzZXRBKSDDlyBpbmRleCAvIG4uCiAgICAgc2l6ZV90IGluZGV4T2ZMYXN0S2V5
ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBr
ZXlmcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBrZXlmcmFtZSA9IGtleWZyYW1l
c1tpXTsKLSAgICAgICAgaWYgKCFrZXlmcmFtZS5vZmZzZXQpCisgICAgICAgIGF1dG8mIGtleWZy
YW1lID0ga2V5ZnJhbWVzW2ldOworICAgICAgICBpZiAoIWtleWZyYW1lLmNvbXB1dGVkT2Zmc2V0
KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChpbmRleE9mTGFzdEtleWZyYW1l
V2l0aE5vbk51bGxPZmZzZXQgPT0gaSAtIDEpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICBkb3VibGUgbGFzdE5vbk51bGxPZmZzZXQgPSBrZXlmcmFtZXNbaW5kZXhPZkxhc3RLZXlm
cmFtZVdpdGhOb25OdWxsT2Zmc2V0XS5vZmZzZXQudmFsdWUoKTsKLSAgICAgICAgZG91YmxlIG9m
ZnNldERlbHRhID0ga2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCkgLSBsYXN0Tm9uTnVsbE9mZnNldDsK
KyAgICAgICAgZG91YmxlIGxhc3ROb25OdWxsT2Zmc2V0ID0ga2V5ZnJhbWVzW2luZGV4T2ZMYXN0
S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldF0uY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKKyAgICAg
ICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQudmFsdWUoKSAt
IGxhc3ROb25OdWxsT2Zmc2V0OwogICAgICAgICBkb3VibGUgb2Zmc2V0SW5jcmVtZW50ID0gb2Zm
c2V0RGVsdGEgLyAoaSAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCk7CiAg
ICAgICAgIHNpemVfdCBpbmRleE9mRmlyc3RLZXlmcmFtZVdpdGhOdWxsT2Zmc2V0ID0gaW5kZXhP
Zkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0ICsgMTsKICAgICAgICAgZm9yIChzaXplX3Qg
aiA9IGluZGV4T2ZGaXJzdEtleWZyYW1lV2l0aE51bGxPZmZzZXQ7IGogPCBpOyArK2opCi0gICAg
ICAgICAgICBrZXlmcmFtZXNbal0ub2Zmc2V0ID0gbGFzdE5vbk51bGxPZmZzZXQgKyAoaiAtIGlu
ZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCkgKiBvZmZzZXRJbmNyZW1lbnQ7Cisg
ICAgICAgICAgICBrZXlmcmFtZXNbal0uY29tcHV0ZWRPZmZzZXQgPSBsYXN0Tm9uTnVsbE9mZnNl
dCArIChqIC0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0KSAqIG9mZnNldElu
Y3JlbWVudDsKIAogICAgICAgICBpbmRleE9mTGFzdEtleWZyYW1lV2l0aE5vbk51bGxPZmZzZXQg
PSBpOwogICAgIH0KQEAgLTExNyw3ICsxMzgsNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9y
PHZvaWQ+IHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbgog
CiAgICAgICAgIEtleWZyYW1lRWZmZWN0OjpQcm9jZXNzZWRLZXlmcmFtZSBrZXlmcmFtZU91dHB1
dDsKIAotICAgICAgICBTdHJpbmcgZWFzaW5nID0gImxpbmVhciI7CisgICAgICAgIFN0cmluZyBl
YXNpbmcoImxpbmVhciIpOwogICAgICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gb2Zmc2V0Owog
ICAgICAgICBzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlvbj4gY29tcG9zaXRlOwogCkBA
IC0yMzAsNyArMjUxLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRpb25PcjxLZXlmcmFtZUVmZmVj
dDo6S2V5ZnJhbWVMaWtlT2JqZWN0PiBwcm9jZXNzS2V5ZnJhbWVMaWsKICAgICByZXR1cm4geyBX
VEZNb3ZlKGtleWZyYW1lT3VwdXQpIH07CiB9CiAKLXN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8
dm9pZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBT
dHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzSW5wdXQsIFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6
UHJvY2Vzc2VkS2V5ZnJhbWU+JiBwcm9jZXNzZWRLZXlmcmFtZXMpCitzdGF0aWMgaW5saW5lIEV4
Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRl
JiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lucHV0LCBWZWN0b3I8S2V5ZnJh
bWVFZmZlY3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYgcHJvY2Vzc2VkS2V5ZnJhbWVzLCBWZWN0b3I8
U3RyaW5nPiYgdW51c2VkRWFzaW5ncykKIHsKICAgICAvLyAxLiBMZXQgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZSBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgdGhlIHByb2NlZHVyZSB0byBwcm9j
ZXNzIGEga2V5ZnJhbWUtbGlrZSBvYmplY3QgcGFzc2luZyBvYmplY3QgYXMgdGhlIGtleWZyYW1l
IGlucHV0LgogICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lTGlrZU9iamVjdFJlc3VsdCA9IHByb2Nl
c3NLZXlmcmFtZUxpa2VPYmplY3Qoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpKTsKQEAg
LTI2OCw3ICsyODksNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQ
cm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogCiAgICAgLy8gMy4gU29y
dCBwcm9jZXNzZWQga2V5ZnJhbWVzIGJ5IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yg
ZWFjaCBrZXlmcmFtZSBpbiBpbmNyZWFzaW5nIG9yZGVyLgogICAgIHN0ZDo6c29ydChwcm9jZXNz
ZWRLZXlmcmFtZXMuYmVnaW4oKSwgcHJvY2Vzc2VkS2V5ZnJhbWVzLmVuZCgpLCBbXShhdXRvJiBs
aHMsIGF1dG8mIHJocykgewotICAgICAgICByZXR1cm4gbGhzLm9mZnNldC52YWx1ZSgpIDwgcmhz
Lm9mZnNldC52YWx1ZSgpOworICAgICAgICByZXR1cm4gbGhzLmNvbXB1dGVkT2Zmc2V0LnZhbHVl
KCkgPCByaHMuY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKICAgICB9KTsKIAogICAgIC8vIDQuIE1l
cmdlIGFkamFjZW50IGtleWZyYW1lcyBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzIHdoZW4gdGhleSBo
YXZlIGVxdWFsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldHMuCkBAIC0yNzksNyArMzAwLDcgQEAg
c3RhdGljIGlubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNzUHJvcGVydHlJbmRleGVkS2V5
ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUKICAgICAgICAgLy8gSWYgdGhlIG9mZnNldHMgb2YgdGhp
cyBrZXlmcmFtZSBhbmQgdGhlIHByZXZpb3VzIGtleWZyYW1lIGFyZSBkaWZmZXJlbnQsCiAgICAg
ICAgIC8vIHRoaXMgbWVhbnMgdGhhdCB0aGUgdHdvIGtleWZyYW1lcyBzaG91bGQgbm90IGJlIG1l
cmdlZCBhbmQgd2UgY2FuIG1vdmUKICAgICAgICAgLy8gb24gdG8gdGhlIG5leHQga2V5ZnJhbWUu
Ci0gICAgICAgIGlmIChrZXlmcmFtZS5vZmZzZXQudmFsdWUoKSAhPSBwcmV2aW91c0tleWZyYW1l
Lm9mZnNldC52YWx1ZSgpKSB7CisgICAgICAgIGlmIChrZXlmcmFtZS5jb21wdXRlZE9mZnNldC52
YWx1ZSgpICE9IHByZXZpb3VzS2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQudmFsdWUoKSkgewogICAg
ICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTI5Niw3
ICszMTcsNiBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0
eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8vIDUuIExldCBvZmZzZXRz
IGJlIGEgc2VxdWVuY2Ugb2YgbnVsbGFibGUgZG91YmxlIHZhbHVlcyBhc3NpZ25lZCBiYXNlZCBv
biB0aGUgdHlwZSBvZiB0aGUg4oCcb2Zmc2V04oCdIG1lbWJlciBvZiB0aGUgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZSBhcyBmb2xsb3dzOgogICAgIC8vICAgIC0gc2VxdWVuY2U8ZG91YmxlPz4s
IHRoZSB2YWx1ZSBvZiDigJxvZmZzZXTigJ0gYXMtaXMuCiAgICAgLy8gICAgLSBkb3VibGU/LCBh
IHNlcXVlbmNlIG9mIGxlbmd0aCBvbmUgd2l0aCB0aGUgdmFsdWUgb2Yg4oCcb2Zmc2V04oCdIGFz
IGl0cyBzaW5nbGUgaXRlbSwgaS5lLiDCqyBvZmZzZXQgwrssCi0gICAgLy8gRklYTUU6IHVwZGF0
ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gZGVhbCB3aXRoIG51bGxhYmxlIGRvdWJs
ZXMgaGVyZS4KICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PiBvZmZzZXRzOwogICAg
IGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+
Pihwcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZS5iYXNlUHJvcGVydGllcy5vZmZzZXQpKQogICAgICAg
ICBvZmZzZXRzID0gV1RGOjpnZXQ8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4+KHByb3Bl
cnR5SW5kZXhlZEtleWZyYW1lLmJhc2VQcm9wZXJ0aWVzLm9mZnNldCk7CkBAIC0zMjYsMTYgKzM0
NiwxNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUlu
ZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8vICAgIGl0ZW1zIGFzIHByb3Bl
cnR5IGtleWZyYW1lcy4KICAgICBpZiAoZWFzaW5ncy5zaXplKCkgPCBwcm9jZXNzZWRLZXlmcmFt
ZXMuc2l6ZSgpKSB7CiAgICAgICAgIHNpemVfdCBpbml0aWFsTnVtYmVyT2ZFYXNpbmdzID0gZWFz
aW5ncy5zaXplKCk7Ci0gICAgICAgIGZvciAoaSA9IGluaXRpYWxOdW1iZXJPZkVhc2luZ3MgKyAx
OyBpIDwgcHJvY2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSAtIDE7ICsraSkKKyAgICAgICAgZm9yIChp
ID0gaW5pdGlhbE51bWJlck9mRWFzaW5ncyArIDE7IGkgPD0gcHJvY2Vzc2VkS2V5ZnJhbWVzLnNp
emUoKTsgKytpKQogICAgICAgICAgICAgZWFzaW5ncy5hcHBlbmQoZWFzaW5nc1tpICUgaW5pdGlh
bE51bWJlck9mRWFzaW5nc10pOwogICAgIH0KIAogICAgIC8vIDEwLiBJZiBlYXNpbmdzIGhhcyBt
b3JlIGl0ZW1zIHRoYW4gcHJvcGVydHkga2V5ZnJhbWVzLCBzdG9yZSB0aGUgZXhjZXNzIGl0ZW1z
IGFzIHVudXNlZCBlYXNpbmdzLgotICAgIC8vIEZJWE1FOiBXZSBkb24ndCBkZWFsIHdpdGggdGhp
cyB5ZXQuCisgICAgd2hpbGUgKGVhc2luZ3Muc2l6ZSgpID4gcHJvY2Vzc2VkS2V5ZnJhbWVzLnNp
emUoKSkKKyAgICAgICAgdW51c2VkRWFzaW5ncy5hcHBlbmQoZWFzaW5ncy50YWtlTGFzdCgpKTsK
IAogICAgIC8vIDExLiBBc3NpZ24gZWFjaCB2YWx1ZSBpbiBlYXNpbmdzIHRvIGEgcHJvcGVydHkg
bmFtZWQg4oCcZWFzaW5n4oCdIG9uIHRoZSBrZXlmcmFtZSB3aXRoIHRoZSBjb3JyZXNwb25kaW5n
IHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbCB0aGUgZW5kIG9mIHByb3BlcnR5
IGtleWZyYW1lcwogICAgIC8vICAgICBpcyByZWFjaGVkLgotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZWFzaW5ncy5zaXplKCkgJiYgaSA8IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7ICsr
aSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7
ICsraSkKICAgICAgICAgcHJvY2Vzc2VkS2V5ZnJhbWVzW2ldLmVhc2luZyA9IGVhc2luZ3NbaV07
CiAKICAgICAvLyAxMi4gSWYgdGhlIOKAnGNvbXBvc2l0ZeKAnSBtZW1iZXIgb2YgdGhlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWUgaXMgbm90IGFuIGVtcHR5IHNlcXVlbmNlOgpAQCAtMzUxLDcg
KzM3Miw3IEBAIHN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gcHJvY2Vzc1Byb3BlcnR5
SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlCiAgICAgICAgIC8vICAgIHRoZSBsaXN0
IHVudGlsIGNvbXBvc2l0ZSBtb2RlcyBoYXMgYXMgbWFueSBpdGVtcyBhcyBwcm9wZXJ0eSBrZXlm
cmFtZXMuCiAgICAgICAgIGlmIChjb21wb3NpdGVNb2Rlcy5zaXplKCkgPCBwcm9jZXNzZWRLZXlm
cmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgICAgICBzaXplX3QgaW5pdGlhbE51bWJlck9mQ29tcG9z
aXRlTW9kZXMgPSBjb21wb3NpdGVNb2Rlcy5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKGkgPSBp
bml0aWFsTnVtYmVyT2ZDb21wb3NpdGVNb2RlcyArIDE7IGkgPCBwcm9jZXNzZWRLZXlmcmFtZXMu
c2l6ZSgpIC0gMTsgKytpKQorICAgICAgICAgICAgZm9yIChpID0gaW5pdGlhbE51bWJlck9mQ29t
cG9zaXRlTW9kZXMgKyAxOyBpIDw9IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7ICsraSkKICAg
ICAgICAgICAgICAgICBjb21wb3NpdGVNb2Rlcy5hcHBlbmQoY29tcG9zaXRlTW9kZXNbaSAlIGlu
aXRpYWxOdW1iZXJPZkNvbXBvc2l0ZU1vZGVzXSk7CiAgICAgICAgIH0KICAgICAgICAgLy8gMy4g
QXNzaWduIGVhY2ggdmFsdWUgaW4gY29tcG9zaXRlIG1vZGVzIHRvIHRoZSBrZXlmcmFtZS1zcGVj
aWZpYyBjb21wb3NpdGUgb3BlcmF0aW9uIG9uIHRoZSBrZXlmcmFtZSB3aXRoIHRoZSBjb3JyZXNw
b25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbApAQCAtMzg5LDYgKzQx
MCw5IEBAIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVjdD4+IEtleWZyYW1lRWZmZWN0Ojpj
cmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVuCiAgICAgICAgICAgICBpZiAoc2V0SXRlcmF0
aW9uc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gc2V0SXRl
cmF0aW9uc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBrZXlmcmFtZUVm
ZmVjdC0+dGltaW5nKCktPnNldERpcmVjdGlvbihrZXlmcmFtZUVmZmVjdE9wdGlvbnMuZGlyZWN0
aW9uKTsKKyAgICAgICAgICAgIGF1dG8gc2V0RWFzaW5nUmVzdWx0ID0ga2V5ZnJhbWVFZmZlY3Qt
PnRpbWluZygpLT5zZXRFYXNpbmcoa2V5ZnJhbWVFZmZlY3RPcHRpb25zLmVhc2luZyk7CisgICAg
ICAgICAgICBpZiAoc2V0RWFzaW5nUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBzZXRFYXNpbmdSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgICAgICB9
CiAKICAgICAgICAgYXV0byBzZXRCaW5kaW5nc0R1cmF0aW9uUmVzdWx0ID0ga2V5ZnJhbWVFZmZl
Y3QtPnRpbWluZygpLT5zZXRCaW5kaW5nc0R1cmF0aW9uKFdURk1vdmUoYmluZGluZ3NEdXJhdGlv
bikpOwpAQCAtNDA2LDYgKzQzMCw3NCBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3Qo
RWxlbWVudCogdGFyZ2V0KQogewogfQogCitWZWN0b3I8U3Ryb25nPEpTT2JqZWN0Pj4gS2V5ZnJh
bWVFZmZlY3Q6OmdldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNkb20ta2V5ZnJhbWVlZmZlY3Ry
ZWFkb25seS1nZXRrZXlmcmFtZXMKKworICAgIGF1dG8gbG9jayA9IEpTTG9ja0hvbGRlciB7ICZz
dGF0ZSB9OworCisgICAgLy8gU2luY2Uga2V5ZnJhbWVzIGFyZSByZXByZXNlbnRlZCBieSBhIHBh
cnRpYWxseSBvcGVuLWVuZGVkIGRpY3Rpb25hcnkgdHlwZSB0aGF0IGlzIG5vdCBjdXJyZW50bHkg
YWJsZSB0byBiZSBleHByZXNzZWQgd2l0aCBXZWJJREwsCisgICAgLy8gdGhlIHByb2NlZHVyZSB1
c2VkIHRvIHByZXBhcmUgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBpcyBkZWZpbmVkIGluIHBy
b3NlIGJlbG93OgorICAgIC8vCisgICAgLy8gMS4gTGV0IHJlc3VsdCBiZSBhbiBlbXB0eSBzZXF1
ZW5jZSBvZiBvYmplY3RzLgorICAgIFZlY3RvcjxTdHJvbmc8SlNPYmplY3Q+PiByZXN1bHQ7CisK
KyAgICAvLyAyLiBMZXQga2V5ZnJhbWVzIGJlIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIHBy
b2NlZHVyZSB0byBjb21wdXRlIG1pc3Npbmcga2V5ZnJhbWUgb2Zmc2V0cyB0byB0aGUga2V5ZnJh
bWVzIGZvciB0aGlzIGtleWZyYW1lIGVmZmVjdC4KKworICAgIC8vIDMuIEZvciBlYWNoIGtleWZy
YW1lIGluIGtleWZyYW1lcyBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX2tleWZyYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRv
JiBrZXlmcmFtZSA9IG1fa2V5ZnJhbWVzW2ldOworCisgICAgICAgIC8vIDEuIEluaXRpYWxpemUg
YSBkaWN0aW9uYXJ5IG9iamVjdCwgb3V0cHV0IGtleWZyYW1lLCB1c2luZyB0aGUgZm9sbG93aW5n
IGRlZmluaXRpb246CisgICAgICAgIC8vCisgICAgICAgIC8vIGRpY3Rpb25hcnkgQmFzZUNvbXB1
dGVkS2V5ZnJhbWUgeworICAgICAgICAvLyAgICAgIGRvdWJsZT8gICAgICAgICAgICBvZmZzZXQg
PSBudWxsOworICAgICAgICAvLyAgICAgIGRvdWJsZSAgICAgICAgICAgICBjb21wdXRlZE9mZnNl
dDsKKyAgICAgICAgLy8gICAgICBET01TdHJpbmcgICAgICAgICAgZWFzaW5nID0gImxpbmVhciI7
CisgICAgICAgIC8vICAgICAgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZTsKKyAgICAgICAg
Ly8gfTsKKworICAgICAgICAvLyAyLiBTZXQgb2Zmc2V0LCBjb21wdXRlZE9mZnNldCwgZWFzaW5n
IG1lbWJlcnMgb2Ygb3V0cHV0IGtleWZyYW1lIHRvIHRoZSByZXNwZWN0aXZlIHZhbHVlcyBrZXlm
cmFtZSBvZmZzZXQsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCwKKyAgICAgICAgLy8gYW5kIGtl
eWZyYW1lLXNwZWNpZmljIHRpbWluZyBmdW5jdGlvbiBvZiBrZXlmcmFtZS4KKworICAgICAgICAv
LyAzLiBJZiBrZXlmcmFtZSBoYXMgYSBrZXlmcmFtZS1zcGVjaWZpYyBjb21wb3NpdGUgb3BlcmF0
aW9uLCBzZXQgY29tcG9zaXRlIHRvIHRoYXQgdmFsdWUuCisgICAgICAgIEJhc2VDb21wdXRlZEtl
eWZyYW1lIGNvbXB1dGVkS2V5ZnJhbWU7CisgICAgICAgIGNvbXB1dGVkS2V5ZnJhbWUub2Zmc2V0
ID0gbV9vZmZzZXRzW2ldOworICAgICAgICBjb21wdXRlZEtleWZyYW1lLmNvbXB1dGVkT2Zmc2V0
ID0ga2V5ZnJhbWUua2V5KCk7CisgICAgICAgIGNvbXB1dGVkS2V5ZnJhbWUuZWFzaW5nID0gbV90
aW1pbmdGdW5jdGlvbnNbaV0tPmNzc1RleHQoKTsKKworICAgICAgICBhdXRvIG91dHB1dEtleWZy
YW1lID0gY29udmVydERpY3Rpb25hcnlUb0pTKHN0YXRlLCAqanNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oc3RhdGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgY29tcHV0ZWRLZXlmcmFtZSk7CisK
KyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5vbi1udWxsIENvbXBvc2l0ZU9wZXJhdGlvbiBmb3Ig
dGhpcyBrZXlmcmFtZXMsIHNldCB0aGUgSlMgcHJvcGVydHkgZm9yIGl0LgorICAgICAgICBpZiAo
YXV0byBjb21wb3NpdGVPcGVyYXRpb24gPSBtX2NvbXBvc2l0ZU9wZXJhdGlvbnNbaV0pIHsKKyAg
ICAgICAgICAgIFByb3BlcnR5RGVzY3JpcHRvciBwcm9wZXJ0eURlc2NyaXB0b3IoY29udmVydEVu
dW1lcmF0aW9uVG9KUyhzdGF0ZSwgY29tcG9zaXRlT3BlcmF0aW9uLnZhbHVlKCkpLCAwKTsKKyAg
ICAgICAgICAgIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShvdXRwdXRLZXlmcmFtZSwgJnN0
YXRlLCBBdG9taWNTdHJpbmcoImNvbXBvc2l0ZSIpLmltcGwoKSwgcHJvcGVydHlEZXNjcmlwdG9y
LCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICBhdXRvJiBzdHlsZSA9ICprZXlmcmFtZS5z
dHlsZSgpOworICAgICAgICBhdXRvIGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IgPSBDb21wdXRlZFN0
eWxlRXh0cmFjdG9yKG1fdGFyZ2V0LmdldCgpKTsKKworICAgICAgICAvLyA0LiBGb3IgZWFjaCBh
bmltYXRpb24gcHJvcGVydHktdmFsdWUgcGFpciBzcGVjaWZpZWQgb24ga2V5ZnJhbWUsIGRlY2xh
cmF0aW9uLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgICAgIGZvciAoYXV0byBj
c3NQcm9wZXJ0eUlkIDoga2V5ZnJhbWUucHJvcGVydGllcygpKSB7CisgICAgICAgICAgICAvLyAx
LiBMZXQgcHJvcGVydHkgbmFtZSBiZSB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBhbmltYXRp
b24gcHJvcGVydHkgbmFtZSB0byBJREwgYXR0cmlidXRlIG5hbWUgYWxnb3JpdGhtIHRvIHRoZSBw
cm9wZXJ0eSBuYW1lIG9mIGRlY2xhcmF0aW9uLgorICAgICAgICAgICAgYXV0byBwcm9wZXJ0eU5h
bWUgPSBDU1NQcm9wZXJ0eUlEVG9JRExBdHRyaWJ1dGVOYW1lKGNzc1Byb3BlcnR5SWQpOworICAg
ICAgICAgICAgLy8gMi4gTGV0IElETCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIHNlcmlhbGl6aW5n
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBvZiBkZWNsYXJhdGlvbiBieSBwYXNzaW5nIGRlY2xhcmF0aW9u
IHRvIHRoZSBhbGdvcml0aG0gdG8gc2VyaWFsaXplIGEgQ1NTIHZhbHVlLgorICAgICAgICAgICAg
YXV0byBpZGxWYWx1ZSA9IGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IudmFsdWVGb3JQcm9wZXJ0eWlu
U3R5bGUoc3R5bGUsIGNzc1Byb3BlcnR5SWQpLT5jc3NUZXh0KCk7CisgICAgICAgICAgICAvLyAz
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIElETCB2YWx1ZSB0byBhbiBF
Q01BU2NyaXB0IFN0cmluZyB2YWx1ZS4KKyAgICAgICAgICAgIGF1dG8gdmFsdWUgPSB0b0pTPElE
TERPTVN0cmluZz4oc3RhdGUsIGlkbFZhbHVlKTsKKyAgICAgICAgICAgIC8vIDQuIENhbGwgdGhl
IFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb24gb3V0cHV0IGtleWZyYW1l
IHdpdGggcHJvcGVydHkgbmFtZSBwcm9wZXJ0eSBuYW1lLAorICAgICAgICAgICAgLy8gICAgUHJv
cGVydHkgRGVzY3JpcHRvciB7IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRy
dWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUsIFtbVmFsdWVdXTogdmFsdWUgfSBhbmQgQm9vbGVh
biBmbGFnIGZhbHNlLgorICAgICAgICAgICAgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KG91
dHB1dEtleWZyYW1lLCAmc3RhdGUsIEF0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpLmltcGwoKSwg
UHJvcGVydHlEZXNjcmlwdG9yKHZhbHVlLCAwKSwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAg
ICAgLy8gNS4gQXBwZW5kIG91dHB1dCBrZXlmcmFtZSB0byByZXN1bHQuCisgICAgICAgIHJlc3Vs
dC5hcHBlbmQoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4geyBzdGF0ZS52bSgpLCBvdXRwdXRL
ZXlmcmFtZSB9KTsKKyAgICB9CisKKyAgICAvLyA0LiBSZXR1cm4gcmVzdWx0LgorICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0OjpzZXRLZXlm
cmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lucHV0
KQogewogICAgIHJldHVybiBwcm9jZXNzS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZyYW1l
c0lucHV0KSk7CkBAIC00MzAsMTMgKzUyMiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFt
ZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYgog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9KTsK
IAogICAgIC8vIDUuIFBlcmZvcm0gdGhlIHN0ZXBzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0
IG1hdGNoaW5nIGNvbmRpdGlvbiBmcm9tIGJlbG93LAorICAgIFZlY3RvcjxTdHJpbmc+IHVudXNl
ZEVhc2luZ3M7CiAgICAgaWYgKCFtZXRob2QuaXNVbmRlZmluZWQoKSkKICAgICAgICAgcHJvY2Vz
c0l0ZXJhYmxlS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZyYW1lc0lucHV0KSwgV1RGTW92
ZShtZXRob2QpLCBwcm9jZXNzZWRLZXlmcmFtZXMpOwogICAgIGVsc2UKLSAgICAgICAgcHJvY2Vz
c1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXNJbnB1dCks
IHByb2Nlc3NlZEtleWZyYW1lcyk7Ci0KLSAgICBpZiAoIXByb2Nlc3NlZEtleWZyYW1lcy5zaXpl
KCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRL
ZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpLCBwcm9jZXNzZWRLZXlmcmFt
ZXMsIHVudXNlZEVhc2luZ3MpOwogCiAgICAgLy8gNi4gSWYgcHJvY2Vzc2VkIGtleWZyYW1lcyBp
cyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0LCB0aHJvdyBhIFR5cGVFcnJvciBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNy4gSWYgdGhlcmUgZXhpc3QgYW55IGtleWZyYW1lIGlu
IHByb2Nlc3NlZCBrZXlmcmFtZXMgd2hvc2Uga2V5ZnJhbWUgb2Zmc2V0IGlzIG5vbi1udWxsIGFu
ZCBsZXNzIHRoYW4KQEAgLTQ1NiwxMSArNTQ2LDE4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZy
YW1lRWZmZWN0Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09i
CiAgICAgY29tcHV0ZU1pc3NpbmdLZXlmcmFtZU9mZnNldHMocHJvY2Vzc2VkS2V5ZnJhbWVzKTsK
IAogICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3Jl
YXRlQ2Fub25pY2FsVVVJRFN0cmluZygpKTsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3Vi
bGU+PiBvZmZzZXRzOworICAgIFZlY3RvcjxSZWZQdHI8VGltaW5nRnVuY3Rpb24+PiB0aW1pbmdG
dW5jdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29tcG9zaXRlT3BlcmF0aW9uPj4g
Y29tcG9zaXRlT3BlcmF0aW9uczsKKwogICAgIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIg
PSBtX3RhcmdldC0+c3R5bGVSZXNvbHZlcigpOwogICAgIGF1dG8gcGFyc2VyQ29udGV4dCA9IENT
U1BhcnNlckNvbnRleHQoSFRNTFN0YW5kYXJkTW9kZSk7CiAKICAgICAvLyA4LiBGb3IgZWFjaCBm
cmFtZSBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6
CiAgICAgZm9yIChhdXRvJiBrZXlmcmFtZSA6IHByb2Nlc3NlZEtleWZyYW1lcykgeworICAgICAg
ICBvZmZzZXRzLmFwcGVuZChrZXlmcmFtZS5vZmZzZXQpOworICAgICAgICBjb21wb3NpdGVPcGVy
YXRpb25zLmFwcGVuZChrZXlmcmFtZS5jb21wb3NpdGUpOworCiAgICAgICAgIC8vIDEuIEZvciBl
YWNoIHByb3BlcnR5LXZhbHVlIHBhaXIgaW4gZnJhbWUsIHBhcnNlIHRoZSBwcm9wZXJ0eSB2YWx1
ZSB1c2luZyB0aGUgc3ludGF4IHNwZWNpZmllZCBmb3IgdGhhdCBwcm9wZXJ0eS4KICAgICAgICAg
Ly8gICAgSWYgdGhlIHByb3BlcnR5IHZhbHVlIGlzIGludmFsaWQgYWNjb3JkaW5nIHRvIHRoZSBz
eW50YXggZm9yIHRoZSBwcm9wZXJ0eSwgZGlzY2FyZCB0aGUgcHJvcGVydHktdmFsdWUgcGFpci4K
ICAgICAgICAgLy8gICAgVXNlciBhZ2VudHMgdGhhdCBwcm92aWRlIHN1cHBvcnQgZm9yIGRpYWdu
b3NpbmcgZXJyb3JzIGluIGNvbnRlbnQgU0hPVUxEIHByb2R1Y2UgYW4gYXBwcm9wcmlhdGUgd2Fy
bmluZwpAQCAtNDc0LDcgKzU3MSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0
Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iCiAgICAgICAg
ICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjsgIik7CiAgICAgICAgIH0KIAotICAgICAgICBL
ZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFsdWUoa2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCksIG51bGxw
dHIpOworICAgICAgICBLZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFsdWUoa2V5ZnJhbWUuY29tcHV0
ZWRPZmZzZXQudmFsdWUoKSwgbnVsbHB0cik7CiAgICAgICAgIGF1dG8gcmVuZGVyU3R5bGUgPSBS
ZW5kZXJTdHlsZTo6Y3JlYXRlUHRyKCk7CiAgICAgICAgIGF1dG8gc3R5bGVQcm9wZXJ0aWVzID0g
TXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CiAgICAgICAgIHN0eWxlUHJvcGVydGll
cy0+cGFyc2VEZWNsYXJhdGlvbihjc3NUZXh0LnRvU3RyaW5nKCksIHBhcnNlckNvbnRleHQpOwpA
QCAtNDk0LDE1ICs1OTEsMjUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJhbWVFZmZlY3Q6OnBy
b2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2IKICAgICAgICAgLy8g
Mi4gTGV0IHRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgZnJhbWUgYmUgdGhlIHJlc3VsdCBvZiBwYXJz
aW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgb24gZnJhbWUgdXNpbmcgdGhlIENTUyBzeW50
YXgKICAgICAgICAgLy8gICAgZGVmaW5lZCBmb3IgdGhlIGVhc2luZyBwcm9wZXJ0eSBvZiB0aGUg
QW5pbWF0aW9uRWZmZWN0VGltaW5nUmVhZE9ubHkgaW50ZXJmYWNlLgogICAgICAgICAvLyAgICBJ
ZiBwYXJzaW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgZmFpbHMsIHRocm93IGEgVHlwZUVy
cm9yIGFuZCBhYm9ydCB0aGlzIHByb2NlZHVyZS4KLSAgICAgICAgLy8gRklYTUU6IGltcGxlbWVu
dCB3aGVuIHdlIHN1cHBvcnQgZWFzaW5nLgorICAgICAgICBhdXRvIHRpbWluZ0Z1bmN0aW9uUmVz
dWx0ID0gVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KGtleWZyYW1lLmVhc2luZyk7
CisgICAgICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgIHJldHVybiB0aW1pbmdGdW5jdGlvblJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7Cisg
ICAgICAgIHRpbWluZ0Z1bmN0aW9ucy5hcHBlbmQodGltaW5nRnVuY3Rpb25SZXN1bHQucmV0dXJu
VmFsdWUoKSk7CiAgICAgfQogCiAgICAgLy8gOS4gUGFyc2UgZWFjaCBvZiB0aGUgdmFsdWVzIGlu
IHVudXNlZCBlYXNpbmdzIHVzaW5nIHRoZSBDU1Mgc3ludGF4IGRlZmluZWQgZm9yIGVhc2luZyBw
cm9wZXJ0eSBvZiB0aGUKICAgICAvLyAgICBBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25seSBp
bnRlcmZhY2UsIGFuZCBpZiBhbnkgb2YgdGhlIHZhbHVlcyBmYWlsIHRvIHBhcnNlLCB0aHJvdyBh
IFR5cGVFcnJvcgogICAgIC8vICAgIGFuZCBhYm9ydCB0aGlzIHByb2NlZHVyZS4KLSAgICAvLyBG
SVhNRTogaW1wbGVtZW50IHdoZW4gd2Ugc3VwcG9ydCBlYXNpbmcuCisgICAgZm9yIChhdXRvJiBl
YXNpbmcgOiB1bnVzZWRFYXNpbmdzKSB7CisgICAgICAgIGF1dG8gdGltaW5nRnVuY3Rpb25SZXN1
bHQgPSBUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQoZWFzaW5nKTsKKyAgICAgICAg
aWYgKHRpbWluZ0Z1bmN0aW9uUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIHRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICB9CiAKKyAg
ICBtX29mZnNldHMgPSBXVEZNb3ZlKG9mZnNldHMpOwogICAgIG1fa2V5ZnJhbWVzID0gV1RGTW92
ZShrZXlmcmFtZUxpc3QpOworICAgIG1fdGltaW5nRnVuY3Rpb25zID0gV1RGTW92ZSh0aW1pbmdG
dW5jdGlvbnMpOworICAgIG1fY29tcG9zaXRlT3BlcmF0aW9ucyA9IFdURk1vdmUoY29tcG9zaXRl
T3BlcmF0aW9ucyk7CiAKICAgICBjb21wdXRlU3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKaW5kZXggZWFkNmIyODM4NjQy
NjRiYjI5N2RiNDU5MDk0ZmJhYjMyMjhjNGQyZi4uMDNjOTBiNTk3YzMxNDE2YzNjNGZkNjUyM2Uz
YmJhNWJlMmM5NWViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0
LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3RUaW1pbmdQcm9w
ZXJ0aWVzLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5oIgogI2luY2x1
ZGUgIkNvbXBvc2l0ZU9wZXJhdGlvbi5oIgorI2luY2x1ZGUgIkl0ZXJhdGlvbkNvbXBvc2l0ZU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0T3B0aW9ucy5oIgogI2luY2x1ZGUg
IktleWZyYW1lTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC00NSw5ICs0Niw5
IEBAIHB1YmxpYzoKICAgICB+S2V5ZnJhbWVFZmZlY3QoKSB7IH0KIAogICAgIHN0cnVjdCBCYXNl
UHJvcGVydHlJbmRleGVkS2V5ZnJhbWUgewotICAgICAgICBWYXJpYW50PHN0ZDo6bnVsbHB0cl90
LCBkb3VibGUsIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+PiBvZmZzZXQ7Ci0gICAgICAg
IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj4gZWFzaW5nOwotICAgICAgICBWYXJpYW50
PENvbXBvc2l0ZU9wZXJhdGlvbiwgVmVjdG9yPENvbXBvc2l0ZU9wZXJhdGlvbj4+IGNvbXBvc2l0
ZTsKKyAgICAgICAgVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPj4sIGRvdWJsZT4gb2Zmc2V0ID0gVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4o
KTsKKyAgICAgICAgVmFyaWFudDxWZWN0b3I8U3RyaW5nPiwgU3RyaW5nPiBlYXNpbmcgPSBWZWN0
b3I8U3RyaW5nPigpOworICAgICAgICBWYXJpYW50PFZlY3RvcjxDb21wb3NpdGVPcGVyYXRpb24+
LCBDb21wb3NpdGVPcGVyYXRpb24+IGNvbXBvc2l0ZSA9IFZlY3RvcjxDb21wb3NpdGVPcGVyYXRp
b24+KCk7CiAgICAgfTsKIAogICAgIHN0cnVjdCBQcm9wZXJ0eUFuZFZhbHVlcyB7CkBAIC02Mywx
MiArNjQsMjYgQEAgcHVibGljOgogICAgIHN0cnVjdCBQcm9jZXNzZWRLZXlmcmFtZSB7CiAgICAg
ICAgIFN0cmluZyBlYXNpbmc7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBvZmZzZXQ7
CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjb21wdXRlZE9mZnNldDsKICAgICAgICAg
c3RkOjpvcHRpb25hbDxDb21wb3NpdGVPcGVyYXRpb24+IGNvbXBvc2l0ZTsKICAgICAgICAgSGFz
aE1hcDxDU1NQcm9wZXJ0eUlELCBTdHJpbmc+IGNzc1Byb3BlcnRpZXNBbmRWYWx1ZXM7CiAgICAg
fTsKIAorICAgIHN0cnVjdCBCYXNlQ29tcHV0ZWRLZXlmcmFtZSB7CisgICAgICAgIHN0ZDo6b3B0
aW9uYWw8ZG91YmxlPiBvZmZzZXQ7CisgICAgICAgIGRvdWJsZSBjb21wdXRlZE9mZnNldDsKKyAg
ICAgICAgU3RyaW5nIGVhc2luZyB7ICJsaW5lYXIiIH07CisgICAgfTsKKwogICAgIEVsZW1lbnQq
IHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOyB9CisgICAgVmVjdG9yPEpT
Qzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiBnZXRLZXlmcmFtZXMoSlNDOjpFeGVjU3RhdGUmKTsK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRLZXlmcmFtZXMoSlNDOjpFeGVjU3RhdGUmLCBKU0M6
OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmKTsKKworICAgIEl0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJh
dGlvbiBpdGVyYXRpb25Db21wb3NpdGUoKSBjb25zdCB7IHJldHVybiBtX2l0ZXJhdGlvbkNvbXBv
c2l0ZU9wZXJhdGlvbjsgfQorICAgIHZvaWQgc2V0SXRlcmF0aW9uQ29tcG9zaXRlKEl0ZXJhdGlv
bkNvbXBvc2l0ZU9wZXJhdGlvbiBpdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24pIHsgbV9pdGVy
YXRpb25Db21wb3NpdGVPcGVyYXRpb24gPSBpdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb247IH0K
KyAgICBDb21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRlKCkgY29uc3QgeyByZXR1cm4gbV9jb21w
b3NpdGVPcGVyYXRpb247IH0KKyAgICB2b2lkIHNldENvbXBvc2l0ZShDb21wb3NpdGVPcGVyYXRp
b24gY29tcG9zaXRlT3BlcmF0aW9uKSB7IG1fY29tcG9zaXRlT3BlcmF0aW9uID0gY29tcG9zaXRl
T3BlcmF0aW9uOyB9CisKICAgICB2b2lkIGdldEFuaW1hdGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSk7CiAgICAgdm9pZCBhcHBseUF0TG9jYWxUaW1l
KFNlY29uZHMsIFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdGFydE9yU3RvcEFj
Y2VsZXJhdGVkKCk7CkBAIC05Miw3ICsxMDcsMTIgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFJ1bkFjY2VsZXJhdGVkKCk7CiAKICAgICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CisgICAg
SXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uIG1faXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9u
IHsgSXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBsYWNlIH07CisgICAgQ29tcG9zaXRl
T3BlcmF0aW9uIG1fY29tcG9zaXRlT3BlcmF0aW9uIHsgQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBs
YWNlIH07CiAgICAgS2V5ZnJhbWVMaXN0IG1fa2V5ZnJhbWVzOworICAgIFZlY3RvcjxzdGQ6Om9w
dGlvbmFsPGRvdWJsZT4+IG1fb2Zmc2V0czsKKyAgICBWZWN0b3I8UmVmUHRyPFRpbWluZ0Z1bmN0
aW9uPj4gbV90aW1pbmdGdW5jdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29tcG9z
aXRlT3BlcmF0aW9uPj4gbV9jb21wb3NpdGVPcGVyYXRpb25zOwogICAgIGJvb2wgbV90cmlnZ2Vy
c1N0YWNraW5nQ29udGV4dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0YXJ0ZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9zdGFydGVkQWNjZWxlcmF0ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKaW5kZXggODY4YzNkYTk1YTc1MGNhNmUw
NzViNjU4ZjlkYjc4ZjMyMmE5ODRkZS4uMzhmZjFmMDZiODNhMzU2OTI4MjkyYjU5MjE1NDFiMTk3
NWM4MTVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRs
CkBAIC0zMCwxMSArMzAsMjIgQEAKICAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0YXJnZXQsIG9i
amVjdD8ga2V5ZnJhbWVzLCBvcHRpb25hbCAodW5yZXN0cmljdGVkIGRvdWJsZSBvciBLZXlmcmFt
ZUVmZmVjdE9wdGlvbnMpIG9wdGlvbnMpCiBdIGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFu
aW1hdGlvbkVmZmVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsK
KyAgICBhdHRyaWJ1dGUgSXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBv
c2l0ZTsKKyAgICBhdHRyaWJ1dGUgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZTsKKyAgICBb
Q2FsbFdpdGg9U2NyaXB0U3RhdGVdIHNlcXVlbmNlPG9iamVjdD4gZ2V0S2V5ZnJhbWVzKCk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gdm9pZCBzZXRLZXlm
cmFtZXMob2JqZWN0PyBrZXlmcmFtZXMpOwogfTsKIAogZGljdGlvbmFyeSBCYXNlUHJvcGVydHlJ
bmRleGVkS2V5ZnJhbWUgewotICAgIChkb3VibGU/IG9yIHNlcXVlbmNlPGRvdWJsZT8+KSBvZmZz
ZXQgPSBbXTsKLSAgICAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pIGVhc2luZyA9
IFtdOwotICAgIChDb21wb3NpdGVPcGVyYXRpb24gb3Igc2VxdWVuY2U8Q29tcG9zaXRlT3BlcmF0
aW9uPikgY29tcG9zaXRlID0gW107CisgICAgKHNlcXVlbmNlPGRvdWJsZT8+IG9yIGRvdWJsZT8p
IG9mZnNldCA9IFtdOworICAgIChzZXF1ZW5jZTxET01TdHJpbmc+IG9yIERPTVN0cmluZykgZWFz
aW5nID0gW107CisgICAgKHNlcXVlbmNlPENvbXBvc2l0ZU9wZXJhdGlvbj4gb3IgQ29tcG9zaXRl
T3BlcmF0aW9uKSBjb21wb3NpdGUgPSBbXTsKK307CisKK1sKKyAgICBKU0dlbmVyYXRlVG9KU09i
amVjdAorXSBkaWN0aW9uYXJ5IEJhc2VDb21wdXRlZEtleWZyYW1lIHsKKyAgICAgZG91YmxlPyBv
ZmZzZXQgPSBudWxsOworICAgICBkb3VibGUgY29tcHV0ZWRPZmZzZXQ7CisgICAgIERPTVN0cmlu
ZyBlYXNpbmcgPSAibGluZWFyIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmNwcAppbmRleCA1MDc1NDNjZTRhMmM2NjI3MGU2
MzExMThhYWJlMTczNWM1NzQzMmEzLi44MTg0Y2ExYzQ4Mjg3NmFmNDVmNTQyMzllZWI4NjQ2MTgw
NjM0NTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGlt
aW5nRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9U
aW1pbmdGdW5jdGlvbi5jcHAKQEAgLTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5oIgogCisjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rp
b25WYWx1ZS5oIgogI2luY2x1ZGUgIlNwcmluZ1NvbHZlci5oIgorI2luY2x1ZGUgIlN0eWxlUHJv
cGVydGllcy5oIgogI2luY2x1ZGUgIlVuaXRCZXppZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0U3RyZWFtLmg+CiAKQEAgLTEwMSw0ICsxMDMsODggQEAgZG91YmxlIFRpbWluZ0Z1bmN0aW9u
Ojp0cmFuc2Zvcm1UaW1lKGRvdWJsZSBpbnB1dFRpbWUsIGRvdWJsZSBkdXJhdGlvbikgY29uc3QK
ICAgICByZXR1cm4gMDsKIH0KIAorRXhjZXB0aW9uT3I8UmVmUHRyPFRpbWluZ0Z1bmN0aW9uPj4g
VGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KGNvbnN0IFN0cmluZyYgY3NzVGV4dCkK
K3sKKyAgICBTdHJpbmdCdWlsZGVyIGNzc1N0cmluZzsKKyAgICBjc3NTdHJpbmcuYXBwZW5kKGdl
dFByb3BlcnR5TmFtZVN0cmluZyhDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKSk7
CisgICAgY3NzU3RyaW5nLmFwcGVuZExpdGVyYWwoIjogIik7CisgICAgY3NzU3RyaW5nLmFwcGVu
ZChjc3NUZXh0KTsKKyAgICBhdXRvIHN0eWxlUHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOworICAgIHN0eWxlUHJvcGVydGllcy0+cGFyc2VEZWNsYXJhdGlvbihj
c3NTdHJpbmcudG9TdHJpbmcoKSwgQ1NTUGFyc2VyQ29udGV4dChIVE1MU3RhbmRhcmRNb2RlKSk7
CisgICAgYXV0byBjc3NWYWx1ZSA9IHN0eWxlUHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKTsKKworICAgIGlmICghY3NzVmFs
dWUpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAgIGF1dG8m
IHZhbHVlID0gKmNzc1ZhbHVlLmdldCgpOworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpKSB7CisgICAgICAgIHN3aXRjaCAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKS52YWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUxpbmVhcjoKKyAgICAgICAg
ICAgIHJldHVybiB7IExpbmVhclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoKSB9OworICAgICAgICBj
YXNlIENTU1ZhbHVlRWFzZToKKyAgICAgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb246OmNyZWF0ZSgpIH07CisgICAgICAgIGNhc2UgQ1NTVmFsdWVFYXNlSW46CisgICAg
ICAgICAgICByZXR1cm4geyBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoQ3ViaWNC
ZXppZXJUaW1pbmdGdW5jdGlvbjo6RWFzZUluKSB9OworICAgICAgICBjYXNlIENTU1ZhbHVlRWFz
ZU91dDoKKyAgICAgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNy
ZWF0ZShDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpFYXNlT3V0KSB9OworICAgICAgICBjYXNl
IENTU1ZhbHVlRWFzZUluT3V0OgorICAgICAgICAgICAgcmV0dXJuIHsgQ3ViaWNCZXppZXJUaW1p
bmdGdW5jdGlvbjo6Y3JlYXRlKEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OkVhc2VJbk91dCkg
fTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0ZXBTdGFydDoKKyAgICAgICAgICAgIHJldHVybiB7
IFN0ZXBzVGltaW5nRnVuY3Rpb246OmNyZWF0ZSgxLCB0cnVlKSB9OworICAgICAgICBjYXNlIENT
U1ZhbHVlU3RlcEVuZDoKKyAgICAgICAgICAgIHJldHVybiB7IFN0ZXBzVGltaW5nRnVuY3Rpb246
OmNyZWF0ZSgxLCBmYWxzZSkgfTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChp
czxDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBh
dXRvJiBjdWJpY1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8Q1NTQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb246OmNyZWF0ZShjdWJpY1RpbWluZ0Z1bmN0aW9uLngxKCksIGN1YmljVGltaW5nRnVu
Y3Rpb24ueTEoKSwgY3ViaWNUaW1pbmdGdW5jdGlvbi54MigpLCBjdWJpY1RpbWluZ0Z1bmN0aW9u
LnkyKCkpIH07CisgICAgfQorICAgIGlmIChpczxDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU+
KHZhbHVlKSkgeworICAgICAgICBhdXRvJiBzdGVwc1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8
Q1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IFN0
ZXBzVGltaW5nRnVuY3Rpb246OmNyZWF0ZShzdGVwc1RpbWluZ0Z1bmN0aW9uLm51bWJlck9mU3Rl
cHMoKSwgc3RlcHNUaW1pbmdGdW5jdGlvbi5zdGVwQXRTdGFydCgpKSB9OworICAgIH0KKyAgICBp
ZiAoaXM8Q1NTRnJhbWVzVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIGF1
dG8mIGZyYW1lc1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8Q1NTRnJhbWVzVGltaW5nRnVuY3Rp
b25WYWx1ZT4odmFsdWUpOworICAgICAgICByZXR1cm4geyBGcmFtZXNUaW1pbmdGdW5jdGlvbjo6
Y3JlYXRlKGZyYW1lc1RpbWluZ0Z1bmN0aW9uLm51bWJlck9mRnJhbWVzKCkpIH07CisgICAgfQor
ICAgIGlmIChpczxDU1NTcHJpbmdUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSkpIHsKKyAgICAg
ICAgYXV0byYgc3ByaW5nVGltaW5nRnVuY3Rpb24gPSBkb3duY2FzdDxDU1NTcHJpbmdUaW1pbmdG
dW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IFNwcmluZ1RpbWluZ0Z1bmN0
aW9uOjpjcmVhdGUoc3ByaW5nVGltaW5nRnVuY3Rpb24ubWFzcygpLCBzcHJpbmdUaW1pbmdGdW5j
dGlvbi5zdGlmZm5lc3MoKSwgc3ByaW5nVGltaW5nRnVuY3Rpb24uZGFtcGluZygpLCBzcHJpbmdU
aW1pbmdGdW5jdGlvbi5pbml0aWFsVmVsb2NpdHkoKSkgfTsKKyAgICB9CisKKyAgICByZXR1cm4g
RXhjZXB0aW9uIHsgVHlwZUVycm9yIH07Cit9CisKK1N0cmluZyBUaW1pbmdGdW5jdGlvbjo6Y3Nz
VGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdHlwZSA9PSBUaW1pbmdGdW5jdGlvbjo6Q3ViaWNC
ZXppZXJGdW5jdGlvbikgeworICAgICAgICBhdXRvJiBmdW5jdGlvbiA9IGRvd25jYXN0PEN1Ymlj
QmV6aWVyVGltaW5nRnVuY3Rpb24+KCp0aGlzKTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLngxKCkg
PT0gMC4yNSAmJiBmdW5jdGlvbi55MSgpID09IDAuMSAmJiBmdW5jdGlvbi54MigpID09IDAuMjUg
JiYgZnVuY3Rpb24ueTIoKSA9PSAxLjApCisgICAgICAgICAgICByZXR1cm4gImVhc2UiOworICAg
ICAgICBpZiAoZnVuY3Rpb24ueDEoKSA9PSAwLjQyICYmICFmdW5jdGlvbi55MSgpICYmIGZ1bmN0
aW9uLngyKCkgPT0gMS4wICYmIGZ1bmN0aW9uLnkyKCkgPT0gMS4wKQorICAgICAgICAgICAgcmV0
dXJuICJlYXNlLWluIjsKKyAgICAgICAgaWYgKCFmdW5jdGlvbi54MSgpICYmICFmdW5jdGlvbi55
MSgpICYmIGZ1bmN0aW9uLngyKCkgPT0gMC41OCAmJiBmdW5jdGlvbi55MigpID09IDEuMCkKKyAg
ICAgICAgICAgIHJldHVybiAiZWFzZS1vdXQiOworICAgICAgICBpZiAoZnVuY3Rpb24ueDEoKSA9
PSAwLjQyICYmICFmdW5jdGlvbi55MSgpICYmIGZ1bmN0aW9uLngyKCkgPT0gMC41OCAmJiBmdW5j
dGlvbi55MigpID09IDEuMCkKKyAgICAgICAgICAgIHJldHVybiAiZWFzZS1pbi1vdXQiOworICAg
ICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoImN1YmljLWJlemllciglZywgJWcsICVnLCAlZyki
LCBmdW5jdGlvbi54MSgpLCBmdW5jdGlvbi55MSgpLCBmdW5jdGlvbi54MigpLCBmdW5jdGlvbi55
MigpKTsKKyAgICB9CisKKyAgICBpZiAobV90eXBlID09IFRpbWluZ0Z1bmN0aW9uOjpTdGVwc0Z1
bmN0aW9uKSB7CisgICAgICAgIGF1dG8mIGZ1bmN0aW9uID0gZG93bmNhc3Q8U3RlcHNUaW1pbmdG
dW5jdGlvbj4oKnRoaXMpOworICAgICAgICBhdXRvIG51bWJlck9mU3RlcHMgPSBmdW5jdGlvbi5u
dW1iZXJPZlN0ZXBzKCk7CisgICAgICAgIGlmIChudW1iZXJPZlN0ZXBzID09IDEpCisgICAgICAg
ICAgICByZXR1cm4gZnVuY3Rpb24uc3RlcEF0U3RhcnQoKSA/ICJzdGVwLXN0YXJ0IiA6ICJzdGVw
LWVuZCI7CisgICAgICAgIGlmICghZnVuY3Rpb24uc3RlcEF0U3RhcnQoKSkKKyAgICAgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgic3RlcHMoJWQpIiwgbnVtYmVyT2ZTdGVwcyk7CisgICAg
fQorCisgICAgVGV4dFN0cmVhbSBzdHJlYW07CisgICAgc3RyZWFtIDw8ICp0aGlzOworICAgIHJl
dHVybiBzdHJlYW0ucmVsZWFzZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCmlu
ZGV4IDUyN2JjYmE4M2I4ZTVmYWRkY2JlOTMyMDk3MDA5ODUxNWY3NTY3NjMuLjk5OTY2ZTY3Nzgw
ZGFjZDBiZWE3MWUyYzUxZjk5NzQ0YTA0NDgxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCkBAIC0yNCw2ICsyNCw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNTIsNiArNTMsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFRpbWluZ0Z1bmN0aW9uJiBvdGhlcikg
Y29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KIAogICAgIGRvdWJsZSB0cmFuc2Zv
cm1UaW1lKGRvdWJsZSwgZG91YmxlKSBjb25zdDsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVm
UHRyPFRpbWluZ0Z1bmN0aW9uPj4gY3JlYXRlRnJvbUNTU1RleHQoY29uc3QgU3RyaW5nJik7Cisg
ICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFRp
bWluZ0Z1bmN0aW9uKFRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332042</attachid>
            <date>2018-01-23 11:05:13 -0800</date>
            <delta_ts>2018-01-23 11:24:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-181978-20180123200511.patch</filename>
            <type>text/plain</type>
            <size>97466</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Y1YjI0Y2ZmMDY4NjNh
ZWJiZGU0ZDJkZTBmNDAwYTE5N2U2YjYzOC4uZTBjNzVkMTYyYTZhZDcxYzYxYWZjOGFkMTA1YTlk
MDJhMmRhNGNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE4LTAxLTIzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBFeHBvc2UgZ2V0S2V5ZnJhbWVzKCkgYW5kIHBhcnNpbmcgb2YgcmVtYWluaW5nIGtleWZyYW1l
IHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MTk3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzY3NzI1ODY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFdlIGZpbmlzaCBvdXIgaW1wbGVt
ZW50YXRpb24gb2YgbXVsdGlwbGUga2V5ZnJhbWVzIGJ5IGV4cG9zaW5nIHRoZSBnZXRLZXlmcmFt
ZXMoKSBtZXRob2Qgb24gS2V5ZnJhbWVFZmZlY3QgYW5kCisgICAgICAgIHBhcnNpbmcgdGhlIHJl
bWFpbmluZyBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGV4cG9zZWQgb24ga2V5ZnJhbWVzOiAiZWFz
aW5nIiBhbmQgImNvbXBvc2l0ZSIuIEFuZCBzaW5jZSB3ZSBwYXJzZQorICAgICAgICB0aG9zZSBw
cm9wZXJ0aWVzIG9uIGtleWZyYW1lcywgd2UgYWxzbyBwYXJzZSAiZWFzaW5nIiBvbiBBbmltYXRp
b25FZmZlY3RUaW1pbmcgYW5kICJjb21wb3NpdGUiIGFuZCAiaXRlcmF0aW9uQ29tcG9zaXRlIgor
ICAgICAgICBvbiBLZXlmcmFtZUVmZmVjdC4gCisKKyAgICAgICAgVG8gc3VwcG9ydCB0aGlzLCB3
ZSBpbXBsZW1lbnQgYSBuZXcgVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KCkgbWV0
aG9kIHdoaWNoIHRha2VzIGluIGEgc3RyaW5nIHRoYXQgaXMKKyAgICAgICAgYSB2YWx1ZSBwcm92
aWRlZCBkaXJlY3RseSB2aWEgdGhlIEpTIEFQSS4gQXMgaXRzIGNvbnZlcnNlLCB3ZSBleHBvc2Ug
YSBUaW1pbmdGdW5jdGlvbjo6Y3NzVGV4dCgpIG1ldGhvZCB3aGljaAorICAgICAgICBwcm92aWRl
cyBhIHN0cmluZyB0aGF0IGNhbiBiZSBzZW50IGJhY2sgdG8gSlMgdG8gcmVwcmVzZW50IGEgdGlt
aW5nIGZ1bmN0aW9uLCB1c2luZyBrZXl3b3JkcyB3aGVuIHRoZSB0aW1pbmcKKyAgICAgICAgZnVu
Y3Rpb24gbWF0Y2hlcyBvbmUgYW5kIG9tbWl0dGluZyBkZWZhdWx0IHZhbHVlcy4KKworICAgICAg
ICBXZSBub3cgYWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBvcmlnaW5hbCAib2Zmc2V0IiB2YWx1ZSBw
cm92aWRlZCB0aHJvdWdoIHRoZSBKUyBBUEkgc2luY2UgdGhhdCB2YWx1ZSBpcyByZXF1aXJlZAor
ICAgICAgICB3aGVuIGNhbGxpbmcgZ2V0S2V5ZnJhbWVzKCkgYW5kIGRpc3RpbmN0IGZyb20gdGhl
ICJjb21wdXRlZE9mZnNldCIuIFRoZXNlIG9yaWdpbmFsIG9mZnNldHMsIGNvbXBvc2l0ZSBvcGVy
YXRpb25zCisgICAgICAgIGFuZCB0aW1pbmcgZnVuY3Rpb25zIGFyZSBrZXB0IGFzIHNlcGFyYXRl
IFZlY3RvcnMgZnJvbSB0aGUgS2V5ZnJhbWVMaXN0IHNpbmNlIHRoaXMgdHlwZSBkb2VzIG5vdCBz
dXBwb3J0IGV4cG9zaW5nCisgICAgICAgIHRob3NlLiBXZSBtYXkgY29uc2lkZXIgaW1wcm92aW5n
IHRoYXQgaW4gYSBmdXR1cmUgcGF0Y2guCisKKyAgICAgICAgRmluYWxseSwgd2UgbWFrZSBzb21l
IGFkanVzdG1lbnRzIGluIHRoZSBrZXlmcmFtZSBwYXJzaW5nIHRvIGNvbXBseSB3aXRoIHRoZSBz
cGVjaWZpY2F0aW9uIGFuZCBjb3JyZWN0bHkgcGFyc2UKKyAgICAgICAgYWxsIHByb3ZpZGVkIHRp
bWluZyBmdW5jdGlvbnMsIHJlZ2FyZGxlc3Mgb2YgdGhlIG51bWJlciBvZiBrZXlmcmFtZXMgYW5k
IHRpbWluZyBmdW5jdGlvbnMgcHJvdmlkZWQuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgcGF0
Y2ggaXMgb25seSBhYm91dCBwYXJzaW5nLCBzdG9yaW5nIGFuZCByZXR1cm5pbmcgcHJvdmlkZWQg
ZWFzaW5nIGFuZCBjb21wb3NpdGUgb3BlcmF0aW9ucyBidXQKKyAgICAgICAgdGhhdCBzdWNoIHZh
bHVlcyB3aWxsIG9ubHkgYmUgdXNlZCBmb3IgdGhlIHJlc29sdXRpb24gb2YgYW5pbWF0aW9uIGVm
ZmVjdHMgaW4gZnV0dXJlIHBhdGNoZXMuCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9u
RWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdDo6Z2V0Q29tcHV0
ZWRUaW1pbmcpOiBTZXQgdGhlICJlYXNpbmciIHByb3BlcnR5IG9uIHRoZSBnZXRDb21wdXRlZFRp
bWluZygpIHJldHVybiB2YWx1ZQorICAgICAgICBub3cgdGhhdCB3ZSBleHBvc2UgImVhc2luZyIg
b24gQW5pbWF0aW9uRWZmZWN0VGltaW5nLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25F
ZmZlY3RUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uRWZmZWN0VGltaW5n
OjpBbmltYXRpb25FZmZlY3RUaW1pbmcpOiBDcmVhdGUgYSBsaW5lYXIgVGltaW5nRnVuY3Rpb24g
YnkgZGVmYXVsdC4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkVmZmVjdFRpbWluZzo6c2V0
RWFzaW5nKTogUGFyc2UgdGhlICJlYXNpbmciIHZhbHVlIGFuZCBwcm9wYWdhdGUgYW4gZXhjZXB0
aW9uIGZvciBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0VGltaW5nLmg6IEV4cG9zZSB0aGUgbmV3ICJlYXNpbmciIHByb3BlcnR5IGFuZCBiYWNraW5n
IFRpbWluZ0Z1bmN0aW9uLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1p
bmcuaWRsOiBFeHBvc2UgdGhlIG5ldyAiZWFzaW5nIiBwcm9wZXJ0eS4KKyAgICAgICAgKiBhbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlJ
RFRvSURMQXR0cmlidXRlTmFtZSk6IFByb3ZpZGUgYSB3YXkgdG8gY29udmVydCB0aGUgbmFtZSBv
ZiBhIENTUyBwcm9wZXJ0eSB0byBhIHN0cmluZyB0aGF0IGNhbgorICAgICAgICBiZSB1c2VkIHRv
IGdlbmVyYXRlIGEgSlMgcHJvcGVydHkgbmFtZSBmb3IgdXNlIGJ5IGdldEtleWZyYW1lcygpLgor
ICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZU1pc3NpbmdLZXlmcmFtZU9mZnNldHMpOiBJbXBsZW1l
bnQgdGhlIGZ1bGwgc3RlcHMgb2YgdGhlIHNwZWMuCisgICAgICAgIChXZWJDb3JlOjpwcm9jZXNz
SXRlcmFibGVLZXlmcmFtZXMpOiBGaXggYSBwcm9ibGVtYXRpYyBkZWNsYXJhdGlvbiBmb3IgdGhl
IGVhc2luZyB2YXJpYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OnByb2Nlc3NQcm9wZXJ0eUluZGV4
ZWRLZXlmcmFtZXMpOiBOb3cgdGhhdCBQcm9jZXNzZWRLZXlmcmFtZSBoYXMgYm90aCBhbiBvZmZz
ZXQgYW5kIGEgY29tcHV0ZWRPZmZzZXQsIHVzZQorICAgICAgICBjb21wdXRlZCBvZmZzZXRzLiBX
ZSBhbHNvIGZpeCBhIGNvdXBsZSBvZiBsb29wcyB0byBmaXggY29tcGxpYW5jZSBpc3N1ZXMgcmV2
ZWFsZWQgYnkgV1BUIHRlc3RzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmNy
ZWF0ZSk6IFBhcnNlIHRoZSBwcm92aWRlZCAiZWFzaW5nIiBwcm9wZXJ0eSBvbiB0aGUgS2V5ZnJh
bWVFZmZlY3RPcHRpb25zIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0
OjpnZXRLZXlmcmFtZXMpOiBJbXBsZW1lbnQgdGhlIGdldEtleWZyYW1lcygpIG1ldGhvZCBhcyBt
YW5kYXRlZCBieSB0aGUgc3BlYy4KKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpw
cm9jZXNzS2V5ZnJhbWVzKTogS2VlcCBhIGxpc3Qgb2YgdW51c2VkIGVhc2luZ3Mgc28gdGhlc2Ug
bWlnaHQgYmUgcGFyc2VkIGFzIHdlbGwsIGFuZAorICAgICAgICBwb3RlbnRpYWxseSB0aHJvdyBl
eGNlcHRpb25zLCBhcyBtYW5kYXRlZCBieSB0aGUgc3BlYy4gRm9yIHZhbGlkIGVhc2luZ3MsIHN0
b3JlIHRoZWlyIG1hdGNoaW5nIFRpbWluZ0Z1bmN0aW9uIGluCisgICAgICAgIG1fdGltaW5nRnVu
Y3Rpb25zLCBvcmlnaW5hbCBvZmZzZXQgdmFsdWVzIGluIG1fb2Zmc2V0cyBhbmQgQ29tcG9zaXRl
T3BlcmF0aW9uIHZhbHVlcyBpbiBtX2NvbXBvc2l0ZU9wZXJhdGlvbnMuCisgICAgICAgICogYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0Lmg6IFN3aXRjaCB0aGUgb3JkZXIgaW4gd2hpY2ggd2Ugc3Bl
Y2lmeSBzb21lIG9mIHRoZSBWYXJpYW50IHR5cGVzIHNvIHRoYXQgZGVmYXVsdCB2YWx1ZXMKKyAg
ICAgICAgYXJlIGNvcnJlY3RseSB1c2VkLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5pZGw6IFN3aXRjaCB0aGUgb3JkZXIgaW4gd2hpY2ggd2Ugc3BlY2lmeSBzb21lIG9mIHRo
ZSBWYXJpYW50IHR5cGVzIHNvIHRoYXQgZGVmYXVsdCB2YWx1ZXMKKyAgICAgICAgYXJlIGNvcnJl
Y3RseSB1c2VkLgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltaW5nRnVuY3Rpb246OmNzc1RleHQgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oOgorCiAyMDE4LTAxLTIz
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjI3Mjc5IGFuZCByMjI3MzczLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNwcAppbmRleCA3ZTU5MWZiOWQ5ZmFjMGYxNjdk
MGIwNTkzMmJmMGY0YzM0OGNiOWMwLi45YWYxN2E4MWQ1MjNiYjBlZTM1OTgwYjFiNDZiZDFiZWQx
MjkyYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmNw
cApAQCAtNTcsNiArNTcsNyBAQCBDb21wdXRlZFRpbWluZ1Byb3BlcnRpZXMgQW5pbWF0aW9uRWZm
ZWN0OjpnZXRDb21wdXRlZFRpbWluZygpCiAgICAgY29tcHV0ZWRUaW1pbmcuaXRlcmF0aW9ucyA9
IG1fdGltaW5nLT5pdGVyYXRpb25zKCk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZHVyYXRpb24gPSBz
ZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+aXRlcmF0aW9uRHVyYXRpb24o
KSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuZGlyZWN0aW9uID0gbV90aW1pbmctPmRpcmVjdGlvbigp
OworICAgIGNvbXB1dGVkVGltaW5nLmVhc2luZyA9IG1fdGltaW5nLT5lYXNpbmcoKTsKICAgICBj
b21wdXRlZFRpbWluZy5lbmRUaW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0aW9uc0FQSVRpbWUobV90
aW1pbmctPmVuZFRpbWUoKSk7CiAgICAgY29tcHV0ZWRUaW1pbmcuYWN0aXZlRHVyYXRpb24gPSBz
ZWNvbmRzVG9XZWJBbmltYXRpb25zQVBJVGltZShtX3RpbWluZy0+YWN0aXZlRHVyYXRpb24oKSk7
CiAgICAgaWYgKGF1dG8gZWZmZWN0TG9jYWxUaW1lID0gbG9jYWxUaW1lKCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCmluZGV4IGRh
YzVmM2NkMjQyYmFlNWZjZWFkNGZhMDM3ZDM4Mjg0ZGNkZDdjYTMuLjU5YjQzZWM4OTE3MGQ0ZTc3
M2ZiZTg3Y2M3YjFiNGRhM2MzMDQxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuY3BwCkBAIC0zNCw2ICszNCw3IEBAIFJlZjxBbmlt
YXRpb25FZmZlY3RUaW1pbmc+IEFuaW1hdGlvbkVmZmVjdFRpbWluZzo6Y3JlYXRlKCkKIH0KIAog
QW5pbWF0aW9uRWZmZWN0VGltaW5nOjpBbmltYXRpb25FZmZlY3RUaW1pbmcoKQorICAgIDogbV90
aW1pbmdGdW5jdGlvbihMaW5lYXJUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlKCkpCiB7CiB9CiAKQEAg
LTEyMCw0ICsxMjEsMTMgQEAgU2Vjb25kcyBBbmltYXRpb25FZmZlY3RUaW1pbmc6OmFjdGl2ZUR1
cmF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9pdGVyYXRpb25EdXJhdGlvbiAqIG1faXRlcmF0
aW9uczsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gQW5pbWF0aW9uRWZmZWN0VGltaW5nOjpzZXRF
YXNpbmcoY29uc3QgU3RyaW5nJiBlYXNpbmcpCit7CisgICAgYXV0byB0aW1pbmdGdW5jdGlvblJl
c3VsdCA9IFRpbWluZ0Z1bmN0aW9uOjpjcmVhdGVGcm9tQ1NTVGV4dChlYXNpbmcpOworICAgIGlm
ICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIHRp
bWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICBtX3RpbWluZ0Z1bmN0
aW9uID0gdGltaW5nRnVuY3Rpb25SZXN1bHQucmV0dXJuVmFsdWUoKTsKKyAgICByZXR1cm4geyB9
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmgKaW5kZXggYjhkYmJjZmNhMGIzN2VjMzY4NmM4
MTQ0NzMxOTk4ZTYzYjBhYmY0Ni4uYjlmODk5MjY3OTYyYjA5MzMzNmNkMGU0YWI2ZDk5NDU5YmI4
MzljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dFRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RU
aW1pbmcuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5j
bHVkZSAiRmlsbE1vZGUuaCIKICNpbmNsdWRlICJQbGF5YmFja0RpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlRpbWluZ0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CkBAIC03MCw2
ICs3MSwxMCBAQCBwdWJsaWM6CiAgICAgUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9kaXJlY3Rpb247IH0KICAgICB2b2lkIHNldERpcmVjdGlvbihQbGF5YmFj
a0RpcmVjdGlvbiBkaXJlY3Rpb24pIHsgbV9kaXJlY3Rpb24gPSBkaXJlY3Rpb247IH0KIAorICAg
IFN0cmluZyBlYXNpbmcoKSBjb25zdCB7IHJldHVybiBtX3RpbWluZ0Z1bmN0aW9uLT5jc3NUZXh0
KCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRFYXNpbmcoY29uc3QgU3RyaW5nJik7Cisg
ICAgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90aW1p
bmdGdW5jdGlvbi5nZXQoKTsgfQorCiAgICAgU2Vjb25kcyBlbmRUaW1lKCkgY29uc3Q7CiAgICAg
U2Vjb25kcyBhY3RpdmVEdXJhdGlvbigpIGNvbnN0OwogCkBAIC04Miw2ICs4Nyw3IEBAIHByaXZh
dGU6CiAgICAgZG91YmxlIG1faXRlcmF0aW9ucyB7IDEgfTsKICAgICBTZWNvbmRzIG1faXRlcmF0
aW9uRHVyYXRpb24geyAwX3MgfTsKICAgICBQbGF5YmFja0RpcmVjdGlvbiBtX2RpcmVjdGlvbiB7
IFBsYXliYWNrRGlyZWN0aW9uOjpOb3JtYWwgfTsKKyAgICBSZWZQdHI8VGltaW5nRnVuY3Rpb24+
IG1fdGltaW5nRnVuY3Rpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0VGltaW5nLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCmluZGV4
IDAzODA4MmU0MzAzODM2M2RlYTFkNDJiMzhiZmRiN2EzZmJmZTBmYTUuLjQ3MzZmM2JlM2Y3NTYw
ODVhYWJhMzVkNGM0Nzg1MmMzNGQ5YWU4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1pbmcuaWRsCkBAIC0zNCw0ICszNCw1IEBACiAgICAg
W01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBpdGVyYXRp
b25zOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1iaW5kaW5nc0R1cmF0
aW9uXSBhdHRyaWJ1dGUgKHVucmVzdHJpY3RlZCBkb3VibGUgb3IgRE9NU3RyaW5nKSBkdXJhdGlv
bjsKICAgICBhdHRyaWJ1dGUgUGxheWJhY2tEaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBlYXNpbmc7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggYTM4ZGQ3NTRhMjYxMzAw
NTk1MzY2Y2ZjYjhmNGExMTI3NmNmZmM1Yi4uOWFlODllOTdlMjY1ZTNhMzFhMmIyOThjZTFhZmQ0
NTA3NWQwNWFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
Y3BwCkBAIC0yNywxMiArMjcsMTggQEAKICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdC5oIgogCiAj
aW5jbHVkZSAiQW5pbWF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlBbmltYXRpb24uaCIKKyNpbmNsdWRlICJDU1NQ
cm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1
ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5j
bHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb24uaCIKKyNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMu
aCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCisjaW5jbHVkZSAiVGltaW5nRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJXaWxsQ2hhbmdlRGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9VVUlELmg+CiAK
QEAgLTUyLDYgKzU4LDE5IEBAIHN0YXRpYyBpbmxpbmUgQ1NTUHJvcGVydHlJRCBJRExBdHRyaWJ1
dGVOYW1lVG9BbmltYXRpb25Qcm9wZXJ0eU5hbWUoU3RyaW5nIGlkbEF0CiAgICAgcmV0dXJuIENT
U1N0eWxlRGVjbGFyYXRpb246OmdldENTU1Byb3BlcnR5SURGcm9tSmF2YVNjcmlwdFByb3BlcnR5
TmFtZShpZGxBdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3RhdGljIGlubGluZSBTdHJpbmcgQ1NTUHJv
cGVydHlJRFRvSURMQXR0cmlidXRlTmFtZShDU1NQcm9wZXJ0eUlEIGNzc1Byb3BlcnR5SWQpCit7
CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3dlYi1hbmltYXRpb25zLTEvI2FuaW1h
dGlvbi1wcm9wZXJ0eS1uYW1lLXRvLWlkbC1hdHRyaWJ1dGUtbmFtZQorICAgIC8vIDEuIElmIHBy
b3BlcnR5IGZvbGxvd3MgdGhlIDxjdXN0b20tcHJvcGVydHktbmFtZT4gcHJvZHVjdGlvbiwgcmV0
dXJuIHByb3BlcnR5LgorICAgIC8vIDIuIElmIHByb3BlcnR5IHJlZmVycyB0byB0aGUgQ1NTIGZs
b2F0IHByb3BlcnR5LCByZXR1cm4gdGhlIHN0cmluZyAiY3NzRmxvYXQiLgorICAgIGlmIChjc3NQ
cm9wZXJ0eUlkID09IENTU1Byb3BlcnR5RmxvYXQpCisgICAgICAgIHJldHVybiAiY3NzRmxvYXQi
OworICAgIC8vIDMuIElmIHByb3BlcnR5IHJlZmVycyB0byB0aGUgQ1NTIG9mZnNldCBwcm9wZXJ0
eSwgcmV0dXJuIHRoZSBzdHJpbmcgImNzc09mZnNldCIuCisgICAgLy8gRklYTUU6IHdlIGRvbid0
IHN1cHBvcnQgdGhlIENTUyAib2Zmc2V0IiBwcm9wZXJ0eQorICAgIC8vIDQuIE90aGVyd2lzZSwg
cmV0dXJuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIENTUyBwcm9wZXJ0eSB0byBJREwgYXR0
cmlidXRlIGFsZ29yaXRobSBbQ1NTT01dIHRvIHByb3BlcnR5LgorICAgIHJldHVybiBnZXRKU1By
b3BlcnR5TmFtZShjc3NQcm9wZXJ0eUlkKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGNvbXB1
dGVNaXNzaW5nS2V5ZnJhbWVPZmZzZXRzKFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2Vk
S2V5ZnJhbWU+JiBrZXlmcmFtZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L3dlYi1hbmltYXRpb25zLTEvI2NvbXB1dGUtbWlzc2luZy1rZXlmcmFtZS1vZmZzZXRzCkBAIC02
MCwxNSArNzksMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbXB1dGVNaXNzaW5nS2V5ZnJhbWVP
ZmZzZXRzKFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6UHJvY2Vzc2UKICAgICAgICAgcmV0dXJuOwog
CiAgICAgLy8gMS4gRm9yIGVhY2gga2V5ZnJhbWUsIGluIGtleWZyYW1lcywgbGV0IHRoZSBjb21w
dXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGtleWZyYW1lIGJlIGVxdWFsIHRvIGl0cyBrZXlm
cmFtZSBvZmZzZXQgdmFsdWUuCisgICAgZm9yIChhdXRvJiBrZXlmcmFtZSA6IGtleWZyYW1lcykK
KyAgICAgICAga2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQgPSBrZXlmcmFtZS5vZmZzZXQ7CiAKICAg
ICAvLyAyLiBJZiBrZXlmcmFtZXMgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBrZXlmcmFtZSBhbmQg
dGhlIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCBvZiB0aGUgZmlyc3Qga2V5ZnJhbWUgaW4ga2V5
ZnJhbWVzIGlzIG51bGwsCiAgICAgLy8gICAgc2V0IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZz
ZXQgb2YgdGhlIGZpcnN0IGtleWZyYW1lIHRvIDAuCi0gICAgaWYgKGtleWZyYW1lcy5zaXplKCkg
PiAxICYmICFrZXlmcmFtZXNbMF0ub2Zmc2V0KQotICAgICAgICBrZXlmcmFtZXNbMF0ub2Zmc2V0
ID0gMDsKKyAgICBpZiAoa2V5ZnJhbWVzLnNpemUoKSA+IDEgJiYgIWtleWZyYW1lc1swXS5jb21w
dXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzWzBdLmNvbXB1dGVkT2Zmc2V0ID0gMDsKIAog
ICAgIC8vIDMuIElmIHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2YgdGhlIGxhc3Qga2V5
ZnJhbWUgaW4ga2V5ZnJhbWVzIGlzIG51bGwsIHNldCBpdHMgY29tcHV0ZWQga2V5ZnJhbWUgb2Zm
c2V0IHRvIDEuCi0gICAgaWYgKCFrZXlmcmFtZXMubGFzdCgpLm9mZnNldCkKLSAgICAgICAga2V5
ZnJhbWVzLmxhc3QoKS5vZmZzZXQgPSAxOworICAgIGlmICgha2V5ZnJhbWVzLmxhc3QoKS5jb21w
dXRlZE9mZnNldCkKKyAgICAgICAga2V5ZnJhbWVzLmxhc3QoKS5jb21wdXRlZE9mZnNldCA9IDE7
CiAKICAgICAvLyA0LiBGb3IgZWFjaCBwYWlyIG9mIGtleWZyYW1lcyBBIGFuZCBCIHdoZXJlOgog
ICAgIC8vICAgIC0gQSBhcHBlYXJzIGJlZm9yZSBCIGluIGtleWZyYW1lcywgYW5kCkBAIC04MSwx
OCArMTAyLDE4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlTWlzc2luZ0tleWZyYW1lT2Zm
c2V0cyhWZWN0b3I8S2V5ZnJhbWVFZmZlY3Q6OlByb2Nlc3NlCiAgICAgLy8gICAgNC4gU2V0IHRo
ZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yga2V5ZnJhbWUgdG8gb2Zmc2V0QSArIChvZmZz
ZXRCIOKIkiBvZmZzZXRBKSDDlyBpbmRleCAvIG4uCiAgICAgc2l6ZV90IGluZGV4T2ZMYXN0S2V5
ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDE7IGkgPCBr
ZXlmcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBrZXlmcmFtZSA9IGtleWZyYW1l
c1tpXTsKLSAgICAgICAgaWYgKCFrZXlmcmFtZS5vZmZzZXQpCisgICAgICAgIGF1dG8mIGtleWZy
YW1lID0ga2V5ZnJhbWVzW2ldOworICAgICAgICBpZiAoIWtleWZyYW1lLmNvbXB1dGVkT2Zmc2V0
KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChpbmRleE9mTGFzdEtleWZyYW1l
V2l0aE5vbk51bGxPZmZzZXQgPT0gaSAtIDEpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICBkb3VibGUgbGFzdE5vbk51bGxPZmZzZXQgPSBrZXlmcmFtZXNbaW5kZXhPZkxhc3RLZXlm
cmFtZVdpdGhOb25OdWxsT2Zmc2V0XS5vZmZzZXQudmFsdWUoKTsKLSAgICAgICAgZG91YmxlIG9m
ZnNldERlbHRhID0ga2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCkgLSBsYXN0Tm9uTnVsbE9mZnNldDsK
KyAgICAgICAgZG91YmxlIGxhc3ROb25OdWxsT2Zmc2V0ID0ga2V5ZnJhbWVzW2luZGV4T2ZMYXN0
S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldF0uY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKKyAgICAg
ICAgZG91YmxlIG9mZnNldERlbHRhID0ga2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQudmFsdWUoKSAt
IGxhc3ROb25OdWxsT2Zmc2V0OwogICAgICAgICBkb3VibGUgb2Zmc2V0SW5jcmVtZW50ID0gb2Zm
c2V0RGVsdGEgLyAoaSAtIGluZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCk7CiAg
ICAgICAgIHNpemVfdCBpbmRleE9mRmlyc3RLZXlmcmFtZVdpdGhOdWxsT2Zmc2V0ID0gaW5kZXhP
Zkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0ICsgMTsKICAgICAgICAgZm9yIChzaXplX3Qg
aiA9IGluZGV4T2ZGaXJzdEtleWZyYW1lV2l0aE51bGxPZmZzZXQ7IGogPCBpOyArK2opCi0gICAg
ICAgICAgICBrZXlmcmFtZXNbal0ub2Zmc2V0ID0gbGFzdE5vbk51bGxPZmZzZXQgKyAoaiAtIGlu
ZGV4T2ZMYXN0S2V5ZnJhbWVXaXRoTm9uTnVsbE9mZnNldCkgKiBvZmZzZXRJbmNyZW1lbnQ7Cisg
ICAgICAgICAgICBrZXlmcmFtZXNbal0uY29tcHV0ZWRPZmZzZXQgPSBsYXN0Tm9uTnVsbE9mZnNl
dCArIChqIC0gaW5kZXhPZkxhc3RLZXlmcmFtZVdpdGhOb25OdWxsT2Zmc2V0KSAqIG9mZnNldElu
Y3JlbWVudDsKIAogICAgICAgICBpbmRleE9mTGFzdEtleWZyYW1lV2l0aE5vbk51bGxPZmZzZXQg
PSBpOwogICAgIH0KQEAgLTExNyw3ICsxMzgsNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9y
PHZvaWQ+IHByb2Nlc3NJdGVyYWJsZUtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbgog
CiAgICAgICAgIEtleWZyYW1lRWZmZWN0OjpQcm9jZXNzZWRLZXlmcmFtZSBrZXlmcmFtZU91dHB1
dDsKIAotICAgICAgICBTdHJpbmcgZWFzaW5nID0gImxpbmVhciI7CisgICAgICAgIFN0cmluZyBl
YXNpbmcoImxpbmVhciIpOwogICAgICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gb2Zmc2V0Owog
ICAgICAgICBzdGQ6Om9wdGlvbmFsPENvbXBvc2l0ZU9wZXJhdGlvbj4gY29tcG9zaXRlOwogCkBA
IC0yMzAsNyArMjUxLDcgQEAgc3RhdGljIGlubGluZSBFeGNlcHRpb25PcjxLZXlmcmFtZUVmZmVj
dDo6S2V5ZnJhbWVMaWtlT2JqZWN0PiBwcm9jZXNzS2V5ZnJhbWVMaWsKICAgICByZXR1cm4geyBX
VEZNb3ZlKGtleWZyYW1lT3VwdXQpIH07CiB9CiAKLXN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8
dm9pZD4gcHJvY2Vzc1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBT
dHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzSW5wdXQsIFZlY3RvcjxLZXlmcmFtZUVmZmVjdDo6
UHJvY2Vzc2VkS2V5ZnJhbWU+JiBwcm9jZXNzZWRLZXlmcmFtZXMpCitzdGF0aWMgaW5saW5lIEV4
Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRl
JiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lucHV0LCBWZWN0b3I8S2V5ZnJh
bWVFZmZlY3Q6OlByb2Nlc3NlZEtleWZyYW1lPiYgcHJvY2Vzc2VkS2V5ZnJhbWVzLCBWZWN0b3I8
U3RyaW5nPiYgdW51c2VkRWFzaW5ncykKIHsKICAgICAvLyAxLiBMZXQgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZSBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgdGhlIHByb2NlZHVyZSB0byBwcm9j
ZXNzIGEga2V5ZnJhbWUtbGlrZSBvYmplY3QgcGFzc2luZyBvYmplY3QgYXMgdGhlIGtleWZyYW1l
IGlucHV0LgogICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lTGlrZU9iamVjdFJlc3VsdCA9IHByb2Nl
c3NLZXlmcmFtZUxpa2VPYmplY3Qoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpKTsKQEAg
LTI2OCw3ICsyODksNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQ
cm9wZXJ0eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogCiAgICAgLy8gMy4gU29y
dCBwcm9jZXNzZWQga2V5ZnJhbWVzIGJ5IHRoZSBjb21wdXRlZCBrZXlmcmFtZSBvZmZzZXQgb2Yg
ZWFjaCBrZXlmcmFtZSBpbiBpbmNyZWFzaW5nIG9yZGVyLgogICAgIHN0ZDo6c29ydChwcm9jZXNz
ZWRLZXlmcmFtZXMuYmVnaW4oKSwgcHJvY2Vzc2VkS2V5ZnJhbWVzLmVuZCgpLCBbXShhdXRvJiBs
aHMsIGF1dG8mIHJocykgewotICAgICAgICByZXR1cm4gbGhzLm9mZnNldC52YWx1ZSgpIDwgcmhz
Lm9mZnNldC52YWx1ZSgpOworICAgICAgICByZXR1cm4gbGhzLmNvbXB1dGVkT2Zmc2V0LnZhbHVl
KCkgPCByaHMuY29tcHV0ZWRPZmZzZXQudmFsdWUoKTsKICAgICB9KTsKIAogICAgIC8vIDQuIE1l
cmdlIGFkamFjZW50IGtleWZyYW1lcyBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzIHdoZW4gdGhleSBo
YXZlIGVxdWFsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldHMuCkBAIC0yNzksNyArMzAwLDcgQEAg
c3RhdGljIGlubGluZSBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNzUHJvcGVydHlJbmRleGVkS2V5
ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUKICAgICAgICAgLy8gSWYgdGhlIG9mZnNldHMgb2YgdGhp
cyBrZXlmcmFtZSBhbmQgdGhlIHByZXZpb3VzIGtleWZyYW1lIGFyZSBkaWZmZXJlbnQsCiAgICAg
ICAgIC8vIHRoaXMgbWVhbnMgdGhhdCB0aGUgdHdvIGtleWZyYW1lcyBzaG91bGQgbm90IGJlIG1l
cmdlZCBhbmQgd2UgY2FuIG1vdmUKICAgICAgICAgLy8gb24gdG8gdGhlIG5leHQga2V5ZnJhbWUu
Ci0gICAgICAgIGlmIChrZXlmcmFtZS5vZmZzZXQudmFsdWUoKSAhPSBwcmV2aW91c0tleWZyYW1l
Lm9mZnNldC52YWx1ZSgpKSB7CisgICAgICAgIGlmIChrZXlmcmFtZS5jb21wdXRlZE9mZnNldC52
YWx1ZSgpICE9IHByZXZpb3VzS2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQudmFsdWUoKSkgewogICAg
ICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTI5Niw3
ICszMTcsNiBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0
eUluZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8vIDUuIExldCBvZmZzZXRz
IGJlIGEgc2VxdWVuY2Ugb2YgbnVsbGFibGUgZG91YmxlIHZhbHVlcyBhc3NpZ25lZCBiYXNlZCBv
biB0aGUgdHlwZSBvZiB0aGUg4oCcb2Zmc2V04oCdIG1lbWJlciBvZiB0aGUgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZSBhcyBmb2xsb3dzOgogICAgIC8vICAgIC0gc2VxdWVuY2U8ZG91YmxlPz4s
IHRoZSB2YWx1ZSBvZiDigJxvZmZzZXTigJ0gYXMtaXMuCiAgICAgLy8gICAgLSBkb3VibGU/LCBh
IHNlcXVlbmNlIG9mIGxlbmd0aCBvbmUgd2l0aCB0aGUgdmFsdWUgb2Yg4oCcb2Zmc2V04oCdIGFz
IGl0cyBzaW5nbGUgaXRlbSwgaS5lLiDCqyBvZmZzZXQgwrssCi0gICAgLy8gRklYTUU6IHVwZGF0
ZSB0aGlzIHdoZW4gd2UgZmlndXJlIG91dCBob3cgdG8gZGVhbCB3aXRoIG51bGxhYmxlIGRvdWJs
ZXMgaGVyZS4KICAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3VibGU+PiBvZmZzZXRzOwogICAg
IGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPFZlY3RvcjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+
Pihwcm9wZXJ0eUluZGV4ZWRLZXlmcmFtZS5iYXNlUHJvcGVydGllcy5vZmZzZXQpKQogICAgICAg
ICBvZmZzZXRzID0gV1RGOjpnZXQ8VmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4+KHByb3Bl
cnR5SW5kZXhlZEtleWZyYW1lLmJhc2VQcm9wZXJ0aWVzLm9mZnNldCk7CkBAIC0zMjYsMTYgKzM0
NiwxNyBAQCBzdGF0aWMgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IHByb2Nlc3NQcm9wZXJ0eUlu
ZGV4ZWRLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZQogICAgIC8vICAgIGl0ZW1zIGFzIHByb3Bl
cnR5IGtleWZyYW1lcy4KICAgICBpZiAoZWFzaW5ncy5zaXplKCkgPCBwcm9jZXNzZWRLZXlmcmFt
ZXMuc2l6ZSgpKSB7CiAgICAgICAgIHNpemVfdCBpbml0aWFsTnVtYmVyT2ZFYXNpbmdzID0gZWFz
aW5ncy5zaXplKCk7Ci0gICAgICAgIGZvciAoaSA9IGluaXRpYWxOdW1iZXJPZkVhc2luZ3MgKyAx
OyBpIDwgcHJvY2Vzc2VkS2V5ZnJhbWVzLnNpemUoKSAtIDE7ICsraSkKKyAgICAgICAgZm9yIChp
ID0gaW5pdGlhbE51bWJlck9mRWFzaW5ncyArIDE7IGkgPD0gcHJvY2Vzc2VkS2V5ZnJhbWVzLnNp
emUoKTsgKytpKQogICAgICAgICAgICAgZWFzaW5ncy5hcHBlbmQoZWFzaW5nc1tpICUgaW5pdGlh
bE51bWJlck9mRWFzaW5nc10pOwogICAgIH0KIAogICAgIC8vIDEwLiBJZiBlYXNpbmdzIGhhcyBt
b3JlIGl0ZW1zIHRoYW4gcHJvcGVydHkga2V5ZnJhbWVzLCBzdG9yZSB0aGUgZXhjZXNzIGl0ZW1z
IGFzIHVudXNlZCBlYXNpbmdzLgotICAgIC8vIEZJWE1FOiBXZSBkb24ndCBkZWFsIHdpdGggdGhp
cyB5ZXQuCisgICAgd2hpbGUgKGVhc2luZ3Muc2l6ZSgpID4gcHJvY2Vzc2VkS2V5ZnJhbWVzLnNp
emUoKSkKKyAgICAgICAgdW51c2VkRWFzaW5ncy5hcHBlbmQoZWFzaW5ncy50YWtlTGFzdCgpKTsK
IAogICAgIC8vIDExLiBBc3NpZ24gZWFjaCB2YWx1ZSBpbiBlYXNpbmdzIHRvIGEgcHJvcGVydHkg
bmFtZWQg4oCcZWFzaW5n4oCdIG9uIHRoZSBrZXlmcmFtZSB3aXRoIHRoZSBjb3JyZXNwb25kaW5n
IHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbCB0aGUgZW5kIG9mIHByb3BlcnR5
IGtleWZyYW1lcwogICAgIC8vICAgICBpcyByZWFjaGVkLgotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZWFzaW5ncy5zaXplKCkgJiYgaSA8IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7ICsr
aSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7
ICsraSkKICAgICAgICAgcHJvY2Vzc2VkS2V5ZnJhbWVzW2ldLmVhc2luZyA9IGVhc2luZ3NbaV07
CiAKICAgICAvLyAxMi4gSWYgdGhlIOKAnGNvbXBvc2l0ZeKAnSBtZW1iZXIgb2YgdGhlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWUgaXMgbm90IGFuIGVtcHR5IHNlcXVlbmNlOgpAQCAtMzUxLDcg
KzM3Miw3IEBAIHN0YXRpYyBpbmxpbmUgRXhjZXB0aW9uT3I8dm9pZD4gcHJvY2Vzc1Byb3BlcnR5
SW5kZXhlZEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlCiAgICAgICAgIC8vICAgIHRoZSBsaXN0
IHVudGlsIGNvbXBvc2l0ZSBtb2RlcyBoYXMgYXMgbWFueSBpdGVtcyBhcyBwcm9wZXJ0eSBrZXlm
cmFtZXMuCiAgICAgICAgIGlmIChjb21wb3NpdGVNb2Rlcy5zaXplKCkgPCBwcm9jZXNzZWRLZXlm
cmFtZXMuc2l6ZSgpKSB7CiAgICAgICAgICAgICBzaXplX3QgaW5pdGlhbE51bWJlck9mQ29tcG9z
aXRlTW9kZXMgPSBjb21wb3NpdGVNb2Rlcy5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKGkgPSBp
bml0aWFsTnVtYmVyT2ZDb21wb3NpdGVNb2RlcyArIDE7IGkgPCBwcm9jZXNzZWRLZXlmcmFtZXMu
c2l6ZSgpIC0gMTsgKytpKQorICAgICAgICAgICAgZm9yIChpID0gaW5pdGlhbE51bWJlck9mQ29t
cG9zaXRlTW9kZXMgKyAxOyBpIDw9IHByb2Nlc3NlZEtleWZyYW1lcy5zaXplKCk7ICsraSkKICAg
ICAgICAgICAgICAgICBjb21wb3NpdGVNb2Rlcy5hcHBlbmQoY29tcG9zaXRlTW9kZXNbaSAlIGlu
aXRpYWxOdW1iZXJPZkNvbXBvc2l0ZU1vZGVzXSk7CiAgICAgICAgIH0KICAgICAgICAgLy8gMy4g
QXNzaWduIGVhY2ggdmFsdWUgaW4gY29tcG9zaXRlIG1vZGVzIHRvIHRoZSBrZXlmcmFtZS1zcGVj
aWZpYyBjb21wb3NpdGUgb3BlcmF0aW9uIG9uIHRoZSBrZXlmcmFtZSB3aXRoIHRoZSBjb3JyZXNw
b25kaW5nIHBvc2l0aW9uIGluIHByb3BlcnR5IGtleWZyYW1lcyB1bnRpbApAQCAtMzg5LDYgKzQx
MCw5IEBAIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVjdD4+IEtleWZyYW1lRWZmZWN0Ojpj
cmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVuCiAgICAgICAgICAgICBpZiAoc2V0SXRlcmF0
aW9uc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgICAgICByZXR1cm4gc2V0SXRl
cmF0aW9uc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBrZXlmcmFtZUVm
ZmVjdC0+dGltaW5nKCktPnNldERpcmVjdGlvbihrZXlmcmFtZUVmZmVjdE9wdGlvbnMuZGlyZWN0
aW9uKTsKKyAgICAgICAgICAgIGF1dG8gc2V0RWFzaW5nUmVzdWx0ID0ga2V5ZnJhbWVFZmZlY3Qt
PnRpbWluZygpLT5zZXRFYXNpbmcoa2V5ZnJhbWVFZmZlY3RPcHRpb25zLmVhc2luZyk7CisgICAg
ICAgICAgICBpZiAoc2V0RWFzaW5nUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBzZXRFYXNpbmdSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgICAgICB9
CiAKICAgICAgICAgYXV0byBzZXRCaW5kaW5nc0R1cmF0aW9uUmVzdWx0ID0ga2V5ZnJhbWVFZmZl
Y3QtPnRpbWluZygpLT5zZXRCaW5kaW5nc0R1cmF0aW9uKFdURk1vdmUoYmluZGluZ3NEdXJhdGlv
bikpOwpAQCAtNDA2LDYgKzQzMCw3NCBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3Qo
RWxlbWVudCogdGFyZ2V0KQogewogfQogCitWZWN0b3I8U3Ryb25nPEpTT2JqZWN0Pj4gS2V5ZnJh
bWVFZmZlY3Q6OmdldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlKQoreworICAgIC8vIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNkb20ta2V5ZnJhbWVlZmZlY3Ry
ZWFkb25seS1nZXRrZXlmcmFtZXMKKworICAgIGF1dG8gbG9jayA9IEpTTG9ja0hvbGRlciB7ICZz
dGF0ZSB9OworCisgICAgLy8gU2luY2Uga2V5ZnJhbWVzIGFyZSByZXByZXNlbnRlZCBieSBhIHBh
cnRpYWxseSBvcGVuLWVuZGVkIGRpY3Rpb25hcnkgdHlwZSB0aGF0IGlzIG5vdCBjdXJyZW50bHkg
YWJsZSB0byBiZSBleHByZXNzZWQgd2l0aCBXZWJJREwsCisgICAgLy8gdGhlIHByb2NlZHVyZSB1
c2VkIHRvIHByZXBhcmUgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBpcyBkZWZpbmVkIGluIHBy
b3NlIGJlbG93OgorICAgIC8vCisgICAgLy8gMS4gTGV0IHJlc3VsdCBiZSBhbiBlbXB0eSBzZXF1
ZW5jZSBvZiBvYmplY3RzLgorICAgIFZlY3RvcjxTdHJvbmc8SlNPYmplY3Q+PiByZXN1bHQ7CisK
KyAgICAvLyAyLiBMZXQga2V5ZnJhbWVzIGJlIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgdGhlIHBy
b2NlZHVyZSB0byBjb21wdXRlIG1pc3Npbmcga2V5ZnJhbWUgb2Zmc2V0cyB0byB0aGUga2V5ZnJh
bWVzIGZvciB0aGlzIGtleWZyYW1lIGVmZmVjdC4KKworICAgIC8vIDMuIEZvciBlYWNoIGtleWZy
YW1lIGluIGtleWZyYW1lcyBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtX2tleWZyYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRv
JiBrZXlmcmFtZSA9IG1fa2V5ZnJhbWVzW2ldOworCisgICAgICAgIC8vIDEuIEluaXRpYWxpemUg
YSBkaWN0aW9uYXJ5IG9iamVjdCwgb3V0cHV0IGtleWZyYW1lLCB1c2luZyB0aGUgZm9sbG93aW5n
IGRlZmluaXRpb246CisgICAgICAgIC8vCisgICAgICAgIC8vIGRpY3Rpb25hcnkgQmFzZUNvbXB1
dGVkS2V5ZnJhbWUgeworICAgICAgICAvLyAgICAgIGRvdWJsZT8gICAgICAgICAgICBvZmZzZXQg
PSBudWxsOworICAgICAgICAvLyAgICAgIGRvdWJsZSAgICAgICAgICAgICBjb21wdXRlZE9mZnNl
dDsKKyAgICAgICAgLy8gICAgICBET01TdHJpbmcgICAgICAgICAgZWFzaW5nID0gImxpbmVhciI7
CisgICAgICAgIC8vICAgICAgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZTsKKyAgICAgICAg
Ly8gfTsKKworICAgICAgICAvLyAyLiBTZXQgb2Zmc2V0LCBjb21wdXRlZE9mZnNldCwgZWFzaW5n
IG1lbWJlcnMgb2Ygb3V0cHV0IGtleWZyYW1lIHRvIHRoZSByZXNwZWN0aXZlIHZhbHVlcyBrZXlm
cmFtZSBvZmZzZXQsIGNvbXB1dGVkIGtleWZyYW1lIG9mZnNldCwKKyAgICAgICAgLy8gYW5kIGtl
eWZyYW1lLXNwZWNpZmljIHRpbWluZyBmdW5jdGlvbiBvZiBrZXlmcmFtZS4KKworICAgICAgICAv
LyAzLiBJZiBrZXlmcmFtZSBoYXMgYSBrZXlmcmFtZS1zcGVjaWZpYyBjb21wb3NpdGUgb3BlcmF0
aW9uLCBzZXQgY29tcG9zaXRlIHRvIHRoYXQgdmFsdWUuCisgICAgICAgIEJhc2VDb21wdXRlZEtl
eWZyYW1lIGNvbXB1dGVkS2V5ZnJhbWU7CisgICAgICAgIGNvbXB1dGVkS2V5ZnJhbWUub2Zmc2V0
ID0gbV9vZmZzZXRzW2ldOworICAgICAgICBjb21wdXRlZEtleWZyYW1lLmNvbXB1dGVkT2Zmc2V0
ID0ga2V5ZnJhbWUua2V5KCk7CisgICAgICAgIGNvbXB1dGVkS2V5ZnJhbWUuZWFzaW5nID0gbV90
aW1pbmdGdW5jdGlvbnNbaV0tPmNzc1RleHQoKTsKKworICAgICAgICBhdXRvIG91dHB1dEtleWZy
YW1lID0gY29udmVydERpY3Rpb25hcnlUb0pTKHN0YXRlLCAqanNDYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oc3RhdGUubGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgY29tcHV0ZWRLZXlmcmFtZSk7CisK
KyAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5vbi1udWxsIENvbXBvc2l0ZU9wZXJhdGlvbiBmb3Ig
dGhpcyBrZXlmcmFtZXMsIHNldCB0aGUgSlMgcHJvcGVydHkgZm9yIGl0LgorICAgICAgICBpZiAo
YXV0byBjb21wb3NpdGVPcGVyYXRpb24gPSBtX2NvbXBvc2l0ZU9wZXJhdGlvbnNbaV0pIHsKKyAg
ICAgICAgICAgIFByb3BlcnR5RGVzY3JpcHRvciBwcm9wZXJ0eURlc2NyaXB0b3IoY29udmVydEVu
dW1lcmF0aW9uVG9KUyhzdGF0ZSwgY29tcG9zaXRlT3BlcmF0aW9uLnZhbHVlKCkpLCAwKTsKKyAg
ICAgICAgICAgIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShvdXRwdXRLZXlmcmFtZSwgJnN0
YXRlLCBBdG9taWNTdHJpbmcoImNvbXBvc2l0ZSIpLmltcGwoKSwgcHJvcGVydHlEZXNjcmlwdG9y
LCBmYWxzZSk7CisgICAgICAgIH0KKworICAgICAgICBhdXRvJiBzdHlsZSA9ICprZXlmcmFtZS5z
dHlsZSgpOworICAgICAgICBhdXRvIGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IgPSBDb21wdXRlZFN0
eWxlRXh0cmFjdG9yKG1fdGFyZ2V0LmdldCgpKTsKKworICAgICAgICAvLyA0LiBGb3IgZWFjaCBh
bmltYXRpb24gcHJvcGVydHktdmFsdWUgcGFpciBzcGVjaWZpZWQgb24ga2V5ZnJhbWUsIGRlY2xh
cmF0aW9uLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgICAgIGZvciAoYXV0byBj
c3NQcm9wZXJ0eUlkIDoga2V5ZnJhbWUucHJvcGVydGllcygpKSB7CisgICAgICAgICAgICAvLyAx
LiBMZXQgcHJvcGVydHkgbmFtZSBiZSB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBhbmltYXRp
b24gcHJvcGVydHkgbmFtZSB0byBJREwgYXR0cmlidXRlIG5hbWUgYWxnb3JpdGhtIHRvIHRoZSBw
cm9wZXJ0eSBuYW1lIG9mIGRlY2xhcmF0aW9uLgorICAgICAgICAgICAgYXV0byBwcm9wZXJ0eU5h
bWUgPSBDU1NQcm9wZXJ0eUlEVG9JRExBdHRyaWJ1dGVOYW1lKGNzc1Byb3BlcnR5SWQpOworICAg
ICAgICAgICAgLy8gMi4gTGV0IElETCB2YWx1ZSBiZSB0aGUgcmVzdWx0IG9mIHNlcmlhbGl6aW5n
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBvZiBkZWNsYXJhdGlvbiBieSBwYXNzaW5nIGRlY2xhcmF0aW9u
IHRvIHRoZSBhbGdvcml0aG0gdG8gc2VyaWFsaXplIGEgQ1NTIHZhbHVlLgorICAgICAgICAgICAg
YXV0byBpZGxWYWx1ZSA9IGNvbXB1dGVkU3R5bGVFeHRyYWN0b3IudmFsdWVGb3JQcm9wZXJ0eWlu
U3R5bGUoc3R5bGUsIGNzc1Byb3BlcnR5SWQpLT5jc3NUZXh0KCk7CisgICAgICAgICAgICAvLyAz
LiBMZXQgdmFsdWUgYmUgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIElETCB2YWx1ZSB0byBhbiBF
Q01BU2NyaXB0IFN0cmluZyB2YWx1ZS4KKyAgICAgICAgICAgIGF1dG8gdmFsdWUgPSB0b0pTPElE
TERPTVN0cmluZz4oc3RhdGUsIGlkbFZhbHVlKTsKKyAgICAgICAgICAgIC8vIDQuIENhbGwgdGhl
IFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb24gb3V0cHV0IGtleWZyYW1l
IHdpdGggcHJvcGVydHkgbmFtZSBwcm9wZXJ0eSBuYW1lLAorICAgICAgICAgICAgLy8gICAgUHJv
cGVydHkgRGVzY3JpcHRvciB7IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRy
dWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUsIFtbVmFsdWVdXTogdmFsdWUgfSBhbmQgQm9vbGVh
biBmbGFnIGZhbHNlLgorICAgICAgICAgICAgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5KG91
dHB1dEtleWZyYW1lLCAmc3RhdGUsIEF0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpLmltcGwoKSwg
UHJvcGVydHlEZXNjcmlwdG9yKHZhbHVlLCAwKSwgZmFsc2UpOworICAgICAgICB9CisKKyAgICAg
ICAgLy8gNS4gQXBwZW5kIG91dHB1dCBrZXlmcmFtZSB0byByZXN1bHQuCisgICAgICAgIHJlc3Vs
dC5hcHBlbmQoSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4geyBzdGF0ZS52bSgpLCBvdXRwdXRL
ZXlmcmFtZSB9KTsKKyAgICB9CisKKyAgICAvLyA0LiBSZXR1cm4gcmVzdWx0LgorICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0OjpzZXRLZXlm
cmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2JqZWN0PiYmIGtleWZyYW1lc0lucHV0
KQogewogICAgIHJldHVybiBwcm9jZXNzS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZyYW1l
c0lucHV0KSk7CkBAIC00MzAsMTMgKzUyMiwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFt
ZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYgog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9KTsK
IAogICAgIC8vIDUuIFBlcmZvcm0gdGhlIHN0ZXBzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0
IG1hdGNoaW5nIGNvbmRpdGlvbiBmcm9tIGJlbG93LAorICAgIFZlY3RvcjxTdHJpbmc+IHVudXNl
ZEVhc2luZ3M7CiAgICAgaWYgKCFtZXRob2QuaXNVbmRlZmluZWQoKSkKICAgICAgICAgcHJvY2Vz
c0l0ZXJhYmxlS2V5ZnJhbWVzKHN0YXRlLCBXVEZNb3ZlKGtleWZyYW1lc0lucHV0KSwgV1RGTW92
ZShtZXRob2QpLCBwcm9jZXNzZWRLZXlmcmFtZXMpOwogICAgIGVsc2UKLSAgICAgICAgcHJvY2Vz
c1Byb3BlcnR5SW5kZXhlZEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXNJbnB1dCks
IHByb2Nlc3NlZEtleWZyYW1lcyk7Ci0KLSAgICBpZiAoIXByb2Nlc3NlZEtleWZyYW1lcy5zaXpl
KCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHByb2Nlc3NQcm9wZXJ0eUluZGV4ZWRL
ZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzSW5wdXQpLCBwcm9jZXNzZWRLZXlmcmFt
ZXMsIHVudXNlZEVhc2luZ3MpOwogCiAgICAgLy8gNi4gSWYgcHJvY2Vzc2VkIGtleWZyYW1lcyBp
cyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0LCB0aHJvdyBhIFR5cGVFcnJvciBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCiAgICAgLy8gNy4gSWYgdGhlcmUgZXhpc3QgYW55IGtleWZyYW1lIGlu
IHByb2Nlc3NlZCBrZXlmcmFtZXMgd2hvc2Uga2V5ZnJhbWUgb2Zmc2V0IGlzIG5vbi1udWxsIGFu
ZCBsZXNzIHRoYW4KQEAgLTQ1NiwxMSArNTQ2LDE4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZy
YW1lRWZmZWN0Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09i
CiAgICAgY29tcHV0ZU1pc3NpbmdLZXlmcmFtZU9mZnNldHMocHJvY2Vzc2VkS2V5ZnJhbWVzKTsK
IAogICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3Jl
YXRlQ2Fub25pY2FsVVVJRFN0cmluZygpKTsKKyAgICBWZWN0b3I8c3RkOjpvcHRpb25hbDxkb3Vi
bGU+PiBvZmZzZXRzOworICAgIFZlY3RvcjxSZWZQdHI8VGltaW5nRnVuY3Rpb24+PiB0aW1pbmdG
dW5jdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29tcG9zaXRlT3BlcmF0aW9uPj4g
Y29tcG9zaXRlT3BlcmF0aW9uczsKKwogICAgIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIg
PSBtX3RhcmdldC0+c3R5bGVSZXNvbHZlcigpOwogICAgIGF1dG8gcGFyc2VyQ29udGV4dCA9IENT
U1BhcnNlckNvbnRleHQoSFRNTFN0YW5kYXJkTW9kZSk7CiAKICAgICAvLyA4LiBGb3IgZWFjaCBm
cmFtZSBpbiBwcm9jZXNzZWQga2V5ZnJhbWVzLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6
CiAgICAgZm9yIChhdXRvJiBrZXlmcmFtZSA6IHByb2Nlc3NlZEtleWZyYW1lcykgeworICAgICAg
ICBvZmZzZXRzLmFwcGVuZChrZXlmcmFtZS5vZmZzZXQpOworICAgICAgICBjb21wb3NpdGVPcGVy
YXRpb25zLmFwcGVuZChrZXlmcmFtZS5jb21wb3NpdGUpOworCiAgICAgICAgIC8vIDEuIEZvciBl
YWNoIHByb3BlcnR5LXZhbHVlIHBhaXIgaW4gZnJhbWUsIHBhcnNlIHRoZSBwcm9wZXJ0eSB2YWx1
ZSB1c2luZyB0aGUgc3ludGF4IHNwZWNpZmllZCBmb3IgdGhhdCBwcm9wZXJ0eS4KICAgICAgICAg
Ly8gICAgSWYgdGhlIHByb3BlcnR5IHZhbHVlIGlzIGludmFsaWQgYWNjb3JkaW5nIHRvIHRoZSBz
eW50YXggZm9yIHRoZSBwcm9wZXJ0eSwgZGlzY2FyZCB0aGUgcHJvcGVydHktdmFsdWUgcGFpci4K
ICAgICAgICAgLy8gICAgVXNlciBhZ2VudHMgdGhhdCBwcm92aWRlIHN1cHBvcnQgZm9yIGRpYWdu
b3NpbmcgZXJyb3JzIGluIGNvbnRlbnQgU0hPVUxEIHByb2R1Y2UgYW4gYXBwcm9wcmlhdGUgd2Fy
bmluZwpAQCAtNDc0LDcgKzU3MSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0
Ojpwcm9jZXNzS2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iCiAgICAgICAg
ICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjsgIik7CiAgICAgICAgIH0KIAotICAgICAgICBL
ZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFsdWUoa2V5ZnJhbWUub2Zmc2V0LnZhbHVlKCksIG51bGxw
dHIpOworICAgICAgICBLZXlmcmFtZVZhbHVlIGtleWZyYW1lVmFsdWUoa2V5ZnJhbWUuY29tcHV0
ZWRPZmZzZXQudmFsdWUoKSwgbnVsbHB0cik7CiAgICAgICAgIGF1dG8gcmVuZGVyU3R5bGUgPSBS
ZW5kZXJTdHlsZTo6Y3JlYXRlUHRyKCk7CiAgICAgICAgIGF1dG8gc3R5bGVQcm9wZXJ0aWVzID0g
TXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CiAgICAgICAgIHN0eWxlUHJvcGVydGll
cy0+cGFyc2VEZWNsYXJhdGlvbihjc3NUZXh0LnRvU3RyaW5nKCksIHBhcnNlckNvbnRleHQpOwpA
QCAtNDk0LDE1ICs1OTEsMjUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJhbWVFZmZlY3Q6OnBy
b2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3Ryb25nPEpTT2IKICAgICAgICAgLy8g
Mi4gTGV0IHRoZSB0aW1pbmcgZnVuY3Rpb24gb2YgZnJhbWUgYmUgdGhlIHJlc3VsdCBvZiBwYXJz
aW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgb24gZnJhbWUgdXNpbmcgdGhlIENTUyBzeW50
YXgKICAgICAgICAgLy8gICAgZGVmaW5lZCBmb3IgdGhlIGVhc2luZyBwcm9wZXJ0eSBvZiB0aGUg
QW5pbWF0aW9uRWZmZWN0VGltaW5nUmVhZE9ubHkgaW50ZXJmYWNlLgogICAgICAgICAvLyAgICBJ
ZiBwYXJzaW5nIHRoZSDigJxlYXNpbmfigJ0gcHJvcGVydHkgZmFpbHMsIHRocm93IGEgVHlwZUVy
cm9yIGFuZCBhYm9ydCB0aGlzIHByb2NlZHVyZS4KLSAgICAgICAgLy8gRklYTUU6IGltcGxlbWVu
dCB3aGVuIHdlIHN1cHBvcnQgZWFzaW5nLgorICAgICAgICBhdXRvIHRpbWluZ0Z1bmN0aW9uUmVz
dWx0ID0gVGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KGtleWZyYW1lLmVhc2luZyk7
CisgICAgICAgIGlmICh0aW1pbmdGdW5jdGlvblJlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAg
ICAgICAgIHJldHVybiB0aW1pbmdGdW5jdGlvblJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7Cisg
ICAgICAgIHRpbWluZ0Z1bmN0aW9ucy5hcHBlbmQodGltaW5nRnVuY3Rpb25SZXN1bHQucmV0dXJu
VmFsdWUoKSk7CiAgICAgfQogCiAgICAgLy8gOS4gUGFyc2UgZWFjaCBvZiB0aGUgdmFsdWVzIGlu
IHVudXNlZCBlYXNpbmdzIHVzaW5nIHRoZSBDU1Mgc3ludGF4IGRlZmluZWQgZm9yIGVhc2luZyBw
cm9wZXJ0eSBvZiB0aGUKICAgICAvLyAgICBBbmltYXRpb25FZmZlY3RUaW1pbmdSZWFkT25seSBp
bnRlcmZhY2UsIGFuZCBpZiBhbnkgb2YgdGhlIHZhbHVlcyBmYWlsIHRvIHBhcnNlLCB0aHJvdyBh
IFR5cGVFcnJvcgogICAgIC8vICAgIGFuZCBhYm9ydCB0aGlzIHByb2NlZHVyZS4KLSAgICAvLyBG
SVhNRTogaW1wbGVtZW50IHdoZW4gd2Ugc3VwcG9ydCBlYXNpbmcuCisgICAgZm9yIChhdXRvJiBl
YXNpbmcgOiB1bnVzZWRFYXNpbmdzKSB7CisgICAgICAgIGF1dG8gdGltaW5nRnVuY3Rpb25SZXN1
bHQgPSBUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQoZWFzaW5nKTsKKyAgICAgICAg
aWYgKHRpbWluZ0Z1bmN0aW9uUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIHRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICB9CiAKKyAg
ICBtX29mZnNldHMgPSBXVEZNb3ZlKG9mZnNldHMpOwogICAgIG1fa2V5ZnJhbWVzID0gV1RGTW92
ZShrZXlmcmFtZUxpc3QpOworICAgIG1fdGltaW5nRnVuY3Rpb25zID0gV1RGTW92ZSh0aW1pbmdG
dW5jdGlvbnMpOworICAgIG1fY29tcG9zaXRlT3BlcmF0aW9ucyA9IFdURk1vdmUoY29tcG9zaXRl
T3BlcmF0aW9ucyk7CiAKICAgICBjb21wdXRlU3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKaW5kZXggZWFkNmIyODM4NjQy
NjRiYjI5N2RiNDU5MDk0ZmJhYjMyMjhjNGQyZi4uMDNjOTBiNTk3YzMxNDE2YzNjNGZkNjUyM2Uz
YmJhNWJlMmM5NWViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0
LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3RUaW1pbmdQcm9w
ZXJ0aWVzLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5oIgogI2luY2x1
ZGUgIkNvbXBvc2l0ZU9wZXJhdGlvbi5oIgorI2luY2x1ZGUgIkl0ZXJhdGlvbkNvbXBvc2l0ZU9w
ZXJhdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0T3B0aW9ucy5oIgogI2luY2x1ZGUg
IktleWZyYW1lTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC00NSw5ICs0Niw5
IEBAIHB1YmxpYzoKICAgICB+S2V5ZnJhbWVFZmZlY3QoKSB7IH0KIAogICAgIHN0cnVjdCBCYXNl
UHJvcGVydHlJbmRleGVkS2V5ZnJhbWUgewotICAgICAgICBWYXJpYW50PHN0ZDo6bnVsbHB0cl90
LCBkb3VibGUsIFZlY3RvcjxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+PiBvZmZzZXQ7Ci0gICAgICAg
IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj4gZWFzaW5nOwotICAgICAgICBWYXJpYW50
PENvbXBvc2l0ZU9wZXJhdGlvbiwgVmVjdG9yPENvbXBvc2l0ZU9wZXJhdGlvbj4+IGNvbXBvc2l0
ZTsKKyAgICAgICAgVmFyaWFudDxzdGQ6Om51bGxwdHJfdCwgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPj4sIGRvdWJsZT4gb2Zmc2V0ID0gVmVjdG9yPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4o
KTsKKyAgICAgICAgVmFyaWFudDxWZWN0b3I8U3RyaW5nPiwgU3RyaW5nPiBlYXNpbmcgPSBWZWN0
b3I8U3RyaW5nPigpOworICAgICAgICBWYXJpYW50PFZlY3RvcjxDb21wb3NpdGVPcGVyYXRpb24+
LCBDb21wb3NpdGVPcGVyYXRpb24+IGNvbXBvc2l0ZSA9IFZlY3RvcjxDb21wb3NpdGVPcGVyYXRp
b24+KCk7CiAgICAgfTsKIAogICAgIHN0cnVjdCBQcm9wZXJ0eUFuZFZhbHVlcyB7CkBAIC02Mywx
MiArNjQsMjYgQEAgcHVibGljOgogICAgIHN0cnVjdCBQcm9jZXNzZWRLZXlmcmFtZSB7CiAgICAg
ICAgIFN0cmluZyBlYXNpbmc7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBvZmZzZXQ7
CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjb21wdXRlZE9mZnNldDsKICAgICAgICAg
c3RkOjpvcHRpb25hbDxDb21wb3NpdGVPcGVyYXRpb24+IGNvbXBvc2l0ZTsKICAgICAgICAgSGFz
aE1hcDxDU1NQcm9wZXJ0eUlELCBTdHJpbmc+IGNzc1Byb3BlcnRpZXNBbmRWYWx1ZXM7CiAgICAg
fTsKIAorICAgIHN0cnVjdCBCYXNlQ29tcHV0ZWRLZXlmcmFtZSB7CisgICAgICAgIHN0ZDo6b3B0
aW9uYWw8ZG91YmxlPiBvZmZzZXQ7CisgICAgICAgIGRvdWJsZSBjb21wdXRlZE9mZnNldDsKKyAg
ICAgICAgU3RyaW5nIGVhc2luZyB7ICJsaW5lYXIiIH07CisgICAgfTsKKwogICAgIEVsZW1lbnQq
IHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOyB9CisgICAgVmVjdG9yPEpT
Qzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiBnZXRLZXlmcmFtZXMoSlNDOjpFeGVjU3RhdGUmKTsK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRLZXlmcmFtZXMoSlNDOjpFeGVjU3RhdGUmLCBKU0M6
OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmKTsKKworICAgIEl0ZXJhdGlvbkNvbXBvc2l0ZU9wZXJh
dGlvbiBpdGVyYXRpb25Db21wb3NpdGUoKSBjb25zdCB7IHJldHVybiBtX2l0ZXJhdGlvbkNvbXBv
c2l0ZU9wZXJhdGlvbjsgfQorICAgIHZvaWQgc2V0SXRlcmF0aW9uQ29tcG9zaXRlKEl0ZXJhdGlv
bkNvbXBvc2l0ZU9wZXJhdGlvbiBpdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb24pIHsgbV9pdGVy
YXRpb25Db21wb3NpdGVPcGVyYXRpb24gPSBpdGVyYXRpb25Db21wb3NpdGVPcGVyYXRpb247IH0K
KyAgICBDb21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRlKCkgY29uc3QgeyByZXR1cm4gbV9jb21w
b3NpdGVPcGVyYXRpb247IH0KKyAgICB2b2lkIHNldENvbXBvc2l0ZShDb21wb3NpdGVPcGVyYXRp
b24gY29tcG9zaXRlT3BlcmF0aW9uKSB7IG1fY29tcG9zaXRlT3BlcmF0aW9uID0gY29tcG9zaXRl
T3BlcmF0aW9uOyB9CisKICAgICB2b2lkIGdldEFuaW1hdGVkU3R5bGUoc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSk7CiAgICAgdm9pZCBhcHBseUF0TG9jYWxUaW1l
KFNlY29uZHMsIFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdGFydE9yU3RvcEFj
Y2VsZXJhdGVkKCk7CkBAIC05Miw3ICsxMDcsMTIgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3Vs
ZFJ1bkFjY2VsZXJhdGVkKCk7CiAKICAgICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CisgICAg
SXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uIG1faXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9u
IHsgSXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBsYWNlIH07CisgICAgQ29tcG9zaXRl
T3BlcmF0aW9uIG1fY29tcG9zaXRlT3BlcmF0aW9uIHsgQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBs
YWNlIH07CiAgICAgS2V5ZnJhbWVMaXN0IG1fa2V5ZnJhbWVzOworICAgIFZlY3RvcjxzdGQ6Om9w
dGlvbmFsPGRvdWJsZT4+IG1fb2Zmc2V0czsKKyAgICBWZWN0b3I8UmVmUHRyPFRpbWluZ0Z1bmN0
aW9uPj4gbV90aW1pbmdGdW5jdGlvbnM7CisgICAgVmVjdG9yPHN0ZDo6b3B0aW9uYWw8Q29tcG9z
aXRlT3BlcmF0aW9uPj4gbV9jb21wb3NpdGVPcGVyYXRpb25zOwogICAgIGJvb2wgbV90cmlnZ2Vy
c1N0YWNraW5nQ29udGV4dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N0YXJ0ZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9zdGFydGVkQWNjZWxlcmF0ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKaW5kZXggODY4YzNkYTk1YTc1MGNhNmUw
NzViNjU4ZjlkYjc4ZjMyMmE5ODRkZS4uMzhmZjFmMDZiODNhMzU2OTI4MjkyYjU5MjE1NDFiMTk3
NWM4MTVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRs
CkBAIC0zMCwxMSArMzAsMjIgQEAKICAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0YXJnZXQsIG9i
amVjdD8ga2V5ZnJhbWVzLCBvcHRpb25hbCAodW5yZXN0cmljdGVkIGRvdWJsZSBvciBLZXlmcmFt
ZUVmZmVjdE9wdGlvbnMpIG9wdGlvbnMpCiBdIGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFu
aW1hdGlvbkVmZmVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsK
KyAgICBhdHRyaWJ1dGUgSXRlcmF0aW9uQ29tcG9zaXRlT3BlcmF0aW9uIGl0ZXJhdGlvbkNvbXBv
c2l0ZTsKKyAgICBhdHRyaWJ1dGUgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZTsKKyAgICBb
Q2FsbFdpdGg9U2NyaXB0U3RhdGVdIHNlcXVlbmNlPG9iamVjdD4gZ2V0S2V5ZnJhbWVzKCk7CiAg
ICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gdm9pZCBzZXRLZXlm
cmFtZXMob2JqZWN0PyBrZXlmcmFtZXMpOwogfTsKIAogZGljdGlvbmFyeSBCYXNlUHJvcGVydHlJ
bmRleGVkS2V5ZnJhbWUgewotICAgIChkb3VibGU/IG9yIHNlcXVlbmNlPGRvdWJsZT8+KSBvZmZz
ZXQgPSBbXTsKLSAgICAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pIGVhc2luZyA9
IFtdOwotICAgIChDb21wb3NpdGVPcGVyYXRpb24gb3Igc2VxdWVuY2U8Q29tcG9zaXRlT3BlcmF0
aW9uPikgY29tcG9zaXRlID0gW107CisgICAgKHNlcXVlbmNlPGRvdWJsZT8+IG9yIGRvdWJsZT8p
IG9mZnNldCA9IFtdOworICAgIChzZXF1ZW5jZTxET01TdHJpbmc+IG9yIERPTVN0cmluZykgZWFz
aW5nID0gW107CisgICAgKHNlcXVlbmNlPENvbXBvc2l0ZU9wZXJhdGlvbj4gb3IgQ29tcG9zaXRl
T3BlcmF0aW9uKSBjb21wb3NpdGUgPSBbXTsKK307CisKK1sKKyAgICBKU0dlbmVyYXRlVG9KU09i
amVjdAorXSBkaWN0aW9uYXJ5IEJhc2VDb21wdXRlZEtleWZyYW1lIHsKKyAgICAgZG91YmxlPyBv
ZmZzZXQgPSBudWxsOworICAgICBkb3VibGUgY29tcHV0ZWRPZmZzZXQ7CisgICAgIERPTVN0cmlu
ZyBlYXNpbmcgPSAibGluZWFyIjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmNwcAppbmRleCA1MDc1NDNjZTRhMmM2NjI3MGU2
MzExMThhYWJlMTczNWM1NzQzMmEzLi44MTg0Y2ExYzQ4Mjg3NmFmNDVmNTQyMzllZWI4NjQ2MTgw
NjM0NTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGlt
aW5nRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9U
aW1pbmdGdW5jdGlvbi5jcHAKQEAgLTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5oIgogCisjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rp
b25WYWx1ZS5oIgogI2luY2x1ZGUgIlNwcmluZ1NvbHZlci5oIgorI2luY2x1ZGUgIlN0eWxlUHJv
cGVydGllcy5oIgogI2luY2x1ZGUgIlVuaXRCZXppZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9U
ZXh0U3RyZWFtLmg+CiAKQEAgLTEwMSw0ICsxMDMsODggQEAgZG91YmxlIFRpbWluZ0Z1bmN0aW9u
Ojp0cmFuc2Zvcm1UaW1lKGRvdWJsZSBpbnB1dFRpbWUsIGRvdWJsZSBkdXJhdGlvbikgY29uc3QK
ICAgICByZXR1cm4gMDsKIH0KIAorRXhjZXB0aW9uT3I8UmVmUHRyPFRpbWluZ0Z1bmN0aW9uPj4g
VGltaW5nRnVuY3Rpb246OmNyZWF0ZUZyb21DU1NUZXh0KGNvbnN0IFN0cmluZyYgY3NzVGV4dCkK
K3sKKyAgICBTdHJpbmdCdWlsZGVyIGNzc1N0cmluZzsKKyAgICBjc3NTdHJpbmcuYXBwZW5kKGdl
dFByb3BlcnR5TmFtZVN0cmluZyhDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKSk7
CisgICAgY3NzU3RyaW5nLmFwcGVuZExpdGVyYWwoIjogIik7CisgICAgY3NzU3RyaW5nLmFwcGVu
ZChjc3NUZXh0KTsKKyAgICBhdXRvIHN0eWxlUHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOworICAgIHN0eWxlUHJvcGVydGllcy0+cGFyc2VEZWNsYXJhdGlvbihj
c3NTdHJpbmcudG9TdHJpbmcoKSwgQ1NTUGFyc2VyQ29udGV4dChIVE1MU3RhbmRhcmRNb2RlKSk7
CisgICAgYXV0byBjc3NWYWx1ZSA9IHN0eWxlUHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1
ZShDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKTsKKworICAgIGlmICghY3NzVmFs
dWUpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAgIGF1dG8m
IHZhbHVlID0gKmNzc1ZhbHVlLmdldCgpOworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpKSB7CisgICAgICAgIHN3aXRjaCAoZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKS52YWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZUxpbmVhcjoKKyAgICAgICAg
ICAgIHJldHVybiB7IExpbmVhclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoKSB9OworICAgICAgICBj
YXNlIENTU1ZhbHVlRWFzZToKKyAgICAgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb246OmNyZWF0ZSgpIH07CisgICAgICAgIGNhc2UgQ1NTVmFsdWVFYXNlSW46CisgICAg
ICAgICAgICByZXR1cm4geyBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUoQ3ViaWNC
ZXppZXJUaW1pbmdGdW5jdGlvbjo6RWFzZUluKSB9OworICAgICAgICBjYXNlIENTU1ZhbHVlRWFz
ZU91dDoKKyAgICAgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OmNy
ZWF0ZShDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpFYXNlT3V0KSB9OworICAgICAgICBjYXNl
IENTU1ZhbHVlRWFzZUluT3V0OgorICAgICAgICAgICAgcmV0dXJuIHsgQ3ViaWNCZXppZXJUaW1p
bmdGdW5jdGlvbjo6Y3JlYXRlKEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb246OkVhc2VJbk91dCkg
fTsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0ZXBTdGFydDoKKyAgICAgICAgICAgIHJldHVybiB7
IFN0ZXBzVGltaW5nRnVuY3Rpb246OmNyZWF0ZSgxLCB0cnVlKSB9OworICAgICAgICBjYXNlIENT
U1ZhbHVlU3RlcEVuZDoKKyAgICAgICAgICAgIHJldHVybiB7IFN0ZXBzVGltaW5nRnVuY3Rpb246
OmNyZWF0ZSgxLCBmYWxzZSkgfTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChp
czxDU1NDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBh
dXRvJiBjdWJpY1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8Q1NTQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb246OmNyZWF0ZShjdWJpY1RpbWluZ0Z1bmN0aW9uLngxKCksIGN1YmljVGltaW5nRnVu
Y3Rpb24ueTEoKSwgY3ViaWNUaW1pbmdGdW5jdGlvbi54MigpLCBjdWJpY1RpbWluZ0Z1bmN0aW9u
LnkyKCkpIH07CisgICAgfQorICAgIGlmIChpczxDU1NTdGVwc1RpbWluZ0Z1bmN0aW9uVmFsdWU+
KHZhbHVlKSkgeworICAgICAgICBhdXRvJiBzdGVwc1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8
Q1NTU3RlcHNUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IFN0
ZXBzVGltaW5nRnVuY3Rpb246OmNyZWF0ZShzdGVwc1RpbWluZ0Z1bmN0aW9uLm51bWJlck9mU3Rl
cHMoKSwgc3RlcHNUaW1pbmdGdW5jdGlvbi5zdGVwQXRTdGFydCgpKSB9OworICAgIH0KKyAgICBp
ZiAoaXM8Q1NTRnJhbWVzVGltaW5nRnVuY3Rpb25WYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIGF1
dG8mIGZyYW1lc1RpbWluZ0Z1bmN0aW9uID0gZG93bmNhc3Q8Q1NTRnJhbWVzVGltaW5nRnVuY3Rp
b25WYWx1ZT4odmFsdWUpOworICAgICAgICByZXR1cm4geyBGcmFtZXNUaW1pbmdGdW5jdGlvbjo6
Y3JlYXRlKGZyYW1lc1RpbWluZ0Z1bmN0aW9uLm51bWJlck9mRnJhbWVzKCkpIH07CisgICAgfQor
ICAgIGlmIChpczxDU1NTcHJpbmdUaW1pbmdGdW5jdGlvblZhbHVlPih2YWx1ZSkpIHsKKyAgICAg
ICAgYXV0byYgc3ByaW5nVGltaW5nRnVuY3Rpb24gPSBkb3duY2FzdDxDU1NTcHJpbmdUaW1pbmdG
dW5jdGlvblZhbHVlPih2YWx1ZSk7CisgICAgICAgIHJldHVybiB7IFNwcmluZ1RpbWluZ0Z1bmN0
aW9uOjpjcmVhdGUoc3ByaW5nVGltaW5nRnVuY3Rpb24ubWFzcygpLCBzcHJpbmdUaW1pbmdGdW5j
dGlvbi5zdGlmZm5lc3MoKSwgc3ByaW5nVGltaW5nRnVuY3Rpb24uZGFtcGluZygpLCBzcHJpbmdU
aW1pbmdGdW5jdGlvbi5pbml0aWFsVmVsb2NpdHkoKSkgfTsKKyAgICB9CisKKyAgICByZXR1cm4g
RXhjZXB0aW9uIHsgVHlwZUVycm9yIH07Cit9CisKK1N0cmluZyBUaW1pbmdGdW5jdGlvbjo6Y3Nz
VGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdHlwZSA9PSBUaW1pbmdGdW5jdGlvbjo6Q3ViaWNC
ZXppZXJGdW5jdGlvbikgeworICAgICAgICBhdXRvJiBmdW5jdGlvbiA9IGRvd25jYXN0PEN1Ymlj
QmV6aWVyVGltaW5nRnVuY3Rpb24+KCp0aGlzKTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLngxKCkg
PT0gMC4yNSAmJiBmdW5jdGlvbi55MSgpID09IDAuMSAmJiBmdW5jdGlvbi54MigpID09IDAuMjUg
JiYgZnVuY3Rpb24ueTIoKSA9PSAxLjApCisgICAgICAgICAgICByZXR1cm4gImVhc2UiOworICAg
ICAgICBpZiAoZnVuY3Rpb24ueDEoKSA9PSAwLjQyICYmICFmdW5jdGlvbi55MSgpICYmIGZ1bmN0
aW9uLngyKCkgPT0gMS4wICYmIGZ1bmN0aW9uLnkyKCkgPT0gMS4wKQorICAgICAgICAgICAgcmV0
dXJuICJlYXNlLWluIjsKKyAgICAgICAgaWYgKCFmdW5jdGlvbi54MSgpICYmICFmdW5jdGlvbi55
MSgpICYmIGZ1bmN0aW9uLngyKCkgPT0gMC41OCAmJiBmdW5jdGlvbi55MigpID09IDEuMCkKKyAg
ICAgICAgICAgIHJldHVybiAiZWFzZS1vdXQiOworICAgICAgICBpZiAoZnVuY3Rpb24ueDEoKSA9
PSAwLjQyICYmICFmdW5jdGlvbi55MSgpICYmIGZ1bmN0aW9uLngyKCkgPT0gMC41OCAmJiBmdW5j
dGlvbi55MigpID09IDEuMCkKKyAgICAgICAgICAgIHJldHVybiAiZWFzZS1pbi1vdXQiOworICAg
ICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoImN1YmljLWJlemllciglZywgJWcsICVnLCAlZyki
LCBmdW5jdGlvbi54MSgpLCBmdW5jdGlvbi55MSgpLCBmdW5jdGlvbi54MigpLCBmdW5jdGlvbi55
MigpKTsKKyAgICB9CisKKyAgICBpZiAobV90eXBlID09IFRpbWluZ0Z1bmN0aW9uOjpTdGVwc0Z1
bmN0aW9uKSB7CisgICAgICAgIGF1dG8mIGZ1bmN0aW9uID0gZG93bmNhc3Q8U3RlcHNUaW1pbmdG
dW5jdGlvbj4oKnRoaXMpOworICAgICAgICBhdXRvIG51bWJlck9mU3RlcHMgPSBmdW5jdGlvbi5u
dW1iZXJPZlN0ZXBzKCk7CisgICAgICAgIGlmIChudW1iZXJPZlN0ZXBzID09IDEpCisgICAgICAg
ICAgICByZXR1cm4gZnVuY3Rpb24uc3RlcEF0U3RhcnQoKSA/ICJzdGVwLXN0YXJ0IiA6ICJzdGVw
LWVuZCI7CisgICAgICAgIGlmICghZnVuY3Rpb24uc3RlcEF0U3RhcnQoKSkKKyAgICAgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgic3RlcHMoJWQpIiwgbnVtYmVyT2ZTdGVwcyk7CisgICAg
fQorCisgICAgVGV4dFN0cmVhbSBzdHJlYW07CisgICAgc3RyZWFtIDw8ICp0aGlzOworICAgIHJl
dHVybiBzdHJlYW0ucmVsZWFzZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCmlu
ZGV4IDUyN2JjYmE4M2I4ZTVmYWRkY2JlOTMyMDk3MDA5ODUxNWY3NTY3NjMuLjk5OTY2ZTY3Nzgw
ZGFjZDBiZWE3MWUyYzUxZjk5NzQ0YTA0NDgxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCkBAIC0yNCw2ICsyNCw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNTIsNiArNTMsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFRpbWluZ0Z1bmN0aW9uJiBvdGhlcikg
Y29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KIAogICAgIGRvdWJsZSB0cmFuc2Zv
cm1UaW1lKGRvdWJsZSwgZG91YmxlKSBjb25zdDsKKyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVm
UHRyPFRpbWluZ0Z1bmN0aW9uPj4gY3JlYXRlRnJvbUNTU1RleHQoY29uc3QgU3RyaW5nJik7Cisg
ICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFRp
bWluZ0Z1bmN0aW9uKFRpbWluZ0Z1bmN0aW9uVHlwZSB0eXBlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxOTUxMjU0ZTc5
OTAxNDgyOGNhYjU4YmJhOWQyNTgxYWMwNTU2OTYuLjEzZTg1ZmZmNzJhMjU3ZTU2NGZjYjI2NTI1
YWI1MjgxMDE5N2RkOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wMS0yMyAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0aW9uc10g
RXhwb3NlIGdldEtleWZyYW1lcygpIGFuZCBwYXJzaW5nIG9mIHJlbWFpbmluZyBrZXlmcmFtZSBw
cm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODE5NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM2NzcyNTg2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMg
d2l0aCBwcm9ncmVzc2lvbnMgYW5kIG5ldyBmYWlsdXJlIHBvaW50cyBub3cgd2UgZXhwb3NlIG1v
cmUgb2YgdGhlIEFQSS4KKworICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWluZy9lYXNpbmct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvS2V5ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3Npbmct
YS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBl
Y3RlZC50eHQ6CisKIDIwMTgtMDEtMjMgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVW5za2lwIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVx
dWVzdFNoaXBwaW5nQ29udGFjdC5odHRwcy5odG1sIG9uIFNpZXJyYS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0YWJsZS9h
bmltYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0YWJsZS9hbmltYXRlLWV4cGVjdGVkLnR4dAppbmRleCBmMzVlYTEz
MGQ3NDA0OTEyZTg5YjNlZWE4NmVmMTY5Yzk4YjBjYzlkLi5lNTI2NjYxNjRkZGU4YWQyMGM1YmNk
NzJjODQxNWE5NmEzZjEwY2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGFibGUvYW5pbWF0ZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRh
YmxlL2FuaW1hdGUtZXhwZWN0ZWQudHh0CkBAIC03LDE0MyArNyw4MSBAQCBQQVNTIEVsZW1lbnQu
YW5pbWF0ZSgpIGNyZWF0ZXMgYW4gQW5pbWF0aW9uIG9iamVjdCB3aXRoIGEgS2V5ZnJhbWVFZmZl
Y3Qgd2hvc2UgQQogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGVtcHR5IGtleWZyYW1l
IGxpc3RzIChpbnB1dDogW10pIAogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGVtcHR5
IGtleWZyYW1lIGxpc3RzIChpbnB1dDogbnVsbCkgCiBQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgZW1wdHkga2V5ZnJhbWUgbGlzdHMgKGlucHV0OiB1bmRlZmluZWQpIAotRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmlt
LmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxv
bmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBw
cm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1i
ZXJzIG9mIHZhbHVlcyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4gaW52YWxpZCB2YWx1
ZSBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdv
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gdGhhdCBuZWVk
cyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBD
U1MgdmFyaWFibGUgcmVmZXJlbmNlIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0
cyBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2
YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYW5pbS5lZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVt
ZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGFuaW0uZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdhbmlt
LmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxlbWVudC5hbmltYXRl
KCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUo
KSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25k
IHZhbHVlIGlzIGludmFsaWQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEg
b25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGFuaW0u
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSB0d28ga2V5ZnJh
bWUgc2VxdWVuY2UgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHNo
b3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9m
IGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVz
IG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxt
YXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9t
LG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9m
IGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVk
S2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sbWFyZ2lu
VG9wLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxt
YXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitQQVNTIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMg
YSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkg
YWNjZXB0cyBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBh
biBpbnZhbGlkIHZhbHVlIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgCitGQUlMIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdp
dGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGFzc2VydF9lcXVhbHM6IHZhbHVlIGZvciAnbGVm
dCcgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAidmFyKC0tZGlzdCkiIGJ1dCBnb3Qg
ImF1dG8iCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGlu
IGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0
ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixvZmZz
ZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0b20sbWFyZ2luTGVm
dCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBh
Y2NlcHRzIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHBy
b3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9wZXJ0
eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVy
ZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgCitQQVNTIEVs
ZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkgb25lIGtleWZyYW1lIHNlcXVl
bmNlIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byBr
ZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBw
cm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgCitGQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBhc3Nl
cnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNv
bXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNl
dCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9m
ZnNldCIKK0ZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSAoYSBz
aG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1l
IHNlcXVlbmNlIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAj
MCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJnaW5Ub3Asb2Zmc2V0
IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQs
bWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKIEZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNj
ZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZl
biBpbnRlcmlvciBvZmZzZXQgVHlwZSBlcnJvcgogRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRz
IDAgYW5kIDEgVHlwZSBlcnJvcgogRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdv
IHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2UgVHlwZSBlcnJvcgotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRl
ZCBvZmZzZXQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Fu
aW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNl
dCBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBhbmltLmVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVz
KCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBzb21lIG51bGwgb2Zmc2V0cyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMg
YSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0
cyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBvbmUgcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIGFuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMo
KScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgRWxlbWVu
dC5hbmltYXRlKCkgYWNjZXB0cyBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0
ZWQgb2Zmc2V0IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgc2luZ2xlIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0IAorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGFj
Y2VwdHMgYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zm
c2V0cyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIHR3byBwcm9wZXJ0eSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIAorUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxs
IG9taXR0ZWQgb2Zmc2V0cyAKIEZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBl
YXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IFR5cGUgZXJyb3IKIEZBSUwgRWxlbWVudC5h
bmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBv
c2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zm
c2V0IFR5cGUgZXJyb3IKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIG9uZSBwcm9w
ZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZh
bHVlcyBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5p
bS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
YW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJl
ZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5p
bS5lZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0
ZSgpIGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMg
bG9uZ2hhbmQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGFuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBz
aG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhh
bmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnYW5pbS5l
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3Bl
cnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgYW5pbS5lZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJl
IG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgYW5pbS5lZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBz
ZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIAorRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJs
ZSByZWZlcmVuY2UgYXNzZXJ0X2VxdWFsczogdmFsdWUgZm9yICdsZWZ0JyBvbiBDb21wdXRlZEtl
eWZyYW1lICMwIGV4cGVjdGVkICJ2YXIoLS1kaXN0KSIgYnV0IGdvdCAiYXV0byIKK0ZBSUwgRWxl
bWVudC5hbmltYXRlKCkgYWNjZXB0cyBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFy
aWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGFzc2VydF9lcXVhbHM6IHBy
b3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQs
ZWFzaW5nLG1hcmdpbixvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJn
aW5Cb3R0b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBF
bGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRo
YW5kIHByZWNlZGVzIGxvbmdoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0
ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJn
aW5SaWdodCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0
b20sbWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBFbGVtZW50
LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJl
Y2VkZXMgc2hvcnRoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlm
cmFtZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJnaW5SaWdo
dCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0b20sbWFy
Z2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBw
cmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENv
bXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImJvcmRlcixib3JkZXJMZWZ0LGNvbXB1dGVkT2Zm
c2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImJvcmRlckJvdHRvbUNvbG9yLGJvcmRlckJvdHRv
bVN0eWxlLGJvcmRlckJvdHRvbVdpZHRoLGJvcmRlckltYWdlT3V0c2V0LGJvcmRlckltYWdlUmVw
ZWF0LGJvcmRlckltYWdlU2xpY2UsYm9yZGVySW1hZ2VTb3VyY2UsYm9yZGVySW1hZ2VXaWR0aCxi
b3JkZXJMZWZ0Q29sb3IsYm9yZGVyTGVmdFN0eWxlLGJvcmRlckxlZnRXaWR0aCxib3JkZXJSaWdo
dENvbG9yLGJvcmRlclJpZ2h0U3R5bGUsYm9yZGVyUmlnaHRXaWR0aCxib3JkZXJUb3BDb2xvcixi
b3JkZXJUb3BTdHlsZSxib3JkZXJUb3BXaWR0aCxjb21wdXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0
IgorRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hl
cmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBhc3NlcnRfZXF1
YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImJvcmRlcixi
b3JkZXJMZWZ0LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImJvcmRlckJv
dHRvbUNvbG9yLGJvcmRlckJvdHRvbVN0eWxlLGJvcmRlckJvdHRvbVdpZHRoLGJvcmRlckltYWdl
T3V0c2V0LGJvcmRlckltYWdlUmVwZWF0LGJvcmRlckltYWdlU2xpY2UsYm9yZGVySW1hZ2VTb3Vy
Y2UsYm9yZGVySW1hZ2VXaWR0aCxib3JkZXJMZWZ0Q29sb3IsYm9yZGVyTGVmdFN0eWxlLGJvcmRl
ckxlZnRXaWR0aCxib3JkZXJSaWdodENvbG9yLGJvcmRlclJpZ2h0U3R5bGUsYm9yZGVyUmlnaHRX
aWR0aCxib3JkZXJUb3BDb2xvcixib3JkZXJUb3BTdHlsZSxib3JkZXJUb3BXaWR0aCxjb21wdXRl
ZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGEg
dHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNz
aW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBhY2Nl
cHRzIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBp
cyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgCiBGQUlMIEVsZW1lbnQuYW5pbWF0ZSgp
IGFjY2VwdHMgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZz
ZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdzIFR5cGUgZXJyb3IKIFBBU1MgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIHBv
c2l0aXZlIG9mZnNldCAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtl
eWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCAKIFBBU1MgRWxl
bWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0
ZWQgYnkgb2Zmc2V0IAotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgZGl2LmFuaW1hdGUoc3Vi
dGVzdC5pbnB1dCwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFu
aW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFs
aWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0g
ICAgICBkaXYuYW5pbWF0ZShzdWJ0ZXN0LmlucHV0LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRo
cm93CitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAorUEFTUyBFbGVtZW50
LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGlu
dmFsaWQgZWFzaW5nIHZhbHVlIAogUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2Nl
cHQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUgdmFsdWUgCi1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJycgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnNycgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlk
RWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndGVzdCcgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlk
RWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmlt
YXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnaW5pdGlhbCcgYXNzZXJ0X3Ro
cm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5h
bmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnaW5oZXJpdCcgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBp
bnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndW5zZXQnIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzog
aW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1l
bnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3VucmVjb2duaXpl
ZCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsg
ZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZB
SUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAndmFy
KC0teCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0
ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzog
J2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsK
LSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAg
IH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSknIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxp
ZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5p
bWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigwLCAw
LCAxLjEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFu
aW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNp
bmc6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwgMSwgMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAy
MDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMg
bm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFz
aW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwg
RWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMt
YmV6aWVyKDAuMSwgMCwgNCwgMC40KScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsK
LSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAg
IH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0
IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoLTEsIHN0YXJ0KScgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0s
IDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9l
cyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoMC4xLCBzdGFydCknIGFzc2VydF90
aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52
YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQu
YW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3N0ZXBzKDMsIG5vd2hl
cmUpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUo
eyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwot
RkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdz
dGVwcygtMywgZW5kKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRp
di5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
IigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIw
MDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24gKHgpe3JldHVybiB4fScgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBp
bnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24oeCwg
eSl7cmV0dXJuIDAuM30nIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBk
aXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQg
bm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlk
IGVhc2luZzogJ2ZyYW1lcygxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAg
ICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0i
IGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGlu
dmFsaWQgZWFzaW5nOiAnZnJhbWVzJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gewot
ICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAwMCk7Ci0gICAg
fSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQg
aW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBpbnZhbGlkRWFzaW5nIH0sIDIwMDApOwot
ICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNj
ZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCwpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAi
KCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRFYXNpbmcgfSwgMjAw
MCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5v
dCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoYSknIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVhc2luZzogaW52YWxpZEVhc2luZyB9
LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygyLjApJyBhc3NlcnRfdGhyb3dz
OiBmdW5jdGlvbiAiKCkgPT4gewotICAgICAgZGl2LmFuaW1hdGUoeyBlYXNpbmc6IGludmFsaWRF
YXNpbmcgfSwgMjAwMCk7Ci0gICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBFbGVtZW50LmFuaW1h
dGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdmcmFtZXMoMi41KScgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKLSAgICAgIGRpdi5hbmltYXRlKHsgZWFzaW5nOiBp
bnZhbGlkRWFzaW5nIH0sIDIwMDApOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgRWxlbWVu
dC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKDIgMykn
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7Ci0gICAgICBkaXYuYW5pbWF0ZSh7IGVh
c2luZzogaW52YWxpZEVhc2luZyB9LCAyMDAwKTsKLSAgICB9IiBkaWQgbm90IHRocm93CitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJycgCitQ
QVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJzcn
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICd0ZXN0JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQg
ZWFzaW5nOiAnaW5pdGlhbCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2Vw
dCBpbnZhbGlkIGVhc2luZzogJ2luaGVyaXQnIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2Vz
IG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICd1bnNldCcgCitQQVNTIEVsZW1lbnQuYW5pbWF0
ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3VucmVjb2duaXplZCcgCitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ3Zhcigt
LXgpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFz
aW5nOiAnZWFzZS1pbi1vdXQsIGVhc2Utb3V0JyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9l
cyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSkn
IAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6
ICdjdWJpYy1iZXppZXIoMCwgMCwgMS4xLCAxKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRv
ZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigtMC4xLCAwLCAxLCAx
KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2lu
ZzogJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgp
IGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2N1YmljLWJlemllcigwLjEsIDAsIDQs
IDAuNCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBl
YXNpbmc6ICdzdGVwcygtMSwgc3RhcnQpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnc3RlcHMoMC4xLCBzdGFydCknIAorUEFTUyBFbGVt
ZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNpbmc6ICdzdGVwcygzLCBu
b3doZXJlKScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlk
IGVhc2luZzogJ3N0ZXBzKC0zLCBlbmQpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBu
b3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgCitQQVNT
IEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2Z1bmN0
aW9uICh4KXtyZXR1cm4geH0nIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2Nl
cHQgaW52YWxpZCBlYXNpbmc6ICdmdW5jdGlvbih4LCB5KXtyZXR1cm4gMC4zfScgCitQQVNTIEVs
ZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygx
KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZhbGlkIGVhc2lu
ZzogJ2ZyYW1lcycgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2VwdCBpbnZh
bGlkIGVhc2luZzogJ2ZyYW1lcygpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRlKCkgZG9lcyBub3Qg
YWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKCwpJyAKK1BBU1MgRWxlbWVudC5hbmltYXRl
KCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKGEpJyAKK1BBU1MgRWxl
bWVudC5hbmltYXRlKCkgZG9lcyBub3QgYWNjZXB0IGludmFsaWQgZWFzaW5nOiAnZnJhbWVzKDIu
MCknIAorUEFTUyBFbGVtZW50LmFuaW1hdGUoKSBkb2VzIG5vdCBhY2NlcHQgaW52YWxpZCBlYXNp
bmc6ICdmcmFtZXMoMi41KScgCitQQVNTIEVsZW1lbnQuYW5pbWF0ZSgpIGRvZXMgbm90IGFjY2Vw
dCBpbnZhbGlkIGVhc2luZzogJ2ZyYW1lcygyIDMpJyAKIFBBU1MgRWxlbWVudC5hbmltYXRlKCkg
YWNjZXB0cyBhIGRvdWJsZSBhcyBhbiBvcHRpb25zIGFyZ3VtZW50IAogUEFTUyBFbGVtZW50LmFu
aW1hdGUoKSBhY2NlcHRzIGEgS2V5ZnJhbWVBbmltYXRpb25PcHRpb25zIGFyZ3VtZW50IAogUEFT
UyBFbGVtZW50LmFuaW1hdGUoKSBhY2NlcHRzIGFuIGFic2VudCBvcHRpb25zIGFyZ3VtZW50IApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9BbmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uRWZmZWN0VGltaW5n
L2Vhc2luZy1leHBlY3RlZC50eHQKaW5kZXggODY4OTBmYzQ3YTJjZmM2MTlmNjZmNTVmNzEzMTVh
YmExZTE2ZjA0Zi4uYjFhNmE3YmRkMjQyMTM5MTY4NTRhYzFkNjNlOTY0YjM1YzFmYWY4NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb25FZmZlY3RUaW1pbmcvZWFzaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbkVmZmVjdFRpbWlu
Zy9lYXNpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAKLUZBSUwgVGVzdCBkZWZh
dWx0IHZhbHVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJsaW5lYXIiIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIHN0ZXAtc3RhcnQgZnVuY3Rpb24gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgInN0ZXBzKDEsIHN0YXJ0KSIgYnV0IGdvdCAic3RlcC1zdGFydCIK
K1BBU1MgVGVzdCBkZWZhdWx0IHZhbHVlIAorRkFJTCBzdGVwLXN0YXJ0IGZ1bmN0aW9uIGFzc2Vy
dF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUg
YXBwcm94aW1hdGVseSAxIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVj
dCIKIEZBSUwgc3RlcHMoMSwgc3RhcnQpIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBU
aGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAxIGF0
IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKIEZBSUwgc3RlcHMoMiwg
c3RhcnQpIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhl
IGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAwLjUgYXQgMG1zIGV4cGVjdGVkIGEg
bnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgotRkFJTCBzdGVwLWVuZCBmdW5jdGlvbiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic3RlcHMoMSkiIGJ1dCBnb3QgInN0ZXAtZW5kIgorRkFJTCBzdGVw
LWVuZCBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBh
bmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1i
ZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIHN0ZXBzKDEpIGZ1bmN0aW9uIGFzc2VydF9hcHBy
b3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94
aW1hdGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKLUZB
SUwgc3RlcHMoMSwgZW5kKSBmdW5jdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3RlcHMo
MSkiIGJ1dCBnb3QgInN0ZXBzKDEsIGVuZCkiCi1GQUlMIHN0ZXBzKDIsIGVuZCkgZnVuY3Rpb24g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN0ZXBzKDIpIiBidXQgZ290ICJzdGVwcygyLCBlbmQp
IgorRkFJTCBzdGVwcygxLCBlbmQpIGZ1bmN0aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUg
cHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBzaG91bGQgYmUgYXBwcm94aW1hdGVseSAwIGF0IDBt
cyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgIm9iamVjdCIKK0ZBSUwgc3RlcHMoMiwgZW5k
KSBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmlt
YXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIg
YnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGZyYW1lcyBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2Vx
dWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBhbmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRl
bHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGxp
bmVhciBmdW5jdGlvbiBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBh
bmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1i
ZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGVhc2UgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9l
cXVhbHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0
ZWx5IDAgYXQgMG1zIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgpAQCAtMTUs
OTMgKzE1LDM1IEBAIEZBSUwgZWFzZS1pbi1vdXQgZnVuY3Rpb24gYXNzZXJ0X2FwcHJveF9lcXVh
bHM6IFRoZSBwcm9ncmVzcyBvZiB0aGUgYW5pbWF0aW9uIHNoCiBGQUlMIGVhc2Utb3V0IGZ1bmN0
aW9uIGFzc2VydF9hcHByb3hfZXF1YWxzOiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIGFuaW1hdGlvbiBz
aG91bGQgYmUgYXBwcm94aW1hdGVseSAwIGF0IDBtcyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290
IGEgIm9iamVjdCIKIEZBSUwgZWFzaW5nIGZ1bmN0aW9uIHdoaWNoIHByb2R1Y2VzIHZhbHVlcyBn
cmVhdGVyIHRoYW4gMSBhc3NlcnRfYXBwcm94X2VxdWFsczogVGhlIHByb2dyZXNzIG9mIHRoZSBh
bmltYXRpb24gc2hvdWxkIGJlIGFwcHJveGltYXRlbHkgMCBhdCAwbXMgZXhwZWN0ZWQgYSBudW1i
ZXIgYnV0IGdvdCBhICJvYmplY3QiCiBGQUlMIGVhc2luZyBmdW5jdGlvbiB3aGljaCBwcm9kdWNl
cyB2YWx1ZXMgbGVzcyB0aGFuIDEgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IFRoZSBwcm9ncmVzcyBv
ZiB0aGUgYW5pbWF0aW9uIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDAgYXQgMG1zIGV4cGVjdGVk
IGEgbnVtYmVyIGJ1dCBnb3QgYSAib2JqZWN0IgotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcg
dmFsdWUgdGVzdDogJycgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNp
bmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZm
ZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnNycgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9
IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlM
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndGVzdCcgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3Qu
dGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQg
bm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5pdGlh
bCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAg
ICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2
YWx1ZSB0ZXN0OiAnaW5oZXJpdCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFs
aWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndW5zZXQnIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ3VucmVjb2duaXpl
ZCcgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAg
ICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAg
ICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2
YWx1ZSB0ZXN0OiAndmFyKC0teCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZh
bGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZh
bGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Vhc2UtaW4tb3V0LCBlYXNlLW91dCcgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
YW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAg
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0
ZXN0OiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5l
YXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJv
dwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigw
LCAwLCAxLjEsIDEpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2lu
ZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZl
Y3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwgMSwgMSknIGFzc2Vy
dF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFu
aW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAg
ICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVz
dDogJ2N1YmljLWJlemllcigwLCAwLCAtMC4xLCAxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVh
c2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93
Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnY3ViaWMtYmV6aWVyKDAu
MSwgMCwgNCwgMC40KScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNp
bmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZm
ZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTEsIHN0YXJ0KScgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3Qu
dGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQg
bm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMo
MC4xLCBzdGFydCknIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5n
OwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVj
dCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDMsIG5vd2hlcmUpJyBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50
aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygt
MywgZW5kKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0g
ICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVh
c2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgYXNzZXJ0X3Rocm93czog
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3Qu
dGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQg
bm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rp
b24gKHgpe3JldHVybiB4fScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRF
YXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24oeCwgeSl7cmV0dXJuIDAuM30nIGFz
c2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGFuaW0uZWZmZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAg
ICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUg
dGVzdDogJ2ZyYW1lcygxKScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRF
YXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcu
ZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhy
b3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoKScgYXNz
ZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAg
YW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGludmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAg
ICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0
ZXN0OiAnZnJhbWVzKCwpJyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgICAgICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVh
c2luZzsKLSAgICAgICAgICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBl
ZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoYSknIGFzc2VydF90aHJvd3M6IGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZmZWN0LnRpbWlu
Zy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIgZGlkIG5vdCB0
aHJvdwotRkFJTCBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyLjAp
JyBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAg
ICAgICBhbmltLmVmZmVjdC50aW1pbmcuZWFzaW5nID0gaW52YWxpZEVhc2luZzsKLSAgICAgICAg
ICAgICAgICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZh
bHVlIHRlc3Q6ICdmcmFtZXMoMi41KScgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgICAgICAgICAgYW5pbS5lZmZlY3QudGltaW5nLmVhc2luZyA9IGlu
dmFsaWRFYXNpbmc7Ci0gICAgICAgICAgICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIElu
dmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIgMyknIGFzc2VydF90aHJv
d3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW0uZWZm
ZWN0LnRpbWluZy5lYXNpbmcgPSBpbnZhbGlkRWFzaW5nOwotICAgICAgICAgICAgICAgICAgfSIg
ZGlkIG5vdCB0aHJvdworUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJycg
CitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnNycgCitQQVNTIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAndGVzdCcgCitQQVNTIEludmFsaWQgZWZmZWN0
IGVhc2luZyB2YWx1ZSB0ZXN0OiAnaW5pdGlhbCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiAnaW5oZXJpdCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1
ZSB0ZXN0OiAndW5zZXQnIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J3VucmVjb2duaXplZCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAn
dmFyKC0teCknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2Vhc2Ut
aW4tb3V0LCBlYXNlLW91dCcgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0
OiAnY3ViaWMtYmV6aWVyKDEuMSwgMCwgMSwgMSknIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNp
bmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigwLCAwLCAxLjEsIDEpJyAKK1BBU1MgSW52YWxp
ZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdjdWJpYy1iZXppZXIoLTAuMSwgMCwgMSwgMSkn
IAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2N1YmljLWJlemllcigw
LCAwLCAtMC4xLCAxKScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAn
Y3ViaWMtYmV6aWVyKDAuMSwgMCwgNCwgMC40KScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2lu
ZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoLTEsIHN0YXJ0KScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVh
c2luZyB2YWx1ZSB0ZXN0OiAnc3RlcHMoMC4xLCBzdGFydCknIAorUEFTUyBJbnZhbGlkIGVmZmVj
dCBlYXNpbmcgdmFsdWUgdGVzdDogJ3N0ZXBzKDMsIG5vd2hlcmUpJyAKK1BBU1MgSW52YWxpZCBl
ZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdzdGVwcygtMywgZW5kKScgCitQQVNTIEludmFsaWQg
ZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24gKGEpe3JldHVybiBhfScgCitQQVNT
IEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24gKHgpe3JldHVybiB4
fScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnVuY3Rpb24oeCwg
eSl7cmV0dXJuIDAuM30nIAorUEFTUyBJbnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDog
J2ZyYW1lcygxKScgCitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJh
bWVzJyAKK1BBU1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoKScg
CitQQVNTIEludmFsaWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKCwpJyAKK1BB
U1MgSW52YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoYSknIAorUEFTUyBJ
bnZhbGlkIGVmZmVjdCBlYXNpbmcgdmFsdWUgdGVzdDogJ2ZyYW1lcygyLjApJyAKK1BBU1MgSW52
YWxpZCBlZmZlY3QgZWFzaW5nIHZhbHVlIHRlc3Q6ICdmcmFtZXMoMi41KScgCitQQVNTIEludmFs
aWQgZWZmZWN0IGVhc2luZyB2YWx1ZSB0ZXN0OiAnZnJhbWVzKDIgMyknIAogUEFTUyBDYW5vbmlj
YWwgZWFzaW5nICdlYXNlJyBpcyByZXR1cm5lZCBhcyBzZXQgCiBQQVNTIENhbm9uaWNhbCBlYXNp
bmcgJ2xpbmVhcicgaXMgcmV0dXJuZWQgYXMgc2V0IAogUEFTUyBDYW5vbmljYWwgZWFzaW5nICdl
YXNlLWluJyBpcyByZXR1cm5lZCBhcyBzZXQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2NvbXBvc2l0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L2NvbXBvc2l0ZS1leHBlY3RlZC50eHQKaW5kZXggNTI0YjA4MDg2
NzQ4NWYzZjllY2FmMjdhNTkzMGU2MGE4NTk0MDFjZS4uMTRlMjJjM2I4MTU4ZDc5MTY2ZWNlY2Yz
ZmQzODk1ODMwZDQ0N2MxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb21wb3NpdGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5
ZnJhbWVFZmZlY3QvY29tcG9zaXRlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAotRkFJ
TCBEZWZhdWx0IHZhbHVlIGFzc2VydF9lcXVhbHM6IFRoZSBkZWZhdWx0IHZhbHVlIHNob3VsZCBi
ZSByZXBsYWNlIGV4cGVjdGVkIChzdHJpbmcpICJyZXBsYWNlIiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorUEFTUyBEZWZhdWx0IHZhbHVlIAogUEFTUyBDaGFuZ2UgY29tcG9zaXRlIHZh
bHVlIAotRkFJTCBVbnNwZWNpZmllZCBrZXlmcmFtZSBjb21wb3NpdGUgdmFsdWUgd2hlbiBzZXR0
aW5nIGVmZmVjdCBjb21wb3NpdGUgYW5pbS5lZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2FuaW0uZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2FuaW0uZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBTcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9z
aXRlIHZhbHVlIHdoZW4gc2V0dGluZyBlZmZlY3QgY29tcG9zaXRlIGFuaW0uZWZmZWN0LmdldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMo
KScsICdhbmltLmVmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgVW5zcGVj
aWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGluZyBlZmZlY3QgY29tcG9z
aXRlIAorUEFTUyBTcGVjaWZpZWQga2V5ZnJhbWUgY29tcG9zaXRlIHZhbHVlIHdoZW4gc2V0dGlu
ZyBlZmZlY3QgY29tcG9zaXRlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlm
cmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZy
YW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGMwYmI3NzI0ZjFmZmQ1ZWUyMzhi
ZTcyYmI5MzE4MmYyODkxZmZlMDAuLjA5YjkzZTVmMDhkYzA0ODlkNDFmZDJjMjU2NDI4ZWM3ZjAw
NDUzOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0w
MDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVu
dC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0zMywxNSArMzMsMTUgQEAgUEFTUyBub24tYW5pbWF0YWJs
ZSBwcm9wZXJ0eSAndHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uJyBpcyBub3QgYWNjZXNzZWQgd2hl
biB1c2kKIFBBU1Mgbm9uLWFuaW1hdGFibGUgcHJvcGVydHkgJ2Rpc3BsYXknIGlzIG5vdCBhY2Nl
c3NlZCB3aGVuIHVzaW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCiBQQVNTIG5vbi1hbmltYXRhYmxl
IHByb3BlcnR5ICd1bnN1cHBvcnRlZFByb3BlcnR5JyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2lu
ZyBhIGtleWZyYW1lIHNlcXVlbmNlIAogUEFTUyBub24tYW5pbWF0YWJsZSBwcm9wZXJ0eSAnZm9u
dC1zaXplJyBpcyBub3QgYWNjZXNzZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIAot
RkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6
IHR3byBwcm9wZXJ0aWVzIHdpdGggb25lIHZhbHVlIG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBr
ZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmV3IEtleWZy
YW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcygpJywgJ25ldyBLZXlmcmFt
ZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFuZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiB0
d28gcHJvcGVydGllcyB3aXRoIHRocmVlIHZhbHVlcyBuZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwg
a2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25ldyBLZXlm
cmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMoKScsICduZXcgS2V5ZnJh
bWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQgc2VxdWVuY2VkIGtleWZyYW1lczog
dHdvIHByb3BlcnRpZXMgd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgbmV3IEtleWZy
YW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVz
KCknLCAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0EpLmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVl
bmNlZCBrZXlmcmFtZXM6IHNhbWUgZWFzaW5nIGFwcGxpZWQgdG8gYWxsIGtleWZyYW1lcyBuZXcg
S2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlm
cmFtZXMoKScsICduZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCwga2V5ZnJhbWVzQSkuZ2V0S2V5ZnJh
bWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEVxdWl2YWxlbnQgcHJvcGVydHktaW5kZXhlZCBhbmQg
c2VxdWVuY2VkIGtleWZyYW1lczogc2FtZSBjb21wb3NpdGUgYXBwbGllZCB0byBhbGwga2V5ZnJh
bWVzIG5ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5nZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnbmV3IEtleWZyYW1lRWZmZWN0KG51bGwsIGtleWZyYW1lc0Ep
LmdldEtleWZyYW1lcygpJywgJ25ldyBLZXlmcmFtZUVmZmVjdChudWxsLCBrZXlmcmFtZXNBKS5n
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20g
YSBjdXN0b20gaXRlcmF0b3IgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCAnZWFzaW5nJyBhbmQgJ29mZnNldCcgYXJlIGlnbm9yZWQgb24gaXRlcmFi
bGUgb2JqZWN0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHdpdGggbXVs
dGlwbGUgcHJvcGVydGllcyBzcGVjaWZpZWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgYXJlIHJlYWQgZnJvbSBhIGN1c3RvbSBp
dGVyYXRvciB3aXRoIHdoZXJlIGFuIG9mZnNldCBpcyBzcGVjaWZpZWQgZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZm
ZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFTUyBFcXVpdmFsZW50IHByb3BlcnR5
LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggb25l
IHZhbHVlIAorUEFTUyBFcXVpdmFsZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBr
ZXlmcmFtZXM6IHR3byBwcm9wZXJ0aWVzIHdpdGggdGhyZWUgdmFsdWVzIAorUEFTUyBFcXVpdmFs
ZW50IHByb3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHR3byBwcm9wZXJ0
aWVzIHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVzIAorUEFTUyBFcXVpdmFsZW50IHBy
b3BlcnR5LWluZGV4ZWQgYW5kIHNlcXVlbmNlZCBrZXlmcmFtZXM6IHNhbWUgZWFzaW5nIGFwcGxp
ZWQgdG8gYWxsIGtleWZyYW1lcyAKK1BBU1MgRXF1aXZhbGVudCBwcm9wZXJ0eS1pbmRleGVkIGFu
ZCBzZXF1ZW5jZWQga2V5ZnJhbWVzOiBzYW1lIGNvbXBvc2l0ZSBhcHBsaWVkIHRvIGFsbCBrZXlm
cmFtZXMgCitGQUlMIEtleWZyYW1lcyBhcmUgcmVhZCBmcm9tIGEgY3VzdG9tIGl0ZXJhdG9yIGFz
c2VydF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMyBidXQgZ290IDAKK0ZBSUwg
J2Vhc2luZycgYW5kICdvZmZzZXQnIGFyZSBpZ25vcmVkIG9uIGl0ZXJhYmxlIG9iamVjdHMgYXNz
ZXJ0X2VxdWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAzIGJ1dCBnb3QgMAorRkFJTCBL
ZXlmcmFtZXMgYXJlIHJlYWQgZnJvbSBhIGN1c3RvbSBpdGVyYXRvciB3aXRoIG11bHRpcGxlIHBy
b3BlcnRpZXMgc3BlY2lmaWVkIGFzc2VydF9lcXVhbHM6IG51bWJlciBvZiBmcmFtZXMgZXhwZWN0
ZWQgMyBidXQgZ290IDAKK0ZBSUwgS2V5ZnJhbWVzIGFyZSByZWFkIGZyb20gYSBjdXN0b20gaXRl
cmF0b3Igd2l0aCB3aGVyZSBhbiBvZmZzZXQgaXMgc3BlY2lmaWVkIGFzc2VydF9lcXVhbHM6IG51
bWJlciBvZiBmcmFtZXMgZXhwZWN0ZWQgMyBidXQgZ290IDAKIEZBSUwgUmVhZGluZyBmcm9tIGEg
Y3VzdG9tIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhIG5vbi1vYmplY3Qga2V5ZnJhbWUgc2hvdWxk
IHRocm93IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7CiAgICAgbmV3IEtleWZyYW1l
RWZmZWN0KG51bGwsIGNyZWF0ZUl0ZXJhYmxlKFsKICAgICAgIHsgZG9uZTogZmFsc2UsIHZhbHVl
OiB7IGxlZnQ6ICcxMDBweCcgfSB9LApAQCAtNTAsMTAgKzUwLDEwIEBAIEZBSUwgUmVhZGluZyBm
cm9tIGEgY3VzdG9tIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhIG5vbi1vYmplY3Qga2V5ZnJhbWUg
c2hvdWxkIHRoCiAgICAgICB7IGRvbmU6IHRydWUgfSwKICAgICBdKSk7CiAgIH0iIGRpZCBub3Qg
dGhyb3cKLUZBSUwgQSBsaXN0IG9mIHZhbHVlcyByZXR1cm5lZCBmcm9tIGEgY3VzdG9tIGl0ZXJh
dG9yIHNob3VsZCBiZSBpZ25vcmVkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24ga2V5ZnJhbWVz
IGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24ga2V5ZnJhbWVzIGFyZSBy
ZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
T25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
YXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBPbmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCitGQUlMIEEgbGlzdCBvZiB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBhIGN1c3RvbSBp
dGVyYXRvciBzaG91bGQgYmUgaWdub3JlZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2YgZnJhbWVz
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9u
IGtleWZyYW1lcyBhcmUgcmVhZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2YgZnJhbWVzIGV4cGVj
dGVkIDIgYnV0IGdvdCAwCitGQUlMIE9ubHkgcHJvcGVydGllcyBkZWZpbmVkIGRpcmVjdGx5IG9u
IGtleWZyYW1lcyBhcmUgcmVhZCBhc3NlcnRfZXF1YWxzOiBudW1iZXIgb2YgZnJhbWVzIGV4cGVj
dGVkIDIgYnV0IGdvdCAwCitGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFyZSByZWFkIGFzc2VydF9lcXVhbHM6IG51bWJlciBvZiBm
cmFtZXMgZXhwZWN0ZWQgMiBidXQgZ290IDAKK0ZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQg
ZGlyZWN0bHkgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQgYXNzZXJ0X2Vx
dWFsczogbnVtYmVyIG9mIGZyYW1lcyBleHBlY3RlZCAyIGJ1dCBnb3QgMAogRkFJTCBQcm9wZXJ0
aWVzIGFyZSByZWFkIGluIGFzY2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSBhY2Nlc3Mgb3JkZXIgcHJvcGVydHkgMCwgZXhwZWN0
ZWQgImNvbXBvc2l0ZSIgYnV0IGdvdCAibWFyZ2luTGVmdCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9w
cm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3By
b2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dAppbmRleCBjNWNi
ODAxN2MzZWM2NmEyMGIyYWY2ODM1ZmY0MmM1OTFkMjExNzU5Li44MTkxODkzNmI1MTdhOTkwZjVj
MzlkNjYwZjNiMDA4YjQ2ZGM1YzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlm
cmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1r
ZXlmcmFtZXMtYXJndW1lbnQtMDAyLWV4cGVjdGVkLnR4dApAQCAtMSwxNCArMSw4IEBACiAKLUZB
SUwgZWFzaW5nIHZhbHVlcyBhcmUgcGFyc2VkIGNvcnJlY3RseSB3aGVuIHNldCBvbiBhIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWUgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4g
dXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29ycmVjdGx5
IHJlamVjdGVkIHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBhc3NlcnRf
dGhyb3dzOiBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJycgZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIHsgZWFzaW5nOiBpbnZhbGlkRWFz
aW5nIH0pOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlYXNpbmcgdmFsdWVz
IGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIGFz
c2VydF90aHJvd3M6IFR5cGVFcnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAnJyBmdW5jdGlvbiAi
KCkgPT4gewotICAgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgW3sgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH1dKTsKLSAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIGVhc2luZyB2YWx1ZXMg
YXJlIHBhcnNlZCBjb3JyZWN0bHkgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lIAorUEFTUyBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcg
YSBrZXlmcmFtZSBzZXF1ZW5jZSAKK1BBU1MgSW52YWxpZCBlYXNpbmcgdmFsdWVzIGFyZSBjb3Jy
ZWN0bHkgcmVqZWN0ZWQgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIAor
UEFTUyBJbnZhbGlkIGVhc2luZyB2YWx1ZXMgYXJlIGNvcnJlY3RseSByZWplY3RlZCB3aGVuIHVz
aW5nIGEga2V5ZnJhbWUgc2VxdWVuY2UgCiBGQUlMIEVycm9ycyBmcm9tIGludmFsaWQgZWFzaW5n
cyBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXJlIHRocm93biBhZnRlciByZWFkaW5n
IGFsbCBwcm9wZXJ0aWVzIGFzc2VydF9lcXVhbHM6IEFsbCBwcm9wZXJ0aWVzIHdlcmUgcmVhZCBi
ZWZvcmUgdGhyb3dpbmcgdGhlIGVhc2luZyBlcnJvciBleHBlY3RlZCAyIGJ1dCBnb3QgMQotRkFJ
TCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVhc2luZ3Mgb24gYSBrZXlmcmFtZSBzZXF1ZW5jZSBhcmUg
dGhyb3duIGFmdGVyIHJlYWRpbmcgYWxsIHByb3BlcnRpZXMgYXNzZXJ0X3Rocm93czogZnVuY3Rp
b24gIigpID0+IHsKLSAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0LCBbIGtmMSwga2YyIF0p
OwotICB9IiBkaWQgbm90IHRocm93CitQQVNTIEVycm9ycyBmcm9tIGludmFsaWQgZWFzaW5ncyBv
biBhIGtleWZyYW1lIHNlcXVlbmNlIGFyZSB0aHJvd24gYWZ0ZXIgcmVhZGluZyBhbGwgcHJvcGVy
dGllcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVj
dC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IDFkMDgxYWM3ZGQ4ZGFjZDg4MDc1OGMw
NjYxYjE5YzZkN2Q4Mzg0ZGEuLjIzNmZjZDhiMGU2YTIxYjY4MWMyYmU4YjlhNmRiZDIwOTllMzYx
NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0
L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNTMgKzEsNDkgQEAKIAotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgZWZmZWN0LmdldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
c2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChv
bmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZm
ZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4gaW52YWxpZCB2YWx1
ZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmlu
Z2lmeSBpdHMgdmFsdWVzIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5j
ZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhh
bmQgcHJvcGVydHkgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25l
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCkn
LCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5nZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5n
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIGVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52
YWxpZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJh
bWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdv
IGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3Bl
cnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBj
b21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZm
ZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiAKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVk
S2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0
IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQs
bWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxv
bmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFt
ZSAjMCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJnaW5Ub3Asb2Zm
c2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxl
ZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lcyBzcGVjaWZpY2F0aW9uIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biB3aXRoIGFuIGludmFsaWQgdmFsdWUgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIAorRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1l
cyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGFzc2VydF9lcXVh
bHM6IHZhbHVlIGZvciAnbGVmdCcgb24gQ29tcHV0ZWRLZXlmcmFtZSAjMCBleHBlY3RlZCAidmFy
KC0tZGlzdCkiIGJ1dCBnb3QgImF1dG8iCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENT
UyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzZXJ0X2VxdWFs
czogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9m
ZnNldCxlYXNpbmcsbWFyZ2luLG9mZnNldCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5n
LG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitQ
QVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFs
dWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK1BBU1MgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFs
dWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiAKK1BBU1MgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBp
cyBpbnZhbGlkIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJv
cGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
d2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIGtleWZyYW1lIHNlcXVlbmNlIAorUEFT
UyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZy
YW1lIHNlcXVlbmNlIAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28g
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIAorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5j
ZSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0
ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zmc2V0IiBidXQgZ290ICJjb21wdXRl
ZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQsbWFyZ2luUmlnaHQsbWFyZ2lu
VG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0
d28ga2V5ZnJhbWUgc2VxdWVuY2UgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRl
ZEtleWZyYW1lICMwIGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG1hcmdp
blRvcCxvZmZzZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0b20s
bWFyZ2luTGVmdCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgogRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2
YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IFR5cGUgZXJyb3IKIEZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNh
dGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgVHlwZSBlcnJvcgogRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBzZXF1ZW5j
ZSBUeXBlIGVycm9yCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmds
ZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IGVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVj
dC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBz
dHJpbmcgb2Zmc2V0IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZm
ZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51
bGwgb2Zmc2V0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVj
dC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0
ZWQgb2Zmc2V0cyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
CitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IAorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCAKK1BB
U1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVl
bmNlIHdpdGggc3RyaW5nIG9mZnNldCAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9m
ZnNldHMgCitQQVNTIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIAorUEFTUyBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ug
d2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyAKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQg
b2Zmc2V0cyAKIEZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZhbHVlcywgYnV0IHRoZSBzYW1lIGVhc2lu
ZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgVHlwZSBlcnJvcgogRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21w
b3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9m
ZnNldCBUeXBlIGVycm9yCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkg
aXRzIHZhbHVlcyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBz
aG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZm
ZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBz
aG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIGVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9y
dGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMg
bWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMg
bWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0cmlu
Z2lmeSBpdHMgdmFsdWVzIAorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBr
ZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBhc3NlcnRfZXF1
YWxzOiB2YWx1ZSBmb3IgJ2xlZnQnIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgInZh
cigtLWRpc3QpIiBidXQgZ290ICJhdXRvIgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBp
biBhIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1
dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW4sb2Zm
c2V0IiBidXQgZ290ICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luQm90dG9tLG1hcmdpbkxl
ZnQsbWFyZ2luUmlnaHQsbWFyZ2luVG9wLG9mZnNldCIKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVz
IGxvbmdoYW5kIGFzc2VydF9lcXVhbHM6IHByb3BlcnRpZXMgb24gQ29tcHV0ZWRLZXlmcmFtZSAj
MCBleHBlY3RlZCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbixtYXJnaW5SaWdodCxvZmZz
ZXQiIGJ1dCBnb3QgImNvbXB1dGVkT2Zmc2V0LGVhc2luZyxtYXJnaW5Cb3R0b20sbWFyZ2luTGVm
dCxtYXJnaW5SaWdodCxtYXJnaW5Ub3Asb2Zmc2V0IgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBz
aG9ydGhhbmQgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21wdXRlZEtleWZyYW1lICMw
IGV4cGVjdGVkICJjb21wdXRlZE9mZnNldCxlYXNpbmcsbWFyZ2luLG1hcmdpblJpZ2h0LG9mZnNl
dCIgYnV0IGdvdCAiY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG1hcmdpbkJvdHRvbSxtYXJnaW5MZWZ0
LG1hcmdpblJpZ2h0LG1hcmdpblRvcCxvZmZzZXQiCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJl
Y2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgYXNzZXJ0X2VxdWFsczogcHJvcGVydGllcyBvbiBDb21w
dXRlZEtleWZyYW1lICMwIGV4cGVjdGVkICJib3JkZXIsYm9yZGVyTGVmdCxjb21wdXRlZE9mZnNl
dCxlYXNpbmcsb2Zmc2V0IiBidXQgZ290ICJib3JkZXJCb3R0b21Db2xvcixib3JkZXJCb3R0b21T
dHlsZSxib3JkZXJCb3R0b21XaWR0aCxib3JkZXJJbWFnZU91dHNldCxib3JkZXJJbWFnZVJlcGVh
dCxib3JkZXJJbWFnZVNsaWNlLGJvcmRlckltYWdlU291cmNlLGJvcmRlckltYWdlV2lkdGgsYm9y
ZGVyTGVmdENvbG9yLGJvcmRlckxlZnRTdHlsZSxib3JkZXJMZWZ0V2lkdGgsYm9yZGVyUmlnaHRD
b2xvcixib3JkZXJSaWdodFN0eWxlLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVyVG9wQ29sb3IsYm9y
ZGVyVG9wU3R5bGUsYm9yZGVyVG9wV2lkdGgsY29tcHV0ZWRPZmZzZXQsZWFzaW5nLG9mZnNldCIK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBhc3NlcnRf
ZXF1YWxzOiBwcm9wZXJ0aWVzIG9uIENvbXB1dGVkS2V5ZnJhbWUgIzAgZXhwZWN0ZWQgImJvcmRl
cixib3JkZXJMZWZ0LGNvbXB1dGVkT2Zmc2V0LGVhc2luZyxvZmZzZXQiIGJ1dCBnb3QgImJvcmRl
ckJvdHRvbUNvbG9yLGJvcmRlckJvdHRvbVN0eWxlLGJvcmRlckJvdHRvbVdpZHRoLGJvcmRlcklt
YWdlT3V0c2V0LGJvcmRlckltYWdlUmVwZWF0LGJvcmRlckltYWdlU2xpY2UsYm9yZGVySW1hZ2VT
b3VyY2UsYm9yZGVySW1hZ2VXaWR0aCxib3JkZXJMZWZ0Q29sb3IsYm9yZGVyTGVmdFN0eWxlLGJv
cmRlckxlZnRXaWR0aCxib3JkZXJSaWdodENvbG9yLGJvcmRlclJpZ2h0U3R5bGUsYm9yZGVyUmln
aHRXaWR0aCxib3JkZXJUb3BDb2xvcixib3JkZXJUb3BTdHlsZSxib3JkZXJUb3BXaWR0aCxjb21w
dXRlZE9mZnNldCxlYXNpbmcsb2Zmc2V0IgorUEFTUyBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5
IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgCitQQVNTIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBv
bmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIAogRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVh
dGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdzIFR5cGUgZXJyb3IK
IFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdp
dGggYW4gb3V0LW9mLWJvdW5kZWQgcG9zaXRpdmUgb2Zmc2V0IAogUEFTUyBLZXlmcmFtZUVmZmVj
dCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRl
ZCBuZWdhdGl2ZSBvZmZzZXQgCiBQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93
cyB3aXRoIGtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IAotRkFJTCBLZXlm
cmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7Ci0gICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
OwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3Ig
dGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZh
bHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICBlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOwotICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1Mg
S2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKK1BBU1MgS2V5ZnJhbWVFZmZl
Y3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGlu
dmFsaWQgZWFzaW5nIHZhbHVlIAogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJv
d3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNvbXBvc2l0ZSB2YWx1ZSAKIAo=
</data>
<flag name="commit-queue"
          id="351020"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>