<?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>179707</bug_id>
          
          <creation_ts>2017-11-14 16:41:32 -0800</creation_ts>
          <short_desc>[Web Animations] Implement basic to-from animations</short_desc>
          <delta_ts>2017-11-16 09:32:44 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=179708</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=122912</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=179777</see_also>
          <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>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371651</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 16:41:32 -0800</bug_when>
    <thetext>As an initial step towards supporting keyframe animations, we should start by adding support for simple to-from animations, implementing basic parsing of keyframe arguments limited to the array form and with two values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371658</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 16:45:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/34932456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371687</commentid>
    <comment_count>2</comment_count>
      <attachid>326954</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 18:12:05 -0800</bug_when>
    <thetext>Created attachment 326954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371688</commentid>
    <comment_count>3</comment_count>
      <attachid>326954</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-14 18:19:50 -0800</bug_when>
    <thetext>Comment on attachment 326954
Patch

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

&gt; Source/WebCore/animation/KeyframeEffect.cpp:55
&gt; +ExceptionOr&lt;void&gt; KeyframeEffect::setKeyframes(ExecState&amp; state, Strong&lt;JSObject&gt;&amp;&amp; keyframes)

It seems really wrong for something down here in animation/ to be doing stuff with ExecState. Why isn&apos;t that limited to the bindings layer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371689</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 18:26:18 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 326954 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326954&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:55
&gt; &gt; +ExceptionOr&lt;void&gt; KeyframeEffect::setKeyframes(ExecState&amp; state, Strong&lt;JSObject&gt;&amp;&amp; keyframes)
&gt; 
&gt; It seems really wrong for something down here in animation/ to be doing
&gt; stuff with ExecState. Why isn&apos;t that limited to the bindings layer?

Alas, we cannot currently express this in terms of IDL since the object can contain mostly arbitrary properties as dictionary keys. So we need to perform some ad-hoc parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371690</commentid>
    <comment_count>5</comment_count>
      <attachid>326955</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 18:29:25 -0800</bug_when>
    <thetext>Created attachment 326955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371693</commentid>
    <comment_count>6</comment_count>
      <attachid>326956</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 18:43:47 -0800</bug_when>
    <thetext>Created attachment 326956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371696</commentid>
    <comment_count>7</comment_count>
      <attachid>326958</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-14 18:50:10 -0800</bug_when>
    <thetext>Created attachment 326958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371818</commentid>
    <comment_count>8</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-11-15 08:04:43 -0800</bug_when>
    <thetext>I think doing this processing in KeyframeEffect.cpp is fine for now. 

I think it is really unfortunate that the spec, https://w3c.github.io/web-animations/#process-a-keyframes-argument, resorts to custom bindings here, and would much prefer that this was expressible in WebIDL, but, alas it is not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371819</commentid>
    <comment_count>9</comment_count>
      <attachid>326958</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-11-15 08:11:23 -0800</bug_when>
    <thetext>Comment on attachment 326958
Patch

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

&gt; Source/WebCore/animation/KeyframeEffect.cpp:55
&gt; +ExceptionOr&lt;void&gt; KeyframeEffect::setKeyframes(ExecState&amp; state, Strong&lt;JSObject&gt;&amp;&amp; keyframes)

I would extract this into a &quot;processKeyframes&quot; function and annotate it with the spec link, https://w3c.github.io/web-animations/#process-a-keyframes-argument (assuming that is the right link).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371833</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-15 08:42:20 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #9)
&gt; Comment on attachment 326958 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326958&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:55
&gt; &gt; +ExceptionOr&lt;void&gt; KeyframeEffect::setKeyframes(ExecState&amp; state, Strong&lt;JSObject&gt;&amp;&amp; keyframes)
&gt; 
&gt; I would extract this into a &quot;processKeyframes&quot; function and annotate it with
&gt; the spec link,
&gt; https://w3c.github.io/web-animations/#process-a-keyframes-argument (assuming
&gt; that is the right link).

Can do, and it is the right link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371845</commentid>
    <comment_count>11</comment_count>
      <attachid>326988</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-15 09:10:18 -0800</bug_when>
    <thetext>Created attachment 326988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371993</commentid>
    <comment_count>12</comment_count>
      <attachid>326993</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-15 09:49:51 -0800</bug_when>
    <thetext>Created attachment 326993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371995</commentid>
    <comment_count>13</comment_count>
      <attachid>326993</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-11-15 09:58:32 -0800</bug_when>
    <thetext>Comment on attachment 326993
Patch

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

&gt; Source/WebCore/animation/KeyframeEffect.cpp:114
&gt; +        Vector&lt;CSSPropertyID&gt; properties;
&gt; +        for (unsigned k = 0; k &lt; numberOfCSSProperties; ++k) {
&gt; +            properties.append(styleProperties-&gt;propertyAt(k).id());
&gt; +            styleResolver.applyPropertyToStyle(styleProperties-&gt;propertyAt(k).id(), styleProperties-&gt;propertyAt(k).value(), WTFMove(renderStyle));
&gt; +            renderStyle = styleResolver.state().takeStyle();
&gt; +        }

We should make StyleResolver interface saner for this sort of thing at some point but this is fine for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372421</commentid>
    <comment_count>14</comment_count>
      <attachid>326993</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-11-15 13:22:14 -0800</bug_when>
    <thetext>Comment on attachment 326993
Patch

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

&gt; Source/WebCore/animation/AnimationTimeline.h:73
&gt; +    HashMap&lt;RefPtr&lt;Element&gt;, Vector&lt;RefPtr&lt;WebAnimation&gt;&gt;&gt; elementToAnimationsMap() const { return m_elementToAnimationsMap; }

Should be returning &amp;.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:46
&gt; +    auto result = adoptRef(*new KeyframeEffect(target));
&gt; +
&gt; +    auto setKeyframesResult = result-&gt;setKeyframes(state, WTFMove(keyframes));
&gt; +    if (setKeyframesResult.hasException())
&gt; +        return setKeyframesResult.releaseException();
&gt; +
&gt; +    return WTFMove(result);

I&apos;d rename result to keyframeEffect, but whatevs.

&gt; Source/WebCore/style/StyleTreeResolver.cpp:283
&gt; +            std::unique_ptr&lt;RenderStyle&gt; animatedStyle = RenderStyle::clonePtr(*newStyle);

Could use auto here.

&gt; LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:3
&gt; -FAIL Setting the start time of an animation without an active timeline assert_equals: Start time remains null after setting current time expected (object) null but got (number) -999.896
&gt; -FAIL Setting an unresolved start time an animation without an active timeline does not clear the current time assert_equals: Start time remains null after setting current time expected (object) null but got (number) -999.896
&gt; +FAIL Setting the start time of an animation without an active timeline assert_equals: Start time remains null after setting current time expected (object) null but got (number) -999.7033
&gt; +FAIL Setting an unresolved start time an animation without an active timeline does not clear the current time assert_equals: Start time remains null after setting current time expected (object) null but got (number) -999.7033

Why has this changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372431</commentid>
    <comment_count>15</comment_count>
      <attachid>326993</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-15 13:35:43 -0800</bug_when>
    <thetext>Comment on attachment 326993
Patch

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

&gt;&gt; Source/WebCore/animation/AnimationTimeline.h:73
&gt;&gt; +    HashMap&lt;RefPtr&lt;Element&gt;, Vector&lt;RefPtr&lt;WebAnimation&gt;&gt;&gt; elementToAnimationsMap() const { return m_elementToAnimationsMap; }
&gt; 
&gt; Should be returning &amp;.

A const &amp;

&gt; Source/WebCore/animation/KeyframeEffect.cpp:40
&gt; +    auto result = adoptRef(*new KeyframeEffect(target));

We never use bare new. Should be KeyframeEffect::create().

&gt;&gt; Source/WebCore/animation/KeyframeEffect.cpp:46
&gt;&gt; +    return WTFMove(result);
&gt; 
&gt; I&apos;d rename result to keyframeEffect, but whatevs.

+1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372432</commentid>
    <comment_count>16</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-15 13:35:44 -0800</bug_when>
    <thetext>Committed r224897: &lt;https://trac.webkit.org/changeset/224897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372436</commentid>
    <comment_count>17</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-15 13:40:38 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #15)
&gt; Comment on attachment 326993 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326993&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/animation/AnimationTimeline.h:73
&gt; &gt;&gt; +    HashMap&lt;RefPtr&lt;Element&gt;, Vector&lt;RefPtr&lt;WebAnimation&gt;&gt;&gt; elementToAnimationsMap() const { return m_elementToAnimationsMap; }
&gt; &gt; 
&gt; &gt; Should be returning &amp;.
&gt; 
&gt; A const &amp;

This was fixed in the commit.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:40
&gt; &gt; +    auto result = adoptRef(*new KeyframeEffect(target));
&gt; 
&gt; We never use bare new. Should be KeyframeEffect::create().

This is the body of ::create().

&gt; &gt;&gt; Source/WebCore/animation/KeyframeEffect.cpp:46
&gt; &gt;&gt; +    return WTFMove(result);
&gt; &gt; 
&gt; &gt; I&apos;d rename result to keyframeEffect, but whatevs.

This was not addressed, alas. I&apos;ll make a note to fix this in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372533</commentid>
    <comment_count>18</comment_count>
      <attachid>326993</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-11-15 19:27:59 -0800</bug_when>
    <thetext>Comment on attachment 326993
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/animation/KeyframeEffect.cpp:46
&gt;&gt;&gt;&gt; +    return WTFMove(result);
&gt;&gt;&gt; 
&gt;&gt;&gt; I&apos;d rename result to keyframeEffect, but whatevs.
&gt;&gt; 
&gt;&gt; +1
&gt; 
&gt; This was not addressed, alas. I&apos;ll make a note to fix this in a future patch.

Is this WTFMove() necessary?

&gt; Source/WebCore/animation/KeyframeEffect.cpp:74
&gt; +    Vector&lt;Keyframe&gt; newKeyframes { };

No need for the braces.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:82
&gt; +    const auto* array = jsCast&lt;const JSArray*&gt;(keyframes.get());

No need to repeat the const on the left hand side.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:87
&gt; +    for (unsigned i = 0; i &lt; length; ++i) {

What is the data type of length. Is it unsigned? Otherwise, we should change to use the same data type as length.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:97
&gt; +        for (unsigned j = 0; j &lt; numberOfProperties; ++j) {

Although this code is unlikely to cause problems in practice, the data type of the index, j, differs from the data type of numberOfProperties. We should use the same data type for both, size_t.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:110
&gt; +        for (unsigned k = 0; k &lt; numberOfCSSProperties; ++k) {

We are adding every CSS property in this loop. So, we should reserve initial capacity in the Vector and use uncheckedAppend() to avoid reallocating the underlying storage of the Vector when appending items to it.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:129
&gt; +    // FIXME: Assume animations only apply in the range [0, duration[

duration[?

&gt; Source/WebCore/dom/Element.cpp:3709
&gt; +    return Vector&lt;RefPtr&lt;WebAnimation&gt;&gt; { };

This should be “return { };”</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372643</commentid>
    <comment_count>19</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-16 09:25:05 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #18)
&gt; Comment on attachment 326993 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326993&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt; Source/WebCore/animation/KeyframeEffect.cpp:46
&gt; &gt;&gt;&gt;&gt; +    return WTFMove(result);
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; I&apos;d rename result to keyframeEffect, but whatevs.
&gt; &gt;&gt; 
&gt; &gt;&gt; +1
&gt; &gt; 
&gt; &gt; This was not addressed, alas. I&apos;ll make a note to fix this in a future patch.
&gt; 
&gt; Is this WTFMove() necessary?

Yes, since the return type is ExceptionOr&lt;Ref&lt;KeyframeEffect&gt;&gt;.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:74
&gt; &gt; +    Vector&lt;Keyframe&gt; newKeyframes { };
&gt; 
&gt; No need for the braces.

Will fix in a cleanup patch.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:82
&gt; &gt; +    const auto* array = jsCast&lt;const JSArray*&gt;(keyframes.get());
&gt; 
&gt; No need to repeat the const on the left hand side.

Will fix in a cleanup patch.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:87
&gt; &gt; +    for (unsigned i = 0; i &lt; length; ++i) {
&gt; 
&gt; What is the data type of length. Is it unsigned? Otherwise, we should change
&gt; to use the same data type as length.

It is unsigned.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:97
&gt; &gt; +        for (unsigned j = 0; j &lt; numberOfProperties; ++j) {
&gt; 
&gt; Although this code is unlikely to cause problems in practice, the data type
&gt; of the index, j, differs from the data type of numberOfProperties. We should
&gt; use the same data type for both, size_t.

Will fix in a cleanup patch.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:110
&gt; &gt; +        for (unsigned k = 0; k &lt; numberOfCSSProperties; ++k) {
&gt; 
&gt; We are adding every CSS property in this loop. So, we should reserve initial
&gt; capacity in the Vector and use uncheckedAppend() to avoid reallocating the
&gt; underlying storage of the Vector when appending items to it.

Great! Will fix in a cleanup patch.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:129
&gt; &gt; +    // FIXME: Assume animations only apply in the range [0, duration[
&gt; 
&gt; duration[?

This means the value of duration is excluded in the range, see https://en.wikipedia.org/wiki/Interval_(mathematics).

&gt; &gt; Source/WebCore/dom/Element.cpp:3709
&gt; &gt; +    return Vector&lt;RefPtr&lt;WebAnimation&gt;&gt; { };
&gt; 
&gt; This should be “return { };”

Will fix in a cleanup patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372653</commentid>
    <comment_count>20</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-11-16 09:32:44 -0800</bug_when>
    <thetext>Clean-up is performed in https://bugs.webkit.org/show_bug.cgi?id=179777.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326954</attachid>
            <date>2017-11-14 18:12:05 -0800</date>
            <delta_ts>2017-11-14 18:29:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171114181203.patch</filename>
            <type>text/plain</type>
            <size>50010</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNWExYzhhMzcyMmM2MGQ0OGViNTI5MTA5YjcxZTg0
NzY5MDhlODc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogRGVhbCB3aXRoIGV4YWN0bHkgdHdvIGtleWZyYW1lcywgc2V0IGF0IDAg
YW5kIDEgb2Zmc2V0cywKKyAgICAgICAgc3BlY2lmaWVkIGluIGFycmF5IGZvcm1zIGZvciB0aGUg
a2V5ZnJhbWVzIG9iamVjdC4gQXMgd2UgcGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIHByb3ZpZGVk
IEpTIG9iamVjdCwKKyAgICAgICAgd2UgY3JlYXRlIFJlbmRlclN0eWxlIG9iamVjdHMgdXNpbmcg
dGhlIGVsZW1lbnQncyBTdHlsZVJlc29sdmVyIGZyb20gYSBDU1MgdGV4dCBzdHJpbmcgd2UgY3Jl
YXRlCisgICAgICAgIGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBhbmQgdmFsdWVzIGFzIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZSk6IENv
bXB1dGUgdGhlIHByb2dyZXNzIGJhc2VkIG9uIHRoZSBsb2NhbCB0aW1lIGFuZCBkdXJhdGlvbiwK
KyAgICAgICAgdXNpbmcgdGhlIGV4aXN0aW5nIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFBy
b3BlcnRpZXMoKSBtZWNoYW5pY3MgdG8gcGVyZm9ybSB0aGUgYmxlbmQgYmV0d2VlbiB0aGUKKyAg
ICAgICAgZnJvbSBhbmQgdG8ga2V5ZnJhbWVzLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGw6CisgICAg
ICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJB
bmltYXRpb246OnJlc29sdmUpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SURMT2Jq
ZWN0OjpudWxsVmFsdWUpOiBNYWtlIEpTQzo6U3Ryb25nIGFuIG9wdGlvbmFsIHR5cGUuCisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZXhpc3Rp
bmdUaW1lbGluZSBjb25zdCk6IFByb3ZpZGUgYW4gZXhwbGljaXQgbWV0aG9kIGZvciBjYWxsIHNp
dGVzIHRvIGNoZWNrIGV4aXN0ZW5jZQorICAgICAgICBvZiBhIHRpbWVsaW5lIGJlZm9yZSBmb3Jj
aW5nIG9uZSB0byBiZSBjcmVhdGVkIGlmIG1pc3NpbmcgYnkgY2FsbGluZyB0aW1lbGluZSgpLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omdl
dEFuaW1hdGlvbnMpOiBEbyBub3QgZm9yY2UgdGhlIGNyZWF0aW9uIG9mIGEgdGltZWxpbmUgaWYg
b25lIGlzbid0IGFscmVhZHkgY3JlYXRlZC4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpjcmVhdGVB
bmltYXRlZEVsZW1lbnRVcGRhdGUpOiBXaGVuIGFwcGx5aW5nIHN0eWxlcywgYWNjb3VudCBmb3Ig
YW55IFdlYgorICAgICAgICBBbmltYXRpb24gYXBwbGllZCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dC4KKwogMjAxNy0xMS0xNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIGNvbW1lbnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gcmVmbGVj
dCBsb2NhdGlvbiBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggZTQ1NjQ3OWI5Y2MyMDQ2OTA5MDYx
YmZmMTFmZGNiNjlkYjQ0ZGVmZS4uMTNhMmRiNWVhOWVhOTYxZjMxM2RlYjk4MWY4YTNiZjA2NmI5
ZTQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApAQCAt
MzYsMTAgKzM2LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQW5pbWF0aW9uRWZm
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uRWZmZWN0PiB7CiBwdWJsaWM6CisgICAg
dmlydHVhbCB+QW5pbWF0aW9uRWZmZWN0KCkgPSBkZWZhdWx0OworCiAgICAgYm9vbCBpc0tleWZy
YW1lRWZmZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gS2V5ZnJhbWVFZmZlY3RD
bGFzczsgfQogICAgIEFuaW1hdGlvbkVmZmVjdFRpbWluZyogdGltaW5nKCkgY29uc3QgeyByZXR1
cm4gbV90aW1pbmcuZ2V0KCk7IH0KLQotICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRlclN0eWxl
JikgPSAwOwogCiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2FuaW1hdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmlt
YXRpb24+JiYgYW5pbWF0aW9uKSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCmluZGV4IDc0ZGE1ZGJhMTY2
MzQ3ODUzOWY5OWZiYWQ3NDlhYzRhNjZhODBiNTAuLmM3YTY5MzMzODUwZWQ3YjI1ZTkxOGQyYzgw
MmNkOWJlNmZiYTk4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oCkBAIC03MCw2ICs3MCw4IEBAIHByb3RlY3RlZDoKIAogICAgIGV4cGxpY2l0IEFu
aW1hdGlvblRpbWVsaW5lKENsYXNzVHlwZSk7CiAKKyAgICBIYXNoTWFwPFJlZlB0cjxFbGVtZW50
PiwgVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+Pj4gZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
IGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcDsgfQorCiBwcml2YXRlOgog
ICAgIENsYXNzVHlwZSBtX2NsYXNzVHlwZTsKICAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IG1f
Y3VycmVudFRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1l
bnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5jcHAKaW5kZXggODVjMTFlMGI3ZThkMmZiNzlmN2U0NTQ2NmFmOGYyMGU1MGQ5MWE0Yy4uYjBm
ZDZkN2RkYTZhODFmYTA5NWRkZGYyNWI5ZDQzNmNlOTJiMGE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtMTU0LDExICsxNTQsMTcgQEAg
dm9pZCBEb2N1bWVudFRpbWVsaW5lOjpkaXNwbGF5UmVmcmVzaEZpcmVkKCkKIHZvaWQgRG9jdW1l
bnRUaW1lbGluZTo6YW5pbWF0aW9uUmVzb2x1dGlvblRpbWVyRmlyZWQoKQogI2VuZGlmCiB7Ci0g
ICAgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB1cGRhdGVBbmltYXRpb25zKCk7CiB9CiAKLXZv
aWQgRG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMoKQordm9pZCBEb2N1bWVudFRp
bWVsaW5lOjp1cGRhdGVBbmltYXRpb25zKCkKIHsKKyAgICBpZiAobV9kb2N1bWVudCAmJiAhZWxl
bWVudFRvQW5pbWF0aW9uc01hcCgpLmlzRW1wdHkoKSkgeworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIGVsZW1lbnRUb0FuaW1hdGlvbnNNYXBJdGVtIDogZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
KQorICAgICAgICAgICAgZWxlbWVudFRvQW5pbWF0aW9uc01hcEl0ZW0ua2V5LT5pbnZhbGlkYXRl
U3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CisgICAgICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVN0
eWxlSWZOZWVkZWQoKTsKKyAgICB9CisKICAgICAvLyBUaW1lIGhhcyBhZHZhbmNlZCwgdGhlIHRp
bWluZyBtb2RlbCByZXF1aXJlcyBpbnZhbGlkYXRpb24gbm93LgogICAgIGFuaW1hdGlvblRpbWlu
Z01vZGVsRGlkQ2hhbmdlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmUuaAppbmRleCA2ZjNkZjFhMGIyOWYxZWY4NGFkODc3YTk2NmUxYjEzZDNjNGJhYzQ5
Li4zMDA2MGY2MzQ5NDAwYjhiOTdiNDFjMmUyM2QyYmVkZGE5MjMxMjYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvblNjaGVkdWxlKCk7CiAgICAgdm9pZCBhbmlt
YXRpb25TY2hlZHVsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uUmVz
b2x1dGlvbigpOwotICAgIHZvaWQgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB2b2lkIHVwZGF0
ZUFuaW1hdGlvbnMoKTsKIAogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKICAgICBi
b29sIG1fcGF1c2VkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwCmluZGV4IGNiN2JiMjI0MWM0Mzg4NDg4ZWY0NTQ1ZjM4NGVlZGE0NTM2YTUx
YTYuLjJhYTBkMjM4MmFhYmEwOGFjMmQ0ZjA2ZTM0YjlhOGEwNzI5NTNjYTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjYsMTMgKzI2LDI0IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3QuaCIKIAorI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1l
c3BhY2UgSlNDOwogCi1SZWY8S2V5ZnJhbWVFZmZlY3Q+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUo
RWxlbWVudCogdGFyZ2V0KQorRXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJh
bWVFZmZlY3Q6OmNyZWF0ZShFeGVjU3RhdGUmIHN0YXRlLCBFbGVtZW50KiB0YXJnZXQsIFN0cm9u
ZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0KSk7CisgICAgYXV0byByZXN1bHQgPSBhZG9wdFJlZigqbmV3IEtl
eWZyYW1lRWZmZWN0KHRhcmdldCkpOworCisgICAgYXV0byBzZXRLZXlmcmFtZXNSZXN1bHQgPSBy
ZXN1bHQtPnNldEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXMpKTsKKyAgICBpZiAo
c2V0S2V5ZnJhbWVzUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gc2V0S2V5
ZnJhbWVzUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIEtleWZyYW1lRWZmZWN0OjpLZXlmcmFtZUVmZmVjdChFbGVtZW50KiB0YXJnZXQpCkBAIC00
MSw0ICs1Miw4MyBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFy
Z2V0KQogewogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJh
bWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCit7Cisg
ICAgLy8gRklYTUU6IFdlIG9ubHkgaGF2ZSBwcmltaXRpdmUgdG8tZnJvbSBwYXJzaW5nLCBmb3Ig
ZnVsbCBzdXBwb3J0IHNlZSB3ZWJraXQub3JnL2IvMTc5NzA4LgorICAgIGlmICghbV90YXJnZXQg
fHwgIWtleWZyYW1lcykKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICghaXNKU0FycmF5
KGtleWZyYW1lcy5nZXQoKSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIFZlY3RvcjxLZXlmcmFtZT4gbmV3S2V5ZnJhbWVzIHsgfTsKKworICAgIFZNJiB2
bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCisgICAgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciA9IG1fdGFyZ2V0LT5zdHlsZVJl
c29sdmVyKCk7CisgICAgYXV0byBwYXJzZXJDb250ZXh0ID0gQ1NTUGFyc2VyQ29udGV4dChIVE1M
U3RhbmRhcmRNb2RlKTsKKworICAgIGNvbnN0IGF1dG8qIGFycmF5ID0ganNDYXN0PGNvbnN0IEpT
QXJyYXkqPihrZXlmcmFtZXMuZ2V0KCkpOworICAgIGF1dG8gbGVuZ3RoID0gYXJyYXktPmxlbmd0
aCgpOworICAgIGlmIChsZW5ndGggIT0gMikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciB9OworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CisgICAgICAgIGNvbnN0IEpTVmFsdWUgdmFsdWUgPSBhcnJheS0+Z2V0SW5kZXgoJnN0YXRlLCBp
KTsKKyAgICAgICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpIHx8ICF2YWx1ZSB8fCAhdmFsdWUuaXNP
YmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAg
ICAgICAgSlNPYmplY3QqIGtleWZyYW1lID0gdmFsdWUudG9PYmplY3QoJnN0YXRlKTsKKyAgICAg
ICAgUHJvcGVydHlOYW1lQXJyYXkgb3duUHJvcGVydHlOYW1lcygmdm0sIFByb3BlcnR5TmFtZU1v
ZGU6OlN0cmluZ3MsIFByaXZhdGVTeW1ib2xNb2RlOjpFeGNsdWRlKTsKKyAgICAgICAgSlNPYmpl
Y3Q6OmdldE93blByb3BlcnR5TmFtZXMoa2V5ZnJhbWUsICZzdGF0ZSwgb3duUHJvcGVydHlOYW1l
cywgRW51bWVyYXRpb25Nb2RlKCkpOworICAgICAgICBzaXplX3QgbnVtYmVyT2ZQcm9wZXJ0aWVz
ID0gb3duUHJvcGVydHlOYW1lcy5zaXplKCk7CisKKyAgICAgICAgU3RyaW5nQnVpbGRlciBjc3NU
ZXh0OworICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtYmVyT2ZQcm9wZXJ0aWVz
OyArK2opIHsKKyAgICAgICAgICAgIGNzc1RleHQuYXBwZW5kKG93blByb3BlcnR5TmFtZXNbal0u
c3RyaW5nKCkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAg
ICAgICAgICAgY3NzVGV4dC5hcHBlbmQoa2V5ZnJhbWUtPmdldCgmc3RhdGUsIG93blByb3BlcnR5
TmFtZXNbal0pLnRvV1RGU3RyaW5nKCZzdGF0ZSkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBl
bmRMaXRlcmFsKCI7ICIpOworICAgICAgICB9CisKKyAgICAgICAgYXV0byByZW5kZXJTdHlsZSA9
IFJlbmRlclN0eWxlOjpjcmVhdGVQdHIoKTsKKyAgICAgICAgYXV0byBzdHlsZVByb3BlcnRpZXMg
PSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKyAgICAgICAgc3R5bGVQcm9wZXJ0
aWVzLT5wYXJzZURlY2xhcmF0aW9uKGNzc1RleHQudG9TdHJpbmcoKSwgcGFyc2VyQ29udGV4dCk7
CisgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ1NTUHJvcGVydGllcyA9IHN0eWxlUHJvcGVydGll
cy0+cHJvcGVydHlDb3VudCgpOworCisgICAgICAgIFZlY3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9w
ZXJ0aWVzOworICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbnVtYmVyT2ZDU1NQcm9w
ZXJ0aWVzOyArK2spIHsKKyAgICAgICAgICAgIHByb3BlcnRpZXMuYXBwZW5kKHN0eWxlUHJvcGVy
dGllcy0+cHJvcGVydHlBdChrKS5pZCgpKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIuYXBw
bHlQcm9wZXJ0eVRvU3R5bGUoc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGspLmlkKCksIHN0
eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChrKS52YWx1ZSgpLCBXVEZNb3ZlKHJlbmRlclN0eWxl
KSk7CisgICAgICAgICAgICByZW5kZXJTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS50YWtl
U3R5bGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIG5ld0tleWZyYW1lcy5hcHBlbmQoeyBSZW5k
ZXJTdHlsZTo6Y2xvbmUoKnJlbmRlclN0eWxlKSwgcHJvcGVydGllcyB9KTsKKyAgICB9CisKKyAg
ICBtX2tleWZyYW1lcyA9IFdURk1vdmUobmV3S2V5ZnJhbWVzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcyBsb2Nh
bFRpbWUsIFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSkKK3sKKyAgICBpZiAoIW1fdGFyZ2V0KQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogQXNzdW1lIGFuaW1hdGlvbnMgb25seSBh
cHBseSBpbiB0aGUgcmFuZ2UgWzAsIGR1cmF0aW9uWworICAgIC8vIHVudGlsIHdlIHN1cHBvcnQg
ZmlsbCBtb2RlcywgZGVsYXlzIGFuZCBpdGVyYXRpb25zLgorICAgIGlmIChsb2NhbFRpbWUgPCAw
X3MgfHwgbG9jYWxUaW1lID49IHRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIXRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmbG9hdCBwcm9ncmVzcyA9IGxvY2FsVGltZSAvIHRpbWluZygpLT5kdXJhdGlvbigpOworCisg
ICAgLy8gRklYTUU6IFRoaXMgd2lsbCBjcmFzaCBpZiB3ZSBhdHRlbXB0IHRvIGFuaW1hdGUgcHJv
cGVydGllcyB0aGF0IHJlcXVpcmUgYW4gQW5pbWF0aW9uQmFzZS4KKyAgICBmb3IgKGF1dG8gcHJv
cGVydHlJZCA6IG1fa2V5ZnJhbWVzWzBdLnByb3BlcnRpZXMpCisgICAgICAgIENTU1Byb3BlcnR5
QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMobnVsbHB0ciwgcHJvcGVydHlJZCwgJnRhcmdldFN0
eWxlLCAmbV9rZXlmcmFtZXNbMF0uc3R5bGUsICZtX2tleWZyYW1lc1sxXS5zdHlsZSwgcHJvZ3Jl
c3MpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5oCmluZGV4IGQ1ZTRmMzZkYjRiYjAwYmQzNzNjNmRlNzQzNWU2YzRj
NjkxODIzYzYuLjAxOTBjM2FiOTdiMjAwMWFjMzI0ZWZkY2IyODhjYWNiZjVhM2FlNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCkBAIC0yNiwyMiArMjYsMzEg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQW5pbWF0aW9uRWZmZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAorc3RydWN0IEtleWZyYW1lIHsKKyAgICBSZW5kZXJT
dHlsZSBzdHlsZTsKKyAgICBWZWN0b3I8Q1NTUHJvcGVydHlJRD4gcHJvcGVydGllczsKK307CisK
IGNsYXNzIEtleWZyYW1lRWZmZWN0IGZpbmFsIDogcHVibGljIEFuaW1hdGlvbkVmZmVjdCB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxLZXlmcmFtZUVmZmVjdD4gY3JlYXRlKEVsZW1lbnQqKTsK
KyAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gY3JlYXRlKEpTQzo6
RXhlY1N0YXRlJiwgRWxlbWVudCosIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYpOwogICAg
IH5LZXlmcmFtZUVmZmVjdCgpIHsgfQogCiAgICAgRWxlbWVudCogdGFyZ2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRLZXlmcmFt
ZXMoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmKTsKKyAgICB2
b2lkIGFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcywgUmVuZGVyU3R5bGUmKSBvdmVycmlkZTsKIAog
cHJpdmF0ZToKICAgICBLZXlmcmFtZUVmZmVjdChFbGVtZW50Kik7CiAgICAgUmVmUHRyPEVsZW1l
bnQ+IG1fdGFyZ2V0OworICAgIFZlY3RvcjxLZXlmcmFtZT4gbV9rZXlmcmFtZXM7CiAKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCmluZGV4IDUzOGU4
MzFjNWRkMTA4YjUyZTY4YzFmNzA2ZjI4NDcyZDZkOGUzN2QuLjUxOWEwYjZmMzA1MTViZGRiNjBh
ZjM4ZjllMTkzYTEzYWVkMjcyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmlkbApAQCAtMjUsNyArMjUsMTAgQEAKIAogWwogICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViQW5pbWF0aW9ucywKLSAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0YXJnZXQpCisgICAg
Q29uc3RydWN0b3JNYXlUaHJvd0V4Y2VwdGlvbiwKKyAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPVNj
cmlwdFN0YXRlLAorICAgIENvbnN0cnVjdG9yKEVsZW1lbnQ/IHRhcmdldCwgb2JqZWN0PyBrZXlm
cmFtZXMpCiBdIGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFuaW1hdGlvbkVmZmVjdCB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb24sIENhbGxXaXRoPVNjcmlwdFN0YXRlXSB2b2lkIHNldEtleWZyYW1lcyhvYmplY3Q/IGtl
eWZyYW1lcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApp
bmRleCBhZWM5NzllNDAzMmMyMTEwYTIxNmUzZDEwMjgwNDY1NzQ0YWYxNTAwLi4wYWZiZWY1MDJk
ZGRiZjdjZmZlMGE5Y2E2NTZlM2ZlM2QzMmFmZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMjM3LDYgKzIzNywxMiBAQCBTZWNvbmRzIFdlYkFuaW1h
dGlvbjo6dGltZVRvTmV4dFJlcXVpcmVkVGljayhTZWNvbmRzIHRpbWVsaW5lVGltZSkgY29uc3QK
ICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKIH0KIAordm9pZCBXZWJBbmltYXRpb246
OnJlc29sdmUoUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlKQoreworICAgIGlmIChtX2VmZmVjdCAm
JiBjdXJyZW50VGltZSgpKQorICAgICAgICBtX2VmZmVjdC0+YXBwbHlBdExvY2FsVGltZShjdXJy
ZW50VGltZSgpLnZhbHVlKCksIHRhcmdldFN0eWxlKTsKK30KKwogU3RyaW5nIFdlYkFuaW1hdGlv
bjo6ZGVzY3JpcHRpb24oKQogewogICAgIHJldHVybiAiQW5pbWF0aW9uIjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCBiNGI1MjQ2MWE4MzE2YWE5ZWJlZGQ5YzEw
YzVkOTEwZTAzMmFjMWY0Li4wZWIyMzZmNTZjYmIwMjI0Yzg2NDc5ZTU0ZWY4NTY2NTFkMDViMDNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCkBAIC0zOCw2ICszOCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFuaW1hdGlvbkVmZmVjdDsKIGNsYXNzIEFu
aW1hdGlvblRpbWVsaW5lOwogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBSZW5kZXJTdHlsZTsKIAog
Y2xhc3MgV2ViQW5pbWF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQW5pbWF0aW9u
PiB7CiBwdWJsaWM6CkBAIC02Myw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFBsYXli
YWNrUmF0ZShkb3VibGUpOwogCiAgICAgU2Vjb25kcyB0aW1lVG9OZXh0UmVxdWlyZWRUaWNrKFNl
Y29uZHMpIGNvbnN0OworICAgIHZvaWQgcmVzb2x2ZShSZW5kZXJTdHlsZSYpOwogCiAgICAgU3Ry
aW5nIGRlc2NyaXB0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L0lETFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCmluZGV4IDZi
N2JiMjIxMWNlZWIzNWQ3OWIwZTlmMGJjMjIyMTAxMTkwMWMyNTUuLjRjYjVlMjUyZTJjNmM0NTI0
MzlmM2VjMThlZDM1MjFkODczZTAyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL0lETFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaApA
QCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiU3RyaW5nQWRhcHRvcnMuaCIKICNpbmNsdWRl
IDxoZWFwL0hhbmRsZVR5cGVzLmg+CisjaW5jbHVkZSA8aGVhcC9TdHJvbmcuaD4KICNpbmNsdWRl
IDx3dGYvQnJpZ2FuZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgpAQCAtMTUwLDcgKzE1MSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBJRExSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nQWRhcHRvciA6IElETFN0cmlu
ZzxBCiBzdHJ1Y3QgSURMT2JqZWN0IDogSURMVHlwZTxKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0
Pj4gewogICAgIHVzaW5nIE51bGxhYmxlVHlwZSA9IEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+
OwogCi0gICAgc3RhdGljIGlubGluZSBzdGQ6Om51bGxwdHJfdCBudWxsVmFsdWUoKSB7IHJldHVy
biBudWxscHRyOyB9CisgICAgc3RhdGljIGlubGluZSBOdWxsYWJsZVR5cGUgbnVsbFZhbHVlKCkg
eyByZXR1cm4geyB9OyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3RhdGljIGlubGluZSBi
b29sIGlzTnVsbFZhbHVlKFUmJiB2YWx1ZSkgeyByZXR1cm4gIXZhbHVlOyB9CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVT4gc3RhdGljIGlubGluZSBVJiYgZXh0cmFjdFZhbHVlRnJvbU51bGxhYmxl
KFUmJiB2YWx1ZSkgeyByZXR1cm4gc3RkOjpmb3J3YXJkPFU+KHZhbHVlKTsgfQogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKaW5kZXggNmI0Njc0YzdmZjk5ZjBiYTMzMjQ3MWJhNGE2MTNhNThjZTE4NGQ2
Zi4uZDg5NzViY2U5YTkzMWJhZDkzNmI1YWYwMGEwZWQyMzA4ODIzOGEzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKQEAgLTEzNzcsNiArMTM3Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmluZ0NhbGxiYWNrPiYm
KTsgLy8gRm9yIHRlc3RpbmcuCiAKICAgICBEb2N1bWVudFRpbWVsaW5lJiB0aW1lbGluZSgpOwor
ICAgIERvY3VtZW50VGltZWxpbmUqIGV4aXN0aW5nVGltZWxpbmUoKSBjb25zdCB7IHJldHVybiBt
X3RpbWVsaW5lLmdldCgpOyB9CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+PiBnZXRB
bmltYXRpb25zKCk7CiAgICAgICAgIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMWFmNDQxOTY3NDJiYThmNTgyNjBmMDMzOTFmZTBmY2E2
NTU3ZWIzYy4uMGFmY2Y1YjNkM2ZiNWMzMDliOTFjZjczNWE5MWRhYTBlODA2MTNiNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcApAQCAtMzcwNCw3ICszNzA0LDkgQEAgRWxlbWVudCogRWxlbWVudDo6
ZmluZEFuY2hvckVsZW1lbnRGb3JMaW5rKFN0cmluZyYgb3V0QW5jaG9yTmFtZSkKIFZlY3RvcjxS
ZWZQdHI8V2ViQW5pbWF0aW9uPj4gRWxlbWVudDo6Z2V0QW5pbWF0aW9ucygpCiB7CiAgICAgLy8g
RklYTUU6IEZpbHRlciBhbmQgb3JkZXIgdGhlIGxpc3QgYXMgc3BlY2lmaWVkICh3ZWJraXQub3Jn
L2IvMTc5NTM1KS4KLSAgICByZXR1cm4gZG9jdW1lbnQoKS50aW1lbGluZSgpLmFuaW1hdGlvbnNG
b3JFbGVtZW50KCp0aGlzKTsKKyAgICBpZiAoYXV0byB0aW1lbGluZSA9IGRvY3VtZW50KCkuZXhp
c3RpbmdUaW1lbGluZSgpKQorICAgICAgICByZXR1cm4gdGltZWxpbmUtPmFuaW1hdGlvbnNGb3JF
bGVtZW50KCp0aGlzKTsKKyAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+PiB7
IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCAyMTM0NjdjNGY5Y2QzYmM0ZWRkYjE1MjA2MWQ3YmZh
ZWQ1ZDJiZjFlLi5kMzM4ZjZjNDkxMGQ0ZTA5YmYwYWQ1YTcxMzY2NmIwZDg2N2E5ZmM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ29tcG9zZWRUcmVl
QW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbXBvc2VkVHJlZUl0ZXJhdG9yLmgiCisj
aW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZS5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1l
bnQuaCIKQEAgLTI3NCw5ICsyNzUsMjAgQEAgY29uc3QgUmVuZGVyU3R5bGUqIFRyZWVSZXNvbHZl
cjo6cGFyZW50Qm94U3R5bGUoKSBjb25zdAogCiBFbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6
Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4g
bmV3U3R5bGUsIEVsZW1lbnQmIGVsZW1lbnQsIENoYW5nZSBwYXJlbnRDaGFuZ2UpCiB7CisgICAg
YXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250ZW50c1N0eWxlKGVsZW1lbnQpOwor
CisgICAgaWYgKGF1dG8gdGltZWxpbmUgPSBlbGVtZW50LmRvY3VtZW50KCkuZXhpc3RpbmdUaW1l
bGluZSgpKSB7CisgICAgICAgIGF1dG8gd2ViQW5pbWF0aW9ucyA9IHRpbWVsaW5lLT5hbmltYXRp
b25zRm9yRWxlbWVudChlbGVtZW50KTsKKyAgICAgICAgaWYgKCF3ZWJBbmltYXRpb25zLmlzRW1w
dHkoKSkgeworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBhbmltYXRl
ZFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpuZXdTdHlsZSk7CisgICAgICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIGFuaW1hdGlvbiA6IHdlYkFuaW1hdGlvbnMpCisgICAgICAgICAgICAg
ICAgYW5pbWF0aW9uLT5yZXNvbHZlKCphbmltYXRlZFN0eWxlKTsKKyAgICAgICAgICAgIG5ld1N0
eWxlID0gV1RGTW92ZShhbmltYXRlZFN0eWxlKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGF1
dG8mIGFuaW1hdGlvbkNvbnRyb2xsZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmFuaW1hdGlvbigp
OwogCi0gICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250ZW50c1N0eWxlKGVs
ZW1lbnQpOwogICAgIGF1dG8gYW5pbWF0aW9uVXBkYXRlID0gYW5pbWF0aW9uQ29udHJvbGxlci51
cGRhdGVBbmltYXRpb25zKGVsZW1lbnQsICpuZXdTdHlsZSwgb2xkU3R5bGUpOwogCiAgICAgaWYg
KGFuaW1hdGlvblVwZGF0ZS5zdHlsZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOTk2YzE5ODIzMGNkMDY0N2RhMTk3MzQ0
Mzg3ZGRlODhlYjlmMjExLi41M2Q4NjNiMTNiOTFmOGU4OGYxOWVhN2VjMzEzNmQwMjY0Y2I3MDA1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTEtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIEltcGxlbWVudCBiYXNp
YyB0by1mcm9tIGFuaW1hdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3OTcwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQ5MzI0NTY+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4
aXN0aW5nIHRlc3RzIHRvIGV4cGxpY2l0bHkgcGFzcyBudWxsIGZvciBrZXlmcmFtZXMgYW5kIHVw
ZGF0ZSBXUFQgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlm
cmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFt
ZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0
YXJ0LXRpbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sOgorICAgICAgICAqIGh0
dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24t
YmFzaWMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwvYW5pbWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWw6CisgICAgICAg
ICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1pbnRl
cmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVm
ZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWw6CisgICAgICAgICogaHR0cC93cHQv
d2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sOgorCiAy
MDE3LTExLTE0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBTdHVi
IGltcGxlbWVudGF0aW9ucyBvZiBPZmZzY3JlZW5DYW52YXMgZ2V0Q29udGV4dCBhbmQgdHJhbnNm
ZXJUb0ltYWdlQml0bWFwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0CmluZGV4
IGYxOGRmYWJiN2NiYzI3MmY4YjhkOTNkOGE1Nzk4ZGE2ODIzOGU1MTMuLmE2YjVhYWQ3OGE0OWIy
OWM2ZDdkMzc0M2EzYzI0YjJlM2QzYWE4ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQt
dGltZWxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIGRvY3VtZW50LnRpbWVsaW5lIGlkZW50
aXR5IHRlc3RzIAotRkFJTCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB2YWx1ZSB0ZXN0
cyBhc3NlcnRfZXF1YWxzOiBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBtYXRjaGVzIHJl
cXVlc3RBbmltYXRpb25GcmFtZSB0aW1lIGV4cGVjdGVkIDU1Mi4zMDAwMDAwMDAwMDAxIGJ1dCBn
b3QgMC41NTM4MDAwMDAwMDAwMDAxCi1QQVNTIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1l
IGxpdmVuZXNzIHRlc3RzIAotUEFTUyBpZnJhbWUgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRp
bWUgbGl2ZW5lc3MgdGVzdHMgCitGQUlMIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHZh
bHVlIHRlc3RzIGFzc2VydF9lcXVhbHM6IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIG1h
dGNoZXMgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRpbWUgZXhwZWN0ZWQgOTM1LjMwMDAwMDAwMDAw
MDEgYnV0IGdvdCAwLjM1NzAwMDAwMDAwMDAwMDA0CitGQUlMIGRvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIGFzc2VydF9ncmVhdGVyX3RoYW46IGRvY3VtZW50LnRp
bWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVuIHNjcmlwdCBibG9ja3MgZXhwZWN0
ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAuMzU3MDAwMDAwMDAwMDAwMDQgYnV0IGdvdCAwLjM1
NzAwMDAwMDAwMDAwMDA0CitGQUlMIGlmcmFtZSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBsaXZlbmVzcyB0ZXN0cyBhc3NlcnRfZ3JlYXRlcl90aGFuOiBpZnJhbWUgZG9jdW1lbnQudGlt
ZWxpbmUuY3VycmVudFRpbWUgaW5jcmVhc2VzIGJldHdlZW4gc2NyaXB0IGJsb2NrcyBleHBlY3Rl
ZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMC4wMjgzMDAwMDAwMDAwMDAwMDIgYnV0IGdvdCAwLjAy
ODMwMDAwMDAwMDAwMDAwMgogUEFTUyBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB0aW1l
IHNob3VsZCBiZSB0aGUgc2FtZSBmb3IgYWxsIFJBRiBjYWxsYmFja3MgaW4gYSBmcmFtZSAKLQor
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4
cGVjdGVkLnR4dAppbmRleCBkMTNlNTQ0ZWU3NzZlYjBjZmUwNzE5MmZiZjZjNmFmODY5YTczMDgw
Li5jMGJiNzcyNGYxZmZkNWVlMjM4YmU3MmJiOTMxODJmMjg5MWZmZTAwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1l
RWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dApA
QCAtNTUsNSArNTUsNSBAQCBGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIGtleWZy
YW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdAogRkFJTCBPbmx5IHByb3Bl
cnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAn
ZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQogRkFJTCBPbmx5IGVudW1lcmFibGUg
cHJvcGVydGllcyBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3Qu
Z2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMo
KScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCiBGQUlMIE9ubHkgcHJvcGVy
dGllcyBkZWZpbmVkIGRpcmVjdGx5IG9uIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFyZSBy
ZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
UHJvcGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgVW5pY29kZSBjb2RlcG9p
bnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9yZGVyIGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCA1IGdvdCAwCitGQUlMIFByb3BlcnRpZXMgYXJlIHJlYWQgaW4gYXNjZW5k
aW5nIG9yZGVyIGJ5IFVuaWNvZGUgY29kZXBvaW50IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3Bl
cnR5IGFjY2VzcyBvcmRlciBwcm9wZXJ0eSAwLCBleHBlY3RlZCAiY29tcG9zaXRlIiBidXQgZ290
ICJtYXJnaW5MZWZ0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZy
YW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKaW5kZXggMGIzNjc5MmYxODM3NmI5
ZGFlMjYxN2U3YTU4MGNiYTMyMzExMWQ1Yi4uYjE1ZTY2YTAwOTMzNzk0MGQ4ZGY4OTI5OGM1ZmM2
MzZjYjM4ZDVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJh
bWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMSw0OSArMSw1NSBAQAogCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBrZXlmcmFtZSBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoZnJhbWUpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0
KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFuZCBv
bmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHdpdGggYW4gaW52YWxpZCB2YWx1ZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3Qu
c2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMo
c3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9y
dGhhbmQgcHJvcGVydHkgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
b25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZp
Y2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScs
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFs
aWQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2Vx
dWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0
aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
JywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25lIG9m
IGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBk
dXBsaWNhdGUgdmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIG9mZnNldCBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxp
Y2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0
LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRl
ZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBw
cm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScs
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFs
bCBvbWl0dGVkIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZhbHVlcywgYnV0IHRo
ZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
Y29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2YWx1ZSBmb3IgYSBnaXZl
biBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHBy
b3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMg
dmFsdWVzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFy
aWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIHNob3J0aGFu
ZCBwcmVjZWRlcyBsb25naGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBzaG9ydGhhbmQg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aGVyZSBncmVhdGVyIHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIgc2hvcnRoYW5kIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlm
cmFtZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVy
dHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0
aGUgbGFzdCBrZXlmcmFtZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRo
IGRpZmZlcmVudCBlYXNpbmdzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhbiBlbXB0eSBrZXlmcmFtZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9u
ZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBUeXBlIGVycm9y
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMg
dG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lm
aWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9w
ZXJ0eSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdv
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhl
IHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBUeXBl
IGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28g
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCkn
LCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgKGEgc2hvcnRoYW5kIGFuZCBvbmUgb2Yg
aXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScs
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVl
cyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2
YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBmb3VyIGtleWZyYW1lIHNlcXVlbmNlIFR5
cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBudWxsIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgVHlwZSBl
cnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBUeXBlIGVycm9yCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
bGwgb21pdHRlZCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZhbHVl
cywgYnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUgY29tcG9zaXRl
IHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhh
dCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJp
YWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9u
Z2hhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
Z2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVy
ZSBsb25naGFuZCBwcmVjZWRlcyBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdyZWF0
ZXIgc2hvcnRoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2
YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBUeXBlIGVycm9yCiBQQVNT
IEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFu
IG91dC1vZi1ib3VuZGVkIHBvc2l0aXZlIG9mZnNldCAKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29u
c3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9mLWJvdW5kZWQgbmVn
YXRpdmUgb2Zmc2V0IAotUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0
aCBrZXlmcmFtZXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldCAKK0ZBSUwgS2V5ZnJhbWVF
ZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5vdCBsb29zZWx5IHNvcnRl
ZCBieSBvZmZzZXQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAg
IGVmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSIgZGlkIG5vdCB0aHJv
dwogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAotUEFTUyBLZXlm
cmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCi1QQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVj
dG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVl
IAorRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBhIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgYXNzZXJ0X3Rocm93czogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCk7CisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1
Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNvbXBvc2l0ZSB2YWx1
ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KTsKKyAgICB9IiBkaWQgbm90IHRocm93CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9h
bmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMv
c2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1leHBlY3RlZC50eHQKaW5kZXggYjZmNWVhZWI2
MTYxMTRjMjMxMjhhNTMwNjQxZmI4OGQ0OTBkMmNlNy4uYTY4ZTY2NDVmMDlhMjI4NDk1ZTNmYTRj
MGU4ZmM4ZDE5NTBkYjAzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQt
dGltZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1l
eHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGlt
ZSBvZiBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgYXNzZXJ0X2VxdWFs
czogU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJyZW50IHRpbWUgZXhw
ZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290IChudW1iZXIpIC05OTkuODk2Ci1GQUlMIFNldHRp
bmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFjdGl2
ZSB0aW1lbGluZSBkb2VzIG5vdCBjbGVhciB0aGUgY3VycmVudCB0aW1lIGFzc2VydF9lcXVhbHM6
IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVudCB0aW1lIGV4cGVj
dGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5Ljg5NgorRkFJTCBTZXR0aW5n
IHRoZSBzdGFydCB0aW1lIG9mIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGlu
ZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0aW5nIGN1
cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51bWJlcikgLTk5OS42
OTQ5CitGQUlMIFNldHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIGFuIGFuaW1hdGlvbiB3
aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGluZSBkb2VzIG5vdCBjbGVhciB0aGUgY3VycmVudCB0aW1l
IGFzc2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3Vy
cmVudCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5LjY5
NDkKIEZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSBjbGVhcnMgdGhlIGhvbGQgdGltZSBhc3Nl
cnRfZXF1YWxzOiBBbmltYXRpb24gcmVwb3J0cyBpdCBpcyBydW5uaW5nIGFmdGVyIHNldHRpbmcg
YSByZXNvbHZlZCBzdGFydCB0aW1lIGV4cGVjdGVkIChzdHJpbmcpICJydW5uaW5nIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQg
dGltZSBzZXRzIHRoZSBob2xkIHRpbWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykg
InJ1bm5pbmciIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCiBGQUlMIFNldHRpbmcgdGhl
IHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5nIHJlYWR5IHByb21pc2UgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2FuaW1hdGlvbi5yZWFkeS50aGVuJykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
ZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0bWwKaW5kZXgg
YjVkM2U2ZGQ1M2M1N2EyZDgyZWMyZjU3NGIxMjlmOWEzNDBjMDBjMi4uNGMwMWRkZDg2MTFmYWI1
ZmEyZWRiMTE5MjZlOTk3NmVmYzM3MmM5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2std2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNl
cy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0bWwKQEAgLTEzLDkgKzEzLDkgQEAgbGV0IGEsIGIs
IGM7CiBjb25zdCB0YXJnZXRBID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwogY29uc3Qg
dGFyZ2V0QiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKTsKIAotY29uc3QgZWZmZWN0QWEg
PSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0QSk7Ci1jb25zdCBlZmZlY3RBYiA9IG5ldyBLZXlm
cmFtZUVmZmVjdCh0YXJnZXRBKTsKLWNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3Qo
dGFyZ2V0Qik7Citjb25zdCBlZmZlY3RBYSA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRBLCBu
dWxsKTsKK2NvbnN0IGVmZmVjdEFiID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEEsIG51bGwp
OworY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRCLCBudWxsKTsKIAog
dGVzdCh0ID0+IHsKICAgICBhc3NlcnRfdHJ1ZSh0eXBlb2YgdGFyZ2V0QS5nZXRBbmltYXRpb25z
ID09PSAiZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFzaWMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmlt
YXRpb24tY3JlYXRpb24tYmFzaWMuaHRtbAppbmRleCA1NWY1ZWEwYzdmM2JlODg5NjE5YmJjODFi
MzAyOTllMzkxNTlmMTc4Li5lZjdhNDVkOTM5NGUyYjM5NmU4MTM4ZWE2NGY2MDQ0NjU2OTBiNmYy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlv
bi1iYXNpYy5odG1sCkBAIC0zMyw3ICszMyw3IEBAIHRlc3QodCA9PiB7CiB9LCAiQ3JlYXRpbmcg
QW5pbWF0aW9uIHdpdGggYSBudWxsIGFyZ3VtZW50IHNob3VsZCBoYXZlIGEgbnVsbCBlZmZlY3Qg
YW5kIHRoZSBkb2N1bWVudCB0aW1lbGluZS4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBl
ZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZm
ZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGNvbnN0
IGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb24oZWZmZWN0KTsKICAgICBhc3NlcnRfZXF1YWxzKGFu
aW1hdGlvbi5lZmZlY3QsIGVmZmVjdCk7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24udGlt
ZWxpbmUsIGRvY3VtZW50LnRpbWVsaW5lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1
ZS1yZWxhdGlvbnNoaXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1yZWxhdGlvbnNoaXAuaHRt
bAppbmRleCBlYjU3MTQwMGY3MDk5MWNhMzZiZTI5NTBhNDVlZmQ3ZDJhMDgyYWNmLi5lYjEwNDYz
NzA0ZTQxNGI1YjdjYzJhOWJmZmY5N2FlY2JkNTljZTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVj
dC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0
aW9uc2hpcC5odG1sCkBAIC05LDggKzksOCBAQAogJ3VzZSBzdHJpY3QnOwogCiB0ZXN0KHQgPT4g
ewotICAgIGNvbnN0IGVmZmVjdEEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2IikpOwotICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3Qo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgIGNvbnN0IGVmZmVjdEEgPSBuZXcg
S2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksIG51bGwpOworICAg
IGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2IiksIG51bGwpOwogCiAgICAgY29uc3QgYSA9IG5ldyBBbmltYXRpb24oZWZmZWN0QSk7
CiAgICAgY29uc3QgYiA9IG5ldyBBbmltYXRpb24oZWZmZWN0Qik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
LWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dr
LXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNlLWVmZmVjdC1w
cm9wZXJ0eS5odG1sCmluZGV4IGQ0YTM4NzNhMDA5N2JkYWFlOTNhMzA4ZDBlZjM1NzFiOGQwMTVi
MzIuLjQ5OGM5MTE5MDMyZDQ4NmNiMmM2N2RlZDJiY2U3MmRiNjYyM2I3ZmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmlt
YXRpb24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNl
LWVmZmVjdC1wcm9wZXJ0eS5odG1sCkBAIC0xNywyNCArMTcsMjQgQEAgdGVzdCh0ID0+IHsKIAog
dGVzdCh0ID0+IHsKICAgICBjb25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uOwotICAgIGNv
bnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25z
dCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAg
YW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdDsKICAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5l
ZmZlY3QsIGVmZmVjdCk7CiB9LCAiVGhlIGFuaW1hdGlvbi5lZmZlY3QgcHJvcGVydHkgY2FuIGJl
IHNldCB0byBhIEtleWZyYW1lRWZmZWN0IG9iamVjdC4iKTsKIAogdGVzdCh0ID0+IHsKICAgICBj
b25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uOwotICAgIGNvbnN0IGVmZmVjdEEgPSBuZXcg
S2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZmZWN0QSA9IG5ldyBL
ZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0
ID0gZWZmZWN0QTsKICAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdEEp
OwotICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7
CisgICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBu
dWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0QjsKICAgICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdEIpOwogfSwgIlRoZSBhbmltYXRpb24uZWZmZWN0IHBy
b3BlcnR5IGNhbiBiZSBzZXQgdG8gYW5vdGhlciBLZXlmcmFtZUVmZmVjdCBvYmplY3QuIik7CiAK
IHRlc3QodCA9PiB7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbjsKLSAgICBj
b25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29u
c3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAg
IGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3Q7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24u
ZWZmZWN0LCBlZmZlY3QpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBudWxsOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tl
eWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVjdGVkLnR4dAppbmRl
eCBjNmNjZDllYmJhZGFiZTNmOWNmYWYwYzhiNGNiYzg5MTc2NmY2NWQyLi5jN2NhYTMwN2MwZTAw
M2Y1ZTVjMjQzYTgyY2U4NTE4OTIxYmQ1ZDIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAog
UEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGlzIGRlZmluZWQuIAotUEFTUyBUaGUg
S2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3aXRob3V0IHBh
cmFtZXRlcnMuIAotUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNvbnN0cnVjdG9y
IHRocm93cyBpZiB0aGUgcGFyYW1ldGVyIGhhcyB0aGUgd3JvbmcgdHlwZS4gCitQQVNTIFRoZSBL
ZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVkIHdpdGhvdXQgZW5v
dWdoIHBhcmFtZXRlcnMuIAorUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNvbnN0
cnVjdG9yIHRocm93cyBpZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGhhcyB0aGUgd3JvbmcgdHlwZS4g
CiBQQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgdGFyZ2V0IGlzIHNldCB0byB0aGUg
cHJvdmlkZWQgRWxlbWVudC4gCiBQQVNTIEEgS2V5ZnJhbWVFZmZlY3Qgb2JqZWN0IHRhcmdldCBp
cyByZWFkLW9ubHkuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVyZmFjZS10aW1pbmct
ZHVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1s
CmluZGV4IDg4YjY4NDUyYzY3MWI0OGVkMGM4MDU3N2Q4ZDVhMjQzZjFlZjkwZmQuLjMyYjZhMTIw
NzAyYWM1ZjAwNDkyMjYwNzk0ZDYzZGI4MGI3MzhjYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3Qt
aW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtaW50ZXJmYWNl
LXRpbWluZy1kdXJhdGlvbi5odG1sCkBAIC0xMSwxNCArMTEsMTQgQEAKIGludGVybmFscy5wYXVz
ZVRpbWVsaW5lKGRvY3VtZW50LnRpbWVsaW5lKTsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBr
ZXlmcmFtZUVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBj
b25zdCBrZXlmcmFtZUVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBu
dWxsKTsKICAgICBhc3NlcnRfaW5oZXJpdHMoa2V5ZnJhbWVFZmZlY3QsICJ0aW1pbmciKTsKICAg
ICBhc3NlcnRfaW5oZXJpdHMoa2V5ZnJhbWVFZmZlY3QudGltaW5nLCAiZHVyYXRpb24iKTsKICAg
ICBhc3NlcnRfZXF1YWxzKGtleWZyYW1lRWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgMCk7CiB9LCAi
Q2hlY2sgdGhlIGRlZmF1bHQgc3RhdGUgb2YgdGhlIHRpbWluZyBhbmQgZHVyYXRpb24gcHJvcGVy
dGllcy4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBrZXlmcmFtZUVmZmVjdCA9IG5ldyBL
ZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBrZXlmcmFtZUVmZmVjdCA9
IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBrZXlmcmFtZUVm
ZmVjdC50aW1pbmcuZHVyYXRpb24gPSAyOwogICAgIGFzc2VydF9lcXVhbHMoa2V5ZnJhbWVFZmZl
Y3QudGltaW5nLmR1cmF0aW9uLCAyKTsKIH0sICJDaGVjayB0aGF0IHdlIGNhbiB1cGRhdGUgdGhl
IHRpbWluZyBkdXJhdGlvbi4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dr
LXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1l
ZmZlY3QuaHRtbAppbmRleCBjZTBjNmY3M2Y4ZWQ1ZTJhZWFkODM2ODdmODkyOWQ2ZWU3YTM4YTI3
Li5hOTc0NmJkMmY4ZjU1YzMxMWUzNDRjMjk0Mzc4MTQ0MWRhZmIyNThlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJh
bWUtZWZmZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sCkBAIC0xNiwyMiArMTYsMjMgQEAg
dGVzdCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJy
b3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCk7Ci19LCAiVGhlIEtleWZyYW1lRWZmZWN0IGlu
dGVyZmFjZSBjYW5ub3QgYmUgY29uc3RydWN0ZWQgd2l0aG91dCBwYXJhbWV0ZXJzLiIpOworICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSk7Cit9LCAiVGhlIEtleWZyYW1lRWZmZWN0IGlu
dGVyZmFjZSBjYW5ub3QgYmUgY29uc3RydWN0ZWQgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4i
KTsKIAogdGVzdCh0ID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+
IG5ldyBLZXlmcmFtZUVmZmVjdCgwKSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9y
LCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3Qoe30pKTsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBU
eXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChbXSkpOwotICAgIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KGZhbHNlKSk7Ci0gICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoJ2Vs
ZW1lbnQnKSk7Ci19LCAiVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjb25zdHJ1Y3RvciB0
aHJvd3MgaWYgdGhlIHBhcmFtZXRlciBoYXMgdGhlIHdyb25nIHR5cGUuIik7CisgICAgYXNzZXJ0
X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoMCwgbnVsbCkp
OworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZm
ZWN0KHt9LCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBu
ZXcgS2V5ZnJhbWVFZmZlY3QoW10sIG51bGwpKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChmYWxzZSwgbnVsbCkpOworICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KCdlbGVtZW50
JywgbnVsbCkpOworfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0b3Ig
dGhyb3dzIGlmIHRoZSBmaXJzdCBwYXJhbWV0ZXIgaGFzIHRoZSB3cm9uZyB0eXBlLiIpOwogCiB0
ZXN0KHQgPT4gewotICAgIGFzc2VydF9lcXVhbHMoKG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVu
dC5ib2R5KSkudGFyZ2V0LCBkb2N1bWVudC5ib2R5KTsKKyAgICBhc3NlcnRfZXF1YWxzKChuZXcg
S2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCkpLnRhcmdldCwgZG9jdW1lbnQuYm9k
eSk7CiB9LCAiVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSB0YXJnZXQgaXMgc2V0IHRvIHRo
ZSBwcm92aWRlZCBFbGVtZW50LiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGVmZmVjdCA9
IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3QgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYXNzZXJ0X3JlYWRv
bmx5KGVmZmVjdCwgInRhcmdldCIpOwogfSwgIkEgS2V5ZnJhbWVFZmZlY3Qgb2JqZWN0IHRhcmdl
dCBpcyByZWFkLW9ubHkuIik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326955</attachid>
            <date>2017-11-14 18:29:25 -0800</date>
            <delta_ts>2017-11-14 18:43:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171114182924.patch</filename>
            <type>text/plain</type>
            <size>50036</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNWExYzhhMzcyMmM2MGQ0OGViNTI5MTA5YjcxZTg0
NzY5MDhlODc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogRGVhbCB3aXRoIGV4YWN0bHkgdHdvIGtleWZyYW1lcywgc2V0IGF0IDAg
YW5kIDEgb2Zmc2V0cywKKyAgICAgICAgc3BlY2lmaWVkIGluIGFycmF5IGZvcm1zIGZvciB0aGUg
a2V5ZnJhbWVzIG9iamVjdC4gQXMgd2UgcGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIHByb3ZpZGVk
IEpTIG9iamVjdCwKKyAgICAgICAgd2UgY3JlYXRlIFJlbmRlclN0eWxlIG9iamVjdHMgdXNpbmcg
dGhlIGVsZW1lbnQncyBTdHlsZVJlc29sdmVyIGZyb20gYSBDU1MgdGV4dCBzdHJpbmcgd2UgY3Jl
YXRlCisgICAgICAgIGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBhbmQgdmFsdWVzIGFzIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZSk6IENv
bXB1dGUgdGhlIHByb2dyZXNzIGJhc2VkIG9uIHRoZSBsb2NhbCB0aW1lIGFuZCBkdXJhdGlvbiwK
KyAgICAgICAgdXNpbmcgdGhlIGV4aXN0aW5nIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFBy
b3BlcnRpZXMoKSBtZWNoYW5pY3MgdG8gcGVyZm9ybSB0aGUgYmxlbmQgYmV0d2VlbiB0aGUKKyAg
ICAgICAgZnJvbSBhbmQgdG8ga2V5ZnJhbWVzLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGw6CisgICAg
ICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJB
bmltYXRpb246OnJlc29sdmUpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SURMT2Jq
ZWN0OjpudWxsVmFsdWUpOiBNYWtlIEpTQzo6U3Ryb25nIGFuIG9wdGlvbmFsIHR5cGUuCisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZXhpc3Rp
bmdUaW1lbGluZSBjb25zdCk6IFByb3ZpZGUgYW4gZXhwbGljaXQgbWV0aG9kIGZvciBjYWxsIHNp
dGVzIHRvIGNoZWNrIGV4aXN0ZW5jZQorICAgICAgICBvZiBhIHRpbWVsaW5lIGJlZm9yZSBmb3Jj
aW5nIG9uZSB0byBiZSBjcmVhdGVkIGlmIG1pc3NpbmcgYnkgY2FsbGluZyB0aW1lbGluZSgpLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omdl
dEFuaW1hdGlvbnMpOiBEbyBub3QgZm9yY2UgdGhlIGNyZWF0aW9uIG9mIGEgdGltZWxpbmUgaWYg
b25lIGlzbid0IGFscmVhZHkgY3JlYXRlZC4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpjcmVhdGVB
bmltYXRlZEVsZW1lbnRVcGRhdGUpOiBXaGVuIGFwcGx5aW5nIHN0eWxlcywgYWNjb3VudCBmb3Ig
YW55IFdlYgorICAgICAgICBBbmltYXRpb24gYXBwbGllZCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dC4KKwogMjAxNy0xMS0xNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIGNvbW1lbnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gcmVmbGVj
dCBsb2NhdGlvbiBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggZTQ1NjQ3OWI5Y2MyMDQ2OTA5MDYx
YmZmMTFmZGNiNjlkYjQ0ZGVmZS4uMTNhMmRiNWVhOWVhOTYxZjMxM2RlYjk4MWY4YTNiZjA2NmI5
ZTQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApAQCAt
MzYsMTAgKzM2LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQW5pbWF0aW9uRWZm
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uRWZmZWN0PiB7CiBwdWJsaWM6CisgICAg
dmlydHVhbCB+QW5pbWF0aW9uRWZmZWN0KCkgPSBkZWZhdWx0OworCiAgICAgYm9vbCBpc0tleWZy
YW1lRWZmZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gS2V5ZnJhbWVFZmZlY3RD
bGFzczsgfQogICAgIEFuaW1hdGlvbkVmZmVjdFRpbWluZyogdGltaW5nKCkgY29uc3QgeyByZXR1
cm4gbV90aW1pbmcuZ2V0KCk7IH0KLQotICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRlclN0eWxl
JikgPSAwOwogCiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2FuaW1hdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmlt
YXRpb24+JiYgYW5pbWF0aW9uKSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCmluZGV4IDc0ZGE1ZGJhMTY2
MzQ3ODUzOWY5OWZiYWQ3NDlhYzRhNjZhODBiNTAuLmM3YTY5MzMzODUwZWQ3YjI1ZTkxOGQyYzgw
MmNkOWJlNmZiYTk4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oCkBAIC03MCw2ICs3MCw4IEBAIHByb3RlY3RlZDoKIAogICAgIGV4cGxpY2l0IEFu
aW1hdGlvblRpbWVsaW5lKENsYXNzVHlwZSk7CiAKKyAgICBIYXNoTWFwPFJlZlB0cjxFbGVtZW50
PiwgVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+Pj4gZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
IGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcDsgfQorCiBwcml2YXRlOgog
ICAgIENsYXNzVHlwZSBtX2NsYXNzVHlwZTsKICAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IG1f
Y3VycmVudFRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1l
bnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5jcHAKaW5kZXggODVjMTFlMGI3ZThkMmZiNzlmN2U0NTQ2NmFmOGYyMGU1MGQ5MWE0Yy4uYjBm
ZDZkN2RkYTZhODFmYTA5NWRkZGYyNWI5ZDQzNmNlOTJiMGE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtMTU0LDExICsxNTQsMTcgQEAg
dm9pZCBEb2N1bWVudFRpbWVsaW5lOjpkaXNwbGF5UmVmcmVzaEZpcmVkKCkKIHZvaWQgRG9jdW1l
bnRUaW1lbGluZTo6YW5pbWF0aW9uUmVzb2x1dGlvblRpbWVyRmlyZWQoKQogI2VuZGlmCiB7Ci0g
ICAgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB1cGRhdGVBbmltYXRpb25zKCk7CiB9CiAKLXZv
aWQgRG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMoKQordm9pZCBEb2N1bWVudFRp
bWVsaW5lOjp1cGRhdGVBbmltYXRpb25zKCkKIHsKKyAgICBpZiAobV9kb2N1bWVudCAmJiAhZWxl
bWVudFRvQW5pbWF0aW9uc01hcCgpLmlzRW1wdHkoKSkgeworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIGVsZW1lbnRUb0FuaW1hdGlvbnNNYXBJdGVtIDogZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
KQorICAgICAgICAgICAgZWxlbWVudFRvQW5pbWF0aW9uc01hcEl0ZW0ua2V5LT5pbnZhbGlkYXRl
U3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CisgICAgICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVN0
eWxlSWZOZWVkZWQoKTsKKyAgICB9CisKICAgICAvLyBUaW1lIGhhcyBhZHZhbmNlZCwgdGhlIHRp
bWluZyBtb2RlbCByZXF1aXJlcyBpbnZhbGlkYXRpb24gbm93LgogICAgIGFuaW1hdGlvblRpbWlu
Z01vZGVsRGlkQ2hhbmdlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmUuaAppbmRleCA2ZjNkZjFhMGIyOWYxZWY4NGFkODc3YTk2NmUxYjEzZDNjNGJhYzQ5
Li4zMDA2MGY2MzQ5NDAwYjhiOTdiNDFjMmUyM2QyYmVkZGE5MjMxMjYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvblNjaGVkdWxlKCk7CiAgICAgdm9pZCBhbmlt
YXRpb25TY2hlZHVsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uUmVz
b2x1dGlvbigpOwotICAgIHZvaWQgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB2b2lkIHVwZGF0
ZUFuaW1hdGlvbnMoKTsKIAogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKICAgICBi
b29sIG1fcGF1c2VkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwCmluZGV4IGNiN2JiMjI0MWM0Mzg4NDg4ZWY0NTQ1ZjM4NGVlZGE0NTM2YTUx
YTYuLjJhYTBkMjM4MmFhYmEwOGFjMmQ0ZjA2ZTM0YjlhOGEwNzI5NTNjYTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjYsMTMgKzI2LDI0IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3QuaCIKIAorI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1l
c3BhY2UgSlNDOwogCi1SZWY8S2V5ZnJhbWVFZmZlY3Q+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUo
RWxlbWVudCogdGFyZ2V0KQorRXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJh
bWVFZmZlY3Q6OmNyZWF0ZShFeGVjU3RhdGUmIHN0YXRlLCBFbGVtZW50KiB0YXJnZXQsIFN0cm9u
ZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0KSk7CisgICAgYXV0byByZXN1bHQgPSBhZG9wdFJlZigqbmV3IEtl
eWZyYW1lRWZmZWN0KHRhcmdldCkpOworCisgICAgYXV0byBzZXRLZXlmcmFtZXNSZXN1bHQgPSBy
ZXN1bHQtPnNldEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXMpKTsKKyAgICBpZiAo
c2V0S2V5ZnJhbWVzUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gc2V0S2V5
ZnJhbWVzUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIEtleWZyYW1lRWZmZWN0OjpLZXlmcmFtZUVmZmVjdChFbGVtZW50KiB0YXJnZXQpCkBAIC00
MSw0ICs1Miw4MyBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFy
Z2V0KQogewogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJh
bWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCit7Cisg
ICAgLy8gRklYTUU6IFdlIG9ubHkgaGF2ZSBwcmltaXRpdmUgdG8tZnJvbSBwYXJzaW5nLCBmb3Ig
ZnVsbCBzdXBwb3J0IHNlZSB3ZWJraXQub3JnL2IvMTc5NzA4LgorICAgIGlmICghbV90YXJnZXQg
fHwgIWtleWZyYW1lcykKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICghaXNKU0FycmF5
KGtleWZyYW1lcy5nZXQoKSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIFZlY3RvcjxLZXlmcmFtZT4gbmV3S2V5ZnJhbWVzIHsgfTsKKworICAgIFZNJiB2
bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCisgICAgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciA9IG1fdGFyZ2V0LT5zdHlsZVJl
c29sdmVyKCk7CisgICAgYXV0byBwYXJzZXJDb250ZXh0ID0gQ1NTUGFyc2VyQ29udGV4dChIVE1M
U3RhbmRhcmRNb2RlKTsKKworICAgIGNvbnN0IGF1dG8qIGFycmF5ID0ganNDYXN0PGNvbnN0IEpT
QXJyYXkqPihrZXlmcmFtZXMuZ2V0KCkpOworICAgIGF1dG8gbGVuZ3RoID0gYXJyYXktPmxlbmd0
aCgpOworICAgIGlmIChsZW5ndGggIT0gMikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciB9OworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CisgICAgICAgIGNvbnN0IEpTVmFsdWUgdmFsdWUgPSBhcnJheS0+Z2V0SW5kZXgoJnN0YXRlLCBp
KTsKKyAgICAgICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpIHx8ICF2YWx1ZSB8fCAhdmFsdWUuaXNP
YmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAg
ICAgICAgSlNPYmplY3QqIGtleWZyYW1lID0gdmFsdWUudG9PYmplY3QoJnN0YXRlKTsKKyAgICAg
ICAgUHJvcGVydHlOYW1lQXJyYXkgb3duUHJvcGVydHlOYW1lcygmdm0sIFByb3BlcnR5TmFtZU1v
ZGU6OlN0cmluZ3MsIFByaXZhdGVTeW1ib2xNb2RlOjpFeGNsdWRlKTsKKyAgICAgICAgSlNPYmpl
Y3Q6OmdldE93blByb3BlcnR5TmFtZXMoa2V5ZnJhbWUsICZzdGF0ZSwgb3duUHJvcGVydHlOYW1l
cywgRW51bWVyYXRpb25Nb2RlKCkpOworICAgICAgICBzaXplX3QgbnVtYmVyT2ZQcm9wZXJ0aWVz
ID0gb3duUHJvcGVydHlOYW1lcy5zaXplKCk7CisKKyAgICAgICAgU3RyaW5nQnVpbGRlciBjc3NU
ZXh0OworICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtYmVyT2ZQcm9wZXJ0aWVz
OyArK2opIHsKKyAgICAgICAgICAgIGNzc1RleHQuYXBwZW5kKG93blByb3BlcnR5TmFtZXNbal0u
c3RyaW5nKCkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAg
ICAgICAgICAgY3NzVGV4dC5hcHBlbmQoa2V5ZnJhbWUtPmdldCgmc3RhdGUsIG93blByb3BlcnR5
TmFtZXNbal0pLnRvV1RGU3RyaW5nKCZzdGF0ZSkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBl
bmRMaXRlcmFsKCI7ICIpOworICAgICAgICB9CisKKyAgICAgICAgYXV0byByZW5kZXJTdHlsZSA9
IFJlbmRlclN0eWxlOjpjcmVhdGVQdHIoKTsKKyAgICAgICAgYXV0byBzdHlsZVByb3BlcnRpZXMg
PSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKyAgICAgICAgc3R5bGVQcm9wZXJ0
aWVzLT5wYXJzZURlY2xhcmF0aW9uKGNzc1RleHQudG9TdHJpbmcoKSwgcGFyc2VyQ29udGV4dCk7
CisgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ1NTUHJvcGVydGllcyA9IHN0eWxlUHJvcGVydGll
cy0+cHJvcGVydHlDb3VudCgpOworCisgICAgICAgIFZlY3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9w
ZXJ0aWVzOworICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbnVtYmVyT2ZDU1NQcm9w
ZXJ0aWVzOyArK2spIHsKKyAgICAgICAgICAgIHByb3BlcnRpZXMuYXBwZW5kKHN0eWxlUHJvcGVy
dGllcy0+cHJvcGVydHlBdChrKS5pZCgpKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIuYXBw
bHlQcm9wZXJ0eVRvU3R5bGUoc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGspLmlkKCksIHN0
eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChrKS52YWx1ZSgpLCBXVEZNb3ZlKHJlbmRlclN0eWxl
KSk7CisgICAgICAgICAgICByZW5kZXJTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS50YWtl
U3R5bGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIG5ld0tleWZyYW1lcy5hcHBlbmQoeyBSZW5k
ZXJTdHlsZTo6Y2xvbmUoKnJlbmRlclN0eWxlKSwgcHJvcGVydGllcyB9KTsKKyAgICB9CisKKyAg
ICBtX2tleWZyYW1lcyA9IFdURk1vdmUobmV3S2V5ZnJhbWVzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcyBsb2Nh
bFRpbWUsIFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSkKK3sKKyAgICBpZiAoIW1fdGFyZ2V0KQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogQXNzdW1lIGFuaW1hdGlvbnMgb25seSBh
cHBseSBpbiB0aGUgcmFuZ2UgWzAsIGR1cmF0aW9uWworICAgIC8vIHVudGlsIHdlIHN1cHBvcnQg
ZmlsbCBtb2RlcywgZGVsYXlzIGFuZCBpdGVyYXRpb25zLgorICAgIGlmIChsb2NhbFRpbWUgPCAw
X3MgfHwgbG9jYWxUaW1lID49IHRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIXRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmbG9hdCBwcm9ncmVzcyA9IGxvY2FsVGltZSAvIHRpbWluZygpLT5kdXJhdGlvbigpOworCisg
ICAgLy8gRklYTUU6IFRoaXMgd2lsbCBjcmFzaCBpZiB3ZSBhdHRlbXB0IHRvIGFuaW1hdGUgcHJv
cGVydGllcyB0aGF0IHJlcXVpcmUgYW4gQW5pbWF0aW9uQmFzZS4KKyAgICBmb3IgKGF1dG8gcHJv
cGVydHlJZCA6IG1fa2V5ZnJhbWVzWzBdLnByb3BlcnRpZXMpCisgICAgICAgIENTU1Byb3BlcnR5
QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMobnVsbHB0ciwgcHJvcGVydHlJZCwgJnRhcmdldFN0
eWxlLCAmbV9rZXlmcmFtZXNbMF0uc3R5bGUsICZtX2tleWZyYW1lc1sxXS5zdHlsZSwgcHJvZ3Jl
c3MpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5oCmluZGV4IGQ1ZTRmMzZkYjRiYjAwYmQzNzNjNmRlNzQzNWU2YzRj
NjkxODIzYzYuLmE5NmU3YzI1YWViZjhiNWRlNTkwODgwOTViYzAwN2M0NzJiZmRkZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCkBAIC0yNiwyMiArMjYsMzIg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQW5pbWF0aW9uRWZmZWN0LmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCitzdHJ1
Y3QgS2V5ZnJhbWUgeworICAgIFJlbmRlclN0eWxlIHN0eWxlOworICAgIFZlY3RvcjxDU1NQcm9w
ZXJ0eUlEPiBwcm9wZXJ0aWVzOworfTsKKwogY2xhc3MgS2V5ZnJhbWVFZmZlY3QgZmluYWwgOiBw
dWJsaWMgQW5pbWF0aW9uRWZmZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEtleWZyYW1l
RWZmZWN0PiBjcmVhdGUoRWxlbWVudCopOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8S2V5
ZnJhbWVFZmZlY3Q+PiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUmLCBFbGVtZW50KiwgSlNDOjpTdHJv
bmc8SlNDOjpKU09iamVjdD4mJik7CiAgICAgfktleWZyYW1lRWZmZWN0KCkgeyB9CiAKICAgICBF
bGVtZW50KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldC5nZXQoKTsgfQorICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEtleWZyYW1lcyhKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6U3Ryb25n
PEpTQzo6SlNPYmplY3Q+JiYpOworICAgIHZvaWQgYXBwbHlBdExvY2FsVGltZShTZWNvbmRzLCBS
ZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEtleWZyYW1lRWZmZWN0KEVs
ZW1lbnQqKTsKICAgICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CisgICAgVmVjdG9yPEtleWZy
YW1lPiBtX2tleWZyYW1lczsKIAogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdC5pZGwKaW5kZXggNTM4ZTgzMWM1ZGQxMDhiNTJlNjhjMWY3MDZmMjg0NzJkNmQ4
ZTM3ZC4uNTE5YTBiNmYzMDUxNWJkZGI2MGFmMzhmOWUxOTNhMTNhZWQyNzI3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCkBAIC0yNSw3ICsyNSwxMCBA
QAogCiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJBbmltYXRpb25zLAotICAgIENvbnN0cnVj
dG9yKEVsZW1lbnQ/IHRhcmdldCkKKyAgICBDb25zdHJ1Y3Rvck1heVRocm93RXhjZXB0aW9uLAor
ICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0U3RhdGUsCisgICAgQ29uc3RydWN0b3IoRWxl
bWVudD8gdGFyZ2V0LCBvYmplY3Q/IGtleWZyYW1lcykKIF0gaW50ZXJmYWNlIEtleWZyYW1lRWZm
ZWN0IDogQW5pbWF0aW9uRWZmZWN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudD8g
dGFyZ2V0OworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgQ2FsbFdpdGg9U2NyaXB0U3RhdGVdIHZv
aWQgc2V0S2V5ZnJhbWVzKG9iamVjdD8ga2V5ZnJhbWVzKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCmluZGV4IGFlYzk3OWU0MDMyYzIxMTBhMjE2ZTNkMTAy
ODA0NjU3NDRhZjE1MDAuLjBhZmJlZjUwMmRkZGJmN2NmZmUwYTljYTY1NmUzZmUzZDMyYWZmZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0yMzcsNiAr
MjM3LDEyIEBAIFNlY29uZHMgV2ViQW5pbWF0aW9uOjp0aW1lVG9OZXh0UmVxdWlyZWRUaWNrKFNl
Y29uZHMgdGltZWxpbmVUaW1lKSBjb25zdAogICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgp
OwogfQogCit2b2lkIFdlYkFuaW1hdGlvbjo6cmVzb2x2ZShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5
bGUpCit7CisgICAgaWYgKG1fZWZmZWN0ICYmIGN1cnJlbnRUaW1lKCkpCisgICAgICAgIG1fZWZm
ZWN0LT5hcHBseUF0TG9jYWxUaW1lKGN1cnJlbnRUaW1lKCkudmFsdWUoKSwgdGFyZ2V0U3R5bGUp
OworfQorCiBTdHJpbmcgV2ViQW5pbWF0aW9uOjpkZXNjcmlwdGlvbigpCiB7CiAgICAgcmV0dXJu
ICJBbmltYXRpb24iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4
IGI0YjUyNDYxYTgzMTZhYTllYmVkZDljMTBjNWQ5MTBlMDMyYWMxZjQuLjBlYjIzNmY1NmNiYjAy
MjRjODY0NzllNTRlZjg1NjY1MWQwNWIwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QW5pbWF0aW9uRWZmZWN0OwogY2xhc3MgQW5pbWF0aW9uVGltZWxpbmU7CiBjbGFzcyBEb2N1bWVu
dDsKK2NsYXNzIFJlbmRlclN0eWxlOwogCiBjbGFzcyBXZWJBbmltYXRpb24gZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxXZWJBbmltYXRpb24+IHsKIHB1YmxpYzoKQEAgLTYzLDYgKzY0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0UGxheWJhY2tSYXRlKGRvdWJsZSk7CiAKICAgICBTZWNvbmRz
IHRpbWVUb05leHRSZXF1aXJlZFRpY2soU2Vjb25kcykgY29uc3Q7CisgICAgdm9pZCByZXNvbHZl
KFJlbmRlclN0eWxlJik7CiAKICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL0lETFR5cGVzLmgKaW5kZXggNmI3YmIyMjExY2VlYjM1ZDc5YjBlOWYwYmMyMjIxMDEx
OTAxYzI1NS4uNGNiNWUyNTJlMmM2YzQ1MjQzOWYzZWMxOGVkMzUyMWQ4NzNlMDJhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJT
dHJpbmdBZGFwdG9ycy5oIgogI2luY2x1ZGUgPGhlYXAvSGFuZGxlVHlwZXMuaD4KKyNpbmNsdWRl
IDxoZWFwL1N0cm9uZy5oPgogI2luY2x1ZGUgPHd0Zi9CcmlnYW5kLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0xNTAsNyArMTUx
LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElETFJlcXVpcmVzRXhpc3RpbmdBdG9t
aWNTdHJpbmdBZGFwdG9yIDogSURMU3RyaW5nPEEKIHN0cnVjdCBJRExPYmplY3QgOiBJRExUeXBl
PEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiB7CiAgICAgdXNpbmcgTnVsbGFibGVUeXBlID0g
SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD47CiAKLSAgICBzdGF0aWMgaW5saW5lIHN0ZDo6bnVs
bHB0cl90IG51bGxWYWx1ZSgpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICBzdGF0aWMgaW5saW5l
IE51bGxhYmxlVHlwZSBudWxsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBVPiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOdWxsVmFsdWUoVSYmIHZhbHVlKSB7IHJl
dHVybiAhdmFsdWU7IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBzdGF0aWMgaW5saW5lIFUm
JiBleHRyYWN0VmFsdWVGcm9tTnVsbGFibGUoVSYmIHZhbHVlKSB7IHJldHVybiBzdGQ6OmZvcndh
cmQ8VT4odmFsdWUpOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA2YjQ2NzRjN2ZmOTlm
MGJhMzMyNDcxYmE0YTYxM2E1OGNlMTg0ZDZmLi5kODk3NWJjZTlhOTMxYmFkOTM2YjVhZjAwYTBl
ZDIzMDg4MjM4YTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTM3Nyw2ICsxMzc3LDcgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q29uc29sZU1lc3NhZ2VMaXN0ZW5l
cihSZWZQdHI8U3RyaW5nQ2FsbGJhY2s+JiYpOyAvLyBGb3IgdGVzdGluZy4KIAogICAgIERvY3Vt
ZW50VGltZWxpbmUmIHRpbWVsaW5lKCk7CisgICAgRG9jdW1lbnRUaW1lbGluZSogZXhpc3RpbmdU
aW1lbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZWxpbmUuZ2V0KCk7IH0KICAgICBWZWN0b3I8
UmVmUHRyPFdlYkFuaW1hdGlvbj4+IGdldEFuaW1hdGlvbnMoKTsKICAgICAgICAgCiAjaWYgRU5B
QkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAxYWY0NDE5
Njc0MmJhOGY1ODI2MGYwMzM5MWZlMGZjYTY1NTdlYjNjLi4wYWZjZjViM2QzZmI1YzMwOWI5MWNm
NzM1YTkxZGFhMGU4MDYxM2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zNzA0LDcgKzM3
MDQsOSBAQCBFbGVtZW50KiBFbGVtZW50OjpmaW5kQW5jaG9yRWxlbWVudEZvckxpbmsoU3RyaW5n
JiBvdXRBbmNob3JOYW1lKQogVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+PiBFbGVtZW50Ojpn
ZXRBbmltYXRpb25zKCkKIHsKICAgICAvLyBGSVhNRTogRmlsdGVyIGFuZCBvcmRlciB0aGUgbGlz
dCBhcyBzcGVjaWZpZWQgKHdlYmtpdC5vcmcvYi8xNzk1MzUpLgotICAgIHJldHVybiBkb2N1bWVu
dCgpLnRpbWVsaW5lKCkuYW5pbWF0aW9uc0ZvckVsZW1lbnQoKnRoaXMpOworICAgIGlmIChhdXRv
IHRpbWVsaW5lID0gZG9jdW1lbnQoKS5leGlzdGluZ1RpbWVsaW5lKCkpCisgICAgICAgIHJldHVy
biB0aW1lbGluZS0+YW5pbWF0aW9uc0ZvckVsZW1lbnQoKnRoaXMpOworICAgIHJldHVybiBWZWN0
b3I8UmVmUHRyPFdlYkFuaW1hdGlvbj4+IHsgfTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IDIxMzQ2
N2M0ZjljZDNiYzRlZGRiMTUyMDYxZDdiZmFlZDVkMmJmMWUuLmQzMzhmNmM0OTEwZDRlMDliZjBh
ZDVhNzEzNjY2YjBkODY3YTlmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVS
ZXNvbHZlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDU1NGb250U2VsZWN0b3Iu
aCIKICNpbmNsdWRlICJDb21wb3NlZFRyZWVBbmNlc3Rvckl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAi
Q29tcG9zZWRUcmVlSXRlcmF0b3IuaCIKKyNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lLmgiCiAj
aW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgpAQCAtMjc0LDkgKzI3NSwyMCBAQCBjb25z
dCBSZW5kZXJTdHlsZSogVHJlZVJlc29sdmVyOjpwYXJlbnRCb3hTdHlsZSgpIGNvbnN0CiAKIEVs
ZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBuZXdTdHlsZSwgRWxlbWVudCYgZWxlbWVudCwgQ2hh
bmdlIHBhcmVudENoYW5nZSkKIHsKKyAgICBhdXRvKiBvbGRTdHlsZSA9IHJlbmRlck9yRGlzcGxh
eUNvbnRlbnRzU3R5bGUoZWxlbWVudCk7CisKKyAgICBpZiAoYXV0byB0aW1lbGluZSA9IGVsZW1l
bnQuZG9jdW1lbnQoKS5leGlzdGluZ1RpbWVsaW5lKCkpIHsKKyAgICAgICAgYXV0byB3ZWJBbmlt
YXRpb25zID0gdGltZWxpbmUtPmFuaW1hdGlvbnNGb3JFbGVtZW50KGVsZW1lbnQpOworICAgICAg
ICBpZiAoIXdlYkFuaW1hdGlvbnMuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGVkU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIo
Km5ld1N0eWxlKTsKKyAgICAgICAgICAgIGZvciAoY29uc3QgYXV0byYgYW5pbWF0aW9uIDogd2Vi
QW5pbWF0aW9ucykKKyAgICAgICAgICAgICAgICBhbmltYXRpb24tPnJlc29sdmUoKmFuaW1hdGVk
U3R5bGUpOworICAgICAgICAgICAgbmV3U3R5bGUgPSBXVEZNb3ZlKGFuaW1hdGVkU3R5bGUpOwor
ICAgICAgICB9CisgICAgfQorCiAgICAgYXV0byYgYW5pbWF0aW9uQ29udHJvbGxlciA9IG1fZG9j
dW1lbnQuZnJhbWUoKS0+YW5pbWF0aW9uKCk7CiAKLSAgICBhdXRvKiBvbGRTdHlsZSA9IHJlbmRl
ck9yRGlzcGxheUNvbnRlbnRzU3R5bGUoZWxlbWVudCk7CiAgICAgYXV0byBhbmltYXRpb25VcGRh
dGUgPSBhbmltYXRpb25Db250cm9sbGVyLnVwZGF0ZUFuaW1hdGlvbnMoZWxlbWVudCwgKm5ld1N0
eWxlLCBvbGRTdHlsZSk7CiAKICAgICBpZiAoYW5pbWF0aW9uVXBkYXRlLnN0eWxlKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDA5OTZjMTk4MjMwY2QwNjQ3ZGExOTczNDQzODdkZGU4OGViOWYyMTEuLjUzZDg2M2IxM2I5MWY4
ZTg4ZjE5ZWE3ZWMzMTM2ZDAyNjRjYjcwMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNy0x
MS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIg
QW5pbWF0aW9uc10gSW1wbGVtZW50IGJhc2ljIHRvLWZyb20gYW5pbWF0aW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NzA3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNDkzMjQ1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGUgZXhpc3RpbmcgdGVzdHMgdG8gZXhwbGljaXRseSBwYXNz
IG51bGwgZm9yIGtleWZyYW1lcyBhbmQgdXBkYXRlIFdQVCBleHBlY3RhdGlvbnMuCisKKyAgICAg
ICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5l
L2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFt
ZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmlt
YXRpb25zLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0
L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1y
ZWxhdGlvbnNoaXAuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwvYW5pbWF0aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUt
ZWZmZWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVyZmFjZS10aW1pbmctZHVyYXRpb24u
aHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
a2V5ZnJhbWUtZWZmZWN0Lmh0bWw6CisKIDIwMTctMTEtMTQgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFN0dWIgaW1wbGVtZW50YXRpb25zIG9mIE9mZnNjcmVlbkNh
bnZhcyBnZXRDb250ZXh0IGFuZCB0cmFuc2ZlclRvSW1hZ2VCaXRtYXAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGlt
ZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10
aW1lbGluZS1leHBlY3RlZC50eHQKaW5kZXggZjE4ZGZhYmI3Y2JjMjcyZjhiOGQ5M2Q4YTU3OThk
YTY4MjM4ZTUxMy4uYTZiNWFhZDc4YTQ5YjI5YzZkN2QzNzQzYTNjMjRiMmUzZDNhYTg4NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9B
bmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1l
bGluZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBB
U1MgZG9jdW1lbnQudGltZWxpbmUgaWRlbnRpdHkgdGVzdHMgCi1GQUlMIGRvY3VtZW50LnRpbWVs
aW5lLmN1cnJlbnRUaW1lIHZhbHVlIHRlc3RzIGFzc2VydF9lcXVhbHM6IGRvY3VtZW50LnRpbWVs
aW5lLmN1cnJlbnRUaW1lIG1hdGNoZXMgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRpbWUgZXhwZWN0
ZWQgNTUyLjMwMDAwMDAwMDAwMDEgYnV0IGdvdCAwLjU1MzgwMDAwMDAwMDAwMDEKLVBBU1MgZG9j
dW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgCi1QQVNTIGlmcmFtZSBk
b2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyAKK0ZBSUwgZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgdmFsdWUgdGVzdHMgYXNzZXJ0X2VxdWFsczogZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgbWF0Y2hlcyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgdGlt
ZSBleHBlY3RlZCA5MzUuMzAwMDAwMDAwMDAwMSBidXQgZ290IDAuMzU3MDAwMDAwMDAwMDAwMDQK
K0ZBSUwgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgYXNzZXJ0
X2dyZWF0ZXJfdGhhbjogZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgaW5jcmVhc2VzIGJl
dHdlZW4gc2NyaXB0IGJsb2NrcyBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMC4zNTcw
MDAwMDAwMDAwMDAwNCBidXQgZ290IDAuMzU3MDAwMDAwMDAwMDAwMDQKK0ZBSUwgaWZyYW1lIGRv
Y3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIGFzc2VydF9ncmVhdGVy
X3RoYW46IGlmcmFtZSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0
d2VlbiBzY3JpcHQgYmxvY2tzIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwLjAyODMw
MDAwMDAwMDAwMDAwMiBidXQgZ290IDAuMDI4MzAwMDAwMDAwMDAwMDAyCiBQQVNTIGRvY3VtZW50
LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHRpbWUgc2hvdWxkIGJlIHRoZSBzYW1lIGZvciBhbGwgUkFG
IGNhbGxiYWNrcyBpbiBhIGZyYW1lIAotCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3Npbmct
YS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1h
LWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGQxM2U1NDRlZTc3NmVi
MGNmZTA3MTkyZmJmNmM2YWY4NjlhNzMwODAuLmMwYmI3NzI0ZjFmZmQ1ZWUyMzhiZTcyYmI5MzE4
MmYyODkxZmZlMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1
bWVudC0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1h
cmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CkBAIC01NSw1ICs1NSw1IEBAIEZBSUwgT25seSBlbnVt
ZXJhYmxlIHByb3BlcnRpZXMgb24ga2V5ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFt
ZXMgaXMgbm90CiBGQUlMIE9ubHkgcHJvcGVydGllcyBkZWZpbmVkIGRpcmVjdGx5IG9uIGtleWZy
YW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCiBGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKIEZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24gcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBQcm9wZXJ0aWVzIGFyZSByZWFkIGluIGFzY2VuZGlu
ZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0
eSBhY2Nlc3Mgb3JkZXIgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDUgZ290IDAKK0ZBSUwgUHJv
cGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgVW5pY29kZSBjb2RlcG9pbnQg
YXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9yZGVyIHByb3BlcnR5IDAsIGV4
cGVjdGVkICJjb21wb3NpdGUiIGJ1dCBnb3QgIm1hcmdpbkxlZnQiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZl
Y3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1h
bmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVk
LnR4dAppbmRleCAwYjM2NzkyZjE4Mzc2YjlkYWUyNjE3ZTdhNTgwY2JhMzIzMTExZDViLi5iMTVl
NjZhMDA5MzM3OTQwZDhkZjg5Mjk4YzVmYzYzNmNiMzhkNWQyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Nl
dEtleWZyYW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFu
aW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQ5ICsxLDU1IEBACiAKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGFuIGVtcHR5IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhmcmFtZSknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBv
bmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmlj
YXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVu
ZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0
aGFuZCBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lm
aWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJv
cGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykg
dHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0
LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVz
KHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBwcm9wZXJ0eS1pbmRleGVk
IGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggZGlmZmVyZW50IG51bWJlcnMgb2YgdmFsdWVz
IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtl
eWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0
cmluZ2lmeSBpdHMgdmFsdWVzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2
YXJpYWJsZSByZWZlcmVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZh
cmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5
LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywg
J2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUgcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFs
aWQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJl
IHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJh
bWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdv
IHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1
ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVy
dHkgKGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBr
ZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50
ZXJpb3Igb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAwIGFuZCAx
IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtl
eWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBm
b3VyIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIG51bGwgb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBvZmZzZXQgZWZmZWN0
LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVz
KHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
JywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGgg
c29tZSBudWxsIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNl
dHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZl
cmVudCBlYXNpbmcgdmFsdWVzLCBidXQgdGhlIHNhbWUgZWFzaW5nIHZhbHVlIGZvciBhIGdpdmVu
IG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNhbWUg
Y29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIHRo
YXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywg
J2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSBy
ZWZlcmVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQg
cHJvcGVydHkgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGVmZmVjdC5zZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0
ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxv
bmdoYW5kIHByZWNlZGVzIHNob3J0aGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0
LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNl
ZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVz
IGxlc3NlciBzaG9ydGhhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBt
aXNzaW5nIGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUg
cHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZyYW1lIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggcmVwZWF0
ZWQgdmFsdWVzIGF0IG9mZnNldCAxIHdpdGggZGlmZmVyZW50IGVhc2luZ3MgZWZmZWN0LnNldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRl
c3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IGtleWZyYW1lIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9w
ZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBU
eXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9w
ZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0
d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVy
cm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0
d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVy
cm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggZGlmZmVyZW50IG51
bWJlcnMgb2YgdmFsdWVzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFu
IGludmFsaWQgdmFsdWUgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBUeXBlIGVy
cm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2Ug
VHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVm
ZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBub24tYXJyYXkgdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVycm9yCitGQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3Qg
dmFsdWUgaXMgaW52YWxpZCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZhbHVlIGlzIGludmFsaWQgVHlwZSBl
cnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkg
b25lIGtleWZyYW1lIHNlcXVlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Qu
Z2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMo
KScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2Ug
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byBr
ZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0
eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtl
eWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIG9mZnNldCBU
eXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3Igb2Zmc2V0cyAwIGFuZCAxIFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5
IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2UgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBvbWl0dGVkIG9m
ZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNp
bmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG51bGwgb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggc3RyaW5nIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21p
dHRlZCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBudWxsIG9mZnNl
dHMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28g
cHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBUeXBl
IGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFsbCBvbWl0dGVkIG9mZnNldHMgVHlwZSBlcnJvcgor
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3
aXRoIGRpZmZlcmVudCBlYXNpbmcgdmFsdWVzLCBidXQgdGhlIHNhbWUgZWFzaW5nIHZhbHVlIGZv
ciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBvc2l0ZSB2YWx1
ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVz
IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtl
eWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENT
UyB2YXJpYWJsZSByZWZlcmVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBw
cm9wZXJ0eSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdo
ZXJlIHNob3J0aGFuZCBwcmVjZWRlcyBsb25naGFuZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxvbmdoYW5kIHByZWNlZGVzIHNob3J0aGFuZCBl
ZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlm
cmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3Nl
ciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0
LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBncmVhdGVyIHNob3J0aGFuZCBwcmVj
ZWRlcyBsZXNzZXIgc2hvcnRoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZy
b20gdGhlIGZpcnN0IGtleWZyYW1lIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZy
b20gdGhlIGxhc3Qga2V5ZnJhbWUgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBvZmZzZXQgMSB3aXRoIGRpZmZlcmVu
dCBlYXNpbmdzIFR5cGUgZXJyb3IKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhy
b3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9mLWJvdW5kZWQgcG9zaXRpdmUgb2Zmc2V0
IAogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMg
d2l0aCBhbiBvdXQtb2YtYm91bmRlZCBuZWdhdGl2ZSBvZmZzZXQgCi1QQVNTIEtleWZyYW1lRWZm
ZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyBub3QgbG9vc2VseSBzb3J0ZWQg
Ynkgb2Zmc2V0IAorRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBr
ZXlmcmFtZXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldCBhc3NlcnRfdGhyb3dzOiBmdW5j
dGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KTsKKyAgICB9IiBkaWQgbm90IHRocm93CiBQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVj
dG9yIHRocm93cyB3aXRoIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxp
ZCBlYXNpbmcgdmFsdWUgCi1QQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3
aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKLVBB
U1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGgg
YW4gaW52YWxpZCBjb21wb3NpdGUgdmFsdWUgCitGQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVj
dG9yIHRocm93cyB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2lu
ZyB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgICAgZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KTsKKyAgICB9IiBkaWQgbm90IHRocm93CitG
QUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRo
IGFuIGludmFsaWQgY29tcG9zaXRlIHZhbHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7CisgICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOworICAg
IH0iIGRpZCBub3QgdGhyb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3Rh
cnQtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4
cGVjdGVkLnR4dAppbmRleCBiNmY1ZWFlYjYxNjExNGMyMzEyOGE1MzA2NDFmYjg4ZDQ5MGQyY2U3
Li5hNjhlNjY0NWYwOWEyMjg0OTVlM2ZhNGMwZThmYzhkMTk1MGRiMDM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQt
dGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAot
RkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIG9mIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFj
dGl2ZSB0aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRl
ciBzZXR0aW5nIGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51
bWJlcikgLTk5OS44OTYKLUZBSUwgU2V0dGluZyBhbiB1bnJlc29sdmVkIHN0YXJ0IHRpbWUgYW4g
YW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGRvZXMgbm90IGNsZWFyIHRoZSBj
dXJyZW50IHRpbWUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIg
c2V0dGluZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290IChudW1i
ZXIpIC05OTkuODk2CitGQUlMIFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgYW4gYW5pbWF0aW9u
IHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVt
YWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVudCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51
bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5LjY5NDkKK0ZBSUwgU2V0dGluZyBhbiB1bnJlc29sdmVk
IHN0YXJ0IHRpbWUgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGRvZXMg
bm90IGNsZWFyIHRoZSBjdXJyZW50IHRpbWUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1h
aW5zIG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVs
bCBidXQgZ290IChudW1iZXIpIC05OTkuNjk0OQogRkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1l
IGNsZWFycyB0aGUgaG9sZCB0aW1lIGFzc2VydF9lcXVhbHM6IEFuaW1hdGlvbiByZXBvcnRzIGl0
IGlzIHJ1bm5pbmcgYWZ0ZXIgc2V0dGluZyBhIHJlc29sdmVkIHN0YXJ0IHRpbWUgZXhwZWN0ZWQg
KHN0cmluZykgInJ1bm5pbmciIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCiBGQUlMIFNl
dHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIHNldHMgdGhlIGhvbGQgdGltZSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAicnVubmluZyIgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKIEZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSByZXNvbHZlcyBhIHBlbmRpbmcg
cmVhZHkgcHJvbWlzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYW5p
bWF0aW9uLnJlYWR5LnRoZW4nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQt
Z2V0LWFuaW1hdGlvbnMuaHRtbAppbmRleCBiNWQzZTZkZDUzYzU3YTJkODJlYzJmNTc0YjEyOWY5
YTM0MGMwMGMyLi40YzAxZGRkODYxMWZhYjVmYTJlZGIxMTkyNmU5OTc2ZWZjMzcyYzlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbApA
QCAtMTMsOSArMTMsOSBAQCBsZXQgYSwgYiwgYzsKIGNvbnN0IHRhcmdldEEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJhIik7CiBjb25zdCB0YXJnZXRCID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYiIpOwogCi1jb25zdCBlZmZlY3RBYSA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRBKTsK
LWNvbnN0IGVmZmVjdEFiID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEEpOwotY29uc3QgZWZm
ZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRCKTsKK2NvbnN0IGVmZmVjdEFhID0gbmV3
IEtleWZyYW1lRWZmZWN0KHRhcmdldEEsIG51bGwpOworY29uc3QgZWZmZWN0QWIgPSBuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0QSwgbnVsbCk7Citjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1l
RWZmZWN0KHRhcmdldEIsIG51bGwpOwogCiB0ZXN0KHQgPT4gewogICAgIGFzc2VydF90cnVlKHR5
cGVvZiB0YXJnZXRBLmdldEFuaW1hdGlvbnMgPT09ICJmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sCmluZGV4
IDU1ZjVlYTBjN2YzYmU4ODk2MTliYmM4MWIzMDI5OWUzOTE1OWYxNzguLmVmN2E0NWQ5Mzk0ZTJi
Mzk2ZTgxMzhlYTY0ZjYwNDQ2NTY5MGI2ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFz
aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKQEAgLTMzLDcgKzMzLDcgQEAg
dGVzdCh0ID0+IHsKIH0sICJDcmVhdGluZyBBbmltYXRpb24gd2l0aCBhIG51bGwgYXJndW1lbnQg
c2hvdWxkIGhhdmUgYSBudWxsIGVmZmVjdCBhbmQgdGhlIGRvY3VtZW50IHRpbWVsaW5lLiIpOwog
CiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1
bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1l
bnQuYm9keSwgbnVsbCk7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbihlZmZl
Y3QpOwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0KTsKICAgICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi50aW1lbGluZSwgZG9jdW1lbnQudGltZWxpbmUpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZl
Y3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sCmluZGV4IGViNTcxNDAwZjcwOTkxY2EzNmJlMjk1
MGE0NWVmZDdkMmEwODJhY2YuLmViMTA0NjM3MDRlNDE0YjViN2NjMmE5YmZmZjk3YWVjYmQ1OWNl
MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1yZWxhdGlvbnNoaXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwKQEAgLTksOCArOSw4IEBACiAn
dXNlIHN0cmljdCc7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlm
cmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Ci0gICAgY29uc3QgZWZm
ZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7
CisgICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKSwgbnVsbCk7CisgICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVm
ZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwgbnVsbCk7CiAKICAgICBjb25zdCBh
ID0gbmV3IEFuaW1hdGlvbihlZmZlY3RBKTsKICAgICBjb25zdCBiID0gbmV3IEFuaW1hdGlvbihl
ZmZlY3RCKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwKaW5kZXggZDRhMzg3M2EwMDk3
YmRhYWU5M2EzMDhkMGVmMzU3MWI4ZDAxNWIzMi4uNDk4YzkxMTkwMzJkNDg2Y2IyYzY3ZGVkMmJj
ZTcyZGI2NjIzYjdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwKQEAgLTE3LDI0
ICsxNywyNCBAQCB0ZXN0KHQgPT4gewogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlv
biA9IG5ldyBBbmltYXRpb247Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0
KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChk
b2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0OwogICAg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0KTsKIH0sICJUaGUgYW5pbWF0
aW9uLmVmZmVjdCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGEgS2V5ZnJhbWVFZmZlY3Qgb2JqZWN0
LiIpOwogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb247
Ci0gICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsK
KyAgICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51
bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3RBOwogICAgIGFzc2VydF9lcXVhbHMo
YW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0QSk7Ci0gICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlm
cmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZy
YW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBl
ZmZlY3RCOwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0Qik7CiB9
LCAiVGhlIGFuaW1hdGlvbi5lZmZlY3QgcHJvcGVydHkgY2FuIGJlIHNldCB0byBhbm90aGVyIEtl
eWZyYW1lRWZmZWN0IG9iamVjdC4iKTsKIAogdGVzdCh0ID0+IHsKICAgICBjb25zdCBhbmltYXRp
b24gPSBuZXcgQW5pbWF0aW9uOwotICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3Qo
ZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdDsKICAg
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdCk7CiAgICAgYW5pbWF0aW9u
LmVmZmVjdCA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGM2Y2NkOWViYmFkYWJlM2Y5Y2ZhZjBjOGI0Y2Jj
ODkxNzY2ZjY1ZDIuLmM3Y2FhMzA3YzBlMDAzZjVlNWMyNDNhODJjZTg1MTg5MjFiZDVkMjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZh
Y2UgaXMgZGVmaW5lZC4gCi1QQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90
IGJlIGNvbnN0cnVjdGVkIHdpdGhvdXQgcGFyYW1ldGVycy4gCi1QQVNTIFRoZSBLZXlmcmFtZUVm
ZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBwYXJhbWV0ZXIgaGFzIHRo
ZSB3cm9uZyB0eXBlLiAKK1BBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3Qg
YmUgY29uc3RydWN0ZWQgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4gCitQQVNTIFRoZSBLZXlm
cmFtZUVmZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBmaXJzdCBwYXJh
bWV0ZXIgaGFzIHRoZSB3cm9uZyB0eXBlLiAKIFBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVy
ZmFjZSB0YXJnZXQgaXMgc2V0IHRvIHRoZSBwcm92aWRlZCBFbGVtZW50LiAKIFBBU1MgQSBLZXlm
cmFtZUVmZmVjdCBvYmplY3QgdGFyZ2V0IGlzIHJlYWQtb25seS4gCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRl
cmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwKaW5kZXggODhiNjg0NTJjNjcxYjQ4ZWQwYzgwNTc3
ZDhkNWEyNDNmMWVmOTBmZC4uMzJiNmExMjA3MDJhYzVmMDA0OTIyNjA3OTRkNjNkYjgwYjczOGNi
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwKQEAgLTExLDE0
ICsxMSwxNCBAQAogaW50ZXJuYWxzLnBhdXNlVGltZWxpbmUoZG9jdW1lbnQudGltZWxpbmUpOwog
CiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZm
ZWN0KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZy
YW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGFzc2VydF9pbmhlcml0cyhrZXlm
cmFtZUVmZmVjdCwgInRpbWluZyIpOwogICAgIGFzc2VydF9pbmhlcml0cyhrZXlmcmFtZUVmZmVj
dC50aW1pbmcsICJkdXJhdGlvbiIpOwogICAgIGFzc2VydF9lcXVhbHMoa2V5ZnJhbWVFZmZlY3Qu
dGltaW5nLmR1cmF0aW9uLCAwKTsKIH0sICJDaGVjayB0aGUgZGVmYXVsdCBzdGF0ZSBvZiB0aGUg
dGltaW5nIGFuZCBkdXJhdGlvbiBwcm9wZXJ0aWVzLiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGNv
bnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOwor
ICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJv
ZHksIG51bGwpOwogICAgIGtleWZyYW1lRWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDI7CiAgICAg
YXNzZXJ0X2VxdWFscyhrZXlmcmFtZUVmZmVjdC50aW1pbmcuZHVyYXRpb24sIDIpOwogfSwgIkNo
ZWNrIHRoYXQgd2UgY2FuIHVwZGF0ZSB0aGUgdGltaW5nIGR1cmF0aW9uLiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tl
eWZyYW1lLWVmZmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sCmluZGV4IGNlMGM2ZjczZjhlZDVl
MmFlYWQ4MzY4N2Y4OTI5ZDZlZTdhMzhhMjcuLmE5NzQ2YmQyZjhmNTVjMzExZTM0NGMyOTQzNzgx
NDQxZGFmYjI1OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0
Lmh0bWwKQEAgLTE2LDIyICsxNiwyMyBAQCB0ZXN0KHQgPT4gewogCiB0ZXN0KHQgPT4gewogICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KTsK
LX0sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3
aXRob3V0IHBhcmFtZXRlcnMuIik7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAo
KSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpKTsK
K30sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3
aXRob3V0IGVub3VnaCBwYXJhbWV0ZXJzLiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KDApKTsKLSAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCh7fSkp
OwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZm
ZWN0KFtdKSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5
ZnJhbWVFZmZlY3QoZmFsc2UpKTsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgp
ID0+IG5ldyBLZXlmcmFtZUVmZmVjdCgnZWxlbWVudCcpKTsKLX0sICJUaGUgS2V5ZnJhbWVFZmZl
Y3QgaW50ZXJmYWNlIGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgcGFyYW1ldGVyIGhhcyB0aGUg
d3JvbmcgdHlwZS4iKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5l
dyBLZXlmcmFtZUVmZmVjdCgwLCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3Qoe30sIG51bGwpKTsKKyAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChbXSwgbnVsbCkpOwor
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0
KGZhbHNlLCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBu
ZXcgS2V5ZnJhbWVFZmZlY3QoJ2VsZW1lbnQnLCBudWxsKSk7Cit9LCAiVGhlIEtleWZyYW1lRWZm
ZWN0IGludGVyZmFjZSBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIGZpcnN0IHBhcmFtZXRlciBo
YXMgdGhlIHdyb25nIHR5cGUuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscygo
bmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpKS50YXJnZXQsIGRvY3VtZW50LmJvZHkp
OworICAgIGFzc2VydF9lcXVhbHMoKG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBu
dWxsKSkudGFyZ2V0LCBkb2N1bWVudC5ib2R5KTsKIH0sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50
ZXJmYWNlIHRhcmdldCBpcyBzZXQgdG8gdGhlIHByb3ZpZGVkIEVsZW1lbnQuIik7CiAKIHRlc3Qo
dCA9PiB7Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJv
ZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5
LCBudWxsKTsKICAgICBhc3NlcnRfcmVhZG9ubHkoZWZmZWN0LCAidGFyZ2V0Iik7CiB9LCAiQSBL
ZXlmcmFtZUVmZmVjdCBvYmplY3QgdGFyZ2V0IGlzIHJlYWQtb25seS4iKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326956</attachid>
            <date>2017-11-14 18:43:47 -0800</date>
            <delta_ts>2017-11-14 18:50:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171114184346.patch</filename>
            <type>text/plain</type>
            <size>50089</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNWExYzhhMzcyMmM2MGQ0OGViNTI5MTA5YjcxZTg0
NzY5MDhlODc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogRGVhbCB3aXRoIGV4YWN0bHkgdHdvIGtleWZyYW1lcywgc2V0IGF0IDAg
YW5kIDEgb2Zmc2V0cywKKyAgICAgICAgc3BlY2lmaWVkIGluIGFycmF5IGZvcm1zIGZvciB0aGUg
a2V5ZnJhbWVzIG9iamVjdC4gQXMgd2UgcGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIHByb3ZpZGVk
IEpTIG9iamVjdCwKKyAgICAgICAgd2UgY3JlYXRlIFJlbmRlclN0eWxlIG9iamVjdHMgdXNpbmcg
dGhlIGVsZW1lbnQncyBTdHlsZVJlc29sdmVyIGZyb20gYSBDU1MgdGV4dCBzdHJpbmcgd2UgY3Jl
YXRlCisgICAgICAgIGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBhbmQgdmFsdWVzIGFzIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZSk6IENv
bXB1dGUgdGhlIHByb2dyZXNzIGJhc2VkIG9uIHRoZSBsb2NhbCB0aW1lIGFuZCBkdXJhdGlvbiwK
KyAgICAgICAgdXNpbmcgdGhlIGV4aXN0aW5nIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFBy
b3BlcnRpZXMoKSBtZWNoYW5pY3MgdG8gcGVyZm9ybSB0aGUgYmxlbmQgYmV0d2VlbiB0aGUKKyAg
ICAgICAgZnJvbSBhbmQgdG8ga2V5ZnJhbWVzLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGw6CisgICAg
ICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJB
bmltYXRpb246OnJlc29sdmUpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SURMT2Jq
ZWN0OjpudWxsVmFsdWUpOiBNYWtlIEpTQzo6U3Ryb25nIGFuIG9wdGlvbmFsIHR5cGUuCisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZXhpc3Rp
bmdUaW1lbGluZSBjb25zdCk6IFByb3ZpZGUgYW4gZXhwbGljaXQgbWV0aG9kIGZvciBjYWxsIHNp
dGVzIHRvIGNoZWNrIGV4aXN0ZW5jZQorICAgICAgICBvZiBhIHRpbWVsaW5lIGJlZm9yZSBmb3Jj
aW5nIG9uZSB0byBiZSBjcmVhdGVkIGlmIG1pc3NpbmcgYnkgY2FsbGluZyB0aW1lbGluZSgpLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omdl
dEFuaW1hdGlvbnMpOiBEbyBub3QgZm9yY2UgdGhlIGNyZWF0aW9uIG9mIGEgdGltZWxpbmUgaWYg
b25lIGlzbid0IGFscmVhZHkgY3JlYXRlZC4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpjcmVhdGVB
bmltYXRlZEVsZW1lbnRVcGRhdGUpOiBXaGVuIGFwcGx5aW5nIHN0eWxlcywgYWNjb3VudCBmb3Ig
YW55IFdlYgorICAgICAgICBBbmltYXRpb24gYXBwbGllZCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dC4KKwogMjAxNy0xMS0xNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIGNvbW1lbnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gcmVmbGVj
dCBsb2NhdGlvbiBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggZTQ1NjQ3OWI5Y2MyMDQ2OTA5MDYx
YmZmMTFmZGNiNjlkYjQ0ZGVmZS4uMTNhMmRiNWVhOWVhOTYxZjMxM2RlYjk4MWY4YTNiZjA2NmI5
ZTQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApAQCAt
MzYsMTAgKzM2LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQW5pbWF0aW9uRWZm
ZWN0IDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uRWZmZWN0PiB7CiBwdWJsaWM6CisgICAg
dmlydHVhbCB+QW5pbWF0aW9uRWZmZWN0KCkgPSBkZWZhdWx0OworCiAgICAgYm9vbCBpc0tleWZy
YW1lRWZmZWN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gS2V5ZnJhbWVFZmZlY3RD
bGFzczsgfQogICAgIEFuaW1hdGlvbkVmZmVjdFRpbWluZyogdGltaW5nKCkgY29uc3QgeyByZXR1
cm4gbV90aW1pbmcuZ2V0KCk7IH0KLQotICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRlclN0eWxl
JikgPSAwOwogCiAgICAgV2ViQW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2FuaW1hdGlvbi5nZXQoKTsgfQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmlt
YXRpb24+JiYgYW5pbWF0aW9uKSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCmluZGV4IDc0ZGE1ZGJhMTY2
MzQ3ODUzOWY5OWZiYWQ3NDlhYzRhNjZhODBiNTAuLmM3YTY5MzMzODUwZWQ3YjI1ZTkxOGQyYzgw
MmNkOWJlNmZiYTk4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oCkBAIC03MCw2ICs3MCw4IEBAIHByb3RlY3RlZDoKIAogICAgIGV4cGxpY2l0IEFu
aW1hdGlvblRpbWVsaW5lKENsYXNzVHlwZSk7CiAKKyAgICBIYXNoTWFwPFJlZlB0cjxFbGVtZW50
PiwgVmVjdG9yPFJlZlB0cjxXZWJBbmltYXRpb24+Pj4gZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
IGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcDsgfQorCiBwcml2YXRlOgog
ICAgIENsYXNzVHlwZSBtX2NsYXNzVHlwZTsKICAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IG1f
Y3VycmVudFRpbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1l
bnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5jcHAKaW5kZXggODVjMTFlMGI3ZThkMmZiNzlmN2U0NTQ2NmFmOGYyMGU1MGQ5MWE0Yy4uYjBm
ZDZkN2RkYTZhODFmYTA5NWRkZGYyNWI5ZDQzNmNlOTJiMGE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtMTU0LDExICsxNTQsMTcgQEAg
dm9pZCBEb2N1bWVudFRpbWVsaW5lOjpkaXNwbGF5UmVmcmVzaEZpcmVkKCkKIHZvaWQgRG9jdW1l
bnRUaW1lbGluZTo6YW5pbWF0aW9uUmVzb2x1dGlvblRpbWVyRmlyZWQoKQogI2VuZGlmCiB7Ci0g
ICAgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB1cGRhdGVBbmltYXRpb25zKCk7CiB9CiAKLXZv
aWQgRG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMoKQordm9pZCBEb2N1bWVudFRp
bWVsaW5lOjp1cGRhdGVBbmltYXRpb25zKCkKIHsKKyAgICBpZiAobV9kb2N1bWVudCAmJiAhZWxl
bWVudFRvQW5pbWF0aW9uc01hcCgpLmlzRW1wdHkoKSkgeworICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIGVsZW1lbnRUb0FuaW1hdGlvbnNNYXBJdGVtIDogZWxlbWVudFRvQW5pbWF0aW9uc01hcCgp
KQorICAgICAgICAgICAgZWxlbWVudFRvQW5pbWF0aW9uc01hcEl0ZW0ua2V5LT5pbnZhbGlkYXRl
U3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CisgICAgICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVN0
eWxlSWZOZWVkZWQoKTsKKyAgICB9CisKICAgICAvLyBUaW1lIGhhcyBhZHZhbmNlZCwgdGhlIHRp
bWluZyBtb2RlbCByZXF1aXJlcyBpbnZhbGlkYXRpb24gbm93LgogICAgIGFuaW1hdGlvblRpbWlu
Z01vZGVsRGlkQ2hhbmdlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vRG9jdW1lbnRUaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50
VGltZWxpbmUuaAppbmRleCA2ZjNkZjFhMGIyOWYxZWY4NGFkODc3YTk2NmUxYjEzZDNjNGJhYzQ5
Li4zMDA2MGY2MzQ5NDAwYjhiOTdiNDFjMmUyM2QyYmVkZGE5MjMxMjYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvblNjaGVkdWxlKCk7CiAgICAgdm9pZCBhbmlt
YXRpb25TY2hlZHVsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uUmVz
b2x1dGlvbigpOwotICAgIHZvaWQgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB2b2lkIHVwZGF0
ZUFuaW1hdGlvbnMoKTsKIAogICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKICAgICBi
b29sIG1fcGF1c2VkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwCmluZGV4IGNiN2JiMjI0MWM0Mzg4NDg4ZWY0NTQ1ZjM4NGVlZGE0NTM2YTUx
YTYuLjJhYTBkMjM4MmFhYmEwOGFjMmQ0ZjA2ZTM0YjlhOGEwNzI5NTNjYTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjYsMTMgKzI2LDI0IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3QuaCIKIAorI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1l
c3BhY2UgSlNDOwogCi1SZWY8S2V5ZnJhbWVFZmZlY3Q+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUo
RWxlbWVudCogdGFyZ2V0KQorRXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJh
bWVFZmZlY3Q6OmNyZWF0ZShFeGVjU3RhdGUmIHN0YXRlLCBFbGVtZW50KiB0YXJnZXQsIFN0cm9u
ZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0KSk7CisgICAgYXV0byByZXN1bHQgPSBhZG9wdFJlZigqbmV3IEtl
eWZyYW1lRWZmZWN0KHRhcmdldCkpOworCisgICAgYXV0byBzZXRLZXlmcmFtZXNSZXN1bHQgPSBy
ZXN1bHQtPnNldEtleWZyYW1lcyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXMpKTsKKyAgICBpZiAo
c2V0S2V5ZnJhbWVzUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gc2V0S2V5
ZnJhbWVzUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIEtleWZyYW1lRWZmZWN0OjpLZXlmcmFtZUVmZmVjdChFbGVtZW50KiB0YXJnZXQpCkBAIC00
MSw0ICs1Miw4MyBAQCBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFy
Z2V0KQogewogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJh
bWVzKEV4ZWNTdGF0ZSYgc3RhdGUsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCit7Cisg
ICAgLy8gRklYTUU6IFdlIG9ubHkgaGF2ZSBwcmltaXRpdmUgdG8tZnJvbSBwYXJzaW5nLCBmb3Ig
ZnVsbCBzdXBwb3J0IHNlZSB3ZWJraXQub3JnL2IvMTc5NzA4LgorICAgIGlmICghbV90YXJnZXQg
fHwgIWtleWZyYW1lcykKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICghaXNKU0FycmF5
KGtleWZyYW1lcy5nZXQoKSkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Ig
fTsKKworICAgIFZlY3RvcjxLZXlmcmFtZT4gbmV3S2V5ZnJhbWVzIHsgfTsKKworICAgIFZNJiB2
bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCisgICAgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciA9IG1fdGFyZ2V0LT5zdHlsZVJl
c29sdmVyKCk7CisgICAgYXV0byBwYXJzZXJDb250ZXh0ID0gQ1NTUGFyc2VyQ29udGV4dChIVE1M
U3RhbmRhcmRNb2RlKTsKKworICAgIGNvbnN0IGF1dG8qIGFycmF5ID0ganNDYXN0PGNvbnN0IEpT
QXJyYXkqPihrZXlmcmFtZXMuZ2V0KCkpOworICAgIGF1dG8gbGVuZ3RoID0gYXJyYXktPmxlbmd0
aCgpOworICAgIGlmIChsZW5ndGggIT0gMikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciB9OworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CisgICAgICAgIGNvbnN0IEpTVmFsdWUgdmFsdWUgPSBhcnJheS0+Z2V0SW5kZXgoJnN0YXRlLCBp
KTsKKyAgICAgICAgaWYgKHNjb3BlLmV4Y2VwdGlvbigpIHx8ICF2YWx1ZSB8fCAhdmFsdWUuaXNP
YmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAg
ICAgICAgSlNPYmplY3QqIGtleWZyYW1lID0gdmFsdWUudG9PYmplY3QoJnN0YXRlKTsKKyAgICAg
ICAgUHJvcGVydHlOYW1lQXJyYXkgb3duUHJvcGVydHlOYW1lcygmdm0sIFByb3BlcnR5TmFtZU1v
ZGU6OlN0cmluZ3MsIFByaXZhdGVTeW1ib2xNb2RlOjpFeGNsdWRlKTsKKyAgICAgICAgSlNPYmpl
Y3Q6OmdldE93blByb3BlcnR5TmFtZXMoa2V5ZnJhbWUsICZzdGF0ZSwgb3duUHJvcGVydHlOYW1l
cywgRW51bWVyYXRpb25Nb2RlKCkpOworICAgICAgICBzaXplX3QgbnVtYmVyT2ZQcm9wZXJ0aWVz
ID0gb3duUHJvcGVydHlOYW1lcy5zaXplKCk7CisKKyAgICAgICAgU3RyaW5nQnVpbGRlciBjc3NU
ZXh0OworICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtYmVyT2ZQcm9wZXJ0aWVz
OyArK2opIHsKKyAgICAgICAgICAgIGNzc1RleHQuYXBwZW5kKG93blByb3BlcnR5TmFtZXNbal0u
c3RyaW5nKCkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAg
ICAgICAgICAgY3NzVGV4dC5hcHBlbmQoa2V5ZnJhbWUtPmdldCgmc3RhdGUsIG93blByb3BlcnR5
TmFtZXNbal0pLnRvV1RGU3RyaW5nKCZzdGF0ZSkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBl
bmRMaXRlcmFsKCI7ICIpOworICAgICAgICB9CisKKyAgICAgICAgYXV0byByZW5kZXJTdHlsZSA9
IFJlbmRlclN0eWxlOjpjcmVhdGVQdHIoKTsKKyAgICAgICAgYXV0byBzdHlsZVByb3BlcnRpZXMg
PSBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKyAgICAgICAgc3R5bGVQcm9wZXJ0
aWVzLT5wYXJzZURlY2xhcmF0aW9uKGNzc1RleHQudG9TdHJpbmcoKSwgcGFyc2VyQ29udGV4dCk7
CisgICAgICAgIHVuc2lnbmVkIG51bWJlck9mQ1NTUHJvcGVydGllcyA9IHN0eWxlUHJvcGVydGll
cy0+cHJvcGVydHlDb3VudCgpOworCisgICAgICAgIFZlY3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9w
ZXJ0aWVzOworICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbnVtYmVyT2ZDU1NQcm9w
ZXJ0aWVzOyArK2spIHsKKyAgICAgICAgICAgIHByb3BlcnRpZXMuYXBwZW5kKHN0eWxlUHJvcGVy
dGllcy0+cHJvcGVydHlBdChrKS5pZCgpKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIuYXBw
bHlQcm9wZXJ0eVRvU3R5bGUoc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGspLmlkKCksIHN0
eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChrKS52YWx1ZSgpLCBXVEZNb3ZlKHJlbmRlclN0eWxl
KSk7CisgICAgICAgICAgICByZW5kZXJTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS50YWtl
U3R5bGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIG5ld0tleWZyYW1lcy5hcHBlbmQoeyBSZW5k
ZXJTdHlsZTo6Y2xvbmUoKnJlbmRlclN0eWxlKSwgcHJvcGVydGllcyB9KTsKKyAgICB9CisKKyAg
ICBtX2tleWZyYW1lcyA9IFdURk1vdmUobmV3S2V5ZnJhbWVzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcyBsb2Nh
bFRpbWUsIFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSkKK3sKKyAgICBpZiAoIW1fdGFyZ2V0KQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogQXNzdW1lIGFuaW1hdGlvbnMgb25seSBh
cHBseSBpbiB0aGUgcmFuZ2UgWzAsIGR1cmF0aW9uWworICAgIC8vIHVudGlsIHdlIHN1cHBvcnQg
ZmlsbCBtb2RlcywgZGVsYXlzIGFuZCBpdGVyYXRpb25zLgorICAgIGlmIChsb2NhbFRpbWUgPCAw
X3MgfHwgbG9jYWxUaW1lID49IHRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIXRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmbG9hdCBwcm9ncmVzcyA9IGxvY2FsVGltZSAvIHRpbWluZygpLT5kdXJhdGlvbigpOworCisg
ICAgLy8gRklYTUU6IFRoaXMgd2lsbCBjcmFzaCBpZiB3ZSBhdHRlbXB0IHRvIGFuaW1hdGUgcHJv
cGVydGllcyB0aGF0IHJlcXVpcmUgYW4gQW5pbWF0aW9uQmFzZS4KKyAgICBmb3IgKGF1dG8gcHJv
cGVydHlJZCA6IG1fa2V5ZnJhbWVzWzBdLnByb3BlcnRpZXMpCisgICAgICAgIENTU1Byb3BlcnR5
QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMobnVsbHB0ciwgcHJvcGVydHlJZCwgJnRhcmdldFN0
eWxlLCAmbV9rZXlmcmFtZXNbMF0uc3R5bGUsICZtX2tleWZyYW1lc1sxXS5zdHlsZSwgcHJvZ3Jl
c3MpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5oCmluZGV4IGQ1ZTRmMzZkYjRiYjAwYmQzNzNjNmRlNzQzNWU2YzRj
NjkxODIzYzYuLmExODY3ODVhOTgxM2QyZmQyYmNjYjI4MjAwNjFlYmU5OGM0ZWM1MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCkBAIC0yNiwyMiArMjYsMzQg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQW5pbWF0aW9uRWZmZWN0LmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKK3N0cnVjdCBL
ZXlmcmFtZSB7CisgICAgUmVuZGVyU3R5bGUgc3R5bGU7CisgICAgVmVjdG9yPENTU1Byb3BlcnR5
SUQ+IHByb3BlcnRpZXM7Cit9OworCiBjbGFzcyBLZXlmcmFtZUVmZmVjdCBmaW5hbCA6IHB1Ymxp
YyBBbmltYXRpb25FZmZlY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8S2V5ZnJhbWVFZmZl
Y3Q+IGNyZWF0ZShFbGVtZW50Kik7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFt
ZUVmZmVjdD4+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSYsIEVsZW1lbnQqLCBKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0PiYmKTsKICAgICB+S2V5ZnJhbWVFZmZlY3QoKSB7IH0KIAogICAgIEVsZW1l
bnQqIHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOyB9CisgICAgRXhjZXB0
aW9uT3I8dm9pZD4gc2V0S2V5ZnJhbWVzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpTdHJvbmc8SlND
OjpKU09iamVjdD4mJik7CisgICAgdm9pZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRl
clN0eWxlJikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgS2V5ZnJhbWVFZmZlY3QoRWxlbWVu
dCopOwogICAgIFJlZlB0cjxFbGVtZW50PiBtX3RhcmdldDsKKyAgICBWZWN0b3I8S2V5ZnJhbWU+
IG1fa2V5ZnJhbWVzOwogCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaWRsIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmlkbAppbmRleCA1MzhlODMxYzVkZDEwOGI1MmU2OGMxZjcwNmYyODQ3MmQ2ZDhlMzdk
Li41MTlhMGI2ZjMwNTE1YmRkYjYwYWYzOGY5ZTE5M2ExM2FlZDI3MjdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKQEAgLTI1LDcgKzI1LDEwIEBACiAK
IFsKICAgICBFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnMsCi0gICAgQ29uc3RydWN0b3Io
RWxlbWVudD8gdGFyZ2V0KQorICAgIENvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb24sCisgICAg
Q29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRTdGF0ZSwKKyAgICBDb25zdHJ1Y3RvcihFbGVtZW50
PyB0YXJnZXQsIG9iamVjdD8ga2V5ZnJhbWVzKQogXSBpbnRlcmZhY2UgS2V5ZnJhbWVFZmZlY3Qg
OiBBbmltYXRpb25FZmZlY3QgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyB0YXJn
ZXQ7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gdm9pZCBz
ZXRLZXlmcmFtZXMob2JqZWN0PyBrZXlmcmFtZXMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggYWVjOTc5ZTQwMzJjMjExMGEyMTZlM2QxMDI4MDQ2
NTc0NGFmMTUwMC4uMGFmYmVmNTAyZGRkYmY3Y2ZmZTBhOWNhNjU2ZTNmZTNkMzJhZmZlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTIzNyw2ICsyMzcs
MTIgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246OnRpbWVUb05leHRSZXF1aXJlZFRpY2soU2Vjb25k
cyB0aW1lbGluZVRpbWUpIGNvbnN0CiAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiB9
CiAKK3ZvaWQgV2ViQW5pbWF0aW9uOjpyZXNvbHZlKFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSkK
K3sKKyAgICBpZiAobV9lZmZlY3QgJiYgY3VycmVudFRpbWUoKSkKKyAgICAgICAgbV9lZmZlY3Qt
PmFwcGx5QXRMb2NhbFRpbWUoY3VycmVudFRpbWUoKS52YWx1ZSgpLCB0YXJnZXRTdHlsZSk7Cit9
CisKIFN0cmluZyBXZWJBbmltYXRpb246OmRlc2NyaXB0aW9uKCkKIHsKICAgICByZXR1cm4gIkFu
aW1hdGlvbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKaW5kZXggYjRi
NTI0NjFhODMxNmFhOWViZWRkOWMxMGM1ZDkxMGUwMzJhYzFmNC4uMGViMjM2ZjU2Y2JiMDIyNGM4
NjQ3OWU1NGVmODU2NjUxZDA1YjAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uaApAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbmlt
YXRpb25FZmZlY3Q7CiBjbGFzcyBBbmltYXRpb25UaW1lbGluZTsKIGNsYXNzIERvY3VtZW50Owor
Y2xhc3MgUmVuZGVyU3R5bGU7CiAKIGNsYXNzIFdlYkFuaW1hdGlvbiBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4gewogcHVibGljOgpAQCAtNjMsNiArNjQsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRQbGF5YmFja1JhdGUoZG91YmxlKTsKIAogICAgIFNlY29uZHMgdGlt
ZVRvTmV4dFJlcXVpcmVkVGljayhTZWNvbmRzKSBjb25zdDsKKyAgICB2b2lkIHJlc29sdmUoUmVu
ZGVyU3R5bGUmKTsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvSURMVHlwZXMuaAppbmRleCA2YjdiYjIyMTFjZWViMzVkNzliMGU5ZjBiYzIyMjEwMTE5MDFj
MjU1Li40Y2I1ZTI1MmUyYzZjNDUyNDM5ZjNlYzE4ZWQzNTIxZDg3M2UwMmEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL0lETFR5cGVzLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlN0cmlu
Z0FkYXB0b3JzLmgiCiAjaW5jbHVkZSA8aGVhcC9IYW5kbGVUeXBlcy5oPgorI2luY2x1ZGUgPGhl
YXAvU3Ryb25nLmg+CiAjaW5jbHVkZSA8d3RmL0JyaWdhbmQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTE1MCw3ICsxNTEsNyBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSURMUmVxdWlyZXNFeGlzdGluZ0F0b21pY1N0
cmluZ0FkYXB0b3IgOiBJRExTdHJpbmc8QQogc3RydWN0IElETE9iamVjdCA6IElETFR5cGU8SlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4+IHsKICAgICB1c2luZyBOdWxsYWJsZVR5cGUgPSBKU0M6
OlN0cm9uZzxKU0M6OkpTT2JqZWN0PjsKIAotICAgIHN0YXRpYyBpbmxpbmUgc3RkOjpudWxscHRy
X3QgbnVsbFZhbHVlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHN0YXRpYyBpbmxpbmUgTnVs
bGFibGVUeXBlIG51bGxWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFU+IHN0YXRpYyBpbmxpbmUgYm9vbCBpc051bGxWYWx1ZShVJiYgdmFsdWUpIHsgcmV0dXJu
ICF2YWx1ZTsgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHN0YXRpYyBpbmxpbmUgVSYmIGV4
dHJhY3RWYWx1ZUZyb21OdWxsYWJsZShVJiYgdmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zm9yd2FyZDxV
Pih2YWx1ZSk7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDZiNDY3NGM3ZmY5OWYwYmEz
MzI0NzFiYTRhNjEzYTU4Y2UxODRkNmYuLmQ4OTc1YmNlOWE5MzFiYWQ5MzZiNWFmMDBhMGVkMjMw
ODgyMzhhMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzc3LDYgKzEzNzcsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDb25zb2xlTWVzc2FnZUxpc3RlbmVyKFJl
ZlB0cjxTdHJpbmdDYWxsYmFjaz4mJik7IC8vIEZvciB0ZXN0aW5nLgogCiAgICAgRG9jdW1lbnRU
aW1lbGluZSYgdGltZWxpbmUoKTsKKyAgICBEb2N1bWVudFRpbWVsaW5lKiBleGlzdGluZ1RpbWVs
aW5lKCkgY29uc3QgeyByZXR1cm4gbV90aW1lbGluZS5nZXQoKTsgfQogICAgIFZlY3RvcjxSZWZQ
dHI8V2ViQW5pbWF0aW9uPj4gZ2V0QW5pbWF0aW9ucygpOwogICAgICAgICAKICNpZiBFTkFCTEUo
QVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDFhZjQ0MTk2NzQy
YmE4ZjU4MjYwZjAzMzkxZmUwZmNhNjU1N2ViM2MuLjBhZmNmNWIzZDNmYjVjMzA5YjkxY2Y3MzVh
OTFkYWEwZTgwNjEzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTM3MDQsNyArMzcwNCw5
IEBAIEVsZW1lbnQqIEVsZW1lbnQ6OmZpbmRBbmNob3JFbGVtZW50Rm9yTGluayhTdHJpbmcmIG91
dEFuY2hvck5hbWUpCiBWZWN0b3I8UmVmUHRyPFdlYkFuaW1hdGlvbj4+IEVsZW1lbnQ6OmdldEFu
aW1hdGlvbnMoKQogewogICAgIC8vIEZJWE1FOiBGaWx0ZXIgYW5kIG9yZGVyIHRoZSBsaXN0IGFz
IHNwZWNpZmllZCAod2Via2l0Lm9yZy9iLzE3OTUzNSkuCi0gICAgcmV0dXJuIGRvY3VtZW50KCku
dGltZWxpbmUoKS5hbmltYXRpb25zRm9yRWxlbWVudCgqdGhpcyk7CisgICAgaWYgKGF1dG8gdGlt
ZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0aW5nVGltZWxpbmUoKSkKKyAgICAgICAgcmV0dXJuIHRp
bWVsaW5lLT5hbmltYXRpb25zRm9yRWxlbWVudCgqdGhpcyk7CisgICAgcmV0dXJuIFZlY3RvcjxS
ZWZQdHI8V2ViQW5pbWF0aW9uPj4geyB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5kZXggMjEzNDY3YzRm
OWNkM2JjNGVkZGIxNTIwNjFkN2JmYWVkNWQyYmYxZS4uZDMzOGY2YzQ5MTBkNGUwOWJmMGFkNWE3
MTM2NjZiMGQ4NjdhOWZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVU
cmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29s
dmVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgog
I2luY2x1ZGUgIkNvbXBvc2VkVHJlZUFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJDb21w
b3NlZFRyZWVJdGVyYXRvci5oIgorI2luY2x1ZGUgIkRvY3VtZW50VGltZWxpbmUuaCIKICNpbmNs
dWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCkBAIC0yNzQsOSArMjc1LDIwIEBAIGNvbnN0IFJl
bmRlclN0eWxlKiBUcmVlUmVzb2x2ZXI6OnBhcmVudEJveFN0eWxlKCkgY29uc3QKIAogRWxlbWVu
dFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OmNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVu
aXF1ZV9wdHI8UmVuZGVyU3R5bGU+IG5ld1N0eWxlLCBFbGVtZW50JiBlbGVtZW50LCBDaGFuZ2Ug
cGFyZW50Q2hhbmdlKQogeworICAgIGF1dG8qIG9sZFN0eWxlID0gcmVuZGVyT3JEaXNwbGF5Q29u
dGVudHNTdHlsZShlbGVtZW50KTsKKworICAgIGlmIChhdXRvIHRpbWVsaW5lID0gZWxlbWVudC5k
b2N1bWVudCgpLmV4aXN0aW5nVGltZWxpbmUoKSkgeworICAgICAgICBhdXRvIHdlYkFuaW1hdGlv
bnMgPSB0aW1lbGluZS0+YW5pbWF0aW9uc0ZvckVsZW1lbnQoZWxlbWVudCk7CisgICAgICAgIGlm
ICghd2ViQW5pbWF0aW9ucy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJTdHlsZT4gYW5pbWF0ZWRTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZVB0cigqbmV3
U3R5bGUpOworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBhbmltYXRpb24gOiB3ZWJBbmlt
YXRpb25zKQorICAgICAgICAgICAgICAgIGFuaW1hdGlvbi0+cmVzb2x2ZSgqYW5pbWF0ZWRTdHls
ZSk7CisgICAgICAgICAgICBuZXdTdHlsZSA9IFdURk1vdmUoYW5pbWF0ZWRTdHlsZSk7CisgICAg
ICAgIH0KKyAgICB9CisKICAgICBhdXRvJiBhbmltYXRpb25Db250cm9sbGVyID0gbV9kb2N1bWVu
dC5mcmFtZSgpLT5hbmltYXRpb24oKTsKIAotICAgIGF1dG8qIG9sZFN0eWxlID0gcmVuZGVyT3JE
aXNwbGF5Q29udGVudHNTdHlsZShlbGVtZW50KTsKICAgICBhdXRvIGFuaW1hdGlvblVwZGF0ZSA9
IGFuaW1hdGlvbkNvbnRyb2xsZXIudXBkYXRlQW5pbWF0aW9ucyhlbGVtZW50LCAqbmV3U3R5bGUs
IG9sZFN0eWxlKTsKIAogICAgIGlmIChhbmltYXRpb25VcGRhdGUuc3R5bGUpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDk5
NmMxOTgyMzBjZDA2NDdkYTE5NzM0NDM4N2RkZTg4ZWI5ZjIxMS4uNTNkODYzYjEzYjkxZjhlODhm
MTllYTdlYzMxMzZkMDI2NGNiNzAwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTExLTE0
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmlt
YXRpb25zXSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM0OTMyNDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBleGlzdGluZyB0ZXN0cyB0byBleHBsaWNpdGx5IHBhc3MgbnVs
bCBmb3Iga2V5ZnJhbWVzIGFuZCB1cGRhdGUgV1BUIGV4cGVjdGF0aW9ucy4KKworICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9j
dW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1h
cmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlv
bnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0
aW9uc2hpcC5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sOgorICAgICAg
ICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZl
Y3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1s
OgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlm
cmFtZS1lZmZlY3QuaHRtbDoKKwogMjAxNy0xMS0xNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU3R1YiBpbXBsZW1lbnRhdGlvbnMgb2YgT2Zmc2NyZWVuQ2FudmFz
IGdldENvbnRleHQgYW5kIHRyYW5zZmVyVG9JbWFnZUJpdG1hcApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGlu
ZS9kb2N1bWVudC10aW1lbGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVs
aW5lLWV4cGVjdGVkLnR4dAppbmRleCBmMThkZmFiYjdjYmMyNzJmOGI4ZDkzZDhhNTc5OGRhNjgy
MzhlNTEzLi5hNmI1YWFkNzhhNDliMjljNmQ3ZDM3NDNhM2MyNGIyZTNkM2FhODg3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1h
dGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5l
L2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBk
b2N1bWVudC50aW1lbGluZSBpZGVudGl0eSB0ZXN0cyAKLUZBSUwgZG9jdW1lbnQudGltZWxpbmUu
Y3VycmVudFRpbWUgdmFsdWUgdGVzdHMgYXNzZXJ0X2VxdWFsczogZG9jdW1lbnQudGltZWxpbmUu
Y3VycmVudFRpbWUgbWF0Y2hlcyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgdGltZSBleHBlY3RlZCA1
NTIuMzAwMDAwMDAwMDAwMSBidXQgZ290IDAuNTUzODAwMDAwMDAwMDAwMQotUEFTUyBkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyAKLVBBU1MgaWZyYW1lIGRvY3Vt
ZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIAorRkFJTCBkb2N1bWVudC50
aW1lbGluZS5jdXJyZW50VGltZSB2YWx1ZSB0ZXN0cyBhc3NlcnRfZXF1YWxzOiBkb2N1bWVudC50
aW1lbGluZS5jdXJyZW50VGltZSBtYXRjaGVzIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0aW1lIGV4
cGVjdGVkIDkzNS4zMDAwMDAwMDAwMDAxIGJ1dCBnb3QgMC4zNTcwMDAwMDAwMDAwMDAwNAorRkFJ
TCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyBhc3NlcnRfZ3Jl
YXRlcl90aGFuOiBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0d2Vl
biBzY3JpcHQgYmxvY2tzIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwLjM1NzAwMDAw
MDAwMDAwMDA0IGJ1dCBnb3QgMC4zNTcwMDAwMDAwMDAwMDAwNAorRkFJTCBpZnJhbWUgZG9jdW1l
bnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgYXNzZXJ0X2dyZWF0ZXJfdGhh
bjogaWZyYW1lIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVu
IHNjcmlwdCBibG9ja3MgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAuMDI4MzAwMDAw
MDAwMDAwMDAyIGJ1dCBnb3QgMC4wMjgzMDAwMDAwMDAwMDAwMDIKIFBBU1MgZG9jdW1lbnQudGlt
ZWxpbmUuY3VycmVudFRpbWUgdGltZSBzaG91bGQgYmUgdGhlIHNhbWUgZm9yIGFsbCBSQUYgY2Fs
bGJhY2tzIGluIGEgZnJhbWUgCi0KKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtl
eWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5
ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQKaW5kZXggZDEzZTU0NGVlNzc2ZWIwY2Zl
MDcxOTJmYmY2YzZhZjg2OWE3MzA4MC4uYzBiYjc3MjRmMWZmZDVlZTIzOGJlNzJiYjkzMTgyZjI4
OTFmZmUwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMv
aW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50
LTAwMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3Vt
ZW50LTAwMS1leHBlY3RlZC50eHQKQEAgLTU1LDUgKzU1LDUgQEAgRkFJTCBPbmx5IGVudW1lcmFi
bGUgcHJvcGVydGllcyBvbiBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QKIEZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24ga2V5ZnJhbWVz
IGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
IEZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24gcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQogRkFJTCBPbmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIFByb3BlcnRpZXMgYXJlIHJlYWQgaW4gYXNjZW5kaW5nIG9y
ZGVyIGJ5IFVuaWNvZGUgY29kZXBvaW50IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IGFj
Y2VzcyBvcmRlciBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgMAorRkFJTCBQcm9wZXJ0
aWVzIGFyZSByZWFkIGluIGFzY2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSBhY2Nlc3Mgb3JkZXIgcHJvcGVydHkgMCwgZXhwZWN0
ZWQgImNvbXBvc2l0ZSIgYnV0IGdvdCAibWFyZ2luTGVmdCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9z
ZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0
CmluZGV4IDBiMzY3OTJmMTgzNzZiOWRhZTI2MTdlN2E1ODBjYmEzMjMxMTFkNWIuLmIxNWU2NmEw
MDkzMzc5NDBkOGRmODkyOThjNWZjNjM2Y2IzOGQ1ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5
ZnJhbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQK
QEAgLTEsNDkgKzEsNTUgQEAKIAotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YW4gZW1wdHkga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKGZyYW1lKScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBw
cm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5k
IHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0
eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28g
dmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3Vi
dGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHBy
b3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZm
ZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJh
bWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgZWZmZWN0LnNldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRl
c3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5n
aWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlh
YmxlIHJlZmVyZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBw
cm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFi
bGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5zZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0
KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBl
ZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdv
IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhl
IHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Qu
c2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRl
c3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBz
ZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJv
cGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNl
IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtl
eWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAo
YSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZy
YW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlv
ciBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgZWZm
ZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJh
bWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGZvdXIg
a2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggbnVsbCBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCBlZmZlY3Quc2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3Vi
dGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21l
IG51bGwgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0
d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBl
ZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50
IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zm
c2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBvc2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21w
b3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBu
ZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVy
ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9w
ZXJ0eSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgZWZmZWN0LnNldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3Qu
aW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hh
bmQgcHJlY2VkZXMgc2hvcnRoYW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMg
Z3JlYXRlciBzaG9ydGhhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVz
c2VyIHNob3J0aGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0
d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3Np
bmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9w
ZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxhc3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2
YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgVHlwZSBlcnJvcgorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5
IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5
IChvbmUgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2
YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVy
cyBvZiB2YWx1ZXMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4gaW52
YWxpZCB2YWx1ZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiB0aGF0IG5lZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBUeXBl
IGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVu
Y2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1
ZSBpcyBpbnZhbGlkIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBUeXBlIGVycm9y
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUg
a2V5ZnJhbWUgc2VxdWVuY2UgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywg
J2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBi
ZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZl
Y3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZy
YW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChh
IHNob3J0aGFuZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJh
bWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91
ciBrZXlmcmFtZSBzZXF1ZW5jZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0
IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xl
IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBzdHJpbmcgb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVk
IG9mZnNldHMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBU
eXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIFR5cGUgZXJy
b3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBUeXBlIGVycm9yCitGQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGgg
ZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEg
Z2l2ZW4gb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIHZhbHVlcywg
YnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdv
IGtleWZyYW1lIHNlcXVlbmNlIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZh
cmlhYmxlIHJlZmVyZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3Bl
cnR5IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0Lmdl
dEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
c2hvcnRoYW5kIHByZWNlZGVzIGxvbmdoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNo
b3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNob3J0aGFuZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVz
IGxlc3NlciBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVy
dHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0
aGUgZmlyc3Qga2V5ZnJhbWUgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVy
dHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0
aGUgbGFzdCBrZXlmcmFtZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdpdGggcmVwZWF0ZWQgdmFsdWVzIGF0IG9mZnNldCAxIHdpdGggZGlmZmVyZW50IGVh
c2luZ3MgVHlwZSBlcnJvcgogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mg
d2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBwb3NpdGl2ZSBvZmZzZXQgCiBQ
QVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRo
IGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCAKLVBBU1MgS2V5ZnJhbWVFZmZlY3Qg
Y29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5vdCBsb29zZWx5IHNvcnRlZCBieSBv
ZmZzZXQgCitGQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZy
YW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7CisgICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
OworICAgIH0iIGRpZCBub3QgdGhyb3cKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3Ig
dGhyb3dzIHdpdGggcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVh
c2luZyB2YWx1ZSAKLVBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgg
YSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAotUEFTUyBL
ZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBp
bnZhbGlkIGNvbXBvc2l0ZSB2YWx1ZSAKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3Ig
dGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZh
bHVlIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBlZmZlY3Qu
c2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOworICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwg
S2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4g
aW52YWxpZCBjb21wb3NpdGUgdmFsdWUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKKyAgICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSIg
ZGlkIG5vdCB0aHJvdwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10
aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0
ZWQudHh0CmluZGV4IGI2ZjVlYWViNjE2MTE0YzIzMTI4YTUzMDY0MWZiODhkNDkwZDJjZTcuLmE2
OGU2NjQ1ZjA5YTIyODQ5NWUzZmE0YzBlOGZjOGQxOTUwZGIwMzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3Nl
dC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUt
YW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlM
IFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZl
IHRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVyIHNl
dHRpbmcgY3VycmVudCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVtYmVy
KSAtOTk5Ljg5NgotRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGltZSBhbiBhbmlt
YXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgZG9lcyBub3QgY2xlYXIgdGhlIGN1cnJl
bnQgdGltZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0
aW5nIGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51bWJlcikg
LTk5OS44OTYKK0ZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSBvZiBhbiBhbmltYXRpb24gd2l0
aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1haW5z
IG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBi
dXQgZ290IChudW1iZXIpIC05OTkuNjk0OQorRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3Rh
cnQgdGltZSBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgZG9lcyBub3Qg
Y2xlYXIgdGhlIGN1cnJlbnQgdGltZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMg
bnVsbCBhZnRlciBzZXR0aW5nIGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1
dCBnb3QgKG51bWJlcikgLTk5OS42OTQ5CiBGQUlMIFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgY2xl
YXJzIHRoZSBob2xkIHRpbWUgYXNzZXJ0X2VxdWFsczogQW5pbWF0aW9uIHJlcG9ydHMgaXQgaXMg
cnVubmluZyBhZnRlciBzZXR0aW5nIGEgcmVzb2x2ZWQgc3RhcnQgdGltZSBleHBlY3RlZCAoc3Ry
aW5nKSAicnVubmluZyIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKIEZBSUwgU2V0dGlu
ZyBhbiB1bnJlc29sdmVkIHN0YXJ0IHRpbWUgc2V0cyB0aGUgaG9sZCB0aW1lIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIChzdHJpbmcpICJydW5uaW5nIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAogRkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEgcGVuZGluZyByZWFk
eSBwcm9taXNlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdhbmltYXRp
b24ucmVhZHkudGhlbicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQt
YW5pbWF0aW9ucy5odG1sCmluZGV4IGI1ZDNlNmRkNTNjNTdhMmQ4MmVjMmY1NzRiMTI5ZjlhMzQw
YzAwYzIuLjRjMDFkZGQ4NjExZmFiNWZhMmVkYjExOTI2ZTk5NzZlZmMzNzJjOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxl
bWVudC1nZXQtYW5pbWF0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdl
Yi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sCkBAIC0x
Myw5ICsxMyw5IEBAIGxldCBhLCBiLCBjOwogY29uc3QgdGFyZ2V0QSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImEiKTsKIGNvbnN0IHRhcmdldEIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJi
Iik7CiAKLWNvbnN0IGVmZmVjdEFhID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEEpOwotY29u
c3QgZWZmZWN0QWIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0QSk7Ci1jb25zdCBlZmZlY3RC
ID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEIpOworY29uc3QgZWZmZWN0QWEgPSBuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0QSwgbnVsbCk7Citjb25zdCBlZmZlY3RBYiA9IG5ldyBLZXlmcmFt
ZUVmZmVjdCh0YXJnZXRBLCBudWxsKTsKK2NvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZl
Y3QodGFyZ2V0QiwgbnVsbCk7CiAKIHRlc3QodCA9PiB7CiAgICAgYXNzZXJ0X3RydWUodHlwZW9m
IHRhcmdldEEuZ2V0QW5pbWF0aW9ucyA9PT0gImZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
LWNyZWF0aW9uLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKaW5kZXggNTVm
NWVhMGM3ZjNiZTg4OTYxOWJiYzgxYjMwMjk5ZTM5MTU5ZjE3OC4uZWY3YTQ1ZDkzOTRlMmIzOTZl
ODEzOGVhNjRmNjA0NDY1NjkwYjZmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlvbi1iYXNpYy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFzaWMuaHRtbApAQCAtMzMsNyArMzMsNyBAQCB0ZXN0
KHQgPT4gewogfSwgIkNyZWF0aW5nIEFuaW1hdGlvbiB3aXRoIGEgbnVsbCBhcmd1bWVudCBzaG91
bGQgaGF2ZSBhIG51bGwgZWZmZWN0IGFuZCB0aGUgZG9jdW1lbnQgdGltZWxpbmUuIik7CiAKIHRl
c3QodCA9PiB7Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50
LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5i
b2R5LCBudWxsKTsKICAgICBjb25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCk7
CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3QpOwogICAgIGFzc2Vy
dF9lcXVhbHMoYW5pbWF0aW9uLnRpbWVsaW5lLCBkb2N1bWVudC50aW1lbGluZSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdC11
bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwKaW5kZXggZWI1NzE0MDBmNzA5OTFjYTM2YmUyOTUwYTQ1
ZWZkN2QyYTA4MmFjZi4uZWIxMDQ2MzcwNGU0MTRiNWI3Y2MyYTliZmZmOTdhZWNiZDU5Y2UyOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b24tZWZmZWN0LXVuaXF1ZS1yZWxhdGlvbnNoaXAuaHRtbApAQCAtOSw4ICs5LDggQEAKICd1c2Ug
c3RyaWN0JzsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1l
RWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICBjb25zdCBlZmZlY3RC
ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKyAg
ICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpLCBudWxsKTsKKyAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1lRWZmZWN0
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBudWxsKTsKIAogICAgIGNvbnN0IGEgPSBu
ZXcgQW5pbWF0aW9uKGVmZmVjdEEpOwogICAgIGNvbnN0IGIgPSBuZXcgQW5pbWF0aW9uKGVmZmVj
dEIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0
aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbAppbmRleCBkNGEzODczYTAwOTdiZGFh
ZTkzYTMwOGQwZWYzNTcxYjhkMDE1YjMyLi40OThjOTExOTAzMmQ0ODZjYjJjNjdkZWQyYmNlNzJk
YjY2MjNiN2ZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbApAQCAtMTcsMjQgKzE3
LDI0IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgICAgY29uc3QgYW5pbWF0aW9uID0g
bmV3IEFuaW1hdGlvbjsKLSAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9j
dW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3Vt
ZW50LmJvZHksIG51bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3Q7CiAgICAgYXNz
ZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3QpOwogfSwgIlRoZSBhbmltYXRpb24u
ZWZmZWN0IHByb3BlcnR5IGNhbiBiZSBzZXQgdG8gYSBLZXlmcmFtZUVmZmVjdCBvYmplY3QuIik7
CiAKIHRlc3QodCA9PiB7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbjsKLSAg
ICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOworICAg
IGNvbnN0IGVmZmVjdEEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7
CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdEE7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmlt
YXRpb24uZWZmZWN0LCBlZmZlY3RBKTsKLSAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1l
RWZmZWN0KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVF
ZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVj
dEI7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3RCKTsKIH0sICJU
aGUgYW5pbWF0aW9uLmVmZmVjdCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGFub3RoZXIgS2V5ZnJh
bWVFZmZlY3Qgb2JqZWN0LiIpOwogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlvbiA9
IG5ldyBBbmltYXRpb247Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRv
Y3VtZW50LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1
bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0OwogICAgIGFz
c2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0KTsKICAgICBhbmltYXRpb24uZWZm
ZWN0ID0gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVm
ZmVjdC1leHBlY3RlZC50eHQKaW5kZXggYzZjY2Q5ZWJiYWRhYmUzZjljZmFmMGM4YjRjYmM4OTE3
NjZmNjVkMi4uYzdjYWEzMDdjMGUwMDNmNWU1YzI0M2E4MmNlODUxODkyMWJkNWQyMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50
eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBp
cyBkZWZpbmVkLiAKLVBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3QgYmUg
Y29uc3RydWN0ZWQgd2l0aG91dCBwYXJhbWV0ZXJzLiAKLVBBU1MgVGhlIEtleWZyYW1lRWZmZWN0
IGludGVyZmFjZSBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIHBhcmFtZXRlciBoYXMgdGhlIHdy
b25nIHR5cGUuIAorUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBj
b25zdHJ1Y3RlZCB3aXRob3V0IGVub3VnaCBwYXJhbWV0ZXJzLiAKK1BBU1MgVGhlIEtleWZyYW1l
RWZmZWN0IGludGVyZmFjZSBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIGZpcnN0IHBhcmFtZXRl
ciBoYXMgdGhlIHdyb25nIHR5cGUuIAogUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNl
IHRhcmdldCBpcyBzZXQgdG8gdGhlIHByb3ZpZGVkIEVsZW1lbnQuIAogUEFTUyBBIEtleWZyYW1l
RWZmZWN0IG9iamVjdCB0YXJnZXQgaXMgcmVhZC1vbmx5LiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVm
ZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVyZmFj
ZS10aW1pbmctZHVyYXRpb24uaHRtbAppbmRleCA4OGI2ODQ1MmM2NzFiNDhlZDBjODA1NzdkOGQ1
YTI0M2YxZWY5MGZkLi4zMmI2YTEyMDcwMmFjNWYwMDQ5MjI2MDc5NGQ2M2RiODBiNzM4Y2IwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVyZmFjZS10aW1pbmctZHVyYXRpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5
ZnJhbWUtZWZmZWN0LWludGVyZmFjZS10aW1pbmctZHVyYXRpb24uaHRtbApAQCAtMTEsMTQgKzEx
LDE0IEBACiBpbnRlcm5hbHMucGF1c2VUaW1lbGluZShkb2N1bWVudC50aW1lbGluZSk7CiAKIHRl
c3QodCA9PiB7Ci0gICAgY29uc3Qga2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3Qo
ZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3Qga2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVF
ZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYXNzZXJ0X2luaGVyaXRzKGtleWZyYW1l
RWZmZWN0LCAidGltaW5nIik7CiAgICAgYXNzZXJ0X2luaGVyaXRzKGtleWZyYW1lRWZmZWN0LnRp
bWluZywgImR1cmF0aW9uIik7CiAgICAgYXNzZXJ0X2VxdWFscyhrZXlmcmFtZUVmZmVjdC50aW1p
bmcuZHVyYXRpb24sIDApOwogfSwgIkNoZWNrIHRoZSBkZWZhdWx0IHN0YXRlIG9mIHRoZSB0aW1p
bmcgYW5kIGR1cmF0aW9uIHByb3BlcnRpZXMuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29uc3Qg
a2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAg
Y29uc3Qga2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwg
bnVsbCk7CiAgICAga2V5ZnJhbWVFZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMjsKICAgICBhc3Nl
cnRfZXF1YWxzKGtleWZyYW1lRWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgMik7CiB9LCAiQ2hlY2sg
dGhhdCB3ZSBjYW4gdXBkYXRlIHRoZSB0aW1pbmcgZHVyYXRpb24uIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJh
bWUtZWZmZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90
aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0Lmh0bWwKaW5kZXggY2UwYzZmNzNmOGVkNWUyYWVh
ZDgzNjg3Zjg5MjlkNmVlN2EzOGEyNy4uYTk3NDZiZDJmOGY1NWMzMTFlMzQ0YzI5NDM3ODE0NDFk
YWZiMjU4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRt
bApAQCAtMTYsMjIgKzE2LDIzIEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgICAgYXNz
ZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QpOwotfSwg
IlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVkIHdpdGhv
dXQgcGFyYW1ldGVycy4iKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+
IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkpOworfSwg
IlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVkIHdpdGhv
dXQgZW5vdWdoIHBhcmFtZXRlcnMuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93
cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoMCkpOwotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KHt9KSk7Ci0g
ICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3Qo
W10pKTsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFt
ZUVmZmVjdChmYWxzZSkpOwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4g
bmV3IEtleWZyYW1lRWZmZWN0KCdlbGVtZW50JykpOwotfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBp
bnRlcmZhY2UgY29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBwYXJhbWV0ZXIgaGFzIHRoZSB3cm9u
ZyB0eXBlLiIpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtl
eWZyYW1lRWZmZWN0KDAsIG51bGwpKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3Is
ICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCh7fSwgbnVsbCkpOworICAgIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KFtdLCBudWxsKSk7CisgICAg
YXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoZmFs
c2UsIG51bGwpKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBL
ZXlmcmFtZUVmZmVjdCgnZWxlbWVudCcsIG51bGwpKTsKK30sICJUaGUgS2V5ZnJhbWVFZmZlY3Qg
aW50ZXJmYWNlIGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGhhcyB0
aGUgd3JvbmcgdHlwZS4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKChuZXcg
S2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSkpLnRhcmdldCwgZG9jdW1lbnQuYm9keSk7Cisg
ICAgYXNzZXJ0X2VxdWFscygobmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwp
KS50YXJnZXQsIGRvY3VtZW50LmJvZHkpOwogfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZh
Y2UgdGFyZ2V0IGlzIHNldCB0byB0aGUgcHJvdmlkZWQgRWxlbWVudC4iKTsKIAogdGVzdCh0ID0+
IHsKLSAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7
CisgICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51
bGwpOwogICAgIGFzc2VydF9yZWFkb25seShlZmZlY3QsICJ0YXJnZXQiKTsKIH0sICJBIEtleWZy
YW1lRWZmZWN0IG9iamVjdCB0YXJnZXQgaXMgcmVhZC1vbmx5LiIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326958</attachid>
            <date>2017-11-14 18:50:10 -0800</date>
            <delta_ts>2017-11-15 09:10:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171114185009.patch</filename>
            <type>text/plain</type>
            <size>50299</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNWExYzhhMzcyMmM2MGQ0OGViNTI5MTA5YjcxZTg0
NzY5MDhlODc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogRGVhbCB3aXRoIGV4YWN0bHkgdHdvIGtleWZyYW1lcywgc2V0IGF0IDAg
YW5kIDEgb2Zmc2V0cywKKyAgICAgICAgc3BlY2lmaWVkIGluIGFycmF5IGZvcm1zIGZvciB0aGUg
a2V5ZnJhbWVzIG9iamVjdC4gQXMgd2UgcGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIHByb3ZpZGVk
IEpTIG9iamVjdCwKKyAgICAgICAgd2UgY3JlYXRlIFJlbmRlclN0eWxlIG9iamVjdHMgdXNpbmcg
dGhlIGVsZW1lbnQncyBTdHlsZVJlc29sdmVyIGZyb20gYSBDU1MgdGV4dCBzdHJpbmcgd2UgY3Jl
YXRlCisgICAgICAgIGJhc2VkIG9uIHRoZSBwcm9wZXJ0eSBhbmQgdmFsdWVzIGFzIHN0cmluZ3Mu
CisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZSk6IENv
bXB1dGUgdGhlIHByb2dyZXNzIGJhc2VkIG9uIHRoZSBsb2NhbCB0aW1lIGFuZCBkdXJhdGlvbiwK
KyAgICAgICAgdXNpbmcgdGhlIGV4aXN0aW5nIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFBy
b3BlcnRpZXMoKSBtZWNoYW5pY3MgdG8gcGVyZm9ybSB0aGUgYmxlbmQgYmV0d2VlbiB0aGUKKyAg
ICAgICAgZnJvbSBhbmQgdG8ga2V5ZnJhbWVzLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5oOgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGw6CisgICAg
ICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJB
bmltYXRpb246OnJlc29sdmUpOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9JRExUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SURMT2Jq
ZWN0OjpudWxsVmFsdWUpOiBNYWtlIEpTQzo6U3Ryb25nIGFuIG9wdGlvbmFsIHR5cGUuCisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZXhpc3Rp
bmdUaW1lbGluZSBjb25zdCk6IFByb3ZpZGUgYW4gZXhwbGljaXQgbWV0aG9kIGZvciBjYWxsIHNp
dGVzIHRvIGNoZWNrIGV4aXN0ZW5jZQorICAgICAgICBvZiBhIHRpbWVsaW5lIGJlZm9yZSBmb3Jj
aW5nIG9uZSB0byBiZSBjcmVhdGVkIGlmIG1pc3NpbmcgYnkgY2FsbGluZyB0aW1lbGluZSgpLgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Omdl
dEFuaW1hdGlvbnMpOiBEbyBub3QgZm9yY2UgdGhlIGNyZWF0aW9uIG9mIGEgdGltZWxpbmUgaWYg
b25lIGlzbid0IGFscmVhZHkgY3JlYXRlZC4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpjcmVhdGVB
bmltYXRlZEVsZW1lbnRVcGRhdGUpOiBXaGVuIGFwcGx5aW5nIHN0eWxlcywgYWNjb3VudCBmb3Ig
YW55IFdlYgorICAgICAgICBBbmltYXRpb24gYXBwbGllZCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dC4KKwogMjAxNy0xMS0xNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVXBkYXRlIGNvbW1lbnQgaW4gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gcmVmbGVj
dCBsb2NhdGlvbiBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uRWZmZWN0LmgKaW5kZXggZTQ1NjQ3OWI5Y2MyMDQ2OTA5MDYx
YmZmMTFmZGNiNjlkYjQ0ZGVmZS4uMjEzZWE5Njc4NmFiMDkwZWIwZTc0OThmOWVhNzJiYmVmZjhi
MjQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25FZmZlY3QuaApAQCAt
MjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkFuaW1hdGlvbkVmZmVjdFRpbWluZy5oIgogI2luY2x1
ZGUgIldlYkFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzYsMTAgKzM3LDExIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQW5pbWF0aW9uRWZmZWN0IDogcHVibGljIFJlZkNv
dW50ZWQ8QW5pbWF0aW9uRWZmZWN0PiB7CiBwdWJsaWM6CisgICAgdmlydHVhbCB+QW5pbWF0aW9u
RWZmZWN0KCkgPSBkZWZhdWx0OworCiAgICAgYm9vbCBpc0tleWZyYW1lRWZmZWN0KCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gS2V5ZnJhbWVFZmZlY3RDbGFzczsgfQogICAgIEFuaW1h
dGlvbkVmZmVjdFRpbWluZyogdGltaW5nKCkgY29uc3QgeyByZXR1cm4gbV90aW1pbmcuZ2V0KCk7
IH0KLQotICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRlclN0eWxlJikgPSAwOwogCiAgICAgV2Vi
QW5pbWF0aW9uKiBhbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2FuaW1hdGlvbi5nZXQoKTsg
fQogICAgIHZvaWQgc2V0QW5pbWF0aW9uKFJlZlB0cjxXZWJBbmltYXRpb24+JiYgYW5pbWF0aW9u
KSB7IG1fYW5pbWF0aW9uID0gYW5pbWF0aW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9BbmltYXRpb25UaW1lbGluZS5oCmluZGV4IDc0ZGE1ZGJhMTY2MzQ3ODUzOWY5OWZiYWQ3NDlh
YzRhNjZhODBiNTAuLmM3YTY5MzMzODUwZWQ3YjI1ZTkxOGQyYzgwMmNkOWJlNmZiYTk4YTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCkBAIC03MCw2
ICs3MCw4IEBAIHByb3RlY3RlZDoKIAogICAgIGV4cGxpY2l0IEFuaW1hdGlvblRpbWVsaW5lKENs
YXNzVHlwZSk7CiAKKyAgICBIYXNoTWFwPFJlZlB0cjxFbGVtZW50PiwgVmVjdG9yPFJlZlB0cjxX
ZWJBbmltYXRpb24+Pj4gZWxlbWVudFRvQW5pbWF0aW9uc01hcCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZWxlbWVudFRvQW5pbWF0aW9uc01hcDsgfQorCiBwcml2YXRlOgogICAgIENsYXNzVHlwZSBtX2Ns
YXNzVHlwZTsKICAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IG1fY3VycmVudFRpbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKaW5kZXggODVjMTFl
MGI3ZThkMmZiNzlmN2U0NTQ2NmFmOGYyMGU1MGQ5MWE0Yy4uYjBmZDZkN2RkYTZhODFmYTA5NWRk
ZGYyNWI5ZDQzNmNlOTJiMGE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1
bWVudFRpbWVsaW5lLmNwcApAQCAtMTU0LDExICsxNTQsMTcgQEAgdm9pZCBEb2N1bWVudFRpbWVs
aW5lOjpkaXNwbGF5UmVmcmVzaEZpcmVkKCkKIHZvaWQgRG9jdW1lbnRUaW1lbGluZTo6YW5pbWF0
aW9uUmVzb2x1dGlvblRpbWVyRmlyZWQoKQogI2VuZGlmCiB7Ci0gICAgcmVzb2x2ZUFuaW1hdGlv
bnMoKTsKKyAgICB1cGRhdGVBbmltYXRpb25zKCk7CiB9CiAKLXZvaWQgRG9jdW1lbnRUaW1lbGlu
ZTo6cmVzb2x2ZUFuaW1hdGlvbnMoKQordm9pZCBEb2N1bWVudFRpbWVsaW5lOjp1cGRhdGVBbmlt
YXRpb25zKCkKIHsKKyAgICBpZiAobV9kb2N1bWVudCAmJiAhZWxlbWVudFRvQW5pbWF0aW9uc01h
cCgpLmlzRW1wdHkoKSkgeworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVsZW1lbnRUb0FuaW1h
dGlvbnNNYXBJdGVtIDogZWxlbWVudFRvQW5pbWF0aW9uc01hcCgpKQorICAgICAgICAgICAgZWxl
bWVudFRvQW5pbWF0aW9uc01hcEl0ZW0ua2V5LT5pbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBv
c2l0aW9uKCk7CisgICAgICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAg
ICB9CisKICAgICAvLyBUaW1lIGhhcyBhZHZhbmNlZCwgdGhlIHRpbWluZyBtb2RlbCByZXF1aXJl
cyBpbnZhbGlkYXRpb24gbm93LgogICAgIGFuaW1hdGlvblRpbWluZ01vZGVsRGlkQ2hhbmdlKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaAppbmRleCA2
ZjNkZjFhMGIyOWYxZWY4NGFkODc3YTk2NmUxYjEzZDNjNGJhYzQ5Li4zMDA2MGY2MzQ5NDAwYjhi
OTdiNDFjMmUyM2QyYmVkZGE5MjMxMjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9E
b2N1bWVudFRpbWVsaW5lLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVw
ZGF0ZUFuaW1hdGlvblNjaGVkdWxlKCk7CiAgICAgdm9pZCBhbmltYXRpb25TY2hlZHVsZVRpbWVy
RmlyZWQoKTsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uUmVzb2x1dGlvbigpOwotICAgIHZv
aWQgcmVzb2x2ZUFuaW1hdGlvbnMoKTsKKyAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvbnMoKTsKIAog
ICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKICAgICBib29sIG1fcGF1c2VkIHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4
IGNiN2JiMjI0MWM0Mzg4NDg4ZWY0NTQ1ZjM4NGVlZGE0NTM2YTUxYTYuLjJhYTBkMjM4MmFhYmEw
OGFjMmQ0ZjA2ZTM0YjlhOGEwNzI5NTNjYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjYsMTMgKzI2LDI0IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3QuaCIKIAorI2luY2x1ZGUgIkNTU1Byb3BlcnR5
QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxl
LmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0aWVzLmgiCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZl
ci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOwogCi1SZWY8
S2V5ZnJhbWVFZmZlY3Q+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoRWxlbWVudCogdGFyZ2V0KQor
RXhjZXB0aW9uT3I8UmVmPEtleWZyYW1lRWZmZWN0Pj4gS2V5ZnJhbWVFZmZlY3Q6OmNyZWF0ZShF
eGVjU3RhdGUmIHN0YXRlLCBFbGVtZW50KiB0YXJnZXQsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlm
cmFtZXMpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0
KSk7CisgICAgYXV0byByZXN1bHQgPSBhZG9wdFJlZigqbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdl
dCkpOworCisgICAgYXV0byBzZXRLZXlmcmFtZXNSZXN1bHQgPSByZXN1bHQtPnNldEtleWZyYW1l
cyhzdGF0ZSwgV1RGTW92ZShrZXlmcmFtZXMpKTsKKyAgICBpZiAoc2V0S2V5ZnJhbWVzUmVzdWx0
Lmhhc0V4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gc2V0S2V5ZnJhbWVzUmVzdWx0LnJlbGVh
c2VFeGNlcHRpb24oKTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIEtleWZyYW1lRWZmZWN0
OjpLZXlmcmFtZUVmZmVjdChFbGVtZW50KiB0YXJnZXQpCkBAIC00MSw0ICs1Miw4MyBAQCBLZXlm
cmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCogdGFyZ2V0KQogewogfQogCitFeGNl
cHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6c2V0S2V5ZnJhbWVzKEV4ZWNTdGF0ZSYgc3Rh
dGUsIFN0cm9uZzxKU09iamVjdD4mJiBrZXlmcmFtZXMpCit7CisgICAgLy8gRklYTUU6IFdlIG9u
bHkgaGF2ZSBwcmltaXRpdmUgdG8tZnJvbSBwYXJzaW5nLCBmb3IgZnVsbCBzdXBwb3J0IHNlZSB3
ZWJraXQub3JnL2IvMTc5NzA4LgorICAgIGlmICghbV90YXJnZXQgfHwgIWtleWZyYW1lcykKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmICghaXNKU0FycmF5KGtleWZyYW1lcy5nZXQoKSkp
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKworICAgIFZlY3RvcjxL
ZXlmcmFtZT4gbmV3S2V5ZnJhbWVzIHsgfTsKKworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlciA9IG1fdGFyZ2V0LT5zdHlsZVJlc29sdmVyKCk7CisgICAgYXV0
byBwYXJzZXJDb250ZXh0ID0gQ1NTUGFyc2VyQ29udGV4dChIVE1MU3RhbmRhcmRNb2RlKTsKKwor
ICAgIGNvbnN0IGF1dG8qIGFycmF5ID0ganNDYXN0PGNvbnN0IEpTQXJyYXkqPihrZXlmcmFtZXMu
Z2V0KCkpOworICAgIGF1dG8gbGVuZ3RoID0gYXJyYXktPmxlbmd0aCgpOworICAgIGlmIChsZW5n
dGggIT0gMikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworCisgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGNvbnN0IEpT
VmFsdWUgdmFsdWUgPSBhcnJheS0+Z2V0SW5kZXgoJnN0YXRlLCBpKTsKKyAgICAgICAgaWYgKHNj
b3BlLmV4Y2VwdGlvbigpIHx8ICF2YWx1ZSB8fCAhdmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKKyAgICAgICAgSlNPYmplY3QqIGtl
eWZyYW1lID0gdmFsdWUudG9PYmplY3QoJnN0YXRlKTsKKyAgICAgICAgUHJvcGVydHlOYW1lQXJy
YXkgb3duUHJvcGVydHlOYW1lcygmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3MsIFByaXZh
dGVTeW1ib2xNb2RlOjpFeGNsdWRlKTsKKyAgICAgICAgSlNPYmplY3Q6OmdldE93blByb3BlcnR5
TmFtZXMoa2V5ZnJhbWUsICZzdGF0ZSwgb3duUHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2Rl
KCkpOworICAgICAgICBzaXplX3QgbnVtYmVyT2ZQcm9wZXJ0aWVzID0gb3duUHJvcGVydHlOYW1l
cy5zaXplKCk7CisKKyAgICAgICAgU3RyaW5nQnVpbGRlciBjc3NUZXh0OworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGogPSAwOyBqIDwgbnVtYmVyT2ZQcm9wZXJ0aWVzOyArK2opIHsKKyAgICAgICAg
ICAgIGNzc1RleHQuYXBwZW5kKG93blByb3BlcnR5TmFtZXNbal0uc3RyaW5nKCkpOworICAgICAg
ICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI6ICIpOworICAgICAgICAgICAgY3NzVGV4dC5h
cHBlbmQoa2V5ZnJhbWUtPmdldCgmc3RhdGUsIG93blByb3BlcnR5TmFtZXNbal0pLnRvV1RGU3Ry
aW5nKCZzdGF0ZSkpOworICAgICAgICAgICAgY3NzVGV4dC5hcHBlbmRMaXRlcmFsKCI7ICIpOwor
ICAgICAgICB9CisKKyAgICAgICAgYXV0byByZW5kZXJTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVh
dGVQdHIoKTsKKyAgICAgICAgYXV0byBzdHlsZVByb3BlcnRpZXMgPSBNdXRhYmxlU3R5bGVQcm9w
ZXJ0aWVzOjpjcmVhdGUoKTsKKyAgICAgICAgc3R5bGVQcm9wZXJ0aWVzLT5wYXJzZURlY2xhcmF0
aW9uKGNzc1RleHQudG9TdHJpbmcoKSwgcGFyc2VyQ29udGV4dCk7CisgICAgICAgIHVuc2lnbmVk
IG51bWJlck9mQ1NTUHJvcGVydGllcyA9IHN0eWxlUHJvcGVydGllcy0+cHJvcGVydHlDb3VudCgp
OworCisgICAgICAgIFZlY3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9wZXJ0aWVzOworICAgICAgICBm
b3IgKHVuc2lnbmVkIGsgPSAwOyBrIDwgbnVtYmVyT2ZDU1NQcm9wZXJ0aWVzOyArK2spIHsKKyAg
ICAgICAgICAgIHByb3BlcnRpZXMuYXBwZW5kKHN0eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChr
KS5pZCgpKTsKKyAgICAgICAgICAgIHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvU3R5bGUo
c3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGspLmlkKCksIHN0eWxlUHJvcGVydGllcy0+cHJv
cGVydHlBdChrKS52YWx1ZSgpLCBXVEZNb3ZlKHJlbmRlclN0eWxlKSk7CisgICAgICAgICAgICBy
ZW5kZXJTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS50YWtlU3R5bGUoKTsKKyAgICAgICAg
fQorCisgICAgICAgIG5ld0tleWZyYW1lcy5hcHBlbmQoeyBSZW5kZXJTdHlsZTo6Y2xvbmUoKnJl
bmRlclN0eWxlKSwgcHJvcGVydGllcyB9KTsKKyAgICB9CisKKyAgICBtX2tleWZyYW1lcyA9IFdU
Rk1vdmUobmV3S2V5ZnJhbWVzKTsKKworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgS2V5ZnJh
bWVFZmZlY3Q6OmFwcGx5QXRMb2NhbFRpbWUoU2Vjb25kcyBsb2NhbFRpbWUsIFJlbmRlclN0eWxl
JiB0YXJnZXRTdHlsZSkKK3sKKyAgICBpZiAoIW1fdGFyZ2V0KQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBGSVhNRTogQXNzdW1lIGFuaW1hdGlvbnMgb25seSBhcHBseSBpbiB0aGUgcmFuZ2Ug
WzAsIGR1cmF0aW9uWworICAgIC8vIHVudGlsIHdlIHN1cHBvcnQgZmlsbCBtb2RlcywgZGVsYXlz
IGFuZCBpdGVyYXRpb25zLgorICAgIGlmIChsb2NhbFRpbWUgPCAwX3MgfHwgbG9jYWxUaW1lID49
IHRpbWluZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXRpbWlu
ZygpLT5kdXJhdGlvbigpKQorICAgICAgICByZXR1cm47CisKKyAgICBmbG9hdCBwcm9ncmVzcyA9
IGxvY2FsVGltZSAvIHRpbWluZygpLT5kdXJhdGlvbigpOworCisgICAgLy8gRklYTUU6IFRoaXMg
d2lsbCBjcmFzaCBpZiB3ZSBhdHRlbXB0IHRvIGFuaW1hdGUgcHJvcGVydGllcyB0aGF0IHJlcXVp
cmUgYW4gQW5pbWF0aW9uQmFzZS4KKyAgICBmb3IgKGF1dG8gcHJvcGVydHlJZCA6IG1fa2V5ZnJh
bWVzWzBdLnByb3BlcnRpZXMpCisgICAgICAgIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFBy
b3BlcnRpZXMobnVsbHB0ciwgcHJvcGVydHlJZCwgJnRhcmdldFN0eWxlLCAmbV9rZXlmcmFtZXNb
MF0uc3R5bGUsICZtX2tleWZyYW1lc1sxXS5zdHlsZSwgcHJvZ3Jlc3MpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5o
CmluZGV4IGQ1ZTRmMzZkYjRiYjAwYmQzNzNjNmRlNzQzNWU2YzRjNjkxODIzYzYuLmExODY3ODVh
OTgxM2QyZmQyYmNjYjI4MjAwNjFlYmU5OGM0ZWM1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5oCkBAIC0yNiwyMiArMjYsMzQgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiQW5pbWF0aW9uRWZmZWN0LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIK
KyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKK3N0cnVjdCBLZXlmcmFtZSB7CisgICAgUmVu
ZGVyU3R5bGUgc3R5bGU7CisgICAgVmVjdG9yPENTU1Byb3BlcnR5SUQ+IHByb3BlcnRpZXM7Cit9
OworCiBjbGFzcyBLZXlmcmFtZUVmZmVjdCBmaW5hbCA6IHB1YmxpYyBBbmltYXRpb25FZmZlY3Qg
ewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8S2V5ZnJhbWVFZmZlY3Q+IGNyZWF0ZShFbGVtZW50
Kik7CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVjdD4+IGNyZWF0ZShK
U0M6OkV4ZWNTdGF0ZSYsIEVsZW1lbnQqLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmKTsK
ICAgICB+S2V5ZnJhbWVFZmZlY3QoKSB7IH0KIAogICAgIEVsZW1lbnQqIHRhcmdldCgpIGNvbnN0
IHsgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0S2V5
ZnJhbWVzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7Cisg
ICAgdm9pZCBhcHBseUF0TG9jYWxUaW1lKFNlY29uZHMsIFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7
CiAKIHByaXZhdGU6CiAgICAgS2V5ZnJhbWVFZmZlY3QoRWxlbWVudCopOwogICAgIFJlZlB0cjxF
bGVtZW50PiBtX3RhcmdldDsKKyAgICBWZWN0b3I8S2V5ZnJhbWU+IG1fa2V5ZnJhbWVzOwogCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAppbmRleCA1
MzhlODMxYzVkZDEwOGI1MmU2OGMxZjcwNmYyODQ3MmQ2ZDhlMzdkLi41MTlhMGI2ZjMwNTE1YmRk
YjYwYWYzOGY5ZTE5M2ExM2FlZDI3MjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5pZGwKQEAgLTI1LDcgKzI1LDEwIEBACiAKIFsKICAgICBFbmFibGVkQXRS
dW50aW1lPVdlYkFuaW1hdGlvbnMsCi0gICAgQ29uc3RydWN0b3IoRWxlbWVudD8gdGFyZ2V0KQor
ICAgIENvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb24sCisgICAgQ29uc3RydWN0b3JDYWxsV2l0
aD1TY3JpcHRTdGF0ZSwKKyAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0YXJnZXQsIG9iamVjdD8g
a2V5ZnJhbWVzKQogXSBpbnRlcmZhY2UgS2V5ZnJhbWVFZmZlY3QgOiBBbmltYXRpb25FZmZlY3Qg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyB0YXJnZXQ7CisgICAgW01heVRocm93
RXhjZXB0aW9uLCBDYWxsV2l0aD1TY3JpcHRTdGF0ZV0gdm9pZCBzZXRLZXlmcmFtZXMob2JqZWN0
PyBrZXlmcmFtZXMpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9X
ZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5j
cHAKaW5kZXggYWVjOTc5ZTQwMzJjMjExMGEyMTZlM2QxMDI4MDQ2NTc0NGFmMTUwMC4uMGFmYmVm
NTAyZGRkYmY3Y2ZmZTBhOWNhNjU2ZTNmZTNkMzJhZmZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTIzNyw2ICsyMzcsMTIgQEAgU2Vjb25kcyBXZWJB
bmltYXRpb246OnRpbWVUb05leHRSZXF1aXJlZFRpY2soU2Vjb25kcyB0aW1lbGluZVRpbWUpIGNv
bnN0CiAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiB9CiAKK3ZvaWQgV2ViQW5pbWF0
aW9uOjpyZXNvbHZlKFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSkKK3sKKyAgICBpZiAobV9lZmZl
Y3QgJiYgY3VycmVudFRpbWUoKSkKKyAgICAgICAgbV9lZmZlY3QtPmFwcGx5QXRMb2NhbFRpbWUo
Y3VycmVudFRpbWUoKS52YWx1ZSgpLCB0YXJnZXRTdHlsZSk7Cit9CisKIFN0cmluZyBXZWJBbmlt
YXRpb246OmRlc2NyaXB0aW9uKCkKIHsKICAgICByZXR1cm4gIkFuaW1hdGlvbiI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKaW5kZXggYjRiNTI0NjFhODMxNmFhOWViZWRk
OWMxMGM1ZDkxMGUwMzJhYzFmNC4uMGViMjM2ZjU2Y2JiMDIyNGM4NjQ3OWU1NGVmODU2NjUxZDA1
YjAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaApAQCAtMzgsNiAr
MzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBbmltYXRpb25FZmZlY3Q7CiBjbGFz
cyBBbmltYXRpb25UaW1lbGluZTsKIGNsYXNzIERvY3VtZW50OworY2xhc3MgUmVuZGVyU3R5bGU7
CiAKIGNsYXNzIFdlYkFuaW1hdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1h
dGlvbj4gewogcHVibGljOgpAQCAtNjMsNiArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQ
bGF5YmFja1JhdGUoZG91YmxlKTsKIAogICAgIFNlY29uZHMgdGltZVRvTmV4dFJlcXVpcmVkVGlj
ayhTZWNvbmRzKSBjb25zdDsKKyAgICB2b2lkIHJlc29sdmUoUmVuZGVyU3R5bGUmKTsKIAogICAg
IFN0cmluZyBkZXNjcmlwdGlvbigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9JRExUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvSURMVHlwZXMuaAppbmRl
eCA2YjdiYjIyMTFjZWViMzVkNzliMGU5ZjBiYzIyMjEwMTE5MDFjMjU1Li40Y2I1ZTI1MmUyYzZj
NDUyNDM5ZjNlYzE4ZWQzNTIxZDg3M2UwMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9JRExUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL0lETFR5cGVz
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlN0cmluZ0FkYXB0b3JzLmgiCiAjaW5j
bHVkZSA8aGVhcC9IYW5kbGVUeXBlcy5oPgorI2luY2x1ZGUgPGhlYXAvU3Ryb25nLmg+CiAjaW5j
bHVkZSA8d3RmL0JyaWdhbmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTE1MCw3ICsxNTEsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgSURMUmVxdWlyZXNFeGlzdGluZ0F0b21pY1N0cmluZ0FkYXB0b3IgOiBJRExT
dHJpbmc8QQogc3RydWN0IElETE9iamVjdCA6IElETFR5cGU8SlNDOjpTdHJvbmc8SlNDOjpKU09i
amVjdD4+IHsKICAgICB1c2luZyBOdWxsYWJsZVR5cGUgPSBKU0M6OlN0cm9uZzxKU0M6OkpTT2Jq
ZWN0PjsKIAotICAgIHN0YXRpYyBpbmxpbmUgc3RkOjpudWxscHRyX3QgbnVsbFZhbHVlKCkgeyBy
ZXR1cm4gbnVsbHB0cjsgfQorICAgIHN0YXRpYyBpbmxpbmUgTnVsbGFibGVUeXBlIG51bGxWYWx1
ZSgpIHsgcmV0dXJuIHsgfTsgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHN0YXRpYyBpbmxp
bmUgYm9vbCBpc051bGxWYWx1ZShVJiYgdmFsdWUpIHsgcmV0dXJuICF2YWx1ZTsgfQogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFU+IHN0YXRpYyBpbmxpbmUgVSYmIGV4dHJhY3RWYWx1ZUZyb21OdWxs
YWJsZShVJiYgdmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zm9yd2FyZDxVPih2YWx1ZSk7IH0KIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IDZiNDY3NGM3ZmY5OWYwYmEzMzI0NzFiYTRhNjEzYTU4Y2Ux
ODRkNmYuLmQ4OTc1YmNlOWE5MzFiYWQ5MzZiNWFmMDBhMGVkMjMwODgyMzhhMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC0xMzc3LDYgKzEzNzcsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRDb25zb2xlTWVzc2FnZUxpc3RlbmVyKFJlZlB0cjxTdHJpbmdDYWxsYmFj
az4mJik7IC8vIEZvciB0ZXN0aW5nLgogCiAgICAgRG9jdW1lbnRUaW1lbGluZSYgdGltZWxpbmUo
KTsKKyAgICBEb2N1bWVudFRpbWVsaW5lKiBleGlzdGluZ1RpbWVsaW5lKCkgY29uc3QgeyByZXR1
cm4gbV90aW1lbGluZS5nZXQoKTsgfQogICAgIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4g
Z2V0QW5pbWF0aW9ucygpOwogICAgICAgICAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDFhZjQ0MTk2NzQyYmE4ZjU4MjYwZjAzMzkxZmUw
ZmNhNjU1N2ViM2MuLjBhZmNmNWIzZDNmYjVjMzA5YjkxY2Y3MzVhOTFkYWEwZTgwNjEzYjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTM3MDQsNyArMzcwNCw5IEBAIEVsZW1lbnQqIEVsZW1l
bnQ6OmZpbmRBbmNob3JFbGVtZW50Rm9yTGluayhTdHJpbmcmIG91dEFuY2hvck5hbWUpCiBWZWN0
b3I8UmVmUHRyPFdlYkFuaW1hdGlvbj4+IEVsZW1lbnQ6OmdldEFuaW1hdGlvbnMoKQogewogICAg
IC8vIEZJWE1FOiBGaWx0ZXIgYW5kIG9yZGVyIHRoZSBsaXN0IGFzIHNwZWNpZmllZCAod2Via2l0
Lm9yZy9iLzE3OTUzNSkuCi0gICAgcmV0dXJuIGRvY3VtZW50KCkudGltZWxpbmUoKS5hbmltYXRp
b25zRm9yRWxlbWVudCgqdGhpcyk7CisgICAgaWYgKGF1dG8gdGltZWxpbmUgPSBkb2N1bWVudCgp
LmV4aXN0aW5nVGltZWxpbmUoKSkKKyAgICAgICAgcmV0dXJuIHRpbWVsaW5lLT5hbmltYXRpb25z
Rm9yRWxlbWVudCgqdGhpcyk7CisgICAgcmV0dXJuIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9u
Pj4geyB9OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5kZXggMjEzNDY3YzRmOWNkM2JjNGVkZGIxNTIwNjFk
N2JmYWVkNWQyYmYxZS4uZDMzOGY2YzQ5MTBkNGUwOWJmMGFkNWE3MTM2NjZiMGQ4NjdhOWZjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNvbXBvc2Vk
VHJlZUFuY2VzdG9ySXRlcmF0b3IuaCIKICNpbmNsdWRlICJDb21wb3NlZFRyZWVJdGVyYXRvci5o
IgorI2luY2x1ZGUgIkRvY3VtZW50VGltZWxpbmUuaCIKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0
b3IuaCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWV0ZXJF
bGVtZW50LmgiCkBAIC0yNzQsOSArMjc1LDIwIEBAIGNvbnN0IFJlbmRlclN0eWxlKiBUcmVlUmVz
b2x2ZXI6OnBhcmVudEJveFN0eWxlKCkgY29uc3QKIAogRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2
ZXI6OmNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5
bGU+IG5ld1N0eWxlLCBFbGVtZW50JiBlbGVtZW50LCBDaGFuZ2UgcGFyZW50Q2hhbmdlKQogewor
ICAgIGF1dG8qIG9sZFN0eWxlID0gcmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZShlbGVtZW50
KTsKKworICAgIGlmIChhdXRvIHRpbWVsaW5lID0gZWxlbWVudC5kb2N1bWVudCgpLmV4aXN0aW5n
VGltZWxpbmUoKSkgeworICAgICAgICBhdXRvIHdlYkFuaW1hdGlvbnMgPSB0aW1lbGluZS0+YW5p
bWF0aW9uc0ZvckVsZW1lbnQoZWxlbWVudCk7CisgICAgICAgIGlmICghd2ViQW5pbWF0aW9ucy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gYW5p
bWF0ZWRTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZVB0cigqbmV3U3R5bGUpOworICAgICAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiBhbmltYXRpb24gOiB3ZWJBbmltYXRpb25zKQorICAgICAgICAg
ICAgICAgIGFuaW1hdGlvbi0+cmVzb2x2ZSgqYW5pbWF0ZWRTdHlsZSk7CisgICAgICAgICAgICBu
ZXdTdHlsZSA9IFdURk1vdmUoYW5pbWF0ZWRTdHlsZSk7CisgICAgICAgIH0KKyAgICB9CisKICAg
ICBhdXRvJiBhbmltYXRpb25Db250cm9sbGVyID0gbV9kb2N1bWVudC5mcmFtZSgpLT5hbmltYXRp
b24oKTsKIAotICAgIGF1dG8qIG9sZFN0eWxlID0gcmVuZGVyT3JEaXNwbGF5Q29udGVudHNTdHls
ZShlbGVtZW50KTsKICAgICBhdXRvIGFuaW1hdGlvblVwZGF0ZSA9IGFuaW1hdGlvbkNvbnRyb2xs
ZXIudXBkYXRlQW5pbWF0aW9ucyhlbGVtZW50LCAqbmV3U3R5bGUsIG9sZFN0eWxlKTsKIAogICAg
IGlmIChhbmltYXRpb25VcGRhdGUuc3R5bGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDk5NmMxOTgyMzBjZDA2NDdkYTE5
NzM0NDM4N2RkZTg4ZWI5ZjIxMS4uNTNkODYzYjEzYjkxZjhlODhmMTllYTdlYzMxMzZkMDI2NGNi
NzAwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTExLTE0ICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBJbXBsZW1lbnQg
YmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0OTMyNDU2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBleGlzdGluZyB0ZXN0cyB0byBleHBsaWNpdGx5IHBhc3MgbnVsbCBmb3Iga2V5ZnJhbWVzIGFu
ZCB1cGRhdGUgV1BUIGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
S2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5
ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dw
dC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlv
bi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5p
bWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbDoKKyAgICAgICAg
KiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0
aW9uLWJhc2ljLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sOgorICAg
ICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
aW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3drLXdl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRtbDoK
KwogMjAxNy0xMS0xNCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAg
U3R1YiBpbXBsZW1lbnRhdGlvbnMgb2YgT2Zmc2NyZWVuQ2FudmFzIGdldENvbnRleHQgYW5kIHRy
YW5zZmVyVG9JbWFnZUJpdG1hcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1lbGlu
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dApp
bmRleCBmMThkZmFiYjdjYmMyNzJmOGI4ZDkzZDhhNTc5OGRhNjgyMzhlNTEzLi5hNmI1YWFkNzhh
NDliMjljNmQ3ZDM3NDNhM2MyNGIyZTNkM2FhODg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3Vt
ZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5l
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBkb2N1bWVudC50aW1lbGluZSBp
ZGVudGl0eSB0ZXN0cyAKLUZBSUwgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgdmFsdWUg
dGVzdHMgYXNzZXJ0X2VxdWFsczogZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgbWF0Y2hl
cyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgdGltZSBleHBlY3RlZCA1NTIuMzAwMDAwMDAwMDAwMSBi
dXQgZ290IDAuNTUzODAwMDAwMDAwMDAwMQotUEFTUyBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50
VGltZSBsaXZlbmVzcyB0ZXN0cyAKLVBBU1MgaWZyYW1lIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJl
bnRUaW1lIGxpdmVuZXNzIHRlc3RzIAorRkFJTCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSB2YWx1ZSB0ZXN0cyBhc3NlcnRfZXF1YWxzOiBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBtYXRjaGVzIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0aW1lIGV4cGVjdGVkIDkzNS4zMDAwMDAw
MDAwMDAxIGJ1dCBnb3QgMC4zNTcwMDAwMDAwMDAwMDAwNAorRkFJTCBkb2N1bWVudC50aW1lbGlu
ZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyBhc3NlcnRfZ3JlYXRlcl90aGFuOiBkb2N1bWVu
dC50aW1lbGluZS5jdXJyZW50VGltZSBpbmNyZWFzZXMgYmV0d2VlbiBzY3JpcHQgYmxvY2tzIGV4
cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwLjM1NzAwMDAwMDAwMDAwMDA0IGJ1dCBnb3Qg
MC4zNTcwMDAwMDAwMDAwMDAwNAorRkFJTCBpZnJhbWUgZG9jdW1lbnQudGltZWxpbmUuY3VycmVu
dFRpbWUgbGl2ZW5lc3MgdGVzdHMgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogaWZyYW1lIGRvY3VtZW50
LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVuIHNjcmlwdCBibG9ja3MgZXhw
ZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAuMDI4MzAwMDAwMDAwMDAwMDAyIGJ1dCBnb3Qg
MC4wMjgzMDAwMDAwMDAwMDAwMDIKIFBBU1MgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUg
dGltZSBzaG91bGQgYmUgdGhlIHNhbWUgZm9yIGFsbCBSQUYgY2FsbGJhY2tzIGluIGEgZnJhbWUg
Ci0KKyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0w
MDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAw
MS1leHBlY3RlZC50eHQKaW5kZXggZDEzZTU0NGVlNzc2ZWIwY2ZlMDcxOTJmYmY2YzZhZjg2OWE3
MzA4MC4uYzBiYjc3MjRmMWZmZDVlZTIzOGJlNzJiYjkzMTgyZjI4OTFmZmUwMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFt
ZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlm
cmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50
eHQKQEAgLTU1LDUgKzU1LDUgQEAgRkFJTCBPbmx5IGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBr
ZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QKIEZBSUwgT25seSBw
cm9wZXJ0aWVzIGRlZmluZWQgZGlyZWN0bHkgb24ga2V5ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5n
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygp
JywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKIEZBSUwgT25seSBlbnVtZXJh
YmxlIHByb3BlcnRpZXMgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQgZWZm
ZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJh
bWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQogRkFJTCBPbmx5IHBy
b3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBh
cmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIFByb3BlcnRpZXMgYXJlIHJlYWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IFVuaWNvZGUgY29k
ZXBvaW50IGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IGFjY2VzcyBvcmRlciBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgMAorRkFJTCBQcm9wZXJ0aWVzIGFyZSByZWFkIGluIGFz
Y2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBw
cm9wZXJ0eSBhY2Nlc3Mgb3JkZXIgcHJvcGVydHkgMCwgZXhwZWN0ZWQgImNvbXBvc2l0ZSIgYnV0
IGdvdCAibWFyZ2luTGVmdCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9L
ZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IDBiMzY3OTJmMTgz
NzZiOWRhZTI2MTdlN2E1ODBjYmEzMjMxMTFkNWIuLmIxNWU2NmEwMDkzMzc5NDBkOGRmODkyOThj
NWZjNjM2Y2IzOGQ1ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tl
eWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNDkgKzEsNTUgQEAK
IAotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKGZyYW1lKScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUg
cHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJh
bWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5p
bnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1
ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBh
bmQgb25lIG9mIGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
JywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiB3aXRoIGFuIGludmFsaWQgdmFsdWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZm
ZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJh
bWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBr
ZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtl
eWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEg
c2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
cHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiB3aGVyZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBlZmZlY3Quc2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1
dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBp
bnZhbGlkIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0
S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3Vi
dGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIGtleWZyYW1l
IHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBz
aG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFt
ZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0Lmlu
cHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9u
ZSBvZiBpdHMgY29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggZHVwbGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBk
dXBsaWNhdGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgZWZmZWN0LnNldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQp
JywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2Ug
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggc3RyaW5nIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9t
aXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBv
bmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJh
bWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1
dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBhbGwgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1
dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVy
ZW50IGNvbXBvc2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9yIGEg
Z2l2ZW4gb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkg
aXRzIHZhbHVlcyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycg
aXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NT
IHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9y
dGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRo
YW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdoZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBlZmZl
Y3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQot
RkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJh
bWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qg
a2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZl
Y3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlz
IHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHBy
b3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZy
b20gdGhlIGxhc3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEg
d2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQg
a2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hvcnRoYW5kIGFu
ZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJh
bWVzIHNwZWNpZmljYXRpb24gd2l0aCBkaWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgVHlwZSBl
cnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRl
eGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYW4gaW52YWxpZCB2YWx1ZSBUeXBlIGVy
cm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0
d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB0aGF0IG5l
ZWRzIHRvIHN0cmluZ2lmeSBpdHMgdmFsdWVzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBUeXBlIGVycm9yCitGQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQg
cHJvcGVydHkgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBvbmUgcHJvcGVydHkgb25lIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBvbmUgcHJvcGVydHkgb25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5
IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdoZXJl
IHRoZSBzZWNvbmQgdmFsdWUgaXMgaW52YWxpZCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUga2V5ZnJhbWUgc2VxdWVuY2Ug
VHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJv
cGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
dHdvIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVj
dC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1l
cygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFuZCBhbmQgb25l
IG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0
LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
KCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGR1cGxpY2F0ZSB2
YWx1ZXMgZm9yIGEgZ2l2ZW4gaW50ZXJpb3Igb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJh
bWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNh
dGUgdmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBzZXF1ZW5j
ZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmds
ZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIG9taXR0ZWQgb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggbnVsbCBvZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0IFR5
cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3Bl
cnR5IGtleWZyYW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYWxsIG9taXR0ZWQgb2Zmc2V0cyBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2
YWx1ZXMsIGJ1dCB0aGUgc2FtZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IFR5cGUg
ZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBv
c2l0ZSB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNl
IHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBl
ZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlm
cmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1Mg
dmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgc2hvcnRoYW5kIHByZWNlZGVz
IGxvbmdoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ug
d2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBn
cmVhdGVyIHNob3J0aGFuZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNl
cXVlbmNlIHdoZXJlIGdyZWF0ZXIgc2hvcnRoYW5kIHByZWNlZGVzIGxlc3NlciBzaG9ydGhhbmQg
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUg
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgbGFzdCBrZXlmcmFtZSBl
ZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlm
cmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggcmVwZWF0
ZWQgdmFsdWVzIGF0IG9mZnNldCAxIHdpdGggZGlmZmVyZW50IGVhc2luZ3MgVHlwZSBlcnJvcgog
UEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0
aCBhbiBvdXQtb2YtYm91bmRlZCBwb3NpdGl2ZSBvZmZzZXQgCiBQQVNTIEtleWZyYW1lRWZmZWN0
IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVk
IG5lZ2F0aXZlIG9mZnNldCAKLVBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dz
IHdpdGgga2V5ZnJhbWVzIG5vdCBsb29zZWx5IHNvcnRlZCBieSBvZmZzZXQgCitGQUlMIEtleWZy
YW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyBub3QgbG9vc2VseSBz
b3J0ZWQgYnkgb2Zmc2V0IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Cisg
ICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpOworICAgIH0iIGRpZCBub3Qg
dGhyb3cKIFBBU1MgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggcHJvcGVy
dHktaW5kZXhlZCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKLVBBU1Mg
S2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIAotUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25z
dHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNvbXBvc2l0ZSB2
YWx1ZSAKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVlIGFzc2VydF90aHJvd3M6
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgICBlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRl
c3QuaW5wdXQpOworICAgIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgS2V5ZnJhbWVFZmZlY3QgY29u
c3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUg
dmFsdWUgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIGVmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSIgZGlkIG5vdCB0aHJvdwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CmluZGV4IGI2ZjVl
YWViNjE2MTE0YzIzMTI4YTUzMDY0MWZiODhkNDkwZDJjZTcuLmE2OGU2NjQ1ZjA5YTIyODQ5NWUz
ZmE0YzBlOGZjOGQxOTUwZGIwMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
Yi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0
YXJ0LXRpbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRp
bWUtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFNldHRpbmcgdGhlIHN0YXJ0
IHRpbWUgb2YgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGFzc2VydF9l
cXVhbHM6IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVudCB0aW1l
IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5Ljg5NgotRkFJTCBT
ZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGltZSBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBh
Y3RpdmUgdGltZWxpbmUgZG9lcyBub3QgY2xlYXIgdGhlIGN1cnJlbnQgdGltZSBhc3NlcnRfZXF1
YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0aW5nIGN1cnJlbnQgdGltZSBl
eHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51bWJlcikgLTk5OS44OTYKK0ZBSUwgU2V0
dGluZyB0aGUgc3RhcnQgdGltZSBvZiBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGlt
ZWxpbmUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIgc2V0dGlu
ZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290IChudW1iZXIpIC05
OTkuNjk0OQorRkFJTCBTZXR0aW5nIGFuIHVucmVzb2x2ZWQgc3RhcnQgdGltZSBhbiBhbmltYXRp
b24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUgZG9lcyBub3QgY2xlYXIgdGhlIGN1cnJlbnQg
dGltZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRlciBzZXR0aW5n
IGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51bWJlcikgLTk5
OS42OTQ5CiBGQUlMIFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgY2xlYXJzIHRoZSBob2xkIHRpbWUg
YXNzZXJ0X2VxdWFsczogQW5pbWF0aW9uIHJlcG9ydHMgaXQgaXMgcnVubmluZyBhZnRlciBzZXR0
aW5nIGEgcmVzb2x2ZWQgc3RhcnQgdGltZSBleHBlY3RlZCAoc3RyaW5nKSAicnVubmluZyIgYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKIEZBSUwgU2V0dGluZyBhbiB1bnJlc29sdmVkIHN0
YXJ0IHRpbWUgc2V0cyB0aGUgaG9sZCB0aW1lIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJp
bmcpICJydW5uaW5nIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBTZXR0aW5n
IHRoZSBzdGFydCB0aW1lIHJlc29sdmVzIGEgcGVuZGluZyByZWFkeSBwcm9taXNlIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdhbmltYXRpb24ucmVhZHkudGhlbicpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dr
LXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sCmlu
ZGV4IGI1ZDNlNmRkNTNjNTdhMmQ4MmVjMmY1NzRiMTI5ZjlhMzQwYzAwYzIuLjRjMDFkZGQ4NjEx
ZmFiNWZhMmVkYjExOTI2ZTk5NzZlZmMzNzJjOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9u
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sCkBAIC0xMyw5ICsxMyw5IEBAIGxldCBh
LCBiLCBjOwogY29uc3QgdGFyZ2V0QSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKIGNv
bnN0IHRhcmdldEIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIik7CiAKLWNvbnN0IGVmZmVj
dEFhID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEEpOwotY29uc3QgZWZmZWN0QWIgPSBuZXcg
S2V5ZnJhbWVFZmZlY3QodGFyZ2V0QSk7Ci1jb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1lRWZm
ZWN0KHRhcmdldEIpOworY29uc3QgZWZmZWN0QWEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0
QSwgbnVsbCk7Citjb25zdCBlZmZlY3RBYiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRBLCBu
dWxsKTsKK2NvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0QiwgbnVsbCk7
CiAKIHRlc3QodCA9PiB7CiAgICAgYXNzZXJ0X3RydWUodHlwZW9mIHRhcmdldEEuZ2V0QW5pbWF0
aW9ucyA9PT0gImZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKaW5kZXggNTVmNWVhMGM3ZjNiZTg4OTYxOWJi
YzgxYjMwMjk5ZTM5MTU5ZjE3OC4uZWY3YTQ1ZDkzOTRlMmIzOTZlODEzOGVhNjRmNjA0NDY1Njkw
YjZmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3Jl
YXRpb24tYmFzaWMuaHRtbApAQCAtMzMsNyArMzMsNyBAQCB0ZXN0KHQgPT4gewogfSwgIkNyZWF0
aW5nIEFuaW1hdGlvbiB3aXRoIGEgbnVsbCBhcmd1bWVudCBzaG91bGQgaGF2ZSBhIG51bGwgZWZm
ZWN0IGFuZCB0aGUgZG9jdW1lbnQgdGltZWxpbmUuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29u
c3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0
IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBj
b25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uKGVmZmVjdCk7CiAgICAgYXNzZXJ0X2VxdWFs
cyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3QpOwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9u
LnRpbWVsaW5lLCBkb2N1bWVudC50aW1lbGluZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdC11
bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlw
Lmh0bWwKaW5kZXggZWI1NzE0MDBmNzA5OTFjYTM2YmUyOTUwYTQ1ZWZkN2QyYTA4MmFjZi4uZWIx
MDQ2MzcwNGU0MTRiNWI3Y2MyYTliZmZmOTdhZWNiZDU5Y2UyOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1l
ZmZlY3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1y
ZWxhdGlvbnNoaXAuaHRtbApAQCAtOSw4ICs5LDggQEAKICd1c2Ugc3RyaWN0JzsKIAogdGVzdCh0
ID0+IHsKLSAgICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1lRWZm
ZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKKyAgICBjb25zdCBlZmZlY3RBID0g
bmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCBudWxsKTsK
KyAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpLCBudWxsKTsKIAogICAgIGNvbnN0IGEgPSBuZXcgQW5pbWF0aW9uKGVmZmVj
dEEpOwogICAgIGNvbnN0IGIgPSBuZXcgQW5pbWF0aW9uKGVmZmVjdEIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWludGVyZmFjZS1lZmZl
Y3QtcHJvcGVydHkuaHRtbAppbmRleCBkNGEzODczYTAwOTdiZGFhZTkzYTMwOGQwZWYzNTcxYjhk
MDE1YjMyLi40OThjOTExOTAzMmQ0ODZjYjJjNjdkZWQyYmNlNzJkYjY2MjNiN2ZkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwv
YW5pbWF0aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWludGVy
ZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbApAQCAtMTcsMjQgKzE3LDI0IEBAIHRlc3QodCA9PiB7
CiAKIHRlc3QodCA9PiB7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbjsKLSAg
ICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAg
Y29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwog
ICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3Q7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRp
b24uZWZmZWN0LCBlZmZlY3QpOwogfSwgIlRoZSBhbmltYXRpb24uZWZmZWN0IHByb3BlcnR5IGNh
biBiZSBzZXQgdG8gYSBLZXlmcmFtZUVmZmVjdCBvYmplY3QuIik7CiAKIHRlc3QodCA9PiB7CiAg
ICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbjsKLSAgICBjb25zdCBlZmZlY3RBID0g
bmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdEEgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYW5pbWF0aW9uLmVm
ZmVjdCA9IGVmZmVjdEE7CiAgICAgYXNzZXJ0X2VxdWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZl
Y3RBKTsKLSAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJv
ZHkpOworICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9k
eSwgbnVsbCk7CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdEI7CiAgICAgYXNzZXJ0X2Vx
dWFscyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3RCKTsKIH0sICJUaGUgYW5pbWF0aW9uLmVmZmVj
dCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGFub3RoZXIgS2V5ZnJhbWVFZmZlY3Qgb2JqZWN0LiIp
OwogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb247Ci0g
ICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOworICAg
IGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsK
ICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0OwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0
aW9uLmVmZmVjdCwgZWZmZWN0KTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gbnVsbDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2Rl
bC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQK
aW5kZXggYzZjY2Q5ZWJiYWRhYmUzZjljZmFmMGM4YjRjYmM4OTE3NjZmNjVkMi4uYzdjYWEzMDdj
MGUwMDNmNWU1YzI0M2E4MmNlODUxODkyMWJkNWQyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBA
CiAKIFBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBpcyBkZWZpbmVkLiAKLVBBU1Mg
VGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3QgYmUgY29uc3RydWN0ZWQgd2l0aG91
dCBwYXJhbWV0ZXJzLiAKLVBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjb25zdHJ1
Y3RvciB0aHJvd3MgaWYgdGhlIHBhcmFtZXRlciBoYXMgdGhlIHdyb25nIHR5cGUuIAorUEFTUyBU
aGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3aXRob3V0
IGVub3VnaCBwYXJhbWV0ZXJzLiAKK1BBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBj
b25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIGZpcnN0IHBhcmFtZXRlciBoYXMgdGhlIHdyb25nIHR5
cGUuIAogUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIHRhcmdldCBpcyBzZXQgdG8g
dGhlIHByb3ZpZGVkIEVsZW1lbnQuIAogUEFTUyBBIEtleWZyYW1lRWZmZWN0IG9iamVjdCB0YXJn
ZXQgaXMgcmVhZC1vbmx5LiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGlt
aW5nLWR1cmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVyZmFjZS10aW1pbmctZHVyYXRpb24u
aHRtbAppbmRleCA4OGI2ODQ1MmM2NzFiNDhlZDBjODA1NzdkOGQ1YTI0M2YxZWY5MGZkLi4zMmI2
YTEyMDcwMmFjNWYwMDQ5MjI2MDc5NGQ2M2RiODBiNzM4Y2IwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZm
ZWN0LWludGVyZmFjZS10aW1pbmctZHVyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVy
ZmFjZS10aW1pbmctZHVyYXRpb24uaHRtbApAQCAtMTEsMTQgKzExLDE0IEBACiBpbnRlcm5hbHMu
cGF1c2VUaW1lbGluZShkb2N1bWVudC50aW1lbGluZSk7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29u
c3Qga2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7Cisg
ICAgY29uc3Qga2V5ZnJhbWVFZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9k
eSwgbnVsbCk7CiAgICAgYXNzZXJ0X2luaGVyaXRzKGtleWZyYW1lRWZmZWN0LCAidGltaW5nIik7
CiAgICAgYXNzZXJ0X2luaGVyaXRzKGtleWZyYW1lRWZmZWN0LnRpbWluZywgImR1cmF0aW9uIik7
CiAgICAgYXNzZXJ0X2VxdWFscyhrZXlmcmFtZUVmZmVjdC50aW1pbmcuZHVyYXRpb24sIDApOwog
fSwgIkNoZWNrIHRoZSBkZWZhdWx0IHN0YXRlIG9mIHRoZSB0aW1pbmcgYW5kIGR1cmF0aW9uIHBy
b3BlcnRpZXMuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29uc3Qga2V5ZnJhbWVFZmZlY3QgPSBu
ZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3Qga2V5ZnJhbWVFZmZl
Y3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAga2V5ZnJh
bWVFZmZlY3QudGltaW5nLmR1cmF0aW9uID0gMjsKICAgICBhc3NlcnRfZXF1YWxzKGtleWZyYW1l
RWZmZWN0LnRpbWluZy5kdXJhdGlvbiwgMik7CiB9LCAiQ2hlY2sgdGhhdCB3ZSBjYW4gdXBkYXRl
IHRoZSB0aW1pbmcgZHVyYXRpb24uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJh
bWUtZWZmZWN0Lmh0bWwKaW5kZXggY2UwYzZmNzNmOGVkNWUyYWVhZDgzNjg3Zjg5MjlkNmVlN2Ez
OGEyNy4uYTk3NDZiZDJmOGY1NWMzMTFlMzQ0YzI5NDM3ODE0NDFkYWZiMjU4ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tl
eWZyYW1lLWVmZmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRtbApAQCAtMTYsMjIgKzE2LDIz
IEBAIHRlc3QodCA9PiB7CiAKIHRlc3QodCA9PiB7CiAgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QpOwotfSwgIlRoZSBLZXlmcmFtZUVmZmVj
dCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVkIHdpdGhvdXQgcGFyYW1ldGVycy4iKTsK
KyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVj
dChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkpOworfSwgIlRoZSBLZXlmcmFtZUVmZmVj
dCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVkIHdpdGhvdXQgZW5vdWdoIHBhcmFtZXRl
cnMuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAo
KSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoMCkpOwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KHt9KSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoW10pKTsKLSAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChmYWxzZSkpOwot
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0
KCdlbGVtZW50JykpOwotfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0
b3IgdGhyb3dzIGlmIHRoZSBwYXJhbWV0ZXIgaGFzIHRoZSB3cm9uZyB0eXBlLiIpOworICAgIGFz
c2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KDAsIG51
bGwpKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFt
ZUVmZmVjdCh7fSwgbnVsbCkpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkg
PT4gbmV3IEtleWZyYW1lRWZmZWN0KFtdLCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcg
VHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoZmFsc2UsIG51bGwpKTsKKyAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCgnZWxl
bWVudCcsIG51bGwpKTsKK30sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNvbnN0cnVj
dG9yIHRocm93cyBpZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGhhcyB0aGUgd3JvbmcgdHlwZS4iKTsK
IAogdGVzdCh0ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKChuZXcgS2V5ZnJhbWVFZmZlY3QoZG9j
dW1lbnQuYm9keSkpLnRhcmdldCwgZG9jdW1lbnQuYm9keSk7CisgICAgYXNzZXJ0X2VxdWFscygo
bmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpKS50YXJnZXQsIGRvY3VtZW50
LmJvZHkpOwogfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgdGFyZ2V0IGlzIHNldCB0
byB0aGUgcHJvdmlkZWQgRWxlbWVudC4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBlZmZl
Y3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZmZWN0
ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGFzc2VydF9y
ZWFkb25seShlZmZlY3QsICJ0YXJnZXQiKTsKIH0sICJBIEtleWZyYW1lRWZmZWN0IG9iamVjdCB0
YXJnZXQgaXMgcmVhZC1vbmx5LiIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326988</attachid>
            <date>2017-11-15 09:10:18 -0800</date>
            <delta_ts>2017-11-15 09:49:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171115090956.patch</filename>
            <type>text/plain</type>
            <size>50706</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNTYwM2EzYjJjMDBlYjJkYzRiNjA4MmQ4ZTBmNTk1
YWU1ODlmN2MxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogUGFzcyB0aGUga2V5ZnJhbWVzIGFyZ3VtZW50IHRvIHByb2Nlc3NLZXlm
cmFtZXMoKSBhbmQKKyAgICAgICAgZm9yd2FyZCB0aGUgZXhjZXB0aW9uIGluIGNhc2Ugb25lIHdh
cyByYWlzZWQgZHVyaW5nIHByb2Nlc3NpbmcuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVm
ZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyk6IERlYWwgd2l0aCBleGFjdGx5IHR3byBrZXlmcmFtZXMs
IHNldCBhdCAwIGFuZCAxIG9mZnNldHMsCisgICAgICAgIHNwZWNpZmllZCBpbiBhcnJheSBmb3Jt
cyBmb3IgdGhlIGtleWZyYW1lcyBvYmplY3QuIEFzIHdlIHBhcnNlIHRoZSBjb250ZW50IG9mIHRo
ZSBwcm92aWRlZCBKUyBvYmplY3QsCisgICAgICAgIHdlIGNyZWF0ZSBSZW5kZXJTdHlsZSBvYmpl
Y3RzIHVzaW5nIHRoZSBlbGVtZW50J3MgU3R5bGVSZXNvbHZlciBmcm9tIGEgQ1NTIHRleHQgc3Ry
aW5nIHdlIGNyZWF0ZQorICAgICAgICBiYXNlZCBvbiB0aGUgcHJvcGVydHkgYW5kIHZhbHVlcyBh
cyBzdHJpbmdzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmFwcGx5QXRMb2Nh
bFRpbWUpOiBDb21wdXRlIHRoZSBwcm9ncmVzcyBiYXNlZCBvbiB0aGUgbG9jYWwgdGltZSBhbmQg
ZHVyYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBleGlzdGluZyBDU1NQcm9wZXJ0eUFuaW1hdGlv
bjo6YmxlbmRQcm9wZXJ0aWVzKCkgbWVjaGFuaWNzIHRvIHBlcmZvcm0gdGhlIGJsZW5kIGJldHdl
ZW4gdGhlCisgICAgICAgIGZyb20gYW5kIHRvIGtleWZyYW1lcy4KKyAgICAgICAgKiBhbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaDoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
aWRsOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQW5pbWF0aW9uOjpyZXNvbHZlKToKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5p
bWF0aW9uLmg6CisgICAgICAgICogYmluZGluZ3MvSURMVHlwZXMuaDoKKyAgICAgICAgKFdlYkNv
cmU6OklETE9iamVjdDo6bnVsbFZhbHVlKTogTWFrZSBKU0M6OlN0cm9uZyBhbiBvcHRpb25hbCB0
eXBlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmV4aXN0aW5nVGltZWxpbmUgY29uc3QpOiBQcm92aWRlIGFuIGV4cGxpY2l0IG1ldGhvZCBm
b3IgY2FsbCBzaXRlcyB0byBjaGVjayBleGlzdGVuY2UKKyAgICAgICAgb2YgYSB0aW1lbGluZSBi
ZWZvcmUgZm9yY2luZyBvbmUgdG8gYmUgY3JlYXRlZCBpZiBtaXNzaW5nIGJ5IGNhbGxpbmcgdGlt
ZWxpbmUoKS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpnZXRBbmltYXRpb25zKTogRG8gbm90IGZvcmNlIHRoZSBjcmVhdGlvbiBvZiBhIHRp
bWVsaW5lIGlmIG9uZSBpc24ndCBhbHJlYWR5IGNyZWF0ZWQuCisgICAgICAgICogc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZl
cjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKTogV2hlbiBhcHBseWluZyBzdHlsZXMsIGFj
Y291bnQgZm9yIGFueSBXZWIKKyAgICAgICAgQW5pbWF0aW9uIGFwcGxpZWQgdG8gdGhlIHByb3Zp
ZGVkIGVsZW1lbnQuCisKIDIwMTctMTEtMTQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSBjb21tZW50IGluIEZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IHRvIHJlZmxlY3QgbG9jYXRpb24gb2YgVmlzdWFsIFN0dWRpbyBwcm9wZXJ0eSBmaWxlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5oCmluZGV4IGU0NTY0NzliOWNj
MjA0NjkwOTA2MWJmZjExZmRjYjY5ZGI0NGRlZmUuLjEzYTJkYjVlYTllYTk2MWYzMTNkZWI5ODFm
OGEzYmYwNjZiOWU0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25FZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmgKQEAgLTM2LDEwICszNiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFu
aW1hdGlvbkVmZmVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFuaW1hdGlvbkVmZmVjdD4gewogcHVi
bGljOgorICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpID0gZGVmYXVsdDsKKwogICAgIGJv
b2wgaXNLZXlmcmFtZUVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEtleWZy
YW1lRWZmZWN0Q2xhc3M7IH0KICAgICBBbmltYXRpb25FZmZlY3RUaW1pbmcqIHRpbWluZygpIGNv
bnN0IHsgcmV0dXJuIG1fdGltaW5nLmdldCgpOyB9Ci0KLSAgICB2aXJ0dWFsIH5BbmltYXRpb25F
ZmZlY3QoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYXBwbHlBdExvY2FsVGltZShTZWNvbmRzLCBS
ZW5kZXJTdHlsZSYpID0gMDsKIAogICAgIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9hbmltYXRpb24uZ2V0KCk7IH0KICAgICB2b2lkIHNldEFuaW1hdGlvbihSZWZQ
dHI8V2ViQW5pbWF0aW9uPiYmIGFuaW1hdGlvbikgeyBtX2FuaW1hdGlvbiA9IGFuaW1hdGlvbjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaAppbmRleCA3
NGRhNWRiYTE2NjM0Nzg1MzlmOTlmYmFkNzQ5YWM0YTY2YTgwYjUwLi5jN2E2OTMzMzg1MGVkN2Iy
NWU5MThkMmM4MDJjZDliZTZmYmE5OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
QW5pbWF0aW9uVGltZWxpbmUuaApAQCAtNzAsNiArNzAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBl
eHBsaWNpdCBBbmltYXRpb25UaW1lbGluZShDbGFzc1R5cGUpOwogCisgICAgSGFzaE1hcDxSZWZQ
dHI8RWxlbWVudD4sIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4+IGVsZW1lbnRUb0FuaW1h
dGlvbnNNYXAoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRUb0FuaW1hdGlvbnNNYXA7IH0KKwog
cHJpdmF0ZToKICAgICBDbGFzc1R5cGUgbV9jbGFzc1R5cGU7CiAgICAgc3RkOjpvcHRpb25hbDxT
ZWNvbmRzPiBtX2N1cnJlbnRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3Vt
ZW50VGltZWxpbmUuY3BwCmluZGV4IDg1YzExZTBiN2U4ZDJmYjc5ZjdlNDU0NjZhZjhmMjBlNTBk
OTFhNGMuLmIwZmQ2ZDdkZGE2YTgxZmEwOTVkZGRmMjViOWQ0MzZjZTkyYjBhNGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTE1NCwxMSAr
MTU0LDE3IEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZTo6ZGlzcGxheVJlZnJlc2hGaXJlZCgpCiB2
b2lkIERvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJlc29sdXRpb25UaW1lckZpcmVkKCkKICNl
bmRpZgogewotICAgIHJlc29sdmVBbmltYXRpb25zKCk7CisgICAgdXBkYXRlQW5pbWF0aW9ucygp
OwogfQogCi12b2lkIERvY3VtZW50VGltZWxpbmU6OnJlc29sdmVBbmltYXRpb25zKCkKK3ZvaWQg
RG9jdW1lbnRUaW1lbGluZTo6dXBkYXRlQW5pbWF0aW9ucygpCiB7CisgICAgaWYgKG1fZG9jdW1l
bnQgJiYgIWVsZW1lbnRUb0FuaW1hdGlvbnNNYXAoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBlbGVtZW50VG9BbmltYXRpb25zTWFwSXRlbSA6IGVsZW1lbnRUb0FuaW1h
dGlvbnNNYXAoKSkKKyAgICAgICAgICAgIGVsZW1lbnRUb0FuaW1hdGlvbnNNYXBJdGVtLmtleS0+
aW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOworICAgICAgICBtX2RvY3VtZW50
LT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgfQorCiAgICAgLy8gVGltZSBoYXMgYWR2YW5j
ZWQsIHRoZSB0aW1pbmcgbW9kZWwgcmVxdWlyZXMgaW52YWxpZGF0aW9uIG5vdy4KICAgICBhbmlt
YXRpb25UaW1pbmdNb2RlbERpZENoYW5nZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmgKaW5kZXggNmYzZGYxYTBiMjlmMWVmODRhZDg3N2E5NjZlMWIx
M2QzYzRiYWM0OS4uMzAwNjBmNjM0OTQwMGI4Yjk3YjQxYzJlMjNkMmJlZGRhOTIzMTI2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCkBAIC02Miw3ICs2
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVBbmltYXRpb25TY2hlZHVsZSgpOwogICAg
IHZvaWQgYW5pbWF0aW9uU2NoZWR1bGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFu
aW1hdGlvblJlc29sdXRpb24oKTsKLSAgICB2b2lkIHJlc29sdmVBbmltYXRpb25zKCk7CisgICAg
dm9pZCB1cGRhdGVBbmltYXRpb25zKCk7CiAKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1l
bnQ7CiAgICAgYm9vbCBtX3BhdXNlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmNwcAppbmRleCBjYjdiYjIyNDFjNDM4ODQ4OGVmNDU0NWYzODRl
ZWRhNDUzNmE1MWE2Li4xNTUxM2I2ZTBmZmZmZGM1Y2RmNzcyZWFmNjQ4ODdjMTc0ZWRhNjVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTI2LDEz
ICsyNiwyNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0
LmgiCiAKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGll
cy5oIgorI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewor
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotUmVmPEtleWZyYW1lRWZmZWN0PiBLZXlmcmFtZUVmZmVj
dDo6Y3JlYXRlKEVsZW1lbnQqIHRhcmdldCkKK0V4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVj
dD4+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVudCogdGFy
Z2V0LCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzKQogewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCkpOworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRS
ZWYoKm5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQpKTsKKworICAgIGF1dG8gc2V0S2V5ZnJhbWVz
UmVzdWx0ID0gcmVzdWx0LT5zZXRLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzKSk7
CisgICAgaWYgKHNldEtleWZyYW1lc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIHNldEtleWZyYW1lc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICByZXR1cm4g
V1RGTW92ZShyZXN1bHQpOwogfQogCiBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxl
bWVudCogdGFyZ2V0KQpAQCAtNDEsNCArNTIsOTMgQEAgS2V5ZnJhbWVFZmZlY3Q6OktleWZyYW1l
RWZmZWN0KEVsZW1lbnQqIHRhcmdldCkKIHsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJh
bWVFZmZlY3Q6OnNldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+
JiYga2V5ZnJhbWVzKQoreworICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lc1Jlc3VsdCA9IHByb2Nl
c3NLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzKSk7CisgICAgaWYgKHByb2Nlc3NL
ZXlmcmFtZXNSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBwcm9jZXNzS2V5
ZnJhbWVzUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICByZXR1cm4geyB9OworfQorCitF
eGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3Rh
dGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzKQoreworICAgIC8vIEZJWE1F
OiBXZSBvbmx5IGhhdmUgcHJpbWl0aXZlIHRvLWZyb20gcGFyc2luZywgZm9yIGZ1bGwgc3VwcG9y
dCBzZWUgd2Via2l0Lm9yZy9iLzE3OTcwOC4KKyAgICAvLyBGdWxsIHNwZWNpZmljYXRpb24gaXMg
YXQgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNwcm9jZXNzaW5nLWEta2V5
ZnJhbWVzLWFyZ3VtZW50LgorCisgICAgaWYgKCFtX3RhcmdldCB8fCAha2V5ZnJhbWVzKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgaWYgKCFpc0pTQXJyYXkoa2V5ZnJhbWVzLmdldCgpKSkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworCisgICAgVmVjdG9yPEtl
eWZyYW1lPiBuZXdLZXlmcmFtZXMgeyB9OworCisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVzb2x2ZXIoKTsKKyAgICBhdXRv
IHBhcnNlckNvbnRleHQgPSBDU1NQYXJzZXJDb250ZXh0KEhUTUxTdGFuZGFyZE1vZGUpOworCisg
ICAgY29uc3QgYXV0byogYXJyYXkgPSBqc0Nhc3Q8Y29uc3QgSlNBcnJheSo+KGtleWZyYW1lcy5n
ZXQoKSk7CisgICAgYXV0byBsZW5ndGggPSBhcnJheS0+bGVuZ3RoKCk7CisgICAgaWYgKGxlbmd0
aCAhPSAyKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CisKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgY29uc3QgSlNW
YWx1ZSB2YWx1ZSA9IGFycmF5LT5nZXRJbmRleCgmc3RhdGUsIGkpOworICAgICAgICBpZiAoc2Nv
cGUuZXhjZXB0aW9uKCkgfHwgIXZhbHVlIHx8ICF2YWx1ZS5pc09iamVjdCgpKQorICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworICAgICAgICBKU09iamVjdCoga2V5
ZnJhbWUgPSB2YWx1ZS50b09iamVjdCgmc3RhdGUpOworICAgICAgICBQcm9wZXJ0eU5hbWVBcnJh
eSBvd25Qcm9wZXJ0eU5hbWVzKCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5ncywgUHJpdmF0
ZVN5bWJvbE1vZGU6OkV4Y2x1ZGUpOworICAgICAgICBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlO
YW1lcyhrZXlmcmFtZSwgJnN0YXRlLCBvd25Qcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUo
KSk7CisgICAgICAgIHNpemVfdCBudW1iZXJPZlByb3BlcnRpZXMgPSBvd25Qcm9wZXJ0eU5hbWVz
LnNpemUoKTsKKworICAgICAgICBTdHJpbmdCdWlsZGVyIGNzc1RleHQ7CisgICAgICAgIGZvciAo
dW5zaWduZWQgaiA9IDA7IGogPCBudW1iZXJPZlByb3BlcnRpZXM7ICsraikgeworICAgICAgICAg
ICAgY3NzVGV4dC5hcHBlbmQob3duUHJvcGVydHlOYW1lc1tqXS5zdHJpbmcoKSk7CisgICAgICAg
ICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjogIik7CisgICAgICAgICAgICBjc3NUZXh0LmFw
cGVuZChrZXlmcmFtZS0+Z2V0KCZzdGF0ZSwgb3duUHJvcGVydHlOYW1lc1tqXSkudG9XVEZTdHJp
bmcoJnN0YXRlKSk7CisgICAgICAgICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjsgIik7Cisg
ICAgICAgIH0KKworICAgICAgICBhdXRvIHJlbmRlclN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0
ZVB0cigpOworICAgICAgICBhdXRvIHN0eWxlUHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOworICAgICAgICBzdHlsZVByb3BlcnRpZXMtPnBhcnNlRGVjbGFyYXRp
b24oY3NzVGV4dC50b1N0cmluZygpLCBwYXJzZXJDb250ZXh0KTsKKyAgICAgICAgdW5zaWduZWQg
bnVtYmVyT2ZDU1NQcm9wZXJ0aWVzID0gc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUNvdW50KCk7
CisKKyAgICAgICAgVmVjdG9yPENTU1Byb3BlcnR5SUQ+IHByb3BlcnRpZXM7CisgICAgICAgIGZv
ciAodW5zaWduZWQgayA9IDA7IGsgPCBudW1iZXJPZkNTU1Byb3BlcnRpZXM7ICsraykgeworICAg
ICAgICAgICAgcHJvcGVydGllcy5hcHBlbmQoc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGsp
LmlkKCkpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9TdHlsZShz
dHlsZVByb3BlcnRpZXMtPnByb3BlcnR5QXQoaykuaWQoKSwgc3R5bGVQcm9wZXJ0aWVzLT5wcm9w
ZXJ0eUF0KGspLnZhbHVlKCksIFdURk1vdmUocmVuZGVyU3R5bGUpKTsKKyAgICAgICAgICAgIHJl
bmRlclN0eWxlID0gc3R5bGVSZXNvbHZlci5zdGF0ZSgpLnRha2VTdHlsZSgpOworICAgICAgICB9
CisKKyAgICAgICAgbmV3S2V5ZnJhbWVzLmFwcGVuZCh7IFJlbmRlclN0eWxlOjpjbG9uZSgqcmVu
ZGVyU3R5bGUpLCBwcm9wZXJ0aWVzIH0pOworICAgIH0KKworICAgIG1fa2V5ZnJhbWVzID0gV1RG
TW92ZShuZXdLZXlmcmFtZXMpOworCisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBLZXlmcmFt
ZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZShTZWNvbmRzIGxvY2FsVGltZSwgUmVuZGVyU3R5bGUm
IHRhcmdldFN0eWxlKQoreworICAgIGlmICghbV90YXJnZXQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIC8vIEZJWE1FOiBBc3N1bWUgYW5pbWF0aW9ucyBvbmx5IGFwcGx5IGluIHRoZSByYW5nZSBb
MCwgZHVyYXRpb25bCisgICAgLy8gdW50aWwgd2Ugc3VwcG9ydCBmaWxsIG1vZGVzLCBkZWxheXMg
YW5kIGl0ZXJhdGlvbnMuCisgICAgaWYgKGxvY2FsVGltZSA8IDBfcyB8fCBsb2NhbFRpbWUgPj0g
dGltaW5nKCktPmR1cmF0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghdGltaW5n
KCktPmR1cmF0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZsb2F0IHByb2dyZXNzID0g
bG9jYWxUaW1lIC8gdGltaW5nKCktPmR1cmF0aW9uKCk7CisKKyAgICAvLyBGSVhNRTogVGhpcyB3
aWxsIGNyYXNoIGlmIHdlIGF0dGVtcHQgdG8gYW5pbWF0ZSBwcm9wZXJ0aWVzIHRoYXQgcmVxdWly
ZSBhbiBBbmltYXRpb25CYXNlLgorICAgIGZvciAoYXV0byBwcm9wZXJ0eUlkIDogbV9rZXlmcmFt
ZXNbMF0ucHJvcGVydGllcykKKyAgICAgICAgQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJv
cGVydGllcyhudWxscHRyLCBwcm9wZXJ0eUlkLCAmdGFyZ2V0U3R5bGUsICZtX2tleWZyYW1lc1sw
XS5zdHlsZSwgJm1fa2V5ZnJhbWVzWzFdLnN0eWxlLCBwcm9ncmVzcyk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgK
aW5kZXggZDVlNGYzNmRiNGJiMDBiZDM3M2M2ZGU3NDM1ZTZjNGM2OTE4MjNjNi4uNjBlOWMyMzM2
YzlhZDJlYTM1ODhkNzdjYzU5N2YyZjhlZDJhOGE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTI2LDIyICsyNiwzMiBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgog
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVt
ZW50OwogCitzdHJ1Y3QgS2V5ZnJhbWUgeworICAgIFJlbmRlclN0eWxlIHN0eWxlOworICAgIFZl
Y3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9wZXJ0aWVzOworfTsKKwogY2xhc3MgS2V5ZnJhbWVFZmZl
Y3QgZmluYWwgOiBwdWJsaWMgQW5pbWF0aW9uRWZmZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPEtleWZyYW1lRWZmZWN0PiBjcmVhdGUoRWxlbWVudCopOworICAgIHN0YXRpYyBFeGNlcHRp
b25PcjxSZWY8S2V5ZnJhbWVFZmZlY3Q+PiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUmLCBFbGVtZW50
KiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7CiAgICAgfktleWZyYW1lRWZmZWN0KCkg
eyB9CiAKICAgICBFbGVtZW50KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldC5nZXQo
KTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEtleWZyYW1lcyhKU0M6OkV4ZWNTdGF0ZSYs
IEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYpOworICAgIHZvaWQgYXBwbHlBdExvY2FsVGlt
ZShTZWNvbmRzLCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEtleWZy
YW1lRWZmZWN0KEVsZW1lbnQqKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNzS2V5ZnJh
bWVzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7CiAgICAg
UmVmUHRyPEVsZW1lbnQ+IG1fdGFyZ2V0OworICAgIFZlY3RvcjxLZXlmcmFtZT4gbV9rZXlmcmFt
ZXM7CiAKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRs
CmluZGV4IDUzOGU4MzFjNWRkMTA4YjUyZTY4YzFmNzA2ZjI4NDcyZDZkOGUzN2QuLjUxOWEwYjZm
MzA1MTViZGRiNjBhZjM4ZjllMTkzYTEzYWVkMjcyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbApAQCAtMjUsNyArMjUsMTAgQEAKIAogWwogICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9ucywKLSAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0
YXJnZXQpCisgICAgQ29uc3RydWN0b3JNYXlUaHJvd0V4Y2VwdGlvbiwKKyAgICBDb25zdHJ1Y3Rv
ckNhbGxXaXRoPVNjcmlwdFN0YXRlLAorICAgIENvbnN0cnVjdG9yKEVsZW1lbnQ/IHRhcmdldCwg
b2JqZWN0PyBrZXlmcmFtZXMpCiBdIGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFuaW1hdGlv
bkVmZmVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPVNjcmlwdFN0YXRlXSB2b2lkIHNldEtleWZyYW1l
cyhvYmplY3Q/IGtleWZyYW1lcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmNwcAppbmRleCBhZWM5NzllNDAzMmMyMTEwYTIxNmUzZDEwMjgwNDY1NzQ0YWYxNTAw
Li4wYWZiZWY1MDJkZGRiZjdjZmZlMGE5Y2E2NTZlM2ZlM2QzMmFmZmUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMjM3LDYgKzIzNywxMiBAQCBTZWNv
bmRzIFdlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFJlcXVpcmVkVGljayhTZWNvbmRzIHRpbWVsaW5l
VGltZSkgY29uc3QKICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKIH0KIAordm9pZCBX
ZWJBbmltYXRpb246OnJlc29sdmUoUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlKQoreworICAgIGlm
IChtX2VmZmVjdCAmJiBjdXJyZW50VGltZSgpKQorICAgICAgICBtX2VmZmVjdC0+YXBwbHlBdExv
Y2FsVGltZShjdXJyZW50VGltZSgpLnZhbHVlKCksIHRhcmdldFN0eWxlKTsKK30KKwogU3RyaW5n
IFdlYkFuaW1hdGlvbjo6ZGVzY3JpcHRpb24oKQogewogICAgIHJldHVybiAiQW5pbWF0aW9uIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCBiNGI1MjQ2MWE4MzE2
YWE5ZWJlZGQ5YzEwYzVkOTEwZTAzMmFjMWY0Li4wZWIyMzZmNTZjYmIwMjI0Yzg2NDc5ZTU0ZWY4
NTY2NTFkMDViMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCkBA
IC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFuaW1hdGlvbkVmZmVj
dDsKIGNsYXNzIEFuaW1hdGlvblRpbWVsaW5lOwogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBSZW5k
ZXJTdHlsZTsKIAogY2xhc3MgV2ViQW5pbWF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViQW5pbWF0aW9uPiB7CiBwdWJsaWM6CkBAIC02Myw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFBsYXliYWNrUmF0ZShkb3VibGUpOwogCiAgICAgU2Vjb25kcyB0aW1lVG9OZXh0UmVx
dWlyZWRUaWNrKFNlY29uZHMpIGNvbnN0OworICAgIHZvaWQgcmVzb2x2ZShSZW5kZXJTdHlsZSYp
OwogCiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL0lETFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBl
cy5oCmluZGV4IDZiN2JiMjIxMWNlZWIzNWQ3OWIwZTlmMGJjMjIyMTAxMTkwMWMyNTUuLjRjYjVl
MjUyZTJjNmM0NTI0MzlmM2VjMThlZDM1MjFkODczZTAyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL0lETFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
SURMVHlwZXMuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiU3RyaW5nQWRhcHRvcnMu
aCIKICNpbmNsdWRlIDxoZWFwL0hhbmRsZVR5cGVzLmg+CisjaW5jbHVkZSA8aGVhcC9TdHJvbmcu
aD4KICNpbmNsdWRlIDx3dGYvQnJpZ2FuZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTUwLDcgKzE1MSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBJRExSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nQWRhcHRv
ciA6IElETFN0cmluZzxBCiBzdHJ1Y3QgSURMT2JqZWN0IDogSURMVHlwZTxKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0Pj4gewogICAgIHVzaW5nIE51bGxhYmxlVHlwZSA9IEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+OwogCi0gICAgc3RhdGljIGlubGluZSBzdGQ6Om51bGxwdHJfdCBudWxsVmFs
dWUoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgc3RhdGljIGlubGluZSBOdWxsYWJsZVR5cGUg
bnVsbFZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3Rh
dGljIGlubGluZSBib29sIGlzTnVsbFZhbHVlKFUmJiB2YWx1ZSkgeyByZXR1cm4gIXZhbHVlOyB9
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3RhdGljIGlubGluZSBVJiYgZXh0cmFjdFZhbHVl
RnJvbU51bGxhYmxlKFUmJiB2YWx1ZSkgeyByZXR1cm4gc3RkOjpmb3J3YXJkPFU+KHZhbHVlKTsg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNmI0Njc0YzdmZjk5ZjBiYTMzMjQ3MWJhNGE2
MTNhNThjZTE4NGQ2Zi4uZDg5NzViY2U5YTkzMWJhZDkzNmI1YWYwMGEwZWQyMzA4ODIzOGEzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNzcsNiArMTM3Nyw3IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmlu
Z0NhbGxiYWNrPiYmKTsgLy8gRm9yIHRlc3RpbmcuCiAKICAgICBEb2N1bWVudFRpbWVsaW5lJiB0
aW1lbGluZSgpOworICAgIERvY3VtZW50VGltZWxpbmUqIGV4aXN0aW5nVGltZWxpbmUoKSBjb25z
dCB7IHJldHVybiBtX3RpbWVsaW5lLmdldCgpOyB9CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJBbmlt
YXRpb24+PiBnZXRBbmltYXRpb25zKCk7CiAgICAgICAgIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMWFmNDQxOTY3NDJiYThmNTgyNjBm
MDMzOTFmZTBmY2E2NTU3ZWIzYy4uMGFmY2Y1YjNkM2ZiNWMzMDliOTFjZjczNWE5MWRhYTBlODA2
MTNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzcwNCw3ICszNzA0LDkgQEAgRWxlbWVu
dCogRWxlbWVudDo6ZmluZEFuY2hvckVsZW1lbnRGb3JMaW5rKFN0cmluZyYgb3V0QW5jaG9yTmFt
ZSkKIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4gRWxlbWVudDo6Z2V0QW5pbWF0aW9ucygp
CiB7CiAgICAgLy8gRklYTUU6IEZpbHRlciBhbmQgb3JkZXIgdGhlIGxpc3QgYXMgc3BlY2lmaWVk
ICh3ZWJraXQub3JnL2IvMTc5NTM1KS4KLSAgICByZXR1cm4gZG9jdW1lbnQoKS50aW1lbGluZSgp
LmFuaW1hdGlvbnNGb3JFbGVtZW50KCp0aGlzKTsKKyAgICBpZiAoYXV0byB0aW1lbGluZSA9IGRv
Y3VtZW50KCkuZXhpc3RpbmdUaW1lbGluZSgpKQorICAgICAgICByZXR1cm4gdGltZWxpbmUtPmFu
aW1hdGlvbnNGb3JFbGVtZW50KCp0aGlzKTsKKyAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxXZWJB
bmltYXRpb24+PiB7IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCAyMTM0NjdjNGY5Y2QzYmM0ZWRk
YjE1MjA2MWQ3YmZhZWQ1ZDJiZjFlLi5kMzM4ZjZjNDkxMGQ0ZTA5YmYwYWQ1YTcxMzY2NmIwZDg2
N2E5ZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAi
Q29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbXBvc2VkVHJlZUl0
ZXJhdG9yLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZS5oIgogI2luY2x1ZGUgIkVsZW1l
bnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxNZXRlckVsZW1lbnQuaCIKQEAgLTI3NCw5ICsyNzUsMjAgQEAgY29uc3QgUmVuZGVyU3R5bGUq
IFRyZWVSZXNvbHZlcjo6cGFyZW50Qm94U3R5bGUoKSBjb25zdAogCiBFbGVtZW50VXBkYXRlIFRy
ZWVSZXNvbHZlcjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4gbmV3U3R5bGUsIEVsZW1lbnQmIGVsZW1lbnQsIENoYW5nZSBwYXJlbnRDaGFu
Z2UpCiB7CisgICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250ZW50c1N0eWxl
KGVsZW1lbnQpOworCisgICAgaWYgKGF1dG8gdGltZWxpbmUgPSBlbGVtZW50LmRvY3VtZW50KCku
ZXhpc3RpbmdUaW1lbGluZSgpKSB7CisgICAgICAgIGF1dG8gd2ViQW5pbWF0aW9ucyA9IHRpbWVs
aW5lLT5hbmltYXRpb25zRm9yRWxlbWVudChlbGVtZW50KTsKKyAgICAgICAgaWYgKCF3ZWJBbmlt
YXRpb25zLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0
eWxlPiBhbmltYXRlZFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpuZXdTdHlsZSk7Cisg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGFuaW1hdGlvbiA6IHdlYkFuaW1hdGlvbnMpCisg
ICAgICAgICAgICAgICAgYW5pbWF0aW9uLT5yZXNvbHZlKCphbmltYXRlZFN0eWxlKTsKKyAgICAg
ICAgICAgIG5ld1N0eWxlID0gV1RGTW92ZShhbmltYXRlZFN0eWxlKTsKKyAgICAgICAgfQorICAg
IH0KKwogICAgIGF1dG8mIGFuaW1hdGlvbkNvbnRyb2xsZXIgPSBtX2RvY3VtZW50LmZyYW1lKCkt
PmFuaW1hdGlvbigpOwogCi0gICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250
ZW50c1N0eWxlKGVsZW1lbnQpOwogICAgIGF1dG8gYW5pbWF0aW9uVXBkYXRlID0gYW5pbWF0aW9u
Q29udHJvbGxlci51cGRhdGVBbmltYXRpb25zKGVsZW1lbnQsICpuZXdTdHlsZSwgb2xkU3R5bGUp
OwogCiAgICAgaWYgKGFuaW1hdGlvblVwZGF0ZS5zdHlsZSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOTk2YzE5ODIzMGNk
MDY0N2RhMTk3MzQ0Mzg3ZGRlODhlYjlmMjExLi41M2Q4NjNiMTNiOTFmOGU4OGYxOWVhN2VjMzEz
NmQwMjY0Y2I3MDA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTEtMTQgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIElt
cGxlbWVudCBiYXNpYyB0by1mcm9tIGFuaW1hdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTcwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQ5MzI0NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIGV4aXN0aW5nIHRlc3RzIHRvIGV4cGxpY2l0bHkgcGFzcyBudWxsIGZvciBrZXlm
cmFtZXMgYW5kIHVwZGF0ZSBXUFQgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1l
bGluZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAw
MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUt
YW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dr
LXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sOgor
ICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b24tY3JlYXRpb24tYmFzaWMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0
aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0
bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogaHR0cC93
cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWw6CisgICAgICAg
ICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVj
dC5odG1sOgorCiAyMDE3LTExLTE0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTdHViIGltcGxlbWVudGF0aW9ucyBvZiBPZmZzY3JlZW5DYW52YXMgZ2V0Q29udGV4
dCBhbmQgdHJhbnNmZXJUb0ltYWdlQml0bWFwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50
LXRpbWVsaW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0
ZWQudHh0CmluZGV4IGYxOGRmYWJiN2NiYzI3MmY4YjhkOTNkOGE1Nzk4ZGE2ODIzOGU1MTMuLmE2
YjVhYWQ3OGE0OWIyOWM2ZDdkMzc0M2EzYzI0YjJlM2QzYWE4ODcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxp
bmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQt
dGltZWxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIGRvY3VtZW50LnRp
bWVsaW5lIGlkZW50aXR5IHRlc3RzIAotRkFJTCBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSB2YWx1ZSB0ZXN0cyBhc3NlcnRfZXF1YWxzOiBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGlt
ZSBtYXRjaGVzIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0aW1lIGV4cGVjdGVkIDU1Mi4zMDAwMDAw
MDAwMDAxIGJ1dCBnb3QgMC41NTM4MDAwMDAwMDAwMDAxCi1QQVNTIGRvY3VtZW50LnRpbWVsaW5l
LmN1cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIAotUEFTUyBpZnJhbWUgZG9jdW1lbnQudGltZWxp
bmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgCitGQUlMIGRvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lIHZhbHVlIHRlc3RzIGFzc2VydF9lcXVhbHM6IGRvY3VtZW50LnRpbWVsaW5lLmN1
cnJlbnRUaW1lIG1hdGNoZXMgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRpbWUgZXhwZWN0ZWQgOTM1
LjMwMDAwMDAwMDAwMDEgYnV0IGdvdCAwLjM1NzAwMDAwMDAwMDAwMDA0CitGQUlMIGRvY3VtZW50
LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGxpdmVuZXNzIHRlc3RzIGFzc2VydF9ncmVhdGVyX3RoYW46
IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIGluY3JlYXNlcyBiZXR3ZWVuIHNjcmlwdCBi
bG9ja3MgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAuMzU3MDAwMDAwMDAwMDAwMDQg
YnV0IGdvdCAwLjM1NzAwMDAwMDAwMDAwMDA0CitGQUlMIGlmcmFtZSBkb2N1bWVudC50aW1lbGlu
ZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyBhc3NlcnRfZ3JlYXRlcl90aGFuOiBpZnJhbWUg
ZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgaW5jcmVhc2VzIGJldHdlZW4gc2NyaXB0IGJs
b2NrcyBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMC4wMjgzMDAwMDAwMDAwMDAwMDIg
YnV0IGdvdCAwLjAyODMwMDAwMDAwMDAwMDAwMgogUEFTUyBkb2N1bWVudC50aW1lbGluZS5jdXJy
ZW50VGltZSB0aW1lIHNob3VsZCBiZSB0aGUgc2FtZSBmb3IgYWxsIFJBRiBjYWxsYmFja3MgaW4g
YSBmcmFtZSAKLQorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1h
dGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFy
Z3VtZW50LTAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0
aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJn
dW1lbnQtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBkMTNlNTQ0ZWU3NzZlYjBjZmUwNzE5MmZiZjZj
NmFmODY5YTczMDgwLi5jMGJiNzcyNGYxZmZkNWVlMjM4YmU3MmJiOTMxODJmMjg5MWZmZTAwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZh
Y2VzL0tleWZyYW1lRWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4
cGVjdGVkLnR4dApAQCAtNTUsNSArNTUsNSBAQCBGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0
aWVzIG9uIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdAogRkFJ
TCBPbmx5IHByb3BlcnRpZXMgZGVmaW5lZCBkaXJlY3RseSBvbiBrZXlmcmFtZXMgYXJlIHJlYWQg
ZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQogRkFJTCBPbmx5
IGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBhcmUg
cmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5n
ZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCiBGQUlM
IE9ubHkgcHJvcGVydGllcyBkZWZpbmVkIGRpcmVjdGx5IG9uIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgUHJvcGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgVW5p
Y29kZSBjb2RlcG9pbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9yZGVy
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCA1IGdvdCAwCitGQUlMIFByb3BlcnRpZXMgYXJlIHJl
YWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IFVuaWNvZGUgY29kZXBvaW50IGFzc2VydF9hcnJheV9l
cXVhbHM6IHByb3BlcnR5IGFjY2VzcyBvcmRlciBwcm9wZXJ0eSAwLCBleHBlY3RlZCAiY29tcG9z
aXRlIiBidXQgZ290ICJtYXJnaW5MZWZ0IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1l
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRl
cmZhY2VzL0tleWZyYW1lRWZmZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKaW5kZXggMGIz
Njc5MmYxODM3NmI5ZGFlMjYxN2U3YTU4MGNiYTMyMzExMWQ1Yi4uYjE1ZTY2YTAwOTMzNzk0MGQ4
ZGY4OTI5OGM1ZmM2MzZjYjM4ZDVkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMSw0OSAr
MSw1NSBAQAogCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBr
ZXlmcmFtZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoZnJhbWUpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3
byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5z
ZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhz
dWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkg
dHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0
LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVz
KHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChvbmUgc2hv
cnRoYW5kIGFuZCBvbmUgb2YgaXRzIGxvbmdoYW5kIGNvbXBvbmVudHMpIHR3byB2YWx1ZSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0
KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5k
ZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3Bl
Y2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdpdGggYW4gaW52YWxpZCB2YWx1ZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZh
bHVlcyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJl
bmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWlu
ZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhIENTUyB2YXJpYWJsZSByZWZlcmVu
Y2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZy
YW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyBpbnZhbGlkIGVmZmVjdC5zZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0
ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJv
cGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgc2Vjb25kIHZh
bHVlIGlzIGludmFsaWQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
b25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSB0d28g
a2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IChhIHNob3J0aGFu
ZCBhbmQgb25lIG9mIGl0cyBjb21wb25lbnQgbG9uZ2hhbmRzKSB0d28ga2V5ZnJhbWUgc2VxdWVu
Y2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0
S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBkdXBsaWNhdGUgdmFsdWVzIGZvciBhIGdpdmVuIGludGVyaW9yIG9mZnNldCBl
ZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlm
cmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVk
KQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5j
ZSB3aXRoIGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgZm91ciBrZXlmcmFtZSBz
ZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBvbWl0dGVkIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1
dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBudWxs
IG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzdHJpbmcgb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0
KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBj
YW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0
S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQg
d2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZz
ZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgb21pdHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRL
ZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0
ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIGFsbCBvbWl0dGVkIG9mZnNldHMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2Vm
ZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQgZWFzaW5nIHZh
bHVlcywgYnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZzZXQgZWZmZWN0
LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVz
KHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBkaWZmZXJlbnQgY29tcG9zaXRlIHZhbHVlcywgYnV0IHRoZSBzYW1lIGNvbXBvc2l0ZSB2YWx1
ZSBmb3IgYSBnaXZlbiBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSB0aGF0IG5lZWRzIHRvIHN0
cmluZ2lmeSBpdHMgdmFsdWVzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5kIHByb3BlcnR5IGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdo
ZXJlIHNob3J0aGFuZCBwcmVjZWRlcyBsb25naGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRl
cyBzaG9ydGhhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbGVzc2VyIHNob3J0aGFuZCBwcmVjZWRlcyBncmVhdGVyIHNo
b3J0aGFuZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMg
dW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aGVyZSBncmVhdGVyIHNob3J0aGFuZCBwcmVjZWRlcyBsZXNzZXIgc2hvcnRo
YW5kIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0
eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRo
ZSBmaXJzdCBrZXlmcmFtZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZy
YW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1p
c3NpbmcgZnJvbSB0aGUgbGFzdCBrZXlmcmFtZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHJlcGVhdGVkIHZhbHVlcyBhdCBv
ZmZzZXQgMSB3aXRoIGRpZmZlcmVudCBlYXNpbmdzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBrZXlmcmFtZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVl
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgKG9uZSBzaG9y
dGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hhbmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhl
ZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVl
cyBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVl
IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHBy
b3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9u
IHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIFR5cGUgZXJyb3IKK0ZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNo
b3J0aGFuZCBwcm9wZXJ0eSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFj
ZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUgbm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4
ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFs
aWQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUg
cHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRp
b24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIFR5cGUgZXJyb3IKK0ZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBz
ZXF1ZW5jZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh
IG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LmdldEtleWZyYW1lcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0Lmdl
dEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSBy
ZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUgc2VxdWVu
Y2UgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0
S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgKGEgc2hvcnRoYW5k
IGFuZCBvbmUgb2YgaXRzIGNvbXBvbmVudCBsb25naGFuZHMpIHR3byBrZXlmcmFtZSBzZXF1ZW5j
ZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRL
ZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVw
bGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgVHlwZSBlcnJvcgorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBmb3VyIGtleWZyYW1l
IHNlcXVlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBv
ZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBv
bmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBU
eXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgVHlwZSBlcnJvcgorRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
ZWFzaW5nIHZhbHVlcywgYnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZz
ZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNh
bWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUg
c2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBlZmZlY3QuZ2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdl
ZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYSBDU1MgdmFyaWFibGUgcmVm
ZXJlbmNlIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCBhIENTUyB2YXJpYWJsZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgZWZmZWN0
LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
KCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQg
cHJlY2VkZXMgbG9uZ2hhbmQgZWZmZWN0LmdldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRlcyBzaG9ydGhhbmQgZWZmZWN0LmdldEtleWZy
YW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCknLCAnZWZm
ZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHBy
ZWNlZGVzIGdyZWF0ZXIgc2hvcnRoYW5kIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNo
b3J0aGFuZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBmaXJzdCBr
ZXlmcmFtZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVj
dC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFt
ZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtl
eWZyYW1lIGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0
LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZB
SUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0
aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZmZXJlbnQgZWFzaW5ncyBUeXBl
IGVycm9yCiBQQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZy
YW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIHBvc2l0aXZlIG9mZnNldCAKIFBBU1MgS2V5ZnJh
bWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gb3V0LW9m
LWJvdW5kZWQgbmVnYXRpdmUgb2Zmc2V0IAotUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3Rv
ciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldCAKK0ZB
SUwgS2V5ZnJhbWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5vdCBs
b29zZWx5IHNvcnRlZCBieSBvZmZzZXQgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKKyAgICAgIGVmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSIg
ZGlkIG5vdCB0aHJvdwogUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0
aCBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgZWFzaW5nIHZhbHVl
IAotUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBhIGtleWZyYW1l
IHNlcXVlbmNlIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCi1QQVNTIEtleWZyYW1lRWZm
ZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29t
cG9zaXRlIHZhbHVlIAorRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0
aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgYXNzZXJ0
X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICAgIGVmZmVjdC5zZXRLZXlmcmFt
ZXMoc3VidGVzdC5pbnB1dCk7CisgICAgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBLZXlmcmFtZUVm
ZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mgd2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBpbnZhbGlkIGNv
bXBvc2l0ZSB2YWx1ZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAg
ICAgZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KTsKKyAgICB9IiBkaWQgbm90IHRo
cm93CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3RhcnQtdGltZS1leHBlY3RlZC50eHQKaW5k
ZXggYjZmNWVhZWI2MTYxMTRjMjMxMjhhNTMwNjQxZmI4OGQ0OTBkMmNlNy4uYTY4ZTY2NDVmMDlh
MjI4NDk1ZTNmYTRjMGU4ZmM4ZDE5NTBkYjAzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmlt
YXRpb24tc3RhcnQtdGltZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24t
c3RhcnQtdGltZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgU2V0dGluZyB0
aGUgc3RhcnQgdGltZSBvZiBhbiBhbmltYXRpb24gd2l0aG91dCBhbiBhY3RpdmUgdGltZWxpbmUg
YXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJy
ZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290IChudW1iZXIpIC05OTkuODk2
Ci1GQUlMIFNldHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIGFuIGFuaW1hdGlvbiB3aXRo
b3V0IGFuIGFjdGl2ZSB0aW1lbGluZSBkb2VzIG5vdCBjbGVhciB0aGUgY3VycmVudCB0aW1lIGFz
c2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVu
dCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5Ljg5Ngor
RkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIG9mIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFj
dGl2ZSB0aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRl
ciBzZXR0aW5nIGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51
bWJlcikgLTk5OS42OTQ5CitGQUlMIFNldHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIGFu
IGFuaW1hdGlvbiB3aXRob3V0IGFuIGFjdGl2ZSB0aW1lbGluZSBkb2VzIG5vdCBjbGVhciB0aGUg
Y3VycmVudCB0aW1lIGFzc2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVtYWlucyBudWxsIGFmdGVy
IHNldHRpbmcgY3VycmVudCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAobnVt
YmVyKSAtOTk5LjY5NDkKIEZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSBjbGVhcnMgdGhlIGhv
bGQgdGltZSBhc3NlcnRfZXF1YWxzOiBBbmltYXRpb24gcmVwb3J0cyBpdCBpcyBydW5uaW5nIGFm
dGVyIHNldHRpbmcgYSByZXNvbHZlZCBzdGFydCB0aW1lIGV4cGVjdGVkIChzdHJpbmcpICJydW5u
aW5nIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBTZXR0aW5nIGFuIHVucmVz
b2x2ZWQgc3RhcnQgdGltZSBzZXRzIHRoZSBob2xkIHRpbWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHN0cmluZykgInJ1bm5pbmciIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCiBGQUlM
IFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgcmVzb2x2ZXMgYSBwZW5kaW5nIHJlYWR5IHByb21pc2Ug
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2FuaW1hdGlvbi5yZWFkeS50
aGVuJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvZWxlbWVudC1nZXQtYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2std2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25z
Lmh0bWwKaW5kZXggYjVkM2U2ZGQ1M2M1N2EyZDgyZWMyZjU3NGIxMjlmOWEzNDBjMDBjMi4uNGMw
MWRkZDg2MTFmYWI1ZmEyZWRiMTE5MjZlOTk3NmVmYzM3MmM5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1h
bmltYXRpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0bWwKQEAgLTEzLDkgKzEzLDkg
QEAgbGV0IGEsIGIsIGM7CiBjb25zdCB0YXJnZXRBID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
YSIpOwogY29uc3QgdGFyZ2V0QiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImIiKTsKIAotY29u
c3QgZWZmZWN0QWEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0QSk7Ci1jb25zdCBlZmZlY3RB
YiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRBKTsKLWNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0Qik7Citjb25zdCBlZmZlY3RBYSA9IG5ldyBLZXlmcmFtZUVmZmVj
dCh0YXJnZXRBLCBudWxsKTsKK2NvbnN0IGVmZmVjdEFiID0gbmV3IEtleWZyYW1lRWZmZWN0KHRh
cmdldEEsIG51bGwpOworY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRC
LCBudWxsKTsKIAogdGVzdCh0ID0+IHsKICAgICBhc3NlcnRfdHJ1ZSh0eXBlb2YgdGFyZ2V0QS5n
ZXRBbmltYXRpb25zID09PSAiZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24t
YmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFzaWMuaHRtbAppbmRleCA1NWY1ZWEwYzdmM2Jl
ODg5NjE5YmJjODFiMzAyOTllMzkxNTlmMTc4Li5lZjdhNDVkOTM5NGUyYjM5NmU4MTM4ZWE2NGY2
MDQ0NjU2OTBiNmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sCkBAIC0zMyw3ICszMyw3IEBAIHRlc3QodCA9PiB7CiB9
LCAiQ3JlYXRpbmcgQW5pbWF0aW9uIHdpdGggYSBudWxsIGFyZ3VtZW50IHNob3VsZCBoYXZlIGEg
bnVsbCBlZmZlY3QgYW5kIHRoZSBkb2N1bWVudCB0aW1lbGluZS4iKTsKIAogdGVzdCh0ID0+IHsK
LSAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7Cisg
ICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwp
OwogICAgIGNvbnN0IGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb24oZWZmZWN0KTsKICAgICBhc3Nl
cnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdCk7CiAgICAgYXNzZXJ0X2VxdWFscyhh
bmltYXRpb24udGltZWxpbmUsIGRvY3VtZW50LnRpbWVsaW5lKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24t
ZWZmZWN0LXVuaXF1ZS1yZWxhdGlvbnNoaXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dr
LXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1yZWxh
dGlvbnNoaXAuaHRtbAppbmRleCBlYjU3MTQwMGY3MDk5MWNhMzZiZTI5NTBhNDVlZmQ3ZDJhMDgy
YWNmLi5lYjEwNDYzNzA0ZTQxNGI1YjdjYzJhOWJmZmY5N2FlY2JkNTljZTI5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZlY3Qt
dW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sCkBAIC05LDggKzksOCBAQAogJ3VzZSBzdHJpY3QnOwog
CiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGVmZmVjdEEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5
ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgIGNvbnN0IGVm
ZmVjdEEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiks
IG51bGwpOworICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2IiksIG51bGwpOwogCiAgICAgY29uc3QgYSA9IG5ldyBBbmltYXRp
b24oZWZmZWN0QSk7CiAgICAgY29uc3QgYiA9IG5ldyBBbmltYXRpb24oZWZmZWN0Qik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9k
ZWwvYW5pbWF0aW9uLWludGVyZmFjZS1lZmZlY3QtcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24taW50ZXJm
YWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sCmluZGV4IGQ0YTM4NzNhMDA5N2JkYWFlOTNhMzA4ZDBl
ZjM1NzFiOGQwMTViMzIuLjQ5OGM5MTE5MDMyZDQ4NmNiMmM2N2RlZDJiY2U3MmRiNjYyM2I3ZmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRp
b24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1sCkBAIC0xNywyNCArMTcsMjQgQEAgdGVz
dCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgICBjb25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0
aW9uOwotICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5
KTsKKyAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwg
bnVsbCk7CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdDsKICAgICBhc3NlcnRfZXF1YWxz
KGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdCk7CiB9LCAiVGhlIGFuaW1hdGlvbi5lZmZlY3QgcHJv
cGVydHkgY2FuIGJlIHNldCB0byBhIEtleWZyYW1lRWZmZWN0IG9iamVjdC4iKTsKIAogdGVzdCh0
ID0+IHsKICAgICBjb25zdCBhbmltYXRpb24gPSBuZXcgQW5pbWF0aW9uOwotICAgIGNvbnN0IGVm
ZmVjdEEgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZm
ZWN0QSA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmlt
YXRpb24uZWZmZWN0ID0gZWZmZWN0QTsKICAgICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZl
Y3QsIGVmZmVjdEEpOwotICAgIGNvbnN0IGVmZmVjdEIgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9j
dW1lbnQuYm9keSk7CisgICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1
bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0QjsKICAgICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdEIpOwogfSwgIlRoZSBhbmltYXRp
b24uZWZmZWN0IHByb3BlcnR5IGNhbiBiZSBzZXQgdG8gYW5vdGhlciBLZXlmcmFtZUVmZmVjdCBv
YmplY3QuIik7CiAKIHRlc3QodCA9PiB7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1h
dGlvbjsKLSAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9k
eSk7CisgICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHks
IG51bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3Q7CiAgICAgYXNzZXJ0X2VxdWFs
cyhhbmltYXRpb24uZWZmZWN0LCBlZmZlY3QpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBudWxs
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVj
dGVkLnR4dAppbmRleCBjNmNjZDllYmJhZGFiZTNmOWNmYWYwYzhiNGNiYzg5MTc2NmY2NWQyLi5j
N2NhYTMwN2MwZTAwM2Y1ZTVjMjQzYTgyY2U4NTE4OTIxYmQ1ZDIwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUt
ZWZmZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5p
bWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVjdGVkLnR4dApAQCAtMSw3
ICsxLDcgQEAKIAogUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGlzIGRlZmluZWQu
IAotUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3Rl
ZCB3aXRob3V0IHBhcmFtZXRlcnMuIAotUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNl
IGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgcGFyYW1ldGVyIGhhcyB0aGUgd3JvbmcgdHlwZS4g
CitQQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90IGJlIGNvbnN0cnVjdGVk
IHdpdGhvdXQgZW5vdWdoIHBhcmFtZXRlcnMuIAorUEFTUyBUaGUgS2V5ZnJhbWVFZmZlY3QgaW50
ZXJmYWNlIGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGhhcyB0aGUg
d3JvbmcgdHlwZS4gCiBQQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgdGFyZ2V0IGlz
IHNldCB0byB0aGUgcHJvdmlkZWQgRWxlbWVudC4gCiBQQVNTIEEgS2V5ZnJhbWVFZmZlY3Qgb2Jq
ZWN0IHRhcmdldCBpcyByZWFkLW9ubHkuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWludGVy
ZmFjZS10aW1pbmctZHVyYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1h
bmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1k
dXJhdGlvbi5odG1sCmluZGV4IDg4YjY4NDUyYzY3MWI0OGVkMGM4MDU3N2Q4ZDVhMjQzZjFlZjkw
ZmQuLjMyYjZhMTIwNzAyYWM1ZjAwNDkyMjYwNzk0ZDYzZGI4MGI3MzhjYjAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlm
cmFtZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZl
Y3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sCkBAIC0xMSwxNCArMTEsMTQgQEAKIGlu
dGVybmFscy5wYXVzZVRpbWVsaW5lKGRvY3VtZW50LnRpbWVsaW5lKTsKIAogdGVzdCh0ID0+IHsK
LSAgICBjb25zdCBrZXlmcmFtZUVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5i
b2R5KTsKKyAgICBjb25zdCBrZXlmcmFtZUVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1
bWVudC5ib2R5LCBudWxsKTsKICAgICBhc3NlcnRfaW5oZXJpdHMoa2V5ZnJhbWVFZmZlY3QsICJ0
aW1pbmciKTsKICAgICBhc3NlcnRfaW5oZXJpdHMoa2V5ZnJhbWVFZmZlY3QudGltaW5nLCAiZHVy
YXRpb24iKTsKICAgICBhc3NlcnRfZXF1YWxzKGtleWZyYW1lRWZmZWN0LnRpbWluZy5kdXJhdGlv
biwgMCk7CiB9LCAiQ2hlY2sgdGhlIGRlZmF1bHQgc3RhdGUgb2YgdGhlIHRpbWluZyBhbmQgZHVy
YXRpb24gcHJvcGVydGllcy4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBjb25zdCBrZXlmcmFtZUVm
ZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBrZXlm
cmFtZUVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBudWxsKTsKICAg
ICBrZXlmcmFtZUVmZmVjdC50aW1pbmcuZHVyYXRpb24gPSAyOwogICAgIGFzc2VydF9lcXVhbHMo
a2V5ZnJhbWVFZmZlY3QudGltaW5nLmR1cmF0aW9uLCAyKTsKIH0sICJDaGVjayB0aGF0IHdlIGNh
biB1cGRhdGUgdGhlIHRpbWluZyBkdXJhdGlvbi4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3Qu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2Rl
bC9rZXlmcmFtZS1lZmZlY3QuaHRtbAppbmRleCBjZTBjNmY3M2Y4ZWQ1ZTJhZWFkODM2ODdmODky
OWQ2ZWU3YTM4YTI3Li5hOTc0NmJkMmY4ZjU1YzMxMWUzNDRjMjk0Mzc4MTQ0MWRhZmIyNThlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmct
bW9kZWwva2V5ZnJhbWUtZWZmZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sCkBAIC0xNiwy
MiArMTYsMjMgQEAgdGVzdCh0ID0+IHsKIAogdGVzdCh0ID0+IHsKICAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCk7Ci19LCAiVGhlIEtleWZy
YW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3QgYmUgY29uc3RydWN0ZWQgd2l0aG91dCBwYXJhbWV0
ZXJzLiIpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZy
YW1lRWZmZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSk7Cit9LCAiVGhlIEtleWZy
YW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3QgYmUgY29uc3RydWN0ZWQgd2l0aG91dCBlbm91Z2gg
cGFyYW1ldGVycy4iKTsKIAogdGVzdCh0ID0+IHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBl
RXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCgwKSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhu
ZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3Qoe30pKTsKLSAgICBhc3NlcnRf
dGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChbXSkpOwotICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KGZh
bHNlKSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJh
bWVFZmZlY3QoJ2VsZW1lbnQnKSk7Ci19LCAiVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBj
b25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIHBhcmFtZXRlciBoYXMgdGhlIHdyb25nIHR5cGUuIik7
CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZl
Y3QoMCwgbnVsbCkpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3
IEtleWZyYW1lRWZmZWN0KHt9LCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoW10sIG51bGwpKTsKKyAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChmYWxzZSwgbnVsbCkp
OworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZm
ZWN0KCdlbGVtZW50JywgbnVsbCkpOworfSwgIlRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2Ug
Y29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBmaXJzdCBwYXJhbWV0ZXIgaGFzIHRoZSB3cm9uZyB0
eXBlLiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGFzc2VydF9lcXVhbHMoKG5ldyBLZXlmcmFtZUVm
ZmVjdChkb2N1bWVudC5ib2R5KSkudGFyZ2V0LCBkb2N1bWVudC5ib2R5KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKChuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCkpLnRhcmdldCwg
ZG9jdW1lbnQuYm9keSk7CiB9LCAiVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSB0YXJnZXQg
aXMgc2V0IHRvIHRoZSBwcm92aWRlZCBFbGVtZW50LiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGNv
bnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25z
dCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAg
YXNzZXJ0X3JlYWRvbmx5KGVmZmVjdCwgInRhcmdldCIpOwogfSwgIkEgS2V5ZnJhbWVFZmZlY3Qg
b2JqZWN0IHRhcmdldCBpcyByZWFkLW9ubHkuIik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326993</attachid>
            <date>2017-11-15 09:49:51 -0800</date>
            <delta_ts>2017-11-15 13:22:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179707-20171115094950.patch</filename>
            <type>text/plain</type>
            <size>52544</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliMzg3MWUzMGQxNzdh
YTM2MGVhZDYzNmJjM2QyZTdiYzgwNTc0Ni4uNTYwM2EzYjJjMDBlYjJkYzRiNjA4MmQ4ZTBmNTk1
YWU1ODlmN2MxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE3LTExLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgYmFzaWMgdG8tZnJvbSBhbmltYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzM0OTMyNDU2PgorCisgICAgICAgIFdlIGNhbiBub3cgYWN0dWFsbHkgcGVyZm9ybSBhbiBh
bmltYXRpb24sIGluIHNvZnR3YXJlIG9ubHksIHdoZW4gcHJvdmlkZWQgdHdvIGtleWZyYW1lcyBv
biBhbiBBbmltYXRpb25FZmZlY3QuCisgICAgICAgIFRvIHBhcnNlIGEga2V5ZnJhbWVzIG9iamVj
dCBmcm9tIEpTLCB3ZSB1c2UgdGhlIFN0eWxlUmVzb2x2ZXIgdG8gY3JlYXRlIFJlbmRlclN0eWxl
IG9iamVjdHMgYmFzZWQgb24gdGhlIHN0cmluZ3MKKyAgICAgICAgcHJvdmlkZWQgZm9yIHRoZSBw
cm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzLiBUaGVuLCB3aGVuIHRoZSBEb2N1bWVudFRpbWVsaW5l
IGluZGljYXRlcyB0aGF0IGFuaW1hdGlvbnMgYXJlIHJlYWR5CisgICAgICAgIHRvIGJlIHVwZGF0
ZWQsIHdlIGludmFsaWRhdGUgdGhlIHN0eWxlIG9mIGVsZW1lbnRzIHdpdGggYW5pbWF0aW9ucywg
c28gdGhhdCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlvbiB3ZSBjYW4gcGVyZm9ybQorICAgICAgICBi
bGVuZGluZyBiZXR3ZWVuIHRoZSBSZW5kZXJTdHlsZXMgZm9yIGVhY2gga2V5ZnJhbWUuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb24v
QW5pbWF0aW9uRWZmZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25FZmZlY3Q6On5B
bmltYXRpb25FZmZlY3QpOiBEZWxldGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25U
aW1lbGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRU
b0FuaW1hdGlvbnNNYXAgY29uc3QpOgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVs
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJl
c29sdXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGltZWxpbmU6
OnVwZGF0ZUFuaW1hdGlvbnMpOiBSZW5hbWVkIGZyb20gcmVzb2x2ZUFuaW1hdGlvbnMoKSBzaW5j
ZSB3ZSdyZSBub3QKKyAgICAgICAgYWN0dWFsbHkgcmVzb2x2aW5nIGFuaW1hdGlvbnMsIG1lcmVs
eSBpbnZhbGlkYXRpbmcgc3R5bGVzIGluIHByZXBhcmF0aW9uIGZvciByZXNvbHV0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaW1lbGluZTo6cmVzb2x2ZUFuaW1hdGlvbnMpOiBEZWxl
dGVkLgorICAgICAgICAqIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmg6CisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1l
RWZmZWN0OjpjcmVhdGUpOiBQYXNzIHRoZSBrZXlmcmFtZXMgYXJndW1lbnQgdG8gc2V0S2V5ZnJh
bWVzKCkgYW5kIGZvcndhcmQgdGhlCisgICAgICAgIGV4Y2VwdGlvbiBpbiBjYXNlIG9uZSB3YXMg
cmFpc2VkIGluIHRoZSBzZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6
c2V0S2V5ZnJhbWVzKTogUGFzcyB0aGUga2V5ZnJhbWVzIGFyZ3VtZW50IHRvIHByb2Nlc3NLZXlm
cmFtZXMoKSBhbmQKKyAgICAgICAgZm9yd2FyZCB0aGUgZXhjZXB0aW9uIGluIGNhc2Ugb25lIHdh
cyByYWlzZWQgZHVyaW5nIHByb2Nlc3NpbmcuCisgICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUVm
ZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyk6IERlYWwgd2l0aCBleGFjdGx5IHR3byBrZXlmcmFtZXMs
IHNldCBhdCAwIGFuZCAxIG9mZnNldHMsCisgICAgICAgIHNwZWNpZmllZCBpbiBhcnJheSBmb3Jt
cyBmb3IgdGhlIGtleWZyYW1lcyBvYmplY3QuIEFzIHdlIHBhcnNlIHRoZSBjb250ZW50IG9mIHRo
ZSBwcm92aWRlZCBKUyBvYmplY3QsCisgICAgICAgIHdlIGNyZWF0ZSBSZW5kZXJTdHlsZSBvYmpl
Y3RzIHVzaW5nIHRoZSBlbGVtZW50J3MgU3R5bGVSZXNvbHZlciBmcm9tIGEgQ1NTIHRleHQgc3Ry
aW5nIHdlIGNyZWF0ZQorICAgICAgICBiYXNlZCBvbiB0aGUgcHJvcGVydHkgYW5kIHZhbHVlcyBh
cyBzdHJpbmdzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmFwcGx5QXRMb2Nh
bFRpbWUpOiBDb21wdXRlIHRoZSBwcm9ncmVzcyBiYXNlZCBvbiB0aGUgbG9jYWwgdGltZSBhbmQg
ZHVyYXRpb24sCisgICAgICAgIHVzaW5nIHRoZSBleGlzdGluZyBDU1NQcm9wZXJ0eUFuaW1hdGlv
bjo6YmxlbmRQcm9wZXJ0aWVzKCkgbWVjaGFuaWNzIHRvIHBlcmZvcm0gdGhlIGJsZW5kIGJldHdl
ZW4gdGhlCisgICAgICAgIGZyb20gYW5kIHRvIGtleWZyYW1lcy4KKyAgICAgICAgKiBhbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuaDoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
aWRsOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQW5pbWF0aW9uOjpyZXNvbHZlKToKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5p
bWF0aW9uLmg6CisgICAgICAgICogYmluZGluZ3MvSURMVHlwZXMuaDoKKyAgICAgICAgKFdlYkNv
cmU6OklETE9iamVjdDo6bnVsbFZhbHVlKTogTWFrZSBKU0M6OlN0cm9uZyBhbiBvcHRpb25hbCB0
eXBlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmV4aXN0aW5nVGltZWxpbmUgY29uc3QpOiBQcm92aWRlIGFuIGV4cGxpY2l0IG1ldGhvZCBm
b3IgY2FsbCBzaXRlcyB0byBjaGVjayBleGlzdGVuY2UKKyAgICAgICAgb2YgYSB0aW1lbGluZSBi
ZWZvcmUgZm9yY2luZyBvbmUgdG8gYmUgY3JlYXRlZCBpZiBtaXNzaW5nIGJ5IGNhbGxpbmcgdGlt
ZWxpbmUoKS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpnZXRBbmltYXRpb25zKTogRG8gbm90IGZvcmNlIHRoZSBjcmVhdGlvbiBvZiBhIHRp
bWVsaW5lIGlmIG9uZSBpc24ndCBhbHJlYWR5IGNyZWF0ZWQuCisgICAgICAgICogc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZl
cjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKTogV2hlbiBhcHBseWluZyBzdHlsZXMsIGFj
Y291bnQgZm9yIGFueSBXZWIKKyAgICAgICAgQW5pbWF0aW9uIGFwcGxpZWQgdG8gdGhlIHByb3Zp
ZGVkIGVsZW1lbnQuCisKIDIwMTctMTEtMTQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSBjb21tZW50IGluIEZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IHRvIHJlZmxlY3QgbG9jYXRpb24gb2YgVmlzdWFsIFN0dWRpbyBwcm9wZXJ0eSBmaWxlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5oCmluZGV4IGU0NTY0NzliOWNj
MjA0NjkwOTA2MWJmZjExZmRjYjY5ZGI0NGRlZmUuLjEzYTJkYjVlYTllYTk2MWYzMTNkZWI5ODFm
OGEzYmYwNjZiOWU0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Bbmlt
YXRpb25FZmZlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uRWZm
ZWN0LmgKQEAgLTM2LDEwICszNiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEFu
aW1hdGlvbkVmZmVjdCA6IHB1YmxpYyBSZWZDb3VudGVkPEFuaW1hdGlvbkVmZmVjdD4gewogcHVi
bGljOgorICAgIHZpcnR1YWwgfkFuaW1hdGlvbkVmZmVjdCgpID0gZGVmYXVsdDsKKwogICAgIGJv
b2wgaXNLZXlmcmFtZUVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEtleWZy
YW1lRWZmZWN0Q2xhc3M7IH0KICAgICBBbmltYXRpb25FZmZlY3RUaW1pbmcqIHRpbWluZygpIGNv
bnN0IHsgcmV0dXJuIG1fdGltaW5nLmdldCgpOyB9Ci0KLSAgICB2aXJ0dWFsIH5BbmltYXRpb25F
ZmZlY3QoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYXBwbHlBdExvY2FsVGltZShTZWNvbmRzLCBS
ZW5kZXJTdHlsZSYpID0gMDsKIAogICAgIFdlYkFuaW1hdGlvbiogYW5pbWF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9hbmltYXRpb24uZ2V0KCk7IH0KICAgICB2b2lkIHNldEFuaW1hdGlvbihSZWZQ
dHI8V2ViQW5pbWF0aW9uPiYmIGFuaW1hdGlvbikgeyBtX2FuaW1hdGlvbiA9IGFuaW1hdGlvbjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaAppbmRleCA3
NGRhNWRiYTE2NjM0Nzg1MzlmOTlmYmFkNzQ5YWM0YTY2YTgwYjUwLi5jN2E2OTMzMzg1MGVkN2Iy
NWU5MThkMmM4MDJjZDliZTZmYmE5OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
QW5pbWF0aW9uVGltZWxpbmUuaApAQCAtNzAsNiArNzAsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBl
eHBsaWNpdCBBbmltYXRpb25UaW1lbGluZShDbGFzc1R5cGUpOwogCisgICAgSGFzaE1hcDxSZWZQ
dHI8RWxlbWVudD4sIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4+IGVsZW1lbnRUb0FuaW1h
dGlvbnNNYXAoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRUb0FuaW1hdGlvbnNNYXA7IH0KKwog
cHJpdmF0ZToKICAgICBDbGFzc1R5cGUgbV9jbGFzc1R5cGU7CiAgICAgc3RkOjpvcHRpb25hbDxT
ZWNvbmRzPiBtX2N1cnJlbnRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3Vt
ZW50VGltZWxpbmUuY3BwCmluZGV4IDg1YzExZTBiN2U4ZDJmYjc5ZjdlNDU0NjZhZjhmMjBlNTBk
OTFhNGMuLmIwZmQ2ZDdkZGE2YTgxZmEwOTVkZGRmMjViOWQ0MzZjZTkyYjBhNGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5jcHAKQEAgLTE1NCwxMSAr
MTU0LDE3IEBAIHZvaWQgRG9jdW1lbnRUaW1lbGluZTo6ZGlzcGxheVJlZnJlc2hGaXJlZCgpCiB2
b2lkIERvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvblJlc29sdXRpb25UaW1lckZpcmVkKCkKICNl
bmRpZgogewotICAgIHJlc29sdmVBbmltYXRpb25zKCk7CisgICAgdXBkYXRlQW5pbWF0aW9ucygp
OwogfQogCi12b2lkIERvY3VtZW50VGltZWxpbmU6OnJlc29sdmVBbmltYXRpb25zKCkKK3ZvaWQg
RG9jdW1lbnRUaW1lbGluZTo6dXBkYXRlQW5pbWF0aW9ucygpCiB7CisgICAgaWYgKG1fZG9jdW1l
bnQgJiYgIWVsZW1lbnRUb0FuaW1hdGlvbnNNYXAoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZm9y
IChjb25zdCBhdXRvJiBlbGVtZW50VG9BbmltYXRpb25zTWFwSXRlbSA6IGVsZW1lbnRUb0FuaW1h
dGlvbnNNYXAoKSkKKyAgICAgICAgICAgIGVsZW1lbnRUb0FuaW1hdGlvbnNNYXBJdGVtLmtleS0+
aW52YWxpZGF0ZVN0eWxlQW5kTGF5ZXJDb21wb3NpdGlvbigpOworICAgICAgICBtX2RvY3VtZW50
LT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CisgICAgfQorCiAgICAgLy8gVGltZSBoYXMgYWR2YW5j
ZWQsIHRoZSB0aW1pbmcgbW9kZWwgcmVxdWlyZXMgaW52YWxpZGF0aW9uIG5vdy4KICAgICBhbmlt
YXRpb25UaW1pbmdNb2RlbERpZENoYW5nZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9Eb2N1bWVudFRpbWVsaW5lLmgKaW5kZXggNmYzZGYxYTBiMjlmMWVmODRhZDg3N2E5NjZlMWIx
M2QzYzRiYWM0OS4uMzAwNjBmNjM0OTQwMGI4Yjk3YjQxYzJlMjNkMmJlZGRhOTIzMTI2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCkBAIC02Miw3ICs2
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVBbmltYXRpb25TY2hlZHVsZSgpOwogICAg
IHZvaWQgYW5pbWF0aW9uU2NoZWR1bGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzY2hlZHVsZUFu
aW1hdGlvblJlc29sdXRpb24oKTsKLSAgICB2b2lkIHJlc29sdmVBbmltYXRpb25zKCk7CisgICAg
dm9pZCB1cGRhdGVBbmltYXRpb25zKCk7CiAKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1l
bnQ7CiAgICAgYm9vbCBtX3BhdXNlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmNwcAppbmRleCBjYjdiYjIyNDFjNDM4ODQ4OGVmNDU0NWYzODRl
ZWRhNDUzNmE1MWE2Li4xNTUxM2I2ZTBmZmZmZGM1Y2RmNzcyZWFmNjQ4ODdjMTc0ZWRhNjVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTI2LDEz
ICsyNiwyNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0
LmgiCiAKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydGll
cy5oIgorI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewor
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotUmVmPEtleWZyYW1lRWZmZWN0PiBLZXlmcmFtZUVmZmVj
dDo6Y3JlYXRlKEVsZW1lbnQqIHRhcmdldCkKK0V4Y2VwdGlvbk9yPFJlZjxLZXlmcmFtZUVmZmVj
dD4+IEtleWZyYW1lRWZmZWN0OjpjcmVhdGUoRXhlY1N0YXRlJiBzdGF0ZSwgRWxlbWVudCogdGFy
Z2V0LCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzKQogewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCkpOworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRS
ZWYoKm5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQpKTsKKworICAgIGF1dG8gc2V0S2V5ZnJhbWVz
UmVzdWx0ID0gcmVzdWx0LT5zZXRLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzKSk7
CisgICAgaWYgKHNldEtleWZyYW1lc1Jlc3VsdC5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIHNldEtleWZyYW1lc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICByZXR1cm4g
V1RGTW92ZShyZXN1bHQpOwogfQogCiBLZXlmcmFtZUVmZmVjdDo6S2V5ZnJhbWVFZmZlY3QoRWxl
bWVudCogdGFyZ2V0KQpAQCAtNDEsNCArNTIsOTMgQEAgS2V5ZnJhbWVFZmZlY3Q6OktleWZyYW1l
RWZmZWN0KEVsZW1lbnQqIHRhcmdldCkKIHsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gS2V5ZnJh
bWVFZmZlY3Q6OnNldEtleWZyYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+
JiYga2V5ZnJhbWVzKQoreworICAgIGF1dG8gcHJvY2Vzc0tleWZyYW1lc1Jlc3VsdCA9IHByb2Nl
c3NLZXlmcmFtZXMoc3RhdGUsIFdURk1vdmUoa2V5ZnJhbWVzKSk7CisgICAgaWYgKHByb2Nlc3NL
ZXlmcmFtZXNSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBwcm9jZXNzS2V5
ZnJhbWVzUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICByZXR1cm4geyB9OworfQorCitF
eGNlcHRpb25Pcjx2b2lkPiBLZXlmcmFtZUVmZmVjdDo6cHJvY2Vzc0tleWZyYW1lcyhFeGVjU3Rh
dGUmIHN0YXRlLCBTdHJvbmc8SlNPYmplY3Q+JiYga2V5ZnJhbWVzKQoreworICAgIC8vIEZJWE1F
OiBXZSBvbmx5IGhhdmUgcHJpbWl0aXZlIHRvLWZyb20gcGFyc2luZywgZm9yIGZ1bGwgc3VwcG9y
dCBzZWUgd2Via2l0Lm9yZy9iLzE3OTcwOC4KKyAgICAvLyBGdWxsIHNwZWNpZmljYXRpb24gaXMg
YXQgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1hbmltYXRpb25zLyNwcm9jZXNzaW5nLWEta2V5
ZnJhbWVzLWFyZ3VtZW50LgorCisgICAgaWYgKCFtX3RhcmdldCB8fCAha2V5ZnJhbWVzKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgaWYgKCFpc0pTQXJyYXkoa2V5ZnJhbWVzLmdldCgpKSkK
KyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworCisgICAgVmVjdG9yPEtl
eWZyYW1lPiBuZXdLZXlmcmFtZXMgeyB9OworCisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVzb2x2ZXIoKTsKKyAgICBhdXRv
IHBhcnNlckNvbnRleHQgPSBDU1NQYXJzZXJDb250ZXh0KEhUTUxTdGFuZGFyZE1vZGUpOworCisg
ICAgY29uc3QgYXV0byogYXJyYXkgPSBqc0Nhc3Q8Y29uc3QgSlNBcnJheSo+KGtleWZyYW1lcy5n
ZXQoKSk7CisgICAgYXV0byBsZW5ndGggPSBhcnJheS0+bGVuZ3RoKCk7CisgICAgaWYgKGxlbmd0
aCAhPSAyKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CisKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgY29uc3QgSlNW
YWx1ZSB2YWx1ZSA9IGFycmF5LT5nZXRJbmRleCgmc3RhdGUsIGkpOworICAgICAgICBpZiAoc2Nv
cGUuZXhjZXB0aW9uKCkgfHwgIXZhbHVlIHx8ICF2YWx1ZS5pc09iamVjdCgpKQorICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OworICAgICAgICBKU09iamVjdCoga2V5
ZnJhbWUgPSB2YWx1ZS50b09iamVjdCgmc3RhdGUpOworICAgICAgICBQcm9wZXJ0eU5hbWVBcnJh
eSBvd25Qcm9wZXJ0eU5hbWVzKCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5ncywgUHJpdmF0
ZVN5bWJvbE1vZGU6OkV4Y2x1ZGUpOworICAgICAgICBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlO
YW1lcyhrZXlmcmFtZSwgJnN0YXRlLCBvd25Qcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUo
KSk7CisgICAgICAgIHNpemVfdCBudW1iZXJPZlByb3BlcnRpZXMgPSBvd25Qcm9wZXJ0eU5hbWVz
LnNpemUoKTsKKworICAgICAgICBTdHJpbmdCdWlsZGVyIGNzc1RleHQ7CisgICAgICAgIGZvciAo
dW5zaWduZWQgaiA9IDA7IGogPCBudW1iZXJPZlByb3BlcnRpZXM7ICsraikgeworICAgICAgICAg
ICAgY3NzVGV4dC5hcHBlbmQob3duUHJvcGVydHlOYW1lc1tqXS5zdHJpbmcoKSk7CisgICAgICAg
ICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjogIik7CisgICAgICAgICAgICBjc3NUZXh0LmFw
cGVuZChrZXlmcmFtZS0+Z2V0KCZzdGF0ZSwgb3duUHJvcGVydHlOYW1lc1tqXSkudG9XVEZTdHJp
bmcoJnN0YXRlKSk7CisgICAgICAgICAgICBjc3NUZXh0LmFwcGVuZExpdGVyYWwoIjsgIik7Cisg
ICAgICAgIH0KKworICAgICAgICBhdXRvIHJlbmRlclN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0
ZVB0cigpOworICAgICAgICBhdXRvIHN0eWxlUHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3Bl
cnRpZXM6OmNyZWF0ZSgpOworICAgICAgICBzdHlsZVByb3BlcnRpZXMtPnBhcnNlRGVjbGFyYXRp
b24oY3NzVGV4dC50b1N0cmluZygpLCBwYXJzZXJDb250ZXh0KTsKKyAgICAgICAgdW5zaWduZWQg
bnVtYmVyT2ZDU1NQcm9wZXJ0aWVzID0gc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUNvdW50KCk7
CisKKyAgICAgICAgVmVjdG9yPENTU1Byb3BlcnR5SUQ+IHByb3BlcnRpZXM7CisgICAgICAgIGZv
ciAodW5zaWduZWQgayA9IDA7IGsgPCBudW1iZXJPZkNTU1Byb3BlcnRpZXM7ICsraykgeworICAg
ICAgICAgICAgcHJvcGVydGllcy5hcHBlbmQoc3R5bGVQcm9wZXJ0aWVzLT5wcm9wZXJ0eUF0KGsp
LmlkKCkpOworICAgICAgICAgICAgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9TdHlsZShz
dHlsZVByb3BlcnRpZXMtPnByb3BlcnR5QXQoaykuaWQoKSwgc3R5bGVQcm9wZXJ0aWVzLT5wcm9w
ZXJ0eUF0KGspLnZhbHVlKCksIFdURk1vdmUocmVuZGVyU3R5bGUpKTsKKyAgICAgICAgICAgIHJl
bmRlclN0eWxlID0gc3R5bGVSZXNvbHZlci5zdGF0ZSgpLnRha2VTdHlsZSgpOworICAgICAgICB9
CisKKyAgICAgICAgbmV3S2V5ZnJhbWVzLmFwcGVuZCh7IFJlbmRlclN0eWxlOjpjbG9uZSgqcmVu
ZGVyU3R5bGUpLCBwcm9wZXJ0aWVzIH0pOworICAgIH0KKworICAgIG1fa2V5ZnJhbWVzID0gV1RG
TW92ZShuZXdLZXlmcmFtZXMpOworCisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBLZXlmcmFt
ZUVmZmVjdDo6YXBwbHlBdExvY2FsVGltZShTZWNvbmRzIGxvY2FsVGltZSwgUmVuZGVyU3R5bGUm
IHRhcmdldFN0eWxlKQoreworICAgIGlmICghbV90YXJnZXQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIC8vIEZJWE1FOiBBc3N1bWUgYW5pbWF0aW9ucyBvbmx5IGFwcGx5IGluIHRoZSByYW5nZSBb
MCwgZHVyYXRpb25bCisgICAgLy8gdW50aWwgd2Ugc3VwcG9ydCBmaWxsIG1vZGVzLCBkZWxheXMg
YW5kIGl0ZXJhdGlvbnMuCisgICAgaWYgKGxvY2FsVGltZSA8IDBfcyB8fCBsb2NhbFRpbWUgPj0g
dGltaW5nKCktPmR1cmF0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghdGltaW5n
KCktPmR1cmF0aW9uKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZsb2F0IHByb2dyZXNzID0g
bG9jYWxUaW1lIC8gdGltaW5nKCktPmR1cmF0aW9uKCk7CisKKyAgICAvLyBGSVhNRTogVGhpcyB3
aWxsIGNyYXNoIGlmIHdlIGF0dGVtcHQgdG8gYW5pbWF0ZSBwcm9wZXJ0aWVzIHRoYXQgcmVxdWly
ZSBhbiBBbmltYXRpb25CYXNlLgorICAgIGZvciAoYXV0byBwcm9wZXJ0eUlkIDogbV9rZXlmcmFt
ZXNbMF0ucHJvcGVydGllcykKKyAgICAgICAgQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJv
cGVydGllcyhudWxscHRyLCBwcm9wZXJ0eUlkLCAmdGFyZ2V0U3R5bGUsICZtX2tleWZyYW1lc1sw
XS5zdHlsZSwgJm1fa2V5ZnJhbWVzWzFdLnN0eWxlLCBwcm9ncmVzcyk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlm
cmFtZUVmZmVjdC5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgK
aW5kZXggZDVlNGYzNmRiNGJiMDBiZDM3M2M2ZGU3NDM1ZTZjNGM2OTE4MjNjNi4uNjBlOWMyMzM2
YzlhZDJlYTM1ODhkNzdjYzU5N2YyZjhlZDJhOGE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmgKQEAgLTI2LDIyICsyNiwzMiBAQAogI3ByYWdtYSBvbmNlCiAK
ICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgog
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVt
ZW50OwogCitzdHJ1Y3QgS2V5ZnJhbWUgeworICAgIFJlbmRlclN0eWxlIHN0eWxlOworICAgIFZl
Y3RvcjxDU1NQcm9wZXJ0eUlEPiBwcm9wZXJ0aWVzOworfTsKKwogY2xhc3MgS2V5ZnJhbWVFZmZl
Y3QgZmluYWwgOiBwdWJsaWMgQW5pbWF0aW9uRWZmZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPEtleWZyYW1lRWZmZWN0PiBjcmVhdGUoRWxlbWVudCopOworICAgIHN0YXRpYyBFeGNlcHRp
b25PcjxSZWY8S2V5ZnJhbWVFZmZlY3Q+PiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUmLCBFbGVtZW50
KiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7CiAgICAgfktleWZyYW1lRWZmZWN0KCkg
eyB9CiAKICAgICBFbGVtZW50KiB0YXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldC5nZXQo
KTsgfQorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEtleWZyYW1lcyhKU0M6OkV4ZWNTdGF0ZSYs
IEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYpOworICAgIHZvaWQgYXBwbHlBdExvY2FsVGlt
ZShTZWNvbmRzLCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIEtleWZy
YW1lRWZmZWN0KEVsZW1lbnQqKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBwcm9jZXNzS2V5ZnJh
bWVzKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJik7CiAgICAg
UmVmUHRyPEVsZW1lbnQ+IG1fdGFyZ2V0OworICAgIFZlY3RvcjxLZXlmcmFtZT4gbV9rZXlmcmFt
ZXM7CiAKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFt
ZUVmZmVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRs
CmluZGV4IDUzOGU4MzFjNWRkMTA4YjUyZTY4YzFmNzA2ZjI4NDcyZDZkOGUzN2QuLjUxOWEwYjZm
MzA1MTViZGRiNjBhZjM4ZjllMTkzYTEzYWVkMjcyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbApAQCAtMjUsNyArMjUsMTAgQEAKIAogWwogICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9ucywKLSAgICBDb25zdHJ1Y3RvcihFbGVtZW50PyB0
YXJnZXQpCisgICAgQ29uc3RydWN0b3JNYXlUaHJvd0V4Y2VwdGlvbiwKKyAgICBDb25zdHJ1Y3Rv
ckNhbGxXaXRoPVNjcmlwdFN0YXRlLAorICAgIENvbnN0cnVjdG9yKEVsZW1lbnQ/IHRhcmdldCwg
b2JqZWN0PyBrZXlmcmFtZXMpCiBdIGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFuaW1hdGlv
bkVmZmVjdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIENhbGxXaXRoPVNjcmlwdFN0YXRlXSB2b2lkIHNldEtleWZyYW1l
cyhvYmplY3Q/IGtleWZyYW1lcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmNwcAppbmRleCBhZWM5NzllNDAzMmMyMTEwYTIxNmUzZDEwMjgwNDY1NzQ0YWYxNTAw
Li4wYWZiZWY1MDJkZGRiZjdjZmZlMGE5Y2E2NTZlM2ZlM2QzMmFmZmUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMjM3LDYgKzIzNywxMiBAQCBTZWNv
bmRzIFdlYkFuaW1hdGlvbjo6dGltZVRvTmV4dFJlcXVpcmVkVGljayhTZWNvbmRzIHRpbWVsaW5l
VGltZSkgY29uc3QKICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKIH0KIAordm9pZCBX
ZWJBbmltYXRpb246OnJlc29sdmUoUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlKQoreworICAgIGlm
IChtX2VmZmVjdCAmJiBjdXJyZW50VGltZSgpKQorICAgICAgICBtX2VmZmVjdC0+YXBwbHlBdExv
Y2FsVGltZShjdXJyZW50VGltZSgpLnZhbHVlKCksIHRhcmdldFN0eWxlKTsKK30KKwogU3RyaW5n
IFdlYkFuaW1hdGlvbjo6ZGVzY3JpcHRpb24oKQogewogICAgIHJldHVybiAiQW5pbWF0aW9uIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCBiNGI1MjQ2MWE4MzE2
YWE5ZWJlZGQ5YzEwYzVkOTEwZTAzMmFjMWY0Li4wZWIyMzZmNTZjYmIwMjI0Yzg2NDc5ZTU0ZWY4
NTY2NTFkMDViMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCkBA
IC0zOCw2ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFuaW1hdGlvbkVmZmVj
dDsKIGNsYXNzIEFuaW1hdGlvblRpbWVsaW5lOwogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBSZW5k
ZXJTdHlsZTsKIAogY2xhc3MgV2ViQW5pbWF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViQW5pbWF0aW9uPiB7CiBwdWJsaWM6CkBAIC02Myw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFBsYXliYWNrUmF0ZShkb3VibGUpOwogCiAgICAgU2Vjb25kcyB0aW1lVG9OZXh0UmVx
dWlyZWRUaWNrKFNlY29uZHMpIGNvbnN0OworICAgIHZvaWQgcmVzb2x2ZShSZW5kZXJTdHlsZSYp
OwogCiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL0lETFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9JRExUeXBl
cy5oCmluZGV4IDZiN2JiMjIxMWNlZWIzNWQ3OWIwZTlmMGJjMjIyMTAxMTkwMWMyNTUuLjRjYjVl
MjUyZTJjNmM0NTI0MzlmM2VjMThlZDM1MjFkODczZTAyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL0lETFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
SURMVHlwZXMuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiU3RyaW5nQWRhcHRvcnMu
aCIKICNpbmNsdWRlIDxoZWFwL0hhbmRsZVR5cGVzLmg+CisjaW5jbHVkZSA8aGVhcC9TdHJvbmcu
aD4KICNpbmNsdWRlIDx3dGYvQnJpZ2FuZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTUwLDcgKzE1MSw3IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBJRExSZXF1aXJlc0V4aXN0aW5nQXRvbWljU3RyaW5nQWRhcHRv
ciA6IElETFN0cmluZzxBCiBzdHJ1Y3QgSURMT2JqZWN0IDogSURMVHlwZTxKU0M6OlN0cm9uZzxK
U0M6OkpTT2JqZWN0Pj4gewogICAgIHVzaW5nIE51bGxhYmxlVHlwZSA9IEpTQzo6U3Ryb25nPEpT
Qzo6SlNPYmplY3Q+OwogCi0gICAgc3RhdGljIGlubGluZSBzdGQ6Om51bGxwdHJfdCBudWxsVmFs
dWUoKSB7IHJldHVybiBudWxscHRyOyB9CisgICAgc3RhdGljIGlubGluZSBOdWxsYWJsZVR5cGUg
bnVsbFZhbHVlKCkgeyByZXR1cm4geyB9OyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3Rh
dGljIGlubGluZSBib29sIGlzTnVsbFZhbHVlKFUmJiB2YWx1ZSkgeyByZXR1cm4gIXZhbHVlOyB9
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gc3RhdGljIGlubGluZSBVJiYgZXh0cmFjdFZhbHVl
RnJvbU51bGxhYmxlKFUmJiB2YWx1ZSkgeyByZXR1cm4gc3RkOjpmb3J3YXJkPFU+KHZhbHVlKTsg
fQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNmI0Njc0YzdmZjk5ZjBiYTMzMjQ3MWJhNGE2
MTNhNThjZTE4NGQ2Zi4uZDg5NzViY2U5YTkzMWJhZDkzNmI1YWYwMGEwZWQyMzA4ODIzOGEzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzNzcsNiArMTM3Nyw3IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbnNvbGVNZXNzYWdlTGlzdGVuZXIoUmVmUHRyPFN0cmlu
Z0NhbGxiYWNrPiYmKTsgLy8gRm9yIHRlc3RpbmcuCiAKICAgICBEb2N1bWVudFRpbWVsaW5lJiB0
aW1lbGluZSgpOworICAgIERvY3VtZW50VGltZWxpbmUqIGV4aXN0aW5nVGltZWxpbmUoKSBjb25z
dCB7IHJldHVybiBtX3RpbWVsaW5lLmdldCgpOyB9CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJBbmlt
YXRpb24+PiBnZXRBbmltYXRpb25zKCk7CiAgICAgICAgIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMWFmNDQxOTY3NDJiYThmNTgyNjBm
MDMzOTFmZTBmY2E2NTU3ZWIzYy4uMGFmY2Y1YjNkM2ZiNWMzMDliOTFjZjczNWE5MWRhYTBlODA2
MTNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzcwNCw3ICszNzA0LDkgQEAgRWxlbWVu
dCogRWxlbWVudDo6ZmluZEFuY2hvckVsZW1lbnRGb3JMaW5rKFN0cmluZyYgb3V0QW5jaG9yTmFt
ZSkKIFZlY3RvcjxSZWZQdHI8V2ViQW5pbWF0aW9uPj4gRWxlbWVudDo6Z2V0QW5pbWF0aW9ucygp
CiB7CiAgICAgLy8gRklYTUU6IEZpbHRlciBhbmQgb3JkZXIgdGhlIGxpc3QgYXMgc3BlY2lmaWVk
ICh3ZWJraXQub3JnL2IvMTc5NTM1KS4KLSAgICByZXR1cm4gZG9jdW1lbnQoKS50aW1lbGluZSgp
LmFuaW1hdGlvbnNGb3JFbGVtZW50KCp0aGlzKTsKKyAgICBpZiAoYXV0byB0aW1lbGluZSA9IGRv
Y3VtZW50KCkuZXhpc3RpbmdUaW1lbGluZSgpKQorICAgICAgICByZXR1cm4gdGltZWxpbmUtPmFu
aW1hdGlvbnNGb3JFbGVtZW50KCp0aGlzKTsKKyAgICByZXR1cm4gVmVjdG9yPFJlZlB0cjxXZWJB
bmltYXRpb24+PiB7IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCAyMTM0NjdjNGY5Y2QzYmM0ZWRk
YjE1MjA2MWQ3YmZhZWQ1ZDJiZjFlLi5kMzM4ZjZjNDkxMGQ0ZTA5YmYwYWQ1YTcxMzY2NmIwZDg2
N2E5ZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAi
Q29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbXBvc2VkVHJlZUl0
ZXJhdG9yLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZS5oIgogI2luY2x1ZGUgIkVsZW1l
bnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxNZXRlckVsZW1lbnQuaCIKQEAgLTI3NCw5ICsyNzUsMjAgQEAgY29uc3QgUmVuZGVyU3R5bGUq
IFRyZWVSZXNvbHZlcjo6cGFyZW50Qm94U3R5bGUoKSBjb25zdAogCiBFbGVtZW50VXBkYXRlIFRy
ZWVSZXNvbHZlcjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4gbmV3U3R5bGUsIEVsZW1lbnQmIGVsZW1lbnQsIENoYW5nZSBwYXJlbnRDaGFu
Z2UpCiB7CisgICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250ZW50c1N0eWxl
KGVsZW1lbnQpOworCisgICAgaWYgKGF1dG8gdGltZWxpbmUgPSBlbGVtZW50LmRvY3VtZW50KCku
ZXhpc3RpbmdUaW1lbGluZSgpKSB7CisgICAgICAgIGF1dG8gd2ViQW5pbWF0aW9ucyA9IHRpbWVs
aW5lLT5hbmltYXRpb25zRm9yRWxlbWVudChlbGVtZW50KTsKKyAgICAgICAgaWYgKCF3ZWJBbmlt
YXRpb25zLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0
eWxlPiBhbmltYXRlZFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpuZXdTdHlsZSk7Cisg
ICAgICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGFuaW1hdGlvbiA6IHdlYkFuaW1hdGlvbnMpCisg
ICAgICAgICAgICAgICAgYW5pbWF0aW9uLT5yZXNvbHZlKCphbmltYXRlZFN0eWxlKTsKKyAgICAg
ICAgICAgIG5ld1N0eWxlID0gV1RGTW92ZShhbmltYXRlZFN0eWxlKTsKKyAgICAgICAgfQorICAg
IH0KKwogICAgIGF1dG8mIGFuaW1hdGlvbkNvbnRyb2xsZXIgPSBtX2RvY3VtZW50LmZyYW1lKCkt
PmFuaW1hdGlvbigpOwogCi0gICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250
ZW50c1N0eWxlKGVsZW1lbnQpOwogICAgIGF1dG8gYW5pbWF0aW9uVXBkYXRlID0gYW5pbWF0aW9u
Q29udHJvbGxlci51cGRhdGVBbmltYXRpb25zKGVsZW1lbnQsICpuZXdTdHlsZSwgb2xkU3R5bGUp
OwogCiAgICAgaWYgKGFuaW1hdGlvblVwZGF0ZS5zdHlsZSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwOTk2YzE5ODIzMGNk
MDY0N2RhMTk3MzQ0Mzg3ZGRlODhlYjlmMjExLi4wZjk4OGFiZmNjOWU0OTE5YzczNWY4YTEyZDkx
NWZhMDI0MjFkYTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTctMTEtMTQgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIElt
cGxlbWVudCBiYXNpYyB0by1mcm9tIGFuaW1hdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTcwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQ5MzI0NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXBkYXRlIGV4aXN0aW5nIHRlc3RzIHRvIGV4cGxpY2l0bHkgcGFzcyBudWxsIGZvciBrZXlm
cmFtZXMgYW5kIHVwZGF0ZSBXUFQgZXhwZWN0YXRpb25zLgorCisgICAgICAgICogaHR0cC93cHQv
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9BbmltYXRpb25UaW1lbGluZS9kb2N1bWVudC10aW1l
bGluZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50
ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9j
ZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
aHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNz
aW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFt
ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb25zL3NldC10aGUtYW5pbWF0aW9uLXN0YXJ0LXRpbWUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvZWxl
bWVudC1nZXQtYW5pbWF0aW9ucy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3drLXdlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFzaWMuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9uLWVm
ZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3Bl
cnR5Lmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2tleWZyYW1lLWVmZmVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGlt
aW5nLWR1cmF0aW9uLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMv
dGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sOgorCiAyMDE3LTExLTE0ICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBTdHViIGltcGxlbWVudGF0aW9ucyBv
ZiBPZmZzY3JlZW5DYW52YXMgZ2V0Q29udGV4dCBhbmQgdHJhbnNmZXJUb0ltYWdlQml0bWFwCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L0FuaW1hdGlvblRpbWVsaW5lL2RvY3VtZW50LXRpbWVsaW5lLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxp
bmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IGYxOGRmYWJiN2NiYzI3MmY4
YjhkOTNkOGE1Nzk4ZGE2ODIzOGU1MTMuLjg4MjBkZWNmZTU3MzFhZmNkODIzMmI5MzJmOTdjZWE5
MTk1ZWNlODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvQW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMv
QW5pbWF0aW9uVGltZWxpbmUvZG9jdW1lbnQtdGltZWxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCiBQQVNTIGRvY3VtZW50LnRpbWVsaW5lIGlkZW50aXR5IHRlc3RzIAotRkFJTCBk
b2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSB2YWx1ZSB0ZXN0cyBhc3NlcnRfZXF1YWxzOiBk
b2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBtYXRjaGVzIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSB0aW1lIGV4cGVjdGVkIDU1Mi4zMDAwMDAwMDAwMDAxIGJ1dCBnb3QgMC41NTM4MDAwMDAwMDAw
MDAxCitGQUlMIGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIHZhbHVlIHRlc3RzIGFzc2Vy
dF9lcXVhbHM6IGRvY3VtZW50LnRpbWVsaW5lLmN1cnJlbnRUaW1lIG1hdGNoZXMgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lIHRpbWUgZXhwZWN0ZWQgODUyLjkgYnV0IGdvdCAwLjg1NDAwMDAwMDAwMDAw
MDEKIFBBU1MgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgbGl2ZW5lc3MgdGVzdHMgCiBQ
QVNTIGlmcmFtZSBkb2N1bWVudC50aW1lbGluZS5jdXJyZW50VGltZSBsaXZlbmVzcyB0ZXN0cyAK
IFBBU1MgZG9jdW1lbnQudGltZWxpbmUuY3VycmVudFRpbWUgdGltZSBzaG91bGQgYmUgdGhlIHNh
bWUgZm9yIGFsbCBSQUYgY2FsbGJhY2tzIGluIGEgZnJhbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZmZWN0L2Nv
bnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRp
b25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDNlMGYzZjNmNmRlZjc4NjM5OTIxNmQ5YWFmZmI0YWYyYzUzZmI3OGEuLjU3YjZmZWU1OGM3
NTNkNWMxM2I2YThhOGJlNmYyZjViZGEzMzMxODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25z
L2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0x
OTksNSArMTk5LDUgQEAgRkFJTCBhIEtleWZyYW1lRWZmZWN0UmVhZE9ubHkgY29uc3RydWN0ZWQg
d2l0aCBudWxsIHRhcmdldCBDYW4ndCBmaW5kIHZhcmlhYmxlOgogUEFTUyBLZXlmcmFtZUVmZmVj
dCBjb25zdHJ1Y3RvciBjcmVhdGVzIGFuIEFuaW1hdGlvbkVmZmVjdFRpbWluZyB0aW1pbmcgb2Jq
ZWN0IAogRkFJTCBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciBwcm9wYWdhdGVzIGV4Y2VwdGlv
bnMgZ2VuZXJhdGVkIGJ5IGFjY2Vzc2luZyB0aGUgb3B0aW9ucyBvYmplY3QgYXNzZXJ0X3Rocm93
czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICBuZXcgS2V5ZnJhbWVFZmZlY3QodGFyZ2V0
LCB7IGdldCBsZWZ0KCkgeyB0aHJvdyB0ZXN0X2Vycm9yIH19KQotICB9IiBkaWQgbm90IHRocm93
CisgIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBUeXBlIGVycm9yIiAoIlR5cGVFcnJvciIp
IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBPYmplY3RdIiAoInRlc3QiKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1l
RWZmZWN0L3Byb2Nlc3NpbmctYS1rZXlmcmFtZXMtYXJndW1lbnQtMDAxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVF
ZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGQxM2U1NDRlZTc3NmViMGNmZTA3MTkyZmJmNmM2YWY4NjlhNzMwODAuLmMwYmI3NzI0ZjFm
ZmQ1ZWUyMzhiZTcyYmI5MzE4MmYyODkxZmZlMDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2lu
Zy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vz
c2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDEtZXhwZWN0ZWQudHh0CkBAIC01NSw1ICs1NSw1
IEBAIEZBSUwgT25seSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24ga2V5ZnJhbWVzIGFyZSByZWFk
IGVmZmVjdC5nZXRLZXlmcmFtZXMgaXMgbm90CiBGQUlMIE9ubHkgcHJvcGVydGllcyBkZWZpbmVk
IGRpcmVjdGx5IG9uIGtleWZyYW1lcyBhcmUgcmVhZCBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5
ZnJhbWVzJyBpcyB1bmRlZmluZWQpCiBGQUlMIE9ubHkgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9u
IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIGFyZSByZWFkIGVmZmVjdC5nZXRLZXlmcmFtZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2VmZmVjdC5n
ZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKIEZBSUwgT25seSBwcm9wZXJ0aWVzIGRlZmluZWQg
ZGlyZWN0bHkgb24gcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgYXJlIHJlYWQgZWZmZWN0Lmdl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3QuZ2V0S2V5ZnJhbWVzKCkn
LCAnZWZmZWN0LmdldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBQcm9wZXJ0aWVzIGFy
ZSByZWFkIGluIGFzY2VuZGluZyBvcmRlciBieSBVbmljb2RlIGNvZGVwb2ludCBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBwcm9wZXJ0eSBhY2Nlc3Mgb3JkZXIgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVk
IDUgZ290IDAKK0ZBSUwgUHJvcGVydGllcyBhcmUgcmVhZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkg
VW5pY29kZSBjb2RlcG9pbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgYWNjZXNzIG9y
ZGVyIHByb3BlcnR5IDAsIGV4cGVjdGVkICJjb21wb3NpdGUiIGJ1dCBnb3QgIm1hcmdpbkxlZnQi
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVy
ZmFjZXMvS2V5ZnJhbWVFZmZlY3QvcHJvY2Vzc2luZy1hLWtleWZyYW1lcy1hcmd1bWVudC0wMDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJm
YWNlcy9LZXlmcmFtZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1l
eHBlY3RlZC50eHQKaW5kZXggZDhhMTZjYjE1NGFjY2RlYjIxNTkwNTRjZWJjNzg5MjUzYzk2ZTQx
MC4uMzBiMzkzM2I4OTBlZTY5NzYzNTVlM2M3ZTBiMGIzMzUzYWFlYWQwYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFt
ZUVmZmVjdC9wcm9jZXNzaW5nLWEta2V5ZnJhbWVzLWFyZ3VtZW50LTAwMi1leHBlY3RlZC50eHQK
QEAgLTEsMTUgKzEsOSBAQAogCi1GQUlMIGVhc2luZyB2YWx1ZXMgYXJlIHBhcnNlZCBjb3JyZWN0
bHkgd2hlbiBzZXQgb24gYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lIGVmZmVjdC5nZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LmdldEtleWZyYW1lcygpJywgJ2Vm
ZmVjdC5nZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgZWFzaW5nIHZhbHVlcyBhcmUg
cGFyc2VkIGNvcnJlY3RseSB3aGVuIHNldCBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUg
VHlwZSBlcnJvcgogRkFJTCBlYXNpbmcgdmFsdWVzIGFyZSBwYXJzZWQgY29ycmVjdGx5IHdoZW4g
dXNpbmcgYSBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3QuZ2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2VmZmVjdC5nZXRLZXlmcmFtZXMoKScsICdlZmZlY3QuZ2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29ycmVjdGx5
IHJlamVjdGVkIHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSBhc3NlcnRf
dGhyb3dzOiBUeXBlRXJyb3IgaXMgdGhyb3duIGZvciBlYXNpbmcgJycgZnVuY3Rpb24gIigpID0+
IHsKLSAgICAgIG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXQsIHsgZWFzaW5nOiBpbnZhbGlkRWFz
aW5nIH0pOwotICAgIH0iIGRpZCBub3QgdGhyb3cKLUZBSUwgSW52YWxpZCBlYXNpbmcgdmFsdWVz
IGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiB1c2luZyBhIGtleWZyYW1lIHNlcXVlbmNlIGFz
c2VydF90aHJvd3M6IFR5cGVFcnJvciBpcyB0aHJvd24gZm9yIGVhc2luZyAnJyBmdW5jdGlvbiAi
KCkgPT4gewotICAgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgW3sgZWFzaW5nOiBpbnZh
bGlkRWFzaW5nIH1dKTsKLSAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIEVycm9ycyBmcm9tIGlu
dmFsaWQgZWFzaW5ncyBvbiBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWUgYXJlIHRocm93biBh
ZnRlciByZWFkaW5nIGFsbCBwcm9wZXJ0aWVzIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9
PiB7Ci0gICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwga2V5ZnJhbWUpOwotICB9IiBkaWQg
bm90IHRocm93CitQQVNTIEludmFsaWQgZWFzaW5nIHZhbHVlcyBhcmUgY29ycmVjdGx5IHJlamVj
dGVkIHdoZW4gc2V0IG9uIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZSAKK1BBU1MgSW52YWxp
ZCBlYXNpbmcgdmFsdWVzIGFyZSBjb3JyZWN0bHkgcmVqZWN0ZWQgd2hlbiB1c2luZyBhIGtleWZy
YW1lIHNlcXVlbmNlIAorRkFJTCBFcnJvcnMgZnJvbSBpbnZhbGlkIGVhc2luZ3Mgb24gYSBwcm9w
ZXJ0eS1pbmRleGVkIGtleWZyYW1lIGFyZSB0aHJvd24gYWZ0ZXIgcmVhZGluZyBhbGwgcHJvcGVy
dGllcyBhc3NlcnRfZXF1YWxzOiBBbGwgcHJvcGVydGllcyB3ZXJlIHJlYWQgYmVmb3JlIHRocm93
aW5nIHRoZSBlYXNpbmcgZXJyb3IgZXhwZWN0ZWQgMiBidXQgZ290IDAKIEZBSUwgRXJyb3JzIGZy
b20gaW52YWxpZCBlYXNpbmdzIG9uIGEga2V5ZnJhbWUgc2VxdWVuY2UgYXJlIHRocm93biBhZnRl
ciByZWFkaW5nIGFsbCBwcm9wZXJ0aWVzIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICIoKSA9PiB7
CiAgICAgbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldCwgWyBrZjEsIGtmMiBdKTsKICAgfSIgZGlk
IG5vdCB0aHJvdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlv
bnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVmZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9LZXlmcmFtZUVm
ZmVjdC9zZXRLZXlmcmFtZXMtZXhwZWN0ZWQudHh0CmluZGV4IDBiMzY3OTJmMTgzNzZiOWRhZTI2
MTdlN2E1ODBjYmEzMjMxMTFkNWIuLjJmMGY3ZjMyNTA5MDcwYjYxMWVhOWNlMDhkYWNkYzcwZTI5
MDcyYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2lu
dGVyZmFjZXMvS2V5ZnJhbWVFZmZlY3Qvc2V0S2V5ZnJhbWVzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0tleWZyYW1lRWZm
ZWN0L3NldEtleWZyYW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNDkgKzEsNDkgQEAKIAotRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYW4gZW1wdHkga2V5ZnJhbWUgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKGZy
YW1lKScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHkt
aW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAn
ZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBvbmUgc2hvcnRoYW5kIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0
eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScs
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAob25lIHNob3J0aGFuZCBhbmQgb25lIG9m
IGl0cyBsb25naGFuZCBjb21wb25lbnRzKSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlm
cmFtZXMgc3BlY2lmaWNhdGlvbiBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNw
ZWNpZmljYXRpb24gZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdv
IHByb3BlcnR5IHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2l0aCBk
aWZmZXJlbnQgbnVtYmVycyBvZiB2YWx1ZXMgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRo
IGFuIGludmFsaWQgdmFsdWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVj
aWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0cyB2YWx1ZXMgZWZmZWN0LnNldEtl
eWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRl
c3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMg
c3BlY2lmaWNhdGlvbiB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBz
cGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIGluIGEgc2hvcnRoYW5k
IHByb3BlcnR5IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZm
ZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBp
cyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBw
cm9wZXJ0eSBvbmUgdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlv
biBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkg
b25lIG5vbi1hcnJheSB2YWx1ZSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0
aW9uIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aGVy
ZSB0aGUgZmlyc3QgdmFsdWUgaXMgaW52YWxpZCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5
ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBpcyBpbnZhbGlkIGVm
ZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZy
YW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQp
Ci1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUg
a2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlm
cmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHByb3BlcnR5IHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1
dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMg
Y2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNl
IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtl
eWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBzaG9ydGhhbmQg
cHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUg
cmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSAoYSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMg
Y29tcG9uZW50IGxvbmdoYW5kcykgdHdvIGtleWZyYW1lIHNlcXVlbmNlIGVmZmVjdC5zZXRLZXlm
cmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0
LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZy
YW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVwbGlj
YXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1l
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5w
dXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkdXBsaWNhdGUg
dmFsdWVzIGZvciBvZmZzZXRzIDAgYW5kIDEgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVj
dC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBs
YWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGZvdXIga2V5ZnJhbWUgc2VxdWVuY2UgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggb21pdHRlZCBvZmZzZXQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3
aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggbnVsbCBvZmZzZXQgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNl
IHdpdGggc3RyaW5nIG9mZnNldCBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtl
eWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zm
c2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5z
ZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVy
dHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG51bGwgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZm
ZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJl
cGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhbGwgb21p
dHRlZCBvZmZzZXRzIGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
ZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtl
eWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGVhc2luZyB2YWx1ZXMsIGJ1dCB0aGUgc2Ft
ZSBlYXNpbmcgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zmc2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScs
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZGlmZmVyZW50IGNvbXBv
c2l0ZSB2YWx1ZXMsIGJ1dCB0aGUgc2FtZSBjb21wb3NpdGUgdmFsdWUgZm9yIGEgZ2l2ZW4gb2Zm
c2V0IGVmZmVjdC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNl
dEtleWZyYW1lcyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRl
ZmluZWQpCi1GQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0
eSB0d28ga2V5ZnJhbWUgc2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVl
cyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRL
ZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZp
bmVkKQotRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1
ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIGEgQ1NTIHZhcmlhYmxl
IHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCkn
LCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlmcmFtZXMgY2Fu
IGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9ydGhhbmQgcHJl
Y2VkZXMgbG9uZ2hhbmQgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFt
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEg
a2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgbG9uZ2hhbmQgcHJlY2VkZXMgc2hvcnRoYW5kIGVmZmVj
dC5zZXRLZXlmcmFtZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWZmZWN0LnNldEtleWZyYW1l
cyhzdWJ0ZXN0LmlucHV0KScsICdlZmZlY3Quc2V0S2V5ZnJhbWVzJyBpcyB1bmRlZmluZWQpCi1G
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdo
ZXJlIGxlc3NlciBzaG9ydGhhbmQgcHJlY2VkZXMgZ3JlYXRlciBzaG9ydGhhbmQgZWZmZWN0LnNl
dEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5ZnJhbWVzKHN1
YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwg
S2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUg
Z3JlYXRlciBzaG9ydGhhbmQgcHJlY2VkZXMgbGVzc2VyIHNob3J0aGFuZCBlZmZlY3Quc2V0S2V5
ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVz
dC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1lcycgaXMgdW5kZWZpbmVkKQotRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSB0d28gcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2hlcmUgb25lIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUg
ZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdlZmZlY3Quc2V0S2V5
ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMnIGlzIHVuZGVmaW5l
ZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtl
eWZyYW1lIHNlcXVlbmNlIHdoZXJlIG9uZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGZyb20gdGhlIGxh
c3Qga2V5ZnJhbWUgZWZmZWN0LnNldEtleWZyYW1lcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdl
ZmZlY3Quc2V0S2V5ZnJhbWVzKHN1YnRlc3QuaW5wdXQpJywgJ2VmZmVjdC5zZXRLZXlmcmFtZXMn
IGlzIHVuZGVmaW5lZCkKLUZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZm
ZXJlbnQgZWFzaW5ncyBlZmZlY3Quc2V0S2V5ZnJhbWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J2VmZmVjdC5zZXRLZXlmcmFtZXMoc3VidGVzdC5pbnB1dCknLCAnZWZmZWN0LnNldEtleWZyYW1l
cycgaXMgdW5kZWZpbmVkKQotUEFTUyBLZXlmcmFtZUVmZmVjdCBjb25zdHJ1Y3RvciB0aHJvd3Mg
d2l0aCBrZXlmcmFtZXMgd2l0aCBhbiBvdXQtb2YtYm91bmRlZCBwb3NpdGl2ZSBvZmZzZXQgCi1Q
QVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRo
IGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCAKLVBBU1MgS2V5ZnJhbWVFZmZlY3Qg
Y29uc3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIG5vdCBsb29zZWx5IHNvcnRlZCBieSBv
ZmZzZXQgCi1QQVNTIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIHByb3Bl
cnR5LWluZGV4ZWQga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBlYXNpbmcgdmFsdWUgCi1QQVNT
IEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGEga2V5ZnJhbWUgc2VxdWVu
Y2Ugd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSAKLVBBU1MgS2V5ZnJhbWVFZmZlY3QgY29u
c3RydWN0b3IgdGhyb3dzIHdpdGgga2V5ZnJhbWVzIHdpdGggYW4gaW52YWxpZCBjb21wb3NpdGUg
dmFsdWUgCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbiBlbXB0eSBrZXlm
cmFtZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBwcm9wZXJ0eSB0d28gdmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNh
dGlvbiBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9u
ZSBzaG9ydGhhbmQgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVz
IHNwZWNpZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2Vk
IHdpdGggYSB0d28gcHJvcGVydHkgKG9uZSBzaG9ydGhhbmQgYW5kIG9uZSBvZiBpdHMgbG9uZ2hh
bmQgY29tcG9uZW50cykgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSB0d28gcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSB0d28gcHJvcGVydHkgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3
aXRoIGRpZmZlcmVudCBudW1iZXJzIG9mIHZhbHVlcyBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1l
cyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNp
ZmljYXRpb24gd2l0aCBhbiBpbnZhbGlkIHZhbHVlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHByb3BlcnR5IHR3byB2YWx1ZSBwcm9wZXJ0eS1p
bmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHRoYXQgbmVlZHMgdG8gc3RyaW5naWZ5IGl0
cyB2YWx1ZXMgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSBwcm9wZXJ0eS1pbmRleGVkIGtleWZyYW1lcyBzcGVjaWZpY2F0aW9uIHdpdGggYSBDU1MgdmFy
aWFibGUgcmVmZXJlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiB3aXRoIGEg
Q1NTIHZhcmlhYmxlIHJlZmVyZW5jZSBpbiBhIHNob3J0aGFuZCBwcm9wZXJ0eSBUeXBlIGVycm9y
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUg
dmFsdWUgcHJvcGVydHktaW5kZXhlZCBrZXlmcmFtZXMgc3BlY2lmaWNhdGlvbiBUeXBlIGVycm9y
CitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSBvbmUg
bm9uLWFycmF5IHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
VHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJv
cGVydHkgdHdvIHZhbHVlIHByb3BlcnR5LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24g
d2hlcmUgdGhlIGZpcnN0IHZhbHVlIGlzIGludmFsaWQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFt
ZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkgdHdvIHZhbHVlIHByb3BlcnR5
LWluZGV4ZWQga2V5ZnJhbWVzIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIHNlY29uZCB2YWx1ZSBp
cyBpbnZhbGlkIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgb25lIHByb3BlcnR5IG9uZSBrZXlmcmFtZSBzZXF1ZW5jZSBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUg
c2VxdWVuY2UgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGgg
YSB0d28gcHJvcGVydHkgdHdvIGtleWZyYW1lIHNlcXVlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5
ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgb25lIHNob3J0aGFuZCBwcm9wZXJ0eSB0d28g
a2V5ZnJhbWUgc2VxdWVuY2UgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxh
Y2VkIHdpdGggYSB0d28gcHJvcGVydHkgKGEgc2hvcnRoYW5kIGFuZCBvbmUgb2YgaXRzIGNvbXBv
bmVudCBsb25naGFuZHMpIHR3byBrZXlmcmFtZSBzZXF1ZW5jZSBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggZHVw
bGljYXRlIHZhbHVlcyBmb3IgYSBnaXZlbiBpbnRlcmlvciBvZmZzZXQgVHlwZSBlcnJvcgorRkFJ
TCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRo
IGR1cGxpY2F0ZSB2YWx1ZXMgZm9yIG9mZnNldHMgMCBhbmQgMSBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBmb3VyIGtleWZyYW1l
IHNlcXVlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRo
IGEgc2luZ2xlIGtleWZyYW1lIHNlcXVlbmNlIHdpdGggb21pdHRlZCBvZmZzZXQgVHlwZSBlcnJv
cgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUga2V5ZnJhbWUg
c2VxdWVuY2Ugd2l0aCBudWxsIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4g
YmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHN0cmluZyBv
ZmZzZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBv
bmUgcHJvcGVydHkga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBzb21lIG9taXR0ZWQgb2Zmc2V0cyBU
eXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9w
ZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aXRoIHNvbWUgbnVsbCBvZmZzZXRzIFR5cGUgZXJyb3IK
K0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEgdHdvIHByb3BlcnR5IGtleWZy
YW1lIHNlcXVlbmNlIHdpdGggc29tZSBvbWl0dGVkIG9mZnNldHMgVHlwZSBlcnJvcgorRkFJTCBL
ZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBvbmUgcHJvcGVydHkga2V5ZnJhbWUgc2Vx
dWVuY2Ugd2l0aCBhbGwgb21pdHRlZCBvZmZzZXRzIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVz
IGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBkaWZmZXJlbnQg
ZWFzaW5nIHZhbHVlcywgYnV0IHRoZSBzYW1lIGVhc2luZyB2YWx1ZSBmb3IgYSBnaXZlbiBvZmZz
ZXQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlm
cmFtZSBzZXF1ZW5jZSB3aXRoIGRpZmZlcmVudCBjb21wb3NpdGUgdmFsdWVzLCBidXQgdGhlIHNh
bWUgY29tcG9zaXRlIHZhbHVlIGZvciBhIGdpdmVuIG9mZnNldCBUeXBlIGVycm9yCitGQUlMIEtl
eWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIG9uZSBwcm9wZXJ0eSB0d28ga2V5ZnJhbWUg
c2VxdWVuY2UgdGhhdCBuZWVkcyB0byBzdHJpbmdpZnkgaXRzIHZhbHVlcyBUeXBlIGVycm9yCitG
QUlMIEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIGtleWZyYW1lIHNlcXVlbmNlIHdp
dGggYSBDU1MgdmFyaWFibGUgcmVmZXJlbmNlIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNh
biBiZSByZXBsYWNlZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBhIENTUyB2YXJpYWJs
ZSByZWZlcmVuY2UgaW4gYSBzaG9ydGhhbmQgcHJvcGVydHkgVHlwZSBlcnJvcgorRkFJTCBLZXlm
cmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBzaG9y
dGhhbmQgcHJlY2VkZXMgbG9uZ2hhbmQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJl
IHJlcGxhY2VkIHdpdGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsb25naGFuZCBwcmVjZWRl
cyBzaG9ydGhhbmQgVHlwZSBlcnJvcgorRkFJTCBLZXlmcmFtZXMgY2FuIGJlIHJlcGxhY2VkIHdp
dGggYSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBsZXNzZXIgc2hvcnRoYW5kIHByZWNlZGVzIGdy
ZWF0ZXIgc2hvcnRoYW5kIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNl
ZCB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2hlcmUgZ3JlYXRlciBzaG9ydGhhbmQgcHJlY2Vk
ZXMgbGVzc2VyIHNob3J0aGFuZCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lcyBjYW4gYmUgcmVw
bGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBzZXF1ZW5jZSB3aGVyZSBvbmUgcHJv
cGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBUeXBlIGVycm9yCitGQUlM
IEtleWZyYW1lcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIHR3byBwcm9wZXJ0eSBrZXlmcmFtZSBz
ZXF1ZW5jZSB3aGVyZSBvbmUgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSBsYXN0IGtleWZy
YW1lIFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJhbWVzIGNhbiBiZSByZXBsYWNlZCB3aXRoIGEga2V5
ZnJhbWUgc2VxdWVuY2Ugd2l0aCByZXBlYXRlZCB2YWx1ZXMgYXQgb2Zmc2V0IDEgd2l0aCBkaWZm
ZXJlbnQgZWFzaW5ncyBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9y
IHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIHBvc2l0aXZlIG9m
ZnNldCBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3
aXRoIGtleWZyYW1lcyB3aXRoIGFuIG91dC1vZi1ib3VuZGVkIG5lZ2F0aXZlIG9mZnNldCBUeXBl
IGVycm9yCitGQUlMIEtleWZyYW1lRWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZy
YW1lcyBub3QgbG9vc2VseSBzb3J0ZWQgYnkgb2Zmc2V0IFR5cGUgZXJyb3IKK0ZBSUwgS2V5ZnJh
bWVFZmZlY3QgY29uc3RydWN0b3IgdGhyb3dzIHdpdGggcHJvcGVydHktaW5kZXhlZCBrZXlmcmFt
ZXMgd2l0aCBhbiBpbnZhbGlkIGVhc2luZyB2YWx1ZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1l
RWZmZWN0IGNvbnN0cnVjdG9yIHRocm93cyB3aXRoIGEga2V5ZnJhbWUgc2VxdWVuY2Ugd2l0aCBh
biBpbnZhbGlkIGVhc2luZyB2YWx1ZSBUeXBlIGVycm9yCitGQUlMIEtleWZyYW1lRWZmZWN0IGNv
bnN0cnVjdG9yIHRocm93cyB3aXRoIGtleWZyYW1lcyB3aXRoIGFuIGludmFsaWQgY29tcG9zaXRl
IHZhbHVlIFR5cGUgZXJyb3IKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
LWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMvc2V0LXRoZS1hbmltYXRpb24tc3Rh
cnQtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9u
cy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4
cGVjdGVkLnR4dAppbmRleCBiNmY1ZWFlYjYxNjExNGMyMzEyOGE1MzA2NDFmYjg4ZDQ5MGQyY2U3
Li4yMTY0NGNjMmEwZTMwZWNmNjVkNDZkY2VmNzMxY2Y1NGNlNjZjMzljIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9u
cy9zZXQtdGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5pbWF0aW9ucy9zZXQt
dGhlLWFuaW1hdGlvbi1zdGFydC10aW1lLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAot
RkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1lIG9mIGFuIGFuaW1hdGlvbiB3aXRob3V0IGFuIGFj
dGl2ZSB0aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBTdGFydCB0aW1lIHJlbWFpbnMgbnVsbCBhZnRl
ciBzZXR0aW5nIGN1cnJlbnQgdGltZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKG51
bWJlcikgLTk5OS44OTYKLUZBSUwgU2V0dGluZyBhbiB1bnJlc29sdmVkIHN0YXJ0IHRpbWUgYW4g
YW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGRvZXMgbm90IGNsZWFyIHRoZSBj
dXJyZW50IHRpbWUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1haW5zIG51bGwgYWZ0ZXIg
c2V0dGluZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290IChudW1i
ZXIpIC05OTkuODk2CitGQUlMIFNldHRpbmcgdGhlIHN0YXJ0IHRpbWUgb2YgYW4gYW5pbWF0aW9u
IHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IFN0YXJ0IHRpbWUgcmVt
YWlucyBudWxsIGFmdGVyIHNldHRpbmcgY3VycmVudCB0aW1lIGV4cGVjdGVkIChvYmplY3QpIG51
bGwgYnV0IGdvdCAobnVtYmVyKSAtOTk5LjcwMzMKK0ZBSUwgU2V0dGluZyBhbiB1bnJlc29sdmVk
IHN0YXJ0IHRpbWUgYW4gYW5pbWF0aW9uIHdpdGhvdXQgYW4gYWN0aXZlIHRpbWVsaW5lIGRvZXMg
bm90IGNsZWFyIHRoZSBjdXJyZW50IHRpbWUgYXNzZXJ0X2VxdWFsczogU3RhcnQgdGltZSByZW1h
aW5zIG51bGwgYWZ0ZXIgc2V0dGluZyBjdXJyZW50IHRpbWUgZXhwZWN0ZWQgKG9iamVjdCkgbnVs
bCBidXQgZ290IChudW1iZXIpIC05OTkuNzAzMwogRkFJTCBTZXR0aW5nIHRoZSBzdGFydCB0aW1l
IGNsZWFycyB0aGUgaG9sZCB0aW1lIGFzc2VydF9lcXVhbHM6IEFuaW1hdGlvbiByZXBvcnRzIGl0
IGlzIHJ1bm5pbmcgYWZ0ZXIgc2V0dGluZyBhIHJlc29sdmVkIHN0YXJ0IHRpbWUgZXhwZWN0ZWQg
KHN0cmluZykgInJ1bm5pbmciIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCiBGQUlMIFNl
dHRpbmcgYW4gdW5yZXNvbHZlZCBzdGFydCB0aW1lIHNldHMgdGhlIGhvbGQgdGltZSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAicnVubmluZyIgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKIEZBSUwgU2V0dGluZyB0aGUgc3RhcnQgdGltZSByZXNvbHZlcyBhIHBlbmRpbmcg
cmVhZHkgcHJvbWlzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnYW5p
bWF0aW9uLnJlYWR5LnRoZW4nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2st
d2ViLWFuaW1hdGlvbnMvaW50ZXJmYWNlcy9lbGVtZW50LWdldC1hbmltYXRpb25zLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQt
Z2V0LWFuaW1hdGlvbnMuaHRtbAppbmRleCBiNWQzZTZkZDUzYzU3YTJkODJlYzJmNTc0YjEyOWY5
YTM0MGMwMGMyLi40YzAxZGRkODYxMWZhYjVmYTJlZGIxMTkyNmU5OTc2ZWZjMzcyYzlkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2Vz
L2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ay13ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL2VsZW1lbnQtZ2V0LWFuaW1hdGlvbnMuaHRtbApA
QCAtMTMsOSArMTMsOSBAQCBsZXQgYSwgYiwgYzsKIGNvbnN0IHRhcmdldEEgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJhIik7CiBjb25zdCB0YXJnZXRCID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYiIpOwogCi1jb25zdCBlZmZlY3RBYSA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRBKTsK
LWNvbnN0IGVmZmVjdEFiID0gbmV3IEtleWZyYW1lRWZmZWN0KHRhcmdldEEpOwotY29uc3QgZWZm
ZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdCh0YXJnZXRCKTsKK2NvbnN0IGVmZmVjdEFhID0gbmV3
IEtleWZyYW1lRWZmZWN0KHRhcmdldEEsIG51bGwpOworY29uc3QgZWZmZWN0QWIgPSBuZXcgS2V5
ZnJhbWVFZmZlY3QodGFyZ2V0QSwgbnVsbCk7Citjb25zdCBlZmZlY3RCID0gbmV3IEtleWZyYW1l
RWZmZWN0KHRhcmdldEIsIG51bGwpOwogCiB0ZXN0KHQgPT4gewogICAgIGFzc2VydF90cnVlKHR5
cGVvZiB0YXJnZXRBLmdldEFuaW1hdGlvbnMgPT09ICJmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1h
dGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1jcmVhdGlvbi1iYXNpYy5odG1sCmluZGV4
IDU1ZjVlYTBjN2YzYmU4ODk2MTliYmM4MWIzMDI5OWUzOTE1OWYxNzguLmVmN2E0NWQ5Mzk0ZTJi
Mzk2ZTgxMzhlYTY0ZjYwNDQ2NTY5MGI2ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24tY3JlYXRpb24tYmFz
aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1p
bmctbW9kZWwvYW5pbWF0aW9uLWNyZWF0aW9uLWJhc2ljLmh0bWwKQEAgLTMzLDcgKzMzLDcgQEAg
dGVzdCh0ID0+IHsKIH0sICJDcmVhdGluZyBBbmltYXRpb24gd2l0aCBhIG51bGwgYXJndW1lbnQg
c2hvdWxkIGhhdmUgYSBudWxsIGVmZmVjdCBhbmQgdGhlIGRvY3VtZW50IHRpbWVsaW5lLiIpOwog
CiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1
bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1l
bnQuYm9keSwgbnVsbCk7CiAgICAgY29uc3QgYW5pbWF0aW9uID0gbmV3IEFuaW1hdGlvbihlZmZl
Y3QpOwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0KTsKICAgICBh
c3NlcnRfZXF1YWxzKGFuaW1hdGlvbi50aW1lbGluZSwgZG9jdW1lbnQudGltZWxpbmUpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1v
ZGVsL2FuaW1hdGlvbi1lZmZlY3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1lZmZl
Y3QtdW5pcXVlLXJlbGF0aW9uc2hpcC5odG1sCmluZGV4IGViNTcxNDAwZjcwOTkxY2EzNmJlMjk1
MGE0NWVmZDdkMmEwODJhY2YuLmViMTA0NjM3MDRlNDE0YjViN2NjMmE5YmZmZjk3YWVjYmQ1OWNl
MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3Rp
bWluZy1tb2RlbC9hbmltYXRpb24tZWZmZWN0LXVuaXF1ZS1yZWxhdGlvbnNoaXAuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwvYW5p
bWF0aW9uLWVmZmVjdC11bmlxdWUtcmVsYXRpb25zaGlwLmh0bWwKQEAgLTksOCArOSw4IEBACiAn
dXNlIHN0cmljdCc7CiAKIHRlc3QodCA9PiB7Ci0gICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlm
cmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7Ci0gICAgY29uc3QgZWZm
ZWN0QiA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7
CisgICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKSwgbnVsbCk7CisgICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlmcmFtZUVm
ZmVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwgbnVsbCk7CiAKICAgICBjb25zdCBh
ID0gbmV3IEFuaW1hdGlvbihlZmZlY3RBKTsKICAgICBjb25zdCBiID0gbmV3IEFuaW1hdGlvbihl
ZmZlY3RCKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRp
b25zL3RpbWluZy1tb2RlbC9hbmltYXRpb24taW50ZXJmYWNlLWVmZmVjdC1wcm9wZXJ0eS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2Fu
aW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwKaW5kZXggZDRhMzg3M2EwMDk3
YmRhYWU5M2EzMDhkMGVmMzU3MWI4ZDAxNWIzMi4uNDk4YzkxMTkwMzJkNDg2Y2IyYzY3ZGVkMmJj
ZTcyZGI2NjIzYjdmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFu
aW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5n
LW1vZGVsL2FuaW1hdGlvbi1pbnRlcmZhY2UtZWZmZWN0LXByb3BlcnR5Lmh0bWwKQEAgLTE3LDI0
ICsxNywyNCBAQCB0ZXN0KHQgPT4gewogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlv
biA9IG5ldyBBbmltYXRpb247Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0
KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChk
b2N1bWVudC5ib2R5LCBudWxsKTsKICAgICBhbmltYXRpb24uZWZmZWN0ID0gZWZmZWN0OwogICAg
IGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0KTsKIH0sICJUaGUgYW5pbWF0
aW9uLmVmZmVjdCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGEgS2V5ZnJhbWVFZmZlY3Qgb2JqZWN0
LiIpOwogCiB0ZXN0KHQgPT4gewogICAgIGNvbnN0IGFuaW1hdGlvbiA9IG5ldyBBbmltYXRpb247
Ci0gICAgY29uc3QgZWZmZWN0QSA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsK
KyAgICBjb25zdCBlZmZlY3RBID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51
bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBlZmZlY3RBOwogICAgIGFzc2VydF9lcXVhbHMo
YW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0QSk7Ci0gICAgY29uc3QgZWZmZWN0QiA9IG5ldyBLZXlm
cmFtZUVmZmVjdChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3RCID0gbmV3IEtleWZy
YW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGFuaW1hdGlvbi5lZmZlY3QgPSBl
ZmZlY3RCOwogICAgIGFzc2VydF9lcXVhbHMoYW5pbWF0aW9uLmVmZmVjdCwgZWZmZWN0Qik7CiB9
LCAiVGhlIGFuaW1hdGlvbi5lZmZlY3QgcHJvcGVydHkgY2FuIGJlIHNldCB0byBhbm90aGVyIEtl
eWZyYW1lRWZmZWN0IG9iamVjdC4iKTsKIAogdGVzdCh0ID0+IHsKICAgICBjb25zdCBhbmltYXRp
b24gPSBuZXcgQW5pbWF0aW9uOwotICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVj
dChkb2N1bWVudC5ib2R5KTsKKyAgICBjb25zdCBlZmZlY3QgPSBuZXcgS2V5ZnJhbWVFZmZlY3Qo
ZG9jdW1lbnQuYm9keSwgbnVsbCk7CiAgICAgYW5pbWF0aW9uLmVmZmVjdCA9IGVmZmVjdDsKICAg
ICBhc3NlcnRfZXF1YWxzKGFuaW1hdGlvbi5lZmZlY3QsIGVmZmVjdCk7CiAgICAgYW5pbWF0aW9u
LmVmZmVjdCA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ay13ZWIt
YW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3QtZXhwZWN0ZWQudHh0CmluZGV4IGM2Y2NkOWViYmFkYWJlM2Y5Y2ZhZjBjOGI0Y2Jj
ODkxNzY2ZjY1ZDIuLmM3Y2FhMzA3YzBlMDAzZjVlNWMyNDNhODJjZTg1MTg5MjFiZDVkMjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1t
b2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QtZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZh
Y2UgaXMgZGVmaW5lZC4gCi1QQVNTIFRoZSBLZXlmcmFtZUVmZmVjdCBpbnRlcmZhY2UgY2Fubm90
IGJlIGNvbnN0cnVjdGVkIHdpdGhvdXQgcGFyYW1ldGVycy4gCi1QQVNTIFRoZSBLZXlmcmFtZUVm
ZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBwYXJhbWV0ZXIgaGFzIHRo
ZSB3cm9uZyB0eXBlLiAKK1BBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVyZmFjZSBjYW5ub3Qg
YmUgY29uc3RydWN0ZWQgd2l0aG91dCBlbm91Z2ggcGFyYW1ldGVycy4gCitQQVNTIFRoZSBLZXlm
cmFtZUVmZmVjdCBpbnRlcmZhY2UgY29uc3RydWN0b3IgdGhyb3dzIGlmIHRoZSBmaXJzdCBwYXJh
bWV0ZXIgaGFzIHRoZSB3cm9uZyB0eXBlLiAKIFBBU1MgVGhlIEtleWZyYW1lRWZmZWN0IGludGVy
ZmFjZSB0YXJnZXQgaXMgc2V0IHRvIHRoZSBwcm92aWRlZCBFbGVtZW50LiAKIFBBU1MgQSBLZXlm
cmFtZUVmZmVjdCBvYmplY3QgdGFyZ2V0IGlzIHJlYWQtb25seS4gCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFt
ZS1lZmZlY3QtaW50ZXJmYWNlLXRpbWluZy1kdXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRl
cmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwKaW5kZXggODhiNjg0NTJjNjcxYjQ4ZWQwYzgwNTc3
ZDhkNWEyNDNmMWVmOTBmZC4uMzJiNmExMjA3MDJhYzVmMDA0OTIyNjA3OTRkNjNkYjgwYjczOGNi
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGlt
aW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVs
L2tleWZyYW1lLWVmZmVjdC1pbnRlcmZhY2UtdGltaW5nLWR1cmF0aW9uLmh0bWwKQEAgLTExLDE0
ICsxMSwxNCBAQAogaW50ZXJuYWxzLnBhdXNlVGltZWxpbmUoZG9jdW1lbnQudGltZWxpbmUpOwog
CiB0ZXN0KHQgPT4gewotICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZm
ZWN0KGRvY3VtZW50LmJvZHkpOworICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZy
YW1lRWZmZWN0KGRvY3VtZW50LmJvZHksIG51bGwpOwogICAgIGFzc2VydF9pbmhlcml0cyhrZXlm
cmFtZUVmZmVjdCwgInRpbWluZyIpOwogICAgIGFzc2VydF9pbmhlcml0cyhrZXlmcmFtZUVmZmVj
dC50aW1pbmcsICJkdXJhdGlvbiIpOwogICAgIGFzc2VydF9lcXVhbHMoa2V5ZnJhbWVFZmZlY3Qu
dGltaW5nLmR1cmF0aW9uLCAwKTsKIH0sICJDaGVjayB0aGUgZGVmYXVsdCBzdGF0ZSBvZiB0aGUg
dGltaW5nIGFuZCBkdXJhdGlvbiBwcm9wZXJ0aWVzLiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGNv
bnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpOwor
ICAgIGNvbnN0IGtleWZyYW1lRWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJv
ZHksIG51bGwpOwogICAgIGtleWZyYW1lRWZmZWN0LnRpbWluZy5kdXJhdGlvbiA9IDI7CiAgICAg
YXNzZXJ0X2VxdWFscyhrZXlmcmFtZUVmZmVjdC50aW1pbmcuZHVyYXRpb24sIDIpOwogfSwgIkNo
ZWNrIHRoYXQgd2UgY2FuIHVwZGF0ZSB0aGUgdGltaW5nIGR1cmF0aW9uLiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2tl
eWZyYW1lLWVmZmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2std2ViLWFuaW1hdGlv
bnMvdGltaW5nLW1vZGVsL2tleWZyYW1lLWVmZmVjdC5odG1sCmluZGV4IGNlMGM2ZjczZjhlZDVl
MmFlYWQ4MzY4N2Y4OTI5ZDZlZTdhMzhhMjcuLmE5NzQ2YmQyZjhmNTVjMzExZTM0NGMyOTQzNzgx
NDQxZGFmYjI1OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3drLXdlYi1hbmlt
YXRpb25zL3RpbWluZy1tb2RlbC9rZXlmcmFtZS1lZmZlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ay13ZWItYW5pbWF0aW9ucy90aW1pbmctbW9kZWwva2V5ZnJhbWUtZWZmZWN0
Lmh0bWwKQEAgLTE2LDIyICsxNiwyMyBAQCB0ZXN0KHQgPT4gewogCiB0ZXN0KHQgPT4gewogICAg
IGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KTsK
LX0sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3
aXRob3V0IHBhcmFtZXRlcnMuIik7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAo
KSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpKTsK
K30sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50ZXJmYWNlIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCB3
aXRob3V0IGVub3VnaCBwYXJhbWV0ZXJzLiIpOwogCiB0ZXN0KHQgPT4gewotICAgIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0KDApKTsKLSAgICBh
c3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdCh7fSkp
OwotICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZm
ZWN0KFtdKSk7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBuZXcgS2V5
ZnJhbWVFZmZlY3QoZmFsc2UpKTsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgp
ID0+IG5ldyBLZXlmcmFtZUVmZmVjdCgnZWxlbWVudCcpKTsKLX0sICJUaGUgS2V5ZnJhbWVFZmZl
Y3QgaW50ZXJmYWNlIGNvbnN0cnVjdG9yIHRocm93cyBpZiB0aGUgcGFyYW1ldGVyIGhhcyB0aGUg
d3JvbmcgdHlwZS4iKTsKKyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5l
dyBLZXlmcmFtZUVmZmVjdCgwLCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yLCAoKSA9PiBuZXcgS2V5ZnJhbWVFZmZlY3Qoe30sIG51bGwpKTsKKyAgICBhc3NlcnRfdGhy
b3dzKG5ldyBUeXBlRXJyb3IsICgpID0+IG5ldyBLZXlmcmFtZUVmZmVjdChbXSwgbnVsbCkpOwor
ICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgKCkgPT4gbmV3IEtleWZyYW1lRWZmZWN0
KGZhbHNlLCBudWxsKSk7CisgICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCAoKSA9PiBu
ZXcgS2V5ZnJhbWVFZmZlY3QoJ2VsZW1lbnQnLCBudWxsKSk7Cit9LCAiVGhlIEtleWZyYW1lRWZm
ZWN0IGludGVyZmFjZSBjb25zdHJ1Y3RvciB0aHJvd3MgaWYgdGhlIGZpcnN0IHBhcmFtZXRlciBo
YXMgdGhlIHdyb25nIHR5cGUuIik7CiAKIHRlc3QodCA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscygo
bmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJvZHkpKS50YXJnZXQsIGRvY3VtZW50LmJvZHkp
OworICAgIGFzc2VydF9lcXVhbHMoKG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5LCBu
dWxsKSkudGFyZ2V0LCBkb2N1bWVudC5ib2R5KTsKIH0sICJUaGUgS2V5ZnJhbWVFZmZlY3QgaW50
ZXJmYWNlIHRhcmdldCBpcyBzZXQgdG8gdGhlIHByb3ZpZGVkIEVsZW1lbnQuIik7CiAKIHRlc3Qo
dCA9PiB7Ci0gICAgY29uc3QgZWZmZWN0ID0gbmV3IEtleWZyYW1lRWZmZWN0KGRvY3VtZW50LmJv
ZHkpOworICAgIGNvbnN0IGVmZmVjdCA9IG5ldyBLZXlmcmFtZUVmZmVjdChkb2N1bWVudC5ib2R5
LCBudWxsKTsKICAgICBhc3NlcnRfcmVhZG9ubHkoZWZmZWN0LCAidGFyZ2V0Iik7CiB9LCAiQSBL
ZXlmcmFtZUVmZmVjdCBvYmplY3QgdGFyZ2V0IGlzIHJlYWQtb25seS4iKTsKIAo=
</data>
<flag name="review"
          id="346242"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>